/** * @param Antrag $antrag * @param int $kommentar_id */ private function performAnzeigeActions($antrag, $kommentar_id) { if (AntiXSS::isTokenSet("komm_del")) { /** @var AntragKommentar $komm */ $komm = AntragKommentar::model()->findByPk(AntiXSS::getTokenVal("komm_del")); if ($komm->antrag_id == $antrag->id && $komm->kannLoeschen(Yii::app()->user) && $komm->status == IKommentar::$STATUS_FREI) { $komm->status = IKommentar::$STATUS_GELOESCHT; $komm->save(); Yii::app()->user->setFlash("success", "Der Kommentar wurde gelöscht."); } else { Yii::app()->user->setFlash("error", "Kommentar nicht gefunden oder keine Berechtigung."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } if (AntiXSS::isTokenSet("komm_freischalten") && $kommentar_id > 0) { /** @var AntragKommentar $komm */ $komm = AntragKommentar::model()->findByPk($kommentar_id); if ($komm->antrag_id == $antrag->id && $komm->status == IKommentar::$STATUS_NICHT_FREI && $antrag->veranstaltung->isAdminCurUser()) { $komm->status = IKommentar::$STATUS_FREI; $komm->save(); Yii::app()->user->setFlash("success", "Der Kommentar wurde freigeschaltet."); $benachrichtigt = array(); foreach ($antrag->veranstaltung->veranstaltungsreihe->veranstaltungsreihenAbos as $abo) { if ($abo->kommentare && !in_array($abo->person_id, $benachrichtigt)) { $abo->person->benachrichtigenKommentar($komm); $benachrichtigt[] = $abo->person_id; } } } else { Yii::app()->user->setFlash("error", "Kommentar nicht gefunden oder keine Berechtigung."); } } if (AntiXSS::isTokenSet("komm_nicht_freischalten") && $kommentar_id > 0) { /** @var AntragKommentar $komm */ $komm = AntragKommentar::model()->findByPk($kommentar_id); if ($komm->antrag_id == $antrag->id && $komm->status == IKommentar::$STATUS_NICHT_FREI && $antrag->veranstaltung->isAdminCurUser()) { $komm->status = IKommentar::$STATUS_GELOESCHT; $komm->save(); Yii::app()->user->setFlash("success", "Der Kommentar wurde gelöscht."); } else { Yii::app()->user->setFlash("error", "Kommentar nicht gefunden oder keine Berechtigung."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } if (AntiXSS::isTokenSet("komm_dafuer") && $this->veranstaltung->getEinstellungen()->kommentare_unterstuetzbar) { $meine_unterstuetzung = AntragKommentarUnterstuetzerInnen::meineUnterstuetzung($kommentar_id); if ($meine_unterstuetzung === null) { $unterstuetzung = new AntragKommentarUnterstuetzerInnen(); $unterstuetzung->setIdentityParams(); $unterstuetzung->dafuer = 1; $unterstuetzung->antrag_kommentar_id = $kommentar_id; if ($unterstuetzung->save()) { Yii::app()->user->setFlash("success", "Du hast den Kommentar positiv bewertet."); } else { Yii::app()->user->setFlash("error", "Ein (seltsamer) Fehler ist aufgetreten."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id, "kommentar_id" => $kommentar_id, "#" => "komm" . $kommentar_id))); } } if (AntiXSS::isTokenSet("komm_dagegen") && $this->veranstaltung->getEinstellungen()->kommentare_unterstuetzbar) { $meine_unterstuetzung = AntragKommentarUnterstuetzerInnen::meineUnterstuetzung($kommentar_id); if ($meine_unterstuetzung === null) { $unterstuetzung = new AntragKommentarUnterstuetzerInnen(); $unterstuetzung->setIdentityParams(); $unterstuetzung->dafuer = 0; $unterstuetzung->antrag_kommentar_id = $kommentar_id; if ($unterstuetzung->save()) { Yii::app()->user->setFlash("success", "Du hast den Kommentar negativ bewertet."); } else { Yii::app()->user->setFlash("error", "Ein (seltsamer) Fehler ist aufgetreten."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id, "kommentar_id" => $kommentar_id, "#" => "komm" . $kommentar_id))); } } if (AntiXSS::isTokenSet("komm_dochnicht") && $this->veranstaltung->getEinstellungen()->kommentare_unterstuetzbar) { $meine_unterstuetzung = AntragKommentarUnterstuetzerInnen::meineUnterstuetzung($kommentar_id); if ($meine_unterstuetzung !== null) { $meine_unterstuetzung->delete(); Yii::app()->user->setFlash("success", "Du hast die Bewertung des Kommentars zurückgenommen."); $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id, "kommentar_id" => $kommentar_id, "#" => "komm" . $kommentar_id))); } } if (AntiXSS::isTokenSet("mag") && $this->veranstaltung->getPolicyUnterstuetzen()->checkAntragSubmit()) { $userid = Yii::app()->user->getState("person_id"); foreach ($antrag->antragUnterstuetzerInnen as $unt) { if ($unt->unterstuetzerIn_id == $userid) { $unt->delete(); } } $unt = new AntragUnterstuetzerInnen(); $unt->antrag_id = $antrag->id; $unt->unterstuetzerIn_id = $userid; $unt->rolle = "mag"; $unt->kommentar = ""; if ($unt->save()) { Yii::app()->user->setFlash("success", "Du unterstützt diesen Antrag nun."); } else { Yii::app()->user->setFlash("error", "Ein (seltsamer) Fehler ist aufgetreten."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } if (AntiXSS::isTokenSet("magnicht") && $this->veranstaltung->getPolicyUnterstuetzen()->checkAntragSubmit()) { $userid = Yii::app()->user->getState("person_id"); foreach ($antrag->antragUnterstuetzerInnen as $unt) { if ($unt->unterstuetzerIn_id == $userid) { $unt->delete(); } } $unt = new AntragUnterstuetzerInnen(); $unt->antrag_id = $antrag->id; $unt->unterstuetzerIn_id = $userid; $unt->rolle = "magnicht"; $unt->kommentar = ""; $unt->save(); if ($unt->save()) { Yii::app()->user->setFlash("success", "Du lehnst diesen Antrag nun ab."); } else { Yii::app()->user->setFlash("error", "Ein (seltsamer) Fehler ist aufgetreten."); } $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } if (AntiXSS::isTokenSet("dochnicht") && $this->veranstaltung->getPolicyUnterstuetzen()->checkAntragSubmit()) { $userid = Yii::app()->user->getState("person_id"); foreach ($antrag->antragUnterstuetzerInnen as $unt) { if ($unt->unterstuetzerIn_id == $userid) { $unt->delete(); } } Yii::app()->user->setFlash("success", "Du stehst diesem Antrag wieder neutral gegenüber."); $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } if (AntiXSS::isTokenSet("add_tag") && $this->veranstaltung->isAdminCurUser()) { foreach ($this->veranstaltung->tags as $tag) { if ($tag->id == $_REQUEST["tag_id"]) { Yii::app()->db->createCommand()->insert("antrag_tags", array("antrag_id" => $antrag->id, "tag_id" => $_REQUEST["tag_id"])); $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } } } if (AntiXSS::isTokenSet("del_tag") && $this->veranstaltung->isAdminCurUser()) { Yii::app()->db->createCommand()->delete("antrag_tags", 'antrag_id=:antrag_id AND tag_id=:tag_id', array("antrag_id" => $antrag->id, "tag_id" => AntiXSS::getTokenVal("del_tag"))); $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id))); } }
$this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'success', 'label' => 'Freischalten', 'icon' => 'icon-thumbs-up', 'htmlOptions' => array('name' => AntiXSS::createToken('komm_freischalten')))); echo '</div><div style="display: inline-block; width: 49%; text-align: center;">'; $this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'danger', 'label' => 'Löschen', 'icon' => 'icon-thumbs-down', 'htmlOptions' => array('name' => AntiXSS::createToken('komm_nicht_freischalten')))); echo '</div>'; $this->endWidget(); } ?> <div class="kommentar_bottom"> <div class="kommentarlink"><?php echo CHtml::link("Kommentar verlinken", $komm_link); ?> </div> <?php if ($this->veranstaltung->getEinstellungen()->kommentare_unterstuetzbar) { $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array('type' => 'inline', 'htmlOptions' => array('class' => 'kommentar_unterstuetzerInnen_holder'), 'action' => $komm_link)); $meine_unterstuetzung = AntragKommentarUnterstuetzerInnen::meineUnterstuetzung($komm->id); $anzahl_dafuer = $anzahl_dagegen = 0; foreach ($komm->unterstuetzerInnen as $unt) { if ($unt->dafuer) { $anzahl_dafuer++; } else { $anzahl_dagegen++; } } if ($meine_unterstuetzung !== null) { ?> <span class="dafuer"><span class="icon-thumbs-up"></span> <?php echo $anzahl_dafuer; ?> </span>