public function sFNCAccesoValidar() { $this->iError = 0; $this->sMensajeError = ""; $arrSalida = array(); $arrDatosPersona = array(); $arrDatosRol = array(); //checa el acceso del usuario $arrSalida = $this->FNCProcesoValidacionEjecutar(); $iNoError = $arrSalida['noError']; $sMsjError = $arrSalida['mensaje']; //$this->iError=0; if ($iNoError == 0) { require $_SERVER['DOCUMENT_ROOT'] . "/dce/evaluacionCompetencias/conexionBD.php"; $sModulo = utf8_decode('Gestión en Dependencia de Evaluación por Competencia'); $objProc = new clsProcedimientos("ecmUsuarioAccesoValidar"); $objProc->FNCAgregaParametrosEntrada($this->sUsuario, 1); $objProc->FNCAgregaParametrosEntrada($sModulo, 1); $objProc->FNCAgregaParametroSalida("idPersona", "INT"); $objProc->FNCAgregaParametroSalida("nombre", "VARCHAR", 30); $objProc->FNCAgregaParametroSalida("paterno", "VARCHAR", 30); $objProc->FNCAgregaParametroSalida("materno", "VARCHAR", 30); $objProc->FNCAgregaParametroSalida("noError", "INT"); $objProc->FNCAgregaParametroSalida("mensaje", "VARCHAR", 255); $arrSalidaUsr = array(); $arrSalidaUsr = $objProc->FNCObtieneResultado(); //echo $objProc->getCadenaQuery(); die(); // Array[0] --> idPersona, nombre, paterno, materno, noError, mensaje if (empty($arrSalidaUsr[0]['noError'])) { $arrSalidaUsr[0]['noError'] = 0; } $iNoError = $arrSalidaUsr[0]['noError']; if ($iNoError > 0) { $sMsjError = $arrSalidaUsr[0]['mensaje']; } else { $arrSalida['rol0'] = 'Responsable de Gestión de Evaluación por Competencia'; // Crea la sesión //session_start(); $_SESSION['VS_TiempoSesionEvalCompetencias'] = time(); $_SESSION['VS_PersonaID'] = $arrSalidaUsr[0]['idPersona']; $_SESSION['VS_PersonaNombre'] = utf8_encode($arrSalidaUsr[0]['nombre'] . ' ' . $arrSalidaUsr[0]['paterno'] . ' ' . $arrSalidaUsr[0]['materno']); $_SESSION['VS_Usuario'] = $this->sUsuario; $_SESSION['VS_Rol'] = $arrSalida['rol0']; $arrSalida['roles'] = 1; /*if($i==1) $_SESSION['VS_Rol'] = $arrSalida['rol0']; else $_SESSION['VS_Rol'] = 'por definir'; $VS_Rol = */ // TODO: Simplificar consulta dep y prog. (?) Checar si no afecta los DISTINCT en los resultados devueltos $objConsDependencia = new clsDependencia_ProgramaEducativoVersion_Responsable(); $objConsDependencia->setidPersona($_SESSION['VS_PersonaID']); $objConsDependencia->setqueryDistinct(true); $objConsDependencia->setqueryCampos('idDependencia, dependencia'); $objConsDependencia->setOrdenQuery("dependencia"); $dependenciasPersona = $objConsDependencia->getDatos(false); $_SESSION['numDependencias'] = sizeof($dependenciasPersona); if ($_SESSION['numDependencias'] == 0) { // No hay dependencias $iNoError = 3; $sMsjError = 'Ocurrió un problema al consultar las dependencias. Intente nuevamente.'; } else { // Hay dependencia(s) $idsDependenciasPersona = array(); foreach ($dependenciasPersona as $dP) { $idsDependenciasPersona[] = $dP['idDependencia']; } // Preparar consulta de programas $objConsPrograma = new clsDependencia_ProgramaEducativoVersion_Responsable(); $objConsPrograma->setidPersona($_SESSION['VS_PersonaID']); $objConsPrograma->setqueryDistinct(true); $objConsPrograma->setqueryCampos('idDependencia, idProgramaEducativoVersion, ProgramaEducativoVersionAnio'); $objConsPrograma->setOrdenQuery("ProgramaEducativoVersionAnio"); $objConsPrograma->setidDependencia($idsDependenciasPersona); $programasPersona = $objConsPrograma->getDatos(false); $_SESSION['numProgramas'] = sizeof($programasPersona); if ($_SESSION['numProgramas'] == 0) { // No hay programas $iNoError = 4; $sMsjError = 'Ocurrió un problema al consultar los programas educativos. Intente nuevamente.'; } else { // Publicar datos $_SESSION['dependencias'] = array(); // Estructurar dependencias en arreglo foreach ($dependenciasPersona as $dP) { $_SESSION['dependencias'][$dP['idDependencia']]['idDependencia'] = $dP['idDependencia']; $_SESSION['dependencias'][$dP['idDependencia']]['nombre'] = utf8_encode($dP['dependencia']); $_SESSION['dependencias'][$dP['idDependencia']]['programas'] = array(); } // Ubicar los programas en la dependencia correspondiente foreach ($programasPersona as $pP) { $_SESSION['dependencias'][$pP['idDependencia']]['programas'][$pP['idProgramaEducativoVersion']]['idProgramaEducativo'] = $pP['idProgramaEducativoVersion']; $_SESSION['dependencias'][$pP['idDependencia']]['programas'][$pP['idProgramaEducativoVersion']]['programaEducativo'] = utf8_encode($pP['ProgramaEducativoVersionAnio']); } } } } } // If $this->iError $arrSalida['noError'] = $iNoError; $arrSalida['mensaje'] = $sMsjError; return $arrSalida; }
ob_clean(); // Validar parámetros if (!isset($_GET['cDep']) && !isset($_GET['cProg'])) { $respuesta = new stdClass(); $respuesta->noError = 1; $respuesta->mensaje = 'Parámetros insuficientes. (E01)'; echo json_encode($respuesta); die; } if (isset($_GET['cProg']) && (!isset($_POST['idDependencia']) || $_POST['idDependencia'] == '')) { $respuesta = new stdClass(); $respuesta->noError = 2; $respuesta->mensaje = 'Parámetros insuficientes. (E02)'; echo json_encode($respuesta); die; } $objConsulta = new clsDependencia_ProgramaEducativoVersion_Responsable(); // Configurar el filtro de la consulta $objConsulta->setidPersona($_SESSION['VS_PersonaID']); $objConsulta->setqueryDistinct(true); if (isset($_GET['cDep'])) { $objConsulta->setqueryCampos('idDependencia, dependencia'); $objConsulta->setOrdenQuery("dependencia"); } else { if (isset($_GET['cProg'])) { $objConsulta->setidDependencia($_POST['idDependencia']); $objConsulta->setqueryCampos('idProgramaEducativoVersion, ProgramaEducativoVersionAnio'); $objConsulta->setOrdenQuery("ProgramaEducativoVersionAnio"); } } echo $objConsulta->getDatosJson(false);