Example #1
0
 /**
  * Devuelve el ejercicio para la fecha indicada.
  * Si no existe, lo crea.
  */
 public function get_by_fecha($fecha, $solo_abierto = TRUE, $crear = TRUE)
 {
     $sql = "SELECT * FROM " . $this->table_name . " WHERE fechainicio <= " . $this->var2str($fecha) . " AND fechafin >= " . $this->var2str($fecha) . ";";
     $data = $this->db->select($sql);
     if ($data) {
         $eje = new ejercicio($data[0]);
         if ($eje->abierto() or !$solo_abierto) {
             return $eje;
         } else {
             return FALSE;
         }
     } else {
         if ($crear) {
             $eje = new ejercicio();
             $eje->codejercicio = $eje->get_new_codigo(Date('Y', strtotime($fecha)));
             $eje->nombre = Date('Y', strtotime($fecha));
             $eje->fechainicio = Date('1-1-Y', strtotime($fecha));
             $eje->fechafin = Date('31-12-Y', strtotime($fecha));
             if (strtotime($fecha) < 1) {
                 $this->new_error_msg("Fecha no vĂ¡lida: " . $fecha);
             } else {
                 if ($eje->save()) {
                     return $eje;
                 } else {
                     return FALSE;
                 }
             }
         } else {
             return FALSE;
         }
     }
 }