public function crearProyecto()
 {
     $data = Input::all();
     $ciclo = $data['cicle'];
     $ciclo == 1 ? $ciclo = 'Agosto-Enero' : ($ciclo = 'Enero-Julio');
     //Valida los datos ingresados.
     $notificaciones = ['year.required' => '¡Escriba un año!', 'year.numeric' => '¡El año debe ser numérico!'];
     $validation = Validator::make($data, ['year' => 'required|numeric'], $notificaciones);
     if ($validation->passes()) {
         //Se revisa si había registros antes
         $temp = Proyecto::select('ciclo', 'anio')->where('ciclo', $ciclo)->where('anio', $data['year'])->get();
         //Si aún no había registros, se añaden las horas disponbiles por aula y día.
         if (sizeof($temp) < 1) {
             $idProyecto = Proyecto::insertGetId(['ciclo' => $ciclo, 'anio' => $data['year']]);
             $aulas = Aula::count();
             $horas = Hora::select('*')->where('id', '>', '0')->get();
             for ($i = 2; $i <= $aulas; $i++) {
                 for ($k = 0; $k < 5; $k++) {
                     foreach ($horas as $hora) {
                         $temp = new Disponible();
                         $temp->id_aula = $i;
                         $temp->hora = $hora['id'];
                         $temp->dia = $k;
                         $temp->id_proyecto = $idProyecto;
                         $temp->save();
                     }
                 }
             }
         }
         return Redirect::to('/proyectos/');
     } else {
         Input::flash();
         return Redirect::to('/proyectos/editar-proyecto')->withInput()->withErrors($validation);
     }
 }
 public function get_check_horas_profesor()
 {
     $data = Input::all();
     $horas = [];
     //Obtiene las horas ocupadas por la materia en cuestión.
     $response = Horario::select('horarios.*', 'hd.disponible', 'hd.id')->join('plantillas as p', 'horarios.id_plantilla', '=', 'p.id')->join('aulas as a', 'a.id', '=', 'horarios.id_aula')->join('subjects as s', 'p.id_subject', '=', 's.id')->join('professors as pr', 'pr.id', '=', 'p.id_profesor')->join('horas_disponibles as hd', function ($join) {
         $join->on('a.id', '=', 'hd.id_aula');
         $join->on('horarios.dia', '=', 'hd.dia')->where('hd.disponible', '=', 0);
     })->where('p.grupo', $data['grupo'])->where('p.id_proyecto', $data['idProyecto'])->where('p.id_profesor', $data['idProf'])->get();
     //Guarda los ID de las horas que ocupa la materia, los cuales se relacionan directamente con el aula y el día.
     foreach ($response as $hora) {
         array_push($horas, $hora['id']);
     }
     //Se obtienen las horas disponibles en el aula actual.
     $aux = Disponible::select('*')->where('id_aula', $response[0]->id_aula)->get();
     /* Se ponen temporalmente como disponibles las horas que se utilizan para esta materia en el aula seleccionada.
     			Esto para asegurar el buen funcionamiento de los combobox para selección de horas */
     for ($i = 0; $i < sizeof($response); $i++) {
         for ($k = 0; $k < sizeof($aux); $k++) {
             if ($response[$i]->id == $aux[$k]->id) {
                 $aux[$k]->disponible = 1;
             }
         }
     }
     //Obtiene el aula y las horas ocupadas por esta materia por día.
     $response = Horario::select('horarios.*', 'hd.disponible', 'hd.id')->join('plantillas as p', 'horarios.id_plantilla', '=', 'p.id')->join('aulas as a', 'a.id', '=', 'horarios.id_aula')->join('subjects as s', 'p.id_subject', '=', 's.id')->join('professors as pr', 'pr.id', '=', 'p.id_profesor')->join('horas_disponibles as hd', function ($join) {
         $join->on('a.id', '=', 'hd.id_aula');
         $join->on('horarios.dia', '=', 'hd.dia')->where('hd.disponible', '=', 0);
     })->where('p.grupo', $data['grupo'])->where('p.id_proyecto', $data['idProyecto'])->where('p.id_profesor', $data['idProf'])->groupBy('horarios.id')->get();
     $data = [];
     array_push($data, $response);
     array_push($data, $aux);
     array_push($data, $horas);
     //Se envían el array de datos que contiene las horas ocupadas del aula por día y las horas disponibles por día.
     echo json_encode($data);
 }