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'); }