/** * @return toba_registro_conflictos */ static function get_registro_conflictos() { if (!isset(self::$registro_conflictos)) { self::$registro_conflictos = new toba_registro_conflictos(); } return self::$registro_conflictos; }
/** * Importa la personalización que está en el directorio personalización del proyecto * @consola_parametros Opcional: [-t] Ejecuta toda la importacion dentro de una transaccion */ function opcion__importar() { $p = $this->get_proyecto(); //Verificar que se haya ejecutado si o si la opcion de conflicto $archivo = $p->get_dir() . '/temp/conflictos_verificados.mrk'; $verifico_conflictos = toba_manejador_archivos::existe_archivo_en_path($archivo); if (!$verifico_conflictos) { $this->consola->mensaje('Antes de realizar la importación debe ejecutar el comando \'conflictos\''); return; } $this->consola->mensaje('Importando la personalizacion...'); $pers = new toba_personalizacion($p, $this->consola); //Verifico si la ejecucion se quiere hacer dentro de una transaccion. $param = $this->get_parametros(); if (isset($param['-t'])) { $pers->set_ejecucion_con_transaccion_global(); } //Aplico la personalizacion $pers->aplicar(); $this->consola->mensaje('Proceso Finalizado'); //Elimino la marca de conflictos para que no pueda volver a ejecutarse la importacion. unlink($archivo); }
/** * Registra todos los toba_registro_conflictos que hay en esta tarea a los toba_registro_conflictos de * la personalización */ function registrar_conflictos($save_to_log = true) { $reg_conflictos = toba_personalizacion::get_registro_conflictos(); $this->armar_datos(); foreach ($this->datos as $registro) { $conf_array = $registro->get_conflictos(); if ($save_to_log && !empty($conf_array)) { foreach ($conf_array as $conf) { $conf->set_descripcion_componente($this->descripcion_actual); //Agregar en este punto la descripcion del componente obtenido de la tarea. $reg_conflictos->add_conflicto($conf, $this->item_plan->get_path()); } } } }
function ini() { $datos = toba::zona()->get_info(); $this->recuperar_tipo_elemento(); $this->recuperar_id_entidad($datos); $info = $this->get_metaclase(); if (!isset($this->s__modo_pers)) { $hay_personalizacion = toba_personalizacion::get_personalizacion_iniciada(toba_editor::get_proyecto_cargado()); $this->s__subclase_orig = toba::memoria()->get_parametro('subclase_pers'); //Indica el nombre de la clase que se personaliza $this->s__modo_pers = $hay_personalizacion && !is_null($this->s__subclase_orig); } if (!$this->s__modo_pers) { if ($info->get_subclase_archivo() != '' && $info->get_subclase_nombre() != '') { $this->s__path_relativo = dirname($info->get_subclase_archivo()); if ($this->s__path_relativo == '.') { $this->s__path_relativo = ''; } $this->s__datos_nombre = array('nombre' => basename($info->get_subclase_archivo(), '.php')); $this->set_pantalla('pant_generacion'); } } }
?> " id='imagen_manejo_frame' border='0' style='margin: 0px 0px 0px 0px;' alt='' /></a> </td> <?php echo "<td class='listado-barra-superior-tabi' title='Recarga el Proyecto en el Editor'>"; $js_cambio = "onclick='document.cambiar_proyecto.submit()'"; echo "<a href='#' {$js_cambio}>"; echo toba_recurso::imagen_toba('refrescar.png', true); echo '</a>'; echo '</td>'; echo "<td class='listado-barra-superior-tabi2'>"; $actual = toba_editor::get_proyecto_cargado(); $instancia = toba_modelo_catalogo::instanciacion()->get_instancia(toba_editor::get_id_instancia_activa(), new toba_mock_proceso_gui()); $proyectos = array(); foreach ($instancia->get_lista_proyectos_vinculados() as $proy) { $extra = toba_personalizacion::get_personalizacion_iniciada($proy) ? " (personalizado) " : ""; $proyectos[$proy] = $proy . $extra; } $js_cambio = "onchange='document.cambiar_proyecto.submit()'"; echo toba_form::select('admin_proyecto', $actual, $proyectos, 'ef-combo', $js_cambio); echo '</td>'; echo "<td class='listado-barra-superior-tabi'>"; $img = toba_recurso::imagen_toba('instanciar.png', true); echo "<a title='Previsualiza el proyecto' href='javascript: top.frame_control.editor.previsualizar()'>{$img}</a>"; echo '</td>'; ?> <td><?php echo gif_nulo(10, 1); ?> </td>
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 conf__base($form) { if (!in_array($this->get_clase_actual(), toba_info_editores::get_clases_con_fuente_datos())) { //Oculta la fuente $form->desactivar_efs(array('fuente_datos')); } $reg = $this->get_entidad()->tabla('base')->get(); $es_alta = !isset($this->id_objeto); $hay_archivo_subclase = isset($reg['subclase_archivo']) || isset($reg['subclase']); $hay_personalizacion = toba_personalizacion::get_personalizacion_iniciada(toba_editor::get_proyecto_cargado()); $pm_personalizacion = $this->get_pm_personalizacion(); if ($es_alta) { //--- Si es un nuevo objeto, se sugiere un nombre para el mismo $nombre = ''; if (isset($this->controlador) && method_exists($this->controlador, 'get_nombre_destino') && $this->controlador->hay_destino()) { $nombre_dest = $this->controlador->get_nombre_destino(); if ($this->controlador->destino_es_item()) { $nombre = $nombre_dest; } else { $nombre = "{$nombre_dest} - " . $this->controlador->get_nombre_rol(); } } else { $nombre = $this->get_abreviacion_clase_actual(); } $reg = array(); $reg['nombre'] = $nombre; } if ($hay_personalizacion) { $form->eliminar_evento('extender'); if (!$hay_archivo_subclase) { $reg['punto_montaje'] = $pm_personalizacion; } elseif ($form->existe_evento('personalizar')) { //Aun sin personalizar if ($reg['punto_montaje'] == $pm_personalizacion) { //Ya esta personalizado $form->eliminar_evento('personalizar'); } else { $form->evento('personalizar')->vinculo()->agregar_parametro('pm_pers', $pm_personalizacion); $form->evento('personalizar')->vinculo()->agregar_parametro('subclase_pers', $reg['subclase']); } } } else { $form->eliminar_evento('personalizar'); if ($hay_archivo_subclase || $es_alta) { $form->eliminar_evento('extender'); } } return $reg; }
function personalizacion_activa() { if (!isset($this->personalizacion_iniciada)) { $this->personalizacion_iniciada = toba_personalizacion::get_personalizacion_iniciada(self::get_id()); } return $this->personalizacion_iniciada; }