def globalUser(self): """ Este metodo se usa para crear o modificar una pagina en espacifico variables a parasar por data repeate, plantillas, categorias, post, pagina, boxes,titulo """ from modulos.ztec.zred import normalizar,redirecter if self.data["ajax"]==False: if self.data["action"]=="editar": self.data["repeate"]=1 self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas") keys=self.data["args"][0] i=normalizar(self.data["args"][0]) self.data["categorias"]={} self.data["titulo"]=self.data["metodo"] if i!=None: self.data["categorias"]={} self.data["titulo"]=self.data["model"]["global"].obtenerFilas("Usuarios")[i][0] self.data["layout"]=self.data["titulo"] self.data["post"]=str(i) self.data["pagina"]="{'pagina':'"+self.data["titulo"]+"'}" l1=self.data["model"]["global"].obtenerFilas("Usuarios")[i][1] self.data["boxes"]=[l1] else: self.data["titulo"]="Agregar nuevo usuario" self.data["boxes"]=self.data["model"]["global"].obtenerEstructura("Usuarios")[1] self.servir() elif self.data["action"]=="save": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() if self.data["args"][0]!=None: self.data["model"]["global"].modificarUsuario(self.data["args"][0], self.data["request"]["usuario"].value, self.data["request"]["email"].value, self.data["request"]["password"].value, self.data["request"]["avatar"].value, self.data["request"]["permisologia"].value, hours=4) redirecter(config,settings.app,"admin","Usuarios",action="listar")() else: self.data["model"]["global"].registrarUsuario(self.data["request"]["usuario"].value, self.data["request"]["email"].value, self.data["request"]["password"].value, self.data["request"]["avatar"].value, self.data["request"]["permisologia"].value, hours=4) redirecter(config,settings.app,"admin","Usuarios",action="listar")()
def Entrada(self): """ Este metodo se usa para crear o modificar una pagina en espacifico """ from modulos.ztec.zred import normalizar,gringolizar if self.data["ajax"]==False: if self.data["action"]=="editar": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() self.data["repeate"]=1 self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas") keys=self.data["args"][0] i=normalizar(self.data["args"][0]) self.data["categorias"]={} self.data["titulo"]=self.data["metodo"] if i!=None: self.data["categorias"]={} tabla=self.data["model"]["paginas"].obtenerFilas("Entradas")[i] self.data["titulo"]=tabla[0] self.data["meta-layout"]=self.data["model"]["paginas"].exportarMetadato(tabla[4],"layout") self.data["meta-control"]=self.data["model"]["paginas"].exportarMetadato(tabla[4],"control") self.data["post"]=gringolizar(self.data["titulo"],"-") self.data["control-post"]="Blog" l1=self.data["model"]["paginas"].obtenerFilas("Entradas")[i][1] self.data["boxes"]=[l1] else: self.data["titulo"]="Crea una nueva entrada" self.data["layout"]=self.data["titulo"] self.data["post"]=gringolizar(self.data["titulo"],"-") self.data["control-post"]="Inicio" self.data["boxes"]=[self.data["model"]["paginas"].obtenerEstructura("Entradas")[1]] modelos=self.data["model"]["main"].obtenerFilas('Tablas,args>Modelos')[0][0] tablas=self.data["model"]["main"].obtenerFilas('args>Tablas')[0][0] self.data["vars"]["modelos"]=modelos self.data["vars"]["opciones"]=self.data["model"][modelos[self.data["metodo"]]].obtenerFilas('Opciones') self.data["vars"]["Tablas"]=tablas self.servir() elif self.data["action"]=="save": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() if self.data["args"][0]!=None: self.data["model"]["paginas"].modificarEntrada(self.data["args"][0],self.data["request"],self.data["metadatos"]) redirecter(config,settings.app,"admin","Entrada",str(self.data["args"][0]),action="editar")() else: self.data["model"]["paginas"].crearEntrada(self.data["request"],self.data["metadatos"]) redirecter(config,settings.app,"admin","Entrada","None",action="editar")()
def Registrarse(self): try: self.data["model"]["usuarios" if self.data["isGlobalUser"] == False else "global"].registrarUsuario( self.data["request"]["usuario"]["value"], data["email"].value, self.data["request"]["password"].value, self.data["opciones"]["archivos"][1] [1].index(data["avatar"].value), self.data["opciones"] ["usuarios" if self.data["isGlobalUser"] == False else "global"][0][1].index( data["permisologia"].value)) token = self.data[ "model"]["usuarios" if self.data["isGlobalUser"] == False else "global"].login( self.data["request"]["email"].value, self.data["request"]["password"].value) #pendiente que de momento trabajamos solo con la cookie token cookies = getCookie() folder = os.getcwd().replace("\\", "/").split("/")[-2] if self.data["isGlobalUser"] == False: if "token" in cookies: tokens = normalizar(cookies["token"]) else: tokens = {} tokens[settings.app] = token cookie["token"] = tokens cookie["token"]["path"] = "/" + ( folder if folder != config.host_folder else "") else: cookie["token2"]["path"] = "/" + ( folder if folder != config.host_folder else "") #print "token="+str(tokens)[1:-1].replace("'","").replace('"',"").replace(" ","") print cookie HEADERS.show() contenttype = True redirecter(config, self.data["app"], "admin", "")() except Exception, e: print str(e)[1:-1]
def Formulario(self): """ Este metodo se usa para crear o modificar una pagina en espacifico """ from modulos.ztec.zred import normalizar,redirecter self.HEADERS.show() if self.data["ajax"]==False: if self.data["action"]=="editar": self.data["repeate"]=1 self.data["plantillas"]=self.data["model"]["main"].obtenerFilas("Plantillas") keys=self.data["args"][0] i=normalizar(self.data["args"][0]) self.data["categorias"]={} self.data["titulo"]=self.data["metodo"] if i!=None: self.data["categorias"]={} self.data["titulo"]=self.data["model"]["formularios"].obtenerFilas("Formularios")[i][0] self.data["layout"]=self.data["titulo"] self.data["post"]=str(i) self.data["pagina"]="{'pagina':'"+self.data["titulo"]+"'}" l1=self.data["model"]["formularios"].obtenerFilas("Formularios")[i][1] self.data["boxes"]=[l1] else: self.data["titulo"]="Subir nuevo archivo" self.data["boxes"]=self.data["model"]["formularios"].obtenerEstructura("Formularios")[1] self.servir() elif self.data["action"]=="save": self.data["model"]["formularios"].modificarFormulario(self.data["args"][0],self.data["request"]) redirecter(config,settings.app,"admin","Formulario",str(self.data["args"][0]),action="editar")() elif self.data["action"]=="post": """ Esta accion es registrada por el usuario y no por el administrador """ self.data["model"]["formularios"].registrarFormulario(self.data["indice"],self.data["tabla"],self.data["request"]) redirecter(config,settings.app,"")()
def Actualizar_usuario(self): HEADERS.show() if self.data["model"]["global"].isUser(self.data["user"]["email"]): self.data["model"]["usuarios"].modificarUsuario( indice, data["usuario"].value, self.data["request"]["email"].value, self.data["request"]["password"].value, self.data["opciones"]["archivos"][1][1].index( data["avatar"].value), self.data["opciones"] ["usuarios" if self.data["isGlobalUser"] == False else "global"][0][1].index( self.data["permisologia"].value)) redirecter(config, self.data["app"], "admin", "Usuarios", action="listar")()
def Entrar(self): self.HEADERS.set_headers({"Content-type": "text/html\n"}) estudiante = self.model["main"].obtenerEstudiante( expediente=self.data["request"]["expediente"]) if estudiante != None: self.login.Entrar(estudiante[0]["email"]["value"], self.data["request"]["password"]) redirecter(config, "Plugin", plugin_settings.name, "sc", "iframe", sc="login", manager=True, app=self.data["app"])()
def Salir(self): if "token" in self.data: folder = os.getcwd().replace("\\", "/").split("/")[-2] import Cookie cookie = Cookie.SimpleCookie() if ((self.data["isGlobalUser"] == False and self.data["model"]["usuarios"].closeSession( self.data["token"])) or (self.data["isGlobalUser"] == True and self.data["model"]["global"].closeSession( self.data["token"]))): folder = os.getcwd().replace("\\", "/").split("/")[-2] cookies = getCookie() if self.data["isGlobalUser"] == False: cookie["token"] = cookies["token"] cookie["token"]["path"] = "/" + ( folder if folder != config.host_folder else "") cookie["token"][ "expires"] = "Thu, 01 Jan 1970 00:00:01 GMT" else: cookie["token2"] = cookies["token2"] cookie["token2"]["path"] = "/" + ( folder if folder != config.host_folder else "") cookie["token2"][ "expires"] = "Thu, 01 Jan 1970 00:00:01 GMT" print cookie self.HEADERS.show() contenttype = True redirecter(config, self.data["app"], "admin", "")() else: print "No se a podido cerrar la sesion" else: self.HEADERS.show() redirecter(config, self.data["app"], "admin", "")()
def Ayuda(self): """ Este metodo se usa para controlar el conjunto de paginas """ from modulos.ztec.zred import listar, listarAjax, normalizar, redirecter if self.data["ajax"] == False: if self.data["action"] == "listar": self.HEADERS.show() self.data["Tabla"] = "Ayuda" self.data["Modelos"] = ["ayuda"] listar(self.data, config) self.servir() elif self.data["action"] == "editar": self.data["repeate"] = 1 self.data["plantillas"] = self.data["model"][ "main"].obtenerFilas("Plantillas") keys = self.data["metodo"] i = normalizar(self.data["args"][0]) self.data["categorias"] = {} self.data["titulo"] = self.data["metodo"] if i != None: self.data["categorias"] = {} self.data["titulo"] = self.data["model"][ "ayuda"].obtenerFilas("Ayuda")[i][0] l1 = self.data["model"]["ayuda"].obtenerFilas( "Ayuda")[i][1] self.data["boxes"] = [l1] else: data["titulo"] = "Subir nuevo archivo" data["boxes"] = data["model"]["ayuda"].obtenerEstructura( "Ayuda") self.servir() elif self.data["action"] == "save": self.HEADERS.show() if self.data["args"][0] != None: self.data["model"]["ayuda"].modificarTema( self.data["args"][0], self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Ayuda", action="listar")() else: self.data["model"]["ayuda"].crearTema( self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Ayuda", action="listar")() else: self.HEADERS.set_headers({"Content-type": "text/plain"}) if self.data["action"] == "listar": self.HEADERS.show() listarAjax(self.data, config)
def Archivo(self): """ Este metodo se usa para crear o modificar una pagina en espacifico """ from modulos.ztec.zred import normalizar self.HEADERS.show() if self.data["ajax"] == False: if self.data["action"] == "editar": self.data["repeate"] = 1 self.data["plantillas"] = self.data["model"][ "main"].obtenerFilas("Plantillas") keys = self.data["args"][0] i = normalizar(self.data["args"][0]) self.data["categorias"] = {} self.data["titulo"] = self.data["metodo"] if i != None: self.data["categorias"] = {} self.data["titulo"] = self.data["model"][ "archivos"].obtenerFilas("Archivos")[i][0] l1 = self.data["model"]["archivos"].obtenerFilas( "Archivos")[i][1] self.data["boxes"] = [l1] else: self.data["titulo"] = "Subir nuevo archivo" self.data["boxes"] = [ self.data["model"]["archivos"].obtenerEstructura( "Archivos")[1] ] modelos = self.data["model"]["main"].obtenerFilas( 'Tablas,args>Modelos')[0][0] tablas = self.data["model"]["main"].obtenerFilas( 'args>Tablas')[0][0] self.data["control-post"] = "static" self.data["post"] = self.data["titulo"] self.data["vars"]["modelos"] = modelos self.data["vars"]["opciones"] = self.data["model"][modelos[ self.data["metodo"]]].obtenerFilas('Opciones') self.data["vars"]["Tablas"] = tablas self.servir() elif self.data["action"] == "save": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() opciones = self.data["model"]["archivos"].obtenerFilas( "Opciones") for k, elem in enumerate(opciones): if elem[0] == "Categorias": tipo = opciones[k][1][int( self.data["request"]["tipo"].value)] if self.data["args"][0] == None: resultado = self.data["model"]["archivos"].subirArchivo( self.data["request"], self.data["metadatos"] if "metadatos" in self.data else {}) if resultado: redirecter(config, settings.app, "admin", "Archivo", "None", action="editar")() pass else: print "Ya existe un archivo con el mismo nombre, por favor utilice otro nombre,<br>", " regresando en 3 segundos..." print "<script>setTimeout(function(){history.back()},3000)</script>" else: self.data["model"]["archivos"].actualizarArchivo( self.data["args"][0], self.data["request"], self.data["metadatos"] if "metadatos" in self.data else {}) redirecter(config, settings.app, "admin", "Archivo", str(self.data["args"][0]), action="editar")()
def Entrar(self, email=None, password=None): """ Metodo de logeado de la pagina """ if ("email" in self.data["request"] and "password" in self.data["request"]) or (email != None and password != None): from modulos.ztec.zred import getCookie, normalizar, redirecter import Cookie cookie = Cookie.SimpleCookie() token = False if self.data["model"]["global"].isUser( self.data["request"]["email"].value if email == None else email): token = self.data["model"]["global"].login( self.data["request"]["email"].value if email == None else email, self.data["request"]["password"].value if password == None else password) self.data["isGlobalUser"] = True elif self.data["model"]["usuarios"].isUser( self.data["request"]["email"].value if email == None else email): token = self.data["model"]['usuarios'].login( self.data["request"]["email"].value if email == None else email, self.data["password"] if password == None else password) self.data["isGlobalUser"] = False if token != False: #pendiente que de momento trabajamos solo con la cookie token cookies = getCookie() if "token" in cookies: tokens = normalizar(cookies["token"]) if normalizar( cookies["token"]) != "" else {} else: tokens = {} if "token2" in cookies: token2 = normalizar(cookies["token2"]) else: token2 = "None" folder = os.getcwd().replace("\\", "/").split("/")[-2] if self.data["isGlobalUser"]: cookie["token2"] = token cookie["token2"]["path"] = "/" + ( folder if folder != config.host_folder else "") else: if self.data["app"] != None and self.data["user"] == None: from settings import config as settings from settings import routes tokens[settings.app] = token cookie["token"] = tokens cookie["token"]["path"] = "/" + ( folder if folder != config.host_folder else "") print cookie self.HEADERS.show() contenttype = True if self.data["global_control"] == None: redirecter(config, self.data["app"], "admin", "")() pass else: self.HEADERS.show() contenttype = True print "Datos incorrectos"
def Galeria(self): """ Este metodo se usa para crear o modificar una pagina en espacifico """ from modulos.ztec.zred import normalizar, gringolizar, redirecter if self.data["ajax"] == False: if self.data["action"] == "editar": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() self.data["repeate"] = 1 self.data["plantillas"] = self.model["main"].obtenerFilas( "Plantillas") keys = self.data["args"][1] i = self.data["args"][2] self.data["categorias"] = {} self.data["titulo"] = self.data["metodo"] if i != None: self.data["categorias"] = {} tabla = self.model["galerias"].obtenerFilas("Galerias")[i] self.data["titulo"] = tabla[0] self.data["meta-layout"] = self.data["model"][ "paginas"].exportarMetadato(tabla[4], "layout") self.data["meta-control"] = self.data["model"][ "paginas"].exportarMetadato(tabla[4], "control") self.data["post"] = "" self.data["control-post"] = gringolizar( self.data["titulo"], "-") l1 = self.data["plugins"][plugin_settings.name].model[ "galerias"].obtenerFilas("Galerias")[i][1] self.data["boxes"] = [l1] self.data["vars"] = { "titulos": [], "actual": self.data["titulo"] } for elem in self.data["plugins"][ plugin_settings. name].model["galerias"].obtenerFilas("Galerias"): self.data["vars"]["titulos"].append(elem[0]) else: self.data["titulo"] = "Crea una nueva pagina" self.data["meta-layout"] = self.data["titulo"] self.data["post"] = gringolizar(self.data["titulo"], "-") self.data["control-post"] = "Inicio" self.data["boxes"] = [ self.model["galerias"].obtenerEstructura("Galerias")[1] ] modelos = self.data["model"]["main"].obtenerFilas( 'Tablas,args>Modelos')[0][0] tablas = self.data["model"]["main"].obtenerFilas( 'args>Tablas')[0][0] self.data["vars"]["modelos"] = modelos self.data["vars"]["opciones"] = self.data["opciones"] self.data["vars"]["Tablas"] = tablas elif self.data["action"] == "save": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() if self.data["args"][2] != None: self.model["galerias"].modificarGaleria( self.data["args"][2], self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Plugin", plugin_settings.name, "Galerias", action="listar")() else: self.model["galerias"].crearGaleria( self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Plugin", plugin_settings.name, "Galeria", self.data["args"][2], action="listar")()
def Shortcode(self): """ Este metodo se usa para crear o modificar una pagina en espacifico """ from modulos.ztec.zred import normalizar, gringolizar, redirecter if self.data["ajax"] == False: if self.data["action"] == "editar": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() self.data["repeate"] = 1 self.data["plantillas"] = self.model["main"].obtenerFilas( "Plantillas") keys = self.data["args"][1] i = self.data["args"][2] self.data["categorias"] = {} self.data["titulo"] = self.data["metodo"] if i != None: self.data["categorias"] = {} tabla = self.model["shortcodes"].obtenerFilas( "Shortcodes")[i] self.data["titulo"] = tabla[0] self.data["meta-layout"] = self.data["model"][ "paginas"].exportarMetadato(tabla[4], "layout") self.data["meta-control"] = self.data["model"][ "paginas"].exportarMetadato(tabla[4], "control") self.data["post"] = "" self.data["control-post"] = gringolizar( self.data["titulo"], "-") l1 = self.data["plugins"][plugin_settings.name].model[ "shortcodes"].obtenerFilas("Shortcodes")[i][1] self.data["boxes"] = [l1] self.data["vars"] = { "titulos": [], "actual": self.data["titulo"] } for elem in self.data["plugins"][ plugin_settings.name].model[ "shortcodes"].obtenerFilas("Shortcodes"): self.data["vars"]["titulos"].append(elem[0]) else: self.data["titulo"] = "Crea una nueva pagina" self.data["meta-layout"] = self.data["titulo"] self.data["post"] = gringolizar(self.data["titulo"], "-") self.data["control-post"] = "Inicio" self.data["boxes"] = [ self.model["shortcodes"].obtenerEstructura( "Shortcodes")[1] ] modelos = self.data["model"]["main"].obtenerFilas( 'Tablas,args>Modelos')[0][0] tablas = self.data["model"]["main"].obtenerFilas( 'args>Tablas')[0][0] self.data["vars"]["modelos"] = modelos self.data["vars"]["opciones"] = self.data["opciones"] self.data["vars"]["Tablas"] = tablas elif self.data["action"] == "save": #self.HEADERS.set_headers({"Content-type":"text/plain\n"}) self.HEADERS.show() titulo = self.data["request"]["titulo"].value.strip( )[self.data["request"]["titulo"].value.strip().find("-") + 1:] f = open( plugin_settings.__path__ + plugin_settings.shortcodes_folder + titulo + ".py", "w") f.write(decode(self.data["request"]["controlador"].value)) f.close() f = open( plugin_settings.__path__ + plugin_settings.widgets_folder + titulo + ".html", "w") f.write(decode(self.data["request"]["layout"].value)) f.close() if self.data["args"][2] != None: self.model["shortcodes"].modificarShortcode( self.data["args"][2], self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Plugin", plugin_settings.name, "Shortcode", str(self.data["args"][2]), action="editar")() else: self.model["shortcodes"].crearShortcode( self.data["request"], self.data["metadatos"]) redirecter(config, settings.app, "admin", "Plugin", plugin_settings.name, "Shortcode", str(self.data["args"][2]), action="editar")()