jenkins-bot has submitted this change and it was merged.

Change subject: UserSidebar: New Feature "special" nav tab + wiki wide widget
......................................................................


UserSidebar: New Feature "special" nav tab + wiki wide widget

* #516
* Moved creation of admin navigation tab to UserSidebar extension
* Renamed "wikiadmin" navigation tab to "special" navigation tab
* Added i18n keys
* Added new wiki wide widget
* Used new hook BSUserSidebarSpecialWidgets to add WikiAdmin links
* Added a bunch of wiki wide links
* Added new hook BSUserSidebarSpecialWidgetWikiWideActions
* Removed Special:SpecialPages from admin widget
* Moved Shop link above wfRunHooks, so it can actually be modified
* Added ExtendedStatistics, Review, ResponsobleEditors an WikiAdmin
 specialpages to wiki wide widget

PatchSet4
* Renamed "special" to "global actions"
* Renamed "wiki wide" widget to "global actions" widget

PatchSet5
* Changed sorting from alphabetical to postition numbers

PatchSet6: Implemented Raimonds suggestion

Change-Id: I6f11f4acc944a3ae131b01314a473c656e0afe95
---
M ResponsibleEditors/ResponsibleEditors.class.php
M Review/Review.class.php
M Statistics/Statistics.class.php
M UserSidebar/UserSidebar.class.php
M UserSidebar/i18n/en.json
M UserSidebar/i18n/qqq.json
M WikiAdmin/WikiAdmin.class.php
M WikiAdmin/WikiAdmin.setup.php
M WikiAdmin/i18n/en.json
M WikiAdmin/i18n/qqq.json
10 files changed, 366 insertions(+), 73 deletions(-)

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



diff --git a/ResponsibleEditors/ResponsibleEditors.class.php 
b/ResponsibleEditors/ResponsibleEditors.class.php
index ca8fb41..656a538 100644
--- a/ResponsibleEditors/ResponsibleEditors.class.php
+++ b/ResponsibleEditors/ResponsibleEditors.class.php
@@ -93,6 +93,7 @@
                $this->setHook( 'BSPageAccessAddAdditionalAccessGroups', 
'onPageAccessAddAdditionalAccessGroups' );
                $this->setHook( 'BSDashboardsUserDashboardPortalConfig' );
                $this->setHook( 'BSDashboardsUserDashboardPortalPortlets' );
+               $this->setHook( 'BSUserSidebarGlobalActionsWidgetGlobalActions' 
);
 
                $this->setHook( 'EchoGetDefaultNotifiedUsers' );
 
@@ -433,6 +434,34 @@
        }
 
        /**
+        * Adds Special:ResponsibleEditors link to wiki wide widget
+        * @param UserSidebar $oUserSidebar
+        * @param User $oUser
+        * @param array $aLinks
+        * @param string $sWidgetTitle
+        * @return boolean
+        */
+       public function onBSUserSidebarGlobalActionsWidgetGlobalActions( 
UserSidebar $oUserSidebar, User $oUser, &$aLinks, &$sWidgetTitle ) {
+               $oSpecialResponsibleEditors = SpecialPageFactory::getPage(
+                       'ResponsibleEditors'
+               );
+               if( !$oSpecialResponsibleEditors ) {
+                       return true;
+               }
+               $aLinks[] = array(
+                       'target' => $oSpecialResponsibleEditors->getPageTitle(),
+                       'text' => $oSpecialResponsibleEditors->getDescription(),
+                       'attr' => array(),
+                       'position' => 500,
+                       'permissions' => array(
+                               'read',
+                               'responsibleeditors-viewspecialpage'
+                       ),
+               );
+               return true;
+       }
+
+       /**
         * Adds the "Responsible editors" menu entry in view mode
         * @param SkinTemplate $sktemplate
         * @param array $links
diff --git a/Review/Review.class.php b/Review/Review.class.php
index 55bb847..0436913 100644
--- a/Review/Review.class.php
+++ b/Review/Review.class.php
@@ -87,6 +87,7 @@
                $this->setHook( 'BSStateBarAddSortBodyVars', 
'onStatebarAddSortBodyVars' );
                $this->setHook( 'BSStateBarBeforeTopViewAdd', 
'onStateBarBeforeTopViewAdd' );
                $this->setHook( 'BSStateBarBeforeBodyViewAdd', 
'onStateBarBeforeBodyViewAdd' );
+               $this->setHook( 'BSUserSidebarGlobalActionsWidgetGlobalActions' 
);
                $this->setHook( 'BeforePageDisplay' );
                $this->setHook( 'SkinTemplateOutputPageBeforeExec' );
 
@@ -1129,6 +1130,32 @@
        }
 
        /**
+        * Adds Special:Review link to wiki wide widget
+        * @param UserSidebar $oUserSidebar
+        * @param User $oUser
+        * @param array $aLinks
+        * @param string $sWidgetTitle
+        * @return boolean
+        */
+       public function onBSUserSidebarGlobalActionsWidgetGlobalActions( 
UserSidebar $oUserSidebar, User $oUser, &$aLinks, &$sWidgetTitle ) {
+               $oSpecialReview = SpecialPageFactory::getPage( 'Review' );
+               if( !$oSpecialReview ) {
+                       return true;
+               }
+               $aLinks[] = array(
+                       'target' => $oSpecialReview->getPageTitle(),
+                       'text' => $oSpecialReview->getDescription(),
+                       'attr' => array(),
+                       'position' => 600,
+                       'permissions' => array(
+                               'read',
+                               'workflowview'
+                       ),
+               );
+               return true;
+       }
+
+       /**
         * Adds a info to bs_personal_info
         *
         * @param SkinTemplate $sktemplate
diff --git a/Statistics/Statistics.class.php b/Statistics/Statistics.class.php
index 929aee4..19e3c12 100644
--- a/Statistics/Statistics.class.php
+++ b/Statistics/Statistics.class.php
@@ -89,6 +89,7 @@
                $this->setHook( 'BSDashboardsAdminDashboardPortalPortlets' );
                $this->setHook( 'BSDashboardsUserDashboardPortalConfig' );
                $this->setHook( 'BSDashboardsUserDashboardPortalPortlets' );
+               $this->setHook( 'BSUserSidebarGlobalActionsWidgetGlobalActions' 
);
 
                BsConfig::registerVar( 'MW::Statistics::ExcludeUsers', array( 
'WikiSysop' ), BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_ARRAY_STRING, 
'bs-statistics-pref-excludeusers', 'multiselectplusadd' );
                BsConfig::registerVar( 'MW::Statistics::MaxNumberOfIntervals', 
366, BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_INT, 
'bs-statistics-pref-maxnumberofintervals', 'int' );
@@ -528,4 +529,28 @@
                return true;
        }
 
+       /**
+        * Adds Special:ExtendedStatistic link to wiki wide widget
+        * @param UserSidebar $oUserSidebar
+        * @param User $oUser
+        * @param array $aLinks
+        * @param string $sWidgetTitle
+        * @return boolean
+        */
+       public function onBSUserSidebarGlobalActionsWidgetGlobalActions( 
UserSidebar $oUserSidebar, User $oUser, &$aLinks, &$sWidgetTitle ) {
+               $oSpecialExtendedStatistic = SpecialPageFactory::getPage(
+                       'ExtendedStatistics'
+               );
+               if( !$oSpecialExtendedStatistic ) {
+                       return true;
+               }
+               $aLinks[] = array(
+                       'target' => $oSpecialExtendedStatistic->getPageTitle(),
+                       'text' => $oSpecialExtendedStatistic->getDescription(),
+                       'attr' => array(),
+                       'position' => 700,
+                       'permissions' => array( 'read' ),
+               );
+               return true;
+       }
 }
diff --git a/UserSidebar/UserSidebar.class.php 
b/UserSidebar/UserSidebar.class.php
index 91f2395..ee7a628 100644
--- a/UserSidebar/UserSidebar.class.php
+++ b/UserSidebar/UserSidebar.class.php
@@ -169,6 +169,190 @@
        }
 
        /**
+        * Returns the basic mediawiki links for the global actions widget
+        * @param array $aLinks
+        * @return array
+        */
+       public static function getMediaWikiGlobalActions( $aLinks = array() ) {
+               if( $oSpecialUpload = SpecialPageFactory::getPage( 'Upload' ) ) 
{
+                       $aLinks[] = array(
+                               'target' => $oSpecialUpload->getPageTitle(),
+                               'text' => $oSpecialUpload->getDescription(),
+                               'attr' => array(),
+                               'position' => 100,
+                               'permissions' => array(
+                                       'read',
+                                       'upload'
+                               ),
+                       );
+               }
+
+               if( $oSpecialListFiles = SpecialPageFactory::getPage( 
'ListFiles' ) ) {
+                       $aLinks[] = array(
+                               'target' => $oSpecialListFiles->getPageTitle(),
+                               'text' => $oSpecialListFiles->getDescription(),
+                               'attr' => array(),
+                               'position' => 200,
+                               'permissions' => array( 'read' ),
+                       );
+               }
+
+               if( $oSpecialWatchlist = SpecialPageFactory::getPage( 
'Watchlist' ) ) {
+                       $aLinks[] = array(
+                               'target' => $oSpecialWatchlist->getPageTitle(),
+                               'text' => $oSpecialWatchlist->getDescription(),
+                               'attr' => array(),
+                               'position' => 300,
+                               'permissions' => array(
+                                       'read',
+                                       'viewmywatchlist'
+                               ),
+                       );
+               }
+
+               $oSpecialSpecialPages = SpecialPageFactory::getPage( 
'SpecialPages' );
+               if( $oSpecialSpecialPages ) {
+                       $aLinks[] = array(
+                               'target' => 
$oSpecialSpecialPages->getPageTitle(),
+                               'text' => 
$oSpecialSpecialPages->getDescription(),
+                               'attr' => array(),
+                               'position' => 400,
+                               'permissions' => array( 'read' ),
+                       );
+               }
+
+               return $aLinks;
+       }
+
+       /**
+        * Returns the view for the global actions widget
+        * @param User $oUser
+        * @return \ViewWidget
+        */
+       public function getGlobalActionsWidget( User $oUser, $aLinks = array() 
) {
+               $aLinks = static::getMediaWikiGlobalActions( $aLinks );
+
+               $sWidgetTitle = wfMessage(
+                       'bs-usersidebar-globalactionswidget-title'
+               )->plain();
+
+               Hooks::run( 'BSUserSidebarGlobalActionsWidgetGlobalActions', 
array(
+                       $this,
+                       $oUser,
+                       &$aLinks,
+                       &$sWidgetTitle,
+               ));
+
+               $sBody = "";
+               if( empty($aLinks) ) {
+                       return $sBody;
+               }
+
+               uasort( $aLinks, function( &$e1, &$e2 ) {
+                       if( empty($e1['position']) || !is_int($e1['position']) 
) {
+                               $e1['position'] = 10000;
+                       }
+                       if( empty($e2['position']) || !is_int($e2['position']) 
) {
+                               $e2['position'] = 10000;
+                       }
+                       if( $e1['position'] === $e2['position'] ) {
+                               return 0;
+                       }
+                       return $e1['position'] < $e2['position'] ? -1 : 1;
+               });
+
+               foreach( $aLinks as $aLink ) {
+                       $oTitle = $aLink['target'];
+                       if( !isset($oTitle) || !$oTitle instanceof Title ) {
+                               continue;
+                       }
+                       $b = true;
+                       if( !empty($aLink['permissions']) ) {
+                               foreach( $aLink['permissions'] as $sPermission 
) {
+                                       //UserCan on special pages only works 
for read
+                                       $b = $oTitle->isSpecialPage() && 
$sPermission != 'read'
+                                               ? $oUser->isAllowed( 
$sPermission )
+                                               : $oTitle->userCan( 
$sPermission, $oUser )
+                                       ;
+                                       if( !$b ) {
+                                               break;
+                                       }
+                               }
+                       }
+                       if( !$b ) {
+                               continue;
+                       }
+                       if( !isset($aLink['attr']) || !is_array($aLink['attr']) 
) {
+                               $aLink['attr'] = array();
+                       }
+                       if( empty($aLink['text']) ) {
+                               $aLink['text'] = $oTitle->getText();
+                       }
+
+                       $sBody .= Html::openElement( 'li' )
+                               .Linker::link( $oTitle, $aLink['text'], 
$aLink['attr'] )
+                               .Html::closeElement( 'li' )
+                               ."\n"
+                       ;
+               }
+
+               $sBody = Html::openElement( 'ul' )
+                       .$sBody
+                       .Html::closeElement( 'ul' )
+               ;
+
+               $oWidgetView = new ViewWidget();
+               return $oWidgetView
+                       ->setBody( $sBody )
+                       ->setTitle( $sWidgetTitle )
+                       ->setAdditionalBodyClasses( array( 'bs-nav-links' ) )
+               ;
+       }
+
+       /**
+        * Returns the widgets for the global actions tab
+        * @param User $oUser The current MediaWiki User object
+        * @param array $aViews of WidgetView objects
+        * @return array of WidgetView objects
+        */
+       private function getGlobalActionsWidgets( User $oUser, $aViews = 
array() ) {
+               //Each user needs a separate cache due to differences in 
permissions
+               //etc.
+               $sContext = $oUser->isLoggedIn()
+                       ? $oUser->getName()
+                       : 'default'
+               ;
+               $sKey = BsCacheHelper::getCacheKey(
+                       'BlueSpice',
+                       'GlobalActionsWidgets',
+                       $sContext
+               );
+               $aData = BsCacheHelper::get( $sKey );
+
+               if( $aData !== false ) {
+                       wfDebugLog(
+                               'UserSidebar',
+                               __CLASS__.': Fetching GlobalActionsWidgets 
views from cache'
+                       );
+                       return $aData;
+               }
+               wfDebugLog(
+                       'UserSidebar',
+                       __CLASS__.': Fetching GlobalActionsWidgets views from 
DB'
+               );
+
+               $aViews[] = $this->getGlobalActionsWidget( $oUser );
+               Hooks::run( 'BSUserSidebarGlobalActionsWidgets', array(
+                       &$aViews,
+                       $oUser,
+               ));
+
+               //Max cache time 24h
+               BsCacheHelper::set( $sKey , $aViews, 60*1440 );
+               return $aViews;
+       }
+
+       /**
         * Fires event if user is not logged in or UserSidebar Article does not 
exist.
         * @param array $aViews of WidgetView objects
         * @param User $oUser The current MediaWiki User object
@@ -210,34 +394,31 @@
                $aViews = array();
                $oCurrentTitle = $sktemplate->getTitle();
                $sEditLink = '';
-               if ( $oUser->isLoggedIn() === false ) {
-                       $this->getDefaultWidgets( $aViews, $oUser, 
$oCurrentTitle );
-               } else {
-                       $oTitle = Title::makeTitle( NS_USER, 
$oUser->getName().'/Sidebar' );
 
-                       $sEditLink = Linker::link(
-                               $oTitle,
-                               '',
-                               array(
-                                       'id' => 'bs-usersidebar-edit',
-                                       'class' => 'icon-pencil'
-                               ),
-                               array(
-                                       'action' => 'edit',
-                                       'preload' => ''
-                               )
-                       );
+               $oTitle = Title::makeTitle( NS_USER, 
$oUser->getName().'/Sidebar' );
 
-                       if ( $oTitle->exists() === false ) {
+               $sEditLink = Linker::link(
+                       $oTitle,
+                       '',
+                       array(
+                               'id' => 'bs-usersidebar-edit',
+                               'class' => 'icon-pencil'
+                       ),
+                       array(
+                               'action' => 'edit',
+                               'preload' => ''
+                       )
+               );
+
+               if ( $oTitle->exists() === false ) {
+                       $this->getDefaultWidgets( $aViews, $oUser, $oTitle );
+               }else {
+                       $aWidgets = BsWidgetListHelper::getInstanceForTitle( 
$oTitle )->getWidgets();
+                       if ( empty($aWidgets) ) {
                                $this->getDefaultWidgets( $aViews, $oUser, 
$oTitle );
-                       }else {
-                               $aWidgets = 
BsWidgetListHelper::getInstanceForTitle( $oTitle )->getWidgets();
-                               if ( empty($aWidgets) ) {
-                                       $this->getDefaultWidgets( $aViews, 
$oUser, $oTitle );
-                               }
-
-                               $aViews = array_merge( $aViews, $aWidgets );
                        }
+
+                       $aViews = array_merge( $aViews, $aWidgets );
                }
                $aOut = array();
                $aOut[] = $sEditLink;
@@ -247,15 +428,36 @@
                        }
                }
 
+               $sMsg = wfMessage( 'bs-usersidebar-tab-focus' )->plain();
                if ( $tpl instanceof BsBaseTemplate ) {
                        $tpl->data['bs_navigation_main']['bs-usersidebar'] = 
array(
                                'position' => 20,
-                               'label' => wfMessage( 'bs-tab_focus' )->plain(),
+                               'label' => $sMsg,
                                'class' => 'icon-clipboard',
                                'content' => implode( "\n", $aOut )
                        );
                } else {
-                       $tpl->data['sidebar'][wfMessage( 'bs-tab_focus' 
)->plain()] = implode( "\n", $aOut );
+                       $tpl->data['sidebar'][$sMsg] = implode( "\n", $aOut );
+               }
+
+               $aOut = array();
+               $aViews = $this->getGlobalActionsWidgets( $oUser );
+               foreach ( $aViews as $oView ) {
+                       if ( $oView instanceof ViewBaseElement ) {
+                               $aOut[] = $oView->execute();
+                       }
+               }
+
+               $sMsg = wfMessage( 'bs-usersidebar-tab-globalactions' 
)->plain();
+               if ( $tpl instanceof BsBaseTemplate ) {
+                       $tpl->data['bs_navigation_main']['bs-globalactions'] = 
array(
+                               'position' => 100,
+                               'label' => $sMsg,
+                               'class' => 'icon-cog',
+                               'content' => implode( "\n", $aOut )
+                       );
+               } else {
+                       $tpl->data['sidebar'][$sMsg] = implode( "\n", $aOut );
                }
 
                return true;
diff --git a/UserSidebar/i18n/en.json b/UserSidebar/i18n/en.json
index d5677e9..d9c492e 100644
--- a/UserSidebar/i18n/en.json
+++ b/UserSidebar/i18n/en.json
@@ -7,5 +7,8 @@
        "bs-usersidebar-desc": "Adds the focus tab to sidebar",
        "prefs-usersidebar": "User sidebar",
        "bs-usersidebar-userpagesettings-link-title": "Edit the content of your 
focus",
-       "bs-usersidebar-userpagesettings-link-text": "{{GENDER:|Edit}} focus"
+       "bs-usersidebar-userpagesettings-link-text": "{{GENDER:|Edit}} focus",
+       "bs-usersidebar-tab-focus": "Focus",
+       "bs-usersidebar-tab-globalactions": "Global actions",
+       "bs-usersidebar-globalactionswidget-title": "Global actions"
 }
diff --git a/UserSidebar/i18n/qqq.json b/UserSidebar/i18n/qqq.json
index beb20f6..337489d 100644
--- a/UserSidebar/i18n/qqq.json
+++ b/UserSidebar/i18n/qqq.json
@@ -8,5 +8,8 @@
        "bs-usersidebar-desc": "Used in 
[{{canonicalurl:Special:WikiAdmin|mode=ExtensionInfo}} 
Special:WikiAdmin?mode=ExtensionInfo], description of user sidebar extension",
        "prefs-usersidebar": "Used in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], headline for user sidebar section in 
preferences.",
        "bs-usersidebar-userpagesettings-link-title": "Image title for edit the 
content of your focus",
-       "bs-usersidebar-userpagesettings-link-text": "Anchor text for 
{{GENDER:|edit}} focus"
+       "bs-usersidebar-userpagesettings-link-text": "Anchor text for 
{{GENDER:|edit}} focus",
+       "bs-usersidebar-tab-focus": "Label for \"focus\" tab in left 
sidebar\n{{Identical|Focus}}",
+       "bs-usersidebar-tab-globalactions": "Label for \"admin\" tab in left 
sidebar\n{{Identical|Admin}}",
+       "bs-usersidebar-globalactionswidget-title": "Widget headline for global 
actions\n"
 }
diff --git a/WikiAdmin/WikiAdmin.class.php b/WikiAdmin/WikiAdmin.class.php
index d40c105..58035f0 100644
--- a/WikiAdmin/WikiAdmin.class.php
+++ b/WikiAdmin/WikiAdmin.class.php
@@ -179,17 +179,20 @@
                self::$prLoadModulesAndScripts = true;
                $this->mCore->registerPermission( 'wikiadmin', array( 'sysop' 
), array( 'type' => 'global' ) );
 
+               $this->setHook( 'BSUserSidebarGlobalActionsWidgets' );
+               $this->setHook( 'BSUserSidebarGlobalActionsWidgetGlobalActions' 
);
+
                wfProfileOut( 'BS::'.__METHOD__ );
        }
 
        /**
         * Adds WikiAdmin tab to main navigation
-        * @param SkinTemplate $sktemplate
-        * @param BaseTemplate $tpl
-        * @return boolean Always true to keep hook running
+        * @param array $aViews
+        * @param User $oUser
+        * @return boolean
         */
-       public static function onSkinTemplateOutputPageBeforeExec( 
&$sktemplate, &$tpl ) {
-               if( $sktemplate->getUser()->isAllowed( 'wikiadmin' ) === false 
) {
+       public function onBSUserSidebarGlobalActionsWidgets( &$aViews, User 
$oUser ) {
+               if( !$oUser->isAllowed('wikiadmin') ) {
                        return true;
                }
 
@@ -197,9 +200,6 @@
                $aRegisteredModules = WikiAdmin::getRegisteredModules();
 
                $aOutSortable = array();
-               $aOut = array();
-               $aOut[] = '<ul>';
-
                foreach ( $aRegisteredModules as $sModuleKey => $aModulParams ) 
{
                        $skeyLower = mb_strtolower( $sModuleKey );
                        $sModulLabel = wfMessage( 'bs-' . $skeyLower . '-label' 
)->plain();
@@ -217,26 +217,48 @@
                        $aOutSortable[$sModulLabel] = '<li>'.$sLink.'</li>';
                }
 
+               $aOutSortable['Shop'] = self::getShopListItem();
+
                // Allow other extensions to add to the admin menu
                Hooks::run( 'BSWikiAdminMenuItems', array ( &$aOutSortable ) );
 
-               $aOutSortable['Shop'] = self::getShopListItem();
-               $aOutSortable['SpecialPages'] = 
self::getMediaWikiSpecialPageItem();
-
                ksort( $aOutSortable );
-               $aOut[] = implode( "\n", $aOutSortable );
-               $aOut[] = '</ul>';
 
-               if ( $tpl instanceof BsBaseTemplate ) {
-                       $tpl->data['bs_navigation_main']['bs-wikiadmin'] = 
array(
-                               'position' => 100,
-                               'label' => wfMessage( 'bs-tab_admin' )->plain(),
-                               'class' => 'icon-cog',
-                               'content' => implode( "\n", $aOut )
-                       );
-               } else {
-                       $tpl->data['sidebar'][wfMessage( 'bs-tab_admin' 
)->plain()] = implode( "\n", $aOut );
+               $sBody = implode( "\n", $aOutSortable );
+               $oWidgetView = new ViewWidget();
+               $oWidgetView
+                       ->setAdditionalBodyClasses( array( 'bs-nav-links' ) )
+                       ->setTitle( wfMessage( 'bs-wikiadmin-widget-title' 
)->plain() )
+                       ->setBody( "<ul>$sBody</ul>" )
+               ;
+
+               $aViews[] = $oWidgetView;
+               return true;
+       }
+
+       /**
+        * Adds Special:WikiAdmin link to wiki wide widget
+        * @param UserSidebar $oUserSidebar
+        * @param User $oUser
+        * @param array $aLinks
+        * @param string $sWidgetTitle
+        * @return boolean
+        */
+       public function onBSUserSidebarGlobalActionsWidgetGlobalActions( 
UserSidebar $oUserSidebar, User $oUser, &$aLinks, &$sWidgetTitle ) {
+               $oSpecialWikiAdmin = SpecialPageFactory::getPage( 'WikiAdmin' );
+               if( !$oSpecialWikiAdmin ) {
+                       return true;
                }
+               $aLinks[] = array(
+                       'target' => $oSpecialWikiAdmin->getPageTitle(),
+                       'text' => $oSpecialWikiAdmin->getDescription(),
+                       'attr' => array(),
+                       'position' => 800,
+                       'permissions' => array(
+                               'read',
+                               'wikiadmin'
+                       ),
+               );
                return true;
        }
 
@@ -256,22 +278,4 @@
                );
                return '<li>'.$sLink.'</li>';
        }
-
-       /**
-        * Returns a list item, which links to MediaWiki Specialpages
-        * @return string $sLink to Mediawiki SpecialPages
-        */
-       private static function getMediaWikiSpecialPageItem() {
-               $sLink = Html::element(
-                                       'a',
-                                       array(
-                                               'id' => 
'bs-admin-mediawiki-specialpages',
-                                               'href' => 
SpecialPage::getTitleFor('Specialpages')->getLocalURL(),
-                                               'title' => wfmessage( 
'bs-wikiadmin-mediawiki-specialpages-title' )->escaped()
-                                       ),
-                                       wfMessage( 
'bs-wikiadmin-mediawiki-specialpages-text' )->escaped()
-               );
-               return '<li>'.$sLink.'</li>';
-       }
-
 }
diff --git a/WikiAdmin/WikiAdmin.setup.php b/WikiAdmin/WikiAdmin.setup.php
index 7bce210..22ce937 100644
--- a/WikiAdmin/WikiAdmin.setup.php
+++ b/WikiAdmin/WikiAdmin.setup.php
@@ -13,6 +13,4 @@
 // Specialpage and messages
 $wgAutoloadClasses['SpecialWikiAdmin'] = __DIR__ . 
'/includes/specials/SpecialWikiAdmin.class.php';
 $wgExtensionMessagesFiles['WikiAdminAlias'] = __DIR__ . 
'/includes/specials/SpecialWikiAdmin.alias.php';
-$wgSpecialPages['WikiAdmin'] = 'SpecialWikiAdmin';
-
-$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 
'WikiAdmin::onSkinTemplateOutputPageBeforeExec';
\ No newline at end of file
+$wgSpecialPages['WikiAdmin'] = 'SpecialWikiAdmin';
\ No newline at end of file
diff --git a/WikiAdmin/i18n/en.json b/WikiAdmin/i18n/en.json
index 2f4d0cf..ddd2d75 100644
--- a/WikiAdmin/i18n/en.json
+++ b/WikiAdmin/i18n/en.json
@@ -11,5 +11,6 @@
        "right-wikiadmin": "Display BlueSpice administration pages",
        "bs-wikiadmin-shop": "Shop",
        "bs-wikiadmin-mediawiki-specialpages-text": "Special pages",
-       "bs-wikiadmin-mediawiki-specialpages-title": "Lists all MediaWiki 
special pages"
+       "bs-wikiadmin-mediawiki-specialpages-title": "Lists all MediaWiki 
special pages",
+       "bs-wikiadmin-widget-title": "Administration"
 }
diff --git a/WikiAdmin/i18n/qqq.json b/WikiAdmin/i18n/qqq.json
index ea0f7c1..489bb65 100644
--- a/WikiAdmin/i18n/qqq.json
+++ b/WikiAdmin/i18n/qqq.json
@@ -13,5 +13,6 @@
        "right-wikiadmin": "{{doc-right|wikiadmin}}",
        "bs-wikiadmin-shop": "Anchor text and title for 
Shop\n{{Identical|Shop}}",
        "bs-wikiadmin-mediawiki-specialpages-text": "Text of a link to 
MediaWiki SpecialPages on admin navigation\n{{Identical|Anchor MW 
SpecialPages}}",
-       "bs-wikiadmin-mediawiki-specialpages-title": "Title for a link to 
MediaWiki SpecialPages on admin navigation\n{{Identical|Special page}}"
+       "bs-wikiadmin-mediawiki-specialpages-title": "Title for a link to 
MediaWiki SpecialPages on admin navigation\n{{Identical|Special page}}",
+       "bs-wikiadmin-widget-title": "Widget headline for WikiAdmin\n 
{{Identical|Admin}}"
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6f11f4acc944a3ae131b01314a473c656e0afe95
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Pwirth <[email protected]>
Gerrit-Reviewer: Dvogel hallowelt <[email protected]>
Gerrit-Reviewer: Ljonka <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Pwirth <[email protected]>
Gerrit-Reviewer: Raimond Spekking <[email protected]>
Gerrit-Reviewer: Robert Vogel <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to