File: /home/undanet/www//PortalEmpleo/listarconvocatorias1.php
<?php
use PortalEmpleo\Entity\DboConvocatoria;
use PortalEmpleo\Entity\DboCandidatoconvocatoria;
use PortalEmpleo\Entity\DboEstadoconvocatoria;
use PortalEmpleo\Controller\ConvocatoriaController;
use PortalEmpleo\Utils\Load;
require __DIR__ . '/vendor/autoload.php';
session_start();
//include('src/Controller/UserController.php');
$controllerconvocatoria = new ConvocatoriaController();
if( pll_current_language() == 'en')
$lang = 'en_GB';
else
$lang = 'es_ES';
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST['accionConvocatoria']))
{
switch ($_POST['accionConvocatoria']) {
case 'DetalleConvocatoria':
if(isset($_POST['convocatoriaId']))
{
$id = $_POST['convocatoriaId'];
if(isset($_POST['candidatoIdWP']))
{
call_user_func(array($controllerconvocatoria, 'detalleConvocatoria'), $id, isset($lang) ? $lang : 'es_ES', $_POST['candidatoIdWP']);
}
else
{
call_user_func(array($controllerconvocatoria, 'detalleConvocatoria'), $id, isset($lang) ? $lang : 'es_ES', null);
}
}
break;
case 'Modificar':
if(isset($_POST['convocatoriaId']))
{
$id = $_POST['convocatoriaId'];
call_user_func(array($controllerconvocatoria, 'modificarConvocatoria'), $id, isset($lang) ? $lang : 'es_ES');
}
break;
case 'ActualizarConvocatoria':
case 'AltaConvocatoria':
//Comprobar variables $_post
//funcion para validar los datos
$datosOK = "";
$datosOK = validarConvocatoria();
//llamar la controler para actualizar
if($datosOK == "")
{
//$id = $_POST['convocatoriaId'];
$convocat = construirConvocatoria();
if(isset($convocat))
{
call_user_func(array($controllerconvocatoria, 'actualizarConvocatoria'), $convocat, isset($lang) ? $lang : 'es_ES');
}
}
else
{
echo '<BR><form method="post" action =""><input type="submit" id="btnListar" name="accionConvocatoria" value="ListarConvocatorias"></form>';
}
break;
case 'ListarConvocatorias':
listarConvocatorias($controllerconvocatoria);
break;
case 'BuscarConvocatorias':
call_user_func(array($controllerconvocatoria, 'buscadorConvocatorias'), isset($lang) ? $lang : 'es_ES');
break;
/*case 'Eliminar':
if(isset($_POST['userId']))
{
$userId = $_POST['userId'];
call_user_func(array($controllerconvocatoria, 'eliminarUsuario'), $userId);
}
break;*/
case 'Nueva Convocatoria':
call_user_func(array($controllerconvocatoria, 'nuevaConvocatoria'),isset($lang) ? $lang : 'es_ES');
break;
case 'Inscribirse':
case 'Register':
if(isset($_POST['convocatoriaId']) && isset($_POST['candidatoIdWP']))
{
$idConvocatoria = $_POST['convocatoriaId'];
$idCandidatoWP = $_POST['candidatoIdWP'];
call_user_func(array($controllerconvocatoria, 'inscripcionConvocatoria'), $idConvocatoria, $idCandidatoWP, isset($lang) ? $lang : 'es_ES');
}
elseif(isset($_POST['candidatoIdWP']))
{
$idCandidatoWP = $_POST['candidatoIdWP'];
call_user_func(array($controllerconvocatoria, 'inscripcionConvocatoria'), null, $idCandidatoWP, isset($lang) ? $lang : 'es_ES');
}
break;
case 'InscribirCandidato':
$datosOK = "";
$datosOK = validarCandidatoConvocatoria();
if($datosOK == "")
{
$cndcvt = construirCandidatoConvocatoria();
if(isset($cndcvt))
{
$idCandidatoWP = $_POST['candidatoIdWP'];
$lfiles = [];
foreach ($_FILES as $ctl => $file) {
if (strlen(trim($file['name']))>0)
{
if (!strlen(stripos($ctl, "fl")) > 0) {
$file['name'] = $ctl . '_' . $file['name'];
}
array_push($lfiles, $file);
}
}
if(count($lfiles) > 0 && is_numeric($_POST['txtCdt']) && is_numeric($_POST['convocatoriaId']) && is_numeric($_POST['candidatoIdWP']))
{
//$result = uploadFiles($lfiles, $_POST['txtCdt'], $_POST['convocatoriaId']);
$result = uploadFiles($lfiles, $_POST['candidatoIdWP'], $_POST['convocatoriaId']);
}
if(count($lfiles) <= 0) //Si no hay ficheros (usa lo del perfil)
{
call_user_func(array($controllerconvocatoria, 'insertarCandidatoConvocatoria'), $cndcvt, $idCandidatoWP, isset($lang) ? $lang : 'es_ES');
}
else
{
if($result!= -1) //Si hay ficheros y no hay error en la subida
{
if($lang=='en' || $lang=='en_GB')
{
echo '<script language="javascript">alert("Files uploaded successfully");</script>';
}
else
{
echo '<script language="javascript">alert("Archivos subidos con éxito");</script>';
}
call_user_func(array($controllerconvocatoria, 'insertarCandidatoConvocatoria'), $cndcvt, $idCandidatoWP, isset($lang) ? $lang : 'es_ES');
}
else
{
if($lang=='en' || $lang=='en_GB')
{
echo '<br>An error has occurred when processing your attached files. Please, check the size of the files (not up from 10MB) and check that all files extension are allowed';
}
else
{
echo '<br>Se ha producido un error al subir los ficheros adjuntos. Por favor, revise el tamaño de los archivos (no superior a 10MB) y la extensión de los mismos';
}
}
}
}
}
else
{
echo $datosOK;
}
break;
case 'CandidaturaEspontanea':
$datosOK = "";
$datosOK = validarCandidaturaEspontanea();
if($datosOK == "")
{
$cndcvt = construirCandidaturaEspontanea();
if(isset($cndcvt))
{
$idCandidatoWP = $_POST['candidatoIdWP'];
call_user_func(array($controllerconvocatoria, 'insertarCandidaturaEspontanea'), $cndcvt, $idCandidatoWP, isset($lang) ? $lang : 'es_ES');
}
}
else
{
echo $datosOK;
}
break;
default:
listarConvocatorias($controllerconvocatoria);
break;
}
}
else
{
if(isset($_POST['username-114']) && isset($_POST['user_password-114']) && $_POST['nologin'])
{
$credentials = array();
$credentials['user_login'] = $_POST['username-114'];
$credentials['user_password'] = $_POST['user_password-114'];
$credentials['remember'] = true;
$new_user = wp_signon( $credentials, '' );
$_POST['username-114']=null;
$_POST['user_password-114']=null;
header("LOCATION:$actual_link");
}
else
{
listarConvocatorias($controllerconvocatoria);
}
}
}
else
{
if(isset($_POST['accionConvocatoria']) && isset($_POST['convocatoriaId']))
{
$id = $_POST['convocatoriaId'];
call_user_func(array($controllerconvocatoria, 'detalleConvocatoria'), $id, isset($lang) ? $lang : 'es_ES');
}
else
{
listarConvocatorias($controllerconvocatoria);
}
}
function listarConvocatorias($controller)
{
if(isset($_POST['convocatoriaId']))
{
unset($_POST['convocatoriaId']);
}
call_user_func(array($controller, 'listarConvocatorias'), isset($lang) ? $lang : 'es_ES');
}
function validarConvocatoria()
{
/*
idconvocatoria->
*referencia->$_POST['txtReferencia']
*puestotrabajo->$_POST['txtPuestoTrabajo']
*centro->$_POST['txtCentro']
*fechainicio->$_POST['dtFechaInicio']
*fechafin->$_POST['dtFechaFin']
*fechaultimaactualizacion->$_POST['dtFechaUltimaActualizacion']
*rutaarchivoconvocatoria->$_POST['flPDFConvocatoria']
*rutaarchivoresolucionfinal->$_POST['flPDFResolucionFinal']
*urlweb->$_POST['txtWeb']
*codigoestadoconvocatoria->$_POST['slctEstadoConvocatoria']
*caducada-> comparar la fechafin con la actual o la de la ultima actualizacion
*baja->
*descripcion->$_POST['txtDescripcion']
*/
$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>";
}
return $msgError;
}
function construirConvocatoria()
{
try
{
/*
idconvocatoria->
*referencia->$_POST['txtReferencia']
*puestotrabajo->$_POST['txtPuestoTrabajo']
*centro->$_POST['txtCentro']
*fechainicio->$_POST['dtFechaInicio']
*fechafin->$_POST['dtFechaFin']
*fechaultimaactualizacion->$_POST['dtFechaUltimaActualizacion']
*rutaarchivoconvocatoria->$_POST['flPDFConvocatoria']
*rutaarchivoresolucionfinal->$_POST['flPDFResolucionFinal']
*urlweb->$_POST['txtWeb']
*codigoestadoconvocatoria->$_POST['slctEstadoConvocatoria']
*caducada-> comparar la fechafin con la actual o la de la ultima actualizacion
*baja->
*descripcion->$_POST['txtDescripcion']
*/
$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', strval($_POST['dtFechaFin'])) : $_SESSION['data']->setFechafin());
$convocatoria->setFechaultimaactualizacion(($_SESSION['data']->getFechaultimaactualizacion()!=$_POST['dtFechaUltimaActualizacion']) ? DateTime::createFromFormat('Y-m-d', strval($_POST['dtFechaUltimaActualizacion'])) : $_SESSION['data']->getFechaultimaactualizacion());
$convocatoria->setRutaarchivoconvocatoria(($_SESSION['data']->getRutaarchivoconvocatoria()!=$_POST['flPDFConvocatoria']) ? $_POST['flPDFConvocatoria'] : $_SESSION['data']->getRutaarchivoconvocatoria());
$convocatoria->setRutaarchivoresolucionfinal(($_SESSION['data']->getRutaarchivoresolucionfinal()!=$_POST['flPDFResolucionFinal']) ? $_POST['flPDFResolucionFinal'] : $_SESSION['data']->getRutaarchivoresolucionfinal());
$convocatoria->setUrlweb(($_SESSION['data']->getUrlweb()!=$_POST['txtWeb']) ? $_POST['txtWeb'] : $_SESSION['data']->getUrlweb());
$convocatoria->setCodigoestadoconvocatoria($_POST['slctEstadoConvocatoria']);
$convocatoria->setCaducada($convocatoria->getFechafin()<$convocatoria->getFechaultimaactualizacion());
$convocatoria->setBaja(false);
$convocatoria->setDescripcion(($_SESSION['data']->getDescripcion()!=$_POST['txtDescripcion']) ? $_POST['txtDescripcion'] : $_SESSION['data']->getDescripcion());
}
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', strval($_POST['dtFechaFin'])));
$convocatoria->setFechaultimaactualizacion(DateTime::createFromFormat('Y-m-d', strval($_POST['dtFechaUltimaActualizacion'])));
$convocatoria->setRutaarchivoconvocatoria($_POST['flPDFConvocatoria']);
$convocatoria->setRutaarchivoresolucionfinal($_POST['flPDFResolucionFinal']);
$convocatoria->setUrlweb($_POST['txtWeb']);
$convocatoria->setCodigoestadoconvocatoria($_POST['slctEstadoConvocatoria']);
$convocatoria->setCaducada($convocatoria->getFechafin()<$convocatoria->getFechaultimaactualizacion());
$convocatoria->setBaja(false);
$convocatoria->setDescripcion($_POST['txtDescripcion']);
}
}
catch (Exception $exception)
{
$convocatoria = null;
echo "construirConvocatoria(): " . $exception->getMessage();
}
finally
{
return $convocatoria;
}
}
function validarCandidatoConvocatoria()
{
/*
*IdCandidatoConvocatoria->
*CodigoCandidato-> se usa el de WP por seguridad $_POST['candidatoIdWP']
*CodigoConvocatoria->$_POST['convocatoriaId']
*FechaInscripcion->la actual
*PuestoTrabajo->$_POST['slctPuestoTrabajo']
*RutaCV->$_FILES['flCV'] o si no añade uno diferente $_POST['txtflCV']
RutaCP->$_FILES['flCartaPresentacion'] o si no añade uno diferente $_POST['txtflCartaPresentacion']
*Baja->
*/
$msgError = "";
//Validar CodigoCandidato
if(!isset($_POST['candidatoIdWP']))
{
$msgError = $msgError . "El campo candidatoIdWP debe estar informado<BR>";
}
else if ($_POST['candidatoIdWP']==null || !is_numeric($_POST['candidatoIdWP']))
{
$msgError = $msgError . "El campo candidatoIdWP debe estar informado o contener un valor válido<BR>";
}
//Validar CodigoConvocatoria
if(!isset($_POST['convocatoriaId']))
{
$msgError = $msgError . "El campo CodigoConvocatoria debe estar informado<BR>";
}
else if ($_POST['convocatoriaId']==null || !is_numeric($_POST['convocatoriaId']))
{
$msgError = $msgError . "El campo CodigoConvocatoria debe estar informado o contener un valor válido<BR>";
}
//Validar PuestoTrabajo
if(!isset($_POST['slctPuestoTrabajo']))
{
$msgError = $msgError . "El campo PuestoTrabajo debe estar informado<BR>";
}
else if ($_POST['slctPuestoTrabajo']==null || strlen(trim($_POST['slctPuestoTrabajo']))<=0)
{
$msgError = $msgError . "El campo PuestoTrabajo debe estar informado o contener un valor válido<BR>";
}
//Validar RutaCV
if(!isset($_FILES['flCV']) && !isset($_POST['txtflCV']))
{
$msgError = $msgError . "El campo ruta CV debe estar informado<BR>";
}
else
{
if(isset($_FILES['flCV']))
{
if (strlen(trim($_FILES['flCV']['name']))<=0 && strlen(trim($_POST['txtflCV']))<=0)
{
$msgError = $msgError . "El campo ruta CV debe estar informado o contener un valor válido<BR>";
}
}
if(isset($_POST['txtflCV']))
{
if ($_POST['txtflCV']==null || strlen(trim($_POST['txtflCV']))<=0)
{
$msgError = $msgError . "El campo ruta CV input debe estar informado o contener un valor válido<BR>";
}
}
}
return $msgError;
}
function construirCandidatoConvocatoria()
{
try
{
/*
*IdCandidatoConvocatoria->
*CodigoCandidato->$_POST['txtCdt']
*CodigoConvocatoria->$_POST['convocatoriaId']
*FechaInscripcion->la actual
*PuestoTrabajo->$_POST['slctPuestoTrabajo']
*RutaCV->$_FILES['flCV'] o si no añade uno diferente $_POST['txtflCV']
RutaCP->$_FILES['flCartaPresentacion'] o si no añade uno diferente $_POST['txtflCartaPresentacion']
*Baja->
*/
$cdtcvt = new DboCandidatoconvocatoria();
//$cdtcvt->setCodigocandidato($_POST['txtCdt']);
$cdtcvt->setCodigoconvocatoria($_POST['convocatoriaId']);
$datenow = new DateTime('now');
$cdtcvt->setFechainscripcion($datenow);
$cdtcvt->setPuestotrabajo($_POST['slctPuestoTrabajo']);
if(!isset($_FILES['flCV']) || strlen(trim($_FILES['flCV']['name']))<=0) //Cuando no ha modificado el CV que tenia
{
$cdtcvt->setRutacv($_POST['txtflCV']);
}
elseif (isset($_FILES['flCV']) && strlen(trim($_FILES['flCV']['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['flCV']['name'] = clean($_FILES['flCV']['name']); //limpiamos las rutas
$cdtcvt->setRutacv('//'.$_ENV['CANDIDATE_FILES_DIR']. '/' .$_POST['candidatoIdWP']. '//C'. $_POST['convocatoriaId'] .'//'.$_FILES['flCV']['name']);
$fileOrigen = $_FILES['flCV'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"].$_ENV['FILES_DIR'].$cdtcvt->getRutacv();
include(__DIR__ . "/src/Utils/file_uploader.php");
if(isset($retorno) && $retorno==true)
{
//Ha ido bien
//destruimos el retorno para otra subida
unset($retorno);
}
else
{
echo $error;
//Algo ha ido mal
if(isset($retorno))
{
unset($retorno);
$cdtcvt = null;
return $cdtcvt;
}
}
}
if (isset($_FILES['flCartaPresentacion']) && strlen(trim($_FILES['flCartaPresentacion']['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['flCartaPresentacion']['name'] = clean($_FILES['flCartaPresentacion']['name']); //limpiamos las rutas
$cdtcvt->setRutacp('//'.$_ENV['CANDIDATE_FILES_DIR']. '/' .$_POST['candidatoIdWP']. '//C'. $_POST['convocatoriaId'] .'//'.$_FILES['flCartaPresentacion']['name']);
$fileOrigen = $_FILES['flCartaPresentacion'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"].$_ENV['FILES_DIR'].$cdtcvt->getRutacp();
include(__DIR__ . "/src/Utils/file_uploader.php");
if(!isset($retorno) || $retorno==false)
{
echo $error;
//Algo ha ido mal
if(isset($retorno))
{
unset($retorno);
$cdtcvt = null;
return $cdtcvt;
}
}
}
else
{
if(isset($_POST['chkCPPerfil']) && $_POST['chkCPPerfil']==true)
{
$cdtcvt->setRutacp($_POST['txtflCartaPresentacion']);
}
else
{
$cdtcvt->setRutacp(null);
}
}
$cdtcvt->setBaja(false);
}
catch (Exception $exception)
{
$cdtcvt = null;
echo "construirCandidatoConvocatoria(): " . $exception->getMessage();
}
finally
{
return $cdtcvt;
}
}
function validarCandidaturaEspontanea()
{
/*
*IdCandidatoConvocatoria->
*CodigoCandidato-> se usa el de WP por seguridad $_POST['candidatoIdWP']
*CodigoConvocatoria->
*FechaInscripcion->la actual
*PuestoTrabajo->$_POST['slctPerfil'] //antes $_POST['txtPuestoTrabajo']
*RutaCV->$_FILES['flCV'] o si no añade uno diferente $_POST['txtflCV']
RutaCP->$_FILES['flCartaPresentacion'] o si no añade uno diferente $_POST['txtflCartaPresentacion']
*Baja->
*/
$msgError = "";
//Validar CodigoCandidato
if(!isset($_POST['candidatoIdWP']))
{
$msgError = $msgError . "El campo candidatoIdWP debe estar informado<BR>";
}
else if ($_POST['candidatoIdWP']==null || !is_numeric($_POST['candidatoIdWP']))
{
$msgError = $msgError . "El campo candidatoIdWP debe estar informado o contener un valor válido<BR>";
}
//Validar RutaCV
if(!isset($_FILES['flCV']) && !isset($_POST['txtflCV']))
{
$msgError = $msgError . "El campo ruta CV debe estar informado<BR>";
}
else
{
if(isset($_FILES['flCV']))
{
if (strlen(trim($_FILES['flCV']['name']))<=0 && strlen(trim($_POST['txtflCV']))<=0)
{
$msgError = $msgError . "El campo ruta CV debe estar informado o contener un valor válido<BR>";
}
}
if(isset($_POST['txtflCV']))
{
if ($_POST['txtflCV']==null || strlen(trim($_POST['txtflCV']))<=0)
{
$msgError = $msgError . "El campo ruta CV input debe estar informado o contener un valor válido<BR>";
}
}
}
return $msgError;
}
function construirCandidaturaEspontanea()
{
try
{
/*
*IdCandidatoConvocatoria->
*CodigoCandidato->$_POST['txtCdt']
*CodigoConvocatoria->
*FechaInscripcion->la actual
*PuestoTrabajo->$_POST['slctPerfil'] //ANTES $_POST['txtPuestoTrabajo']
*RutaCV->$_FILES['flCV'] o si no añade uno diferente $_POST['txtflCV']
RutaCP->$_FILES['flCartaPresentacion'] o si no añade uno diferente $_POST['txtflCartaPresentacion']
*Baja->
*/
$cdtcvt = new DboCandidatoconvocatoria();
//$cdtcvt->setCodigocandidato($_POST['txtCdt']);
//$cdtcvt->setCodigoconvocatoria(null);
$datenow = new DateTime('now');
$cdtcvt->setFechainscripcion($datenow);
$cdtcvt->setPuestotrabajo($_POST['slctPerfil']);//ANTES $cdtcvt->setPuestotrabajo($_POST['txtPuestoTrabajo']);
if(!isset($_FILES['flCV']) || strlen(trim($_FILES['flCV']['name']))<=0) //Cuando no ha modificado el CV que tenia
{
$cdtcvt->setRutacv($_POST['txtflCV']);
}
elseif (isset($_FILES['flCV']) && strlen(trim($_FILES['flCV']['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['flCV']['name'] = clean($_FILES['flCV']['name']); //limpiamos las rutas
$cdtcvt->setRutacv('//'.$_ENV['CANDIDATE_FILES_DIR']. '/' .$_POST['candidatoIdWP']. '//CE//'.$_FILES['flCV']['name']);
$fileOrigen = $_FILES['flCV'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"].$_ENV['FILES_DIR'].$cdtcvt->getRutacv();
include(__DIR__ . "/src/Utils/file_uploader.php");
if(isset($retorno) && $retorno==true)
{
//Ha ido bien
//destruimos el retorno para otra subida
unset($retorno);
}
else
{
echo $error;
//Algo ha ido mal
if(isset($retorno))
{
unset($retorno);
$cdtcvt = null;
return $cdtcvt;
}
}
}
if (isset($_FILES['flCartaPresentacion']) && strlen(trim($_FILES['flCartaPresentacion']['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['flCartaPresentacion']['name'] = clean($_FILES['flCartaPresentacion']['name']); //limpiamos las rutas
$cdtcvt->setRutacp('//'.$_ENV['CANDIDATE_FILES_DIR']. '/' .$_POST['candidatoIdWP']. '//CE//'.$_FILES['flCartaPresentacion']['name']);
$fileOrigen = $_FILES['flCartaPresentacion'];
$fileDestino = $_SERVER["DOCUMENT_ROOT"].$_ENV['FILES_DIR'].$cdtcvt->getRutacp();
include(__DIR__ . "/src/Utils/file_uploader.php");
if(!isset($retorno) || $retorno==false)
{
echo $error;
//Algo ha ido mal
if(isset($retorno))
{
unset($retorno);
$cdtcvt = null;
return $cdtcvt;
}
}
}
else
{
if(isset($_POST['chkCPPerfil']) && $_POST['chkCPPerfil']==true)
{
$cdtcvt->setRutacp($_POST['txtflCartaPresentacion']);
}
else
{
$cdtcvt->setRutacp(null);
}
}
$cdtcvt->setBaja(false);
}
catch (Exception $exception)
{
$cdtcvt = null;
echo "construirCandidaturaEspontanea(): " . $exception->getMessage();
}
finally
{
return $cdtcvt;
}
}
function uploadFiles($lfiles, $idCandidatoWP, $idConvocatoria)
{
$load = new Load();
if($load->loadEnv() == null || !isset($_ENV))
{
throw $this->createNotFoundException(
'No se han podido cargar las variables de entorno.'
);
}
foreach ($lfiles as $fil) {
$fil['name'] = clean($fil['name']); //limpiamos las rutas
$ruta = '//' . $_ENV['CANDIDATE_FILES_DIR']. '/' . $idCandidatoWP . '//C'. $idConvocatoria .'//'.$fil['name'];
$fileOrigen = $fil;
$fileDestino = $_SERVER["DOCUMENT_ROOT"].$_ENV['FILES_DIR'].$ruta;
$permiteImagenes = true;
if(isset($retorno))
{
unset($retorno);
}
include(__DIR__ . "/src/Utils/file_uploader.php");
unset($permiteImagenes);
if(!isset($retorno) || $retorno==false)
{
//move_uploaded_file() del file_uploader devuelve false pero el archivo se sube con éxito. Se da por bueno
if($retorno==false && !file_exists($fileDestino))
{
echo $error;
//Algo ha ido mal
if(isset($retorno))
{
unset($retorno);
return -1;
}
}
}
}
}
function clean($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.
$string = preg_replace('/_+/', '_', $string); // Replaces multiple slack down with single one
return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one
}
?>