Skip to content
Snippets Groups Projects
Select Git revision
  • refctorHTTPCLient
  • fix-zero
  • issue2721
  • master default protected
  • psr2
  • fixNoticesCLI
  • issue2665
  • issue2517
  • rmdir
  • old-stable
  • stable
  • extcli
  • HTTPClientAgent
  • issue2366
  • betterDeprecationComment
  • issue1569
  • fixGetVersion
  • testfixes
  • psr2-plugin
  • renameParam
  • release_stable_2017-02-19f
  • release_stable_2018-04-22b
  • release_stable_2018-04-22a
  • release_stable_2018-04-22
  • release_stable_2016-06-26e
  • release_stable_2017-02-19e
  • release_stable_2016-06-26d
  • release_stable_2017-02-19d
  • release_stable_2016-06-26c
  • release_stable_2017-02-19c
  • release_stable_2016-06-26b
  • release_stable_2017-02-19b
  • release_stable_2017-02-19a
  • release_stable_2017-02-19
  • release_stable_2016-06-26a
  • release_stable_2016-06-26
  • release_stable_2015-08-10a
  • release_stable_2015-08-10
  • release_stable_2014_05_05e
  • release_stable_2014_09_29d
40 results

doku.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    doku.php 2.16 KiB
    <?php
    /**
     * DokuWiki mainscript
     *
     * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
     * @author     Andreas Gohr <andi@splitbrain.org>
     */
    
    // update message version
    $updateVersion = 30;
    
    //  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
    $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);