Implementación básica de la comprobación con MediaWiki
authorPlatonides <platonides@gmail.com>
Wed, 23 May 2018 22:32:11 +0000 (00:32 +0200)
committerPlatonides <platonides@gmail.com>
Wed, 23 May 2018 22:50:45 +0000 (00:50 +0200)
html/gec.php
html/inscripcion.php

index 7f9622872f0b602671aa79e52817455a6c25b42d..576cf20f99df9b832eb4c7f8dfc0e443271b088a 100644 (file)
@@ -25,3 +25,16 @@ function infogrupo ($G, $DE, $DI, $DP, $DT, $MostrarLoc) {
     }
     return $Info;
 }
+
+function mediawiki_user_info ($dominio, $usuario) {
+    $username = rawurlencode ($usuario);
+    $url = "https://$dominio/w/api.php?action=query&list=users&usprop=blockinfo%7Cgender|registration|emailable|cancreate&ususers=$username&format=json";
+    $curl = curl_init ();
+    curl_setopt ($curl, CURLOPT_URL, $url);
+    curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);
+    curl_setopt ($curl, CURLOPT_HTTPHEADER, ["User-Agent" => "Wikimedia Spain event registration tool"]);
+    $reply = curl_exec ($curl);
+    curl_close ($curl);
+    $reply = json_decode ($reply);
+    return $reply ? $reply->query->users[0] : array();
+}
index 4c9a20297377bf3a0a2d76b665bd58dc8be796ab..978fdb67afb6b70d5f14df95c67bc65b5988658a 100644 (file)
@@ -187,15 +187,15 @@ if (isset($_POST["Confirmado"])) {        # Datos enviados
     $Usuario = ucfirst (strtr ($_POST["Cuenta"], "_", " "));
     if ($Usuario) {
             #Comprobar discrepancia en gender:
-            $D = api ("usuario", $Usuario, $P);
+            $D = mediawiki_user_info ($DP['web'], $Usuario);
             
             if (array_key_exists ("missing", $D)) {
                 $Error[] = $DI["errw"]["cuentanula"];
                 $Extra = $InfoCrear;
-            } elseif ($D["blockedby"]) {
+            } elseif (isset ($D["blockedby"])) {
                 $Error[] = $DI["errw"]["cuentabloqueada"];
                 $Extra = $InfoCrear;
-                file_put_contents ("inscripcion.log", gmdate ("Y-m-d H:i:s") . " * Intento de uso de la cuenta bloqueada {$U}\n", FILE_APPEND);
+                file_put_contents ("inscripcion.log", gmdate ("Y-m-d H:i:s") . " * Intento de uso de la cuenta bloqueada {$Usuario}\n", FILE_APPEND);
             }
     }