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