import CocoParser from '../../main.js' export default class Api { static user = null static website = null static token = null static server = 'https://ws.cocosolution.com' static defaultHeader = { 'Content-type': 'application/json' } static send (url, header, body = {}, callback, server = Api.server, type) { Api.defaultHeader['X-Acai-Token'] = Api.token url = server + url var xhr = new XMLHttpRequest() xhr.addEventListener('readystatechange', function () { if (this.readyState === 4) { try{ callback(JSON.parse(this.responseText)) }catch(error){ callback(this.responseText) } } }) xhr.open('POST', url) for (const key in Api.defaultHeader) { xhr.setRequestHeader(key, Api.defaultHeader[key]) } if (header) { for (const key in header) { xhr.setRequestHeader(key, header[key]) } } xhr.send(JSON.stringify(body)) } static removeFile(path,callback){ return new Promise((resolve, reject) => { if (!Api.token) { reject(new Error('No hay token')) return false } Api.send('/cms/lib/viewer_functions.php', {}, { action_ws: 'removeFileBuilder', token : Api.token, tokenHash : '123', path : path }, (response) => { if (!response.success) { console.log(response) // reject(new Error('Error desconocido')) // return false } callback(response) }, 'https://' + Api.website.domain) }) } static sendFile(path,fileName,content,callback){ return new Promise((resolve, reject) => { if (!Api.token) { reject(new Error('No hay token')) return false } Api.send('/cms/lib/viewer_functions.php', {}, { action_ws: 'saveFileBuilder', token : Api.token, tokenHash : '123', fileName : fileName, content : content, path : path }, (response) => { if (!response.success) { console.log(response) reject(new Error('Error desconocido')) return false } callback(response) }, 'https://' + Api.website.domain) }) } static save (menu) { const resultVars = CocoParser.builderVars(menu.content) const content = resultVars.codeParsed const builderVars = resultVars.codeVars return new Promise((resolve, reject) => { switch(menu.section){ case "assets": case "layout": window.bus.$emit("loading",{state:1,message:"Guardando estructura general..."}) Api.send('/cms/lib/viewer_functions.php', {}, { action_ws: 'getLayoutData' }, (response) => { if (!response.result) { reject(new Error('Error desconocido')) return false } var data = response.data var key = menu.id.replace("layout:","") switch(key){ case "header": case "footer": data[key] = menu.content data["real_" + key] = content break case "assets": data.librariesJSONt = JSON.parse(JSON.stringify(menu.libraries_top)) data.librariesJSONb = JSON.parse(JSON.stringify(menu.libraries_bottom)) break case "js": data.javascript = menu.content break case "css": data.style = menu.content break default: data[key] = menu.content } delete data.header_php delete data.footer_php Api.send('/admin.php?menu=apartados&acai-code=1&action=edit&saveLayoutData=1', {}, data, (response) => { window.bus.$emit("loading",{state:0}) resolve(response); }, 'https://cms.cocosolution.com') }, 'https://' + Api.website.domain) break case "module": case "section": let endPointfolder = menu.section == "module" ? menu.id.split(":")[0] : 'custom-' + menu.table window.bus.$emit("loading",{state:1,message:"Guardando sección..."}) switch(menu.type){ case 'html': const dataNewModule = { description:menu.allData.description, editMode:true, html:menu.content, htmlParsed:content, id:menu.schema.id, image:menu.allData.imageData ? `data:image/jpeg;base64,` + menu.allData.imageData : `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wgARCAK2A3QDAREAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECB//EABYBAQEBAAAAAAAAAAAAAAAAAAABA//aAAwDAQACEAMQAAAA53pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQhQCFKUAAAAAAGSFAIaKAAAAAAACEIUAApQAAADIANAAAAAAAAAAAAAAAAAAAAAwUAAAAhsAAAAAyAAAAaAAAAAAAMgAAAAhooAABkAFKAAAAAAAAAAAAAAAAAAAQgAAAAABSgAAAwUAAAA0AAAAAAQgAAAAAANAAEIAClAAAAAAAAAAAAAAAAAABCAAAAAAAFKAADIAAAABoAAAAAAyAAAAAAAUoAIQAA0AAAAAAAAAAAAAAAAAADBQAAAAAACGwACEAAAAIaKAAAAADBQAAAAAAAaABCAAGgAAAAAAAAAAAAAAAAADIAABCgAAAApQAYKAAAUoAAAAAAMgAAEKCmSgAAGgCEAANAAAAAAAAAAAAAAAAAAGQAADQABkAAA0ADIAAKUAAAAAAAGCgAA0AAZAABDYBCAAGgAAAAAAAAAAAAAAAAAQgAANAAAGCgAGgCEAABoAAAAyQGigAyAADQAABkAAGgCEAANAAAAAAAAAAAAAAAAAAhAAClAAAMgAA0AZAABoAAAAyAAUoIQAApQAACEAAKUEIAAaAAAAAAAAAAAAAAAAABkAAGgAAAQgABSghAAQ2AAAAYKAClBkAAFKAAAQgABSghAADQAAAAAAAAAAAAAAAAAIQAA0AAACEAAKUGQAAaAAAAMgAA0DIAANAAAAGQAClBCAAGgAAAAAAAAAAAAAAAAAQgABSgAAAyAAUoIQAA0AAACEAABoEIAAUoAAAMgAFKCEABSgAAAAAAAAAAAAAAAAAGQACGwAACEAAKUAyAADQAABkAAFKAZAAIbAAAIQAApQQgABoAAAAAAAAAAAAAAAAAAwUAAFKAAQgABSgGQAADQABkAAA0ADIAAIaKAAQgABSghAADQAAAAAAAAAAAAAAAAABkAAAEKUoIQAApQCEAAABSEKAAAaABCAAAEKDQBkAApQQgABoAAAAAAAAAAAAAAAAAAGQAAAADQMgAFKADBQAAAAAACGwAAZAAAAANAyAAUoIQAA0AAAAAAAAAAAAAAAAAAAYKAAAAaBkAApQADBQAAAAAAUoAABgoAAABSmQAClBCAAGgAAAAAAAAAAAAAAAAAAAYKAAADRCAAFKAADBQAAAAAUoAAABkAAAA0DIABSghAADQAAAAAAAAAAAAAAAAAAABkhQAAaBgoBDYAAAMgAAAAGgAAAAAQyUAAhsGQADQAMgAGgAAAAAAAAAAAAAAAAAAAACEICmgAZIU0AAAAAZABCgA0AAAAAACEICmgAZIUpQAQyUGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIBDYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT/8QAIhAAAQMEAwEBAQEAAAAAAAAAAQIRIAAQMDFAQVASYLAh/9oACAEBAAE/AP7NTjjPTjjuM70/mvX1IFqCsztTyB4L19SBoGhhJuC1DyXbGC1A4347tT4hQU8zqKfIJzA8NOUnMDI6inxyeAC4mcYyE8AROoo79cUInGB4R1FHfjHAE01fOBOQJr5GdWAJr4psCYK1FHfmAPQiQ0hAzA44D0IkYlaijvxTIcEyTie4VA/4DIZhdWoo78UyTgMhcyGExTcyTgMk3VqKO/FVuQwGSdXMRnTcyGsB1JF1aijvxTIYDIXVxE7uZDAZC6tRHimScBknVzIYDJNzJOAyTdWop8U5jJOrmSS2AyTwTqSdG6tRR35goKkZJgZAyJmIGQoKkdSTo3Ooo78ZWH6NBVzqSYGYLUFU9PgTE4XoKwp0bq1FHfopsZJ4wkcQwJ0bmKO/HOMUdSTEjgJDcITTdWoo79IUdSTIh8wGJmwjUxdWoo78r5mMADYGbEA9ANk+cRiLmKO/M+aY3CXoXamawD0A2JqamMADTWCqBzfNNcJoBoM1moBolNwKAb8SqAL/AKs3A/WG4/WkWH65qH9Fv//EABQRAQAAAAAAAAAAAAAAAAAAAND/2gAIAQIBAT8AFuf/xAAUEQEAAAAAAAAAAAAAAAAAAADQ/9oACAEDAQE/ABbn/9k=`, javascript:menu.allData.javascriptData || '', label:menu.allData.label, style:menu.allData.styleData || '', tailWind:true, vars:builderVars } Api.saveNewModule(dataNewModule) .then((response) => { if (response.error) { reject(new Error('Error desconocido')) } window.bus.$emit("refresh-modules") resolve({}) }) // ANTES GUARDABAMOS EL ARCHIVO DIRECTAMENTE PERO NO SE ENVIABAN LAS VARIABLES // Api.sendFile('/modulos/' + endPointfolder + '/',`index.tpl`,Buffer.from(content).toString('base64'), (response) => { // if (!response.success) { // reject(new Error('Error desconocido')) // } // Api.sendFile('/modulos/' + endPointfolder + '/',`index-base.tpl`,Buffer.from(menu.content).toString('base64'), (response) => { // if (!response.success) { // console.log(response) // reject(new Error('Error desconocido')) // } // window.bus.$emit("loading",{state:0}) // resolve(response) // }) // }) break default: Api.sendFile('/modulos/' + endPointfolder + '/',menu.name,Buffer.from(content).toString('base64'), (response) => { if (!response.success) { console.log(response) reject(new Error('Error desconocido')) } window.bus.$emit("loading",{state:0}) resolve(response) }) } break; default: resolve({}) } }) } static saveNewModule (data) { return new Promise((resolve, reject) => { let moduleData = { description:data.description, editMode:data.editMode ? data.editMode : false, html: data.html ? data.html : '