Exemple #1
0
 public function doStateE($line)
 {
     ////echo "// Estat 6<br />";
     ////echo "EL que hi ha a line: ".bin2hex($line)."<br>";
     $course = Doctrine_Query::create()->select('a.id')->from('Assignatura a')->where('a.carrera_curs_id = ?', $this->courseyear->getId())->andWhere('a.nom = ?', $line)->fetchOne();
     if ($course) {
         $this->logger->debug("Found course " . $line . " in database, id is " . $course->getId());
     } else {
         ////echo $line."<br />";
         $this->logger->debug("Course " . $line . " doesn't exist, creating.");
         $course = new Assignatura();
         $course->setNom($line);
         $course->setCarreraCurs($this->courseyear);
         $course->save();
     }
     $this->getCurrentBlock()->setAssignatura($course);
     $this->getCurrentBlock()->setDefaultType();
     $this->getCurrentBlock()->saveSessions();
     return;
 }
 /**
  * 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');
 }