diff -r 4629ad98ee88 -r 9cdfe82c56cd includes/namespaces/special.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/includes/namespaces/special.php Sat Jan 03 18:11:18 2009 -0500 @@ -0,0 +1,60 @@ +page_id = sanitize_page_id($page_id); + $this->namespace = $namespace; + $this->revision_id = intval($revision_id); + + $this->exists = function_exists("page_{$this->namespace}_{$this->page_id}"); + } + + function send() + { + global $output; + + if ( $this->exists ) + { + @call_user_func("page_{$this->namespace}_{$this->page_id}"); + } + else + { + $output->header(); + $this->error_404(); + $output->footer(); + } + } + + function error_404() + { + global $lang, $output; + $func_name = "page_{$this->namespace}_{$this->page_id}"; + + if ( $this->namespace == 'Admin' ) + die_semicritical($lang->get('page_msg_admin_404_title'), $lang->get('page_msg_admin_404_body', array('func_name' => $func_name)), true); + + $title = $lang->get('page_err_custompage_function_missing_title'); + $message = $lang->get('page_err_custompage_function_missing_body', array( 'function_name' => $fname )); + + $output->set_title($title); + $output->header(); + echo "
$message
"; + $output->footer(); + } +}