Incam_Intranet/Objects/ListaVacaciones.php
2011-04-04 15:16:10 +00:00

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ó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ño concreto.
* @param usuario - Dueño de la sesión.
* @param mes - Mes que contempla las vacaciones.
* @param anio - Añ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;
}
}
?>