xref: /template/strap/action/txt.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
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