function get_molde_subclase() { $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre()); //-- Ini $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente'; $metodo = new toba_codigo_metodo_php('ini', array(), array($doc)); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Pre Sinc $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar"; $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__pre_sincronizacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Post Sinc $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la sincronización"; $comentarios = array($doc, "La transacción con la bd aún no fue terminada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__post_sincronizacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Pre Elim $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a la eliminación"; $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__pre_eliminacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Post Elim $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la eliminación"; $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__post_eliminacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); return $molde; }
/** * Extiende las clases de componentes de toba o de las componentes extendidas del * proyecto. * * @param toba_modelo_proyecto $proyecto * @param string $path * @param string $tipo valores posibles: 'toba' | 'proyecto' */ static function extender_componentes(toba_modelo_proyecto $proyecto, $path, $tipo = 'toba') { $id_proyecto = $proyecto->get_id(); if (is_dir($path)) { toba_manejador_archivos::eliminar_directorio($path); } toba_manejador_archivos::crear_arbol_directorios($path); $componentes = self::get_componentes_toba($proyecto); if ($tipo == 'toba') { $prefijo = ''; $clase_a_extender = 'toba_%comp%'; } else { $prefijo = 'pers_'; $clase_a_extender = $id_proyecto . '_%comp%'; } foreach ($componentes as $componente) { $nombre_clase = $id_proyecto . '_' . $prefijo . $componente; $clase = new toba_codigo_clase($nombre_clase, str_replace('%comp%', $componente, $clase_a_extender)); $clase->guardar($path . '/' . $nombre_clase . '.php'); } }
function get_molde_vacio() { $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_extendida_nombre()); //-- Ini $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente'; $metodo = new toba_codigo_metodo_php('ini', array(), array($doc)); $metodo->set_doc($doc); $molde->agregar($metodo); return $molde; }
/** * Crea un caso de test de personalización a partir de la salida de compara_foto_schema */ function opcion__crear_caso_test() { $nombre = $this->consola->dialogo_ingresar_texto('Ingrese el nombre del caso de test'); $archivo_fuente = self::get_path_comparacion(); $array = $this->salida_como_array($archivo_fuente); $clase = new toba_codigo_clase("{$nombre}", "toba_pers_caso_test"); $prop = new toba_codigo_propiedad_php('$sql', 'protected', '', $array); $metodo = new toba_codigo_metodo_php('get_descripcion', array(), array('Descripción del caso de test')); $metodo->set_contenido("return '';"); $clase->agregar($prop); $clase->agregar($metodo); $path = toba_dir() . "/proyectos/toba_testing/personalizacion/tests/{$nombre}.php"; $clase->guardar($path); $this->consola->mensaje("El caso de test se guardó en {$path}"); }
function get_molde_subclase() { $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre()); //-- Ini $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente'; $metodo = new toba_codigo_metodo_php('ini', array(), array($doc)); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Pre Sinc $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar"; $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__pre_sincronizacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //-- Post Sinc $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la sincronización"; $comentarios = array($doc, "La transacción con la bd aún no fue terminada (si es que hay)"); $metodo = new toba_codigo_metodo_php('evt__post_sincronizacion', array(), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión previo a la inserción de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__pre_insert', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión posterior a la inserción de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__post_insert', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión previo a la actualización de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__pre_update', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión posterior a la actualización de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__post_update', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión previa al borrado de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__pre_delete', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); //------------------------------------- $doc = "Ventana de extensión posterior al borrado de un registro durante una sincronización con la base"; $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos'); $metodo = new toba_codigo_metodo_php('evt__post_delete', array('$id_registro'), $comentarios); $metodo->set_doc($doc); $molde->agregar($metodo); return $molde; }
function get_molde_subclase() { $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre()); $ayuda = "Permite modificar la forma en que se grafica la pantalla, por defecto un componente sobre el otro"; $comentarios = array($ayuda); $metodo = new toba_codigo_metodo_php('generar_layout', array(), $comentarios); $metodo->set_doc($ayuda); $molde->agregar($metodo); $php = array(); $existe_previo = 0; foreach ($this->get_lista_dependencias_asociadas() as $dep) { if ($existe_previo) { $php[] = "echo '<hr />';"; } $php[] = '$this->dep(\'' . $dep . '\')->generar_html();'; $existe_previo = 1; } $molde->ultimo_elemento()->set_contenido($php); return $molde; }