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