/**
  * @param int $id
  * @param bool $verbose
  */
 private function recalcAeText($id, $verbose)
 {
     /** @var Aenderungsantrag $aenderungsantrag */
     $aenderungsantrag = Aenderungsantrag::model()->findByPk($id);
     if (!$aenderungsantrag) {
         die("Änderungsantrag nicht gefunden\n");
     }
     $aenderungsantrag->antrag->text = HtmlBBcodeUtils::bbcode_normalize($aenderungsantrag->antrag->text);
     $aenderungsantrag->antrag->save();
     $aenderungsantrag->calcDiffText();
     $aenderungsantrag->save(false);
     if ($verbose) {
         echo "Erledigt. Neuer Änderungstext:\n";
         echo $aenderungsantrag->aenderung_text . "\n";
     }
 }
 public function run($args)
 {
     foreach ($GLOBALS["TESTS"] as $test) {
         HtmlBBcodeUtils::initZeilenCounter();
         $res = HtmlBBcodeUtils::bbcode2html_absaetze($test["src"], $test["presentation_hacks"], $test["line_length"]);
         $allesrichtig = true;
         if (count($res["html"]) != count($test["expected_html"])) {
             $allesrichtig = false;
         }
         if (count($res["html_plain"]) != count($test["expected_plain"])) {
             $allesrichtig = false;
         }
         if ($allesrichtig) {
             foreach ($res["html"] as $i => $line) {
                 if ($test["expected_html"][$i] !== $line) {
                     $allesrichtig = false;
                 }
             }
             foreach ($res["html_plain"] as $i => $line) {
                 if ($test["expected_plain"][$i] !== $line) {
                     $allesrichtig = false;
                 }
             }
         }
         if ($allesrichtig) {
             echo "Korrekt\n";
         } else {
             echo "FEHLER!\n";
             echo "Erwartet (HTML):\n";
             var_dump($test["expected_html"]);
             echo "Bekommen (HTML):\n";
             var_dump($res["html"]);
             echo "Erwartet (Plain): \n";
             var_dump($test["expected_plain"]);
             echo "Bekommen (Plain):\n";
             var_dump($res["html_plain"]);
             echo "\n";
         }
     }
 }
 public function run($args)
 {
     foreach ($GLOBALS["TESTS"] as $test) {
         $x = HtmlBBcodeUtils::text2zeilen($test["src"], 80, $test["is_bbcode"], false, true);
         $correct = true;
         if (count($x) != count($test["expected"])) {
             $correct = false;
         } else {
             for ($i = 0; $i < count($test["expected"]); $i++) {
                 if ($test["expected"][$i] != $x[$i]) {
                     $correct = false;
                 }
             }
         }
         if ($correct) {
             echo "Korrekt\n";
         } else {
             $x = HtmlBBcodeUtils::text2zeilen($test["src"], 80, $test["is_bbcode"], true, true);
             var_dump($x);
         }
         echo "\n";
     }
 }
示例#4
0
        echo ", " . HtmlBBcodeUtils::formatMysqlDate($veranstaltung->datum_von) . " - " . HtmlBBcodeUtils::formatMysqlDate($veranstaltung->datum_bis);
    } else {
        echo ", " . HtmlBBcodeUtils::formatMysqlDate($veranstaltung->datum_von);
    }
}
$editlink = $einleitungstext->getEditLink();
if ($editlink !== null) {
    echo "<a style='font-size: 10px;' href='" . CHtml::encode($this->createUrl($editlink[0], $editlink[1])) . "'>Bearbeiten</a>";
}
?>
	</h1>

	<div class='content' style='overflow: auto;'>
		<?php 
if ($veranstaltung->antragsschluss != "") {
    echo '<p class="antragsschluss_kreis">Antrags&shy;schluss: ' . HtmlBBcodeUtils::formatMysqlDateTime($veranstaltung->antragsschluss) . "</p>\n";
}
echo $einleitungstext->getHTMLText();
?>
	</div>
<?php 
if (veranstaltungsspezifisch_hat_tags_startseite($this->veranstaltung)) {
    require_once __DIR__ . "/index_layout_tags.php";
} elseif ($this->veranstaltung->getEinstellungen()->bdk_startseiten_layout) {
    require_once __DIR__ . "/index_layout_bdk.php";
} else {
    require_once __DIR__ . "/index_layout_std.php";
}
?>

<?php 
示例#5
0
     }
     $doc->setCell($row, $COL_AE_NR, OdsTemplateEngine::$TYPE_TEXT, $ae->revision_name);
     $doc->setCell($row, $COL_ANTRAGSTELLERIN, OdsTemplateEngine::$TYPE_TEXT, implode(", ", $initiatorInnen_namen));
     $doc->setCell($row, $COL_KONTAKT, OdsTemplateEngine::$TYPE_TEXT, implode("\n", $initiatorInnen_kontakt));
     $doc->setCell($row, $COL_ZEILE, OdsTemplateEngine::$TYPE_TEXT, $ae->getFirstDiffLine());
     $absae = $ae->getAntragstextParagraphs_diff();
     $diffhtml = "";
     foreach ($absae as $i => $abs) {
         if ($abs !== null) {
             $diffhtml .= $abs->getDiffHTMLForODS();
         }
     }
     if ($ae->aenderung_begruendung_html) {
         $text_begruendung = $ae->aenderung_begruendung;
     } else {
         $text_begruendung = '<div>' . HtmlBBcodeUtils::bbcode2html($ae->aenderung_begruendung) . '</div>';
     }
     if (!isset($COL_BEGRUENDUNG)) {
         $text = '<p><strong>Änderungsantrag:</strong></p>' . $diffhtml;
         $text .= '<p><strong>Begründung:</strong></p>' . $text_begruendung;
         $doc->setCell($row, $COL_ANTRAGSTEXT, OdsTemplateEngine::$TYPE_HTML, $text);
     } else {
         if ($DEBUG) {
             echo CHtml::encode($text_begruendung);
         }
         $doc->setCell($row, $COL_ANTRAGSTEXT, OdsTemplateEngine::$TYPE_HTML, $diffhtml);
         $doc->setCell($row, $COL_BEGRUENDUNG, OdsTemplateEngine::$TYPE_HTML, $text_begruendung);
     }
 }
 if (!$antraege_separat) {
     /** @var int $antrag_row_from */
示例#6
0
        }
        echo ">";
        echo "<p class='datum'>" . HtmlBBcodeUtils::formatMysqlDate($aenderungsantrag->antrag->datum_einreichung) . "</p>\n";
        echo "<p class='titel'>\n";
        echo CHtml::link(CHtml::encode($aenderungsantrag->revision_name . " zu " . $aenderungsantrag->antrag->nameMitRev()), $this->createUrl("aenderungsantrag/anzeige", array("antrag_id" => $aenderungsantrag->antrag->id, "aenderungsantrag_id" => $aenderungsantrag->id)));
        echo CHtml::link("PDF", $this->createUrl("aenderungsantrag/pdf", array("antrag_id" => $aenderungsantrag->antrag->id, "aenderungsantrag_id" => $aenderungsantrag->id)), array("class" => "pdfLink"));
        echo "</p>\n";
        echo "<p class='info'>";
        $text = $aenderungsantrag->aenderung_text . "\n" . $aenderungsantrag->aenderung_begruendung;
        $last_found = 0;
        for ($i = 0; $i < 3 && $last_found !== false; $i++) {
            $last_found = mb_stripos($text, $suchbegriff, $last_found);
            if ($last_found !== false) {
                $from = $last_found > 65 ? $last_found - 65 : 0;
                $substr = CHtml::encode(HtmlBBcodeUtils::removeBBCode(mb_substr($text, $from, $last_found > 65 ? 65 : $last_found)));
                $substr .= "<strong>" . CHtml::encode(mb_substr($text, $last_found, mb_strlen($suchbegriff))) . "</strong>";
                $substr .= CHtml::encode(HtmlBBcodeUtils::removeBBCode(mb_substr($text, $last_found + mb_strlen($suchbegriff), 65)));
                echo "<i>..." . $substr . "...</i><br style='margin-bottom: 3px;'>";
            }
            $last_found++;
        }
        echo "</p>";
        echo "</li>";
    }
    echo "</ul>";
} else {
    echo "<div class='content'><i>keine Anträge gefunden</i></div> ";
}
?>

示例#7
0
<?php

/**
 * @var IndexController $this
 * @var Antrag[] $antraege
 * @var Aenderungsantrag[] $aenderungsantraege
 */
Header("Content-Type: text/plain; charset=UTF-8");
foreach ($antraege as $antrag) {
    echo $antrag->name . "\n";
    echo HtmlBBcodeUtils::removeBBCode($antrag->text) . "\n\n";
    echo HtmlBBcodeUtils::removeBBCode($antrag->begruendung) . "\n\n\n";
}
foreach ($aenderungsantraege as $ae) {
    $diff = $ae->getDiffParagraphs();
    foreach ($diff as $line) {
        if ($line != "") {
            echo HtmlBBcodeUtils::removeBBCode($line) . "\n\n";
        }
    }
    echo HtmlBBcodeUtils::removeBBCode($ae->aenderung_begruendung) . "\n\n\n";
}
示例#8
0
            <th><?php 
echo GxHtml::encode($data->getAttributeLabel('datum_einreichung'));
?>
:</th>
            <td><?php 
echo HtmlBBcodeUtils::formatMysqlDateTime($data->datum_einreichung);
?>
</td>
        </tr>
        <tr>
            <th><?php 
echo GxHtml::encode($data->getAttributeLabel('datum_beschluss'));
?>
:</th>
            <td><?php 
echo HtmlBBcodeUtils::formatMysqlDate($data->datum_beschluss);
?>
</td>
        </tr>
	<tr>
		<th>Formate:</th>
		<td>
			<?php 
echo CHtml::link("PDF", $this->createUrl("antrag/pdf", array("antrag_id" => $data->id)));
?>
,
			<a href="<?php 
echo CHtml::encode($this->createUrl("antrag/plainHtml", array("antrag_id" => $data->id)));
?>
" download="<?php 
echo $data->revision_name;
示例#9
0
 /**
  * @static
  * @param string $text_alt
  * @param string $text_neu
  * @param bool $compact
  * @param int $css_width_hack
  * @param string $pre_str_html
  * @param bool $wrapWithCssClass
  * @param bool $debug
  * @return string
  */
 public static function renderBBCodeDiff2HTML($text_alt, $text_neu, $compact = false, $css_width_hack = 0, $pre_str_html = "", $wrapWithCssClass = true, $debug = false)
 {
     $text_alt = static::bbNormalizeForDiff($text_alt);
     $text_neu = static::bbNormalizeForDiff($text_neu);
     $diff = DiffUtils::getTextDiff($text_alt, $text_neu);
     if ($compact) {
         $renderer = new Horde_Text_Diff_Renderer_Inline_Antrag15();
         $absatz = $renderer->render($diff);
     } else {
         $absatz = DiffUtils::renderAbsatzDiff($diff);
     }
     if ($debug) {
         echo "\n\n============== Nach DIFF ===============\n\n";
         var_dump($absatz);
     }
     $split_lists = function ($matches) use($debug) {
         $lis = explode("[*]", $matches["inhalt"]);
         if (count($lis) == 1) {
             return $matches[0];
         }
         $output = "";
         for ($i = 0; $i < count($lis); $i++) {
             if ($i == 0) {
                 if (trim($lis[$i]) == "") {
                     $output .= $lis[$i];
                 } else {
                     $output .= $matches["anfang"] . $lis[$i] . $matches["ende"];
                 }
             } elseif ($i == count($lis) - 1) {
                 if (trim($lis[$i]) == "") {
                     $output .= "[*]" . $lis[$i];
                 } else {
                     $output .= "[*]" . $matches["anfang"] . $lis[$i] . $matches["ende"];
                 }
             } else {
                 $output .= "[*]" . $matches["anfang"] . $lis[$i] . $matches["ende"];
             }
         }
         if ($debug) {
             echo "-----------------\n";
             var_dump($matches);
             var_dump($lis);
             var_dump($output);
         }
         return $output;
     };
     $absatz = preg_replace_callback("/(?<anfang><del>)(?<inhalt>.*)(?<ende><\\/del>)/siU", $split_lists, $absatz);
     $absatz = preg_replace_callback("/(?<anfang><ins>)(?<inhalt>.*)(?<ende><\\/ins>)/siU", $split_lists, $absatz);
     $diffstr = HtmlBBcodeUtils::bbcode2html($absatz);
     $diffstr = str_ireplace(array("&lt;ins&gt;", "&lt;/ins&gt;", "&lt;del&gt;", "&lt;/del&gt;"), array("<ins>", "</ins>", "<del>", "</del>"), $diffstr);
     if ($debug) {
         echo "\n\n============== In HTML ===============\n\n";
         var_dump($diffstr);
     }
     static::$ins_mode_active = false;
     static::$del_mode_active = false;
     $diffstr = preg_replace_callback("/(<li>)(.*)(<\\/li>)/siuU", function ($matches) {
         $pos_del_open = mb_stripos($matches[2], "<del>");
         $pos_del_close = mb_stripos($matches[2], "</del>");
         $pos_ins_open = mb_stripos($matches[2], "<ins>");
         $pos_ins_close = mb_stripos($matches[2], "</ins>");
         $middle = $matches[2];
         if ($pos_del_close !== false && ($pos_del_open === false || $pos_del_open > $pos_del_close)) {
             $middle = "<del>" . $middle;
             static::$del_mode_active = false;
         }
         if ($pos_del_open !== false && ($pos_del_close === false || $pos_del_open > $pos_del_close)) {
             $middle .= "</del>";
             static::$del_mode_active = true;
         }
         if ($pos_del_close === false && $pos_del_open === false && static::$del_mode_active) {
             $middle = "<del>{$middle}</del>";
         }
         if ($pos_ins_close !== false && ($pos_ins_open === false || $pos_ins_open > $pos_ins_close)) {
             $middle = "<ins>" . $middle;
             static::$ins_mode_active = false;
         }
         if ($pos_ins_open !== false && ($pos_ins_close === false || $pos_ins_open > $pos_ins_close)) {
             $middle .= "</ins>";
             static::$ins_mode_active = true;
         }
         if ($pos_ins_close === false && $pos_ins_open === false && static::$ins_mode_active) {
             $middle = "<ins>{$middle}</ins>";
         }
         return $matches[1] . $middle . $matches[3];
     }, $diffstr);
     if ($diffstr == "") {
         $diffstr = HtmlBBcodeUtils::bbcode2html($text_alt);
     }
     if ($wrapWithCssClass) {
         $diffstr = HtmlBBcodeUtils::wrapWithTextClass($pre_str_html . $diffstr, $css_width_hack);
     }
     return $diffstr;
 }
 /**
  * @param Veranstaltung $veranstaltung
  * @return array
  */
 private function getFeedAntragKommentarData(&$veranstaltung)
 {
     $veranstaltung_id = IntVal($veranstaltung->id);
     $antraege = AntragKommentar::holeNeueste($veranstaltung, 20);
     $data = array();
     foreach ($antraege as $ant) {
         $data[AntraegeUtils::date_sql2timestamp($ant->datum) . "_kommentar_" . $ant->id] = array("title" => "Kommentar von " . $ant->verfasserIn->name . " zu: " . $ant->antrag->nameMitRev(), "link" => Yii::app()->getBaseUrl(true) . $this->createUrl("antrag/anzeige", array("antrag_id" => $ant->antrag->id, "kommentar_id" => $ant->id, "#" => "komm" . $ant->id)), "dateCreated" => AntraegeUtils::date_sql2timestamp($ant->datum), "content" => HtmlBBcodeUtils::bbcode2html($ant->text));
     }
     return $data;
 }
示例#11
0
        } else {
            $x[] = $unt->getNameMitBeschlussdatum(true);
        }
    }
}
echo implode(", ", $x);
?>
</td>
	</tr>
    <tr>
            <th><?php 
echo GxHtml::encode($data->getAttributeLabel('aenderung_text'));
?>
:</th>
            <td><?php 
echo HtmlBBcodeUtils::bbcode2html($data->aenderung_text);
?>
</td>
        </tr>
        <tr>
            <th><?php 
echo GxHtml::encode($data->getAttributeLabel('datum_einreichung'));
?>
:</th>
            <td><?php 
echo GxHtml::encode($data->datum_einreichung);
?>
</td>
        </tr>
        <tr>
            <th><?php 
示例#12
0
        }
        echo "</p>\n";
        echo "<p class='info'>von ";
        $vons = array();
        foreach ($antrag->getAntragstellerInnen() as $p) {
            $vons[] = $p->getNameMitOrga();
        }
        echo implode(", ", $vons);
        echo ", " . CHtml::encode(IAntrag::$STATI[$antrag->status]);
        echo "</p>";
        if (count($antrag->aenderungsantraege) > 0) {
            echo "<ul class='aenderungsantraege'>";
            $aes = $antrag->sortierteAenderungsantraege();
            foreach ($aes as $ae) {
                echo "<li" . ($ae->status == IAntrag::$STATUS_ZURUECKGEZOGEN ? " class='zurueckgezogen'" : "") . ">";
                echo "<span class='datum'>" . HtmlBBcodeUtils::formatMysqlDate($ae->datum_einreichung) . "</span>\n";
                $name = trim($ae->revision_name) == "" ? "-" : $ae->revision_name;
                echo CHtml::link($name, $this->createUrl('aenderungsantrag/anzeige', array("antrag_id" => $ae->antrag->id, "aenderungsantrag_id" => $ae->id)));
                $vons = array();
                foreach ($ae->getAntragstellerInnen() as $p) {
                    $vons[] = $p->getNameMitOrga();
                }
                echo "<span class='info'>" . implode(", ", $vons) . "</span>\n";
                echo "</li>\n";
            }
            echo "</ul>";
        }
        echo "</li>\n";
    }
    echo "</ul>";
}
示例#13
0
 /**
  * @static
  * @param string $text
  * @param bool $praesentations_hacks
  * @param int $zeilenlaenge
  * @return array|string[]
  */
 static function bbcode2html_absaetze($text, $praesentations_hacks = false, $zeilenlaenge)
 {
     $text = static::bbNormalizeForAbsaetze($text);
     $x = explode("\n\n", $text);
     $absaetze_html = array();
     $absaetze_bbcode = array();
     $absaetze_html_plain = array();
     HtmlBBcodeUtils::$br_implicit = $praesentations_hacks ? " <br class='implicit'>" : "<br>";
     // wird bei responsiver Ansicht manchmal ausgeblendet
     HtmlBBcodeUtils::$br_explicit = "<br>";
     HtmlBBcodeUtils::$zeilenlaenge = $zeilenlaenge;
     foreach ($x as $i => $y) {
         $absaetze_bbcode[] = $y;
         $abs = HtmlBBcodeUtils::bbcode2html($y);
         $absaetze_html_plain[] = $abs;
         if (mb_stripos($abs, "<ul") === 0 || mb_stripos($abs, "<ol") === 0 || mb_stripos($abs, "<blockquote") === 0) {
             $str_neu = str_ireplace("<ul", "<ul class='text'", $abs);
             $str_neu = str_ireplace("<ol", "<ol class='text'", $str_neu);
             $str_neu = str_ireplace("<blockquote", "<blockquote class='text'", $str_neu);
             $str_neu = preg_replace("/( |<br>)*<\\/li>/", "</li>", $str_neu);
             $str_neu = preg_replace_callback("/(<(blockquote|li)[^>]*>)(.*)(<\\/\\2>)/siU", function ($matches) {
                 $out = $matches[1];
                 $zeils = explode("<br>", $matches[3]);
                 $zeils_neu = array();
                 foreach ($zeils as $zeile) {
                     $x = HtmlBBcodeUtils::text2zeilen($zeile, HtmlBBcodeUtils::$zeilenlaenge - 10, false);
                     $zeils_neu[] = "###ZEILENNUMMER###" . implode(HtmlBBcodeUtils::$br_implicit . "###ZEILENNUMMER###", $x);
                 }
                 $out .= implode("<br>", $zeils_neu);
                 $out .= $matches[4];
                 return $out;
             }, $str_neu);
         } else {
             $zeils = explode("<br>", $abs);
             $zeils_neu = array();
             foreach ($zeils as $zeile) {
                 $x = HtmlBBcodeUtils::text2zeilen($zeile, HtmlBBcodeUtils::$zeilenlaenge, false);
                 $zeils_neu[] = "###ZEILENNUMMER###" . implode(HtmlBBcodeUtils::$br_implicit . "###ZEILENNUMMER###", $x);
             }
             $str_neu = "<div class='text'>";
             $str_neu .= implode("<br>", $zeils_neu);
             $str_neu .= "</div>";
         }
         $str_neu = preg_replace_callback("/###ZEILENNUMMER###/", function () {
             return "<span class='zeilennummer'>" . HtmlBBcodeUtils::$zeilen_counter++ . "</span>";
         }, $str_neu);
         $absaetze_html[] = $str_neu;
     }
     return array("html" => $absaetze_html, "html_plain" => $absaetze_html_plain, "bbcode" => $absaetze_bbcode);
 }
示例#14
0
 /**
  * @param bool $runValidation
  * @param null $attributes
  * @return bool
  */
 public function save($runValidation = true, $attributes = null)
 {
     HtmlBBcodeUtils::initZeilenCounter();
     list($anzahl_absaetze, $anzahl_zeilen) = HtmlBBcodeUtils::getBBCodeStats(trim($this->text), $this->veranstaltung->getEinstellungen()->zeilenlaenge);
     $this->cache_anzahl_absaetze = $anzahl_absaetze;
     $this->cache_anzahl_zeilen = $anzahl_zeilen + 1;
     // + Überschrift
     Yii::app()->cache->delete("pdf_" . $this->veranstaltung->id);
     Yii::app()->cache->delete("pdf_" . $this->veranstaltung->id . "_" . $this->id);
     return parent::save($runValidation, $attributes);
 }
示例#15
0
 /**
  * @return AenderungsantragAbsatz[]
  */
 public function getAntragstextParagraphs_diff()
 {
     $abs_alt = $this->antrag->getParagraphs();
     $abs_neu = json_decode($this->text_neu);
     $this->absaetze = array();
     if (trim($this->aenderung_metatext) != "") {
         $a = HtmlBBcodeUtils::bbcode2html_absaetze($this->aenderung_metatext, true, $this->antrag->veranstaltung->getEinstellungen()->zeilenlaenge);
         foreach ($a["bbcode"] as $i => $b) {
             $kommentare = array();
             foreach ($this->aenderungsantragKommentare as $komm) {
                 if ($komm->absatz == count($this->absaetze)) {
                     $kommentare[] = $komm;
                 }
             }
             $this->absaetze[] = new AenderungsantragAbsatz($b, $b, $this->id, count($this->absaetze), null, null, $kommentare);
         }
     }
     for ($i = 0; $i < count($abs_alt); $i++) {
         $ae_absatz_nr = count($this->absaetze) + $i;
         if ($abs_neu[$i] == "") {
             $this->absaetze[] = null;
         } else {
             preg_match_all("/<span class='zeilennummer'>([0-9]+)<\\/span>/siu", $abs_alt[$i]->str_html, $matches);
             $zeile_von = isset($matches[1][0]) ? IntVal($matches[1][0]) : "????";
             $zeile_bis = isset($matches[1]) ? $matches[1][count($matches[1]) - 1] : "???";
             $kommentare = array();
             foreach ($this->aenderungsantragKommentare as $komm) {
                 if ($komm->absatz == $ae_absatz_nr) {
                     $kommentare[] = $komm;
                 }
             }
             $this->absaetze[] = new AenderungsantragAbsatz($abs_alt[$i]->str_bbcode, $abs_neu[$i], $this->id, $ae_absatz_nr, $zeile_von, $zeile_bis, $kommentare);
         }
     }
     return $this->absaetze;
 }
示例#16
0
 * @var int $absatz_nr
 * @var bool $js_protection
 * @var array $hiddens
 * @var Person $kommentar_person
 * @var Antrag $antrag
 * @var AntragKommentar $kommentare
 */
foreach ($kommentare as $komm) {
    $komm_link = $this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id, "kommentar_id" => $komm->id, "#" => "komm" . $komm->id));
    ?>
	<div class="kommentarform" id="komm<?php 
    echo $komm->id;
    ?>
">
		<div class="datum"><?php 
    echo HtmlBBcodeUtils::formatMysqlDateTime($komm->datum);
    ?>
</div>
		<h3>Kommentar von
			<?php 
    echo CHtml::encode($komm->verfasserIn->getNameMitOrga());
    if ($komm->status == IKommentar::$STATUS_NICHT_FREI) {
        echo " <em>(noch nicht freigeschaltet)</em>";
    }
    ?>
</h3>
		<?php 
    echo nl2br(CHtml::encode($komm->text));
    if (!is_null($komm_del_link) && $komm->kannLoeschen(Yii::app()->user)) {
        echo "<div class='del_link'><a href='" . CHtml::encode(str_replace(rawurlencode("#komm_id#"), $komm->id, $komm_del_link)) . "'>x</a></div>";
    }
示例#17
0
    $html .= "</ul></div>";
    $this->menus_html[] = $html;
}
if ($veranstaltung->typ == Veranstaltung::$TYP_PROGRAMM) {
    if ($veranstaltung->getPolicyAntraege()->checkCurUserHeuristically()) {
        $this->menus_html[] = '<a class="neuer-antrag" href="' . CHtml::encode($this->createUrl("antrag/neu")) . '"></a>';
    }
}
if (!in_array($veranstaltung->policy_kommentare, array(0, 4))) {
    $html = "<div><ul class='nav nav-list neue-kommentare'><li class='nav-header'>Neue Kommentare</li>";
    if (count($neueste_kommentare) == 0) {
        $html .= "<li><i>keine</i></li>";
    } else {
        foreach ($neueste_kommentare as $komm) {
            $html .= "<li class='komm'>";
            $html .= "<strong>" . CHtml::encode($komm->verfasserIn->name) . "</strong>, " . HtmlBBcodeUtils::formatMysqlDateTime($komm->datum);
            $html .= "<div>Zu " . CHtml::link(CHtml::encode($komm->antrag->name), $this->createUrl("antrag/anzeige", array("antrag_id" => $komm->antrag_id, "kommentar_id" => $komm->id, "#" => "komm" . $komm->id))) . "</div>";
            $html .= "</li>\n";
        }
    }
    $html .= "</ul></div>";
    $this->menus_html[] = $html;
}
$html = "<div><ul class='nav nav-list neue-kommentare'><li class='nav-header'>Benachrichtigungen</li>";
$html .= "<li class='benachrichtigung'>" . CHtml::link($sprache->get("E-Mail-Benachrichtigung bei neuen Anträgen"), $this->createUrl("veranstaltung/benachrichtigungen")) . "</li>";
$html .= "</ul></div>";
$this->menus_html[] = $html;
$html = "";
if ($veranstaltung->getEinstellungen()->feeds_anzeigen) {
    $feeds = 0;
    if (!in_array($veranstaltung->policy_antraege, array("Admins"))) {
示例#18
0
        if (!$letztes_leer) {
            $letztes_leer = true;
            echo "<div class='absatz_ueberspringen'>.<br>.<br>.</div>";
        }
    }
}
?>
		</div>
	</div>

	<div class="begruendungs_text_holder">
		<h3>Begründung</h3>

		<div class="textholder consolidated content">
			<?php 
echo HtmlBBcodeUtils::bbcode2html($aenderungsantrag->aenderung_begruendung);
?>
		</div>

		<br><br>
	</div>

<?php 
$zustimmung_von = $aenderungsantrag->getZustimmungen();
$ablehnung_von = $aenderungsantrag->getAblehnungen();
$unterstuetzerInnen = $aenderungsantrag->getUnterstuetzerInnen();
$eintraege = count($unterstuetzerInnen) > 0 || count($zustimmung_von) > 0 || count($ablehnung_von) > 0;
$unterstuetzen_policy = $aenderungsantrag->antrag->veranstaltung->getPolicyUnterstuetzen();
$kann_unterstuetzen = $unterstuetzen_policy->checkCurUserHeuristically();
$kann_nicht_unterstuetzen_msg = $unterstuetzen_policy->getPermissionDeniedMsg();
if ($eintraege || $kann_unterstuetzen || $kann_nicht_unterstuetzen_msg != "") {
示例#19
0
 /**
  * @param string []
  * @param string
  * @return string
  */
 public function convert($antrag_absaetze, $begruendung)
 {
     $this->appendTextStyleNode("Antragsgruen_fett", array("fo:font-weight" => "bold", "style:font-weight-asian" => "bold", "style:font-weight-complex" => "bold"));
     $this->appendTextStyleNode("Antragsgruen_kursiv", array("fo:font-style" => "italic", "style:font-style-asian" => "italic", "style:font-style-complex" => "italic"));
     $this->appendTextStyleNode("Antragsgruen_unterstrichen", array("style:text-underline-width" => "auto", "style:text-underline-color" => "font-color", "style:text-underline-style" => "solid"));
     $this->appendTextStyleNode("Antragsgruen_gruen", array("fo:color" => "#00ff00"));
     $this->appendTextStyleNode("Antragsgruen_rot", array("fo:color" => "#ff0000"));
     /** @var DOMNode[] $nodes */
     $nodes = array();
     foreach ($this->doc->getElementsByTagNameNS(static::$NS_TEXT, 'span') as $element) {
         $nodes[] = $element;
     }
     foreach ($this->doc->getElementsByTagNameNS(static::$NS_TEXT, 'p') as $element) {
         $nodes[] = $element;
     }
     foreach ($nodes as $node) {
         $children = $node->childNodes;
         foreach ($children as $child) {
             if ($child->nodeType == XML_TEXT_NODE) {
                 /** @var DOMText $child */
                 $child->data = preg_replace(array_keys($this->replaces), array_values($this->replaces), $child->data);
                 if (preg_match("/\\{\\{ANTRAGSGRUEN:BEGRUENDUNG( [^\\}]*)?/siu", $child->data)) {
                     $this->node_begruendung = $node;
                 }
                 if (preg_match("/\\{\\{ANTRAGSGRUEN:ANTRAGSTEXT_1( [^\\}]*)?/siu", $child->data)) {
                     $this->node_template_1 = $node;
                 }
                 if (preg_match("/\\{\\{ANTRAGSGRUEN:ANTRAGSTEXT_N( [^\\}]*)?/siu", $child->data)) {
                     $this->node_template_n = $node;
                 }
             }
         }
     }
     if ($this->node_begruendung) {
         if ($begruendung) {
             $new_nodes = $this->html2ooNodes($begruendung, static::$TEMPLATE_TYPE_BEGRUENDUNG);
             foreach ($new_nodes as $new_node) {
                 $this->node_begruendung->parentNode->insertBefore($new_node, $this->node_begruendung);
             }
         }
         $this->node_begruendung->parentNode->removeChild($this->node_begruendung);
     }
     if ($this->node_template_1) {
         $html = HtmlBBcodeUtils::bbcode2html($antrag_absaetze[0]->str_bbcode);
         if ($this->DEBUG) {
             echo "======<br>" . nl2br(CHtml::encode($html)) . "<br>========<br>";
         }
         $new_nodes = $this->html2ooNodes($html, static::$TEMPLATE_TYPE_ANTRAG);
         foreach ($new_nodes as $new_node) {
             $this->node_template_1->parentNode->insertBefore($new_node, $this->node_template_1);
         }
         $this->node_template_1->parentNode->removeChild($this->node_template_1);
     }
     if ($this->node_template_n) {
         for ($i = 1; $i < count($antrag_absaetze); $i++) {
             $html = HtmlBBcodeUtils::bbcode2html($antrag_absaetze[$i]->str_bbcode);
             if ($this->DEBUG) {
                 echo "======<br>" . nl2br(CHtml::encode($html)) . "<br>========<br>";
             }
             $new_nodes = $this->html2ooNodes($html, static::$TEMPLATE_TYPE_ANTRAG);
             foreach ($new_nodes as $new_node) {
                 $this->node_template_n->parentNode->insertBefore($new_node, $this->node_template_n);
             }
         }
         $this->node_template_n->parentNode->removeChild($this->node_template_n);
     }
     return $this->doc->saveXML();
 }
示例#20
0
			</td>
		</tr>
	<?php 
}
?>
</table>

<h2><?php 
echo $sprache->get("Antragstext");
?>
</h2>
<?php 
$absae = $antrag->getParagraphs(true, false);
foreach ($absae as $i => $abs) {
    echo $abs->str_html_plain;
    echo "<br><br>";
}
if (trim($antrag->begruendung) != "") {
    ?>
<h3>Begründung</h3>
<?php 
    if ($antrag->begruendung_html) {
        echo $antrag->begruendung;
    } else {
        echo HtmlBBcodeUtils::bbcode2html($antrag->begruendung);
    }
}
?>

</body>
</html>
示例#21
0
 $zeilen_antrag = array();
 foreach ($text_antrag as $t) {
     $x = explode("\n", $t);
     $zeilen_antrag = array_merge($zeilen_antrag, $x);
 }
 $text2_antrag = str_replace(array("[QUOTE]", "[/QUOTE]"), array("\n\n", "\n\n"), $antrag->text2);
 $text2_antrag = HtmlBBcodeUtils::removeBBCode($text2_antrag);
 $text2_antrag = HtmlBBcodeUtils::text2zeilen(trim($text2_antrag), 120, true);
 $zeilen2_antrag = array();
 foreach ($text2_antrag as $t) {
     $x = explode("\n", $t);
     $zeilen2_antrag = array_merge($zeilen2_antrag, $x);
 }
 $text_begruendung = str_replace(array("[QUOTE]", "[/QUOTE]"), array("\n\n", "\n\n"), $antrag->begruendung);
 $text_begruendung = HtmlBBcodeUtils::removeBBCode($text_begruendung);
 $text_begruendung = HtmlBBcodeUtils::text2zeilen(trim($text_begruendung), 120, true);
 $zeilen_begruendung = array();
 foreach ($text_begruendung as $t) {
     $x = explode("\n", $t);
     $zeilen_begruendung = array_merge($zeilen_begruendung, $x);
 }
 if ($text_begruendung_zusammen) {
     $text1name = veranstaltungsspezifisch_text1_name($this->veranstaltung, $antrag->typ);
     $text2name = veranstaltungsspezifisch_text2_name($this->veranstaltung, $antrag->typ);
     $begruendungname = veranstaltungsspezifisch_begruendung_name($this->veranstaltung, $antrag->typ);
     $zeilen = array();
     if (count($zeilen2_antrag) > 0) {
         $zeilen = array_merge($zeilen, array($text2name . ":"), $zeilen2_antrag, array("", ""));
     }
     $zeilen = array_merge($zeilen, array($text1name . ":"), $zeilen_antrag, array("", "", $begruendungname . ":"), $zeilen_begruendung);
     $objPHPExcel->getActiveSheet()->SetCellValue($COL_ANTRAGSTEXT . $row, trim(implode("\n", $zeilen)));
示例#22
0
         $absatz_zeilen = $kommentar->absatz + 1 . " / Z. {$zeile_von} - {$zeile_bis}";
     } else {
         $absatz_zeilen = "???";
     }
 }
 if (is_a($kommentar, "AenderungsantragKommentar")) {
     /** @var AenderungsantragKommentar $kommentar */
     if ($this->veranstaltung->getEinstellungen()->revision_name_verstecken) {
         $objPHPExcel->getActiveSheet()->SetCellValue('C' . $row, $kommentar->aenderungsantrag->revision_name);
     } else {
         $objPHPExcel->getActiveSheet()->SetCellValue('C' . $row, $kommentar->aenderungsantrag->revision_name . " zu " . $kommentar->aenderungsantrag->antrag->revision_name);
     }
 }
 $objPHPExcel->getActiveSheet()->SetCellValue('D' . $row, $absatz_zeilen);
 $objPHPExcel->getActiveSheet()->getStyle('D' . $row)->getAlignment()->setWrapText(true);
 $text = HtmlBBcodeUtils::text2zeilen($kommentar->text, 120, true);
 $zeilen = array();
 foreach ($text as $t) {
     $x = explode("\n", $t);
     $zeilen = array_merge($zeilen, $x);
 }
 $objPHPExcel->getActiveSheet()->SetCellValue('E' . $row, trim(implode("\n", $zeilen)));
 $objPHPExcel->getActiveSheet()->getStyle('E' . $row)->getAlignment()->setWrapText(true);
 if ($this->veranstaltung->getEinstellungen()->kommentare_unterstuetzbar) {
     $positiv = $negativ = 0;
     if (is_a($kommentar, "AntragKommentar")) {
         /** @var AntragKommentar $kommentar */
         foreach ($kommentar->unterstuetzerInnen as $unt) {
             if ($unt->dafuer) {
                 $positiv++;
             } else {
 /**
  * @param string $veranstaltungsreihe_id
  * @param string $veranstaltung_id
  * @param int $antrag_id
  * @param int $adoptInitiators
  */
 public function actionNeu($veranstaltungsreihe_id = "", $veranstaltung_id, $antrag_id, $adoptInitiators = 0)
 {
     $this->layout = '//layouts/column2';
     $this->testeWartungsmodus();
     $antrag_id = IntVal($antrag_id);
     /** @var Antrag $antrag */
     $antrag = Antrag::model()->findByPk($antrag_id);
     $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id, $antrag);
     if (!$antrag->veranstaltung->getPolicyAenderungsantraege()->checkCurUserHeuristically()) {
         $msg = $antrag->veranstaltung->getPolicyAenderungsantraege()->getPermissionDeniedMsg();
         Yii::app()->user->setFlash("error", "Es kann kein Änderungsantrag werden: " . $msg);
         $this->redirect($this->createUrl("antrag/anzeige", array("antrag_id" => $antrag->id)));
     }
     $aenderungsantrag = new Aenderungsantrag();
     $aenderungsantrag->aenderung_first_line_cache = -1;
     $aenderungsantrag->antrag = $antrag;
     $aenderungsantrag->antrag_id = $antrag->id;
     $aenderungsantrag->status = Aenderungsantrag::$STATUS_UNBESTAETIGT;
     $aenderungsantrag->status_string = "";
     $unterstuetzerInnen = array();
     $changed = false;
     if (AntiXSS::isTokenSet("antragneu")) {
         $aenderungsantrag->name_neu = $_REQUEST["Aenderungsantrag"]["name_neu"];
         $aenderungsantrag->begruendung_neu = "";
         $aenderungsantrag->aenderung_metatext = HtmlBBcodeUtils::html_normalize($_REQUEST["ae_metatext"]);
         if ($aenderungsantrag->antrag->veranstaltung->getEinstellungen()->begruendung_in_html && isset($_REQUEST["ae_begruendung_html"])) {
             $aenderungsantrag->aenderung_begruendung_html = 1;
             $aenderungsantrag->aenderung_begruendung = HtmlBBcodeUtils::html_normalize($_REQUEST["ae_begruendung"]);
         } else {
             $aenderungsantrag->aenderung_begruendung_html = 0;
             $aenderungsantrag->aenderung_begruendung = HtmlBBcodeUtils::bbcode_normalize($_REQUEST["ae_begruendung"]);
         }
         if ($aenderungsantrag->name_neu != $antrag->name) {
             $changed = true;
         }
         if (trim($aenderungsantrag->aenderung_metatext) != "") {
             $changed = true;
         }
         $orig_absaetze = $antrag->getParagraphs();
         $neue_absaetze = array();
         $neuer_text = "";
         for ($i = 0; $i < count($orig_absaetze); $i++) {
             /** @var AntragAbsatz $abs */
             $abs = $orig_absaetze[$i];
             if (isset($_REQUEST["change_text"][$i])) {
                 $abs_text = HtmlBBcodeUtils::bbcode_normalize($_REQUEST["neu_text"][$i]);
                 $neue_absaetze[$i] = $abs_text;
                 $neuer_text .= $abs_text . "\n\n";
                 $changed = true;
             } else {
                 $neue_absaetze[$i] = "";
                 $neuer_text .= $abs->str_bbcode . "\n\n";
             }
         }
         if ($changed) {
             $aenderungsantrag->setDiffParagraphs($neue_absaetze);
             $diff = DiffUtils::getTextDiffMitZeilennummern($antrag->text, $neuer_text, $antrag->veranstaltung->getEinstellungen()->zeilenlaenge);
             $diff_text = "";
             if ($aenderungsantrag->name_neu != $antrag->name) {
                 $diff_text .= "Neuer Titel des Antrags:\n[QUOTE]" . $aenderungsantrag->name_neu . "[/QUOTE]\n\n";
             }
             if (trim($aenderungsantrag->aenderung_metatext) != "") {
                 $diff_text = $aenderungsantrag->aenderung_metatext . "\n\n";
             }
             $diff_text .= DiffUtils::diff2text($diff, $antrag->getFirstLineNo());
             $aenderungsantrag->aenderung_text = $diff_text;
             $aenderungsantrag->datum_einreichung = new CDbExpression('NOW()');
         } else {
             Yii::app()->user->setFlash("error", "Es wurde nichts am Text geändert.");
         }
         if (!$this->veranstaltung->getPolicyAenderungsantraege()->checkAenderungsantragSubmit()) {
             Yii::app()->user->setFlash("error", "Keine Berechtigung zum Anlegen von Änderungsanträgen.");
             $changed = false;
         }
     }
     $hiddens = array("antrag_id" => $antrag->id);
     $js_protection = Yii::app()->user->isGuest;
     if ($js_protection) {
         $hiddens["form_token"] = AntiXSS::createToken("antragneu");
     } else {
         $hiddens[AntiXSS::createToken("antragneu")] = "1";
     }
     if ($changed) {
         if (!$aenderungsantrag->save()) {
             foreach ($aenderungsantrag->getErrors() as $val) {
                 foreach ($val as $val2) {
                     Yii::app()->user->setFlash("error", "Änderungsantrag konnte nicht angelegt werden: " . $val2);
                 }
             }
             $antragstellerIn = Yii::app()->user->isGuest ? null : Person::model()->findByAttributes(array("auth" => Yii::app()->user->id));
             if ($antragstellerIn === null) {
                 $antragstellerIn = new Person();
             }
             $this->render('bearbeiten_form', array("mode" => "neu", "antrag" => $antrag, "aenderungsantrag" => $aenderungsantrag, "antragstellerIn" => $antragstellerIn, "unterstuetzerInnen" => $unterstuetzerInnen, "hiddens" => $hiddens, "js_protection" => $js_protection, "sprache" => $aenderungsantrag->antrag->veranstaltung->getSprache()));
             return;
         }
         $this->veranstaltung->getPolicyAenderungsantraege()->submitAntragsstellerInView_Aenderungsantrag($aenderungsantrag);
         $this->redirect($this->createUrl("aenderungsantrag/neuConfirm", array("antrag_id" => $antrag_id, "aenderungsantrag_id" => $aenderungsantrag->id)));
     } else {
         if (Yii::app()->user->isGuest || $this->veranstaltung->isAdminCurUser()) {
             $antragstellerIn = new Person();
             $antragstellerIn->typ = Person::$TYP_PERSON;
         } else {
             $antragstellerIn = Person::model()->findByAttributes(array("auth" => Yii::app()->user->id));
         }
         if ($adoptInitiators > 0 && $this->veranstaltung->isAdminCurUser()) {
             $templateAmendment = $this->veranstaltung->getAmendment($adoptInitiators);
             if ($templateAmendment) {
                 foreach ($templateAmendment->aenderungsantragUnterstuetzerInnen as $unt) {
                     if ($unt->rolle == AenderungsantragUnterstuetzerInnen::$ROLLE_INITIATORIN) {
                         $antragstellerIn = $unt->person;
                     }
                     if ($unt->rolle == AenderungsantragUnterstuetzerInnen::$ROLLE_UNTERSTUETZERIN) {
                         $unterstuetzerInnen[] = $unt->person;
                     }
                 }
             }
         }
         $aenderungsantrag->name_neu = $antrag->name;
         $this->render('bearbeiten_form', array("mode" => "neu", "antrag" => $antrag, "aenderungsantrag" => $aenderungsantrag, "antragstellerIn" => $antragstellerIn, "unterstuetzerInnen" => $unterstuetzerInnen, "hiddens" => $hiddens, "js_protection" => $js_protection, "sprache" => $aenderungsantrag->antrag->veranstaltung->getSprache()));
     }
 }
示例#24
0
            $von = implode(", ", $x);
            echo "<label><input type='radio' name='absatz_typ[{$i}]' value='" . $ant->id . "'> " . $ae_link . " (von " . CHtml::encode($von) . ")</label>";
            $full_texts .= "<blockquote class='aenderung ae_" . $ant->id . "'>" . DiffUtils::renderBBCodeDiff2HTML($abs->str_bbcode, $par[$i]) . "</blockquote>";
        }
    }
    echo "<label><input type='radio' name='absatz_typ[{$i}]' value='neu'> Neuer Text</label><br>";
    echo "<blockquote class='original'>" . $abs->str_html_plain . "</blockquote>" . $full_texts;
    echo "<div><textarea class='neu_text' name='neu_text[{$i}]' id='neu_text_{$i}' style='width: 550px; height: 200px;'>" . CHtml::encode($abs->str_bbcode) . "</textarea></div>";
    echo "</div>";
}
echo "<h3>Begründung</h3><div class='absatz_selector_holder content absatz_begruendung'>";
/** @var AntragAbsatz $abs */
$full_texts = "";
echo "<label><input type='radio' name='begruendung_typ' value='original' checked> Original beibehalten</label>";
echo "<label><input type='radio' name='begruendung_typ' value='neu'> Neuer Text</label><br>";
echo "<blockquote class='original'>" . HtmlBBcodeUtils::bbcode2html($antrag->begruendung) . "</blockquote>" . $full_texts;
echo "<div><textarea class='neu_text' name='neu_begruendung' id='neu_begruendung' style='width: 550px; height: 200px;'>" . CHtml::encode($antrag->begruendung) . "</textarea></div>";
echo "</div>";
?>
		<h3> Stati der Änderunganträge setzen </h3>

		<div id="ae_status_setter" class="content">
			<?php 
foreach ($antrag->aenderungsantraege as $ae) {
    if (!in_array($ae->status, IAntrag::$STATI_UNSICHTBAR)) {
        $absaetze = $ae->getAffectedParagraphs();
        ?>
				<label><span class="ae"><?php 
        echo CHtml::encode($ae->revision_name);
        ?>
</span> <select
示例#25
0
 /**
  * @param string $veranstaltungsreihe_id
  * @param string $veranstaltung_id
  * @param int $adoptInitiators
  */
 public function actionNeu($veranstaltungsreihe_id = "", $veranstaltung_id, $adoptInitiators = 0)
 {
     $this->layout = '//layouts/column2';
     /** @var Veranstaltung $veranstaltung */
     $this->veranstaltung = $veranstaltung = $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id);
     $this->testeWartungsmodus();
     $model = new Antrag();
     $model->status = Antrag::$STATUS_EINGEREICHT_UNGEPRUEFT;
     $model->typ = isset($_REQUEST["typ"]) ? IntVal($_REQUEST["typ"]) : Antrag::$TYP_ANTRAG;
     $model->veranstaltung_id = $veranstaltung->id;
     $model->veranstaltung = $veranstaltung;
     $model->text_unveraenderlich = $this->veranstaltung->getEinstellungen()->admins_duerfen_aendern ? 0 : 1;
     if (!$veranstaltung->getPolicyAntraege()->checkCurUserHeuristically()) {
         Yii::app()->user->setFlash("error", "Es kann kein Antrag angelegt werden.");
         $this->redirect($this->createUrl("veranstaltung/index"));
     }
     $unterstuetzerInnen = array();
     $tags_pre = array();
     if (AntiXSS::isTokenSet("antragneu")) {
         $model->attributes = $_REQUEST["Antrag"];
         if ($veranstaltung->getEinstellungen()->antrag_begruendungen) {
             if ($this->veranstaltung->getEinstellungen()->begruendung_in_html && isset($_REQUEST["Antrag"]["begruendung_html"])) {
                 $model->begruendung_html = 1;
                 $model->begruendung = HtmlBBcodeUtils::html_normalize($_REQUEST["Antrag"]["begruendung"]);
             } else {
                 $model->begruendung_html = 0;
                 $model->begruendung = HtmlBBcodeUtils::bbcode_normalize($_REQUEST["Antrag"]["begruendung"]);
             }
         }
         $model->text = HtmlBBcodeUtils::bbcode_normalize($model->text);
         $model->datum_einreichung = new CDbExpression('NOW()');
         $model->status = Antrag::$STATUS_UNBESTAETIGT;
         $model->revision_name = "";
         if ($model->text2) {
             $model->text2 = HtmlBBcodeUtils::bbcode_normalize($model->text2);
         }
         $goon = true;
         if (!$this->veranstaltung->getPolicyAntraege()->checkAntragSubmit()) {
             Yii::app()->user->setFlash("error", "Keine Berechtigung zum Anlegen von Anträgen.");
             $goon = false;
         }
         if ($goon) {
             if ($model->save()) {
                 $this->veranstaltung->getPolicyAntraege()->submitAntragsstellerInView_Antrag($model);
                 /* $next_status = $_REQUEST["Antrag"]["status"] */
                 if ($this->veranstaltung->getEinstellungen()->antrag_hat_mehrere_tags) {
                     if (isset($_REQUEST["tags"])) {
                         foreach ($_REQUEST["tags"] as $tag_id) {
                             foreach ($this->veranstaltung->tags as $tag) {
                                 if ($tag->id == $tag_id) {
                                     Yii::app()->db->createCommand()->insert("antrag_tags", array("antrag_id" => $model->id, "tag_id" => $tag_id));
                                 }
                             }
                         }
                     }
                 } else {
                     if (isset($_REQUEST["tag"])) {
                         foreach ($this->veranstaltung->tags as $tag) {
                             if ($tag->id == $_REQUEST["tag"]) {
                                 Yii::app()->db->createCommand()->insert("antrag_tags", array("antrag_id" => $model->id, "tag_id" => IntVal($_REQUEST["tag"])));
                             }
                         }
                     }
                 }
                 $next_status = Antrag::$STATUS_EINGEREICHT_UNGEPRUEFT;
                 $this->redirect($this->createUrl("antrag/neuConfirm", array("antrag_id" => $model->id, "next_status" => $next_status, "from_mode" => "neu")));
             } else {
                 foreach ($model->getErrors() as $key => $val) {
                     foreach ($val as $val2) {
                         Yii::app()->user->setFlash("error", "Antrag konnte nicht angelegt werden: {$key}: " . $val2);
                     }
                 }
             }
         }
     }
     $hiddens = array();
     $js_protection = Yii::app()->user->isGuest;
     if ($js_protection) {
         $hiddens["form_token"] = AntiXSS::createToken("antragneu");
     } else {
         $hiddens[AntiXSS::createToken("antragneu")] = "1";
     }
     if (Yii::app()->user->isGuest || $this->veranstaltung->isAdminCurUser()) {
         $antragstellerIn = new Person();
         $antragstellerIn->typ = Person::$TYP_PERSON;
     } else {
         $antragstellerIn = Person::model()->findByAttributes(array("auth" => Yii::app()->user->id));
     }
     if ($adoptInitiators > 0 && $this->veranstaltung->isAdminCurUser()) {
         $templateMotion = $this->veranstaltung->getMotion($adoptInitiators);
         if ($templateMotion) {
             $model->typ = $templateMotion->typ;
             foreach ($templateMotion->antragUnterstuetzerInnen as $unt) {
                 if ($unt->rolle == AntragUnterstuetzerInnen::$ROLLE_INITIATORIN) {
                     $antragstellerIn = $unt->person;
                 }
                 if ($unt->rolle == AntragUnterstuetzerInnen::$ROLLE_UNTERSTUETZERIN) {
                     $unterstuetzerInnen[] = $unt->person;
                 }
             }
         }
     }
     $force_type = null;
     if (isset($_REQUEST["typ"])) {
         if (isset(Antrag::$TYPEN[$_REQUEST["typ"]]) && !in_array($_REQUEST["typ"], $this->veranstaltung->getEinstellungen()->antrags_typen_deaktiviert)) {
             $force_type = IntVal($_REQUEST["typ"]);
         }
     }
     $this->render('bearbeiten_form', array("mode" => "neu", "model" => $model, "force_type" => $force_type, "antragstellerIn" => $antragstellerIn, "unterstuetzerInnen" => $unterstuetzerInnen, "veranstaltung" => $veranstaltung, "hiddens" => $hiddens, "tags_pre" => $tags_pre, "js_protection" => $js_protection, "login_warnung" => false, "sprache" => $model->veranstaltung->getSprache()));
 }