/**
  * @static
  * @param int $antrag_id
  * @return null|AntragKommentarUnterstuetzerInnen
  */
 public static function meineUnterstuetzung($antrag_id)
 {
     if (isset(Yii::app()->request->cookies['kommentar_bewertung'])) {
         $unt = AntragKommentarUnterstuetzerInnen::model()->findByAttributes(array("antrag_kommentar_id" => $antrag_id, "cookie_id" => Yii::app()->request->cookies['kommentar_bewertung']->value));
         if ($unt !== null) {
             return $unt;
         }
     }
     $unt = AntragKommentarUnterstuetzerInnen::model()->findByAttributes(array("antrag_kommentar_id" => $antrag_id, "ip_hash" => md5($_SERVER["REMOTE_ADDR"])));
     return $unt;
 }
Exemplo n.º 2
0
 /**
  * @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)));
     }
 }
Exemplo n.º 3
0
        $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>