xref: /plugin/mikioplugin/action.php (revision 7935713e90ae66bca4380ea057ab7fd4f3e18daa)
117e6d639SJames Collins<?php
217e6d639SJames Collins/**
317e6d639SJames Collins * Mikio Plugin
417e6d639SJames Collins *
53deaf3a5SJames Collins * @version    1.0
63deaf3a5SJames Collins * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
717e6d639SJames Collins * @author     James Collins <james.collins@outlook.com.au>
817e6d639SJames Collins */
917e6d639SJames Collins
1017e6d639SJames Collinsif(!defined('DOKU_INC')) die();
1117e6d639SJames Collins
12*7935713eSJames Collinsrequire_once('icons/icons.php');
13*7935713eSJames Collins
1417e6d639SJames Collinsclass action_plugin_mikioplugin extends DokuWiki_Action_Plugin {
1517e6d639SJames Collins
1617e6d639SJames Collins	public function register(Doku_Event_Handler $controller) {
1717e6d639SJames Collins		$controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, '_load');
1817e6d639SJames Collins	}
1917e6d639SJames Collins
2017e6d639SJames Collins	public function _load(Doku_Event $event, $param) {
2117e6d639SJames Collins		global $conf;
22*7935713eSJames Collins        global $MIKIO_ICONS;
233deaf3a5SJames Collins
243deaf3a5SJames Collins        $baseDir = DOKU_BASE.'lib/plugins' . str_replace(dirname(dirname(__FILE__)), '', dirname(__FILE__)) . '/';
253deaf3a5SJames Collins        $stylesheets = [];
263deaf3a5SJames Collins        $scripts = [];
273deaf3a5SJames Collins
28*7935713eSJames Collins        if(is_array($MIKIO_ICONS)) {
29*7935713eSJames Collins            $icons = Array();
30*7935713eSJames Collins            foreach($MIKIO_ICONS as $icon) {
31*7935713eSJames Collins                if(isset($icon['name']) && isset($icon['css']) && isset($icon['insert'])) {
32*7935713eSJames Collins                    $icons[] = $icon;
333deaf3a5SJames Collins
34*7935713eSJames Collins                    if($icon['css'] != '') {
35*7935713eSJames Collins                        if(strpos($icon['css'], '//') === FALSE) {
36*7935713eSJames Collins                            $stylesheets[] = $baseDir . 'icons/' . $icon['css'];
37*7935713eSJames Collins                        } else {
38*7935713eSJames Collins                            $stylesheets[] = $icon['css'];
3917e6d639SJames Collins                        }
4017e6d639SJames Collins                    }
41*7935713eSJames Collins                }
42*7935713eSJames Collins            }
43*7935713eSJames Collins            $MIKIO_ICONS = $icons;
44*7935713eSJames Collins        } else {
45*7935713eSJames Collins            $MIKIO_ICONS = [];
46*7935713eSJames Collins        }
4717e6d639SJames Collins
483deaf3a5SJames Collins        foreach ($stylesheets as $style) {
493deaf3a5SJames Collins            array_unshift($event->data['link'], array(
503deaf3a5SJames Collins                'type' => 'text/css',
513deaf3a5SJames Collins                'rel'  => 'stylesheet',
523deaf3a5SJames Collins                'href' => $style
533deaf3a5SJames Collins            ));
543deaf3a5SJames Collins        }
5517e6d639SJames Collins
563deaf3a5SJames Collins        foreach ($scripts as $script) {
573deaf3a5SJames Collins            $event->data['script'][] = array(
583deaf3a5SJames Collins                 'type'  => 'text/javascript',
593deaf3a5SJames Collins              '_data' => '',
603deaf3a5SJames Collins              'src'   => $script
613deaf3a5SJames Collins          );
623deaf3a5SJames Collins      }
633deaf3a5SJames Collins    }
643deaf3a5SJames Collins}
65