Beispiel #1
0
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;
}
Beispiel #2
0
         } 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();
Beispiel #3
0
 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;
 }