xref: /dokuwiki/doku.php (revision b625487d2258a6f1f875813206adc9a5857dab24)
1f3f0262cSandi<?php
215fae107Sandi/**
315fae107Sandi * DokuWiki mainscript
415fae107Sandi *
515fae107Sandi * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
615fae107Sandi * @author     Andreas Gohr <andi@splitbrain.org>
715fae107Sandi */
815fae107Sandi
981aafed4Sandi  //xdebug_start_profiling();
1081aafed4Sandi
11ed7b5f09Sandi  if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/');
12ed7b5f09Sandi  require_once(DOKU_INC.'inc/init.php');
13ed7b5f09Sandi  require_once(DOKU_INC.'inc/common.php');
14*b625487dSandi  require_once(DOKU_INC.'inc/pageutils.php');
15ed7b5f09Sandi  require_once(DOKU_INC.'inc/html.php');
16ed7b5f09Sandi  require_once(DOKU_INC.'inc/parser.php');
17ed7b5f09Sandi  require_once(DOKU_INC.'lang/en/lang.php');
18ed7b5f09Sandi  require_once(DOKU_INC.'lang/'.$conf['lang'].'/lang.php');
19ed7b5f09Sandi  require_once(DOKU_INC.'inc/auth.php');
206b13307fSandi  require_once(DOKU_INC.'inc/actions.php');
21f3f0262cSandi
22f3f0262cSandi  //import variables
23f3f0262cSandi  $QUERY = trim($_REQUEST['id']);
24f3f0262cSandi  $ID    = cleanID($_REQUEST['id']);
25f3f0262cSandi  $REV   = $_REQUEST['rev'];
26f3f0262cSandi  $ACT   = $_REQUEST['do'];
27f3f0262cSandi  $IDX   = $_REQUEST['idx'];
28f3f0262cSandi  $DATE  = $_REQUEST['date'];
29f3f0262cSandi  $RANGE = $_REQUEST['lines'];
30f3f0262cSandi  $HIGH  = $_REQUEST['s'];
31f3f0262cSandi  if(empty($HIGH)) $HIGH = getGoogleQuery();
32f3f0262cSandi
3310a76f6fSfrank#  $ACL_USER     = urldecode($_REQUEST['acl_user']);
3410a76f6fSfrank#  $ACL_SCOPE    = urldecode($_REQUEST['acl_scope']);
3510a76f6fSfrank#  $ACL_LEVEL    = $_REQUEST['acl_level'];
3610a76f6fSfrank#  $ACL_CHECKBOX = $_REQUEST['acl_checkbox'];
3710a76f6fSfrank
38f3f0262cSandi  $TEXT  = cleanText($_POST['wikitext']);
39f3f0262cSandi  $PRE   = cleanText($_POST['prefix']);
40f3f0262cSandi  $SUF   = cleanText($_POST['suffix']);
41f3f0262cSandi  $SUM   = $_REQUEST['summary'];
42f3f0262cSandi
43258641c6Sandi  //sanitize revision
44258641c6Sandi  $REV = preg_replace('/[^0-9]/','',$REV);
45258641c6Sandi
46f3f0262cSandi  //we accept the do param as HTTP header, too:
47f3f0262cSandi  if(!empty($_SERVER['HTTP_X_DOKUWIKI_DO'])){
48f3f0262cSandi    $ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO']));
49f3f0262cSandi  }
50f3f0262cSandi
51f3f0262cSandi  if(!empty($IDX)) $ACT='index';
52f3f0262cSandi  //set defaults
53f3f0262cSandi  if(empty($ID))  $ID  = $conf['start'];
54f3f0262cSandi  if(empty($ACT)) $ACT = 'show';
55f3f0262cSandi
56f3f0262cSandi
57f3f0262cSandi  if($ACT == 'debug'){
58f3f0262cSandi    html_debug();
59f3f0262cSandi    exit;
60f3f0262cSandi  }
61f3f0262cSandi
6279b608ceSandi  //make infos about the selected page available
6379b608ceSandi  $INFO = pageinfo();
6479b608ceSandi
656b13307fSandi  act_dispatch($ACT);
66b3222a5cSandi
67b3222a5cSandi  //restore old umask
68b3222a5cSandi  umask($conf['oldumask']);
6981aafed4Sandi
7081aafed4Sandi  //xdebug_dump_function_profile(3);
71f3f0262cSandi?>
72