xref: /dokuwiki/lib/exe/ajax.php (revision 3f3d97d37515cf94e17be66e6789dad027d9cba9)
1f62ea8a1Sandi<?php
2f62ea8a1Sandi/**
3f62ea8a1Sandi * DokuWiki AJAX call handler
4f62ea8a1Sandi *
5f62ea8a1Sandi * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
6f62ea8a1Sandi * @author     Andreas Gohr <andi@splitbrain.org>
7f62ea8a1Sandi */
8f62ea8a1Sandi
9*3f3d97d3SAndreas Gohruse dokuwiki\Utf8\Clean;
10*3f3d97d3SAndreas Gohruse dokuwiki\Ajax;
11*3f3d97d3SAndreas Gohr
12e3c3abf1SAndreas Gohrif (!defined('DOKU_INC')) define('DOKU_INC', __DIR__ . '/../../');
13f62ea8a1Sandirequire_once(DOKU_INC . 'inc/init.php');
14814e20b8SYurii K
1524b3cb1aSAndreas Gohr//close session
168746e727Sandisession_write_close();
17f62ea8a1Sandi
1816a367d4SAndreas Gohr// default header, ajax call may overwrite it later
1995657bc6Sandiheader('Content-Type: text/html; charset=utf-8');
2095657bc6Sandi
21f62ea8a1Sandi//call the requested function
2216a367d4SAndreas Gohrglobal $INPUT;
23e0ded59cSAndreas Gohrif ($INPUT->has('call')) {
24e3c3abf1SAndreas Gohr    $call = $INPUT->filter([Clean::class, 'stripspecials'])->str('call');
25e3c3abf1SAndreas Gohr    new Ajax($call);
26f62ea8a1Sandi} else {
2716a367d4SAndreas Gohr    http_status(404);
2880423ab6SAdrian Lang}
29