summaryrefslogtreecommitdiff
path: root/doku.php
diff options
context:
space:
mode:
Diffstat (limited to 'doku.php')
-rw-r--r--doku.php93
1 files changed, 93 insertions, 0 deletions
diff --git a/doku.php b/doku.php
new file mode 100644
index 000000000..e699c818b
--- /dev/null
+++ b/doku.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * DokuWiki mainscript
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+
+// update message version
+$updateVersion = 36;
+
+// xdebug_start_profiling();
+
+if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/');
+
+if (isset($_SERVER['HTTP_X_DOKUWIKI_DO'])){
+ $ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO']));
+} elseif (!empty($_REQUEST['idx'])) {
+ $ACT = 'index';
+} elseif (isset($_REQUEST['do'])) {
+ $ACT = $_REQUEST['do'];
+} else {
+ $ACT = 'show';
+}
+
+// load and initialize the core system
+require_once(DOKU_INC.'inc/init.php');
+
+//import variables
+$_REQUEST['id'] = str_replace("\xC2\xAD",'',$_REQUEST['id']); //soft-hyphen
+$QUERY = trim($_REQUEST['id']);
+$ID = getID();
+
+// deprecated 2011-01-14
+$NS = getNS($ID);
+
+$REV = $_REQUEST['rev'];
+$IDX = $_REQUEST['idx'];
+$DATE = $_REQUEST['date'];
+$RANGE = $_REQUEST['range'];
+$HIGH = $_REQUEST['s'];
+if(empty($HIGH)) $HIGH = getGoogleQuery();
+
+if (isset($_POST['wikitext'])) {
+ $TEXT = cleanText($_POST['wikitext']);
+}
+$PRE = cleanText(substr($_POST['prefix'], 0, -1));
+$SUF = cleanText($_POST['suffix']);
+$SUM = $_REQUEST['summary'];
+
+//sanitize revision
+$REV = preg_replace('/[^0-9]/','',$REV);
+
+//make infos about the selected page available
+$INFO = pageinfo();
+
+//export minimal infos to JS, plugins can add more
+$JSINFO['id'] = $ID;
+$JSINFO['namespace'] = (string) $INFO['namespace'];
+
+
+// handle debugging
+if($conf['allowdebug'] && $ACT == 'debug'){
+ html_debug();
+ exit;
+}
+
+//send 404 for missing pages if configured or ID has special meaning to bots
+if(!$INFO['exists'] &&
+ ($conf['send404'] || preg_match('/^(robots\.txt|sitemap\.xml(\.gz)?|favicon\.ico|crossdomain\.xml)$/',$ID)) &&
+ ($ACT == 'show' || (!is_array($ACT) && substr($ACT,0,7) == 'export_')) ){
+ header('HTTP/1.0 404 Not Found');
+}
+
+//prepare breadcrumbs (initialize a static var)
+if ($conf['breadcrumbs']) breadcrumbs();
+
+// check upstream
+checkUpdateMessages();
+
+$tmp = array(); // No event data
+trigger_event('DOKUWIKI_STARTED',$tmp);
+
+//close session
+session_write_close();
+
+//do the work
+act_dispatch($ACT);
+
+$tmp = array(); // No event data
+trigger_event('DOKUWIKI_DONE', $tmp);
+
+// xdebug_dump_function_profile(1);