1*788f86d9SMichael Hamann<?php 2*788f86d9SMichael Hamann/** 3*788f86d9SMichael Hamann * DokuWiki Plugin extension (Admin Component) 4*788f86d9SMichael Hamann * 5*788f86d9SMichael Hamann * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 6*788f86d9SMichael Hamann * @author Michael Hamann <michael@content-space.de> 7*788f86d9SMichael Hamann */ 8*788f86d9SMichael Hamann 9*788f86d9SMichael Hamann// must be run within Dokuwiki 10*788f86d9SMichael Hamannif(!defined('DOKU_INC')) die(); 11*788f86d9SMichael Hamann 12*788f86d9SMichael Hamannclass admin_plugin_extension extends DokuWiki_Admin_Plugin { 13*788f86d9SMichael Hamann 14*788f86d9SMichael Hamann /** 15*788f86d9SMichael Hamann * @return int sort number in admin menu 16*788f86d9SMichael Hamann */ 17*788f86d9SMichael Hamann public function getMenuSort() { 18*788f86d9SMichael Hamann return 0; 19*788f86d9SMichael Hamann } 20*788f86d9SMichael Hamann 21*788f86d9SMichael Hamann /** 22*788f86d9SMichael Hamann * @return bool true if only access for superuser, false is for superusers and moderators 23*788f86d9SMichael Hamann */ 24*788f86d9SMichael Hamann public function forAdminOnly() { 25*788f86d9SMichael Hamann return true; 26*788f86d9SMichael Hamann } 27*788f86d9SMichael Hamann 28*788f86d9SMichael Hamann /** 29*788f86d9SMichael Hamann * Should carry out any processing required by the plugin. 30*788f86d9SMichael Hamann */ 31*788f86d9SMichael Hamann public function handle() { 32*788f86d9SMichael Hamann /* @var helper_plugin_extension_repository $repository */ 33*788f86d9SMichael Hamann $repository = $this->loadHelper('extension_repository'); 34*788f86d9SMichael Hamann $repository->init(); 35*788f86d9SMichael Hamann } 36*788f86d9SMichael Hamann 37*788f86d9SMichael Hamann /** 38*788f86d9SMichael Hamann * Render HTML output, e.g. helpful text and a form 39*788f86d9SMichael Hamann */ 40*788f86d9SMichael Hamann public function html() { 41*788f86d9SMichael Hamann /* @var Doku_Plugin_Controller $plugin_controller */ 42*788f86d9SMichael Hamann global $plugin_controller; 43*788f86d9SMichael Hamann ptln('<h1>'.$this->getLang('menu').'</h1>'); 44*788f86d9SMichael Hamann 45*788f86d9SMichael Hamann $pluginlist = $plugin_controller->getList('', true); 46*788f86d9SMichael Hamann /* @var helper_plugin_extension_extension $extension */ 47*788f86d9SMichael Hamann $extension = $this->loadHelper('extension_extension'); 48*788f86d9SMichael Hamann foreach ($pluginlist as $name) { 49*788f86d9SMichael Hamann $extension->setExtension($name, false); 50*788f86d9SMichael Hamann ptln('<h2>'.hsc($extension->getName()).'</h2>'); 51*788f86d9SMichael Hamann ptln('<p>'.hsc($extension->getDescription()).'</p>'); 52*788f86d9SMichael Hamann ptln('<p>Latest available version: '.hsc($extension->getLastUpdate()).'</p>'); 53*788f86d9SMichael Hamann ptln('<p>Installed version: '.hsc($extension->getInstalledVersion()).'</p>'); 54*788f86d9SMichael Hamann } 55*788f86d9SMichael Hamann } 56*788f86d9SMichael Hamann} 57*788f86d9SMichael Hamann 58*788f86d9SMichael Hamann// vim:ts=4:sw=4:et: