tipo = "candidato"; $this->estado = $estado; $this->estados = explode(",", $estado); } /** * Devuelve la query de la consulta usada en la búsqueda para crear la lista. * @return una cadena de texto con la query. */ function getSQL() { return $this->sql; } /** * Devuelve una lista de los posibles estados en los que se puede encontrar un candidato * como Key => value, donde key es el cod del estado y value es el nombre del estado. */ function getEstados() { $consulta = "SELECT cod, nombre FROM candidatos_estados WHERE tipo='candidato'"; $bd = new BD(); return $bd->keyValueQuery($consulta, "cod", "nombre"); } /** * Inserta un nuevo candidato en la lista de candidatos. * @param campos - datos del candidato. */ function addCandidato($campos) { $campos["estado"] = 510; //Pendiente de clasificar $id = parent::addPersona($campos); $candidato = new Candidato($this->usuario, $id); $mensaje = "Nuevo candidato"; $candidato->actualizarHistorial($mensaje); $mensaje = "Estado inicial ( ". $candidato->darNombreEstado($campos["estado"],"sp") ." )"; $candidato->actualizarHistorial($mensaje); return $id; } /** * Devuelve los candidatos */ function getCandidatos() { $candidatos = array(); $value = ""; if ($this->sql != "") { // metemos el estado si es > 0 if (count($this->estados) > 0) { if (stripos($this->sql, "WHERE") > 0) { $sqlAntesWhere = substr($this->sql, 0, stripos($this->sql, "WHERE")); $sqlDespuesWhere = substr($this->sql, stripos($this->sql, "WHERE") + 5, strlen($this->sql)); $sqlConEstado = "WHERE usuarios.estado in ("; $i=1; foreach ($this->estados as $value) { $sqlConEstado = $sqlConEstado. "'". $value . "'"; if ($i != count($this->estados)) $sqlConEstado = $sqlConEstado. ","; $i++; } $sqlConEstado = $sqlConEstado. ") and "; $sqlNueva = $sqlAntesWhere . $sqlConEstado . $sqlDespuesWhere; } else { $sqlConEstado = "WHERE usuarios.estado in ("; $i=1; foreach ($this->estados as $value) { $sqlConEstado = $sqlConEstado. "'". $value . "'"; if ($i != count($this->estados)) $sqlConEstado = $sqlConEstado. ","; $i++; } $sqlConEstado = $sqlConEstado. ") "; $sqlNueva = $this->sql . $sqlConEstado; } } else { $sqlNueva = $this->sql; } $consulta = $sqlNueva . " " . $this->order_by; } else { if (count($this->estados) > 0) { $consulta = "SELECT oid from usuarios WHERE tipo='" . $this->tipo . "' and estado in ("; $i=1; foreach ($this->estados as $value) { $consulta = $consulta. "'". $value . "'"; if ($i != count($this->estados)) $consulta = $consulta. ","; $i++; } $consulta = $consulta. ")". $this->orden; } else { $consulta = "SELECT oid from usuarios WHERE tipo='" . $this->tipo . "'" . $this->orden . ""; } } $bd = new BD(); $resultado = $bd->execQuery($consulta); //Procesamos los candidatos. if (mysql_num_rows($resultado) != 0) { while ($rows = mysql_fetch_array($resultado)) { $p = new Candidato($this->usuario, $rows["oid"]); $candidatos[] = $p; } } return $candidatos; } } ?>