Пример #1
0
	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")()
Пример #2
0
    def Plantilla(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:
            data["titulo"] = "Subir nuevo archivo"
            data["boxes"] = data["model"]["archivos"].obtenerEstructura(
                "Archivos")
        self.servir()
Пример #3
0
    def Eliminar(self):
        l = []
        from modulos.ztec.zred import normalizar
        self.HEADERS.set_headers({"Content-type": "text/plain"})
        self.HEADERS.show()

        for elem in self.data["marcados"]:
            l.append(elem)
        modelos = self.data["model"]["main"].obtenerFilas(
            'Tablas,args>Modelos')[0][0]
        tablas = self.data["model"]["main"].obtenerFilas('args>Tablas')[0][0]

        for c, elem in enumerate(self.data["marcados"]):

            while c < len(l):
                if normalizar(l[c]) == True:

                    self.data["model"][modelos[self.data["metodo"]]].eliminar(
                        c, tablas[self.data["metodo"]] if self.data["metodo"]
                        in tablas else self.data["metodo"])
                    del l[c]

                    c = 0
                else:
                    c += 1

        data = {}

        lista = self.data["model"][modelos[self.data["metodo"]] if self.
                                   data["metodo"] in modelos else self.
                                   data["metodo"]].obtenerFilas(
                                       self.data["metodo"])
        for k, elem in enumerate(lista):
            del lista[k][1]
        data["listar"] = lista
        data["ajax-data"] = str({
            "action": "listar",
            "args": self.data["args"],
            "pag-action": None
        })
        data[
            "baseAction"] = "app=" + settings.app + "&admin=True&vista=index&args=" + str(
                self.data["args"])
        data["titulo"] = self.data["metodo"]
        data["filtrar"] = ["Todas las fechas", "Septiembre 2014"]
        data["addNew"] = 'Añadir nuevo'
        data["n-pag"] = 5
        data['campos'] = ["Titulo", "Fecha"]
        data['app'] = settings.app
        data['vista'] = "index"
        data["action"] = self.data["action"]

        data["beforeAction"] = "listar"
        data["acciones"] = {
            "Acciones en lote": "marcar",
            "Editar": "editar",
            "Mover a la papelera": "eliminar"
        }
        print data
Пример #4
0
	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")()
Пример #5
0
    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]
Пример #6
0
	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,"")()
Пример #7
0
    def Pagina(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"][
                        "paginas"].obtenerFilas("Paginas")[i][0]
                    self.data["layout"] = self.data["titulo"]
                    self.data["post"] = str(i)
                    self.data[
                        "pagina"] = "{'pagina':'" + self.data["titulo"] + "'}"
                    l1 = self.data["model"]["paginas"].obtenerFilas(
                        "Paginas")[i][1]
                    self.data["boxes"] = [l1]
                else:
                    data["titulo"] = "Subir nuevo archivo"
                    data["boxes"] = data["model"][
                        "archivos"].obtenerEstructura("Archivos")
                self.servir()
        elif self.data["ajax"] == True:
            if self.data["action"] == "modificar-atributo":
                self.HEADERS.set_headers({"Content-type": "text/plain\n"})
                self.data["model"]["paginas"].updatesMetas(
                    self.data["request"]["args"][0],
                    self.data["request"]["meta"],
                    tabla="Paginas")
Пример #8
0
    def Show(self):
        self.HEADERS.set_headers({"Content-type": "text/plain"})
        self.HEADERS.show()
        from modulos.ztec.intervalor.control import generar2
        import os

        if self.data["login"]:

            if "db" in normalizar(self.data["kwargs"]):
                """
		     Muestra contenido directamente desde la base de datos
		     """
                if "id" in normalizar(self.data["kwargs"]) and normalizar(
                        self.data["kwargs"])["id"] != None:
                    tabla = None
                    for elem in list(self.data["model"]["main"].db.tablas):
                        if len(self.data["model"]["main"].db.tablas[elem]) > 0:
                            temp = self.data["model"]["main"].db(
                                elem).obtenerFilaValores(0)
                            if len(temp) > 2:
                                if normalizar(
                                        self.data["kwargs"])["tabla"] == list(
                                            temp[2])[0]:
                                    tabla = elem
                    if tabla != None:
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(tabla)[
                                normalizar(self.data["kwargs"])["id"]]

                else:

                    if normalizar(self.data["kwargs"])["tabla"] in list(
                            self.data["model"]["main"].db.tablas):

                        for elem in list(self.data["model"]["main"].db.tablas):

                            if len(self.data["model"]
                                   ["main"].db.tablas[elem]) > 0:

                                temp = self.data["model"]["main"].db(
                                    elem).obtenerFilaValores(0)

                                if len(temp) > 2:

                                    if normalizar(self.data["kwargs"]
                                                  )["tabla"] == list(
                                                      temp[2])[0]:

                                        tabla = elem
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(
                                normalizar(self.data["kwargs"])["tabla"])
                    else:
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(
                                normalizar(self.data["kwargs"])["tabla"])

            if len(self.data["args"]) > 2:
                """
		    	Muestra el codigo de diseños, modelos y controladores
		    	"""

                if self.data["args"][0] == "layout":
                    if self.data["args"][1] == "user":

                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/user/" + routes.vistas_folder +
                                          "/".join(self.data["args"][2:])):

                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/user/" + routes.vistas_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.vistas_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]

                                generar2(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.vistas_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py")
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py", "r")
                                print f.read()
                                f.close()

                        else:
                            print None
                    elif self.data["args"][1] == "admin":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/admin/" + routes.vistas_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.vistas_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.vistas_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                generar2(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.vistas_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py")
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py", "r")
                                print f.read()
                                f.close()
                        else:
                            print None
                    elif self.data["args"][1] == "global":

                        if os.path.exists(config.base_root +
                                          config.vistas_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.vistas_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.vistas_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                generar2(
                                    config.base_root + config.vistas_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py")
                                f = open(
                                    config.base_root + config.vistas_folder +
                                    (routes.templates_folder if
                                     self.data["args"][2] != routes.widgets_dir
                                     else "") + "/".join(
                                         self.data["args"][2:])[:-len(ext)] +
                                    "py", "r")
                                print f.read()
                                f.close()

                        else:
                            print None
                        pass

                elif self.data["args"][0] == "controlador":

                    if self.data["args"][1] == "user":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/user/" + routes.controller_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/user/" + routes.controller_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.controller_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                """
				    			ext=self.data["args"][-1].split(".")[-1]
				    			generar2(config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:]),config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:])[:-len(ext)]+"py")
				    			f=open(config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:])[:-len(ext)]+"py","r")
				    			print f.read()
				    			f.close()
				    			"""
                        else:
                            print None
                    elif self.data["args"][1] == "global":
                        if os.path.exists(config.base_root +
                                          config.controller_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.controller_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root +
                                    config.controller_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                """
				    			ext=self.data["args"][-1].split(".")[-1]
				    			generar2(config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:]),config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:])[:-len(ext)]+"py")
				    			f=open(config.base_root+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"/".join(self.data["args"][2:])[:-len(ext)]+"py","r")
				    			print f.read()
				    			f.close()
				    			"""
                        else:
                            print None
                elif self.data["args"][0] == "plugins":

                    if os.path.exists(config.base_root +
                                      config.plugins_folder +
                                      "/".join(self.data["args"][1:])):
                        if self.data["action"] == None or self.data[
                                "action"] == "router":
                            print config.base_root + config.plugins_folder + "/".join(
                                self.data["args"][1:])
                        if self.data["action"] == None or self.data[
                                "action"] == "incluir":
                            f = open(
                                config.base_root + config.plugins_folder +
                                "/".join(self.data["args"][1:]), "r")
                            print f.read()
                            f.close()
                        elif self.data["action"] == "componer":

                            ext = self.data["args"][-1].split(".")[-1]
                            _ext = self.data[
                                "ext"] if "ext" in self.data else "py"
                            generar2(
                                config.base_root + config.plugins_folder +
                                "/".join(self.data["args"][1:]),
                                config.base_root + config.plugins_folder +
                                "/".join(self.data["args"][1:])[:-len(ext)] +
                                _ext)
                            f = open(
                                config.base_root + config.plugins_folder +
                                "/".join(self.data["args"][1:])[:-len(ext)] +
                                _ext, "r")
                            print f.read()
                            f.close()

                    else:
                        print None

                elif self.data["args"][0] == "modelo":
                    if self.data["args"][1] == "admin":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/admin/" + routes.models_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.models_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.models_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                generar2(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.models_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.models_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    "py")
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.models_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    "py", "r")
                                print f.read()
                                f.close()
                        else:
                            print None
                    elif self.data["args"][1] == "global":

                        if os.path.exists(config.base_root +
                                          config.modelos_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.modelos_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.modelos_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                generar2(
                                    config.base_root + config.modelos_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.modelos_folder +
                                    "/".join(self.data["args"][2:])[:-len(ext)]
                                    + "py")
                                f = open(
                                    config.base_root + config.modelos_folder +
                                    "/".join(self.data["args"][2:])[:-len(ext)]
                                    + "py", "r")
                                print f.read()
                                f.close()
                        else:
                            print None
                elif self.data["args"][0] == "static":
                    if self.data["args"][1] == "user":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/user/" + routes.static_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/user/" + routes.static_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.static_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                _ext = "py" if "ext" not in self.data else self.data[
                                    "ext"]
                                generar2(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.static_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.static_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    _ext)
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/user/" +
                                    routes.static_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    _ext, "r")
                                print f.read()
                                f.close()

                        else:
                            print None
                    elif self.data["args"][1] == "admin":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/admin/" + routes.static_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.static_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.static_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(
                                    "."
                                )[-1] if "ext" not in self.data else self.data[
                                    "ext"]
                                _ext = "py" if "ext" not in self.data else self.data[
                                    "ext"]
                                generar2(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.static_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.static_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    _ext)
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/" +
                                    routes.static_folder + "/".join(
                                        self.data["args"][2:])[:-len(ext)] +
                                    _ext, "r")
                                print f.read()
                                f.close()
                        else:
                            print None
                    elif self.data["args"][1] == "global":
                        if os.path.exists(config.base_root +
                                          config.static_folder +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.static_folder + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.static_folder +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()
                            elif self.data["action"] == "componer":
                                ext = self.data["args"][-1].split(".")[-1]
                                _ext = "py" if "ext" not in self.data else self.data[
                                    "ext"]
                                generar2(
                                    config.base_root + config.static_folder +
                                    "/".join(self.data["args"][2:]),
                                    config.base_root + config.static_folder +
                                    "/".join(self.data["args"][2:])[:-len(ext)]
                                    + _ext)
                                f = open(
                                    config.base_root + config.static_folder +
                                    "/".join(self.data["args"][2:])[:-len(ext)]
                                    + _ext, "r")
                                print f.read()
                                f.close()

                        else:
                            print None
                elif self.data["args"][0] == "ajustes":

                    if self.data["args"][1] == "admin":
                        if os.path.exists(config.base_root +
                                          config.apps_folder + settings.app +
                                          "/admin/settings/" +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + config.apps_folder + settings.app + "/admin/settings/" + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + config.apps_folder +
                                    settings.app + "/admin/settings/" +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()

                        else:
                            print None
                    elif self.data["args"][1] == "global":
                        if os.path.exists(config.base_root + "config/" +
                                          "/".join(self.data["args"][2:])):
                            if self.data["action"] == None or self.data[
                                    "action"] == "router":
                                print config.base_root + "config/" + "/".join(
                                    self.data["args"][2:])
                            if self.data["action"] == None or self.data[
                                    "action"] == "incluir":
                                f = open(
                                    config.base_root + "config/" +
                                    "/".join(self.data["args"][2:]), "r")
                                print f.read()
                                f.close()

                        else:
                            print None

                elif self.data["args"][0] == "path":
                    if self.data["args"][1] == "admin":
                        if self.data["args"][2] == "layouts":
                            print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.vistas_folder
                        elif self.data["args"][2] == "widgets":
                            print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.vistas_folder + routes.widgets_folder
                        elif self.data["args"][2] == "modelos":
                            print config.base_root + config.apps_folder + settings.app + "/admin/" + routes.models_folder

                    elif self.data["args"][1] == "user":
                        if self.data["args"][2] == "layouts":
                            print config.base_root + config.apps_folder + settings.app + "/user/" + routes.vistas_folder
                        elif self.data["args"][2] == "widgets":
                            print config.base_root + config.apps_folder + settings.app + "/user/" + routes.vistas_folder + routes.widgets_folder
                        elif self.data["args"][2] == "controladores":
                            print config.base_root + config.apps_folder + settings.app + "/user/" + routes.controller_folder

        else:
            self.HEADERS.show()
            print "None"
        pass
Пример #9
0
    def __init__(self, data):
        from modulos.ztec import zu

        Login.__init__(self, data)
        self.isglobal = True

        #------------------------------------------------
        #SECCION DE VARIABLES CONTRSTRUCTORAS
        self.data["creditos"] = self.data["model"]["global"].obtenerCreditos(
            settings.app)[settings.app]
        self.data["adminMenu"] = self.data["model"]["main"].obtenerAdminMenu()
        self.data["archivos"] = self.data["model"]["archivos"].obtenerFilas(
            "Archivos")
        self.data[
            "actionbase"] = "app=" + settings.app + "&vista=index&admin=True"
        self.modelo = data["model"]["main"]
        self.data["licencias"] = config.licencias
        #-------------------------------
        #SECCION DE HOOKS
        self.data["hook1"] = [
            ["listar", ["list"]],
            ["content", ["content"]],
            ["editar", ["edit"]],
            ["editar2", ["edit2"]],
            ["editar3", ["edit3"]],
            ["codear", ["edit2"]],
            ["plugins", ["gestor"]],
            ["plugin", ["plugin"]],
            ["post", ["post"]],
            ["update", ["update"]],
            ["allapps", ["gestor"]],
            ["menus", ["menus"]],
            ["explorar", ["explorar"]],
            ["download", ["download"]],
        ]
        self.data[
            "base_url"] = config.base_url + config.apps_folder + settings.app + "/user/"

        #--------------------------------
        #SECCION DE SELECCION DE VISTA
        if self.data["login"] == True:
            self.vista = "index"
            self.data["vars"]["login"] = True
        else:
            self.vista = "login"
            self.data["vars"]["login"] = False
        #--------------------------------
        #SECCION DE ACCIONES
        if self.data["login"] == True:

            if self.data["action"] == "allapps":

                import os

                import urllib, urllib2
                from modulos.ztec.zu import redict

                l = self.data["model"]["global"].obtenerFilas("apps")
                for k, elem in enumerate(l):
                    if os.path.isdir("../" + config.apps_folder + elem[0]):
                        l[k][1].append({
                            "Screenshot":
                            "url",
                            "name":
                            "screenshot",
                            "value":
                            config.base_url + config.apps_folder + elem[0] +
                            "/screenshot.png"
                        })
                data["items"] = l
                params = urllib.urlencode({
                    "global_control": "apps",
                    "metodo": "allapps",
                    "manager": True
                })
                self.HEADERS.show()
                print config.asenzor_host
                f = urllib2.urlopen(config.asenzor_host, params)

                item = redict(normalizar(f.read()))

                data["items-destacadas"] = item["Destacada"]
                data["items-populares"] = item["Populares"]
                data["items-recientes"] = item["Recientes"]
                data["items-favoritos"] = item["Favoritos"]
                f.close()

            elif self.data["action"] == "plugins":
                import os
                import urllib, urllib2
                from modulos.ztec.zu import redict

                l = self.data["model"]["global"].obtenerFilas("Plugins")
                l2 = self.data["model"]["main"].obtenerFilas("Plugins")
                for k, elem in enumerate(l):
                    if os.path.isdir("../" + config.plugins_folder + elem[0]):
                        l[k][1].append({
                            "Screenshot":
                            "url",
                            "name":
                            "screenshot",
                            "value":
                            config.base_url + config.plugins_folder + elem[0] +
                            "/screenshot.png"
                        })
                        self.HEADERS.show()
                data["items"] = l
                params = urllib.urlencode({
                    "global_control": "plugins",
                    "manager": True
                })
                f = urllib2.urlopen(config.asenzor_host, params)
                item = redict(normalizar(f.read()))
                data["items-destacadas"] = item["Destacada"]
                data["items-populares"] = item["Popular"]
                data["items-recientes"] = item["Reciente"]
                data["items-favoritos"] = item["Favorita"]
                f.close()
            elif self.data["action"] == "editar2" or self.data[
                    "action"] == "codear":
                app = settings.app

                if list(self.data["kwargs"]) == ["Diseño"]:
                    self.data["titulo"] = "Diseños"
                    user = "******" + config.apps_dir + "/" + app + "/user/" + routes.vistas_folder
                    admin = "../" + config.apps_dir + "/" + app + "/admin/" + routes.vistas_folder
                    globales = config.base_root + config.vistas_folder
                    self.data["trees"] = [
                        {
                            "user": zu.treeFolder(user)
                        },
                        {
                            "admin": zu.treeFolder(admin)
                        },
                    ]
                    if self.data["isGlobalUser"]:
                        self.data["trees"].append(
                            {"global": zu.treeFolder(globales)})
                    self.data["excluir"] = ".py"
                elif list(self.data["kwargs"]) == ["Controlador"]:
                    self.data["titulo"] = "Controles"
                    user = "******" + config.apps_dir + "/" + app + "/user/" + routes.controller_folder
                    globales = config.base_root + config.controller_folder

                    self.data["trees"] = [
                        {
                            "user": zu.treeFolder(user)
                        },
                    ]
                    if self.data["isGlobalUser"]:
                        self.data["trees"].append(
                            {"global": zu.treeFolder(globales)})
                    self.data["excluir"] = ".pyc"
                elif list(self.data["kwargs"]) == ["Modelo"]:
                    self.data["titulo"] = "Modelos"
                    admin = "../" + config.apps_dir + "/" + app + "/admin/" + routes.models_folder
                    globales = config.base_root + config.modelos_folder
                    self.data["trees"] = [
                        {
                            "admin": zu.treeFolder(admin)
                        },
                    ]
                    if self.data["isGlobalUser"]:
                        self.data["trees"].append(
                            {"global": zu.treeFolder(globales)})
                    self.data["excluir"] = ".pyc"
                elif list(self.data["kwargs"]) == ["Script"]:
                    self.data["titulo"] = "Scripts"
                    user = "******" + config.apps_dir + "/" + app + "/user/" + routes.static_folder
                    admin = "../" + config.apps_dir + "/" + app + "/admin/" + routes.static_folder
                    globales = config.base_root + "static/"

                    self.data["trees"] = [
                        {
                            "user": zu.treeFolder(user)
                        },
                        {
                            "admin": zu.treeFolder(admin)
                        },
                    ]
                    if self.data["isGlobalUser"]:
                        self.data["trees"].append(
                            {"global": zu.treeFolder(globales)})

                    self.data["excluir"] = ".pyc"
                elif list(self.data["kwargs"]) == ["Ajustes"]:
                    self.data["titulo"] = "Ajustes"
                    admin = "../" + config.apps_folder + app + "/admin/" + config.settings_folder
                    _global = "../config/"
                    self.data["trees"] = [{
                        "admin": zu.treeFolder(admin),
                    }]
                    if self.data["isGlobalUser"]:
                        self.data["trees"].append({
                            "global":
                            zu.treeFolder(_global),
                        })
                    self.data["excluir"] = ".pyc"
                elif list(self.data["kwargs"]) == ["Plugin"]:
                    self.data["titulo"] = "Plugins"
                    admin = config.base_root + config.plugins_folder
                    self.data["trees"] = [{
                        "plugins": zu.treeFolder(admin),
                    }]
                    self.data["excluir"] = [".pyc"]
                self.data["renderTree"] = renderTree
            elif self.data["action"] == "editar":
                self.data["vars"]["opciones"] = self.data["opciones"]
                self.data["vars"]["Tablas"] = ["Usuarios", "Formularios"]
                self.data["vars"]["modelos"] = ["formularios"]
                self.data["vars"]["campos"] = ["formularios"]
                self.data["vars"]["boxes"] = [[{
                    "Titulo": "text",
                    "name": "nombre",
                    "value": "aaaa"
                }]]
            elif self.data["action"] == "personalizar":
                self.vista = "personalizar"
                self.data["vars"]["categorias"] = self.data["model"][
                    "archivos"].obtenerFilas("Opciones")[3][1]
                self.data["vars"]["tipos"] = self.data["model"][
                    "archivos"].obtenerFilas("Opciones")[4][1]
                self.servir()
Пример #10
0
    def __init__(self):
        #====================================================================

        self.HEADERS = Headers()

        self.data = {"ajax": False}
        self.vista = "error404"

        self.data.update(getRest(config))

        import imp
        import cgi, cgitb
        cgitb.enable()

        data = cgi.FieldStorage()

        if (self.data["control"] == None
                and self.data['global_control'] == None
                and self.data['metodo'] == None and self.data['app'] == None
                and self.data['args'] == [] and self.data['request'] == {}
                and self.data['manager'] == False
                and self.data['ajax'] == False and self.data['kwargs'] == {}
                and self.data['action'] == None):
            self.data["app"] = config.default_app

        import os

        try:

            if type(data.value) == list:
                d = {}
                d2 = {}
                for elem in data.value:

                    if elem.name == "app":

                        if elem.value != "None" and elem.value != None:

                            self.data[elem.name] = normalizar(elem.value)

                            self.data["request"][elem.name] = elem

                    else:
                        if elem.name in d:
                            d[elem.name].append(elem.value)
                            d2[elem.name].append(elem)
                            self.data[elem.name] = d[elem.name]
                            self.data["request"][elem.name] = d2[elem.name]
                        else:
                            d[elem.name] = [elem.value]
                            d2[elem.name] = [elem]
                            self.data[elem.name] = normalizar(elem.value)
                            self.data["request"][elem.name] = elem

            else:
                """
		        params=data.value.split("/")[-1].split("&")


		        for elem in params:
		            k,v=elem.split("=")
		            self.data[k]=normalizar(v)                                                     
		            self.data["request"][k]={"value":normalizar(v)}                                                     
		        """

        except Exception, e:
            if "action" not in data:
                self.data["action"] = None
            else:
                self.data["action"] = data["action"].value
                self.data["request"]["action"] = data["action"]
Пример #11
0
    def Show(self):
        """
		Este metodo se usa para mostrar datos planos en el framework
		"""
        if self.data["login"]:
            self.HEADERS.show()

            if "db" in normalizar(self.data["kwargs"]):
                if "id" in normalizar(self.data["kwargs"]) and normalizar(
                        self.data["kwargs"])["id"] != None:
                    tabla = None
                    for elem in list(self.data["model"]["main"].db.tablas):
                        if len(self.data["model"]["main"].db.tablas[elem]) > 0:
                            temp = self.data["model"]["main"].db(
                                elem).obtenerFilaValores(0)
                            if len(temp) > 2:
                                if normalizar(
                                        self.data["kwargs"])["tabla"] == list(
                                            temp[2])[0]:
                                    tabla = elem
                    if tabla != None:
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(tabla)[
                                normalizar(self.data["kwargs"])["id"]]

                else:

                    if normalizar(self.data["kwargs"])["tabla"] in list(
                            self.data["model"]["main"].db.tablas):

                        for elem in list(self.data["model"]["main"].db.tablas):

                            if len(self.data["model"]
                                   ["main"].db.tablas[elem]) > 0:

                                temp = self.data["model"]["main"].db(
                                    elem).obtenerFilaValores(0)

                                if len(temp) > 2:

                                    if normalizar(self.data["kwargs"]
                                                  )["tabla"] == list(
                                                      temp[2])[0]:

                                        tabla = elem
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(
                                normalizar(self.data["kwargs"])["tabla"])
                    else:
                        print self.data["model"][normalizar(
                            self.data["kwargs"])["db"]].obtenerFilas(
                                normalizar(self.data["kwargs"])["tabla"])
            if "path" in self.data["kwargs"] and (
                    self.data["user"]["permisologia"] == 0
                    or self.data["user"]["permisologia"] == 1):

                if self.data["kwargs"]["path"][0] == "admin":
                    if self.data["kwargs"]["path"][1] == "Template":

                        print config.base_root + (
                            config.apps_dir + "/" if self.data["manager"]
                            == False else config.projects_folder
                        ) + settings.app + "/admin/" + routes.vistas_dir
                    elif self.data["kwargs"]["path"][1] == "Widget":

                        print config.base_root + (
                            config.apps_dir + "/" if self.data["manager"]
                            == False else config.projects_folder
                        ) + settings.app + "/admin/" + routes.vistas_folder + routes.widgets_folder
                elif normalizar(self.data["kwargs"])["path"][0] == "user":
                    if normalizar(
                            self.data["kwargs"])["path"][1] == "Template":
                        print config.base_root + (
                            config.apps_dir + "/" if self.data["manager"]
                            == False else config.projects_folder
                        ) + settings.app + "/user/" + routes.vistas_dir
                    elif normalizar(
                            self.data["kwargs"])["path"][1] == "Widget":
                        print config.base_root + (
                            config.apps_dir + "/" if self.dat["manager"]
                            == False else config.projects_folder
                        ) + settings.app + "/user/" + routes.vistas_folder + routes.widgets_folder
                elif self.data["kwargs"]["path"][0] == "Controlador":
                    print config.base_root + (
                        config.apps_dir + "/" if self.data["manager"] == False
                        else config.projects_folder
                    ) + settings.app + "/user/" + config.controller_folder
                elif self.data["kwargs"]["path"][0] == "Modelo":
                    print config.base_root + (
                        config.apps_dir + "/" if self.data["manager"] == False
                        else config.projects_folder
                    ) + settings.app + "/admin/" + routes.models_folder

            if list(normalizar(self.data["kwargs"])) == ["widget"]:
                import os
                if normalizar(self.data["kwargs"])["widget"].strip(
                ) + ".html" in os.listdir(
                        config.base_root + config.apps_dir + "/" +
                        settings.app + "/admin/" + routes.vistas_folder +
                        routes.widgets_folder if normalizar(
                            self.data["isglobal"]) == False else "../" +
                        config.vistas_folder + "widgets/"):

                    f = open(
                        config.base_root +
                        (config.apps_dir + "/" if self.data["manager"] == False
                         else config.projects_folder) + settings.app +
                        "/admin/" + routes.vistas_folder +
                        routes.widgets_folder +
                        normalizar(self.data["kwargs"])["widget"].strip() +
                        ".html" if normalizar(self.data["isglobal"]) == False
                        else "../" + config.vistas_folder + "widgets/" +
                        normalizar(self.data["kwargs"])["widget"].strip() +
                        ".html", "r")
                    print f.read()
                    f.close()
                else:
                    print None

            elif self.data["kwargs"] == {
                    "Contacto": "*****@*****.**"
            }:

                print "data['Contactos']=" + str(
                    modelo.obtenerContactos(self.data["kwargs"]["Contacto"]))

            elif len(list(self.data["kwargs"])) > 0 and list(
                    self.data["kwargs"])[0] == "Controlador":

                try:

                    f = open(
                        config.base_root +
                        (config.apps_dir + "/" if self.data["manager"] == False
                         else config.projects_folder) + settings.app +
                        "/user/" +
                        decode(self.data["kwargs"]["Controlador"]).strip() +
                        ".py", "r")
                    print "#" + config.base_root + (
                        config.apps_dir + "/" if self.data["manager"] == False
                        else config.projects_folder
                    ) + settings.app + "/user/" + decode(
                        self.data["kwargs"]["Controlador"]).strip() + ".py"
                    print f.read()
                    f.close()
                except Exception, e:
                    print e
            elif len(list(self.data["kwargs"])) > 0 and list(
                    self.data["kwargs"])[0] == "Modelo":

                try:

                    f = open(
                        config.base_root +
                        (config.apps_dir + "/" if self.data["manager"] == False
                         else config.projects_folder) + settings.app +
                        "/admin/" +
                        decode(self.data["kwargs"]["Modelo"]).strip() + ".py",
                        "r")
                    print "#" + config.base_root + (
                        config.apps_dir + "/" if self.data["manager"] == False
                        else config.projects_folder
                    ) + settings.app + "/admin/" + decode(
                        self.data["kwargs"]["Modelo"]).strip() + ".py"
                    print f.read()
                    f.close()
                except Exception, e:
                    print e
Пример #12
0
 def action(data,p):#manejador de los formularios
  
  sys.path.append(p["base_root"]+"../admin/")


  



  
  debug=False
  contenttype=False



  from config import config



  import settings.routes as routes
  
  import settings.config as settings
  import imp
  from modulos.ztec.zu import redict






  
  sys.path.append(p["base_root"]+"../admin/"+routes.libs_folder)
  sys.path.append(p["base_root"]+"../admin/"+routes.models_folder)

  
  
  
  errores=[]
  for elem in settings.libs_python:
   exec("import "+elem,locals())
  
  import modulos.ztec.zu as zu
  import ztec.zred as zred 


  

  

  
  from modulos.ztec.zred import clienteSock,getCookie,setCookie, redirecter,decode,normalizar,encode,Headers
  HEADERS=Headers()
  if p["method"]=="ajax":
    HEADERS.set_headers({"Content-type":"text/plain"})
  #==============================================================================
  #INICIALIZACION DE LOS MODELOS
  if "model" not in p:
    p["model"]={}
  if "opciones" not in p:
    p["opciones"]={}


  contenido=p["model"]["global"].obtenerContenido(p["app"],"apps")[p["app"]]  

  p["model"]["global"].p=p
  p["model"]["usuarios"].p=p
  for k,db in enumerate(contenido[1]):
    if contenido[1][db]["value"] in settings.dbs:

      exec("from "+contenido[1][db]["value"]+"_model import model as model"+str(k),locals())    
      if "token" not in p:
       
       exec('p["model"][contenido[1][db]["value"]]=model'+str(k)+'(p["base_root"]+"../admin/"+routes.models_folder+contenido[1][db]["value"],p["base_root"]+"../admin/"+routes.request_folder,"user",debug=debug,ext=".py")',locals())
       p["model"][contenido[1][db]["value"]].models["global"]=p["model"]["global"]

       p["model"]["global"].models[contenido[1][db]["value"]]=p["model"][contenido[1][db]["value"]]
       if "Opciones" in p["model"][contenido[1][db]["value"]].db.tablas:
            p["opciones"][contenido[1][db]["value"]]=p["model"][contenido[1][db]["value"]].obtenerFilas("Opciones")
       

      else:

       exec('p["model"][contenido[1][db]["value"]]=model'+str(k)+'(p["base_root"]+"../admin/"+routes.models_folder+contenido[1][db]["value"],p["base_root"]+"../admin/"+routes.request_folder,p["token"],debug=debug,ext=".py")',locals())
       p["model"][contenido[1][db]["value"]].models["global"]=p["model"]["global"]
       p["model"]["global"].models[contenido[1][db]["value"]]=p["model"][contenido[1][db]["value"]]

       if "Opciones" in p["model"][contenido[1][db]["value"]].db.tablas:
            p["opciones"][contenido[1][db]["value"]]=p["model"][contenido[1][db]["value"]].obtenerFilas("Opciones") 
    p["model"][contenido[1][db]["value"]].p=p



    
  
  #===================================================================================
  #MANEJO DE REGISTRO DE ACCIONES DE USARIO(SESION)
  

  cookies=getCookie()
  p["cookies"]=cookies
  token2=None
  tokens={}



  

  if "token" in cookies:

   tokens=normalizar(cookies["token"])
  if "token2" in cookies:
    token2=normalizar(cookies["token2"])
   


   

  if settings.app in tokens and token2==None:

    p["token"]=tokens[settings.app]
    if p["model"]["usuarios"].isUser(token=tokens[settings.app]) and p["model"]["usuarios"].consultarLogin(tokens[settings.app]):
      p["user"]=p["model"]["usuarios"].obtenerUsuario(p["token"])
      p["login"]=True
      p["isGlobalUser"]=False
    else:
      p["login"]=False
    
  elif token2!=None and p["model"]["global"].consultarLogin(token2):
    p["token"]=token2
    p["user"]=p["model"]["global"].obtenerUsuario(p["token"])
    p["login"]=True
    p["isGlobalUser"]=True
  else:
    p["login"]=False
  
  for elem in p["model"]:
   if "token" in p:
    p["model"][elem].token=p["token"]
   else:
    p["model"][elem].token="user"
  #=================================================================================
  #CREAR LOS LANZADORES DEL LOS PLUGINS
  p["plugins"]={}
  for k,plugin in enumerate(p["model"]["main"].obtenerFilas("Plugins")):
    if plugin[1]==True:
      p["plugins"][plugin[0]]=imp.load_source("plugin"+str(k),config.base_root+config.plugins_folder+plugin[0]+"/"+"default.py").Plugin(p["model"])
      p["plugins"][plugin[0]].action(data,p)


      


  #========================================================================================

  if p["cookies"]!={} and normalizar(p["cookies"]["beforeArgs"])!=[]:
    if len(normalizar(p["cookies"]["beforeArgs"]))>0:
      beforeAction=normalizar(p["cookies"]["beforeArgs"])[0]
      if len(normalizar(p["cookies"]["beforeArgs"]))>1:
          indice=normalizar(p["cookies"]["beforeArgs"])[1]
  else:
   try:
     beforeAction=data["action"].value
   except Exception as e:
     beforeAction=""
   indice=None

  #=========================================================================
  #CARGA DE SUBCONTROLADORES 
  
  for elem in settings.global_post_controllers:
   try:


    sub=open("../"+config.controller_folder+config.global_folder+routes.http_folder+elem+".py","r")
    script=sub.read()
    sub.close()
    exec(script,locals())

   except Exception as e:
    print "#error: ",elem," ",e
    errores.append([sys.exc_info(),[p["base_root"]+routes.controller_folder+"default.py",p["base_root"]+routes.controller_folder+routes.http_folder+elem+".py"]])

  for elem in settings.post_controllers:
    
    sub=open(config.base_root+config.apps_folder+p["app"]+"/user/"+config.controles_dir+"/"+routes.http_folder+elem+".py","r")
    script=sub.read()
    try:
     exec(script,locals()) 
    except Exception as e:
     if settings.mod_debug!=False:
      import traceback

      exc_type,exc_obj,exc_tb=sys.exc_info()
      fname = exc_tb.tb_frame.f_code.co_filename
      print "#==================================="
      print "#No se pudo cargar el modulo ",elem
      print "# ","".join(traceback.format_exception(exc_type,fname,exc_tb))
      print "#", e
      print "#==================================="

  for elem in settings.post_custom_controllers:
    sub=open(config.base_root+config.apps_folder+p["app"]+"/user/"+config.controles_dir+"/"+routes.custom_http_folder+elem+".py","r")
    script=sub.read()
    sub.close()
    try:
     exec(script,locals()) 
    except Exception as e:
     if settings.mod_debug!=False:
      import traceback
      exc_type,exc_obj,exc_tb=sys.exc_info()
      fname = exc_tb.tb_frame.f_code.co_filename
      print "#==================================="
      print "#No se pudo cargar el modulo ",elem
      print "# ","".join(traceback.format_exception(exc_type,fname,exc_tb))
      print "#", e
      print "#==================================="
Пример #13
0
 def cnt(p,m):#Manejador de las paginas
  p["method"]="get"

  debug=False
  import sys
  

  import config
  import settings.config as settings
  import settings.routes as routes


  import modulos.ztec.zu as zu
  from modulos.ztec.zu import redict
  import ztec.zred as zred 
  from modulos.ztec.zred import zform 
  from modulos.ztec.zt import ZT
  import imp
  
  #print config.base_root+config.apps_folder+settings.app+"/admin/"+routes.models_folder+"traducciones-"+settings.lang.upper()
  
  routes.base_url=config.base_url+(settings.app+"/") if config.default_app!=settings.app else ""


  from modulos.ztec.zred import clienteSock,getCookie,setCookie, redirecter,normalizar,decode,Headers
  HEADERS=Headers()

  """
  for elem in settings.libs_python:
   exec("import "+elem,locals())
   pass
  """
  p["AsenZor:Detalles"]={"Versi贸n":0.1,"Autor original":"Jes煤s Abraham Zerpa Maldonado",
          "Email":"*****@*****.**","Website":"https://zerpatechnology.com.ve",
          "Actualizaciones":"AsenZor esta en su versi贸n mas reciente"}
  p["AsenZor:chat-box"]={"comentarios":1}

  p["defaultpath"]="../"+config.apps_folder+p["app"]+"/user/"

  #============================================================
  #Cuerpo del controlador
  #------------------------------------------------------------
  #Secci贸n de parametrisaje


  data=p
  data["login"]=False
  beforeAction=""
  contenido=p["model"]["global"].obtenerContenido(p["app"],"apps")[p["app"]]  
  embebe_request=[]
  errores=[]


  data["model"]["global"].p=p
  data["model"]["usuarios"].p=p

  
  try:
   for k,db in enumerate(contenido[1]):
    if contenido[1][db]["value"] in settings.dbs:
      exec("from modelos."+contenido[1][db]["value"]+"_model import model as model"+str(k),locals())    
      pass
      if "token" not in p:
       exec('data["model"][contenido[1][db]["value"]]=model'+str(k)+'(p["base_root"]+"../admin/"+routes.models_folder+contenido[1][db]["value"],p["base_root"]+"../admin/"+routes.request_folder,"user",debug=debug,ext=".py")',locals())
       data["model"][contenido[1][db]["value"]].models["global"]=data["model"]["global"]


       data["model"]["global"].models[contenido[1][db]["value"]]=data["model"][contenido[1][db]["value"]]
       
       if "Opciones" in data["model"][contenido[1][db]["value"]].db.tablas:
            
            data["opciones"][contenido[1][db]["value"]]=data["model"][contenido[1][db]["value"]].obtenerFilas("Opciones")
      else:
       exec('data["model"][contenido[1][db]["value"]]=model'+str(k)+'(p["base_root"]+"../admin/"+routes.models_folder+contenido[1][db]["value"],p["base_root"]+"../admin/"+routes.request_folder,p["token"],debug=debug,ext=".py")',locals())
       data["model"][contenido[1][db]["value"]].models["global"]=data["model"]["global"]


       data["model"]["global"].models[contenido[1][db]["value"]]=data["model"][contenido[1][db]["value"]]
       if "Opciones" in data["model"][contenido[1][db]["value"]].db.tablas:
            data["opciones"][contenido[1][db]["value"]]=data["model"][contenido[1][db]["value"]].obtenerFilas("Opciones")
       
  except Exception as e:

   if settings.mod_debug!=False:
    import traceback
    try:
      exc_type,exc_obj,exc_tb=sys.exc_info()
      fname = exc_tb.tb_frame.f_code.co_filename
      print "#===================================<br>"
      print "#No se pudo crear la base de datos"
      print "# ","".join(traceback.format_exception(exc_type,fname,exc_tb)).replace("%5Cn","<br>")+"<br>"
      print "#", e,"<br>"
      print "#==================================="
      raise

    except:
      pass
  
  
  

  cookies=getCookie()




  token2=None
  tokens={}





  

  if "token" in cookies:


   tokens=normalizar(cookies["token"])
  if "token2" in cookies:
    token2=normalizar(cookies["token2"])
   


   

  
  if settings.app in tokens and token2==None:
    
    p["token"]=tokens[settings.app]
    if p["model"]["usuarios"].isUser(token=tokens[settings.app]) and p["model"]["usuarios"].consultarLogin(tokens[settings.app]):
      p["user"]=p["model"]["usuarios"].getUser(p["token"])
      p["login"]=True
      p["isGlobalUser"]=False
    else:
      p["login"]=False
    
  elif token2!=None and p["model"]["global"].consultarLogin(token2):
    p["token"]=token2
    p["user"]=p["model"]["global"].getUser(p["token"])
    p["login"]=True
    p["isGlobalUser"]=True
  else:
    p["login"]=False
  
  for elem in data["model"]:
   if "token" in p:
    data["model"][elem].token=p["token"]
   else:
    data["model"][elem].token="user"
  data["cookies"]=cookies
  
  if p["login"]==True:
    
    miscookies=getCookie()
    import Cookie
    cookie=Cookie.SimpleCookie()  
    folder=os.getcwd().split("/")[-2]
    if "notification" not in miscookies:

          cookie["notification"]="False"
          cookie["notification"]["path"]="/"+(folder if folder!=config.host_folder else "")
          import time
          tiempo=time.gmtime()
          meses=[ "Jan",
            "Feb",
            "Mar",
            "Apr",
            "May",
            "Jun",
            "Jul",
            "Aug",
            "Sep",
            "OcT",
            "Nov",
            "Dec"]
          dias=["Mon",
            "Tue",
            "Wed",
            "Thu",
            "Fri",
            "Sat",
            "Sun"]
          
          cookie["notification"]["expires"]= str(dias[tiempo.tm_wday+1 if len(dias)<tiempo.tm_wday+1 else 0])+", "+str(tiempo.tm_mday+1)+" "+str(meses[tiempo.tm_mon])+"  "+str(tiempo.tm_hour)+":"+str(tiempo.tm_min)+":"+str(tiempo.tm_sec)+" UTC"     

          print cookie
  
  zt=ZT(config.base_root+(config.apps_folder if data["manager"]==False else config.projects_folder)+settings.app+"/admin/"+routes.models_folder+routes.traducciones_folder+"traducciones-"+settings.lang.upper(),"request/",p["token"] if "token" in p else "",ext=".py")  



  import urllib,urllib2
  temp_p={}
  for elem in p:
    if type(elem)==int:
      temp_p[elem]=p[elem]
    elif type(elem)==str:
      temp_p[elem]=p[elem]
    elif type(elem)==bool:
      temp_p[elem]=p[elem]
    elif type(elem)==float:
      temp_p[elem]=p[elem]
    elif type(elem)==dict:
      temp_p[elem]=p[elem]
    elif type(elem)==list:
      temp_p[elem]=p[elem]
    elif type(elem)==tuple:
      temp_p[elem]=p[elem]
  
  php_request={}

  #=================================================================================
  #CREAR LOS LANZADORES DEL LOS PLUGINS
  
  data["plugins"]={}
  data["plugins-hooks"]=[]
  for k,plugin in enumerate(data["model"]["main"].obtenerFilas("Plugins")):
    if plugin[1]==True:
      data["plugins"][plugin[0]]=imp.load_source("plugin"+str(k),config.base_root+config.plugins_folder+plugin[0]+"/"+"default.py").Plugin(p["model"])
      hook=data["model"]["global"].obtenerFilas("Plugins")[k][1][1]
      
      
      data["plugins"][plugin[0]].cnt(data)

      for accion in hook:
        data["plugins-hooks"].append([accion["name"].split("-")[1],accion["value"]])
      
      
  #========================================================================================

  def servir(vista,data=data,path1=None,path2=None,p=p,m=m,settings=settings,config=config,routes=routes,isglobal=None,plugins=data["plugins"]):    

    import __builtin__
    import os
    from modulos.ztec.zred import clienteSock,getCookie,setCookie, redirecter,normalizar,encode
    str=__builtin__.str

     
    data["isglobal"]=isglobal

    if p["control"]=="admin":
      if path1==__builtin__.None:
        
          path1=p["base_root"]+"../admin/"+routes.vistas_folder

      if path2==__builtin__.None:
        
          path2=p["base_root"]+"../admin/"+routes.templates_url


      

      #data["incluir"]=m["incluir"]

      m["servir"](vista,path1,path2,data=data,isglobal=isglobal,plugins=plugins)


    else:

     if vista in settings.vistas:
      if path1==__builtin__.None:
          path1=p["base_root"]+routes.vistas_folder
      if path2==__builtin__.None:
          path2=p["base_root"]+routes.templates_url
      
      #data["incluir"]=m["incluir"]

      m["servir"](vista,path1,path2,data=data,isglobal=isglobal,plugins=plugins)


  for elem in settings.get_php_controllers:
    try:

      params = urllib.urlencode({"p":temp_p})
      f=urllib2.urlopen(config.base_url+config.apps_folder+settings.app+"/user/"+routes.controller_folder+routes.http_folder+routes.php_folder+elem+".php",params)
      php_request[elem]=f.read()
      f.close()


    except Exception,e:
      print e
      errores.append([sys.exc_info(),[p["base_root"]+routes.controller_folder+"default.py",config.base_url+config.apps_folder+settings.app+"/user/"+routes.controller_folder+"http/"+elem+".php"]])
Пример #14
0
    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"
Пример #15
0
    def handleMessage(self):
        # echo message back to client
        try:
            request = ""
            global mtime
            global develop
            global clients
            global escribir
            global cliente
            global datos
            global script
            global beforeScript
            cliente = self
            print "$$", self.data
            datos = self.data

            if type(self.data) == unicode:
                if self.data[0] == "{" and self.data[-1] == "}":
                    try:
                        exec("data=" + self.data)
                        if "app" not in data:
                            data["app"] = config.default_app
                        sys.path.append(config.apps_folder + data["app"] +
                                        "/admin/")
                        import settings
                        from settings import routes as routes
                        from settings import config as settings
                        from modulos.ztec.zred import normalizar
                        global routes
                        global settings
                        global app
                        app = data["app"]

                        for elem in settings.websocket_controllers:
                            f = open(
                                config.apps_folder + data["app"] + "/user/" +
                                config.controller_folder +
                                routes.websocket_folder + elem + ".py", "r")
                            try:
                                exec(f.read())
                                if request != "":
                                    self.sendMessage(unicode(request))
                            except Exception, e:
                                import traceback
                                exc_type, exc_obj, exc_tb = sys.exc_info()
                                fname = exc_tb.tb_frame.f_code.co_filename
                                print "".join(
                                    traceback.format_exception(
                                        exc_type, fname, exc_tb))
                            f.close()

                        if data["action"] == "develop":

                            if normalizar(data["args"]) == [True]:

                                develop = self.address[1]

                                (mode, ino, dev, nlink, uid, gid, size, atime,
                                 mtime,
                                 ctime) = os.stat(config.apps_folder +
                                                  data["app"] + "/user/" +
                                                  config.controller_folder +
                                                  routes.websocket_folder +
                                                  "develop.py")
                                self.sendMessage(unicode(True))
                            elif normalizar(data["args"]) != [False]:
                                develop = None
                                self.sendMessage(unicode(False))

                        for elem in settings.custom_websocket_controllers:
                            f = open(
                                config.apps_folder + data["app"] + "/user/" +
                                config.controller_folder +
                                routes.custom_websocket_folder + elem + ".py",
                                "r")
                            try:
                                exec(f.read())
                                if request != "":
                                    self.sendMessage(unicode(request))
                            except Exception, e:
                                import traceback
                                exc_type, exc_obj, exc_tb = sys.exc_info()
                                fname = exc_tb.tb_frame.f_code.co_filename
                                print "".join(
                                    traceback.format_exception(
                                        exc_type, fname, exc_tb))
                            f.close()
                    except Exception, e:
                        import traceback
                        exc_type, exc_obj, exc_tb = sys.exc_info()
                        fname = exc_tb.tb_frame.f_code.co_filename
                        print "".join(
                            traceback.format_exception(exc_type, fname,
                                                       exc_tb))
Пример #16
0
    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)
Пример #17
0
    def __init__(self, data):

        from modulos.ztec.zred import getCookie, normalizar, renderTree
        from modulos.ztec import zu
        Controlador.__init__(self, data)
        self.data = data

        #-------------------------------------------------
        #SECCION DE CONTROL DE USUARIO
        cookies = getCookie()
        token2 = None

        tokens = {}
        folder = os.getcwd().replace("\\", "/").split("/")[-2]
        cookie = Cookie.SimpleCookie()

        if self.data["app"] != None and self.data["user"] == None:

            from settings import config as settings
            from settings import routes

            if "token" in cookies:
                tokens = normalizar(cookies["token"]) if normalizar(
                    cookies["token"]) != "" else {}
            if "token2" in cookies:
                token2 = normalizar(cookies["token2"])

            if settings.app in tokens and (token2 == None or token2 == ""):

                self.data["token"] = tokens[settings.app]

                if data["model"]["usuarios"].isUser(
                        token=tokens[settings.app]
                ) and data["model"]["usuarios"].consultarLogin(
                        tokens[settings.app]):

                    self.data["user"] = data["model"]["usuarios"].getUser(
                        self.data["token"])

                    self.data["login"] = True
                    self.data["isGlobalUser"] = False

                else:

                    self.data["login"] = False

                    cookie["token2"] = ""
                    cookie["token2"]["path"] = "/" + (
                        folder if folder != config.host_folder else "")
                    cookie["token"] = ""
                    cookie["token"]["path"] = "/" + (
                        folder if folder != config.host_folder else "")

                    print cookie

            elif token2 != None and data["model"]["global"].consultarLogin(
                    token2):
                self.data["token"] = token2
                self.data["user"] = data["model"]["global"].getUser(
                    self.data["token"])
                self.data["login"] = True
                self.data["isGlobalUser"] = True
            elif data["app"] == settings.app:

                self.data["login"] = False

                cookie["token2"] = ""
                cookie["token2"]["path"] = "/" + (
                    folder if folder != config.host_folder else "")
                cookie["token"] = ""
                cookie["token"]["path"] = "/" + (
                    folder if folder != config.host_folder else "")
                print cookie

            for elem in self.data["model"]:
                if "token" in data:
                    self.data["model"][elem].token = self.data["token"]
                else:
                    self.data["model"][elem].token = "user"
            self.data["cookies"] = cookies
            self.isglobal = True

            if "token" in data:
                user = self.data["model"]["usuarios"].getUser(
                    self.data["token"])

                if self.data["user"] == {}:
                    self.data["user"] = self.data["model"]["global"].getUser(
                        self.data["token"])
Пример #18
0
    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")()