diff -r 7468a663315f -r 35d94240a197 includes/render.php --- a/includes/render.php Fri Feb 08 23:20:20 2008 -0500 +++ b/includes/render.php Sun Feb 10 19:35:06 2008 -0500 @@ -223,6 +223,19 @@ // Strip out sections and PHP code + $nw = preg_match_all('#(.*?)<\/nowiki>#is', $text, $nowiki); + + for($i=0;$i'.$nowiki[1][$i].'', '{NOWIKI:'.$random_id.':'.$i.'}', $text); + } + + $code = $plugins->setHook('render_wikiformat_veryearly'); + foreach ( $code as $cmd ) + { + eval($cmd); + } + $php = preg_match_all('#<\?php(.*?)\?>#is', $text, $phpsec); for($i=0;$i', '{PHP:'.$random_id.':'.$i.'}', $text); } - $nw = preg_match_all('#(.*?)<\/nowiki>#is', $text, $nowiki); - - for($i=0;$i'.$nowiki[1][$i].'', '{NOWIKI:'.$random_id.':'.$i.'}', $text); - } - $text = preg_replace('/(.*?)<\/noinclude>/is', '\\1', $text); if ( $paths->namespace == 'Template' ) { @@ -636,6 +642,12 @@ global $db, $session, $paths, $template, $plugins; // Common objects $random_id = md5( time() . mt_rand() ); + $code = $plugins->setHook('render_sanitize_pre'); + foreach ( $code as $cmd ) + { + eval($cmd); + } + $can_do_php = ( $session->get_permissions('php_in_pages') && !$strip_all_php ); $can_do_html = $session->get_permissions('html_in_pages'); @@ -672,6 +684,12 @@ $text = str_replace('~~~~', "[[User:$session->username|$session->username]] ".enano_date('G:i, j F Y (T)'), $text); $text = str_replace('~~~', "[[User:$session->username|$session->username]] ", $text); + $code = $plugins->setHook('render_sanitize_post'); + foreach ( $code as $cmd ) + { + eval($cmd); + } + // Reinsert sections for($i=0;$i<$nw;$i++) {