bash/snippets/dokuwiki-2023-04-04/inc/Action/Admin.php

43 lines
1.0 KiB
PHP

<?php
namespace dokuwiki\Action;
use dokuwiki\Action\Exception\ActionException;
use dokuwiki\Extension\AdminPlugin;
/**
* Class Admin
*
* Action to show the admin interface or admin plugins
*
* @package dokuwiki\Action
*/
class Admin extends AbstractUserAction {
/** @inheritdoc */
public function minimumPermission() {
return AUTH_READ; // let in check later
}
/** @inheritDoc */
public function preProcess() {
global $INPUT;
// retrieve admin plugin name from $_REQUEST['page']
if($INPUT->str('page', '', true) != '') {
/** @var AdminPlugin $plugin */
if($plugin = plugin_getRequestAdminPlugin()) { // FIXME this method does also permission checking
if(!$plugin->isAccessibleByCurrentUser()) {
throw new ActionException('denied');
}
$plugin->handle();
}
}
}
/** @inheritDoc */
public function tplContent() {
tpl_admin();
}
}