コード例 #1
0
ファイル: toba_ei_info.php プロジェクト: emma5021/toba
 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;
 }
コード例 #2
0
ファイル: zona_objeto.php プロジェクト: emma5021/toba
 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";
 }
コード例 #3
0
ファイル: ci_principal.php プロジェクト: emma5021/toba
 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());
 }
コード例 #4
0
 /**
  * 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);
         }
     }
 }
コード例 #5
0
ファイル: ci_principal.php プロジェクト: emma5021/toba
 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);
 }
コード例 #6
0
ファイル: toba_cn_info.php プロジェクト: emma5021/toba
 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());
 }
コード例 #7
0
ファイル: ci_principal.php プロジェクト: emma5021/toba
 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);
 }
コード例 #8
0
 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;
 }