jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/344807 )

Change subject: Fix stuff I broke, also changes
......................................................................


Fix stuff I broke, also changes

* Some more consistent naming, classes and ids
* Changed private functions to protected
* Half-arsed formatting for echo
* Made search better
* ...

Change-Id: I889f2dbb15d0a9f601d5210dd13f95c24d9a9adf
---
M GreyStuffTemplate.php
M resources/main.less
M resources/screen-full.less
M resources/screen-mobile.less
4 files changed, 93 insertions(+), 30 deletions(-)

Approvals:
  jenkins-bot: Verified
  Isarra: Looks good to me, approved



diff --git a/GreyStuffTemplate.php b/GreyStuffTemplate.php
index 8f05b25..bf8fc6b 100644
--- a/GreyStuffTemplate.php
+++ b/GreyStuffTemplate.php
@@ -18,13 +18,7 @@
  */
 class GreyStuffTemplate extends BaseTemplate {
 
-       /**
-        * Template filter callback for GreyStuff skin.
-        * Takes an associative array of data set from a SkinTemplate-based
-        * class, and a wrapper for MediaWiki's localization database, and
-        * outputs a formatted page.
-        */
-       function execute() {
+       public function execute() {
                // Apparently not set by default?
                $this->data['pageLanguage'] = 
$this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
 
@@ -91,7 +85,7 @@
 
                                $this->clear() .
 
-                               Html::rawElement( 'div', [ 'id' => 
'bodyContent', 'class' => 'mw-body' ],
+                               Html::rawElement( 'div', [ 'id' => 
'bodyContent', 'class' => 'mw-body-content' ],
                                        Html::rawElement( 'div', [ 'id' => 
'siteSub' ], $this->getMsg( 'tagline' ) ) .
                                        $this->get( 'bodytext' ) .
                                        $this->clear()
@@ -135,7 +129,7 @@
         *
         * @return string html
         */
-       private function getPortlet( $name, $content, $dropdown = false, $msg = 
null ) {
+       protected function getPortlet( $name, $content, $dropdown = false, $msg 
= null ) {
                if ( $msg === null ) {
                        $msg = $name;
                } elseif ( is_array( $msg ) ) {
@@ -185,7 +179,7 @@
                                        $dropdown ? 'dropdown' : ''
                                ] ],
                                $contentText .
-                               $this->renderAfterPortlet( $name )
+                               $this->getAfterPortlet( $name )
                        )
                );
 
@@ -197,7 +191,7 @@
         *
         * @return string html
         */
-       private function getMainNavigation() {
+       protected function getMainNavigation() {
                $html = '';
 
                $sidebar = $this->getSidebar();
@@ -256,7 +250,7 @@
         *
         * @return string html
         */
-       private function getBanner() {
+       protected function getBanner() {
                $html = Html::rawElement( 'div', [ 'class' => 'p-logo', 'role' 
=> 'banner' ],
                        Html::element( 'a', array_merge( [
                                'class' => 'mw-wiki-logo',
@@ -290,8 +284,22 @@
         *
         * @return string html
         */
-       private function getPersonalNavigation() {
+       protected function getPersonalNavigation() {
                $user = $this->getSkin()->getUser();
+               $personalTools = $this->getPersonalTools();
+
+               $html = '';
+               $extraTools = [];
+
+               // Remove Echo badges
+               if ( isset( $personalTools['notifications-alert'] ) ) {
+                       $extraTools['notifications-alert'] = 
$personalTools['notifications-alert'];
+                       unset( $personalTools['notifications-alert'] );
+               }
+               if ( isset( $personalTools['notifications-notice'] ) ) {
+                       $extraTools['notifications-notice'] = 
$personalTools['notifications-notice'];
+                       unset( $personalTools['notifications-notice'] );
+               }
 
                if ( $user->isLoggedIn() ) {
                        $headerMsg = [ 'greystuff-loggedinas', $user->getName() 
];
@@ -299,7 +307,8 @@
                        $headerMsg = 'greystuff-notloggedin';
                }
 
-               $personalTools = $this->getPersonalTools();
+               $html .= Html::openElement( 'div', [ 'id' => 
'p-personal-container' ] );
+
                if ( isset( $personalTools['userpage'] ) ) {
                        $personalTools['userpage']['links'][0]['text'] = 
$this->getMsg( 'greystuff-userpage' );
                }
@@ -307,7 +316,25 @@
                        $personalTools['mytalk']['links'][0]['text'] = 
$this->getMsg( 'greystuff-talkpage' );
                }
 
-               return $this->getPortlet( 'personal', 
$this->getPersonalTools(), true, $headerMsg );
+               // Re-add Echo badges
+               if ( !empty( $extraTools ) ) {
+                       $iconList = '';
+                       foreach ( $extraTools as $key => $item ) {
+                               $iconList .= $this->makeListItem( $key, $item );
+                       }
+
+                       $html .= Html::rawElement(
+                               'div',
+                               [ 'id' => 'p-personal-extra', 'class' => 
'p-body' ],
+                               Html::rawElement( 'ul', [], $iconList )
+                       );
+               }
+
+               $html .= $this->getPortlet( 'personal', $personalTools, true, 
$headerMsg );
+
+               $html .= Html::closeElement( 'div' );
+
+               return $html;
        }
 
        /**
@@ -315,14 +342,14 @@
         *
         * @return string html
         */
-       private function getSearch() {
+       protected function getSearch() {
                $html = '';
 
                $html .= Html::openElement( 'div', [ 'class' => 'mw-portlet', 
'id' => 'p-search', 'role' => 'search' ] );
 
                $html .= Html::rawElement(
                        'h3',
-                       [],
+                       [ 'lang' => $this->get( 'userlang' ), 'dir' => 
$this->get( 'dir' ) ],
                        Html::rawElement( 'label', [ 'for' => 'searchInput' ], 
$this->getMsg( 'search' ) )
                );
 
@@ -332,9 +359,10 @@
                                        Html::rawElement( 'div', [ 'id' => 
'searchInput-container' ],
                                                $this->makeSearchInput( [ 'id' 
=> 'searchInput', 'type' => 'text' ] )
                                        )
-                               ). $this->makeSearchButton( 'fulltext', [ 'id' 
=> 'mw-searchButton', 'class' => 'searchButton mw-fallbackSearchButton' ] ) .
+                               ) .
+                               $this->makeSearchButton( 'fulltext', [ 'id' => 
'mw-searchButton', 'class' => 'searchButton mw-fallbackSearchButton' ] ) .
                                $this->makeSearchButton( 'go', [ 'id' => 
'searchGoButton', 'class' => 'searchButton' ] ) .
-                               Html::rawElement( 'input', [ 'type' => 
'hidden', 'name' => 'title', 'value' => $this->get( 'searchtitle' ) ] )
+                               Html::hidden( 'title', $this->get( 
'searchtitle' ) )
                        )
                );
 
@@ -346,7 +374,7 @@
        /**
         * @return string html
         */
-       private function getSiteNotice() {
+       protected function getSiteNotice() {
                $html = '';
 
                if ( $this->data['sitenotice'] ) {
@@ -362,12 +390,16 @@
         *
         * @return string html
         */
-       private function getSubtitle() {
+       protected function getSubtitle() {
                $html = '';
 
                if ( $this->data['subtitle'] || $this->data['undelete'] || 
$this->data['newtalk'] ) {
                        $html .= Html::openElement( 'div', [ 'id' => 
'content-top-stuff' ] );
-                       $html .= Html::rawElement( 'div', [ 'id' => 
'contentSub', 'lang' => $this->get( 'userlang' ), 'dir' => $this->get( 'dir' ) 
],
+                       $html .= Html::rawElement( 'div', [
+                                       'id' => 'contentSub',
+                                       'lang' => $this->get( 'userlang' ),
+                                       'dir' => $this->get( 'dir' )
+                               ],
                                $this->get( 'subtitle' )
                        );
                        if ( $this->data['undelete'] ) {
@@ -392,7 +424,7 @@
         *
         * @return string html
         */
-       private function getAfterContent() {
+       protected function getAfterContent() {
                $html = '';
 
                if ( $this->data['catlinks'] || $this->data['dataAfterContent'] 
) {
@@ -414,9 +446,9 @@
         *
         * @return string html
         */
-       private function getFooter() {
-               $validFooterIcons = $this->getFooterIcons( 'icononly' );
-               $validFooterLinks = $this->getFooterLinks( 'flat' );
+       protected function getFooter( $iconStyle = 'icononly', $linkStyle = 
'flat' ) {
+               $validFooterIcons = $this->getFooterIcons( $iconStyle );
+               $validFooterLinks = $this->getFooterLinks( $linkStyle );
 
                $html = '';
 
@@ -452,7 +484,7 @@
        }
 
        /**
-        * Override BaseTemplate to not just immediately poop out hand-written 
html
+        * BaseTemplate::renderAfterPortlet, but sans immediate pooping
         * Allows extensions to hook into known portlets and add stuff to them 
(an archaic approach;
         * assumes standardised, consistent portlet handling/naming, when the 
only standard portlets
         * that exist consistently are 'tbx' and 'personal', and tbx is already 
a mess )
@@ -460,20 +492,22 @@
         * @param string $name
         * @return string html
         */
-       protected function renderAfterPortlet( $name ) {
+       protected function getAfterPortlet( $name ) {
                $content = '';
                Hooks::run( 'BaseTemplateAfterPortlet', [ $this, $name, 
&$content ] );
 
                if ( $content !== '' ) {
                        return Html::rawElement( 'div', [ 'class' => [ 
'after-portlet', 'after-portlet-' . $name ] ], $content );
                }
+
+               return $content;
        }
 
        /**
         * @param string $prefix generally 'mobile' or 'visual' for visualClear 
or mobileClear classes
         * @return string html
         */
-       private function clear( $prefix = 'visual' ) {
+       protected function clear( $prefix = 'visual' ) {
                return Html::element( 'div', [ 'class' => $prefix . 'Clear' ] );
        }
 }
diff --git a/resources/main.less b/resources/main.less
index c043626..08d87a7 100644
--- a/resources/main.less
+++ b/resources/main.less
@@ -159,6 +159,28 @@
        border-bottom: solid 1px @soft-border;
 }
 
+/* Echo junk */
+
+#p-personal,
+#p-personal-extra,
+#p-personal-extra ul,
+#p-personal-extra li {
+       display: inline-block;
+       float: right;
+}
+#p-personal-extra {
+       margin: 0 0 0 0;
+
+       ul {
+               list-style: none;
+               margin: 0 -.5em 0 1em;
+               padding: 0;
+       }
+       li {
+               margin: 0 .75em 0 0;
+       }
+}
+
 /*
  *
  * FOOTER STUFF
diff --git a/resources/screen-full.less b/resources/screen-full.less
index 2f8bd24..78d9907 100644
--- a/resources/screen-full.less
+++ b/resources/screen-full.less
@@ -16,7 +16,7 @@
 }
 
 /* Login stuff */
-#p-personal {
+#p-personal-container {
        float: right;
        color: @text-grey;
        font-size: 85%;
@@ -43,6 +43,10 @@
                right: 0;
        }
 }
+#p-personal {
+       position: relative;
+}
+
 
 .p-banner.title-banner {
        margin-top: 1em;
diff --git a/resources/screen-mobile.less b/resources/screen-mobile.less
index 543dd90..07db1a7 100644
--- a/resources/screen-mobile.less
+++ b/resources/screen-mobile.less
@@ -23,6 +23,9 @@
 #content {
        overflow: auto;
 }
+#p-personal-extra {
+       margin: 1em 1.25em 0 1em;
+}
 
 /* Full-width search */
 #header-container #p-search {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I889f2dbb15d0a9f601d5210dd13f95c24d9a9adf
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/skins/GreyStuff
Gerrit-Branch: master
Gerrit-Owner: Isarra <zhoris...@gmail.com>
Gerrit-Reviewer: Isarra <zhoris...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to