diff --git a/Connected.php b/Connected.php deleted file mode 100644 index 259b650ab85cf586cf64376611c6de1645a893f7..0000000000000000000000000000000000000000 --- a/Connected.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Connected - * - * @license GPL - * @package Connected - * @link https://gitlab.liris.cnrs.fr/mloiseau/mw_connected - * - **/ - $wgExtensionMessagesFiles['Connected'] = __DIR__ . '/Connected.i18n.magic.php'; - - $wgHooks['ParserGetVariableValueSwitch'][] = 'wfConnectedAssignValue'; - function wfConnectedAssignValue( &$parser, &$cache, &$magicWordId, &$ret ) { - global $wgUser; - $result = false; - if($wgUser->isSafeToLoad()){ - if ( !$wgUser->isLoggedIn() ) { - switch($magicWordId){ - case 'connected' : - $ret = 0; - $result = true; - break; - case 'u_name': - $ret = $wgUser->getName(); - $result = true; - break; - } - } - else{ - switch($magicWordId){ - case 'connected' : - $ret = 1; - $result = true; - break; - case 'u_name': - $ret = $wgUser->getName(); - $result = true; - break; - } - } - } - return $result; -} - -$wgExtensionCredits['variable'][] = [ - 'name' => 'Connected', - 'author' => 'Mathieu Loiseau', - 'version' => '0', - 'description' => 'A small mediawiki extension to have a variable to know if the user is logged in or not.', - 'url' => 'https://gitlab.liris.cnrs.fr/mloiseau/mw_connected', - ]; - - $wgHooks['MagicWordwgVariableIDs'][] = 'connectedMyDeclareVarIds'; - function connectedMyDeclareVarIds( &$customVariableIds ) { - // $customVariableIds is where MediaWiki wants to store its list of custom - // variable IDs. We oblige by adding ours: - $customVariableIds[] = 'connected'; - $customVariableIds[] = 'u_name'; - } diff --git a/extension.json b/extension.json new file mode 100644 index 0000000000000000000000000000000000000000..522a75b066e18e66d4ce23512db1707f64be494f --- /dev/null +++ b/extension.json @@ -0,0 +1,19 @@ +{ + "name": "Connected", + "author": "Mathieu Loiseau", + "version": "0.0", + "url": "https://gitlab.liris.cnrs.fr/mloiseau/mw_connected", + "descriptionmsg": "A small mediawiki extension to have a variable to know if the user is logged in or not.", + "license-name": "GPL-2.0-or-later", + "type": "parserhook", + "AutoloadClasses": { + "ExampleExtensionHooks": "src/Connected.php" + }, + "ExtensionMessagesFiles": { + "ExampleExtensionMagic": "Connected.i18n.magic.php" + }, + "Hooks": { + "ParserGetVariableValueSwitch": "ConnectedHooks::onParserFirstCallInit" + }, + "manifest_version": 1 +} diff --git a/src/Connected.php b/src/Connected.php new file mode 100644 index 0000000000000000000000000000000000000000..5a6cdaf2db137f85857487acdc5708ea30a03396 --- /dev/null +++ b/src/Connected.php @@ -0,0 +1,51 @@ +<?php +/** + * Connected + * + * @license GPL + * @package Connected + * @link https://gitlab.liris.cnrs.fr/mloiseau/mw_connected + * + **/ +$wgExtensionMessagesFiles['Connected'] = __DIR__ . '/Connected.i18n.magic.php'; + +$wgHooks['ParserGetVariableValueSwitch'][] = 'wfConnectedAssignValue'; +function wfConnectedAssignValue( &$parser, &$cache, &$magicWordId, &$ret ) { + global $wgUser; + $result = false; + if($wgUser->isSafeToLoad()){ + if ( !$wgUser->isLoggedIn() ) { + switch($magicWordId){ + case 'connected' : + $ret = 0; + $result = true; + break; + case 'u_name': + $ret = $wgUser->getName(); + $result = true; + break; + } + } + else{ + switch($magicWordId){ + case 'connected' : + $ret = 1; + $result = true; + break; + case 'u_name': + $ret = $wgUser->getName(); + $result = true; + break; + } + } + } + return $result; +} + +$wgHooks['MagicWordwgVariableIDs'][] = 'connectedMyDeclareVarIds'; +function connectedMyDeclareVarIds( &$customVariableIds ) { + // $customVariableIds is where MediaWiki wants to store its list of custom + // variable IDs. We oblige by adding ours: + $customVariableIds[] = 'connected'; + $customVariableIds[] = 'u_name'; +}