xref: /plugin/combo/action/docss.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
14cadd4f8SNickeau<?php
24cadd4f8SNickeau
34cadd4f8SNickeau
44cadd4f8SNickeaurequire_once(__DIR__ . '/../ComboStrap/PluginUtility.php');
54cadd4f8SNickeau
6*04fd306cSNickeauuse ComboStrap\BrandingColors;
7*04fd306cSNickeauuse ComboStrap\ColorSystem;
8*04fd306cSNickeauuse ComboStrap\ExecutionContext;
94cadd4f8SNickeauuse ComboStrap\PluginUtility;
104cadd4f8SNickeauuse ComboStrap\Site;
114cadd4f8SNickeau
124cadd4f8SNickeau
134cadd4f8SNickeau/**
144cadd4f8SNickeau */
154cadd4f8SNickeauclass action_plugin_combo_docss extends DokuWiki_Action_Plugin
164cadd4f8SNickeau{
174cadd4f8SNickeau
184cadd4f8SNickeau
194cadd4f8SNickeau    public function register(Doku_Event_Handler $controller)
204cadd4f8SNickeau    {
214cadd4f8SNickeau
22*04fd306cSNickeau        /**
23*04fd306cSNickeau         * See {@link \ComboStrap\SnippetSystem::attachCssInternalStylesheet()}
24*04fd306cSNickeau         * for more explanation on the choice of the event
25*04fd306cSNickeau         */
26*04fd306cSNickeau        $controller->register_hook('ACTION_HEADERS_SEND', 'BEFORE', $this, 'handleCssForDoAction');
274cadd4f8SNickeau
284cadd4f8SNickeau    }
294cadd4f8SNickeau
304cadd4f8SNickeau    /**
314cadd4f8SNickeau     * @param Doku_Event $event
324cadd4f8SNickeau     */
334cadd4f8SNickeau    public function handleCssForDoAction(Doku_Event &$event)
344cadd4f8SNickeau    {
354cadd4f8SNickeau        if (!Site::isStrapTemplate()) {
364cadd4f8SNickeau            return;
374cadd4f8SNickeau        }
384cadd4f8SNickeau        global $ACT;
394cadd4f8SNickeau        switch ($ACT) {
404cadd4f8SNickeau            case "media":
41*04fd306cSNickeau                PluginUtility::getSnippetManager()->attachCssInternalStylesheet("do-media");
42*04fd306cSNickeau                break;
43*04fd306cSNickeau            case "edit":
44*04fd306cSNickeau            case "preview":
45*04fd306cSNickeau                PluginUtility::getSnippetManager()->attachCssInternalStylesheet("do-edit");
464cadd4f8SNickeau                break;
474cadd4f8SNickeau            case "admin":
484cadd4f8SNickeau                $defaultColor = "black";
49*04fd306cSNickeau                $config = ExecutionContext::getActualOrCreateFromEnv()->getConfig();
50*04fd306cSNickeau                $iconColor = $config->getPrimaryColorOrDefault($defaultColor);
51*04fd306cSNickeau                $colorText = ColorSystem::toTextColor($iconColor);
524cadd4f8SNickeau                $css = <<<EOF
534cadd4f8SNickeauul.admin_tasks, ul.admin_plugins {
544cadd4f8SNickeau    list-style: none;
554cadd4f8SNickeau}
564cadd4f8SNickeauul.admin_tasks li, ul.admin_plugins li{
574cadd4f8SNickeau    margin: 0.5rem;
584cadd4f8SNickeau}
594cadd4f8SNickeauul.admin_tasks a, ul.admin_plugins a {
604cadd4f8SNickeau    text-decoration: none;
614cadd4f8SNickeau    color: black
624cadd4f8SNickeau}
634cadd4f8SNickeauul.admin_tasks a:hover, ul.admin_plugins a:hover{
644cadd4f8SNickeau    text-decoration: underline;
654cadd4f8SNickeau    color: {$colorText->toRgbHex()};
664cadd4f8SNickeau}
674cadd4f8SNickeau.icon svg {
684cadd4f8SNickeau    color: {$iconColor->toRgbHex()};
694cadd4f8SNickeau    fill: {$iconColor->toRgbHex()};
704cadd4f8SNickeau}
714cadd4f8SNickeauEOF;
72*04fd306cSNickeau                PluginUtility::getSnippetManager()->attachCssInternalStylesheet("do-admin", $css);
734cadd4f8SNickeau                break;
744cadd4f8SNickeau        }
754cadd4f8SNickeau
764cadd4f8SNickeau
774cadd4f8SNickeau    }
784cadd4f8SNickeau
794cadd4f8SNickeau
804cadd4f8SNickeau}
81