/** * Retorna una fuente de datos * * @param string $id Id. de la fuente * @param string $proyecto Proyecto al que pertenece la fuente * @return toba_fuente_datos */ function get_fuente($id, $proyecto = null) { if (!isset($proyecto)) { $proyecto = toba::proyecto()->get_id(); } if (!isset($id)) { $id = $this->get_fuente_predeterminada(true, $proyecto); } if (!isset($this->fuentes[$id])) { $parametros = toba::proyecto()->get_info_fuente_datos($id, $proyecto); $clase = isset($parametros['subclase_nombre']) ? $parametros['subclase_nombre'] : 'toba_fuente_datos'; if (isset($parametros['subclase_archivo'])) { $pm = $parametros['punto_montaje']; if (toba::proyecto()->get_id() != $proyecto) { //Si la fuente esta extendida, puede necesitar otros archivos del proyecto, agregar el include path $path_proyecto = toba::instancia()->get_path_proyecto($proyecto) . '/php'; agregar_dir_include_path($path_proyecto); } $archivo = $parametros['subclase_archivo']; toba_cargador::cargar_clase_archivo($pm, $archivo, $proyecto); } $this->fuentes[$id] = new $clase($parametros); } return $this->fuentes[$id]; }
function procesar() { $accion = $this->info['basica']['item_act_accion_script']; if (trim($accion) != '') { toba_cargador::cargar_clase_archivo($this->info['basica']['punto_montaje'], $this->info['basica']['item_act_accion_script'], $this->info['basica']['item_proyecto']); } else { throw new toba_error_def("La solicitud_accion requiere la definiciĆ³n de un archivo php plano para ejecutar"); } }
protected function get_subclase_usuario_proyecto() { $subclase = 'toba_usuario'; $archivo = toba::proyecto()->get_parametro('usuario_subclase_archivo'); $pm = toba::proyecto()->get_parametro('pm_usuario'); if (trim($archivo) != '') { toba_cargador::cargar_clase_archivo($pm, $archivo, toba::proyecto()->get_id()); $subclase = toba::proyecto()->get_parametro('usuario_subclase'); } return $subclase; }
protected static function cargar_clase(&$datos, $id_proyecto) { toba_cargador::cargar_clase_archivo($datos['_info']['punto_montaje'], $datos['_info']['subclase_archivo'], $id_proyecto); }
private function cargar_clase_usuario() { $archivo = toba::proyecto()->get_parametro('usuario_subclase_archivo'); $subclase = toba::proyecto()->get_parametro('usuario_subclase'); if (trim($archivo) != '' && trim($subclase) != '') { $pm = toba::proyecto()->get_parametro('pm_usuario'); toba_cargador::cargar_clase_archivo($pm, $archivo, toba::proyecto()->get_id()); } }