From f21e1b217a00f0cc162ace0e2f86b5a5d307d23a Mon Sep 17 00:00:00 2001
From: Mathieu Loiseau <mathieu.loiseau@liris.cnrs.fr>
Date: Mon, 9 May 2022 13:28:21 +0200
Subject: [PATCH] Start to reorganize

---
 Connected.php     | 59 -----------------------------------------------
 extension.json    | 19 +++++++++++++++
 src/Connected.php | 51 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 59 deletions(-)
 delete mode 100644 Connected.php
 create mode 100644 extension.json
 create mode 100644 src/Connected.php

diff --git a/Connected.php b/Connected.php
deleted file mode 100644
index 259b650..0000000
--- 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 0000000..522a75b
--- /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 0000000..5a6cdaf
--- /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';
+}
-- 
GitLab