xref: /dokuwiki/lib/exe/ajax.php (revision d4f83172d9533c4d84f450fe22ef630816b21d75)
1f62ea8a1Sandi<?php
2*d4f83172SAndreas Gohr
3f62ea8a1Sandi/**
4f62ea8a1Sandi * DokuWiki AJAX call handler
5f62ea8a1Sandi *
6f62ea8a1Sandi * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
7f62ea8a1Sandi * @author     Andreas Gohr <andi@splitbrain.org>
8f62ea8a1Sandi */
9f62ea8a1Sandi
103f3d97d3SAndreas Gohruse dokuwiki\Utf8\Clean;
113f3d97d3SAndreas Gohruse dokuwiki\Ajax;
123f3d97d3SAndreas Gohr
13e3c3abf1SAndreas Gohrif (!defined('DOKU_INC')) define('DOKU_INC', __DIR__ . '/../../');
14f62ea8a1Sandirequire_once(DOKU_INC . 'inc/init.php');
15814e20b8SYurii K
1624b3cb1aSAndreas Gohr//close session
178746e727Sandisession_write_close();
18f62ea8a1Sandi
1916a367d4SAndreas Gohr// default header, ajax call may overwrite it later
2095657bc6Sandiheader('Content-Type: text/html; charset=utf-8');
2195657bc6Sandi
22f62ea8a1Sandi//call the requested function
2316a367d4SAndreas Gohrglobal $INPUT;
24e0ded59cSAndreas Gohrif ($INPUT->has('call')) {
25e3c3abf1SAndreas Gohr    $call = $INPUT->filter([Clean::class, 'stripspecials'])->str('call');
26e3c3abf1SAndreas Gohr    new Ajax($call);
27f62ea8a1Sandi} else {
2816a367d4SAndreas Gohr    http_status(404);
2980423ab6SAdrian Lang}
30