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"; } }
$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)));
/** * @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); }