xref: /plugin/botmon/admin.php (revision ade4db36c00fcde1d10bd5e66a7c14c20c8631be)
1f125bc8dSSascha Leib<?php
2f125bc8dSSascha Leib
3f125bc8dSSascha Leibuse dokuwiki\Extension\AdminPlugin;
4f125bc8dSSascha Leib
5f125bc8dSSascha Leib/**
67bd08c30SSascha Leib * Bot Monitoring Plugin
7f125bc8dSSascha Leib*
8f125bc8dSSascha Leib* @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
9f125bc8dSSascha Leib* @author     Sascha Leib <ad@hominem.info>
10f125bc8dSSascha Leib*/
11f125bc8dSSascha Leib
12f125bc8dSSascha Leib/**
13f125bc8dSSascha Leib * All DokuWiki plugins to extend the admin function
14f125bc8dSSascha Leib * need to inherit from this class
15f125bc8dSSascha Leib**/
167bd08c30SSascha Leibclass admin_plugin_botmon extends AdminPlugin {
17f125bc8dSSascha Leib
18f125bc8dSSascha Leib	/**
19f125bc8dSSascha Leib	 * Return the path to the icon being displayed in the main admin menu.
20f125bc8dSSascha Leib	 *
21f125bc8dSSascha Leib	 * @return string full path to the icon file
22f125bc8dSSascha Leib	**/
23f125bc8dSSascha Leib	public function getMenuIcon() {
24f125bc8dSSascha Leib		$plugin = $this->getPluginName();
25f125bc8dSSascha Leib		return DOKU_PLUGIN . $plugin . '/img/admin.svg';
26f125bc8dSSascha Leib	}
27f125bc8dSSascha Leib
28f125bc8dSSascha Leib	/**
29f125bc8dSSascha Leib	 * output appropriate html
30f125bc8dSSascha Leib	*/
31f125bc8dSSascha Leib	public function html() {
32f125bc8dSSascha Leib
33*ade4db36SSascha Leib		global $conf;
34*ade4db36SSascha Leib
35*ade4db36SSascha Leib		$pluginPath = $conf['basedir'] . 'lib/plugins/' . $this->getPluginName();
36f125bc8dSSascha Leib
37f125bc8dSSascha Leib		/* Plugin Headline */
387bd08c30SSascha Leib		echo '<div id="botmon__admin">';
397bd08c30SSascha Leib		echo '<h1>Bot Monitoring Plugin</h1>';
40f125bc8dSSascha Leib
41f125bc8dSSascha Leib		/* tab navigation */
427bd08c30SSascha Leib		echo '<nav id="botmon__tabs">';
43f125bc8dSSascha Leib		echo '<ul class="tabs" role="tablist">';
44f125bc8dSSascha Leib		echo '<li role="presentation" class="active">';
457bd08c30SSascha Leib		echo '<a role="tab" href="#botmon__panel1" aria-controls="botmon__panel1" id="botmon__tab1" aria-selected="true">Today</a></li>';
46f125bc8dSSascha Leib		echo '</ul></nav>';
47f125bc8dSSascha Leib
48*ade4db36SSascha Leib		// Beta warning message:
49*ade4db36SSascha Leib		echo '<div class="info"><strong>Please note:</strong> This plugin is still in the early stages of development and does not (yet) clean up its <code>logs</code> directory.<br>To avoid taking up too much space on your server, please remove older logs manually!</div>';
50*ade4db36SSascha Leib
51f125bc8dSSascha Leib		/* Live tab */
527bd08c30SSascha Leib		echo '<article role="tabpanel" id="botmon__today"">';
53f125bc8dSSascha Leib		echo '<h2 class="a11y">Today</h2>';
547bd08c30SSascha Leib		echo '<header id="botmon__today__title">Loading&nbsp;&hellip;</header>';
557bd08c30SSascha Leib		echo '<div id="botmon__today__content">';
567bd08c30SSascha Leib		echo '<details id="botmon__today__visitors"><summary>Visitor log</summary>';
577bd08c30SSascha Leib		echo '<ul id="botmon__today__visitorlist"></ul>';
589f1ee8c1SSascha Leib		echo '</details></div>';
59*ade4db36SSascha Leib		echo '<footer aria-live="polite"><img src="' . $pluginPath . '/img/spinner.svg" id="botmon__today__busy" width="12" height="12" alt="busy indicator"><span id="botmon__today__status">Initialising&nbsp;&hellip;</span></footer>';
609bc80cc5SSascha Leib		echo '</article>';
617bd08c30SSascha Leib		echo '</div><!-- End of BotMon Admin Tool -->';
62f125bc8dSSascha Leib
63f125bc8dSSascha Leib	}
64f125bc8dSSascha Leib}