protected function get_codigo_php() { $existente = null; if (!$this->pisar_archivo && file_exists($this->archivo_absoluto())) { $existente = toba_archivo_php::codigo_sacar_tags_php(file_get_contents($this->archivo_absoluto())); } return $this->molde_php->get_codigo($existente); }
/** * Permite modificar la forma en que se grafica la pantalla, por defecto un componente sobre el otro */ function generar_layout() { $nombre = toba::proyecto()->get_path_php() . '/varios/line_endings/archivo_linux.php'; //Verifico que no tiene el CHR 13 de movida assert(strrchr(file_get_contents($nombre), 13) === false); $archivo = new toba_archivo_php($nombre); $archivo->edicion_inicio(); $codigo_actual = $archivo->contenido(); assert(strrchr($codigo_actual, 13) === false); $metodo = new toba_codigo_metodo_php('extender_objeto_js'); $metodo->set_contenido("echo \"alert('soy un alert nuevo');" . "\n" . "alert(4);\""); $nuevo_codigo = $archivo->codigo_agregar_metodo($codigo_actual, $metodo->get_codigo()); $archivo->insertar(toba_archivo_php::codigo_sacar_tags_php($nuevo_codigo)); //Verifico que el nuevo codigo que obtuve tampoco tiene CR antes de ser grabado assert(strrchr($archivo->contenido(), 13) === false); //Aca grabe el archivo $archivo->edicion_fin(); assert(strrchr(file_get_contents($nombre), 13) === false); assert(strrchr(file_get_contents($nombre), PHP_EOL) !== false); $archivo->mostrar(); echo 'El test parece que funco!, revirtiendo archivo....'; $tsvn = new toba_svn(); $tsvn->revert($nombre); }
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); } }