Lilu has uploaded a new change for review.
https://gerrit.wikimedia.org/r/260326
Change subject: Flexiskin not working with WikiFarming
......................................................................
Flexiskin not working with WikiFarming
Built in some checks for WikiFarming. If WikiFarming is active, Flexiskin will
use the right paths, now.
Change-Id: I6534be8ddf6205c1cb916f5bf9db8e8f8e9c1dcb
---
M Flexiskin/Flexiskin.class.php
M Flexiskin/Flexiskin.setup.php
2 files changed, 40 insertions(+), 26 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions
refs/changes/26/260326/1
diff --git a/Flexiskin/Flexiskin.class.php b/Flexiskin/Flexiskin.class.php
old mode 100644
new mode 100755
index e4f8912..dcde1d7
--- a/Flexiskin/Flexiskin.class.php
+++ b/Flexiskin/Flexiskin.class.php
@@ -95,7 +95,7 @@
if ( $bIsTemp ) {
$this->getRequest()->setSessionData(
"sPreviewSkin", $sFlexiskin );
$sPreviewSkin = $sFlexiskin;
- //or just unset it
+ //or just unset it
} else {
$this->getRequest()->setSessionData(
"sPreviewSkin", NULL );
$sPreviewSkin = false;
@@ -139,10 +139,14 @@
$sFilePath = BsFileSystemHelper::getDataPath("flexiskin/" .
$sFlexiskinId);
$sFilePath .= "/screen" . ($bIsTemp ? '.' . $sPreviewTimestamp
. '.tmp' : '') . ".less";
- $sFilePath = str_replace($wgScriptPath, "..", $sFilePath);
+ if(defined('WIKI_FARMING')) {
+ $sFilePath = '../..' . $sFilePath;
+ } else {
+ $sFilePath = str_replace($wgScriptPath, "..",
$sFilePath);
+ }
if ( !isset( $wgResourceModules['skins.bluespiceskin'] ) ||
- !isset(
$wgResourceModules['skins.bluespiceskin']['styles'] ) ) {
+ !isset(
$wgResourceModules['skins.bluespiceskin']['styles'] ) ) {
return false;
}
foreach ( $wgResourceModules['skins.bluespiceskin']['styles']
as $iIndex => $sStylePath ) {
@@ -168,18 +172,18 @@
}
$api = new ApiMain(
- new DerivativeRequest(
+ new DerivativeRequest(
$this->getRequest(), array(
- 'action' => 'flexiskin',
- 'type' => 'get'
- ), false
- ), true
+ 'action' => 'flexiskin',
+ 'type' => 'get'
+ ), false
+ ), true
);
$oResult = $api->execute();
$aData = $api->getResultData();
$aResult = array( 'options' => array(
- wfMessage( 'bs-flexiskin-defaultname'
)->plain() => 'default',
- ) );
+ wfMessage( 'bs-flexiskin-defaultname' )->plain() =>
'default',
+ ) );
if ( isset( $aData['flexiskin'] ) && count( $aData['flexiskin']
) > 0 ) {
foreach ( $aData['flexiskin'] as $aConf ) {
$aResult['options'][$aConf['flexiskin_name']] =
$aConf['flexiskin_id'];
@@ -219,10 +223,15 @@
public static function generateScreenFile($bIsTmp = false){
$sPreviewTimestamp =
RequestContext::getMain()->getRequest()->getSessionData( 'PreviewTimestamp' );
$aScreenFile = array();
- $aScreenFile[] = "@import
'../../../../skins/BlueSpiceSkin/resources/variables.less';";
+ if(defined('WIKI_FARMING')) {
+ $sPathPrefix = '../../../../..';
+ } else {
+ $sPathPrefix = '../../../..';
+ }
+ $aScreenFile[] = "@import
'{$sPathPrefix}/skins/BlueSpiceSkin/resources/variables.less';";
$aScreenFile[] = "@import 'variables.".($bIsTmp ?
$sPreviewTimestamp . ".tmp." : "")."less';";
- $aScreenFile[] = "@import
'../../../../skins/BlueSpiceSkin/resources/screen.layout.less';";
- $aScreenFile[] = "@import
'../../../../skins/BlueSpiceSkin/resources/components.less';";
+ $aScreenFile[] = "@import
'{$sPathPrefix}/skins/BlueSpiceSkin/resources/screen.layout.less';";
+ $aScreenFile[] = "@import
'{$sPathPrefix}/skins/BlueSpiceSkin/resources/components.less';";
return implode("\n", $aScreenFile);
}
@@ -231,7 +240,12 @@
if ( !is_array( $aConfigs ) ) {
$aConfigs = FormatJson::decode( $aConfigs );
}
- $aFile[] = '@bs-skin-path:
"../../../../skins/BlueSpiceSkin/resources/";';
+ if(defined('WIKI_FARMING')) {
+ $sPathPrefix = '../../../../..';
+ } else {
+ $sPathPrefix = '../../../..';
+ }
+ $aFile[] = '@bs-skin-path: "' . $sPathPrefix .
'/skins/BlueSpiceSkin/resources/";';
$sNewId = self::getFlexiskinIdFromConfig($aConfigs);
foreach ( $aConfigs as $aConfig ) {
$func = "FlexiskinFormatter::format_" . $aConfig->id;
@@ -246,7 +260,7 @@
}
return implode( " \n", $aFile );
}
-
+
public static function getFlexiskinIdFromConfig($aConfig){
if (is_array($aConfig) && isset($aConfig[0]) &&
isset($aConfig[0]->name)){
$sName = str_replace(" ", "_",
strtolower($aConfig[0]->name));
@@ -271,18 +285,18 @@
if ( $sId != "default" ) {
$bPreview = $sktemplate->getRequest()->getVal(
'preview', false );
$api = new ApiMain(
- new DerivativeRequest(
-
$sktemplate->getRequest(),
- array(
- 'action' =>
'flexiskin',
- 'type' => 'get',
- 'mode' =>
'config',
- 'id' => $sId,
- 'preview' =>
$bPreview
- ),
- false
+ new DerivativeRequest(
+ $sktemplate->getRequest(),
+ array(
+ 'action' => 'flexiskin',
+ 'type' => 'get',
+ 'mode' => 'config',
+ 'id' => $sId,
+ 'preview' => $bPreview
),
- true
+ false
+ ),
+ true
);
$api->execute();
$aResult = $api->getResultData();
diff --git a/Flexiskin/Flexiskin.setup.php b/Flexiskin/Flexiskin.setup.php
old mode 100644
new mode 100755
--
To view, visit https://gerrit.wikimedia.org/r/260326
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6534be8ddf6205c1cb916f5bf9db8e8f8e9c1dcb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Lilu <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits