Adrian Lang has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/171529

Change subject: Make resource definitions work from /vendor/, too
......................................................................

Make resource definitions work from /vendor/, too

Change-Id: I59ac7b8f3e48d6098d53875abcb8811fc36f5892
---
M client/WikibaseClient.hooks.php
M client/resources/Resources.php
M lib/resources/Resources.php
M lib/resources/api/resources.php
M lib/resources/entityChangers/resources.php
M lib/resources/experts/resources.php
M lib/resources/formatters/resources.php
M lib/resources/jquery.wikibase/resources.php
M lib/resources/jquery.wikibase/snakview/resources.php
M lib/resources/jquery.wikibase/toolbar/resources.php
M lib/resources/parsers/resources.php
M lib/resources/wikibase.RepoApi/resources.php
M lib/resources/wikibase.store/resources.php
M lib/resources/wikibase.utilities/resources.php
M repo/resources/Resources.php
15 files changed, 80 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/29/171529/1

diff --git a/client/WikibaseClient.hooks.php b/client/WikibaseClient.hooks.php
index 46c7e25..f60ec9d 100644
--- a/client/WikibaseClient.hooks.php
+++ b/client/WikibaseClient.hooks.php
@@ -501,8 +501,14 @@
        public static function onGetBetaFeaturePreferences( User $user, array 
&$betaPreferences ) {
                global $wgExtensionAssetsPath;
 
-               $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 
'extensions' . DIRECTORY_SEPARATOR , __DIR__, 2 );
-               $assetsPath = $wgExtensionAssetsPath . '/' . 
$remoteExtPathParts[1];
+                preg_match(
+                        '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                                preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(.*)$+',
+                        __DIR__,
+                        $remoteExtPathParts
+                );
+
+               $assetsPath = $wgExtensionAssetsPath . DIRECTORY_SEPARATOR . 
'..' . DIRECTORY_SEPARATOR . $remoteExtPathParts[1];
 
                $settings = WikibaseClient::getDefaultInstance()->getSettings();
                if ( !$settings->getSetting( 'otherProjectsLinksBeta' ) || 
$settings->getSetting( 'otherProjectsLinksByDefault' ) ) {
diff --git a/client/resources/Resources.php b/client/resources/Resources.php
index 61812b5..c591f28 100644
--- a/client/resources/Resources.php
+++ b/client/resources/Resources.php
@@ -1,7 +1,12 @@
 <?php
 
 return call_user_func( function() {
-       $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 'extensions' . 
DIRECTORY_SEPARATOR , __DIR__, 2 );
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
+       );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
                'remoteExtPath' => $remoteExtPathParts[1],
diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index 770ec7d..14016e8 100644
--- a/lib/resources/Resources.php
+++ b/lib/resources/Resources.php
@@ -11,8 +11,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/api/resources.php b/lib/resources/api/resources.php
index 6db8cc2..8379334 100644
--- a/lib/resources/api/resources.php
+++ b/lib/resources/api/resources.php
@@ -5,8 +5,11 @@
  */
 return call_user_func( function() {
 
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/entityChangers/resources.php 
b/lib/resources/entityChangers/resources.php
index 5305309..6b0c1ed 100644
--- a/lib/resources/entityChangers/resources.php
+++ b/lib/resources/entityChangers/resources.php
@@ -5,8 +5,11 @@
  */
 return call_user_func( function() {
 
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/experts/resources.php 
b/lib/resources/experts/resources.php
index f7dc9eb..50997cc 100644
--- a/lib/resources/experts/resources.php
+++ b/lib/resources/experts/resources.php
@@ -7,8 +7,11 @@
  */
 return call_user_func( function() {
 
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/formatters/resources.php 
b/lib/resources/formatters/resources.php
index 0514227..c85d338 100644
--- a/lib/resources/formatters/resources.php
+++ b/lib/resources/formatters/resources.php
@@ -7,8 +7,11 @@
  */
 return call_user_func( function() {
 
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/jquery.wikibase/resources.php 
b/lib/resources/jquery.wikibase/resources.php
index 2f13aed..3fc0670 100644
--- a/lib/resources/jquery.wikibase/resources.php
+++ b/lib/resources/jquery.wikibase/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/jquery.wikibase/snakview/resources.php 
b/lib/resources/jquery.wikibase/snakview/resources.php
index 6a31b07..11e053c 100644
--- a/lib/resources/jquery.wikibase/snakview/resources.php
+++ b/lib/resources/jquery.wikibase/snakview/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/jquery.wikibase/toolbar/resources.php 
b/lib/resources/jquery.wikibase/toolbar/resources.php
index d99c248..bc3def0 100644
--- a/lib/resources/jquery.wikibase/toolbar/resources.php
+++ b/lib/resources/jquery.wikibase/toolbar/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/parsers/resources.php 
b/lib/resources/parsers/resources.php
index a4fb914..84b9b85 100644
--- a/lib/resources/parsers/resources.php
+++ b/lib/resources/parsers/resources.php
@@ -7,8 +7,11 @@
  */
 return call_user_func( function() {
 
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/wikibase.RepoApi/resources.php 
b/lib/resources/wikibase.RepoApi/resources.php
index 5d3ce4b..7d8ee42 100644
--- a/lib/resources/wikibase.RepoApi/resources.php
+++ b/lib/resources/wikibase.RepoApi/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/wikibase.store/resources.php 
b/lib/resources/wikibase.store/resources.php
index 4acc39e..a250fba 100644
--- a/lib/resources/wikibase.store/resources.php
+++ b/lib/resources/wikibase.store/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/lib/resources/wikibase.utilities/resources.php 
b/lib/resources/wikibase.utilities/resources.php
index 4f07761..bdf6b23 100644
--- a/lib/resources/wikibase.utilities/resources.php
+++ b/lib/resources/wikibase.utilities/resources.php
@@ -6,8 +6,11 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode(
-               DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, 
__DIR__, 2
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
        );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php
index 9b0ec61..a984f4f 100644
--- a/repo/resources/Resources.php
+++ b/repo/resources/Resources.php
@@ -11,7 +11,12 @@
  * @codeCoverageIgnoreStart
  */
 return call_user_func( function() {
-       $remoteExtPathParts = explode( DIRECTORY_SEPARATOR . 'extensions' . 
DIRECTORY_SEPARATOR , __DIR__, 2 );
+       preg_match(
+               '+^.*?' . preg_quote( DIRECTORY_SEPARATOR, '+' ) . 
'(?:vendor|extensions)' .
+                       preg_quote( DIRECTORY_SEPARATOR, '+' ) . '(.*)$+',
+               __DIR__,
+               $remoteExtPathParts
+       );
        $moduleTemplate = array(
                'localBasePath' => __DIR__,
                'remoteExtPath' => $remoteExtPathParts[1],

-- 
To view, visit https://gerrit.wikimedia.org/r/171529
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I59ac7b8f3e48d6098d53875abcb8811fc36f5892
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <adrian.l...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to