Example #1
0
 function generar_layout()
 {
     //El archivo original esta en formato Windows CR/LF
     $nombre = toba::proyecto()->get_path_php() . '/varios/line_endings/archivo_windows.php';
     //Verifico que el archivo original tiene el CR
     assert(strrchr(file_get_contents($nombre), 13) !== false);
     $archivo = new toba_archivo_php($nombre);
     $archivo->edicion_inicio();
     $codigo_actual = $archivo->contenido();
     //Verifico que el codigo original no tiene CR al ser cargado en toba_archivo_php
     assert(strrchr($codigo_actual, 13) === false);
     $metodo = new toba_codigo_metodo_php('extender_objeto_js');
     $metodo->set_contenido("alert('soy un alert nuevo'); \n alert(4);");
     $nuevo_codigo = $archivo->codigo_agregar_metodo($codigo_actual, $metodo->get_codigo());
     $archivo->insertar($nuevo_codigo);
     $archivo->insertar_al_final("function cargo_algo(\$id) \n { echo 'Ingrese \$id'; \n}");
     //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);
     echo 'El test parece que funco!, revirtiendo archivo....';
     $tsvn = new toba_svn();
     $tsvn->revert($nombre);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * @todo: Falta implementar el reemplazo
  */
 function generar_codigo_js($codigo_existente = '')
 {
     $nombre_metodo_php = 'extender_objeto_js';
     $javascript = '';
     foreach ($this->elementos_js as $elemento) {
         if ($javascript) {
             $javascript .= "\n";
         }
         $javascript .= $elemento->get_codigo();
     }
     if ($javascript) {
         if (!toba_archivo_php::codigo_tiene_metodo($codigo_existente, $nombre_metodo_php)) {
             //--Crea el metodo php
             $separador = new toba_codigo_separador_php('JAVASCRIPT', null, 'grande');
             $separador->identar(1);
             $php = 'echo "' . "\n";
             $php .= $javascript;
             $php .= '";';
             $metodo = new toba_codigo_metodo_php('extender_objeto_js');
             $metodo->set_contenido($php);
             $metodo->identar(1);
             $codigo = $separador->get_codigo() . "\n" . $metodo->get_codigo();
             $this->codigo_php = toba_archivo_php::codigo_agregar_metodo($this->codigo_php, $codigo);
         } else {
             //--Agrega al metodo existente
             $metodo = new toba_codigo_metodo_php('extender_objeto_js');
             $codigo_actual = toba_archivo_php::codigo_get_metodo($this->codigo_php, $nombre_metodo_php);
             //Busca el cerrado del string de javascript
             $pos = strrpos($codigo_actual, '";');
             if ($pos !== false) {
                 $php = toba_archivo_php::codigo_quitar_identacion(substr($codigo_actual, 0, $pos), 2);
                 $php .= $javascript;
                 $php .= toba_archivo_php::codigo_quitar_identacion(substr($codigo_actual, $pos), 2);
                 $metodo->set_contenido($php);
                 $metodo->identar(1);
                 $this->codigo_php = toba_archivo_php::reemplazar_metodo($this->codigo_php, $nombre_metodo_php, $metodo->get_codigo());
             }
         }
     }
 }