/** * Cerca els estudiants actius per nom i cognoms segons el text introduit */ public function cercaEstudiants() { $text = Input::get('text'); $text = strip_tags($text); $text = trim($text); $estudiants = Estudiant::resultat($text); $num_est = Estudiant::num_resultat($text); $this->layout->title = 'Workshome - Búsqueda ' . $text; $this->layout->description = 'Búsqueda de estudiantes'; $this->layout->content = View::make('cerca/resultat_estudiants', array('estudiants' => $estudiants, 'num_est' => $num_est, 'text' => $text)); }
/** * Retorna el nombre d'estudiants que coincideixen amb la cerca * @param string [$text] text introduit per l'estudiant */ public static function num_resultat($text) { return Estudiant::resultat($text)->count(); }
echo route("grup.nou"); ?> " class="alert-link">Crea uno nuevo</a> </div> <?php } else { ?> <table class="table table-striped table-bordered table-hover"> <tr class="success" style="text-align:center"> <td>Grupos que modero</td> <td>Matricular/Desmatricular</td> </tr> <?php $current = $estudiant->grups()->lists('id_grup'); $jo = Estudiant::find($emaillog); $meus_grups = $jo->grups; foreach ($meus_grups as $grup) { ?> <tr style="text-align: center"> <?php $moderador = $grup->getEmail(); if ($moderador == $emaillog && $emaillog != $estudiant->getEmail()) { if (in_array($grup->getID(), $current)) { ?> <td> <?php echo "Persona matriculada en: " . $grup->getNom(); ?>
/** * Crea una nova solicitud per a entrar a un grup * @param integer [$id] identificador del grup */ public function novaSolicitud($id) { $emaillog = Auth::user()->email_estudiant; try { $estudiant = Estudiant::findOrFail($emaillog); } catch (ModelNotFoundException $e1) { return Redirect::route('grups.meus'); } try { $grup = Grup::findOrFail($id); } catch (ModelNotFoundException $e2) { return Redirect::route('grups.meus'); } $estudiant->solicitudGrup($grup); $slug = $grup->getSlug(); return Redirect::route('grup.consulta', array('slug' => $slug)); }
/** * Elimina una assignatura d'un grup i totes les seves aportacions * i comentaris * @param string [$slug] slug d'una assignatura */ public function eliminarAssignatura($slug) { $emaillog = Auth::user()->email_estudiant; try { $estudiant = Estudiant::findOrFail($emaillog); } catch (ModelNotFoundException $e) { return Redirect::route('grups.meus'); } try { $assignatura = Assignatura::bySlug($slug); } catch (ModelNotFoundException $e) { return Redirect::route('grups.meus'); } $grup = $assignatura->grup; /*Comprovam que sigui el moderador del grup al qual pertany l'assignatura i el grup estigui actiu*/ if ($emaillog == $grup->getEmail() && $grup->getActiu()) { if ($assignatura->num_aportacions() > 0) { $aportacions = $assignatura->aportacions; foreach ($aportacions as $aportacio) { if ($aportacio->num_comentaris() > 0) { $comentaris = $aportacio->comentaris; foreach ($comentaris as $comentari) { $comentari->delete(); } } $aportacio->delete(); } } $assignatura->delete(); } return Redirect::route('grups.meus'); }
<?php echo Form::text('nom', $estudiant->getNom(), array('class' => 'form-control', 'required', 'maxlength' => '45')); ?> <br/> <?php echo Form::text('cognoms', $estudiant->getCognoms(), array('class' => 'form-control', 'required', 'maxlength' => '150')); ?> <br/> <?php echo Form::label('fecha', 'Fecha de nacimiento: '); ?> <br/> <?php $emaillog = Auth::user()->email_estudiant; $estudiant = Estudiant::find($emaillog); $mi_nacimiento = $estudiant->getData(); $mi_dia = date("d", strtotime($mi_nacimiento)); $mi_mes = date("m", strtotime($mi_nacimiento)); $mi_any = date("Y", strtotime($mi_nacimiento)); echo Form::selectRange('dia', 1, 31, $mi_dia, array('class' => 'form-control', 'style' => 'width:85px; float:left; margin-right:45px; margin-left:35px;')); echo Form::selectRange('mes', 1, 12, $mi_mes, array('class' => 'form-control', 'style' => 'width:85px; float:left; margin-right:45px')); echo Form::selectRange('any', 2000, 1910, $mi_any, array('class' => 'form-control', 'style' => 'width:100px; float:left; margin-right:10px')); ?> <br/> <br/> <br/> <?php echo Form::submit('Actualizar', array('class' => 'btn btn-primary btn-sm', 'style' => 'float:right;')); echo Form::close();
/** * Edita un esdeveniment donat * @param string [$slug] slug de l'esdeveniment */ public function editarEsdeveniment($slug) { $emaillog = Auth::user()->email_estudiant; $estudiant = Estudiant::find($emaillog); $grups = $estudiant->grups; try { $esdeveniment = Esdeveniment::bySlug($slug); } catch (ModelNotFoundException $e) { return Redirect::route('esdeveniments.consulta'); } date_default_timezone_set("Europe/Madrid"); $ara = date("Y-m-d H:i:s"); if ($esdeveniment->getData() < $ara) { return Redirect::route('grups.meus'); } $autor_esd = $esdeveniment->autor; $grup = $esdeveniment->grup; if ($emaillog == $autor_esd->getEmail() && $grup->getActiu()) { if (Input::has('nom')) { $nom = Input::get('nom'); $nom = strip_tags($nom); $nom = trim($nom); $descripcio = Input::get('descripcio'); $descripcio = strip_tags($descripcio); $descripcio = trim($descripcio); $data = Input::get('data'); $hora = Input::get('hora'); $minut = Input::get('minut'); $id_grup = Input::get('grup'); $id_grup = strip_tags($id_grup); $validator = Validator::make(array('nombre' => $nom, 'fecha' => $data, 'hora' => $hora, 'minuto' => $minut, 'descripción' => $descripcio, 'grupo' => $id_grup), array('nombre' => array('required', 'max:60'), 'fecha' => array('required', 'date_format:"d/m/Y"'), 'hora' => array('required', 'numeric', 'between:0,23'), 'minuto' => array('required', 'numeric', 'between:0,55'), 'descripción' => array('max:255'), 'grupo' => array('required'))); if ($validator->fails()) { return Redirect::route('esdeveniment.editar', array('slug' => $slug))->withErrors($validator); } $dia = substr($data, 0, 2); $mes = substr($data, 3, 2); $any = substr($data, 6, 8); /*Afegim un zero davant per complir amb l'especificaió del tipus DATE*/ if ($hora < 10) { $hora2 = '0' . $hora; } else { $hora2 = $hora; } $data_final = $any . '-' . $mes . '-' . $dia . ' ' . $hora2 . ':' . $minut . ':' . '00'; $esdeveniment->nom_esdeveniment = $nom; $esdeveniment->descripcio_esdeveniment = $descripcio; $esdeveniment->estudiant_email = $emaillog; $esdeveniment->grup_id_grup = $id_grup; $esdeveniment->data_esdeveniment = $data_final; try { $grup = Grup::findOrFail($id_grup); } catch (ModelNotFoundException $e) { return Redirect::route('esdeveniments.consulta'); } $grups = Auth::user()->grups()->lists('id_grup'); /*Comprovació de que l'estudiant estigui matriculat al grup i estigui actiu*/ if (in_array($grup->getID(), $grups) && $grup->getActiu()) { $esdeveniment->save(); } else { return Redirect::route('esdeveniments.consulta'); } return Redirect::route('esdeveniments.consulta'); } else { $this->layout->title = 'Workshome - Editar ' . $esdeveniment->getNom(); $this->layout->description = 'Editar la información de un evento'; $this->layout->content = View::make('esdeveniments/editar', array('grups' => $grups, 'esdeveniment' => $esdeveniment)); } } else { return Redirect::route('esdeveniments.consulta'); } }
/** * Permet a l'estudiant canviar la seva contrasenya */ public function canviarContrasenya() { if (Input::has('antigaContrasenya')) { $contAntiga = Input::get('antigaContrasenya'); $contAntiga = strip_tags($contAntiga); $contAntiga = trim($contAntiga); $contNova = Input::get('novaContrasenya'); $contNova = strip_tags($contNova); $contNova = trim($contNova); $email = Auth::user()->email_estudiant; $validator = Validator::make(array('Contraseña actual' => $contAntiga, 'Contraseña nueva' => $contNova), array('Contraseña actual' => array('required', 'min:6', 'max:20'), 'Contraseña nueva' => array('required', 'min:6', 'max:20'))); if ($validator->fails()) { return Redirect::route('canviar.contrasenya')->withErrors($validator); } if (Auth::validate(array('email_estudiant' => $email, 'password' => $contAntiga, 'actiu_estudiant' => 1))) { try { $estudiant = Estudiant::findOrFail($email); } catch (ModelNotFoundException $e) { return Redirect::route('grups.meus'); } $estudiant->contrasenya_estudiant = Hash::make($contNova); $estudiant->save(); Auth::logout(); Auth::attempt(array('email_estudiant' => $email, 'password' => $contNova)); return Redirect::route('grups.meus'); } else { return Redirect::route('canviar.contrasenya')->with('canvi', 'error'); } } else { $this->layout->title = 'Workshome - Cambiar contraseña'; $this->layout->description = 'Cambiar contraseña actual'; $this->layout->content = View::make('estudiants/canviarContrasenya'); } }