コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  *  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);
 }
コード例 #3
0
ファイル: toba_tarea_pers.php プロジェクト: emma5021/toba
 /**
  * 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());
             }
         }
     }
 }
コード例 #4
0
ファイル: ci_subclases.php プロジェクト: emma5021/toba
 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');
         }
     }
 }
コード例 #5
0
ファイル: control.php プロジェクト: emma5021/toba
?>
" 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>
コード例 #6
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);
 }
コード例 #7
0
ファイル: ci_editores_toba.php プロジェクト: emma5021/toba
 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;
 }
コード例 #8
0
ファイル: toba_proyecto.php プロジェクト: emma5021/toba
 function personalizacion_activa()
 {
     if (!isset($this->personalizacion_iniciada)) {
         $this->personalizacion_iniciada = toba_personalizacion::get_personalizacion_iniciada(self::get_id());
     }
     return $this->personalizacion_iniciada;
 }