Sbisson has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/340522 )
Change subject: Configure the RC Filters beta feature ...................................................................... Configure the RC Filters beta feature Bug: T159007 Change-Id: I9f72ce2916454b58dc3b8b95b93b7f4435d1d300 --- M WikimediaMessages.hooks.php M extension.json M i18n/wikimedia/en.json M i18n/wikimedia/qqq.json A modules/images/rc-filters-beta-ltr.svg A modules/images/rc-filters-beta-rtl.svg 6 files changed, 257 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaMessages refs/changes/22/340522/1 diff --git a/WikimediaMessages.hooks.php b/WikimediaMessages.hooks.php index 8aeac9e..f5534ed 100644 --- a/WikimediaMessages.hooks.php +++ b/WikimediaMessages.hooks.php @@ -1285,4 +1285,68 @@ ), ); # uk } + + /** + * Handler for the GetBetaFeaturePreferences hook. + * @see https://www.mediawiki.org/wiki/Manual:Hooks/GetBetaFeaturePreferences + * + * @param $user User to get preferences for + * @param array &$preferences Preferences configuration + * + * @return bool true in all cases + */ + public static function getBetaFeaturePreferences( User $user, array &$preferences ) { + global $wgExtensionAssetsPath, $wgEnableRcFiltersBetaFeature; + $ores = self::isOresAvailable(); + + if ( $wgEnableRcFiltersBetaFeature ) { + $preferences[ 'eri-rcfilters-beta' ] = [ + 'label-message' => 'eri-rcfilters-beta-label', + 'desc-message' => $ores ? 'eri-rcfilters-beta-description-ores' : 'eri-rcfilters-beta-description', + 'screenshot' => [ + 'rtl' => "$wgExtensionAssetsPath/WikimediaMessages/modules/images/rc-filters-beta-rtl.svg", + 'ltr' => "$wgExtensionAssetsPath/WikimediaMessages/modules/images/rc-filters-beta-ltr.svg", + ], + 'info-link' => 'https://www.mediawiki.org/wiki/Edit_Review_Improvements/Filters_for_Special:Recent_Changes', + 'discussion-link' => 'https://www.mediawiki.org/wiki/Talk:Edit_Review_Improvements/Filters_for_Special:Recent_Changes', + ]; + } + + return true; + } + + /** + * Check if one or both of the 'damaging' and 'goodfaith' models are + * available on the current wiki. + * + * @return bool + */ + private static function isOresAvailable() { + global $wgOresModels; + return isset( $wgOresModels[ 'damaging' ] ) || isset( $wgOresModels[ 'goodfaith' ] ); + } + + /** + * Synchronize the beta feature preference with the hidden preference that + * controls the RC Filters feature in MW Core. + * 'eri-rcfilters-beta' -> 'rcenhancedfilters' + * + * @param User $user + * @param array $options + * @return bool + */ + public static function onUserSaveOptions( $user, &$options ) { + global $wgEnableRcFiltersBetaFeature; + if ( !$wgEnableRcFiltersBetaFeature ) { + return true; + } + + if ( !array_key_exists( 'eri-rcfilters-beta', $options ) ) { + return true; + } + + $options[ 'rcenhancedfilters' ] = $options[ 'eri-rcfilters-beta' ]; + + return true; + } } diff --git a/extension.json b/extension.json index 265dee8..e10fe5c 100644 --- a/extension.json +++ b/extension.json @@ -86,7 +86,16 @@ ], "UploadForm:initial": [ "WikimediaMessagesHooks::onUploadFormInitial" + ], + "GetBetaFeaturePreferences": [ + "WikimediaMessagesHooks::getBetaFeaturePreferences" + ], + "UserSaveOptions": [ + "WikimediaMessagesHooks::onUserSaveOptions" ] }, + "config": { + "EnableRcFiltersBetaFeature": false + }, "manifest_version": 1 } diff --git a/i18n/wikimedia/en.json b/i18n/wikimedia/en.json index 2667346..c35b528 100644 --- a/i18n/wikimedia/en.json +++ b/i18n/wikimedia/en.json @@ -272,6 +272,9 @@ "right-editextendedsemiprotected": "Edit pages protected as \"{{int:protect-level-editextendedsemiprotected}}\"", "protect-level-editextendedsemiprotected": "Allow only autopatrollers", "restriction-level-editextendedsemiprotected": "autopatroller protected", + "eri-rcfilters-beta-label": "New filters for edit review", + "eri-rcfilters-beta-description": "Review edits on Recent Changes using an easier and more powerful interface. Includes new filters, user-defined highlighting and other improvements.", + "eri-rcfilters-beta-description-ores": "Review edits on Recent Changes using an easier and more powerful interface and many new tools, including predictive filters powered by [[m:Objective Revision Evaluation Service|ORES]], a machine-learning program.", "wikimedia-ipb-confirmhideuser": "You are about to block a user with \"hide user\" enabled. This will suppress the user's name in all lists and log entries on this wiki. Are you sure you want to do that?\n\nIf the username needs to be hidden on all Wikimedia wikis, please contact [[m:Special:MyLanguage/Stewards|stewards]] at stewa...@wikimedia.org.", "wikimedia-feedback-termsofuse": "I agree to provide feedback in accordance with the <a href=\"https://wikimediafoundation.org/wiki/Terms_of_Use\" target=\"_blank\">Terms of Use</a>.", "wikimedia-globalrenamequeue-email-body-approved": "The request to rename \"{{GENDER:$1|$1}}\" to \"{{GENDER:$1|$2}}\" has been approved. Once completed, you will be able to log in using your new username with your old password. Thank you for participating on Wikimedia projects.", diff --git a/i18n/wikimedia/qqq.json b/i18n/wikimedia/qqq.json index 141bf9e..532d0fa 100644 --- a/i18n/wikimedia/qqq.json +++ b/i18n/wikimedia/qqq.json @@ -300,6 +300,9 @@ "right-editextendedsemiprotected": "{{doc-right|editextendedsemiprotected}}\nRefers to {{msg-mw|protect-level-editextendedsemiprotected}}\n\nSee also:\n* {{msg-mw|Right-editeditorprotected}}\n* {{msg-mw|Right-editextendedsemiprotected}}\n* {{msg-mw|Right-editprotected}}\n* {{msg-mw|Right-editsemiprotected}}", "protect-level-editextendedsemiprotected": "Used as protect level.", "restriction-level-editextendedsemiprotected": "Used on [[Special:ProtectedPages]] and [[Special:ProtectedTitles]]. An option in the drop-down box 'Restriction level' and in brackets after each page name entry.", + "eri-rcfilters-beta-label": "Label for the RC Filters beta feature.", + "eri-rcfilters-beta-description": "Description for the RC Filter beta feature where ORES is NOT available.", + "eri-rcfilters-beta-description-ores": "Description for the RC Filter beta feature where ORES IS available.", "wikimedia-ipb-confirmhideuser": "Used as confirmation message in [[Special:Block]] before doing a HideUser block.\n\nSee also:\n* {{msg-mw|Ipb-blockingself}} and {{msg-mw|ipb-confirmhideuser}}", "wikimedia-feedback-termsofuse": "Label for agreeing to the Wikimedia terms of use with a link to the official terms of use page.", "wikimedia-globalrenamequeue-email-body-approved": "Email body for approved request.\n\n* $1 is the old username\n* $2 is the new username.", diff --git a/modules/images/rc-filters-beta-ltr.svg b/modules/images/rc-filters-beta-ltr.svg new file mode 100644 index 0000000..807a876 --- /dev/null +++ b/modules/images/rc-filters-beta-ltr.svg @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="264px" height="162px" viewBox="0 0 264 162" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --> + <title>rc-filters-beta-ltr</title> + <desc>Created with Sketch.</desc> + <defs> + <polygon id="path-1" points="0 0 0 152 12 162 24 152 36 162 48 152 60 162 72 152 84 162 96 152 108 162 120 152 132 162 144 152 156 162 168 152 180 162 192 152 204 162 216 152 228 162 240 152 252 162 264 152 264 0"></polygon> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-3"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-5"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + </defs> + <g id="Guidance" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="rc-filters-beta-ltr"> + <g id="popups-ltr-copy-3"> + <g id="svg2"> + <g id="screenshot-Clipped"> + <mask id="mask-2" fill="white"> + <use xlink:href="#path-1"></use> + </mask> + <g id="path4183"></g> + <g id="screenshot" mask="url(#mask-2)"> + <polygon id="background" fill="#FFFFFF" points="263.5 162.25 0.5 161.75 0.5 0.5 263.5 0.5"></polygon> + <polygon id="article" fill="#E5E5E5" points="252 162.496 252 29 48 29 48 162.496"></polygon> + <path d="M11,22 C11,14.268 17.268,8 25,8 C32.732,8 39,14.268 39,22 C39,29.732 32.732,36 25,36 C17.268,36 11,29.732 11,22 Z" id="logo" fill="#E5E5E5"></path> + <polygon id="sidebar" fill="#E5E5E5" points="38 163.807 38 58 13 58 13 163.807 38 163.807"></polygon> + <g id="personal-tools" transform="translate(154.000000, 5.000000)" fill="#E5E5E5"> + <path d="M79,0 L105,0 L105,6 L79,6 L79,0 Z M55,0 L77,0 L77,6 L55,6 L55,0 Z M31,0 L53,0 L53,6 L31,6 L31,0 Z M8,0 L21,0 L21,6 L8,6 L8,0 Z M23,0 L29,0 L29,6 L23,6 L23,0 Z M0,0 L6,0 L6,6 L0,6 L0,0 Z" id="path4191"></path> + </g> + <g id="search" transform="translate(165.000000, 15.000000)" fill="#E5E5E5"> + <path d="M93,1 L93,5 L1,5 L1,1 L93,1 L93,1 Z M94,0 L0,0 L0,6 L94,6 L94,0 Z" id="path5717"></path> + <polygon id="icon" points="3 2 5 2 5 4 3 4"></polygon> + </g> + <polygon id="sitename" fill="#E5E5E5" points="38 45 38 40 13 40 13 45"></polygon> + <path d="M0,0 L0,162 L264,162 L264,0 L0,0 Z M1,1 L263,1 L263,151.533 L252,160.699 L240,150.699 L228,160.699 L216,150.699 L204,160.699 L192,150.699 L180,160.699 L168,150.699 L156,160.699 L144,150.699 L132,160.699 L120,150.699 L108,160.699 L96,150.699 L84,160.699 L72,150.699 L60,160.699 L48,150.699 L36,160.699 L24,150.699 L12,160.699 L1,151.531 L1,1 Z" id="border" fill="#E5E5E5"></path> + </g> + </g> + </g> + </g> + <rect id="Rectangle-14" fill="#FFFFFF" x="48" y="56" width="204" height="4"></rect> + <g id="Group-24" transform="translate(63.000000, 35.000000)"> + <g id="Group-5-Copy-5" filter="url(#filter-3)"> + <rect id="Rectangle-16" fill="#F8F9FA" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#C8CCD1" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#72777D"></path> + </g> + <g id="Group-5-Copy-9" filter="url(#filter-4)" transform="translate(52.000000, 0.000000)"> + <rect id="Rectangle-16" fill="#F8F9FA" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#C8CCD1" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#72777D"></path> + </g> + <g id="Group-5-Copy-10" filter="url(#filter-5)" transform="translate(104.000000, 0.000000)"> + <rect id="Rectangle-16" fill="#3366CC" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#2A4B8D" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#2A4B8D"></path> + </g> + </g> + <g id="Group-23" transform="translate(63.000000, 77.000000)"> + <rect id="Rectangle-9-Copy-23" fill="#A2A9B1" x="15" y="0" width="145" height="4"></rect> + <g id="Group-22" transform="translate(0.000000, 12.000000)"> + <rect id="Rectangle-11-Copy-20" fill="#3366CC" x="0" y="0" width="175" height="18"></rect> + <rect id="Rectangle-9-Copy-24" fill="#2A4B8D" x="15" y="7" width="145" height="4"></rect> + </g> + <rect id="Rectangle-9-Copy-25" fill="#A2A9B1" x="15" y="38" width="145" height="4"></rect> + <rect id="Rectangle-9-Copy-26" fill="#A2A9B1" x="15" y="57" width="145" height="4"></rect> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/modules/images/rc-filters-beta-rtl.svg b/modules/images/rc-filters-beta-rtl.svg new file mode 100644 index 0000000..511d7b6 --- /dev/null +++ b/modules/images/rc-filters-beta-rtl.svg @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="264px" height="162px" viewBox="0 0 264 162" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --> + <title>rc-filters-beta-rtl</title> + <desc>Created with Sketch.</desc> + <defs> + <polygon id="path-1" points="0 0 0 152 12 162 24 152 36 162 48 152 60 162 72 152 84 162 96 152 108 162 120 152 132 162 144 152 156 162 168 152 180 162 192 152 204 162 216 152 228 162 240 152 252 162 264 152 264 0"></polygon> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-3"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + <filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-5"> + <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset> + <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" type="matrix" in="shadowOffsetOuter1" result="shadowMatrixOuter1"></feColorMatrix> + <feMerge> + <feMergeNode in="shadowMatrixOuter1"></feMergeNode> + <feMergeNode in="SourceGraphic"></feMergeNode> + </feMerge> + </filter> + </defs> + <g id="Guidance" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="rc-filters-beta-rtl"> + <g id="popups-ltr-copy-3" transform="translate(132.000000, 81.000000) scale(-1, 1) translate(-132.000000, -81.000000) "> + <g id="svg2"> + <g id="screenshot-Clipped"> + <mask id="mask-2" fill="white"> + <use xlink:href="#path-1"></use> + </mask> + <g id="path4183"></g> + <g id="screenshot" mask="url(#mask-2)"> + <polygon id="background" fill="#FFFFFF" points="263.5 162.25 0.5 161.75 0.5 0.5 263.5 0.5"></polygon> + <polygon id="article" fill="#E5E5E5" points="252 162.496 252 29 48 29 48 162.496"></polygon> + <path d="M11,22 C11,14.268 17.268,8 25,8 C32.732,8 39,14.268 39,22 C39,29.732 32.732,36 25,36 C17.268,36 11,29.732 11,22 Z" id="logo" fill="#E5E5E5"></path> + <polygon id="sidebar" fill="#E5E5E5" points="38 163.807 38 58 13 58 13 163.807 38 163.807"></polygon> + <g id="personal-tools" transform="translate(154.000000, 5.000000)" fill="#E5E5E5"> + <path d="M79,0 L105,0 L105,6 L79,6 L79,0 Z M55,0 L77,0 L77,6 L55,6 L55,0 Z M31,0 L53,0 L53,6 L31,6 L31,0 Z M8,0 L21,0 L21,6 L8,6 L8,0 Z M23,0 L29,0 L29,6 L23,6 L23,0 Z M0,0 L6,0 L6,6 L0,6 L0,0 Z" id="path4191"></path> + </g> + <g id="search" transform="translate(165.000000, 15.000000)" fill="#E5E5E5"> + <path d="M93,1 L93,5 L1,5 L1,1 L93,1 L93,1 Z M94,0 L0,0 L0,6 L94,6 L94,0 Z" id="path5717"></path> + <polygon id="icon" points="3 2 5 2 5 4 3 4"></polygon> + </g> + <polygon id="sitename" fill="#E5E5E5" points="38 45 38 40 13 40 13 45"></polygon> + <path d="M0,0 L0,162 L264,162 L264,0 L0,0 Z M1,1 L263,1 L263,151.533 L252,160.699 L240,150.699 L228,160.699 L216,150.699 L204,160.699 L192,150.699 L180,160.699 L168,150.699 L156,160.699 L144,150.699 L132,160.699 L120,150.699 L108,160.699 L96,150.699 L84,160.699 L72,150.699 L60,160.699 L48,150.699 L36,160.699 L24,150.699 L12,160.699 L1,151.531 L1,1 Z" id="border" fill="#E5E5E5"></path> + </g> + </g> + </g> + </g> + <rect id="Rectangle-14" fill="#FFFFFF" transform="translate(114.000000, 58.000000) scale(-1, 1) translate(-114.000000, -58.000000) " x="12" y="56" width="204" height="4"></rect> + <g id="Group-24" transform="translate(125.500000, 43.000000) scale(-1, 1) translate(-125.500000, -43.000000) translate(50.000000, 35.000000)"> + <g id="Group-5-Copy-5" filter="url(#filter-3)"> + <rect id="Rectangle-16" fill="#F8F9FA" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#C8CCD1" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#72777D"></path> + </g> + <g id="Group-5-Copy-9" filter="url(#filter-4)" transform="translate(52.000000, 0.000000)"> + <rect id="Rectangle-16" fill="#F8F9FA" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#C8CCD1" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#72777D"></path> + </g> + <g id="Group-5-Copy-10" filter="url(#filter-5)" transform="translate(104.000000, 0.000000)"> + <rect id="Rectangle-16" fill="#3366CC" x="0" y="0" width="46.2973088" height="15.7514881" rx="2"></rect> + <rect id="Rectangle-8" fill="#2A4B8D" x="8.71478754" y="6.51785714" width="21.7869688" height="3.80208333"></rect> + <path d="M42.3649988,4.65464233 L39.488881,7.56755067 L36.972278,5.0579681 L36.3431272,5.68536374 L38.8597303,8.19494632 L36.6127632,10.435645 C36.2532485,10.7941568 36.2532485,11.3319245 36.6127632,11.6904363 L39.488881,8.82234196 L42.0054841,11.3319245 L42.6346348,10.7045289 L40.1180318,8.19494632 L42.3649988,5.90943361 C42.7245135,5.55092182 42.7245135,5.01315412 42.3649988,4.65464233 Z" id="Page-1" fill="#2A4B8D"></path> + </g> + </g> + <g id="Group-23" transform="translate(113.500000, 107.500000) scale(-1, 1) translate(-113.500000, -107.500000) translate(26.000000, 77.000000)"> + <rect id="Rectangle-9-Copy-23" fill="#A2A9B1" x="15" y="0" width="145" height="4"></rect> + <g id="Group-22" transform="translate(0.000000, 12.000000)"> + <rect id="Rectangle-11-Copy-20" fill="#3366CC" x="0" y="0" width="175" height="18"></rect> + <rect id="Rectangle-9-Copy-24" fill="#2A4B8D" x="15" y="7" width="145" height="4"></rect> + </g> + <rect id="Rectangle-9-Copy-25" fill="#A2A9B1" x="15" y="38" width="145" height="4"></rect> + <rect id="Rectangle-9-Copy-26" fill="#A2A9B1" x="15" y="57" width="145" height="4"></rect> + </g> + </g> + </g> +</svg> \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/340522 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9f72ce2916454b58dc3b8b95b93b7f4435d1d300 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikimediaMessages Gerrit-Branch: master Gerrit-Owner: Sbisson <sbis...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits