public function getPeriodoActual($idArea)
 {
     $connection = parent::initDB();
     $query = "SELECT idPeriodo, nombre, area, inicio, fin, observaciones " . "FROM periodo " . "WHERE inicio < curdate() AND curdate() < fin AND area = {$idArea} ";
     $result = mysql_query($query);
     if (mysql_num_rows($result) == 0) {
         throw new Exception('No hay periodos activos para esa área');
     }
     $row = mysql_fetch_array($result);
     $periodo = new Periodo();
     $periodo->setIdPeriodo($row['idPeriodo']);
     $periodo->setNombre($row['nombre']);
     $periodo->setArea($this->areaDAO->getArea($row['area']));
     $periodo->setInicioISO($row['inicio']);
     $periodo->setFinISO($row['fin']);
     $periodo->setObservaciones($row['observaciones']);
     parent::closeDB($connection);
     return $periodo;
 }
 /**
  * Realiza las validaciones necesarias y agrega un nuevo período al sistema.
  * Informa errores mediante excepciones.
  */
 private function agregarPeriodo()
 {
     if (isset($_REQUEST['nombre']) && isset($_REQUEST['area']) && isset($_REQUEST['fechaInicio']) && isset($_REQUEST['fechaFin']) && isset($_REQUEST['observaciones'])) {
         // Acciones ejecutadas
         $periodo = new Periodo();
         $periodo->setNombre($_REQUEST['nombre']);
         $periodo->setArea($this->gestorAreas->getArea($_REQUEST['area']));
         $periodo->setInicio($_REQUEST['fechaInicio']);
         $periodo->setFin($_REQUEST['fechaFin']);
         $periodo->setObservaciones($_REQUEST['observaciones']);
         // Impresion
         imprimirTabulados(5);
         echo '<div class="tablaTituloBotones">';
         try {
             $this->gestorPeriodos->insertarPeriodo($periodo);
             imprimirTabulados(6);
             echo '<h3>El período ha sido agregado exitosamente</h3>';
         } catch (Exception $excepcion) {
             imprimirTabulados(5);
             echo '<h2>Se produjo un error al procesar la solicitud:</h2><br />';
             imprimirTabulados(5);
             echo '<h3>' . $excepcion->getMessage() . '</h3>';
         }
         imprimirTabulados(5);
         echo '</div>';
         $this->imprimirListaPeriodos();
     } else {
         throw new Exception('No se especificó un parámetro');
     }
 }