/** * Elimina una aportació feta a una assignatura * @param int [$id] identificador de l'aportació */ public function eliminarAportacio($id) { try { $aportacio = Aportacio::findOrFail($id); } catch (ModelNotFoundException $e) { return Response::json(array('error' => 'La aportación ha sido eliminada.')); } $autor = $aportacio->autor; $assignatura = $aportacio->assignatura; $grup = $assignatura->grup; $grups = Auth::user()->grups()->lists('id_grup'); if (in_array($grup->getID(), $grups)) { if ($autor->getEmail() == Auth::user()->getEmail()) { if ($grup->getActiu()) { if ($aportacio->num_comentaris() > 0) { $comentaris = $aportacio->comentaris; foreach ($comentaris as $comentari) { $comentari->delete(); } } $aportacio->delete(); } else { return Response::json(array('error' => 'El grupo ha sido eliminado por el moderador.')); } } else { return Response::json(array('error' => 'No eres el autor de la aportación.')); } } else { return Response::json(array('error' => 'No estás matriculado en este grupo.')); } return Response::json(array('status' => 'ok')); }
/** * Cerca comentaris anteriors a un donat * @param integer [$id] identificador de l'aportació * @param integer [$last] identificador del darrer comentari mostrat */ public function mesComentaris($id, $last) { try { $aportacio = Aportacio::findOrFail($id); } catch (ModelNotFoundException $e) { return Response::json(array('error' => 'Esta aportación ha sido eliminada.')); } $comentaris = $aportacio->getComentarisSince($last); return View::make('assignatura/comentaris', array('comentaris' => $comentaris)); }
/** * Elimina l'aportació d'un esdeveniment. * @param int [$id] identificador de l'aportació */ public function eliminarAportacioEsdeveniment($id) { try { $aportacio = Aportacio::findOrFail($id); } catch (ModelNotFoundException $e) { return Response::json(array('error' => 'La aportación ya no existe o ha sido eliminada.')); } $autor = $aportacio->autor; $esdeveniment = $aportacio->esdeveniment; $grup = $esdeveniment->grup; $grups = Auth::user()->grups()->lists('id_grup'); date_default_timezone_set("Europe/Madrid"); $ara = date("Y-m-d H:i:s"); $esdeveniment_actiu = $esdeveniment->data_esdeveniment > $ara; if ($autor->getEmail() == Auth::user()->getEmail()) { if (in_array($grup->getID(), $grups)) { if ($grup->getActiu()) { if ($esdeveniment_actiu) { if ($aportacio->num_comentaris() > 0) { $comentaris = $aportacio->comentaris; foreach ($comentaris as $comentari) { $comentari->delete(); } } $aportacio->delete(); } else { return Response::json(array('error' => 'El evento no está activo.')); } } else { return Response::json(array('error' => 'El grupo ha sido eliminado por el moderador.')); } } else { return Response::json(array('error' => 'No estás matriculado en este grupo.')); } } else { return Response::json(array('error' => 'No eres el autor de esta aportación.')); } return Response::json(array('status' => 'ok')); }