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