*/ class admin_plugin_qc extends DokuWiki_Admin_Plugin { var $data; var $order; function getMenuSort() { return 999; } function forAdminOnly() { return false; } /** * handle the request befor html output * * @see html() */ function handle() { global $conf; // load the quality data if(is_file($conf['tmpdir'] . '/qcgather')) { $this->data = file_get_contents($conf['tmpdir'] . '/qcgather'); $this->data = unserialize($this->data); } else { $this->data = array(); } // order the data if(!isset($_REQUEST['pluginqc']['order'])) { $_REQUEST['pluginqc']['order'] = 'quality'; } switch($_REQUEST['pluginqc']['order']) { case 'fixme': uasort($this->data, array($this, 'sortFixme')); $this->order = 'fixme'; break; default: uasort($this->data, array($this, 'sortQuality')); $this->order = 'quality'; } } /** * output html for the admin page */ function html() { global $ID; $max = $this->getConf('maxshowen'); if(!$max || $max <= 0) $max = 25; echo '
' . sprintf($this->getLang('admin_desc'), $max) . '
'; echo '| ' . $this->getLang('admin_page') . ' | '; echo '' . $this->getOrderArrow('quality') . '' . $this->getLang('admin_quality') . ' | '; echo '' . $this->getOrderArrow('fixme') . '' . $this->getLang('admin_fixme') . ' | '; echo '
|---|---|---|
| '; tpl_pagelink(':' . $id, $id); echo ' | '; echo '' . \dokuwiki\plugin\qc\Output::scoreIcon($data['score']) . ' | '; echo '' . $data['err']['fixme'] . ' | '; echo '