From 818037cd6c4c603f1576557463a302b248db67e3 Mon Sep 17 00:00:00 2001 From: Platonides Date: Thu, 24 May 2018 00:32:11 +0200 Subject: [PATCH] =?utf8?q?Implementaci=C3=B3n=20b=C3=A1sica=20de=20la=20co?= =?utf8?q?mprobaci=C3=B3n=20con=20MediaWiki?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- html/gec.php | 13 +++++++++++++ html/inscripcion.php | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/html/gec.php b/html/gec.php index 7f96228..576cf20 100644 --- a/html/gec.php +++ b/html/gec.php @@ -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(); +} diff --git a/html/inscripcion.php b/html/inscripcion.php index 4c9a202..978fdb6 100644 --- a/html/inscripcion.php +++ b/html/inscripcion.php @@ -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); } } -- 2.30.2