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();
 | |
|     }
 | |
| 
 | |
| }
 |