tieneRol("1")
&& !$usuario->tieneRol("4")){
header("Location: aplicacion.php?e=permiso");
exit;
}
include_once("html/cabecera.php");
include_once("Objects/HTML.php");
$html=new HTML($locale);
echo $html->menuCandidatos();
include_once("Objects/ListaCandidatos.php");
$listaCandidatos=new ListaCandidatos($usuario,"","","10");
//CAMPOS EN LOS QUE BUSCAR LA PALABRA
$resultado=$listaCandidatos->getCamposBusqueda();
$camposPermitidos = array("nombre", "apellidos", "observaciones");
////////////////////////////
// Proceso del Formulario
///////////////////////////
$errores=array();
$error = "";
$order_by="";
if(!empty($_GET["order"])){
$order_by = " ORDER by ".$_GET["order"]." ".$_GET["modo"];
} else {
$order_by = " ORDER BY fecha_modificacion DESC";
}
$modo = (!empty($_GET["modo"])) ? stripinput($_GET["modo"]) : "";
if (isset($_GET['byEstado'])) {
if ((isset($_SESSION['palabra'])) && ($_SESSION['palabra'] != ""))
$_POST['palabra'] = $_SESSION['palabra'];
if ((isset($_SESSION['campos'])) && ($_SESSION['campos'] != ""))
$_POST['campo'] = $_SESSION['campos'];
if ((isset($_SESSION['salario_busqueda_min'])) && ($_SESSION['salario_busqueda_min'] != ""))
$_POST['salario_busqueda_min'] = $_SESSION['salario_busqueda_min'];
if ((isset($_SESSION['salario_busqueda_max'])) && ($_SESSION['salario_busqueda_max'] != ""))
$_POST['salario_busqueda_max'] = $_SESSION['salario_busqueda_max'];
if ((isset($_SESSION['idiomas'])) && ($_SESSION['idiomas'] != ""))
$_POST['idiomas'] = $_SESSION['idiomas'];
if ((isset($_SESSION['perfiles_tecnicos'])) && ($_SESSION['perfiles_tecnicos'] != ""))
$_POST['id_perfil_tecnico'] = $_SESSION['perfiles_tecnicos'];
if ((isset($_SESSION['perfiles_funcionales'])) && ($_SESSION['perfiles_funcionales'] != ""))
$_POST['id_perfil_funcional'] = $_SESSION['perfiles_funcionales'];
if ((isset($_SESSION['tecnologias'])) && ($_SESSION['tecnologias'] != ""))
$_POST['tecnologias'] = $_SESSION['tecnologias'];
}
if ((isset($_POST['buscar'])) || (isset($_GET['byEstado']))) {
$palabra=$_POST['palabra'];
$campos=$_POST['campo'];
$tipoPedidos=$_GET['byEstado'];
$whereCampos="";
$tablas = "usuarios";
foreach($campos as $campo)
if ($campo != "") {
if ($whereCampos != "") {
$whereCampos = $whereCampos . " or ";
}
if ($campo == "cv") {
$ids = solr_buscar_palabra($palabra);
$whereCampos .= "usuarios.oid in (".implode(",", $ids).")";
}
else {
$whereCampos = $whereCampos . "usuarios.". $campo ." like '%". $palabra ."%'";
}
}
if (($palabra != "") && (count($campos) == 0)) {
$errores[]="1";
$error .= $locale['01903']."
";
}
$whereSalario="";
$salario_busqueda_min=$_POST['salario_busqueda_min'];
$salario_busqueda_max=$_POST['salario_busqueda_max'];
//VALIDAMOS QUE LOS VALORES SELECCIONADOS SE CORRESPONDAN A NUMÉRICOS Y QUE EL MIN SEA MENOR QUE EL MAX
$resul;
$valor_minimo="";
$valor_maximo="";
$bdconsulta=new BD();
$sql = "SELECT nombre from salario where (id = ". $salario_busqueda_min .")";
$resul = $bdconsulta->execQuery($sql);
while($fila = mysql_fetch_array($resul)) {
$valor_minimo = str_replace(".", "", $fila["nombre"]);
}
$sql = "SELECT nombre from salario where (id = ". $salario_busqueda_max .")";
$resul = $bdconsulta->execQuery($sql);
while($fila = mysql_fetch_array($resul)) {
$valor_maximo = str_replace(".", "", $fila["nombre"]);
}
if (($valor_minimo!="")) {
if (is_numeric($valor_minimo)) {
$tablas .= ", salario salario1";
$whereSalario = "((replace(replace(salario1.nombre, ',', '' ) , '.', '' ) >= ". $valor_minimo . ") and (salario1.id = usuarios.salario_min))";
}
else {
$errores[]="2";
$error .= $locale['01904']."
";
}
}
if (($valor_maximo!="")) {
if (is_numeric($valor_maximo) && ($valor_minimo <= $valor_maximo)) {
$tablas .= ", salario salario2";
if ($whereSalario != "") {
$whereSalario = $whereSalario . " and ";
}
$whereSalario .= "((replace(replace(salario1.nombre, ',', '' ) , '.', '' ) <= ". $valor_maximo . ") and (salario2.id = usuarios.salario_max))";
}
else {
$errores[]="2";
$error .= $locale['01904']."
";
}
}
$SemaforoPerfilTec = false;
$perfiles_tec = $_POST["id_perfil_tecnico"];
$wherePerfilesTec="";
foreach($perfiles_tec as $perfil)
if ($perfil != "") {
if(!$SemaforoPerfilTec)
$tablas .= ", capacidades capacidades1";
$SemaforoPerfilTec = true;
if ($wherePerfilesTec != "") {
$wherePerfilesTec = $wherePerfilesTec . " or ";
}
$wherePerfilesTec = $wherePerfilesTec . "(capacidades1.id_perfil_tecnico = ". $perfil ." and capacidades1.id_usuario = usuarios.oid)";
}
$SemaforoPerfilFun = false;
$perfiles_fun = $_POST["id_perfil_funcional"];
$wherePerfilesFun="";
foreach($perfiles_fun as $perfil)
if ($perfil != "") {
if(!$SemaforoPerfilFun)
$tablas .= ", capacidades capacidades2";
$SemaforoPerfilFun = true;
if ($wherePerfilesFun != "") {
$wherePerfilesFun = $wherePerfilesFun . " or ";
}
$wherePerfilesFun = $wherePerfilesFun . "(capacidades2.id_perfil_funcional = ". $perfil ." and capacidades2.id_usuario = usuarios.oid)";
}
$SemaforoTecnologias = false;
$tecnologias = $_POST["tecnologias"];
$whereTecnologias="";
foreach($tecnologias as $tecnologia)
if ($tecnologia != "") {
if(!$SemaforoTecnologias)
$tablas .= ", capacidades capacidades3, capacidades_perfil_tecnologias";
$SemaforoTecnologias = true;
if ($whereTecnologias != "") {
$whereTecnologias = $whereTecnologias . " or ";
}
$whereTecnologias = $whereTecnologias . "(capacidades_perfil_tecnologias.id_tecnologia = ". $tecnologia ." and capacidades_perfil_tecnologias.id_capacidad = capacidades3.id and capacidades3.id_usuario = usuarios.oid)";
}
$SemaforoIdiomas = false;
$idiomas = $_POST["idiomas"];
$whereIdiomas="";
foreach($idiomas as $idioma)
if ($idioma != "") {
if(!$SemaforoIdiomas)
$tablas .= ", idioma_usuario";
$SemaforoIdiomas = true;
if ($whereIdiomas != "") {
$whereIdiomas = $whereIdiomas . " or ";
}
$whereIdiomas = $whereIdiomas . "(idioma_usuario.idioma = ". $idioma ." and idioma_usuario.oid_i = usuarios.oid)";
}
//Vamos a meter los parametros de busqueda en session para que en la paginación no se pierdan
$_SESSION['palabra']=$palabra;
$_SESSION['campos']=$campos;
$_SESSION['idiomas']=$idiomas;
$_SESSION['perfiles_tecnicos']=$perfiles_tec;
$_SESSION['perfiles_funcionales']=$perfiles_fun;
$_SESSION['tecnologias']=$tecnologias;
$_SESSION['salario_busqueda_min']=$salario_busqueda_min;
$_SESSION['salario_busqueda_max']=$salario_busqueda_max;
if ($error == "") {
$query = "SELECT distinct usuarios.* from ". $tablas ." where (usuarios.tipo = 'candidato')";
if (($tipoPedidos != "") && ($tipoPedidos != 0))
$query = $query . " and (estado = ". $tipoPedidos .")";
if ($whereCampos != "")
$query = $query . " and (". $whereCampos .")";
if ($whereSalario != "")
$query = $query . " and (". $whereSalario .")";
if ($whereIdiomas != "")
$query = $query . " and (". $whereIdiomas .")";
if ($wherePerfilesTec != "")
$query = $query . " and (". $wherePerfilesTec .")";
if ($wherePerfilesFun != "")
$query = $query . " and (". $wherePerfilesFun .")";
if ($whereTecnologias != "")
$query = $query . " and (". $whereTecnologias .")";
//Metemos la ordenacion deseada
$query = $query. $order_by;
//echo $query;
$listaCandidatos=new ListaCandidatos($usuario,"",$query,"");
}
}
?>