80 lines
1.9 KiB
PHP
80 lines
1.9 KiB
PHP
|
|
<?php
|
|||
|
|
/*
|
|||
|
|
* Clase ListaVacaciones
|
|||
|
|
*
|
|||
|
|
* Contiene una lista de vacaciones de un mes de todos los empleados.
|
|||
|
|
*
|
|||
|
|
*/
|
|||
|
|
include_once("Objects/Vacaciones.php");
|
|||
|
|
include_once("BD.php");
|
|||
|
|
|
|||
|
|
class ListaVacaciones{
|
|||
|
|
|
|||
|
|
//Atributos:
|
|||
|
|
|
|||
|
|
/* Una lista de vacaciones. */
|
|||
|
|
protected $vacaciones = null;
|
|||
|
|
|
|||
|
|
/* Usuario que posee activa la sesi<73>n. */
|
|||
|
|
protected $usuario;
|
|||
|
|
|
|||
|
|
/* Mes del calendario a considerar. */
|
|||
|
|
private $mes;
|
|||
|
|
|
|||
|
|
/* A<>o del calendario a considerar. */
|
|||
|
|
private $anio;
|
|||
|
|
|
|||
|
|
/* Idioma */
|
|||
|
|
private $locale;
|
|||
|
|
|
|||
|
|
//Constructor:
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Crea un objeto Lista de Vacaciones para un empleado para un mes y a<EFBFBD>o concreto.
|
|||
|
|
* @param usuario - Due<EFBFBD>o de la sesi<EFBFBD>n.
|
|||
|
|
* @param mes - Mes que contempla las vacaciones.
|
|||
|
|
* @param anio - A<EFBFBD>o que contempla las vacaciones.
|
|||
|
|
* @param locale - Contenido del fichero de idioma.
|
|||
|
|
*/
|
|||
|
|
function ListaVacaciones($usuario,$mes,$anio, $locale){
|
|||
|
|
$this->usuario=$usuario;
|
|||
|
|
if(($this->usuario->tieneRol(1)) || ($this->usuario->tieneRol(4))){
|
|||
|
|
if($mes < 10){
|
|||
|
|
//Me aseguro de que no tenga cero delante
|
|||
|
|
$mes = $mes + 0;
|
|||
|
|
//Y le pongo el cero delante.
|
|||
|
|
$mes = "0".$mes;
|
|||
|
|
}
|
|||
|
|
$this->mes=$mes;
|
|||
|
|
$this->anio=$anio;
|
|||
|
|
$this->locale = $locale;
|
|||
|
|
}else{
|
|||
|
|
$error = $this->locale['3028'];
|
|||
|
|
throw new Exception($error);
|
|||
|
|
return false;
|
|||
|
|
exit;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Acceso a las vacaciones de todos los empleados del mes.
|
|||
|
|
*/
|
|||
|
|
function getVacaciones(){
|
|||
|
|
if($this->vacaciones == null){
|
|||
|
|
$this->vacaciones = array();
|
|||
|
|
$consulta = "SELECT oid FROM vacaciones WHERE fecha LIKE '".$this->anio."-".$this->mes."%' GROUP BY oid";
|
|||
|
|
$bd = new BD();
|
|||
|
|
if($resultado = $bd->execQuery($consulta)){
|
|||
|
|
while($rows = mysql_fetch_array($resultado)){
|
|||
|
|
$p = new Vacaciones($this->usuario,$rows["oid"],$this->mes,$this->anio, $this->locale);
|
|||
|
|
$this->vacaciones[] = $p;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return $this->vacaciones;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
?>
|