function eventos_predefinidos() { $eventos = parent::eventos_predefinidos(); foreach ($this->datos['_info_eventos'] as $evt_db) { //ei_arbol($evt_db); $id = $evt_db['identificador']; $parametros = array(); $doc = array("Atrapa la interacción del usuario con el botón asociado"); if ($evt_db['sobre_fila']) { if ($evt_db['es_seleccion_multiple'] == '1') { $parametros[] = '$datos'; $doc = array('Atrapa la interacción del usuario con el cuadro mediante los checks', '@param array $datos Ids. correspondientes a las filas chequeadas.', "El formato es de tipo recordset array(array('clave1' =>'valor', 'clave2' => 'valor'), array(....))"); } else { $parametros[] = '$seleccion'; $doc[] = '@param array $seleccion Id. de la fila seleccionada'; } } else { if ($evt_db['maneja_datos']) { $parametros[] = '$datos'; $doc[] = '@param array $datos Estado del componente al momento de ejecutar el evento. El formato es el mismo que en la carga de la configuración'; } } $eventos[$id]['parametros'] = $parametros; $eventos[$id]['comentarios'] = $doc; $eventos[$id]['info'] = $evt_db; } //ei_arbol($eventos); return $eventos; }
function generar_html_barra_vinculos() { //Acceso al EDITOR PHP if ($this->editable_info['subclase'] && $this->editable_info['subclase_archivo']) { $componente = $this->get_editable(); // Apertura del archivo if (!admin_util::existe_archivo_subclase($this->editable_info['subclase_archivo'])) { // Ir al editor $ver = toba_componente_info::get_utileria_editor_ver_php(array('proyecto' => $componente[0], 'componente' => $componente[1]), null, 'nucleo/php_inexistente.gif'); echo "<a href='" . $ver['vinculo'] . "'>" . toba_recurso::imagen($ver['imagen'], null, null, $ver['ayuda']) . "</a>\n"; } else { // Ir al editor $ver = toba_componente_info::get_utileria_editor_ver_php(array('proyecto' => $componente[0], 'componente' => $componente[1])); echo "<a href='" . $ver['vinculo'] . "'>" . toba_recurso::imagen($ver['imagen'], null, null, $ver['ayuda']) . "</a>\n"; // Abrir el archivo $abrir = toba_componente_info::get_utileria_editor_abrir_php(array('proyecto' => $componente[0], 'componente' => $componente[1])); echo '<a href="' . $abrir['vinculo'] . '">' . toba_recurso::imagen($abrir['imagen'], null, null, $abrir['ayuda']) . "</a>\n"; } } parent::generar_html_barra_vinculos(); // EDITOR $editor_item = $this->editable_info['clase_editor']; $editor_proyecto = $this->editable_info['clase_editor_proyecto']; $vinculo = toba::vinculador()->get_url($editor_proyecto, $editor_item, array(), array('zona' => true, 'menu' => true)); echo "<a href='{$vinculo}'>" . toba_recurso::imagen_toba('objetos/editar.gif', true, null, null, 'Editar el componente') . "</a>\n"; }
function conf__prop_basicas(toba_ei_formulario $form) { $param_editor = toba_componente_info::get_utileria_editor_parametros(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), 'ap'); $eliminar_extension = !isset($this->id_objeto); //Si es alta no se puede extender if ($this->s__ap_php_db) { // Hay extension $form->evento('ver_php')->vinculo()->set_parametros($param_editor); if ($this->s__ap_php_archivo) { // El archivo de la extension existe $abrir = toba_componente_info::get_utileria_editor_abrir_php(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), 'ap'); $form->set_js_abrir($abrir['js']); $eliminar_extension = true; } else { $form->evento('ver_php')->set_imagen('nucleo/php_ap_inexistente.gif'); $form->eliminar_evento('abrir_php'); $form->evento('extender_ap')->vinculo()->set_parametros($param_editor); } } else { $form->eliminar_evento('ver_php'); $form->eliminar_evento('abrir_php'); $form->evento('extender_ap')->vinculo()->set_parametros($param_editor); } if ($eliminar_extension) { $form->eliminar_evento('extender_ap'); } $form->ef('ap_archivo')->set_iconos_utilerias(admin_util::get_ef_popup_utileria_php()); $form->set_datos($this->get_entidad()->tabla('prop_basicas')->get()); }
/** * La clonacion del DR puede implicar clonar su AP */ protected function clonar_subclase($dr, $dir_subclases, $proyecto_dest) { parent::clonar_subclase($dr, $dir_subclases, $proyecto_dest); if (isset($this->datos['_info_estructura']['ap_archivo'])) { $archivo = $this->datos['_info_estructura']['ap_archivo']; $nuevo_archivo = $dir_subclases . "/" . basename($archivo); $id_pm_origen = $this->get_punto_montaje(); $id_pm_destino = $dr->tabla('base')->get_fila_columna(0, 'punto_montaje'); //Busco los directorios de copia utilizando los puntos de montaje $path_origen = $this->get_path_clonacion($id_pm_origen, $this->proyecto); $path_destino = $this->get_path_clonacion($id_pm_destino, $proyecto_dest, $path_origen); $dr->tabla('prop_basicas')->set_fila_columna_valor(0, 'ap_archivo', $nuevo_archivo); //--- Si el dir. destino no existe, se lo crea if (!file_exists($path_destino . $dir_subclases)) { toba_manejador_archivos::crear_arbol_directorios($path_destino . $dir_subclases); } if (!copy($path_origen . $archivo, $path_destino . $nuevo_archivo)) { throw new toba_error('No es posible copiar el archivo desde ' . $path_origen . $archivo . ' hacia ' . $path_destino . $nuevo_archivo); } } }
function conf__prop_basicas($form) { $datos = $this->get_entidad()->tabla('prop_basicas')->get(); if (!isset($datos['fuente_datos'])) { $datos['fuente_datos_proyecto'] = toba_editor::get_proyecto_cargado(); $datos['fuente_datos'] = toba_info_editores::get_fuente_datos_defecto(toba_editor::get_proyecto_cargado()); } // Hay extension $param_editor = toba_componente_info::get_utileria_editor_parametros(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), 'ap'); if (isset($datos['punto_montaje'])) { $param_editor['punto_montaje'] = $datos['punto_montaje']; } $eliminar_extension = !isset($this->id_objeto); //Si es alta no se puede extender if ($this->s__ap_php_db) { $form->evento('ver_php')->vinculo()->set_parametros($param_editor); if ($this->s__ap_php_archivo) { // El archivo de la extension existe $abrir = toba_componente_info::get_utileria_editor_abrir_php(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), 'ap'); $form->set_js_abrir($abrir['js']); $eliminar_extension = true; } else { $form->evento('ver_php')->set_imagen('nucleo/php_ap_inexistente.gif'); $form->eliminar_evento('abrir_php'); $form->evento('extender_ap')->vinculo()->set_parametros($param_editor); } } else { $form->eliminar_evento('ver_php'); $form->eliminar_evento('abrir_php'); $form->evento('extender_ap')->vinculo()->set_parametros($param_editor); } if ($eliminar_extension) { $form->eliminar_evento('extender_ap'); } $form->set_datos($datos); }
function get_utilerias() { $iconos = array(); $iconos[] = array('imagen' => toba_recurso::imagen_toba("objetos/objeto_nuevo.gif", false), 'ayuda' => "Crear un componente asociado al controlador", 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), "1000247", array('destino_tipo' => 'toba_cn', 'destino_proyecto' => $this->proyecto, 'destino_id' => $this->id), array('menu' => true, 'celda_memoria' => 'central')), 'plegado' => true); return array_merge($iconos, parent::get_utilerias()); }
function conf__pantallas(toba_ei_formulario $obj) { $hay_personalizacion = toba_personalizacion::get_personalizacion_iniciada(toba_editor::get_proyecto_cargado()); $pm_personalizacion = $this->get_pm_personalizacion(); $id_actual = $this->get_pant_actual(); $datos = $this->get_entidad()->tabla('pantallas')->get(); if (!isset($this->s__pantalla_php_db[$id_actual])) { //No tiene archivo de subclase $obj->eliminar_evento('ver_php'); $obj->eliminar_evento('abrir_php'); //-- Debo pasarle el id de la pantalla a extender if ($hay_personalizacion) { $obj->eliminar_evento('extender'); $datos['punto_montaje'] = $pm_personalizacion; if ($obj->existe_evento('personalizar')) { $obj->evento('personalizar')->vinculo()->agregar_parametro('subcomponente', $datos['identificador']); } } else { $obj->evento('extender')->vinculo()->agregar_parametro('subcomponente', $datos['identificador']); $obj->eliminar_evento('personalizar'); } } else { //Existe archivo de subclase $obj->eliminar_evento('extender'); if ($hay_personalizacion) { if ($obj->existe_evento('personalizar')) { if ($pm_personalizacion == $datos['punto_montaje']) { //Ya fue personalizado $obj->eliminar_evento('personalizar'); } else { $obj->evento('personalizar')->vinculo()->agregar_parametro('subcomponente', $datos['identificador']); $obj->evento('personalizar')->vinculo()->agregar_parametro('pm_pers', $pm_personalizacion); $obj->evento('personalizar')->vinculo()->agregar_parametro('subclase_pers', $datos['subclase']); } } } else { $obj->eliminar_evento('personalizar'); } // Link al editor $parametros = toba_componente_info::get_utileria_editor_parametros(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), $this->s__pantalla_php_db[$id_actual]); $obj->evento('ver_php')->vinculo()->set_parametros($parametros); if (isset($this->s__pantalla_php_archivo[$id_actual])) { // Apertura de archivos $abrir = toba_componente_info::get_utileria_editor_abrir_php(array('proyecto' => $this->id_objeto['proyecto'], 'componente' => $this->id_objeto['objeto']), $this->s__pantalla_php_db[$id_actual]); $obj->set_js_abrir($abrir['js']); } else { $obj->evento('ver_php')->set_imagen('nucleo/php_inexistente.gif'); $obj->eliminar_evento('abrir_php'); } } $obj->set_datos($datos); }
function get_utilerias() { $param_editores = array(apex_hilo_qs_zona => $this->proyecto . apex_qs_separador . $this->id, "pantalla" => $this->datos['identificador']); $iconos = array(); $iconos[] = array('imagen' => toba_recurso::imagen_toba("objetos/objeto_nuevo.gif", false), 'ayuda' => "Crear un objeto asociado a la pantalla", 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), "1000247", array('destino_tipo' => 'toba_ci_pantalla', 'destino_proyecto' => $this->proyecto, 'destino_id' => $this->id, 'destino_pantalla' => $this->datos['pantalla']), array('menu' => true, 'celda_memoria' => 'central')), 'plegado' => true); if ($this->datos['subclase'] && $this->datos['subclase_archivo']) { // Hay PHP asociado if (admin_util::existe_archivo_subclase($this->datos['subclase_archivo'], $this->datos['punto_montaje'])) { $iconos[] = toba_componente_info::get_utileria_editor_ver_php(array('proyecto' => $this->proyecto, 'componente' => $this->id), $this->datos['identificador']); $iconos[] = toba_componente_info::get_utileria_editor_abrir_php(array('proyecto' => $this->proyecto, 'componente' => $this->id), $this->datos['identificador']); } else { $iconos[] = toba_componente_info::get_utileria_editor_ver_php(array('proyecto' => $this->proyecto, 'componente' => $this->id), $this->datos['identificador'], 'nucleo/php_inexistente.gif', false); } } $iconos[] = array('imagen' => toba_recurso::imagen_toba("objetos/editar.gif", false), 'ayuda' => "Editar esta pantalla", 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), "1000249", $param_editores, array('menu' => true, 'celda_memoria' => 'central')), 'plegado' => false); return $iconos; }