5 * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
6 * @author Andreas Gohr <andi@splitbrain.org>
9 // xdebug_start_profiling();
11 if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__
).'/');
12 require_once(DOKU_INC
.'inc/init.php');
13 require_once(DOKU_INC
.'inc/common.php');
14 require_once(DOKU_INC
.'inc/events.php');
15 require_once(DOKU_INC
.'inc/pageutils.php');
16 require_once(DOKU_INC
.'inc/html.php');
17 require_once(DOKU_INC
.'inc/auth.php');
18 require_once(DOKU_INC
.'inc/actions.php');
21 $QUERY = trim($_REQUEST['id']);
24 $REV = $_REQUEST['rev'];
25 $ACT = $_REQUEST['do'];
26 $IDX = $_REQUEST['idx'];
27 $DATE = $_REQUEST['date'];
28 $RANGE = $_REQUEST['lines'];
29 $HIGH = $_REQUEST['s'];
30 if(empty($HIGH)) $HIGH = getGoogleQuery();
32 $TEXT = cleanText($_POST['wikitext']);
33 $PRE = cleanText($_POST['prefix']);
34 $SUF = cleanText($_POST['suffix']);
35 $SUM = $_REQUEST['summary'];
38 $REV = preg_replace('/[^0-9]/','',$REV);
40 //we accept the do param as HTTP header, too:
41 if(!empty($_SERVER['HTTP_X_DOKUWIKI_DO'])){
42 $ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO']));
45 if(!empty($IDX)) $ACT='index';
46 //set default #FIXME not needed here? done in actions?
47 if(empty($ACT)) $ACT = 'show';
49 //make infos about the selected page available
53 if($conf['allowdebug'] && $ACT == 'debug'){
58 //send 404 for missing pages if configured or ID has special meaning to bots
59 if(!$INFO['exists'] &&
60 ($conf['send404'] ||
preg_match('/^(robots\.txt|sitemap\.xml(\.gz)?|favicon\.ico|crossdomain\.xml)$/',$ID)) &&
61 ($ACT == 'show' ||
substr($ACT,0,7) == 'export_') ){
62 header('HTTP/1.0 404 Not Found');
65 //prepare breadcrumbs (initialize a static var)
66 if ($conf['breadcrumbs']) breadcrumbs();
69 checkUpdateMessages();
71 trigger_event('DOKUWIKI_STARTED',$tmp=array());
74 session_write_close();
79 trigger_event('DOKUWIKI_DONE', $tmp=array());
81 // xdebug_dump_function_profile(1);