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

Reply via email to