$Id$
-----------------------------------------------------------------------------*/
-require_once 'MECON/DBO.php';
require_once 'Date.php';
-require_once 'Time/Span.php';
-require_once 'HE/DB.php';
+require_once 'Date/Span.php';
/**
* Información sobre feriados.
/// Descripción del feriado.
var $descripcion;
- function MECON_Feriado($date = null, $db = null) {
- if (is_a($db, 'db')) {
- $this->_db = $db;
- } else {
- $this->_db = DB::connect('mysql://intranet:intranet@intranet-db.mecon.ar/novedades');
- }
+ function MECON_Feriado($db, $date = null) {
+ $this->_db = $db;
parent::Date($date);
}
$this->desde = $date->desde;
$this->descripcion = $date->descripcion;
} else {
- $this->_updateDBInfo($date);
+ $this->_updateDBInfo();
}
}
- function _updateDBInfo($date = null, $db = null) {
+ function setYear($y) {
+ parent::setYear($y);
+ $this->_updateDBInfo();
+ }
+
+ function setMonth($m) {
+ parent::setMonth($m);
+ $this->_updateDBInfo();
+ }
+
+ function setDay($d) {
+ parent::setDay($d);
+ $this->_updateDBInfo();
+ }
+
+ function setHour($h) {
+ parent::setHour($h);
+ $this->_updateDBInfo();
+ }
+
+ function setMinute($m) {
+ parent::setMinute($m);
+ $this->_updateDBInfo();
+ }
+
+ function setSecond($s) {
+ parent::setSecond($s);
+ $this->_updateDBInfo();
+ }
+
+ function _updateDBInfo() {
// Resetea valores.
$this->desde = null;
$this->descripcion = null;
$this->_tipo = isset($tipo) ? $tipo : 'laborable';
// Verificamos si hay algo en la DB.
$fecha = $this->getDate();
- $datos = $this->_db->getRow("SELECT * FROM novedades.feriado WHERE fecha = '$fecha'", null, DB_FETCH_ASSOC);
+ $datos = $this->_db->getRow("SELECT * FROM novedades.feriados WHERE fecha = '$fecha'", null, DB_FETCH_ASSOC);
// Si hay un error, lo pasamos a quien nos llama.
if (DB::isError($datos)) {
return $datos;
*/
function getTipo() {
if ($this->_tipo == 'asueto') {
- $desde = new Time_Span($this->desde);
- $hora = new Time_Span($this->format('%H:%M'));
+ $desde = new Date_Span($this->desde);
+ $hora = new Date_Span($this->format('%H:%M'));
if ($hora->greaterEqual($desde)) {
return $this->_tipo;
} else {
/**
* Indica si un día es laborable.
*
- * @param string $fecha Fecha de a verificar (el día actual por defecto).
- * @param string $hora Hora en la que se quiere chequear si es laborable.
- *
* @return bool false si no es laborable (o hubo error).
*
* @access public
*/
- function esLaborable($fecha = '', $hora = '23:59') {
-
- if ( $this->_tipo( $fecha, $hora ) == 'laborable' )
- return true;
- else
- return false;
-
+ function esLaborable() {
+ return $this->getTipo() == 'laborable';
}
/**
* Indica si un día es no laborable.
*
- * @param string $fecha Fecha de a chequear (el día actual por
- * defecto).
- * @param string $hora Hora en la que se quiere chequear.
- *
* @return bool false si no es no laborable (o hubo error).
*
* @access public
*/
- function esNoLaborable( $fecha = '', $hora = '23:59' ) {
-
- if ( $this->_tipo( $fecha, $hora ) == 'no laborable' )
- return true;
- else
- return false;
-
+ function esNoLaborable() {
+ return $this->getTipo() == 'no laborable';
}
/**
* Indica si un día es feriado.
*
- * @param string $fecha Fecha de a chequear (el día actual por
- * defecto).
- * @param string $hora Hora en la que se quiere chequear.
- *
* @return bool false si no es feriado (o hubo error).
*
* @access public
*/
- function esFeriado( $fecha = '', $hora = '23:59' ) {
-
- if ( $this->_tipo( $fecha, $hora ) == 'feriado' )
- return true;
- else
- return false;
-
+ function esFeriado() {
+ return $this->getTipo() == 'feriado';
}
/**
*
* @access public
*/
- function esAsueto( $fecha = '', $hora = '23:59' ) {
-
- if ( $this->_tipo( $fecha, $hora ) == 'asueto' )
- return true;
- else
- return false;
-
+ function esAsueto() {
+ return $this->getTipo() == 'asueto';
}
/**
*
* @return bool false si no se encontró nada (o hubo error).
*
- * @access public
+ * @todo Pasar a método estático.
*/
function buscarRango( $ini = '', $fin = '', $orden = null ) {