1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeau 4*04fd306cSNickeaurequire_once(__DIR__ . '/../ComboStrap/PluginUtility.php'); 5*04fd306cSNickeau 6*04fd306cSNickeauuse ComboStrap\DirectoryLayout; 7*04fd306cSNickeauuse ComboStrap\Site; 8*04fd306cSNickeau 9*04fd306cSNickeauif (!defined('DOKU_INC')) exit; 10*04fd306cSNickeauif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/'); 11*04fd306cSNickeau 12*04fd306cSNickeau/** 13*04fd306cSNickeau * Add the txt type has an authorized type 14*04fd306cSNickeau */ 15*04fd306cSNickeauclass action_plugin_combo_txt extends DokuWiki_Action_Plugin 16*04fd306cSNickeau{ 17*04fd306cSNickeau 18*04fd306cSNickeau 19*04fd306cSNickeau 20*04fd306cSNickeau 21*04fd306cSNickeau public function register(Doku_Event_Handler $controller) 22*04fd306cSNickeau { 23*04fd306cSNickeau 24*04fd306cSNickeau 25*04fd306cSNickeau 26*04fd306cSNickeau /** 27*04fd306cSNickeau * Hack the upload done via the ajax.php file 28*04fd306cSNickeau * {@link media_upload()} 29*04fd306cSNickeau */ 30*04fd306cSNickeau $controller->register_hook('AUTH_ACL_CHECK', 'BEFORE', $this, 'txt_mime'); 31*04fd306cSNickeau 32*04fd306cSNickeau /** 33*04fd306cSNickeau * When the parsing of a page starts 34*04fd306cSNickeau */ 35*04fd306cSNickeau $controller->register_hook('PARSER_WIKITEXT_PREPROCESS', 'BEFORE', $this, 'txt_mime'); 36*04fd306cSNickeau 37*04fd306cSNickeau } 38*04fd306cSNickeau 39*04fd306cSNickeau 40*04fd306cSNickeau /** 41*04fd306cSNickeau * @param Doku_Event $event 42*04fd306cSNickeau * {@link media_save} is checking the authorized mime type 43*04fd306cSNickeau * Txt is not by default, we add it here if the user is admin or 44*04fd306cSNickeau * in a specified group 45*04fd306cSNickeau */ 46*04fd306cSNickeau public function txt_mime(Doku_Event &$event) 47*04fd306cSNickeau { 48*04fd306cSNickeau 49*04fd306cSNickeau /** 50*04fd306cSNickeau * Enhance the txt mime type 51*04fd306cSNickeau * {@link getMimeTypes()} 52*04fd306cSNickeau */ 53*04fd306cSNickeau global $config_cascade; 54*04fd306cSNickeau $svgMimeConf = DirectoryLayout::getComboResourcesDirectory()->resolve("conf")->resolve("txt.mime.conf")->toAbsoluteId(); 55*04fd306cSNickeau $config_cascade['mime']['local'][] = $svgMimeConf; 56*04fd306cSNickeau 57*04fd306cSNickeau } 58*04fd306cSNickeau 59*04fd306cSNickeau 60*04fd306cSNickeau 61*04fd306cSNickeau} 62