diff --git a/Connected.i18n.magic.php b/Connected.i18n.magic.php index 8f75fd63a2a2cd4a575024c42be42f784137a8d9..4d5f911ced5cdb91b82f694ab123f511c0c48835 100755 --- a/Connected.i18n.magic.php +++ b/Connected.i18n.magic.php @@ -2,7 +2,7 @@ $magicWords = []; $magicWords['en'] = [ - /*'connected' => [1, 'LOGGEDIN'], - 'u_name' => [1, 'USERNAME'],*/ + 'connected' => [1, 'LOGGEDIN'], + 'u_name' => [1, 'USERNAME'], 'iflogged' => [0, 'ifloggedin'] ]; diff --git a/extension.json b/extension.json index 2ad3010a03af69f478b81e208e193191aa886f92..197fc306b15417f3b26b4af7b1514bda9563a85e 100644 --- a/extension.json +++ b/extension.json @@ -13,7 +13,9 @@ "ExampleExtensionMagic": "Connected.i18n.magic.php" }, "Hooks": { - "ParserFirstCallInit": "ConnectedHooks::onParserFirstCallInit" + "ParserFirstCallInit": "ConnectedHooks::onParserFirstCallInit", + "ParserGetVariableValueSwitch": "ConnectedHooks::wfConnectedAssignValue", + "MagicWordwgVariableIDs": "ConnectedHooks::connectedDeclareVarIds" }, "manifest_version": 1 } diff --git a/src/Connected.php b/src/Connected.php index 408d3f1a8c4227ebe2e3efb8e4d184b2e788600c..9cd1de7b631c97cfb8bab38d6d865f96b1c2bb23 100755 --- a/src/Connected.php +++ b/src/Connected.php @@ -10,12 +10,11 @@ class ConnectedHooks { // Register any render callbacks with the parser public static function onParserFirstCallInit( Parser $parser ) { - // Create a function hook associating the "example" magic word with renderExample() $parser->setFunctionHook( 'iflogged', [ self::class, 'ifConnectedRender' ] ); } - // Render the output of {{#example:}}. + // Render the output of {{#ifloggedin:}} i.e. iflogged function. public static function ifConnectedRender( Parser $parser, $ifLoggedIn = '', $ifNot = '') { // The input parameters are wikitext with templates expanded. // The output should be wikitext too. @@ -30,47 +29,43 @@ class ConnectedHooks { } return [ $output, 'noparse' => false ]; } -} -/* Removed Hooks -, -"ParserGetVariableValueSwitch": "ConnectedHooks::onParserFirstCallInit", -"MagicWordwgVariableIDs": "ConnectedHooks::connectedDeclareVarIds" - public static function wfConnectedAssignValue( Parser $parser, &$cache, &$magicWordId, &$ret ) { + //calcul des variables + public static function wfConnectedAssignValue( Parser $parser, &$cache, $magicWordId, &$ret, $frame) { global $wgUser; $result = false; if($wgUser->isSafeToLoad()){ - if ( !$wgUser->isLoggedIn() ) { - switch($magicWordId){ - case 'connected' : + switch($magicWordId){ + case 'connected' : + if ( !$wgUser->isLoggedIn() ) { $ret = 0; $result = true; - break; - case 'u_name': - $ret = $wgUser->getName(); - $result = true; - break; - } - } - else{ - switch($magicWordId){ - case 'connected' : + } + else{ $ret = 1; $result = true; - break; - case 'u_name': + } + break; + case 'u_name': + if ( !$wgUser->isLoggedIn() ) { + $ret = $wgUser->getName(); + $result = true; + } + else{ $ret = $wgUser->getName(); $result = true; - break; - } + } + break; } } return $result; } - function connectedDeclareVarIds( &$customVariableIds ) { + //mettre à jour la liste de variables + public static function connectedDeclareVarIds( &$customVariableIds ) { // $customVariableIds is where MediaWiki wants to store its list of custom // variable IDs. We oblige by adding ours: $customVariableIds[] = 'connected'; $customVariableIds[] = 'u_name'; - }*/ + } +}