function tf($page, &$startTime, &$endTime) { global $xcludeContent; //The new parser strips all \r and lets \n do all the line break work $syntax = $page['data']; $syntax = str_replace("\r", '', $syntax); // Determine the page syntax type $is_html = isset($page['is_html']) ? $page['is_html'] == 1 : false; $parser = new JisonParser_Wiki_Handler(); $WysiwygParser = new JisonParser_WikiCKEditor_Handler(); $parserHtmlToWiki = new JisonParser_Html_Handler(); // Parse $startTime = getMicroTime(); if (!$is_html) { $wikiSyntax = $syntax; $html = $WysiwygParser->parse($wikiSyntax); $wiki = $parserHtmlToWiki->parse($html); } else { $htmlSyntax = $syntax; $wikiSyntax = $parserHtmlToWiki->parse($htmlSyntax); $html = $WysiwygParser->parse($wikiSyntax); $wiki = $parserHtmlToWiki->parse($html); } $endTime = getMicroTime(); $success = $wikiSyntax == $wiki; if ($success == false && !$xcludeContent) { echo "\n"; echo '"' . $wikiSyntax . '"'; echo "\n---------------------" . mb_detect_encoding($wikiSyntax) . "-------------------------\n"; echo $html; echo "\n----------------------------------------------\n"; echo '"' . $wiki . '"'; echo "\n----------------------" . mb_detect_encoding($wiki) . "------------------------\n"; } echo $success ? "\tSUCCESS" : "\tFAILURE"; unset($parser); unset($WysiwygParser); unset($parserHtmlToWiki); unset($html); return $success; }
} else { list($real_start, $real_len) = $tikilib->get_wiki_section($info['data'], $_REQUEST['hdr']); } } else { include_once 'lib/wiki-plugins/wikiplugin_split.php'; list($real_start, $real_len) = wikiplugin_split_cell($info['data'], $_REQUEST['pos'], $_REQUEST['cell']); } if ($edit[strlen($edit) - 1] !== "\n") { $edit .= "\r\n"; } $edit = substr($info['data'], 0, $real_start) . $edit . substr($info['data'], $real_start + $real_len); } if (isset($_REQUEST['jisonWyisywg']) && $_REQUEST['jisonWyisywg'] == 'true' && $prefs['feature_jison_wiki_parser'] == 'y' && $prefs['feature_wysiwyg'] === 'y') { $parser = new JisonParser_Html_Handler(); print_r($edit); $edit = $parser->parse($edit); print_r($edit); print_r(Tikilib::getOne('select data from tiki_pages where pageName = ?', array($page))); die; } else { if ($_SESSION['wysiwyg'] === 'y' && $prefs['wysiwyg_wiki_parsed'] === 'y' && $prefs['wysiwyg_ckeditor'] === 'y') { $edit = $editlib->partialParseWysiwygToWiki($edit); } } $tikilib->update_page($_REQUEST["page"], $edit, $_REQUEST["comment"], $user, $tikilib->get_ip_address(), $description, $minor, $pageLang, $is_html, $hash, null, $_REQUEST['wysiwyg'], $wiki_authors_style); $info_new = $tikilib->get_page_info($page); // Handle translation bits if ($prefs['feature_multilingual'] === 'y' && !$minor) { global $multilinguallib; include_once "lib/multilingual/multilinguallib.php"; $tikilib->cache_page_info = array();
public function elementFromTag(&$tag, &$contents = null, $parse = false) { if ($parse == true) { $parser = new JisonParser_Html_Handler(); $parser->isStaticTag(true); $contents = $parser->parse($contents); unset($parser); } switch ($tag['state']) { case "closed": $element = $tag['open'] . $contents . $tag['close']; break; case "repaired": $element = $tag['open'] . $contents; break; case "inline": $element = $tag['open']; break; } return $element; }