Difference between revisions of "Extension:NoViewSource.php"
From Organic Design wiki
(voodoo) |
m (legacy, formatting) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{legacy}} | ||
+ | {{voodoo}} | ||
+ | <source lang="php"> | ||
<?php | <?php | ||
− | # Extension:NoViewSource | + | # Extension:NoViewSource |
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | # - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | ||
# - Author: [http://www.organicdesign.co.nz/nad User:Nad]{{Category:Extensions created with Template:Extension}} | # - Author: [http://www.organicdesign.co.nz/nad User:Nad]{{Category:Extensions created with Template:Extension}} | ||
Line 42: | Line 45: | ||
return true; | return true; | ||
} | } | ||
+ | </source> | ||
+ | [[Category:Extensions|NoViewSource]] |
Latest revision as of 14:57, 31 October 2016
<?php
# Extension:NoViewSource
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
# - Author: [http://www.organicdesign.co.nz/nad User:Nad]{{Category:Extensions created with Template:Extension}}
# - Started: 2007-12-16
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('NOVIEWSOURCE_VERSION','1.0.2, 2007-12-18');
$wgExtensionFunctions[] = 'wfSetupNoViewSource';
$wgExtensionCredits['other'][] = array(
'name' => 'NoViewSource',
'author' => '[http://www.organicdesign.co.nz/nad User:Nad]',
'description' => 'Replaces the "view source" action with "edit" which links to login page.',
'url' => 'http://www.organicdesign.co.nz/Extension:NoViewSource.php',
'version' => NOVIEWSOURCE_VERSION
);
function wfSetupNoViewSource() {
global $wgHooks,$wgOut,$wgUser;
if ($wgUser->isLoggedIn()) return;
$wgHooks['SkinTemplateTabs'][] = 'wfNoViewSourceUpdateActions';
# Create a new OutputPage class (Out2) which has its readOnlyPage (view source) method replaced with loginToUse
class Out2 extends OutputPage {
public function readOnlyPage( $source = null, $protected = false, $reasons = array() ) {
parent::loginToUse();
}
}
# Replace $wgOut with a sub-classed replica
$oldOut = $wgOut;
$wgOut = new Out2();
$vars = get_class_vars('oldOut');
if (is_array($vars)) foreach (array_keys($vars) as $k) $wgOut->$k = $oldOut->$k;
}
function wfNoViewSourceUpdateActions(&$skin,&$actions) {
if (isset($actions['viewsource'])) $actions['viewsource']['text'] = wfMsg('edit');
return true;
}