コード例 #1
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;
 }