コード例 #1
0
 /**
  *
  */
 public function testeWartungsmodus()
 {
     if ($this->veranstaltung == null) {
         return;
     }
     /** @var VeranstaltungsEinstellungen $einstellungen */
     $einstellungen = $this->veranstaltung->getEinstellungen();
     if ($einstellungen->wartungs_modus_aktiv && !$this->veranstaltung->isAdminCurUser()) {
         $this->redirect($this->createUrl("veranstaltung/wartungsmodus"));
     }
     if (veranstaltungsspezifisch_erzwinge_login($this->veranstaltung) && Yii::app()->user->isGuest) {
         $this->redirect($this->createUrl("veranstaltung/login"));
     }
 }
コード例 #2
0
						<textarea id="Antrag_begruendung" class="span8" name="Antrag[begruendung]" rows="5" cols="80"><?php 
    echo CHtml::encode($model->begruendung);
    ?>
</textarea>
						<input type="hidden" id="Antrag_begruendung_html" name="Antrag[begruendung_html]"
							   value="<?php 
    echo $model->veranstaltung->getEinstellungen()->begruendung_in_html;
    ?>
">
					</div>

				</div>
			</fieldset>
		<?php 
}
if (!$this->veranstaltungsreihe->getEinstellungen()->antrag_neu_nur_namespaced_accounts && !veranstaltungsspezifisch_erzwinge_login($this->veranstaltung)) {
    $this->renderPartial($model->veranstaltung->getPolicyAntraege()->getAntragstellerInView(), array("form" => $form, "mode" => $mode, "antrag" => $model, "antragstellerIn" => $antragstellerIn, "unterstuetzerInnen" => $unterstuetzerInnen, "veranstaltung" => $veranstaltung, "hiddens" => $hiddens, "js_protection" => $js_protection, "login_warnung" => Yii::app()->user->isGuest, "sprache" => $model->veranstaltung->getSprache()));
}
?>

        <div style="float: right;">
            <?php 
$this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'primary', 'icon' => 'ok white', 'label' => 'Weiter'));
?>
        </div>
        <br>
    </div>


    <script>
        $(function () {
コード例 #3
0
 /**
  * @param string $veranstaltungsreihe_id
  * @param string $veranstaltung_id
  * @param int $antrag_id
  * @param int $kommentar_id
  */
 public function actionAnzeige($veranstaltungsreihe_id = "", $veranstaltung_id, $antrag_id, $kommentar_id = 0)
 {
     $antrag_id = IntVal($antrag_id);
     /** @var Antrag $antrag */
     $antrag = Antrag::model()->with("antragKommentare", "antragKommentare.unterstuetzerInnen")->findByPk($antrag_id);
     if (is_null($antrag)) {
         Yii::app()->user->setFlash("error", "Der angegebene Antrag wurde nicht gefunden.");
         $this->redirect($this->createUrl("veranstaltung/index"));
     }
     $this->veranstaltung = $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id, $antrag);
     $this->testeWartungsmodus();
     $this->layout = '//layouts/column2';
     $this->performAnzeigeActions($antrag, $kommentar_id);
     $kommentare_offen = array();
     if (AntiXSS::isTokenSet("kommentar_schreiben") && $antrag->veranstaltung->darfEroeffnenKommentar()) {
         $zeile = IntVal($_REQUEST["absatz_nr"]);
         if ($this->veranstaltungsreihe->getEinstellungen()->antrag_neu_nur_namespaced_accounts && veranstaltungsspezifisch_erzwinge_login($this->veranstaltung)) {
             $person = Person::model()->findByAttributes(array("auth" => Yii::app()->user->id));
         } else {
             $person = $_REQUEST["Person"];
             $person["typ"] = Person::$TYP_PERSON;
         }
         if ($antrag->veranstaltung->getEinstellungen()->kommentar_neu_braucht_email && trim($person["email"]) == "") {
             Yii::app()->user->setFlash("error", "Bitte gib deine E-Mail-Adresse an.");
             $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id)));
         }
         $model_person = static::getCurrenPersonOrCreateBySubmitData($person, Person::$STATUS_UNCONFIRMED, false);
         $kommentar = new AntragKommentar();
         $kommentar->attributes = $_REQUEST["AntragKommentar"];
         $kommentar->absatz = $zeile;
         $kommentar->datum = new CDbExpression('NOW()');
         $kommentar->verfasserIn = $model_person;
         $kommentar->verfasserIn_id = $model_person->id;
         $kommentar->antrag = $antrag;
         $kommentar->antrag_id = $antrag_id;
         $kommentar->status = $this->veranstaltung->getEinstellungen()->freischaltung_kommentare ? IKommentar::$STATUS_NICHT_FREI : IKommentar::$STATUS_FREI;
         $kommentare_offen[] = $zeile;
         if ($kommentar->save()) {
             $add = $this->veranstaltung->getEinstellungen()->freischaltung_kommentare ? " Er wird nach einer kurzen Prüfung freigeschaltet und damit sichtbar." : "";
             Yii::app()->user->setFlash("success", "Der Kommentar wurde gespeichert." . $add);
             if ($this->veranstaltung->admin_email != "" && $kommentar->status == IKommentar::$STATUS_NICHT_FREI) {
                 $kommentar_link = $kommentar->getLink(true);
                 $mails = explode(",", $this->veranstaltung->admin_email);
                 $from_name = veranstaltungsspezifisch_email_from_name($this->veranstaltung);
                 $mail_text = "Es wurde ein neuer Kommentar zum Antrag \"" . $antrag->name . "\" verfasst (nur eingeloggt sichtbar):\n" . "Link: " . $kommentar_link;
                 foreach ($mails as $mail) {
                     if (trim($mail) != "") {
                         AntraegeUtils::send_mail_log(EmailLog::$EMAIL_TYP_ANTRAG_BENACHRICHTIGUNG_ADMIN, trim($mail), null, "Neuer Kommentar - bitte freischalten.", $mail_text, $from_name);
                     }
                 }
             }
             if ($kommentar->status == IKommentar::$STATUS_FREI) {
                 $benachrichtigt = array();
                 foreach ($antrag->veranstaltung->veranstaltungsreihe->veranstaltungsreihenAbos as $abo) {
                     if ($abo->kommentare && !in_array($abo->person_id, $benachrichtigt)) {
                         $abo->person->benachrichtigenKommentar($kommentar);
                         $benachrichtigt[] = $abo->person_id;
                     }
                 }
             }
             $this->redirect($kommentar->getLink());
         } else {
             foreach ($model_person->getErrors() as $key => $val) {
                 foreach ($val as $val2) {
                     Yii::app()->user->setFlash("error", "Kommentar konnte nicht angelegt werden: {$key}: {$val2}");
                 }
             }
         }
     }
     if ($kommentar_id > 0) {
         foreach ($antrag->antragKommentare as $komm) {
             if ($komm->id == $kommentar_id) {
                 $kommentare_offen[] = $komm->absatz;
             }
         }
     }
     $aenderungsantraege = array();
     foreach ($antrag->aenderungsantraege as $antr) {
         if (!in_array($antr->status, IAntrag::$STATI_UNSICHTBAR)) {
             $aenderungsantraege[] = $antr;
         }
     }
     $hiddens = array();
     $js_protection = Yii::app()->user->isGuest;
     if ($js_protection) {
         $hiddens["form_token"] = AntiXSS::createToken("kommentar_schreiben");
     } else {
         $hiddens[AntiXSS::createToken("kommentar_schreiben")] = "1";
     }
     if (Yii::app()->user->isGuest) {
         $kommentar_person = new Person();
     } else {
         $kommentar_person = Person::model()->findByAttributes(array("auth" => Yii::app()->user->id));
     }
     $kommentar_person->setEmailRequired($antrag->veranstaltung->getEinstellungen()->kommentar_neu_braucht_email);
     $support_status = "";
     if (!Yii::app()->user->isGuest) {
         foreach ($antrag->antragUnterstuetzerInnen as $unt) {
             if ($unt->person->id == Yii::app()->user->getState("person_id")) {
                 $support_status = $unt->rolle;
             }
         }
     }
     $this->render("anzeige", array("antrag" => $antrag, "aenderungsantraege" => $aenderungsantraege, "edit_link" => $antrag->kannUeberarbeiten(), "kommentare_offen" => $kommentare_offen, "kommentar_person" => $kommentar_person, "admin_edit" => $this->veranstaltung->isAdminCurUser() ? $this->createUrl("/admin/antraege/update", array("id" => $antrag_id)) : null, "komm_del_link" => $this->createUrl("antrag/anzeige", array("antrag_id" => $antrag_id, AntiXSS::createToken("komm_del") => "#komm_id#")), "hiddens" => $hiddens, "js_protection" => $js_protection, "support_status" => $support_status, "sprache" => $antrag->veranstaltung->getSprache()));
 }
コード例 #4
0
ファイル: anzeige.php プロジェクト: andi98/antragsgruen
    }
    ?>
</div>
<?php 
}
if ($antrag->veranstaltung->getEinstellungen()->antrag_kommentare_ohne_absatz) {
    ?>
	<h2>Kommentare</h2>

	<?php 
    $this->renderPartial("anzeige_kommentare", array("antrag" => $antrag, "absatz_nr" => AntragKommentar::ABSATZ_ANTRAG, "komm_del_link" => $komm_del_link, "js_protection" => $js_protection, "hiddens" => $hiddens, "kommentar_person" => $kommentar_person, "kommentare" => $spezielle_kommentare[AntragKommentar::ABSATZ_ANTRAG]));
}
?>
<script>
	<?php 
if (!veranstaltungsspezifisch_erzwinge_login($this->veranstaltung)) {
    ?>
	$('#socialshareprivacy').socialSharePrivacy({
		css_path: "/socialshareprivacy/socialshareprivacy.css"
	});
	<?php 
}
?>

	$(".absatz_text.orig .text .zeilennummer").each(function () {
		$(this).attr("data-zeilennummer", $(this).text());
	});
	$(".row-absatz").each(function () {
		var $absatz = $(this);
		$absatz.find("ul.lesezeichen li.aenderungsantrag").each(function () {
			var $aenderungsantrag = $(this),