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";
     }
 }
Example #2
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 {
 $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)));
Example #4
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);
 }