/** * Replaces the BlueSpiceSkin screen.less file with the one specified by the parameters * @global string $wgResourceModules * @param string $sFlexiskinId * @param int $bIsTemp * @return boolean true of replaced correctly, otherwise false */ public function addCssFile($sFlexiskinId, $bIsTemp = false) { global $wgResourceModules; $oStatus = BsFileSystemHelper::ensureDataDirectory("flexiskin/" . $sFlexiskinId); if (!$oStatus->isGood()) { return false; } $sFilePath = BsFileSystemHelper::getDataPath("flexiskin/" . $sFlexiskinId); $sFilePath .= "/screen" . ($bIsTemp ? '.tmp' : '') . ".less"; if (!isset($wgResourceModules['skins.bluespiceskin']) || !isset($wgResourceModules['skins.bluespiceskin']['styles'])) { return false; } foreach ($wgResourceModules['skins.bluespiceskin']['styles'] as $iIndex => $sStylePath) { //check if element ends with "screen.less" if (strpos($sStylePath, "screen.less", strlen($sStylePath) - strlen("screen.less")) === false) { continue; } $wgResourceModules['skins.bluespiceskin']['styles'][$iIndex] = ".." . $sFilePath; return true; } return false; }