function __construct() { $archivo_ini_instalacion = toba::nucleo()->toba_instalacion_dir() . '/saml_onelogin.ini'; if (is_file($archivo_ini_instalacion)) { $parametros = parse_ini_file($archivo_ini_instalacion, true); if (isset($parametros['basicos']['atributo_usuario'])) { $this->atributo_usuario = $parametros['basicos']['atributo_usuario']; } if (isset($parametros['basicos']['permite_login_toba'])) { $this->permite_login_toba = $parametros['basicos']['permite_login_toba'] == 1; } if (isset($parametros['sp']['auth_source'])) { $this->auth_source = $parametros['sp']['auth_source']; } if (!isset($parametros['sp']['proyecto_login'])) { throw new toba_error("Debe definir proyecto_login en " . $archivo_ini_instalacion); } $this->proyecto_login = trim($parametros['sp']['proyecto_login']); //Creo configuracion del SP $this->settingsInfo = array('sp' => $this->get_sp_config()); //Agrego configuracion del IdP if (isset($parametros['sp']['idp'])) { $this->idp = $parametros['sp']['idp']; } $idp_name = 'idp:' . $this->idp; if (isset($parametros[$idp_name]) && !empty($parametros[$idp_name])) { $this->settingsInfo['idp'] = $this->get_idp_config($parametros[$idp_name], $this->idp); } } }
function __construct($server = null, $dn = null) { $this->server = $server; $this->dn = $dn; //--- Levanto la CONFIGURACION de ldap.ini $archivo_ini_instalacion = toba::nucleo()->toba_instalacion_dir() . '/ldap.ini'; if (is_file($archivo_ini_instalacion)) { $datos = parse_ini_file($archivo_ini_instalacion, true); if (isset($datos['basicos']['server'])) { $this->server = $datos['basicos']['server']; } if (isset($datos['basicos']['dn'])) { $this->dn = $datos['basicos']['dn']; } if (isset($datos['basicos']['bind_dn'])) { $this->bind_dn = $datos['basicos']['bind_dn']; } if (isset($datos['basicos']['bind_pass'])) { $this->bind_pass = $datos['basicos']['bind_pass']; } if (isset($datos['basicos']['filter'])) { $this->filter = $datos['basicos']['filter']; } } }
function __construct() { $archivo_ini_instalacion = toba::nucleo()->toba_instalacion_dir() . '/cas.ini'; if (is_file($archivo_ini_instalacion)) { $parametros = parse_ini_file($archivo_ini_instalacion, true); if (isset($parametros['basicos']['server'])) { $this->host = $parametros['basicos']['server']; } if (isset($parametros['basicos']['port'])) { $this->puerto = (int) $parametros['basicos']['port']; } if (isset($parametros['basicos']['url'])) { $this->url = $parametros['basicos']['url']; } if (isset($parametros['basicos']['certificadoCA'])) { //Certificado para verificar que el servidor es quien dice ser por phpCas. $this->archivo_certificado = $parametros['basicos']['certificadoCA']; } if (isset($parametros['basicos']['validar_cn'])) { $this->validar_cn = $parametros['basicos']['validar_cn'] == 1; } if (isset($parametros['basicos']['permite_login_toba'])) { $this->permite_login_toba = $parametros['basicos']['permite_login_toba'] == 1; } } }
function evt__validar() { $ok = $this->validar_xmls(); $certificado = file_get_contents(toba::nucleo()->toba_instalacion_dir() . "/i__desarrollo/p__toba_referencia/publica.crt"); $ok = $ok && $this->validar_certificado($certificado); if ($ok) { toba::notificacion()->agregar("Validación OK", "info"); } }
/** * Permite ejecutar items de consola * @consola_parametros [-p Proyecto] [-t id_item] * @gtk_icono instanciar.png */ function opcion__ejecutar() { $id_instancia = $this->get_id_instancia_actual(true); $id_proyecto = $this->get_id_proyecto_actual(true); $param = $this->get_parametros(); if (!isset($param['-t'])) { throw new toba_error("Es necesario definir una OPERACION. Utilice el modificador '-t'"); } $item = $param['-t']; require_once "nucleo/toba.php"; toba::nucleo()->acceso_consola($id_instancia, $id_proyecto, $item); }
function __construct() { $archivo_ini_instalacion = toba::nucleo()->toba_instalacion_dir() . '/saml.ini'; if (is_file($archivo_ini_instalacion)) { $parametros = parse_ini_file($archivo_ini_instalacion, true); if (isset($parametros['basicos']['auth_source'])) { $this->auth_source = $parametros['basicos']['auth_source']; } if (isset($parametros['basicos']['atributo_usuario'])) { $this->atributo_usuario = $parametros['basicos']['atributo_usuario']; } if (isset($parametros['basicos']['path_sp'])) { $this->path_sp = $parametros['basicos']['path_sp']; } if (isset($parametros['basicos']['permite_login_toba'])) { $this->permite_login_toba = $parametros['basicos']['permite_login_toba'] == 1; } } require_once $this->path_sp . '/lib/_autoload.php'; }
function __construct($campos = null, $providers = null, $permite_login_toba = false) { $this->campos = $campos; $this->providers = $providers; $this->permite_login_toba = false; //--- Levanto la CONFIGURACION de ldap.ini $archivo_ini_instalacion = toba::nucleo()->toba_instalacion_dir() . '/openid.ini'; if (is_file($archivo_ini_instalacion)) { $parametros = parse_ini_file($archivo_ini_instalacion, true); $sufijo = 'provider_'; foreach ($parametros as $campo => $valor) { if (substr($campo, 0, strlen($sufijo)) == $sufijo) { $valor['id'] = substr($campo, strlen($sufijo)); $this->providers[$valor['id']] = $valor; } } $sufijo = 'campo_'; foreach ($parametros as $campo => $valor) { if (substr($campo, 0, strlen($sufijo)) == $sufijo) { $this->campos[substr($campo, strlen($sufijo))] = $valor; } } if (isset($parametros['basicos']['permite_login_toba'])) { $this->permite_login_toba = $parametros['basicos']['permite_login_toba']; } if (isset($parametros['basicos']['crear_usuario'])) { $this->crear_usuario = $parametros['basicos']['crear_usuario']; if (isset($parametros['basicos']['crear_usuario_proyecto'])) { $this->crear_usuario_proyecto = $parametros['basicos']['crear_usuario_proyecto']; } $this->crear_usuario_perfil_funcional = $parametros['basicos']['crear_usuario_perfil_funcional']; } $this->campo_usuario = $parametros['basicos']['campo_usuario']; if (isset($parametros['basicos']['campo_nombre'])) { $this->campo_nombre = explode(' ', trim($parametros['basicos']['campo_nombre'])); } else { $this->campo_nombre = array($this->campo_usuario); } } }
/** * Retorna un objeto de consultas sobre un componente-toba * * @param array $id Arreglo con dos claves 'componente' y 'proyecto' * @param string $tipo Tipo de componente. Si no se brinda se busca automáticamente, aunque requiere mas toba_recursos * @param boolean $en_profundidad Los componentes cargan los info de sus dependencias * @param array $datos Datos pre-procesados que necesita el objeto-info, si no se especifica se buscan * @param boolean $refrescar_cache Indica que el objeto debe recargarse si ya se habia cargado anteriormente en el request * @param boolean $resumumidos Indica si que se realiza solo la carga basica de datos del componente * @return info_componente */ static function get_info($id, $tipo = null, $en_profundidad = true, $datos = null, $refrescar_cache = false, $resumidos = false) { $refrescar_cache = $refrescar_cache || self::$refresco_forzado; // Controla la integridad de la clave self::control_clave_valida($id); if (!isset($tipo)) { $tipo = toba_cargador::get_tipo($id); } //--- Si esta en el cache lo retorna $hash = $id['componente'] . "-" . $id['proyecto'] . "-" . $tipo; if (!isset(self::$cache_infos[$hash]) || $refrescar_cache) { if (!isset($datos)) { if (toba::nucleo()->utilizar_metadatos_compilados($id['proyecto'])) { $datos = self::get_metadatos_compilados($id, $tipo == 'toba_item'); } else { $datos = toba_cargador::instancia()->get_metadatos_extendidos($id, $tipo, null, $resumidos); } } $clase = $tipo . '_info'; $obj = new $clase($datos, $en_profundidad, $resumidos); self::$cache_infos[$hash] = $obj; } return self::$cache_infos[$hash]; }
private static function get_usuario_db($id_base, $parametros) { $usuario = $parametros['usuario']; $clave = $parametros['clave']; if (isset($parametros['conexiones_perfiles'])) { //Trata de sacarlo del archivo .ini asociado $perfiles = toba::manejador_sesiones()->get_perfiles_funcionales_activos(); if (empty($perfiles)) { $seccion = 'no_autenticado'; } else { $seccion = implode(", ", $perfiles); } $archivo = toba::nucleo()->toba_instalacion_dir() . '/' . $parametros['conexiones_perfiles']; if (!file_exists($archivo) || is_dir($archivo)) { throw new toba_error_def("La base '{$id_base}' posee una referencia a un archivo de conexiones de perfiles inexistente: '{$archivo}'"); } $usuarios = parse_ini_file($archivo, true); if (isset($usuarios[$seccion])) { if (!isset($usuarios[$seccion]['usuario'])) { throw new toba_error_def("La definición '{$seccion}' del archivo '{$archivo}' no posee el valor 'usuario'"); } if (!isset($usuarios[$seccion]['clave'])) { throw new toba_error_def("La definición '{$seccion}' del archivo '{$archivo}' no posee el valor 'clave'"); } return array($usuarios[$seccion]['usuario'], $usuarios[$seccion]['clave']); } } return array($usuario, $clave); }
/** * Ejecuta las tareas planificadas pendientes * @consola_parametros Opcional: [-v 0|1] Modo verbose */ function opcion__ejecutar_tareas() { $param = $this->get_parametros(); $manejador_interface = null; if (isset($param['-v']) && $param['-v']) { $manejador_interface = $this->consola; } else { $this->consola->set_verbose(false); } //Incluye el contexto consola require_once "nucleo/toba.php"; toba::nucleo()->iniciar_contexto_desde_consola($this->get_id_instancia_actual(true), $this->get_id_proyecto_actual(true)); //Ejecuta el planificador $planificador = new toba_planificador_tareas(); $planificador->ejecutar_pendientes($manejador_interface); }
function get_datos_smtp($nombre_config = null) { if (!isset($this->memoria['smtp']) && is_null($nombre_config)) { throw new toba_error('Debe definir la entrada "smtp" el archivo instalacion/instalacion.ini'); } $path_ini_smtp = toba::nucleo()->toba_instalacion_dir() . '/smtp.ini'; if (!file_exists($path_ini_smtp)) { throw new toba_error("No existe el archivo '{$path_ini_smtp}'"); } $ini = new toba_ini($path_ini_smtp); $conf = is_null($nombre_config) ? $this->memoria['smtp'] : $nombre_config; if (!$ini->existe_entrada($conf)) { throw new toba_error("No existe la entrada '{$conf}' el archivo '{$path_ini_smtp}'"); } return $ini->get_datos_entrada($conf); }
/** * Devuelve el nombre del archivo pdf destino con la ruta absoluta * @return string */ function get_nombre_archivo_destino() { return toba_manejador_archivos::path_a_plataforma(toba::nucleo()->toba_dir() . '/temp/' . $this->nombre_archivo); }
static function get_path_instalacion_proyecto($proyecto) { $id_instancia = toba::instancia()->get_id(); return toba::nucleo()->toba_instalacion_dir() . '/' . toba_modelo_instancia::dir_prefijo . $id_instancia . '/' . toba_modelo_instancia::prefijo_dir_proyecto . $proyecto; }
/** * Entrada a un proyecto desde la operación de inicializacion de sesion */ function iniciar_sesion_proyecto($datos_iniciales) { //Login anonimo de sesiones extendidas. if (!toba::proyecto()->get_parametro('requiere_validacion')) { $this->login_anonimo($datos_iniciales); } $this->procesar_acceso_proyecto($datos_iniciales); if (toba::nucleo()->solicitud_en_proceso()) { throw new toba_reset_nucleo('INICIAR SESION PROYECTO... recargando el nucleo.'); } }
function get_info_pms($proyecto = null) { if (is_null($proyecto)) { $proyecto = $this->id; } if (toba::nucleo()->utilizar_metadatos_compilados($proyecto)) { $rs = $this->recuperar_datos_compilados('toba_mc_gene__pms', 'get_pms'); } else { $rs = toba_proyecto_db::get_pms($proyecto); } if (empty($rs)) { throw new toba_error("No se pueden encontrar puntos de montaje en el proyecto '{$proyecto}'"); } return $rs; }