[Mediawiki-l] Conditional page content depending on user is logged in or not
Platonides
Platonides at gmail.com
Sat Oct 6 21:41:12 UTC 2007
Schmid, Wolfgang wrote:
> @Jim
> what you propose is a php based solution but I'm a beginner in php
> programming and I'm looking for a wiki based solution without
> programming own php code if possible.
>
The following code included from LocalSettigns.php would do:
$wgExtensionFunctions[] = 'wfIsLoggedFunctions';
function wfIsLoggedFunctions() {
global $wgParser, $wgExtIsLoggedFunctions;
$wgExtIsLoggedFunctions = new ExtIsLoggedFunctions();
$wgParser->setFunctionHook( 'iflogged', array(
&$wgExtIsLoggedFunctions , 'ifLogged' ) );
$wgParser->setFunctionHook( 'islogged', array(
&$wgExtIsLoggedFunctions , 'isLogged' ) );
}
class wgExtIsLoggedFunctions
{
function ifLogged( &$parser, $then = '', $else = '' )
{
global $wgUser;
$parser->disableCache();
if ($wgUser->isLoggedIn()) {
return $then;
} else {
return $else;
}
}
function isLogged( &$parser, $then = '', $else = '' )
{
global $wgUser;
$parser->disableCache();
return $wgUser->isLoggedIn();
}
}
?>
Usage:
{{#iflogged: Congratulations, you're a registered user.|You're
anonymous. Go to create an account!}}
I also added #islogged to return the raw boolean value.
More information about the MediaWiki-l
mailing list