123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * Icons Action Plugin
- *
- * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author Giuseppe Di Terlizzi <giuseppe.diterlizzi@gmail.com>
- * @copyright (C) 2015-2018, Giuseppe Di Terlizzi
- */
- // must be run within Dokuwiki
- if(!defined('DOKU_INC')) die();
- /**
- * Class Icons Action Plugin
- *
- * Add external CSS file to DokuWiki
- */
- class action_plugin_icons extends DokuWiki_Action_Plugin {
- /**
- * Register events
- *
- * @param Doku_Event_Handler $controller
- */
- public function register(Doku_Event_Handler $controller) {
- $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, '_loadcss');
- $controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, '_toolbarButton', array ());
- $controller->register_hook('PLUGIN_POPULARITY_DATA_SETUP', 'AFTER', $this, '_popularity');
- }
- /**
- * Event handler
- *
- * @param Doku_Event &$event
- */
- public function _toolbarButton(Doku_Event $event, $param) {
- $event->data[] = array(
- 'type' => 'mediapopup',
- 'title' => 'Icons',
- 'icon' => '../../tpl/dokuwiki/images/logo.png',
- 'url' => 'lib/plugins/icons/exe/popup.php?ns=',
- 'name' => 'icons',
- 'options'=> 'width=800,height=600,left=20,top=20,toolbar=no,menubar=no,scrollbars=yes,resizable=yes',
- 'block' => false
- );
- }
- /**
- * Event handler
- *
- * @param Doku_Event &$event
- */
- public function _popularity(Doku_Event $event, $param) {
- $plugin_info = $this->getInfo();
- $event->data['icon']['version'] = $plugin_info['date'];
- }
- /**
- * Event handler
- *
- * @param Doku_Event &$event
- */
- public function _loadcss(Doku_Event &$event, $param) {
- global $conf;
- $base_url = DOKU_BASE . 'lib/plugins/icons/assets';
- $font_icons = array();
- # Load Font-Awesome (skipped for Bootstrap3 template)
- if ($this->getConf('loadFontAwesome') && $conf['template'] !== 'bootstrap3') {
- $font_icons[] = "$base_url/font-awesome/css/font-awesome.min.css";
- }
- # Load Typicons
- if ($this->getConf('loadTypicons')) {
- $font_icons[] = "$base_url/typicons/typicons.min.css";
- }
- # Load RPG-Awesome
- if ($this->getConf('loadRpgAwesome')) {
- $font_icons[] = "$base_url/rpg-awesome/css/rpg-awesome.min.css";
- }
- # Load Font Linux
- if ($this->getConf('loadFontlinux')) {
- $font_icons[] = "$base_url/font-linux/font-linux.css";
- }
- # Load Material Icons
- if ($this->getConf('loadMaterialIcons')) {
- $font_icons[] = "$base_url/material-icons/material-icons.css";
- }
- foreach ($font_icons as $font_icon) {
- $event->data['link'][] = array(
- 'type' => 'text/css',
- 'rel' => 'stylesheet',
- 'href' => $font_icon);
- }
- }
- }
|