/** * 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'); }
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; }
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); }
/** * @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(); }
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*/"); }
/** * 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; } }
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); } }
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); } }