/**
  *	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();
 }