materials
PHP Error
assert() has been disabled for security reasons
/var/www/sites/wiki/inc/DifferenceEngine.php(683)
671 * 672 * @param string[] $mapped_from_lines This array should 673 * have the same size number of elements as $from_lines. 674 * The elements in $mapped_from_lines and 675 * $mapped_to_lines are what is actually compared 676 * when computing the diff. 677 * 678 * @param string[] $mapped_to_lines This array should 679 * have the same number of elements as $to_lines. 680 */ 681 function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { 682 683 assert(count($from_lines) == count($mapped_from_lines)); 684 assert(count($to_lines) == count($mapped_to_lines)); 685 686 parent::__construct($mapped_from_lines, $mapped_to_lines); 687 688 $xi = $yi = 0; 689 $ecnt = count($this->edits); 690 for ($i = 0; $i < $ecnt; $i++) { 691 $orig = &$this->edits[$i]->orig; 692 if (is_array($orig)) { 693 $orig = array_slice($from_lines, $xi, count($orig)); 694 $xi += count($orig); 695 }
Stack Trace
#0 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(683): assert(true) 678 * @param string[] $mapped_to_lines This array should 679 * have the same number of elements as $to_lines. 680 */ 681 function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { 682 683 assert(count($from_lines) == count($mapped_from_lines)); 684 assert(count($to_lines) == count($mapped_to_lines)); 685 686 parent::__construct($mapped_from_lines, $mapped_to_lines); 687 688 $xi = $yi = 0; |
#1 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(998): MappedDiff->__construct(array("{", "{", "https", ":", ...), array("{", "{", "https", ":", ...), array("{", "{", "https", ":", ...), array("{", "{", "https", ":", ...)) 0993 0994 function __construct($orig_lines, $closing_lines) { 0995 list ($orig_words, $orig_stripped) = $this->_split($orig_lines); 0996 list ($closing_words, $closing_stripped) = $this->_split($closing_lines); 0997 0998 parent::__construct($orig_words, $closing_words, $orig_stripped, $closing_stripped); 0999 } 1000 1001 function _split($lines) { 1002 if (!preg_match_all('/ ( [^\S\n]+ | [0-9_A-Za-z\x80-\xff]+ | . ) (?: (?!< \n) [^\S\n])? /xsu', 1003 implode("\n", $lines), $m)) { |
#2 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(1202): WordLevelDiff->__construct(array("{{https://static.slus.name/images/help/user/risunok.jpg?nolink&2..."), array("{{https://static.slus.name/images/help/user/risunok.jpg?nolink&2...")) 1197 print('<tr>' . $this->contextLine($line) . $this->contextLine($line) . "</tr>\n"); 1198 } 1199 } 1200 1201 function _changed($orig, $closing) { 1202 $diff = new WordLevelDiff($orig, $closing); // this escapes the diff data 1203 $del = $diff->orig(); 1204 $add = $diff->closing(); 1205 1206 while ($line = array_shift($del)) { 1207 $aline = array_shift($add); |
#3 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(806): TableDiffFormatter->_changed(array("{{https://static.slus.name/images/help/user/risunok.jpg?nolink&2..."), array("{{https://static.slus.name/images/help/user/risunok.jpg?nolink&2...")) 801 elseif ($edit->type == 'add') 802 $this->_added($edit->closing); 803 elseif ($edit->type == 'delete') 804 $this->_deleted($edit->orig); 805 elseif ($edit->type == 'change') 806 $this->_changed($edit->orig, $edit->closing); 807 else 808 trigger_error("Unknown edit type", E_USER_ERROR); 809 } 810 $this->_end_block(); 811 } |
#4 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(759): DiffFormatter->_block(1, 53, 1, 53, ...) 754 else{ 755 if ($ntrail) { 756 $context = array_slice($edit->orig, 0, $ntrail); 757 $block[] = new _DiffOp_Copy($context); 758 } 759 $this->_block($x0, $ntrail + $xi - $x0, $y0, $ntrail + $yi - $y0, $block); 760 $block = false; 761 } 762 } 763 $context = $edit->orig; 764 } |
#5 |
+
–
/var/www/sites/wiki/inc/DifferenceEngine.php(1123): DiffFormatter->format(Diff) 1118 * @return string 1119 */ 1120 function format($diff) { 1121 // Preserve whitespaces by converting some to non-breaking spaces. 1122 // Do not convert all of them to allow word-wrap. 1123 $val = parent::format($diff); 1124 $val = str_replace(' ','  ', $val); 1125 $val = preg_replace('/ (?=<)|(?<=[ >]) /', ' ', $val); 1126 return $val; 1127 } 1128 |
#6 |
+
–
/var/www/sites/wiki/inc/html.php(1366): TableDiffFormatter->format(Diff) 1361 </th> 1362 </tr> 1363 <?php } 1364 1365 //diff view 1366 echo html_insert_softbreaks($diffformatter->format($diff)); ?> 1367 1368 </table> 1369 </div> 1370 <?php 1371 } |
#7 |
+
–
/var/www/sites/wiki/inc/Action/Diff.php(32): html_diff() 27 } 28 } 29 30 /** @inheritdoc */ 31 public function tplContent() { 32 html_diff(); 33 } 34 35 } |
#8 |
+
–
/var/www/sites/wiki/inc/template.php(98): dokuwiki\Action\Diff->tplContent() 093 * @return bool 094 */ 095 function tpl_content_core() { 096 $router = \dokuwiki\ActionRouter::getInstance(); 097 try { 098 $router->getAction()->tplContent(); 099 } catch(\dokuwiki\Action\Exception\FatalException $e) { 100 // there was no content for the action 101 msg(hsc($e->getMessage()), -1); 102 return false; 103 } |
#9 |
+
–
/var/www/sites/wiki/inc/events.php(111): tpl_content_core("diff") 106 if ($this->advise_before($enablePrevent) && is_callable($action)) { 107 if (is_array($action)) { 108 list($obj,$method) = $action; 109 $this->result = $obj->$method($this->data); 110 } else { 111 $this->result = $action($this->data); 112 } 113 } 114 115 $this->advise_after(); 116 |
#10 |
+
–
/var/www/sites/wiki/inc/events.php(256): Doku_Event->trigger("tpl_content_core", true) 251 * it can be set or modified by event handler hooks 252 */ 253 function trigger_event($name, &$data, $action=null, $canPreventDefault=true) { 254 255 $evt = new Doku_Event($name, $data); 256 return $evt->trigger($action, $canPreventDefault); 257 } |
#11 |
+
–
/var/www/sites/wiki/inc/template.php(83): trigger_event("TPL_ACT_RENDER", "diff", "tpl_content_core") 78 global $ACT; 79 global $INFO; 80 $INFO['prependTOC'] = $prependTOC; 81 82 ob_start(); 83 trigger_event('TPL_ACT_RENDER', $ACT, 'tpl_content_core'); 84 $html_output = ob_get_clean(); 85 trigger_event('TPL_CONTENT_DISPLAY', $html_output, 'ptln'); 86 87 return !empty($html_output); 88 } |
#12 |
+
–
/var/www/sites/wiki/lib/tpl/dokuwiki/main.php(181): tpl_content() 176 177 <div class="page group"> 178 <?php tpl_flush() ?> 179 <?php tpl_includeFile('pageheader.html') ?> 180 <!-- wikipage start --> 181 <?php tpl_content() ?> 182 <!-- wikipage stop --> 183 <?php tpl_includeFile('pagefooter.html') ?> 184 </div> 185 186 <div class="docInfo"><?php tpl_pageinfo() ?></div> |
#13 |
+
–
/var/www/sites/wiki/inc/actions.php(27): include("/var/www/sites/wiki/lib/tpl/dokuwiki/main.php") 22 unset($router); 23 unset($headers); 24 // make all globals available to the template 25 extract($GLOBALS); 26 27 include(template('main.php')); 28 // output for the commands is now handled in inc/templates.php 29 // in function tpl_content() 30 } 31 32 /** |
#14 |
+
–
/var/www/sites/wiki/doku.php(122): act_dispatch() 117 118 //close session 119 session_write_close(); 120 121 //do the work (picks up what to do from global env) 122 act_dispatch(); 123 124 $tmp = array(); // No event data 125 trigger_event('DOKUWIKI_DONE', $tmp); 126 127 // xdebug_dump_function_profile(1); |
2021-01-19 23:41:35 nginx/1.14.1 Yii Framework/1.1.7