46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace dokuwiki\Action;
 | 
						|
 | 
						|
use dokuwiki\Action\Exception\ActionException;
 | 
						|
 | 
						|
/**
 | 
						|
 * 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
 | 
						|
    }
 | 
						|
 | 
						|
    public function checkPreconditions() {
 | 
						|
        parent::checkPreconditions();
 | 
						|
    }
 | 
						|
 | 
						|
    public function preProcess() {
 | 
						|
        global $INPUT;
 | 
						|
        global $INFO;
 | 
						|
 | 
						|
        // retrieve admin plugin name from $_REQUEST['page']
 | 
						|
        if(($page = $INPUT->str('page', '', true)) != '') {
 | 
						|
            /** @var $plugin \dokuwiki\Extension\AdminPlugin */
 | 
						|
            if($plugin = plugin_getRequestAdminPlugin()) { // FIXME this method does also permission checking
 | 
						|
                if(!$plugin->isAccessibleByCurrentUser()) {
 | 
						|
                    throw new ActionException('denied');
 | 
						|
                }
 | 
						|
                $plugin->handle();
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function tplContent() {
 | 
						|
        tpl_admin();
 | 
						|
    }
 | 
						|
 | 
						|
}
 |