Extension:SysSidebar
<translate> This extension stores its source code on a wiki page.</translate> <translate> Please be aware that this code may be unreviewed or maliciously altered.</translate> <translate> They may contain security holes, outdated interfaces that are no longer compatible etc.</translate> <translate> Note:</translate> <translate> No [[<tvar name=localisation>Special:MyLanguage/Localisation#Translation resources</tvar>|localisation]] updates are provided for this extension by <tvar name=twn>translatewiki.net </tvar>.</translate> |
<translate> This extension is currently not actively maintained!</translate> <translate> Although it may still work, any bug reports or feature requests will more than likely be ignored.</translate> |
SysSidebar Release status: unmaintained |
|
---|---|
Implementation | Skin |
Description | Makes "Recent changes" on the sidebar link to unpatrolled edits, for sysops |
Author(s) | יוסף שמחtalk |
Latest version | 1.2 (2009-08-30) |
MediaWiki | 1.15.0+ |
PHP | 5.3.0+ |
License | GPL |
Download | Code here |
$wgSsbAdd, $wgSsbAddTxt, $wgSsbSection |
|
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Slight modification of Sidebar . For sysops only - makes "Recent changes" link to recent changes list of unpatrolled edits. Easier control and access to managing edits and patrolling them.
Usage
Log in as sysop, and click on the link :)
Download instructions
Please cut and paste the code found below and place it in $IP/extensions/SysSidebar/SysSidebar.php
. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php .
Installation
To install this extension, add the following to LocalSettings.php :
require_once("$IP/extensions/SysSidebar/SysSidebar.php");
Configuration
Note: all parameters are optional. Extension works also if you don't set any of them.
$wgSsbAdd: If you would like the Unpatrolled Edits link added to the navigation box, not coming instead of regular Recent changes, set this to true in LocalSettings.php
Default setting: false
$wgSsbAddTxt: If you set $wgSsbAddTxt to true, this optional parameter sets the text for the new link added. Set in LocalSettings.php
Default setting: "Unpatrolled Edits"
$wgSsbSection: Which section the "Recent changes" link is in, or should be added to. Set in LocalSettings.php
Note: If link is not found in section the link will be added - even if $wgSsbAdd is set to false. In such a case link will be added according to $wgSsbAddTxt rules as written above, and in section specified (if none specified and it doesn't exist in neither navigation nor site the link will be created in navigation).
Default setting: navigation (detects "site" too)
Code
<?php
# Alert the user that this is not a valid entry point to MediaWiki if they try to access the special pages file directly.
if (!defined('MEDIAWIKI')) {
exit( 1 );
}
/* Future functionality - internationalization
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['sysSidebar'] = $dir . 'sysSidebar.i18n.php';
*/
$wgExtensionFunctions[] = 'wfSysopSB';
$wgExtensionCredits['other'][] = array(
'name' => "SysSidebar",
'description' => "Sidebar for sysops - recent changes automatically refers to recent change list of unpatrolled edits",
'version' => '1.2',
'author' => "Happy Joe",
'url' => "http://www.mediawiki.org/wiki/Extension:SysSidebar",
);
$wgHooks['SkinBuildSidebar'][] = 'wfSysopSB';
function wfSysopSB( $skin, &$bar )
{
global $wgUser, $wgSsbAdd, $wgSsbAddTxt, $wgSsbSection;
//Checking which bar section is wanted or availible
if ($wgSsbSection)
$ssbBar = &$bar[$wgSsbSection];
else
{
if (isset($bar['site']))
$ssbBar = &$bar['site'];
else
$ssbBar = &$bar['navigation'];
}
if ($wgUser->isAllowed('patrol'))
{
$ssbUrl = Title::makeTitle(NS_SPECIAL, 'RecentChanges')->getLocalUrl() . '&hidepatrolled=1';
if ($wgSsbAdd) //If set to true - adding new link
{
if ($wgSsbAddTxt)
$ssbBar[] = array(text => $wgSsbAddTxt, href => $ssbUrl, id => 'n-sysSidebarUP', active => '');
else
$ssbBar[] = array(text => 'Unpatrolled Edits', href => $ssbUrl, id => 'n-sysSidebarUP', active => '');
}
else // Modifying existing link
{
$ssbKey = -1;
foreach($ssbBar as $key => $nav) //Searching for existing link
{
if ($nav['id'] == 'n-recentchanges')
$ssbKey = $key;
}
if ($ssbKey != -1) //Modifying existing link
$ssbBar[$ssbKey]['href'] = $ssbUrl;
else //Default link not found. Adding link.
{
if ($wgSsbAddTxt)
$ssbBar[] = array(text => $wgSsbAddTxt, href => $ssbUrl, id => 'n-sysSidebar', active => '');
else
$ssbBar[] = array(text => 'Unpatrolled Edits', href => $ssbUrl, id => 'n-sysSidebar', active => '');
}
}
}
return true;
}
- Pages with script errors
- Pages with broken file links
- Extensions which host their code in-wiki
- Unmaintained extensions
- Extensions without an image
- Skin extensions
- Extensions without a compatibility policy
- Extensions with manual MediaWiki version
- Extensions with unknown license
- SkinBuildSidebar extensions
- All extensions
- Extensions not in ExtensionJson
- Recent Changes extensions
- Menu extensions