Example #1
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());
             }
         }
     }
 }