Esempio n. 1
0
 /**
  * Chequeo de conflictos. Ejecute este comando antes de importar la personalización
  */
 function opcion__conflictos()
 {
     $p = $this->get_proyecto();
     $pers = new toba_personalizacion($p, $this->consola);
     $pers->chequear_conflictos();
     toba_manejador_archivos::crear_archivo_con_datos($p->get_dir() . '/temp/conflictos_verificados.mrk', 'mark1');
 }
Esempio n. 2
0
 protected function generar_archivo()
 {
     $php = $this->get_codigo_php();
     toba_manejador_archivos::crear_archivo_con_datos($this->archivo_absoluto(), "<?php" . "\n" . $php . "\n" . "?>");
     $this->asistente->registrar_elemento_creado('archivo', $this->proyecto, $this->archivo_relativo());
     return true;
 }
Esempio n. 3
0
 protected function crear_archivo($archivo, $clase)
 {
     $php = '<?php' . salto_linea();
     $php .= salto_linea();
     $php .= "class {$clase}" . salto_linea();
     $php .= '{' . salto_linea();
     $php .= salto_linea();
     $php .= '}' . salto_linea();
     $php .= salto_linea();
     $php .= '?>';
     toba_manejador_archivos::crear_archivo_con_datos($archivo, $php);
 }
Esempio n. 4
0
 /**
  * @ignore 
  */
 function disparar_eventos()
 {
     if (isset($_POST[$this->_submit]) && $_POST[$this->_submit] != "") {
         $evento = $_POST[$this->_submit];
         //El evento estaba entre los ofrecidos?
         if (isset($this->_memoria['eventos'][$evento])) {
             $parametros = $_POST[$this->_submit . "__seleccion"];
             switch ($evento) {
                 case 'ir_a_carpeta':
                     if ($parametros == '..') {
                         //volver una carpeta
                         $seleccion = dirname($this->_dir_actual) . "/";
                     } else {
                         $seleccion = $this->_dir_actual . "/{$parametros}";
                     }
                     //--- Chequeo de seguridad
                     if (isset($this->_path_absoluto)) {
                         if (strpos(realpath($seleccion), realpath($this->_path_absoluto)) !== 0) {
                             throw new toba_error_seguridad("El path es invalido");
                         }
                     }
                     $this->_dir_actual = toba_manejador_archivos::path_a_unix(realpath($seleccion));
                     $this->reportar_evento($evento, $seleccion);
                     break;
                 case 'crear_carpeta':
                     $this->validar_nombre_carpeta($parametros);
                     $seleccion = $this->_dir_actual . "/{$parametros}";
                     toba_manejador_archivos::crear_arbol_directorios($seleccion);
                     break;
                 case 'crear_archivo':
                     $this->validar_nombre_archivo($parametros);
                     $seleccion = $this->_dir_actual . "/{$parametros}";
                     toba_manejador_archivos::crear_archivo_con_datos($seleccion, "");
                     break;
                 default:
                     $this->reportar_evento($evento, $seleccion);
             }
         }
     }
     $this->borrar_memoria_eventos_atendidos();
 }
Esempio n. 5
0
 static function crear_arbol_personalizacion($path_proyecto)
 {
     $path_pers = $path_proyecto . '/' . toba_personalizacion::dir_personalizacion;
     $path_logs = $path_pers . '/' . toba_personalizacion::dir_logs;
     $path_php = $path_pers . '/' . toba_personalizacion::dir_php;
     $path_www = $path_pers . '/' . toba_personalizacion::dir_www;
     $path_img = $path_pers . '/' . toba_personalizacion::dir_www . '/img';
     $path_css = $path_pers . '/' . toba_personalizacion::dir_www . '/css';
     $path_ext = $path_pers . '/php/extension_toba/componentes';
     $archivo_css = $path_pers . '/' . toba_personalizacion::dir_www . '/css/toba.css';
     $archivo_ini = $path_pers . '/' . toba_personalizacion::archivo_ini;
     toba_manejador_archivos::crear_arbol_directorios($path_pers);
     toba_manejador_archivos::crear_arbol_directorios($path_logs);
     toba_manejador_archivos::crear_arbol_directorios($path_php);
     toba_manejador_archivos::crear_arbol_directorios($path_www);
     toba_manejador_archivos::crear_arbol_directorios($path_img);
     toba_manejador_archivos::crear_arbol_directorios($path_css);
     toba_manejador_archivos::crear_arbol_directorios($path_ext);
     toba_manejador_archivos::crear_archivo_con_datos($archivo_ini, toba_personalizacion::iniciada . ' = no');
     toba_manejador_archivos::crear_archivo_con_datos($archivo_css, "/*\nIncluir aquí las reglas css personalizadas del proyecto\n*/");
 }
Esempio n. 6
0
 /**
  * Setea un string xml con los datos para el reporte
  * @param string $xml  String con los datos en formato xml
  * @param string $xpath_data_search  XPath al nodo que contiene los datos.Opcional
  */
 function set_xml($xml, $xpath_data_search = null)
 {
     //Creo un archivo XML  para guardar el contenido
     $nombre = toba::proyecto()->get_path_temp() . '/' . md5(uniqid(time()));
     toba_manejador_archivos::crear_archivo_con_datos($nombre, $xml);
     $this->xml_path = $nombre;
     $this->xpath_data = $xpath_data_search;
     if (is_null($xpath_data_search)) {
         //Si esto no viene no puedo crear un JRXMLDataSource, paso a modo archivo
         $this->modo_archivo = true;
         $this->limpiar_modo_archivo = true;
     }
 }
Esempio n. 7
0
 function generar_archivos_consultas()
 {
     foreach ($this->archivos_consultas as $path_relativo => $clase) {
         //Control para que no hayan metodos duplicados, se hace aca
         //porque sino se pierde el acceso al editor. El control se deberia hacer en la carga misma
         if (count($clase->get_indice_metodos_php()) != count(array_unique($clase->get_indice_metodos_php()))) {
             throw new toba_error('Existen nombres de metodos duplicados!');
         }
         $path = $this->directorio_absoluto() . $path_relativo;
         $existente = null;
         if (file_exists($path) && is_file($path)) {
             $existente = toba_archivo_php::codigo_sacar_tags_php(file_get_contents($path));
         }
         $php = $clase->generar_codigo($existente);
         toba_manejador_archivos::crear_archivo_con_datos($path, "<?php\n" . $php . "\n?>");
         $this->registrar_elemento_creado('Archivo consultas', $this->get_proyecto(), $this->id_molde_proyecto);
     }
 }
Esempio n. 8
0
 function migrar_ddl()
 {
     $this->manejador_interface->mensaje('Migrar DDL postgresql a la sintaxis de otros motores');
     $directorio = toba_modelo_nucleo::get_dir_ddl();
     $archivos = toba_manejador_archivos::get_archivos_directorio($directorio, '|.*\\.sql|');
     sort($archivos);
     //Migracion a MYSQL
     $dir = toba_modelo_nucleo::get_dir_ddl() . '/mysql/';
     foreach ($archivos as $archivo) {
         $sql = $this->get_ddl_mysql($archivo);
         toba_manejador_archivos::crear_archivo_con_datos($dir . basename($archivo), $sql);
     }
 }