protected function registrar_autoloaders_proyecto() { $punto_php = toba::puntos_montaje()->get(toba_modelo_pms::pm_php); $punto_php->registrar_autoload(); if (toba::proyecto()->es_personalizable()) { $punto_pers = toba::puntos_montaje()->get(toba_modelo_pms::pm_pers); $punto_pers->registrar_autoload(); } }
/** * Retorna una referenca al Adm.Persistencia de la relación * @return toba_ap_relacion_db */ function persistidor() { if (!isset($this->_persistidor)) { //Se incluye el archivo $particular = $this->_info_estructura['ap'] == 3; if ($particular && isset($this->_info_estructura['ap_archivo']) && isset($this->_info_estructura['ap_clase'])) { $clase = $this->_info_estructura['ap_clase']; if (!class_exists($clase)) { $punto = toba::puntos_montaje()->get_por_id($this->_info_estructura['punto_montaje']); $path = $punto->get_path_absoluto() . '/' . $this->_info_estructura['ap_archivo']; require_once $path; } } else { $clase = "toba_ap_relacion_db"; } $this->_persistidor = new $clase($this); if ($this->_info_estructura['sinc_susp_constraints']) { $this->_persistidor->retrasar_constraints(); } $this->_persistidor->set_lock_optimista($this->_info_estructura['sinc_lock_optimista']); } return $this->_persistidor; }
function get_listado() { return toba::puntos_montaje()->get_puntos_montaje_array(); }
protected function crear_zona() { $clase = 'toba_zona'; if (trim($this->info['basica']['item_zona']) != "") { //--- Tiene subclase? if (isset($this->info['basica']['item_zona_archivo'])) { $punto = toba::puntos_montaje()->get_por_id($this->info['basica']['zona_punto_montaje']); $path = $punto->get_path_absoluto() . '/' . $this->info['basica']['item_zona_archivo']; require_once $path; $clase = $this->info['basica']['item_zona']; } //--- Tiene consulta? $consulta = array('archivo' => $this->info['basica']['zona_cons_archivo'], 'clase' => $this->info['basica']['zona_cons_clase'], 'metodo' => $this->info['basica']['zona_cons_metodo']); $this->zona = new $clase($this->info['basica']['item_zona'], $consulta); } }
static function cargar_clase_archivo($pm, $clase_archivo, $id_proyecto) { $path = ''; if (!is_null($pm)) { $punto = toba::puntos_montaje()->get_instancia_pm_proyecto($id_proyecto, $pm); $path = $punto->get_path_absoluto() . '/'; toba::logger()->info("PUNTO MONTAJE: se cargó la clase {$clase_archivo} del punto de montaje {$punto->get_etiqueta()}. El path del mismo es {$punto->get_path_absoluto()}"); } require_once $path . $clase_archivo; }
/** * @ignore */ protected function ef_metodo_carga_php($id_ef, $parametros, $maestros) { // Fix. En la descripci?n de un popup $maestros llega con el valor directamente, // no como un arreglo con el valor como lo espera call_user_func $maestros = !is_array($maestros) ? array($maestros) : $maestros; if (isset($parametros['carga_include']) || isset($parametros['carga_clase'])) { if (!class_exists($parametros['carga_clase']) && isset($parametros['carga_include']) && $parametros['carga_include'] != '') { $pm = toba::puntos_montaje()->get_por_id($parametros['punto_montaje']); $path = $pm->get_path_absoluto() . '/' . $parametros['carga_include']; require_once $path; } $instanciable = isset($parametros['instanciable']) && $parametros['instanciable'] == '1'; if ($instanciable) { $obj = new $parametros['carga_clase'](); $clase = $obj; } else { $clase = $parametros['carga_clase']; } if (!method_exists($clase, $parametros['carga_metodo'])) { throw new toba_error_def("ERROR en la carga del ef {$id_ef}. No existe el método '{$parametros['carga_metodo']}' de la clase '{$parametros['carga_clase']}'"); } $metodo = array($clase, $parametros['carga_metodo']); return call_user_func_array($metodo, $maestros); } else { //--- Es un metodo del CI contenedor if (!method_exists($this->_controlador->controlador(), $parametros['carga_metodo'])) { $clase = get_class($this->_controlador->controlador()); throw new toba_error_def("ERROR en la carga del ef {$id_ef}. No existe el método '{$parametros['carga_metodo']}' en la clase '{$clase}'"); } $dato = call_user_func_array(array($this->_controlador->controlador(), $parametros['carga_metodo']), $maestros); return $dato; } }
/** * Retorna una clase de consultas php declarada en el editor * @param string $clase Nombre de la clase */ static function consulta_php($clase) { if (!isset(self::$consultas_php[$clase])) { $datos = toba::proyecto()->get_info_consulta_php($clase); if ($datos['archivo']) { if (isset($datos['punto_montaje']) && toba::puntos_montaje()->existe_por_id($datos['punto_montaje'])) { $path_pm = toba::puntos_montaje()->get_por_id($datos['punto_montaje'])->get_path_absoluto(); $archivo = $path_pm . '/' . $datos['archivo']; } else { $archivo = $datos['archivo']; } require_once $archivo; if ($datos['archivo_clase'] && $datos['archivo_clase'] != '') { $clase_php = $datos['archivo_clase']; } else { $clase_php = $clase; } self::$consultas_php[$clase] = new $clase_php(); } else { throw new toba_error("La consulta_php solicitada no posee un archivo asociado"); } } return self::$consultas_php[$clase]; }
/** * Retorna la referencia a la pantalla a graficar * Una vez que se invoca este metodo se fija la pantalla para el resto del pedido de pagina * Es importante relegar esta desicion en caso de querer variar la pantalla a mostrar dinamicamente * @return toba_ei_pantalla */ function pantalla() { if (!isset($this->_pantalla_servicio)) { $this->_log->debug($this->get_txt() . "Pantalla de servicio: '{$this->_pantalla_id_servicio}'", 'toba'); $id_pantalla = $this->get_id_pantalla(); if (!isset($id_pantalla)) { //Se esta consumiendo la pantalla antes de la configuracion, //y sin un set_pantalla de por medio: utilizo la misma pantalla de los eventos. $id_pantalla = $this->_pantalla_id_eventos; } $info_pantalla = $this->get_info_pantalla($id_pantalla); $obj_pantalla = $this->get_info_objetos_asoc_pantalla($id_pantalla); $evt_pantalla = $this->get_info_eventos_pantalla($id_pantalla); $info = array('_info' => $this->_info, '_info_ci' => $this->_info_ci, '_info_eventos' => $this->_info_eventos, '_info_ci_me_pantalla' => $this->_info_ci_me_pantalla); $info['_info_pantalla'] = $info_pantalla; $info['_objetos_pantalla'] = $obj_pantalla; $info['_eventos_pantalla'] = $evt_pantalla; $info['_const_instancia_numero'] = 0; if (isset($info_pantalla['subclase_archivo'])) { $pm = toba::puntos_montaje()->get_por_id($info_pantalla['punto_montaje']); $path = $pm->get_path_absoluto() . '/' . $info_pantalla['subclase_archivo']; require_once $path; } $clase = 'toba_ei_pantalla'; if (isset($info_pantalla['subclase'])) { $clase = $info_pantalla['subclase']; } $this->_pantalla_servicio = new $clase($info, $this->_submit, $this->objeto_js); $this->_pantalla_servicio->set_controlador($this, $id_pantalla); $this->_pantalla_servicio->pre_configurar(); //Se le pasan las notificaciones foreach ($this->_notificaciones as $notificacion) { $this->_pantalla_servicio->agregar_notificacion($notificacion['mensaje'], $notificacion['tipo']); } $this->_notificaciones = array(); } return $this->_pantalla_servicio; }
/** * Retorna el admin. de persistencia que asiste a este objeto durante la sincronización * @return toba_ap_tabla_db */ function persistidor() { if (!isset($this->_persistidor)) { if ($this->_info_estructura['ap'] == '0') { $clase = $this->_info_estructura['ap_sub_clase']; $include = $this->_info_estructura['ap_sub_clase_archivo']; if (trim($clase) == '') { throw new toba_error_def($this->get_txt() . "Error en la definicion, falta definir la subclase"); } } else { $clase = 'toba_' . $this->_info_estructura['ap_clase']; $include = $this->_info_estructura['ap_clase_archivo']; } if (!class_exists($clase)) { $punto = toba::puntos_montaje()->get_por_id($this->_info_estructura['punto_montaje']); $path = $punto->get_path_absoluto() . '/' . $include; require_once $path; } $this->_persistidor = new $clase($this); if ($this->_info_estructura['ap_modificar_claves']) { $this->_persistidor->activar_modificacion_clave(); } } return $this->_persistidor; }
/** * @return toba_tp_normal */ function tipo_pagina() { if (!isset($this->tipo_pagina)) { //Carga el TP a demanda if (!class_exists($this->info['basica']['tipo_pagina_clase'])) { if ($this->info['basica']['tipo_pagina_archivo']) { $punto = toba::puntos_montaje()->get_por_id($this->info['basica']['tipo_pagina_punto_montaje']); $path = $punto->get_path_absoluto() . '/' . $this->info['basica']['tipo_pagina_archivo']; require_once $path; } } $this->tipo_pagina = new $this->info['basica']['tipo_pagina_clase'](); } return $this->tipo_pagina; }