xref: /template/strap/action/docss.php (revision 4cadd4f8c541149bdda95f080e38a6d4e3a640ca)
1*4cadd4f8SNickeau<?php
2*4cadd4f8SNickeau
3*4cadd4f8SNickeau
4*4cadd4f8SNickeaurequire_once(__DIR__ . '/../ComboStrap/PluginUtility.php');
5*4cadd4f8SNickeau
6*4cadd4f8SNickeauuse ComboStrap\ColorRgb;
7*4cadd4f8SNickeauuse ComboStrap\ExceptionCombo;
8*4cadd4f8SNickeauuse ComboStrap\LogUtility;
9*4cadd4f8SNickeauuse ComboStrap\PluginUtility;
10*4cadd4f8SNickeauuse ComboStrap\Site;
11*4cadd4f8SNickeau
12*4cadd4f8SNickeau
13*4cadd4f8SNickeau/**
14*4cadd4f8SNickeau */
15*4cadd4f8SNickeauclass action_plugin_combo_docss extends DokuWiki_Action_Plugin
16*4cadd4f8SNickeau{
17*4cadd4f8SNickeau
18*4cadd4f8SNickeau
19*4cadd4f8SNickeau    public function register(Doku_Event_Handler $controller)
20*4cadd4f8SNickeau    {
21*4cadd4f8SNickeau
22*4cadd4f8SNickeau        $controller->register_hook('DOKUWIKI_STARTED', 'BEFORE', $this, 'handleCssForDoAction');
23*4cadd4f8SNickeau
24*4cadd4f8SNickeau    }
25*4cadd4f8SNickeau
26*4cadd4f8SNickeau    /**
27*4cadd4f8SNickeau     * @param Doku_Event $event
28*4cadd4f8SNickeau     */
29*4cadd4f8SNickeau    public function handleCssForDoAction(Doku_Event &$event)
30*4cadd4f8SNickeau    {
31*4cadd4f8SNickeau        if (!Site::isStrapTemplate()) {
32*4cadd4f8SNickeau            return;
33*4cadd4f8SNickeau        }
34*4cadd4f8SNickeau        global $ACT;
35*4cadd4f8SNickeau        switch ($ACT) {
36*4cadd4f8SNickeau            case "media":
37*4cadd4f8SNickeau                PluginUtility::getSnippetManager()->attachCssSnippetForRequest("do-media");
38*4cadd4f8SNickeau                break;
39*4cadd4f8SNickeau            case "admin":
40*4cadd4f8SNickeau                $defaultColor = "black";
41*4cadd4f8SNickeau                $iconColor = Site::getPrimaryColor($defaultColor);
42*4cadd4f8SNickeau                $colorText = Site::getPrimaryColorForText($defaultColor);
43*4cadd4f8SNickeau                $css = <<<EOF
44*4cadd4f8SNickeauul.admin_tasks, ul.admin_plugins {
45*4cadd4f8SNickeau    list-style: none;
46*4cadd4f8SNickeau}
47*4cadd4f8SNickeauul.admin_tasks li, ul.admin_plugins li{
48*4cadd4f8SNickeau    margin: 0.5rem;
49*4cadd4f8SNickeau}
50*4cadd4f8SNickeauul.admin_tasks a, ul.admin_plugins a {
51*4cadd4f8SNickeau    text-decoration: none;
52*4cadd4f8SNickeau    color: black
53*4cadd4f8SNickeau}
54*4cadd4f8SNickeauul.admin_tasks a:hover, ul.admin_plugins a:hover{
55*4cadd4f8SNickeau    text-decoration: underline;
56*4cadd4f8SNickeau    color: {$colorText->toRgbHex()};
57*4cadd4f8SNickeau}
58*4cadd4f8SNickeau.icon svg {
59*4cadd4f8SNickeau    color: {$iconColor->toRgbHex()};
60*4cadd4f8SNickeau    fill: {$iconColor->toRgbHex()};
61*4cadd4f8SNickeau}
62*4cadd4f8SNickeauEOF;
63*4cadd4f8SNickeau                PluginUtility::getSnippetManager()->attachCssSnippetForRequest("do-admin", $css);
64*4cadd4f8SNickeau                break;
65*4cadd4f8SNickeau        }
66*4cadd4f8SNickeau
67*4cadd4f8SNickeau
68*4cadd4f8SNickeau    }
69*4cadd4f8SNickeau
70*4cadd4f8SNickeau
71*4cadd4f8SNickeau}
72