File: /home/undanet/www//PortalEmpleo/src/Views/GestionarConvocatorias.php
<?php
use PortalEmpleo\Entity\DboConvocatoria;
use PortalEmpleo\Entity\DboConvocatoriamerito;
use PortalEmpleo\Entity\DboConvocatoriarequisito;
use PortalEmpleo\Entity\DboConvocatoriaresolucion;
use PortalEmpleo\Entity\DboTribunalconvocatoria;
use PortalEmpleo\Entity\DboTribunalvaloracion;
use PortalEmpleo\Entity\DboTribunalAprobacionRequisito;
use PortalEmpleo\Entity\DboTribunalAprobacionMerito;
use PortalEmpleo\Entity\DboTribunalAprobacionExamen;
use PortalEmpleo\Entity\DboImpugnacion;
use PortalEmpleo\Entity\DboImpugnacionDoc;
use PortalEmpleo\Controller\ConvocatoriaController;
use PortalEmpleo\Utils\Load;
require __DIR__ . '/../../vendor/autoload.php';
session_start();
$controllerconvocatoria = new ConvocatoriaController();
$lang = pll_current_language() == 'en' ? 'en_GB' : 'es_ES';
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['accionConvocatoria'])) {
switch ($_POST['accionConvocatoria']) {
case 'Modify':
case 'Modificar':
if (isset($_POST['convocatoriaId'])) {
$id = $_POST['convocatoriaId'];
call_user_func(
[$controllerconvocatoria, 'modificarConvocatoria',],
$id,
$lang
);
}
break;
case 'Update':
case 'ActualizarConvocatoria':
case 'Add':
case 'AltaConvocatoria':
//Comprobar variables $_post
//funcion para validar los datos
$datosOK = "";
$datosOK = validarConvocatoria();
if ($datosOK == "") {
$desc = $_POST['txtReferencia'] . ' ';
$desc .= $lang == 'en_GB'
? $_POST['txtDescripcionen']
: $_POST['txtDescripcion'];
// cambio manual para fase de meritos
if ($_POST['slctEstadoConvocatoria'] == 4
&& $_POST['currentstate'] != 4) {
if ($_POST['tieneExamen'] == 'si') {
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resexa',
$desc
);
} else {
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resreq',
$desc
);
}
sendEmailTribunal(
$_POST['alltribunalemail'], 'startMerits', $desc
);
}
// cambio manual para fase de examen
if ($_POST['slctEstadoConvocatoria'] == 13
&& $_POST['currentstate'] != 13) {
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resreq',
$desc
);
sendEmailTribunal(
$_POST['alltribunalemail'], 'startExam', $desc
);
}
$isnotsendedemailflag = true;
//cambio manual para la fase final
if (($_POST['slctEstadoConvocatoria'] == 6
|| $_POST['slctEstadoConvocatoria'] == 7)
&& ($_POST['currentstate'] != 6
|| $_POST['currentstate'] != 7)) {
$isnotsendedemailflag = false;
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resmer',
$desc
);
}
// cambia automatico, al subir la resoluion de requisitos y el estado actual es 10, a la fase de meritos si no tiene examen
if (isset($_POST['cambioresolucionreq'])
&& $_POST['cambioresolucionreq'] == 'si'
&& $_POST['currentstate'] == 10
&& $_POST['tieneExamen'] == 'no') {
$_POST['slctEstadoConvocatoria'] = 4;
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resreq',
$desc
);
sendEmailTribunal($_POST['alltribunalemail'], 'startMerits', $desc);
// cambia automatico, al subir la resoluion de requisitos y el estado actual es 10, a la fase de examen si tiene examen
} else {
if (isset($_POST['cambioresolucionreq'])
&& $_POST['cambioresolucionreq'] == 'si'
&& $_POST['currentstate'] == 10
&& $_POST['tieneExamen'] == 'si') {
/*aqui tengo examen entonces en vez de pasar a la fase de meritos tengo q pasar a la fase de examen*/
$_POST['slctEstadoConvocatoria'] = 13;
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resreq',
$desc);
sendEmailTribunal(
$_POST['alltribunalemail'], 'startExam', $desc
);
}
}
// cambia automatico a la fase de meritos y envia correo si subes el documento resolucion de examen y el estado actual es 15
if (isset($_POST['cambioresolucionexam'])
&& $_POST['cambioresolucionexam'] == 'si'
&& $_POST['currentstate'] == 15) {
$_POST['slctEstadoConvocatoria'] = 4;
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resexa',
$desc
);
sendEmailTribunal(
$_POST['alltribunalemail'], 'startMerits', $desc
);
}
// cambia automatico y envia correo si subes el documento resolucion final y el estado actual es 12
if (isset($_POST['cambioresolucionfinal'])
&& $_POST['cambioresolucionfinal'] == 'si'
&& $_POST['currentstate'] == 12
&& $isnotsendedemailflag) {
$_POST['slctEstadoConvocatoria'] =
($_POST['alguientieneumbralsuperado'] == 'si')
? 6
: 7;
sendEmailCandidatos(
explode(",", $_POST['allcandidatossuperadosemail']),
'resmer',
$desc
);
}
$convocat = construirConvocatoria();
if ($_POST['slctEstadoConvocatoria'] == 2
&& $_POST['currentstate'] == 1) {
sendEmailTribunal(
$_POST['alltribunalemail'], 'startReqs', $desc
);
}
if (isset($convocat)) {
call_user_func([
$controllerconvocatoria, 'actualizarConvocatoria',
], $convocat, $lang);
}
} else {
echo '<span class="error">' . $datosOK . '</span>';
call_user_func([
$controllerconvocatoria, 'nuevaConvocatoria',
], $lang);
//echo '<BR><form method="post" action =""><input type="submit" id="btnListar" name="accionConvocatoria" value="ListarConvocatorias"></form>';
}
break;
case 'Calls List':
case 'ListarConvocatorias':
listarConvocatoriasAdmin(
$controllerconvocatoria, $lang
);
break;
/*case 'Eliminar':
if(isset($_POST['userId']))
{
$userId = $_POST['userId'];
call_user_func(array($controllerconvocatoria, 'eliminarUsuario'), $userId);
}
break;*/
case 'Add a new call':
case 'Nueva Convocatoria':
call_user_func([
$controllerconvocatoria, 'nuevaConvocatoria',
], $lang);
break;
case 'AddResolucion':
//funcion para validar los datos
$datosOK = "";
$datosOK = validarResolucion();
if ($datosOK == "") {
$cvtResol = construirResolucion();
if (isset($cvtResol)) {
call_user_func([
$controllerconvocatoria, 'nuevaResolucion',
], $cvtResol, $lang);
}
}
break;
case 'QuitarResolucion':
if (isset($_POST['txtResolucion'])) {
$id = $_POST['txtResolucion'];
call_user_func([
$controllerconvocatoria, 'quitarResolucion',
], $id, $lang);
}
break;
case 'AddRequisito':
$datosOK = "";
$datosOK = validarRequisito();
//llamar la controler para actualizar
if ($datosOK == "") {
$cvtReqs = construirRequisito();
if (isset($cvtReqs)) {
call_user_func([
$controllerconvocatoria, 'nuevoRequisito',
], $cvtReqs, $lang);
}
}
break;
case 'QuitarRequisito':
if (isset($_POST['txtReq'])) {
$id = $_POST['txtReq'];
call_user_func([
$controllerconvocatoria, 'quitarRequisito',
], $id, $lang);
}
break;
case 'AddMerito':
$datosOK = "";
$datosOK = validarMerito();
//llamar la controler para actualizar
if ($datosOK == "") {
$cvtMert = construirMerito();
if (isset($cvtMert)) {
call_user_func([
$controllerconvocatoria, 'nuevoMerito',
], $cvtMert, $lang);
}
}
break;
case 'QuitarMerito':
if (isset($_POST['txtMerit'])) {
$id = $_POST['txtMerit'];
call_user_func([
$controllerconvocatoria, 'quitarMerito',
], $id, $lang);
}
break;
case 'ListarConvocatoriasReferencia':
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, null, $_POST['codigoUsuarioWP']);
break;
case 'View Candidates':
case 'Consultar Candidatos':
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria, get_current_user_id());
}
break;
case 'ListarTribunalReferencia':
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaTribunal',
], $lang, null);
break;
case 'View Evaluation Committee':
case 'Consultar Tribunal':
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaTribunal',
], $lang, $idConvocatoria);
}
break;
case 'Create Committee':
case 'Crear Tribunal':
case 'Edit Committee':
case 'Modificar Tribunal':
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func(
[$controllerconvocatoria, 'modificarConvocatoriaTribunal',],
$lang,
$idConvocatoria
);
}
break;
case 'GuardarTribunal':
if (isset($_POST['txtConvocatoria'])
&& is_numeric($_POST['txtConvocatoria'])
&& $_POST['txtConvocatoria'] > 0) {
$idConvocatoria = $_POST['txtConvocatoria'];
$lusuarios = [];
foreach ($_SESSION['data']['lusuariosWP'] as $usuario) {
array_push($lusuarios, $usuario->getDisplayName());
}
$datosOK = "";
$datosOK = validarTribunal($lusuarios);
//llamar la controler para actualizar
if ($datosOK == "") {
//obtener Roles
$lroles = call_user_func(
[$controllerconvocatoria, 'obtenerRoles',],
$lang
);
if (isset($lroles)) {
$cvtTrbnl = construirTribunal($lroles);
if (isset($cvtTrbnl)) {
call_user_func([
$controllerconvocatoria,
'insertarTribunalConvocatoria',
], $idConvocatoria, $cvtTrbnl, $lang);
if ($_POST['isnew'] == 'isnew') {
foreach ($cvtTrbnl as $miembrotribunal) {
if (!$miembrotribunal->getEssuplente()
&& !user_can(($miembrotribunal->getCodigousuariowp())->getId(), 'administrator')) {
$customrole =
(($miembrotribunal->getCodigorol())->getIdrol()
== 1)
? __('president', 'panoramic_child')
: ((($miembrotribunal->getCodigorol())->getIdrol()
== 2)
? __('secretary', 'panoramic_child')
: ((($miembrotribunal->getCodigorol())->getIdrol()
== 3)
? __('Officer', 'panoramic_child')
: __('Officer 2', 'panoramic_child')));
$currentuser =
get_user_by('id', ($miembrotribunal->getCodigousuariowp())->getId());
$mailto = $currentuser->user_email;
$subject =
__('You are included like tribunal member', 'panoramic_child');
$message = '<p>'
. __('Hello', 'panoramic_child')
. '</p>' . '<p>'
. sprintf(__('Based on the resolution of the Director of the CLPU dated %s, I inform you that you are part of the Selection Tribunal as a %s in the following vacancy published on our website: %s', 'panoramic_child'), $_POST['txtConvocatoriaFechaInicio'], $customrole, $_POST['txtConvocatoriaRef'])
. '</p><p>'
. __('Greetings', 'panoramic_child')
. '</p>';
sendEmailto($mailto, $subject, $message);
//echo $mailto . '<br>' . $subject . '<br>' . $message;
}
}
}
//Redirigir al Consultar Tribunal para el id de cvt que toca
call_user_func([
$controllerconvocatoria,
'listarConvocatoriaTribunal',
], $lang, $idConvocatoria);
}
}
} else {
echo $datosOK;
call_user_func(
[
$controllerconvocatoria,
'modificarConvocatoriaTribunal',
],
$lang,
$idConvocatoria
);
}
} else {
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaTribunal',
], $lang, null);
}
break;
case 'Cancelar':
if (isset($_POST['txtConvocatoria'])
&& is_numeric($_POST['txtConvocatoria'])
&& $_POST['txtConvocatoria'] > 0) {
$idConvocatoria = $_POST['txtConvocatoria'];
//Redirigir al Consultar Tribunal para el id de cvt que toca
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaTribunal',
], $lang, $idConvocatoria);
}
break;
case 'Valoraciones Tribunal':
if (isset($_POST['codigoUsuarioWP'])
&& is_numeric($_POST['codigoUsuarioWP'])) {
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria,
'listarValoracionesConvocatoria',
], $lang, null, null, null, $codigoUsuarioWP);
}
break;
case 'Select this Call':
case 'Seleccionar Convocatoria':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria,
'listarValoracionesConvocatoria',
], $lang, $idConvocatoria, null, null, $codigoUsuarioWP);
}
break;
case 'GestionarValoraciones':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria,
'GestionarValoracionesConvocatoria',
], $lang, $idConvocatoria, null, null, $codigoUsuarioWP);
}
break;
case 'AprobacionesRequisisto':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria, 'AprobacionesRequisisto',
], $lang, $idConvocatoria, $codigoUsuarioWP);
}
break;
case 'AprobacionesMerito':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria, 'AprobacionesMeritos',
], $lang, $idConvocatoria, $codigoUsuarioWP);
}
break;
case 'AprobacionesExamen':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
call_user_func([
$controllerconvocatoria, 'AprobacionesExamenes',
], $lang, $idConvocatoria, $codigoUsuarioWP);
}
break;
case 'Select Requirement':
case 'Seleccionar Requisito':
if (isset($_POST['slctConvocatorias'])
&& isset($_POST['slctRequisitos'])
&& isset($_POST['codigoUsuarioWP'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
$idRequisito = $_POST['slctRequisitos'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
if (isset($_POST['slctMeritos'])) {
$_POST['slctMeritos'] = null;
unset($_POST['slctMeritos']);
}
call_user_func([
$controllerconvocatoria,
'listarValoracionesConvocatoria',
], $lang, $idConvocatoria, $idRequisito, null, $codigoUsuarioWP);
}
break;
case 'Select Merit':
case 'Seleccionar Merito':
case 'Seleccionar Mérito':
if (
isset($_POST['slctConvocatorias'])
&& isset($_POST['slctMeritos'])
&& isset($_POST['codigoUsuarioWP'])
) {
$idConvocatoria = $_POST['slctConvocatorias'];
$idMerito = $_POST['slctMeritos'];
$codigoUsuarioWP = $_POST['codigoUsuarioWP'];
if (isset($_POST['slctRequisitos'])) {
$_POST['slctRequisitos'] = null;
unset($_POST['slctRequisitos']);
}
call_user_func([
$controllerconvocatoria,
'listarValoracionesConvocatoria',
], $lang, $idConvocatoria, null, $idMerito, $codigoUsuarioWP);
}
break;
case 'insertvalidation':
$response = "ok";
$datosformulario = $_POST['data'];
$idEstado = 2;
$reqaprobados = true;
foreach ($datosformulario as $dato) {
if (str_replace(' ', '', $dato['comment']) == '') {
$response =
__('Error: at least one empty comment', 'panoramic_child');
break;
}
$trbnlVlc = new DboTribunalvaloracion();
if ($dato['id_valoracion'] != 0) {
$trbnlVlc->setIdtribunalvaloracion($dato['id_valoracion']);
}
$trbnlVlc->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$trbnlVlc->setCodigocandidato($_POST['codigocandidato']);
$trbnlVlc->setCodigotribunalconvocatoria($_POST['codigotribunalconvocatoria']);
if ($_POST['fase'] == 'requisitos') {
$trbnlVlc->setCodigoconvocatoriarequisito($dato['req']);
}
if ($_POST['fase'] == 'meritos') {
$trbnlVlc->setCodigoconvocatoriamerito($dato['req']);
}
$trbnlVlc->setComentario($dato['comment']);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$trbnlVlc->setFecha($datenow);
$trbnlVlc->setEsconcluyente(
current_user_can('administrator')
);
if ($_POST['fase'] == 'requisitos') {
$boolean_eval_pass = $dato['eval_pass'] == 'si';
$trbnlVlc->setEstasuperado($boolean_eval_pass);
if (!$boolean_eval_pass) {
$reqaprobados = false;
}
}
if ($_POST['fase'] == 'meritos') {
if (!is_numeric($dato['puntuacion'])) {
$response =
__('Error: at least one score is not a number', 'panoramic_child');
break;
}
$trbnlVlc->setpuntuacion($dato['puntuacion']);
}
$trbnlVlc->setBaja(false);
if (isset($trbnlVlc)) {
call_user_func([
$controllerconvocatoria,
'insertarTribunalValoracion',
], $trbnlVlc, $lang);
}
}
if ($_POST['entrevista'] != 'false') {
call_user_func([
$controllerconvocatoria, 'insertarEntrevista',
], $_POST['codigocandidato'], $_POST['codigoconvocatoria'], $_POST['entrevista']);
}
if (current_user_can('administrator')
&& $_POST['fase'] == 'requisitos') {
call_user_func([
$controllerconvocatoria,
'actualizarRequisitosSuperados',
], $_POST['codigocandidato'], $_POST['codigoconvocatoria'], $reqaprobados);
}
if ($_POST['islastcomment'] == 'true') {
if ($_POST['fase'] == 'requisitos') {
$idEstado = 3;
}
if ($_POST['fase'] == 'meritos') {
$idEstado = 11;
}
call_user_func([
$controllerconvocatoria, 'cambiarEstadoConvocatoria',
], $_POST['codigoconvocatoria'], $idEstado);
}
if (isset($_POST['commentimpugnacionrequisitos'])) {
$impugnacion = new DboImpugnacion();
if ($_POST['impugnacionid'] != 0) {
$impugnacion->setIdImpugnacion($_POST['impugnacionid']);
}
$impugnacion->setComentario($_POST['commentimpugnacionrequisitos']);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$impugnacion->setFecha($datenow);
$impugnacion->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$impugnacion->setCodigocandidato($_POST['codigocandidato']);
$impugnacion->setBaja(false);
$impugnacion->setEsRequisito(true);
if (isset($impugnacion)) {
call_user_func([
$controllerconvocatoria, 'insertarImpugnacion',
], $impugnacion, $lang);
}
}
if (isset($_POST['commentimpugnacionmeritos'])) {
$impugnacion = new DboImpugnacion();
if ($_POST['impugnacionid'] != 0) {
$impugnacion->setIdImpugnacion($_POST['impugnacionid']);
}
$impugnacion->setComentario($_POST['commentimpugnacionmeritos']);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$impugnacion->setFecha($datenow);
$impugnacion->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$impugnacion->setCodigocandidato($_POST['codigocandidato']);
$impugnacion->setBaja(false);
$impugnacion->setEsRequisito(false);
call_user_func(
[$controllerconvocatoria, 'insertarImpugnacion',],
$impugnacion,
$lang
);
}
echo $response;
break;
case 'insertexamen':
$response = "ok";
$trbnlVlc = new DboTribunalvaloracion();
if ($_POST['valoracionid'] != 0) {
$trbnlVlc->setIdtribunalvaloracion($_POST['valoracionid']);
}
$trbnlVlc->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$trbnlVlc->setCodigocandidato($_POST['codigocandidato']);
$trbnlVlc->setCodigotribunalconvocatoria($_POST['codigotribunalconvocatoria']);
$trbnlVlc->setComentario('');
$trbnlVlc->setEsconcluyente(false);
$trbnlVlc->setBaja(false);
$trbnlVlc->setExamennota($_POST['nota']);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$trbnlVlc->setFecha($datenow);
if (!is_numeric($_POST['nota'])) {
$response =
__('Error: at least one score is not a number', 'panoramic_child');
}
if ($response == "ok"
&& $_POST['nota'] > $_POST['puntuacionmaxima']) {
$response =
__('Error: the note can not be higher than the maximum score', 'panoramic_child');
}
if ($response == "ok") {
call_user_func(
[
$controllerconvocatoria,
'insertarTribunalValoracion',
],
$trbnlVlc,
$lang
);
if ($_POST['allfilled'] == 'true') {
call_user_func([
$controllerconvocatoria,
'cambiarEstadoConvocatoria',
], $_POST['codigoconvocatoria'], 14);
}
if ($_POST['nota'] < $_POST['puntuacioncorte']) {
call_user_func([
$controllerconvocatoria, 'actualizarExamensuperado',
], $_POST['codigocandidato'], $_POST['codigoconvocatoria'], false);
}
}
echo $response;
break;
case 'aprobarrequisito':
$response = "ok";
$trbnlVlc = new DboTribunalAprobacionRequisito();
if ($_POST['idaprobacionrequisito'] != 0) {
$trbnlVlc->setIdTribunalAprobacionRequisto($_POST['idaprobacionrequisito']);
}
$trbnlVlc->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$trbnlVlc->setCodigotribunalconvocatoria($_POST['codigotribunalconvocatoria']);
$boolean_eval_pass = $_POST['aprobado'] == 'si';
$trbnlVlc->setEstaAprobado($boolean_eval_pass);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$trbnlVlc->setFecha($datenow);
$trbnlVlc->setBaja(false);
call_user_func(
[$controllerconvocatoria, 'insertarAprobacionRequisitos',],
$trbnlVlc,
$lang
);
echo $response;
break;
case 'aprobarmerito':
$response = "ok";
$trbnlVlc = new DboTribunalAprobacionMerito();
if ($_POST['idaprobacionmerito'] != 0) {
$trbnlVlc->setIdTribunalAprobacionMerito($_POST['idaprobacionmerito']);
}
$trbnlVlc->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$trbnlVlc->setCodigotribunalconvocatoria($_POST['codigotribunalconvocatoria']);
$boolean_eval_pass = $_POST['aprobado'] == 'si';
$trbnlVlc->setEstaAprobado($boolean_eval_pass);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$trbnlVlc->setFecha($datenow);
$trbnlVlc->setBaja(false);
call_user_func(
[$controllerconvocatoria, 'insertarAprobacionMeritos',],
$trbnlVlc,
$lang
);
echo $response;
break;
case 'aprobarexamen':
$response = "ok";
$trbnlVlc = new DboTribunalAprobacionExamen();
if ($_POST['idaprobacionexamen'] != 0) {
$trbnlVlc->setIdTribunalAprobacionExamen($_POST['idaprobacionexamen']);
}
$trbnlVlc->setCodigoconvocatoria($_POST['codigoconvocatoria']);
$trbnlVlc->setCodigotribunalconvocatoria($_POST['codigotribunalconvocatoria']);
$boolean_eval_pass = $_POST['aprobado'] == 'si';
$trbnlVlc->setEstaAprobado($boolean_eval_pass);
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$trbnlVlc->setFecha($datenow);
$trbnlVlc->setBaja(false);
call_user_func(
[$controllerconvocatoria, 'insertarAprobacionExamen',],
$trbnlVlc, $lang
);
echo $response;
break;
case 'to_next_fase':
call_user_func([
$controllerconvocatoria, 'cambiarEstadoConvocatoria',
], $_POST['codigoconvocatoria'], $_POST['fase']);
if ($_POST['fase'] == 15) {
$datenow = new DateTime($_POST['examinatiodate']);
call_user_func([
$controllerconvocatoria, 'insertarFechaExamen',
], $_POST['codigoconvocatoria'], $datenow);
}
break;
case 'dateresolreq':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResReq',
], $_POST['codigoconvocatoria'], $datenow);
break;
case 'dateresolexam':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResExamen',
], $_POST['codigoconvocatoria'], $datenow);
break;
case 'dateresolfinal':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResFinal',
], $_POST['codigoconvocatoria'], $datenow);
break;
case 'AddImpugnacionDoc':
$aux = 'flImpugna-merito-' . $_POST['slctCandidato'];
$impugnaciondoc = new DboImpugnacionDoc();
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$impugnaciondoc->setFecha($datenow);
$impugnaciondoc->setCodigoconvocatoria($_POST['slctConvocatorias']);
$impugnaciondoc->setCodigocandidato($_POST['slctCandidato']);
$impugnaciondoc->setBaja(false);
$impugnaciondoc->setEsRequisito(false);
if (isset($_FILES[$aux])
&& strlen(trim($_FILES[$aux]['name'])) > 0) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw $this->createNotFoundException(
'No se han podido cargar las variables de entorno.'
);
}
//subimos el fichero
$_FILES[$aux]['name'] =
clean($_FILES[$aux]['name']); //limpiamos las rutas
$impugnaciondoc->setRutaDoc('//Impugnaciones//'
. clean($_POST['slctConvocatoriasRef'])
. '//'
. clean($_POST['slctCandidato'])
. '//' . $_FILES[$aux]['name']);
$fileOrigen = $_FILES[$aux];
$fileDestino =
$_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $impugnaciondoc->getRutaDoc();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
//Ha ido bien
//destruimos el retorno para otra subida
unset($retorno);
} else {
//Algo ha ido mal
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (isset($impugnaciondoc)) {
call_user_func([
$controllerconvocatoria, 'insertarImpugnacionDoc',
], $impugnaciondoc, $lang);
}
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria);
echo $idConvocatoria;
}
break;
case 'AddImpugnacionDocRequ':
$aux = 'flImpugna-requisisito-' . $_POST['slctCandidato'];
$impugnaciondoc = new DboImpugnacionDoc();
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
$impugnaciondoc->setFecha($datenow);
$impugnaciondoc->setCodigoconvocatoria($_POST['slctConvocatorias']);
$impugnaciondoc->setCodigocandidato($_POST['slctCandidato']);
$impugnaciondoc->setBaja(false);
$impugnaciondoc->setEsRequisito(true);
if (isset($_FILES[$aux])
&& strlen(trim($_FILES[$aux]['name'])) > 0) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw $this->createNotFoundException(
'No se han podido cargar las variables de entorno.'
);
}
//subimos el fichero
$_FILES[$aux]['name'] =
clean($_FILES[$aux]['name']); //limpiamos las rutas
$impugnaciondoc->setRutaDoc('//Impugnaciones//'
. clean($_POST['slctConvocatoriasRef'])
. '//'
. clean($_POST['slctCandidato'])
. '//' . $_FILES[$aux]['name']);
$fileOrigen = $_FILES[$aux];
$fileDestino =
$_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $impugnaciondoc->getRutaDoc();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (isset($impugnaciondoc)) {
call_user_func([
$controllerconvocatoria, 'insertarImpugnacionDoc',
], $impugnaciondoc, $lang);
}
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria);
echo $idConvocatoria;
}
break;
case 'DelImpugnacionDoc':
call_user_func([
$controllerconvocatoria, 'removeImpugnacionDoc',
], $_POST['idimpugna']);
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria);
echo $idConvocatoria;
}
break;
case 'ImpugnarRequisitos':
call_user_func([
$controllerconvocatoria, 'ImpugnarRequisitos',
], $_POST['slctCandidato'], $_POST['slctConvocatorias']);
call_user_func([
$controllerconvocatoria, 'cambiarEstadoConvocatoria',
], $_POST['slctConvocatorias'], 4);
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria);
echo $idConvocatoria;
}
break;
case 'ImpugnarMeritos':
call_user_func([
$controllerconvocatoria, 'ImpugnarMeritos',
], $_POST['slctCandidato'], $_POST['slctConvocatorias']);
if (isset($_POST['slctConvocatorias'])) {
$idConvocatoria = $_POST['slctConvocatorias'];
call_user_func([
$controllerconvocatoria, 'listarConvocatoriaCandidatos',
], $lang, $idConvocatoria);
echo $idConvocatoria;
}
break;
case 'accionPdfPage':
call_user_func([
$controllerconvocatoria, 'pdfPage',
], $lang, $_POST['slctConvocatorias']);
break;
case 'saveToReadInPdf':
$data = call_user_func(
[$controllerconvocatoria, 'pdfPage',],
$lang,
$_POST['codigoconvocatoria'],
0,
true
);
$mailData = [];
$isSendEmail = $_POST['isRes'] == 'true'
? '&isem'
: '';
$keyOption = $_POST['tipopdf'] . $_POST['codigoconvocatoria'];
if ($_POST['isRes'] == 'true') {
$data['ftext1'] = $_POST['ftext1'];
$data['ftext2'] = $_POST['ftext2'];
$data['ftext3'] = $_POST['ftext3'];
$data['ftext4'] = $_POST['ftext4'];
$mailData['mailto'] = $_POST['recipient'];
$mailData['subject'] = $_POST['subject'];
$mailData['message'] = $_POST['message'];
update_option($keyOption . '_mail', $mailData);
}
$path = '/pdftemplates/dwl/';
$pdfName = '';
switch ($_POST['tipopdf']) {
case 'acreq':
$path .= 'actaprimmerafase';
$pdfName = __('Act_Req', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'acexa':
$path .= 'actaexamenfase';
$pdfName = __('Act_Exa', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'acmer':
$path .= 'actasegundafase';
$pdfName = __('Act_Mer', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'vareq':
$path .= 'valoracionesreq';
$pdfName = __('Val_Req', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'vaexa':
$path .= 'valoracionesexam';
$pdfName = __('Val_Exa', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'vamer':
$path .= 'valoracionesmer';
$pdfName = __('Val_Mer', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'resreq':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResReq',
], $data['convocatoria']->getIdconvocatoria(), $datenow);
$path .= 'resolprimmerafase';
$pdfName = __('Res_req', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'resexa':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResExamen',
], $data['convocatoria']->getIdconvocatoria(), $datenow);
$path .= 'resolexam';
$pdfName = __('Res_exa', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
case 'resmer':
$datenow =
new DateTime('now', new DateTimeZone('Europe/Madrid'));
call_user_func([
$controllerconvocatoria, 'insertarFechaResFinal',
], $data['convocatoria']->getIdconvocatoria(), $datenow);
$path .= 'resolfinal';
$pdfName = __('Res_mer', 'panoramic_child') . '_'
. str_replace('/', '_', $data['convocatoria']->getReferencia());
break;
}
$path .= '.php';
ob_start();
include(__DIR__ . $path);
$value = ob_get_clean();
update_option($keyOption, $value);
echo get_site_url() . '?download=pdf&option=' . $keyOption
. '&pdfname=' . $pdfName . $isSendEmail;
break;
default:
listarConvocatoriasAdmin($controllerconvocatoria, $lang);
break;
}
unset($_POST['accionConvocatoria']);
} else {
listarConvocatoriasAdmin($controllerconvocatoria, $lang);
}
} else {
listarConvocatoriasAdmin($controllerconvocatoria, $lang);
}
function listarConvocatoriasAdmin($controller, $lang)
{
if (isset($_POST['convocatoriaId'])) {
unset($_POST['convocatoriaId']);
}
call_user_func([
$controller, 'listarConvocatoriasAdmin',
], $lang, get_current_user_id());
}
function validarConvocatoria(): string
{
$msgError = "";
//Validar Referencia
if (!isset($_POST['txtReferencia'])) {
$msgError = $msgError . "El campo Referencia debe estar informado<BR>";
} else {
if ($_POST['txtReferencia'] == null
|| strlen(trim($_POST['txtReferencia'])) <= 0) {
$msgError = $msgError
. "El campo Referencia debe estar informado o contener un valor válido<BR>";
}
}
//Validar PuestoTrabajo
if (!isset($_POST['txtPuestoTrabajo'])) {
$msgError =
$msgError . "El campo Puesto de Trabajo debe estar informado<BR>";
} else {
if ($_POST['txtPuestoTrabajo'] == null
|| strlen(trim($_POST['txtPuestoTrabajo'])) <= 0) {
$msgError = $msgError
. "El campo Puesto de Trabajo debe estar informado o contener un valor válido<BR>";
}
}
//Validar Centro
if (!isset($_POST['txtCentro'])) {
$msgError = $msgError . "El campo Centro debe estar informado<BR>";
} else {
if ($_POST['txtCentro'] == null
|| strlen(trim($_POST['txtCentro'])) <= 0) {
$msgError = $msgError
. "El campo Centro debe estar informado o contener un valor válido<BR>";
}
}
//Validar FechaInicio
if (!isset($_POST['dtFechaInicio'])) {
$msgError = $msgError
. "El campo Fecha de Inicio debe estar informado o contener un valor válido<BR>";
}
//Validar FechaFin
if (!isset($_POST['dtFechaFin'])) {
$msgError = $msgError
. "El campo Fecha Fin debe estar informado o contener un valor válido<BR>";
}
//Validar Fechas
if (isset($_POST['dtFechaInicio']) && isset($_POST['dtFechaFin'])) {
if ($_POST['dtFechaFin'] <= $_POST['dtFechaInicio']) {
$msgError = $msgError
. "El campo Fecha Fin debe ser posterior a la fecha de inicio<BR>";
}
}
//Validar FechaUltimaActualizacion
if ($_POST['dtFechaUltimaActualizacion'] == null) {
$msgError = $msgError
. "El campo Fecha de la última actualización debe estar informado o contener un valor válido<BR>";
}
/* //Validar PDFConvocatoria
if(!isset($_POST['flPDFConvocatoria']))
{
$msgError = $msgError . "El campo PDF Convocatoria debe estar informado<BR>";
}
else if ($_POST['flPDFConvocatoria']==null || strlen(trim($_POST['flPDFConvocatoria']))<=0)
{
$msgError = $msgError . "El campo PDF Convocatoria debe estar informado o contener un valor válido<BR>";
}*/
//Validar UrlWeb
if (!isset($_POST['txtWeb'])) {
$msgError = $msgError . "El campo Web debe estar informado<BR>";
} else {
if ($_POST['txtWeb'] == null || strlen(trim($_POST['txtWeb'])) <= 3) {
$msgError = $msgError
. "El campo Web debe estar informado o contener un valor válido<BR>";
}
}
//Validar EstadoConvocatoria
if (!isset($_POST['slctEstadoConvocatoria'])) {
$msgError =
$msgError . "El campo Estado Convocatoria debe estar informado<BR>";
} else {
if ($_POST['slctEstadoConvocatoria'] == null
|| !is_numeric($_POST['slctEstadoConvocatoria'])) {
$msgError = $msgError
. "El campo Estado Convocatoria debe estar informado o contener un valor válido<BR>";
}
}
//Validar Descripcion
if (!isset($_POST['txtDescripcion'])) {
$msgError = $msgError . "El campo Descripcion debe estar informado<BR>";
} else {
if ($_POST['txtDescripcion'] == null
|| strlen(trim($_POST['txtDescripcion'])) <= 3) {
$msgError = $msgError
. "El campo Descripcion debe estar informado o contener un valor válido<BR>";
}
}
//Validar Descripcion
if (!isset($_POST['txtDescripcionen'])) {
$msgError = $msgError . "El campo Descripcion debe estar informado<BR>";
} else {
if ($_POST['txtDescripcionen'] == null
|| strlen(trim($_POST['txtDescripcionen'])) <= 3) {
$msgError = $msgError
. "El campo Descripcion debe estar informado o contener un valor válido<BR>";
}
}
if (isset($_POST['examen_obligatorio'])) {
if (!isset($_POST['totalPuntos']) || $_POST['totalPuntos'] <= 0) {
$msgError = $msgError
. "El campo Número total de puntos debe estar informado o contener un valor válido<BR>";
}
if (!isset($_POST['puntuacionCorte'])
|| $_POST['puntuacionCorte'] <= 0) {
$msgError = $msgError
. "El campo Puntuación de corte del examen debe estar informado o contener un valor válido<BR>";
}
if (!isset($_POST['puntuacionMaxima'])
|| $_POST['puntuacionMaxima'] <= 0) {
$msgError = $msgError
. "El campo Puntuación máxima del examen debe estar informado o contener un valor válido<BR>";
}
if (!isset($_POST['ponderacionExamen'])
|| $_POST['ponderacionExamen'] <= 0) {
$msgError = $msgError
. "El campo Ponderación de examen debe estar informado o contener un valor válido<BR>";
}
if (!isset($_POST['ponderacionMeritos'])
|| $_POST['ponderacionMeritos'] <= 0) {
$msgError = $msgError
. "El campo Ponderación de méritos debe estar informado o contener un valor válido<BR>";
}
if (isset($_POST['ponderacionMeritos'])
&& isset($_POST['ponderacionExamen'])
&& ($_POST['ponderacionMeritos'] + $_POST['ponderacionExamen']
!= 100)) {
$msgError = $msgError
. "Los campos de Ponderación deben completar el 100%<BR>";
}
}
return $msgError;
}
function construirConvocatoria()
{
try {
$convocatoria = new DboConvocatoria();
//Comprobamos si es una actualizacion o un alta
if (isset($_SESSION['data'])) {
$convocatoria->setIdconvocatoria(($_SESSION['data']->getIdconvocatoria()));
$convocatoria->setReferencia(
$_SESSION['data']->getReferencia() != $_POST['txtReferencia']
? $_POST['txtReferencia']
: $_SESSION['data']->getReferencia()
);
$convocatoria->setPuestotrabajo(
$_SESSION['data']->getPuestotrabajo() != $_POST['txtPuestoTrabajo']
? $_POST['txtPuestoTrabajo']
: $_SESSION['data']->getPuestotrabajo());
$convocatoria->setCentro(
$_SESSION['data']->getCentro() != $_POST['txtCentro']
? $_POST['txtCentro']
: $_SESSION['data']->getCentro());
$convocatoria->setFechainicio(
$_SESSION['data']->getFechainicio() != $_POST['dtFechaInicio']
? DateTime::createFromFormat('Y-m-d', strval($_POST['dtFechaInicio']))
: $_SESSION['data']->getFechainicio());
$convocatoria->setFechafin(
$_SESSION['data']->getFechafin() != $_POST['dtFechaFin']
? DateTime::createFromFormat(
'Y-m-d H:i:s', strval($_POST['dtFechaFin']) . ' 23:59:59'
)
: $_SESSION['data']->setFechafin());
$convocatoria->setFechaultimaactualizacion(
$_SESSION['data']->getFechaultimaactualizacion() != $_POST['dtFechaUltimaActualizacion']
? DateTime::createFromFormat(
'Y-m-d', strval($_POST['dtFechaUltimaActualizacion'])
)
: $_SESSION['data']->getFechaultimaactualizacion()
);
// doocumentos convocatoria
if (!isset($_FILES['flPDFConvocatoria'])
|| strlen(trim($_FILES['flPDFConvocatoria']['name'])) <= 0
) {
if (($_SESSION['data']->getRutaarchivoconvocatoria() != null)
&& strlen(trim($_SESSION['data']->getRutaarchivoconvocatoria())) > 0
) {
$convocatoria->setRutaarchivoconvocatoria(
$_SESSION['data']->getRutaarchivoconvocatoria()
);
}
} elseif (isset($_FILES['flPDFConvocatoria'])
&& strlen(trim($_FILES['flPDFConvocatoria']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFConvocatoria']['name'] =
clean($_FILES['flPDFConvocatoria']['name']);
$convocatoria->setRutaarchivoconvocatoria('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFConvocatoria']['name']);
$fileOrigen = $_FILES['flPDFConvocatoria'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoconvocatoria();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (!isset($_FILES['flPDFEspecifico'])
|| strlen(trim($_FILES['flPDFEspecifico']['name'])) <= 0) {
if (($_SESSION['data']->getRutaarchivoespecifico() != null)
&& strlen(trim($_SESSION['data']->getRutaarchivoespecifico()))
> 0
) {
$convocatoria->setRutaarchivoespecifico(
$_SESSION['data']->getRutaarchivoespecifico()
);
}
} elseif (isset($_FILES['flPDFEspecifico'])
&& strlen(trim($_FILES['flPDFEspecifico']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFEspecifico']['name'] =
clean($_FILES['flPDFEspecifico']['name']); //limpiamos las rutas
$convocatoria->setRutaarchivoespecifico('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFEspecifico']['name']);
$fileOrigen = $_FILES['flPDFEspecifico'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoespecifico();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (!isset($_FILES['flPDFRequisitos'])
|| strlen(trim($_FILES['flPDFRequisitos']['name'])) <= 0
) {
if (($_SESSION['data']->getRutaarchivorequisitos() != null)
&& strlen(trim($_SESSION['data']->getRutaarchivorequisitos()))
> 0
) {
$convocatoria->setRutaarchivorequisitos($_SESSION['data']->getRutaarchivorequisitos());
}
} elseif (isset($_FILES['flPDFRequisitos'])
&& strlen(trim($_FILES['flPDFRequisitos']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFRequisitos']['name'] =
clean($_FILES['flPDFRequisitos']['name']);
$convocatoria->setRutaarchivorequisitos('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFRequisitos']['name']);
$fileOrigen = $_FILES['flPDFRequisitos'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivorequisitos();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (!isset($_FILES['flPDFExamen'])
|| strlen(trim($_FILES['flPDFExamen']['name'])) <= 0
) {
if (($_SESSION['data']->getRutaarchivoexamen() != null)
&& strlen(trim($_SESSION['data']->getRutaarchivoexamen())) > 0
) {
$convocatoria->setRutaarchivoexamen($_SESSION['data']->getRutaarchivoexamen());
}
} elseif (isset($_FILES['flPDFExamen'])
&& strlen(trim($_FILES['flPDFExamen']['name'])) > 0) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFExamen']['name'] =
clean($_FILES['flPDFExamen']['name']);
$convocatoria->setRutaarchivoexamen('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFExamen']['name']);
$fileOrigen = $_FILES['flPDFExamen'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoexamen();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (!isset($_FILES['flPDFResolucionFinal'])
|| strlen(trim($_FILES['flPDFResolucionFinal']['name'])) <= 0
) {
if (($_SESSION['data']->getRutaarchivoresolucionfinal() != null)
&& strlen(trim($_SESSION['data']->getRutaarchivoresolucionfinal())) > 0
) {
$convocatoria->setRutaarchivoresolucionfinal($_SESSION['data']->getRutaarchivoresolucionfinal());
}
} elseif (isset($_FILES['flPDFResolucionFinal'])
&& strlen(trim($_FILES['flPDFResolucionFinal']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFResolucionFinal']['name'] =
clean($_FILES['flPDFResolucionFinal']['name']);
$convocatoria->setRutaarchivoresolucionfinal('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFResolucionFinal']['name']);
$fileOrigen = $_FILES['flPDFResolucionFinal'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoresolucionfinal();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
$convocatoria->setUrlweb(
$_SESSION['data']->getUrlweb() != $_POST['txtWeb']
? $_POST['txtWeb']
: $_SESSION['data']->getUrlweb()
);
$convocatoria->setUmbraldepuntuacion(
$_SESSION['data']->getUmbraldepuntuacion() != $_POST['txtUmbradePuntuacion']
? $_POST['txtUmbradePuntuacion']
: $_SESSION['data']->getUmbraldepuntuacion()
);
$convocatoria->setCodigoestadoconvocatoria($_POST['slctEstadoConvocatoria']);
$convocatoria->setCaducada(
$convocatoria->getFechafin() <
$convocatoria->getFechaultimaactualizacion()
);
$bajavar = $_SESSION['data']->getBaja() != $_POST['chkbaja']
? $_POST['chkbaja']
: $_SESSION['data']->getBaja();
if ($bajavar) {
$convocatoria->setBaja(true);
} else {
$convocatoria->setBaja(false);
}
$convocatoria->setDescripcion(
$_SESSION['data']->getDescripcion() != $_POST['txtDescripcion']
? $_POST['txtDescripcion']
: $_SESSION['data']->getDescripcion()
);
$convocatoria->setDescripcionEn(
$_SESSION['data']->getDescripcionEn() != $_POST['txtDescripcionen']
? $_POST['txtDescripcionen']
: $_SESSION['data']->getDescripcionEn()
);
$convocatoria->setDescripcionEn(
$_SESSION['data']->getDescripcionEn() != $_POST['txtDescripcionen']
? $_POST['txtDescripcionen']
: $_SESSION['data']->getDescripcionEn()
);
if ($_SESSION['data']->getTieneExamen()) {
$convocatoria->setTieneExamen(true);
$convocatoria->setTotalPuntos($_POST['totalPuntos']);
$convocatoria->setPuntuacionCorte($_POST['puntuacionCorte']);
$convocatoria->setPuntuacionMaxima($_POST['puntuacionMaxima']);
$convocatoria->setPuntuacionMaximaMeritos($_POST['puntuacionMaximaMeritos']);
$convocatoria->setPonderacionExamen($_POST['ponderacionExamen']);
$convocatoria->setPonderacionMeritos($_POST['ponderacionMeritos']);
} else {
$convocatoria->setTieneExamen(false);
$convocatoria->setTotalPuntos(0);
$convocatoria->setPuntuacionCorte(0);
$convocatoria->setPuntuacionMaxima(0);
$convocatoria->setPuntuacionMaximaMeritos(0);
$convocatoria->setPonderacionExamen(0);
$convocatoria->setPonderacionMeritos(0);
}
if (isset($_POST['substitute_check'])) {
$convocatoria->setSustituto($_POST['substitute']);
} else {
$convocatoria->setSustituto(null);
}
$convocatoria->setPlazaAdjudicada(
$_SESSION['data']->getPlazaAdjudicada() != $_POST['plazaAdjudicada']
? $_POST['plazaAdjudicada']
: $_SESSION['data']->getPlazaAdjudicada()
);
} else {
$convocatoria->setReferencia($_POST['txtReferencia']);
$convocatoria->setPuestotrabajo($_POST['txtPuestoTrabajo']);
$convocatoria->setCentro($_POST['txtCentro']);
$convocatoria->setFechainicio(DateTime::createFromFormat(
'Y-m-d', strval($_POST['dtFechaInicio'])
));
$convocatoria->setFechafin(DateTime::createFromFormat(
'Y-m-d H:i:s', strval($_POST['dtFechaFin']) . ' 23:59:59'
));
$convocatoria->setFechaultimaactualizacion(DateTime::createFromFormat(
'Y-m-d', strval($_POST['dtFechaUltimaActualizacion'])
));
//En las Altas es oblogatorio que esté informado
//$convocatoria->setRutaarchivoconvocatoria($_POST['flPDFConvocatoria']);
if (!isset($_FILES['flPDFConvocatoria'])
|| strlen(trim($_FILES['flPDFConvocatoria']['name'])) <= 0
) {
throw new Exception(
'El campo PDF Convocatoria debe estar informado o contener un valor válido<BR>'
);
} elseif (isset($_FILES['flPDFConvocatoria'])
&& strlen(trim($_FILES['flPDFConvocatoria']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
$_FILES['flPDFConvocatoria']['name'] =
clean($_FILES['flPDFConvocatoria']['name']); //limpiamos las rutas
$convocatoria->setRutaarchivoconvocatoria('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFConvocatoria']['name']);
$fileOrigen = $_FILES['flPDFConvocatoria'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoconvocatoria();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
// doocumentos especificos
if (isset($_FILES['flPDFEspecifico'])
&& strlen(trim($_FILES['flPDFEspecifico']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
//subimos el fichero
$_FILES['flPDFEspecifico']['name'] =
clean($_FILES['flPDFEspecifico']['name']); //limpiamos las rutas
$convocatoria->setRutaarchivoespecifico('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFEspecifico']['name']);
$fileOrigen = $_FILES['flPDFEspecifico'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoespecifico();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
if (isset($_FILES['flPDFResolucionFinal'])
&& strlen(trim($_FILES['flPDFResolucionFinal']['name'])) > 0
) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
//subimos el fichero
$_FILES['flPDFResolucionFinal']['name'] =
clean($_FILES['flPDFResolucionFinal']['name']); //limpiamos las rutas
$convocatoria->setRutaarchivoresolucionfinal('//'
. $_ENV['CALL_FILES_DIR']
. '/'
. clean($convocatoria->getReferencia())
. '//'
. $_FILES['flPDFResolucionFinal']['name']);
$fileOrigen = $_FILES['flPDFResolucionFinal'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $convocatoria->getRutaarchivoresolucionfinal();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
unset($retorno);
} else {
if (isset($retorno)) {
unset($retorno);
$convocatoria = null;
return null;
}
}
}
$convocatoria->setUrlweb($_POST['txtWeb']);
$convocatoria->setUmbraldepuntuacion($_POST['txtUmbradePuntuacion']);
$convocatoria->setCodigoestadoconvocatoria($_POST['slctEstadoConvocatoria']);
$convocatoria->setCaducada(
$convocatoria->getFechafin() <
$convocatoria->getFechaultimaactualizacion()
);
if (isset($_POST['chkbaja'])) {
$convocatoria->setBaja(true);
} else {
$convocatoria->setBaja(false);
}
$convocatoria->setDescripcion($_POST['txtDescripcion']);
$convocatoria->setDescripcionEn($_POST['txtDescripcionen']);
if (isset($_POST['examen_obligatorio'])) {
$convocatoria->setTieneExamen(true);
$convocatoria->setTotalPuntos($_POST['totalPuntos']);
$convocatoria->setPuntuacionCorte($_POST['puntuacionCorte']);
$convocatoria->setPuntuacionMaxima($_POST['puntuacionMaxima']);
$convocatoria->setPuntuacionMaximaMeritos($_POST['puntuacionMaximaMeritos']);
$convocatoria->setPonderacionExamen($_POST['ponderacionExamen']);
$convocatoria->setPonderacionMeritos($_POST['ponderacionMeritos']);
} else {
$convocatoria->setTieneExamen(false);
$convocatoria->setTotalPuntos(0);
$convocatoria->setPuntuacionCorte(0);
$convocatoria->setPuntuacionMaxima(0);
$convocatoria->setPuntuacionMaximaMeritos(0);
$convocatoria->setPonderacionExamen(0);
$convocatoria->setPonderacionMeritos(0);
}
if (isset($_POST['substitute_check'])) {
$convocatoria->setSustituto($_POST['substitute']);
}else {
$convocatoria->setSustituto(null);
}
if (isset($_POST['plazaAdjudicada'])) {
$convocatoria->setPlazaAdjudicada($_POST['plazaAdjudicada']);
} else {
$convocatoria->setPlazaAdjudicada(null);
}
}
} catch (Exception $exception) {
$convocatoria = null;
echo "construirConvocatoria(): " . $exception->getMessage();
} finally {
return $convocatoria;
}
}
function validarResolucion(): string
{
/*
idconvocatoriaresolucion->
*codigoconvocatoria->$_POST['txtCvtResolucion']
*descripcion->$_POST['txtDescripcion']
*fecharesolucion->la actual
*rutaficheroresolucion->$_FILES['flResolucion']
*baja->
*/
$msgError = "";
//Validar CodigoConvocatoria
if (!isset($_POST['txtCvtResolucion'])) {
$msgError =
$msgError . "El campo CodigoConvocatoria debe estar informado<BR>";
} else {
if ($_POST['txtCvtResolucion'] == null
|| strlen(trim($_POST['txtCvtResolucion'])) <= 0
|| !is_numeric($_POST['txtCvtResolucion'])) {
$msgError = $msgError
. "El campo CodigoConvocatoria debe estar informado o contener un valor válido<BR>";
}
}
//Validar Descripcion
if (!isset($_POST['txtDescripcion'])) {
$msgError = $msgError . "El campo Descripcion debe estar informado<BR>";
} else {
if ($_POST['txtDescripcion'] == null
|| strlen(trim($_POST['txtDescripcion'])) <= 0) {
$msgError = $msgError
. "El campo Descripcion debe estar informado o contener un valor válido<BR>";
}
}
//Validar RutaFicheroResolucion
if (!isset($_FILES['flResolucion'])) {
$msgError = $msgError
. "El campo RutaFicheroResolucion debe estar informado<BR>";
} else {
if (($_FILES['flResolucion'] == null
|| strlen(trim($_FILES['flResolucion']['name'])) <= 0)) {
$msgError = $msgError
. "El campo RutaFicheroResolucion debe estar informado o contener un valor válido<BR>";
}
}
return $msgError;
}
function construirResolucion()
{
try {
/*
idconvocatoriaresolucion->
*codigoconvocatoria->$_POST['txtCvtResolucion']
*descripcion->$_POST['txtDescripcion']
*fecharesolucion->la actual
*rutaficheroresolucion->$_FILES['flResolucion']
*baja->
*/
$rslc = new DboConvocatoriaresolucion();
$rslc->setCodigoconvocatoria($_POST['txtCvtResolucion']);
$rslc->setDescripcion($_POST['txtDescripcion']);
if (isset($_POST['chkVisible']) && $_POST['chkVisible'] == true) {
$rslc->setVisible($_POST['chkVisible']);
} else {
$rslc->setVisible(false);
}
$datenow = new DateTime('now', new DateTimeZone('Europe/Madrid'));
$rslc->setFecharesolucion($datenow);
if (isset($_FILES['flResolucion'])
&& strlen(trim($_FILES['flResolucion']['name'])) > 0
&& isset($_POST['txtCvtReferencia'])) {
$load = new Load();
if ($load->loadEnv() == null || !isset($_ENV)) {
throw new Exception(
'No se han podido cargar las variables de entorno.'
);
}
//subimos el fichero
$_FILES['flResolucion']['name'] =
clean($_FILES['flResolucion']['name']); //limpiamos las rutas
$rslc->setRutaficheroresolucion('//' . $_ENV['CALL_FILES_DIR'] . '/'
. clean($_POST['txtCvtReferencia'])
. '//'
. $_FILES['flResolucion']['name']);
$fileOrigen = $_FILES['flResolucion'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"] . $_ENV['FILES_DIR']
. $rslc->getRutaficheroresolucion();
include(__DIR__ . "/../Utils/file_uploader.php");
if (isset($retorno) && $retorno == true) {
//Ha ido bien
//destruimos el retorno para otra subida
unset($retorno);
} else {
//Algo ha ido mal
if (isset($retorno)) {
unset($retorno);
return null;
}
}
} else {
return null;
}
$rslc->setBaja(false);
} catch (Exception $exception) {
$rslc = null;
echo "construirResolucion(): " . $exception->getMessage();
} finally {
return $rslc;
}
}
function validarRequisito(): string
{
$msgError = "";
//Validar CodigoConvocatoria
if (!isset($_POST['txtCvtRequisito'])) {
$msgError =
$msgError . "El campo CodigoConvocatoria debe estar informado<BR>";
} else {
if ($_POST['txtCvtRequisito'] == null
|| strlen(trim($_POST['txtCvtRequisito'])) <= 0
|| !is_numeric($_POST['txtCvtRequisito'])) {
$msgError = $msgError
. "El campo CodigoConvocatoria debe estar informado o contener un valor válido<BR>";
}
}
//Validar Requisito
if (!isset($_POST['txtRequisito'])) {
$msgError = $msgError . "El campo Requisito debe estar informado<BR>";
} else {
if ($_POST['txtRequisito'] == null
|| strlen(trim($_POST['txtRequisito'])) <= 0) {
$msgError = $msgError
. "El campo Requisito debe estar informado o contener un valor válido<BR>";
}
}
//Validar Descripcion
if (!isset($_POST['txtReqDescripcion'])) {
$msgError = $msgError . "El campo Descripcion debe estar informado<BR>";
} else {
if ($_POST['txtReqDescripcion'] == null
|| strlen(trim($_POST['txtReqDescripcion'])) <= 0) {
$msgError = $msgError
. "El campo Descripcion debe estar informado o contener un valor válido<BR>";
}
}
return $msgError;
}
function construirRequisito()
{
try {
/*
idconvocatoriarequisito->
*codigoconvocatoria->$_POST['txtCvtRequisito']
*requisito->$_POST['txtRequisito']
descripcion->$_POST['txtReqDescripcion']
*baja->
obligatorio->$_POST['chkObligatorio']
*/
$rqst = new DboConvocatoriarequisito();
$rqst->setCodigoconvocatoria($_POST['txtCvtRequisito']);
$rqst->setRequisito($_POST['txtRequisito']);
$rqst->setDescripcion($_POST['txtReqDescripcion']);
$rqst->setBaja(false);
if (isset($_POST['chkObligatorio'])
&& $_POST['chkObligatorio'] == true) {
$rqst->setObligatorio($_POST['chkObligatorio']);
} else {
$rqst->setObligatorio(false);
}
} catch (Exception $exception) {
$rqst = null;
echo "construirRequisito(): " . $exception->getMessage();
} finally {
return $rqst;
}
}
function validarMerito(): string
{
$msgError = "";
//Validar CodigoConvocatoria
if (!isset($_POST['txtCvtMerito'])) {
$msgError =
$msgError . "El campo CodigoConvocatoria debe estar informado<BR>";
} else {
if ($_POST['txtCvtMerito'] == null
|| strlen(trim($_POST['txtCvtMerito'])) <= 0
|| !is_numeric($_POST['txtCvtMerito'])) {
$msgError = $msgError
. "El campo CodigoConvocatoria debe estar informado o contener un valor válido<BR>";
}
}
//Validar Merito
if (!isset($_POST['txtMerito'])) {
$msgError = $msgError . "El campo Mérito debe estar informado<BR>";
} else {
if ($_POST['txtMerito'] == null
|| strlen(trim($_POST['txtMerito'])) <= 0) {
$msgError = $msgError
. "El campo Mérito debe estar informado o contener un valor válido<BR>";
}
}
//Validar Descripcion
if (!isset($_POST['txtMeritDescripcion'])) {
$msgError = $msgError . "El campo Descripcion debe estar informado<BR>";
} else {
if ($_POST['txtMeritDescripcion'] == null
|| strlen(trim($_POST['txtMeritDescripcion'])) <= 0) {
$msgError = $msgError
. "El campo Descripcion debe estar informado o contener un valor válido<BR>";
}
}
return $msgError;
}
function construirMerito()
{
try {
/*
idconvocatoriamerito->
*codigoconvocatoria->$_POST['txtCvtMerito']
*merito->$_POST['txtMerito']
descripcion->$_POST['txtMeritDescripcion']
*baja->
*/
$mrt = new DboConvocatoriamerito();
$mrt->setCodigoconvocatoria($_POST['txtCvtMerito']);
$mrt->setMerito($_POST['txtMerito']);
$mrt->setDescripcion($_POST['txtMeritDescripcion']);
$mrt->setBaja(false);
} catch (Exception $exception) {
$mrt = null;
echo "construirMerito(): " . $exception->getMessage();
} finally {
return $mrt;
}
}
function validarTribunal($lstUsuarios): string
{
$msgError = "";
//Validar Presidente
if (!isset($_POST['txtPresidente'])) {
$msgError =
$msgError . "El rol de Presidente/a debe estar asignado<BR>";
} else {
if ($_POST['txtPresidente'] == null
|| strlen(trim($_POST['txtPresidente'])) <= 0
|| !in_array($_POST['txtPresidente'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Presidente/a debe estar informado o contener un valor válido<BR>";
}
}
//Validar Presidente Suplente
if (!isset($_POST['txtPresidenteSubs'])) {
$msgError = $msgError
. "El rol de Suplente de Presidente/a debe estar asignado<BR>";
} else {
if ($_POST['txtPresidenteSubs'] == null
|| strlen(trim($_POST['txtPresidenteSubs'])) <= 0
|| !in_array($_POST['txtPresidenteSubs'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Suplente de Presidente/a debe estar informado o contener un valor válido<BR>";
}
}
//Validar Secretario
if (!isset($_POST['txtSecretario'])) {
$msgError =
$msgError . "El rol de Secretario/a debe estar asignado<BR>";
} else {
if ($_POST['txtSecretario'] == null
|| strlen(trim($_POST['txtSecretario'])) <= 0
|| !in_array($_POST['txtSecretario'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Secretario/a debe estar informado o contener un valor válido<BR>";
}
}
//Validar Secretario Suplente
if (!isset($_POST['txtSecretarioSubs'])) {
$msgError = $msgError
. "El rol de Suplente de Secretario/a debe estar asignado<BR>";
} else {
if ($_POST['txtSecretarioSubs'] == null
|| strlen(trim($_POST['txtSecretarioSubs'])) <= 0
|| !in_array($_POST['txtSecretarioSubs'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Suplente de Secretario/a debe estar informado o contener un valor válido<BR>";
}
}
//Validar Vocal
if (!isset($_POST['txtVocal1'])) {
$msgError = $msgError . "El rol de Vocal debe estar asignado<BR>";
} else {
if ($_POST['txtVocal1'] == null
|| strlen(trim($_POST['txtVocal1'])) <= 0
|| !in_array($_POST['txtVocal1'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Vocal debe estar informado o contener un valor válido<BR>";
}
}
//Validar Vocal Suplente
if (!isset($_POST['txtVocal1Subs'])) {
$msgError =
$msgError . "El rol de Suplente de Vocal debe estar asignado<BR>";
} else {
if ($_POST['txtVocal1Subs'] == null
|| strlen(trim($_POST['txtVocal1Subs'])) <= 0
|| !in_array($_POST['txtVocal1Subs'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Suplente de Vocal debe estar informado o contener un valor válido<BR>";
}
}
//Validar Vocal 2 Suplente (solo si el Vocal 2 existe)
if (isset($_POST['txtVocal2']) && strlen(trim($_POST['txtVocal2'])) > 0) {
//Validar Vocal 2
if (!in_array($_POST['txtVocal2'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Vocal 2 debe estar informado o contener un valor válido<BR>";
}
if (!isset($_POST['txtVocal2Subs'])) {
$msgError = $msgError
. "El rol de Suplente de Vocal 2 debe estar asignado<BR>";
} else {
if ($_POST['txtVocal2Subs'] == null
|| strlen(trim($_POST['txtVocal2Subs'])) <= 0
|| !in_array($_POST['txtVocal2Subs'], $lstUsuarios)) {
$msgError = $msgError
. "El rol de Suplente de Vocal 2 debe estar informado o contener un valor válido<BR>";
}
}
}
return $msgError;
}
function construirTribunal($lstRoles)
{
try {
$trbnlcvt = [];
foreach ($_SESSION['data']['lusuariosWP'] as $usuarioWP) {
if ($usuarioWP->getDisplayName() == $_POST['txtPresidente']) {
$idPresidente = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtPresidenteSubs']) {
$idPresidenteSubs = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtSecretario']) {
$idSecretario = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtSecretarioSubs']) {
$idSecretarioSubs = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtVocal1']) {
$idVocal1 = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtVocal1Subs']) {
$idVocal1Subs = $usuarioWP->getId();
}
if (isset($_POST['txtVocal2'])
&& strlen(trim($_POST['txtVocal2'])) > 0) {
if ($usuarioWP->getDisplayName() == $_POST['txtVocal2']) {
$idVocal2 = $usuarioWP->getId();
}
if ($usuarioWP->getDisplayName() == $_POST['txtVocal2Subs']) {
$idVocal2Subs = $usuarioWP->getId();
}
}
}
foreach ($lstRoles as $rol) {
if ($rol->getRol() == "Presidente"
|| $rol->getRol() == "President") {
$idRolPte = $rol->getIdrol();
}
if ($rol->getRol() == "Secretario/a"
|| $rol->getRol() == "Secretary") {
$idRolScrtr = $rol->getIdrol();
}
if ($rol->getRol() == "Vocal" || $rol->getRol() == "Officer") {
$idRolVocal = $rol->getIdrol();
}
if ($rol->getRol() == "Vocal 2" || $rol->getRol() == "Officer 2") {
$idRolVocal2 = $rol->getIdrol();
}
if ($rol->getRol() == "Administrador"
|| $rol->getRol() == "Administrator") {
$idRolAdmin = $rol->getIdrol();
}
}
$presidente = new DboTribunalconvocatoria();
$presidente->setCodigousuariowp($idPresidente);
$presidente->setCodigoconvocatoria($_POST['txtConvocatoria']);
$presidente->setCodigorol($idRolPte);
$presidente->setEssuplente(false);
$presidente->setAsumerolprincipal(false);
$presidente->setBaja(false);
if (isset($_POST['chkPresidenteSubs']) && $_POST['chkPresidenteSubs']) {
$presidente->setEssuplente(true);
}
array_push($trbnlcvt, $presidente);
$presidenteSubs = new DboTribunalconvocatoria();
$presidenteSubs->setCodigousuariowp($idPresidenteSubs);
$presidenteSubs->setCodigoconvocatoria($_POST['txtConvocatoria']);
$presidenteSubs->setCodigorol($idRolPte);
$presidenteSubs->setEssuplente(true);
if (isset($_POST['chkPresidenteSubs']) && $_POST['chkPresidenteSubs']) {
$presidenteSubs->setAsumerolprincipal(true);
$presidenteSubs->setEssuplente(false);
} else {
$presidenteSubs->setAsumerolprincipal(false);
}
$presidenteSubs->setBaja(false);
array_push($trbnlcvt, $presidenteSubs);
$secretario = new DboTribunalconvocatoria();
$secretario->setCodigousuariowp($idSecretario);
$secretario->setCodigoconvocatoria($_POST['txtConvocatoria']);
$secretario->setCodigorol($idRolScrtr);
$secretario->setEssuplente(false);
$secretario->setAsumerolprincipal(false);
$secretario->setBaja(false);
if (isset($_POST['chkSecretarioSubs']) && $_POST['chkSecretarioSubs']) {
$secretario->setEssuplente(true);
}
array_push($trbnlcvt, $secretario);
$secretarioSubs = new DboTribunalconvocatoria();
$secretarioSubs->setCodigousuariowp($idSecretarioSubs);
$secretarioSubs->setCodigoconvocatoria($_POST['txtConvocatoria']);
$secretarioSubs->setCodigorol($idRolScrtr);
$secretarioSubs->setEssuplente(true);
if (isset($_POST['chkSecretarioSubs']) && $_POST['chkSecretarioSubs']) {
$secretarioSubs->setEssuplente(false);
$secretarioSubs->setAsumerolprincipal(true);
} else {
$secretarioSubs->setAsumerolprincipal(false);
}
$secretarioSubs->setBaja(false);
array_push($trbnlcvt, $secretarioSubs);
$vocal1 = new DboTribunalconvocatoria();
$vocal1->setCodigousuariowp($idVocal1);
$vocal1->setCodigoconvocatoria($_POST['txtConvocatoria']);
$vocal1->setCodigorol($idRolVocal);
$vocal1->setEssuplente(false);
$vocal1->setAsumerolprincipal(false);
$vocal1->setBaja(false);
if (isset($_POST['chkVocal1Subs']) && $_POST['chkVocal1Subs']) {
$vocal1->setEssuplente(true);
}
array_push($trbnlcvt, $vocal1);
$vocal1Subs = new DboTribunalconvocatoria();
$vocal1Subs->setCodigousuariowp($idVocal1Subs);
$vocal1Subs->setCodigoconvocatoria($_POST['txtConvocatoria']);
$vocal1Subs->setCodigorol($idRolVocal);
$vocal1Subs->setEssuplente(true);
if (isset($_POST['chkVocal1Subs']) && $_POST['chkVocal1Subs']) {
$vocal1Subs->setEssuplente(false);
$vocal1Subs->setAsumerolprincipal(true);
} else {
$vocal1Subs->setAsumerolprincipal(false);
}
$vocal1Subs->setBaja(false);
array_push($trbnlcvt, $vocal1Subs);
if (isset($_POST['txtVocal2'])
&& strlen(trim($_POST['txtVocal2'])) > 0) {
$vocal2 = new DboTribunalconvocatoria();
$vocal2->setCodigousuariowp($idVocal2);
$vocal2->setCodigoconvocatoria($_POST['txtConvocatoria']);
$vocal2->setCodigorol($idRolVocal2);
$vocal2->setEssuplente(false);
$vocal2->setAsumerolprincipal(false);
$vocal2->setBaja(false);
if (isset($_POST['chkVocal2Subs']) && $_POST['chkVocal2Subs']) {
$vocal2->setEssuplente(true);
}
array_push($trbnlcvt, $vocal2);
$vocal2Subs = new DboTribunalconvocatoria();
$vocal2Subs->setCodigousuariowp($idVocal2Subs);
$vocal2Subs->setCodigoconvocatoria($_POST['txtConvocatoria']);
$vocal2Subs->setCodigorol($idRolVocal2);
$vocal2Subs->setEssuplente(true);
if (isset($_POST['chkVocal2Subs']) && $_POST['chkVocal2Subs']) {
$vocal2Subs->setEssuplente(false);
$vocal2Subs->setAsumerolprincipal(true);
} else {
$vocal2Subs->setAsumerolprincipal(false);
}
$vocal2Subs->setBaja(false);
array_push($trbnlcvt, $vocal2Subs);
}
$admins = new DboTribunalconvocatoria();
$admins->setCodigousuariowp(1);
$admins->setCodigoconvocatoria($_POST['txtConvocatoria']);
$admins->setCodigorol($idRolAdmin);
$admins->setEssuplente(false);
$admins->setAsumerolprincipal(true);
$admins->setBaja(false);
array_push($trbnlcvt, $admins);
} catch (Exception $exception) {
$trbnlcvt = null;
echo "construirTribunal(): " . $exception->getMessage();
} finally {
return $trbnlcvt;
}
}
function construirRequisitoValoracion($req, $eval_pass, $comment)
{
try {
$vlc = new DboTribunalvaloracion();
$vlc->setCodigoconvocatoria($_POST['convocatoria']);
$vlc->setCodigocandidato($_POST['candidato_id']);
$vlc->setCodigoconvocatoriarequisito2($req);
echo ' eval_pass ' . $comment . ' ';
$boolean_eval_pass = strpos($eval_pass, 'nosuperado') !== false;
$vlc->setEstasuperado($boolean_eval_pass);
$vlc->setComentario($comment);
$datenow = new DateTime('now', new DateTimeZone('Europe/Madrid'));
$vlc->setFecha($datenow);
$vlc->setBaja(false);
} catch (Exception $exception) {
$vlc = null;
echo "construirValoracion(): " . $exception->getMessage();
} finally {
return $vlc;
}
}
function clean($string): string
{
$string = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $string);
$string =
str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
$string =
preg_replace('/[^A-Za-z0-9\-\.]/', '', $string); // Removes special chars.
return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one
}
?>