/** * Testen, ob die Wordlist Tabelle in der TCA gesetzt wurde. */ public function testIncludeTableWordlist() { global $TCA; tx_mklib_tests_Util::setExtConfVar('tableWordlist', 1); self::loadExtTables(); $tableWordlist = tx_mklib_util_MiscTools::getExtensionValue('tableWordlist'); $this->assertEquals(1, intval($tableWordlist), 'Die Extension Konfiguration tableWordlist ist falsch gesetzt'); $this->assertTrue(array_key_exists('tx_mklib_wordlist', $TCA), 'Die TCA für die Wordlist Tabelle wurde nicht geladen.'); $this->assertTrue(array_key_exists('ctrl', $TCA['tx_mklib_wordlist']), 'Die TCA für die Wordlist Tabelle wurde nicht richtig geladen.'); }
public function __construct($data, $cleanRtf = false) { //da der text evtl. bereinigt wird, müssen wir vorher //wissen ob es Wingdings in der font table gibt und //welchen index Wingdings einnimmt um die Symbole //durch einen Sonderzeichen Marker zu ersetzten //teil der Fontable mit Wingdings preg_match('/f[0-9]*.fnil *?Wingdings/i', $data, $matches); //jetzt brauchen wir noch den index von Wingdings in der fonttable //und ersetzten anschliessend alle Wingdings Sonderzeichen if (!empty($matches)) { preg_match('/[0-9]+/', $matches[0], $aWingdingsFontTableIndex); //jetzt ersetzen aber ohne die magic quotes einstellungen zu beachten $data = preg_replace('/\\{.f' . $aWingdingsFontTableIndex[0] . '\\\\[a-z0-9\\\\]+ *(.) *\\}/i', '###' . tx_mklib_util_MiscTools::getSpecialCharMarker() . '$1###', $data); } //@todo: warum ist es nötig den text zu bereinigen? wäre es nicht besser //den text zu reparieren damit z.B. evtl. das Sonderzeichen parsen funktioniert //womit die eigene ersetzung am ende von parse() wegfallen würde if ($cleanRtf) { //Fontable entfernen $data = preg_replace('/{.fonttbl.*?;}}/i', '', $data); //Colortable entfernen $data = preg_replace('/{.colortbl.*?}/i', '', $data); //Meta-Infos entfernen $data = preg_replace('/{.info.*?}}/i', '', $data); } $this->len = strlen($data); $this->rtf = $data; $this->wantXML = false; $this->wantHTML = false; $this->out = ""; $this->outstyles = ""; $this->styles = array(); $this->text = ""; if ($this->len == 0) { array_push($this->err, "No data in stream found"); } }
/** * Indiziert eine Datei mit DAM. * * @param string $sFile * @param int $iBeUserId * @return uid */ public static function indexProcess($sFile, $iBeUserId = false) { if (!self::isLoaded()) { return 0; } if (!$iBeUserId) { tx_rnbase::load('tx_mklib_util_MiscTools'); $iBeUserId = tx_mklib_util_MiscTools::getProxyBeUserId(); } // process file indexing self::initBE4DAM($iBeUserId); $damData = tx_dam::index_process($sFile); return $damData[0]['uid']; }
/** * Prüfen ob die richtig Extension Konfiguration geliefert wird */ public function testGetPortalPageId() { tx_mklib_tests_Util::setExtConfVar('portalPageId', 2, 'mklib'); $val = tx_mklib_util_MiscTools::getPortalPageId(); $this->assertEquals($val, 2, 'Falsche Page-ID geliefert.'); $this->assertTrue(is_int($val), 'Es wurde kein Integer geliefert.'); $val = tx_mklib_util_MiscTools::getPortalPageId('mktest'); $this->assertEquals($val, 2, 'Falsche Page-ID geliefert.'); $this->assertTrue(is_int($val), 'Es wurde kein Integer geliefert.'); $val = tx_mklib_util_MiscTools::getPortalPageId('mktest', false); $this->assertEquals($val, 0, 'Es wurde eine Page-ID geliefert.'); tx_mklib_tests_Util::setExtConfVar('portalPageId', '5', 'mktest'); $val = tx_mklib_util_MiscTools::getPortalPageId(); $this->assertEquals($val, 2, 'Falsche Page-ID geliefert.'); $this->assertTrue(is_int($val), 'Es wurde kein Integer geliefert.'); $val = tx_mklib_util_MiscTools::getPortalPageId('mktest'); $this->assertEquals($val, 5, 'Falsche Page-ID geliefert.'); $this->assertTrue(is_int($val), 'Es wurde kein Integer geliefert.'); }
/** * Konvertiert spezielle Zeichen zu ASCII * @param string $text */ private function specialCharacters($text) { //der alte weg // $text_buffer = ""; // for($i = 0; $i < strlen($text); $i++) // $text_buffer .= $this->escapeCharacter($text[$i]); //der neue weg //einfach alle bekannten Sonderzeichen ersetzen foreach ($this->aSpecialChars as $sSpecialChar => $sReplacement) { //Sonderzeichen ersetzen. immer \' als Prefix //damit es als Sonderzeichen im RTF gilt $text = str_replace($sSpecialChar, '\\\'' . $sReplacement, $text); } //dann noch die Windings Sonderzeichen ersetzten $sSpecialCharMarker = tx_mklib_util_MiscTools::getSpecialCharMarker(); $text = preg_replace("/###{$sSpecialCharMarker}(.*?)###/mi", "}{{$this->getWindingsFont()} \\1}{{$this->getDefaultFont(false)}", $text); return $text; }
/** * Liefert die PageId für diese Tabelle. * Dies kann überschrieben werden, um individuelle pid's zu setzen. * * @return int */ protected function getPid() { tx_rnbase::load('tx_mklib_util_MiscTools'); return tx_mklib_util_MiscTools::getPortalPageId(); }