Commit:    72e7bc7e2e8c1531026dc88c651c7aebd281d954
Author:    Hannes Magnusson <[email protected]>         Sun, 29 Dec 2013 
21:02:52 -0800
Parents:   6e9e1f30d24695315c2b08e20a040d0fb8b6974d
Branches:  master

Link:       
http://git.php.net/?p=web/people.git;a=commitdiff;h=72e7bc7e2e8c1531026dc88c651c7aebd281d954

Log:
Fetch all users once and cache it rather then making slow request per user

Changed paths:
  M  include/misc.php


Diff:
diff --git a/include/misc.php b/include/misc.php
index 8d5e970..49825f4 100644
--- a/include/misc.php
+++ b/include/misc.php
@@ -24,15 +24,8 @@ function findPHPUser($username)
     if (!$token) {
         $token = trim(file_get_contents("token"));
     }
-    $retval = cached("https://master.php.net/fetch/user.php?username="; . 
$username . "&token=" . rawurlencode($token), false, $ctx);
-    if (!$retval) {
-        $error   = error_get_last();
-        // Remove the function name, arguments and all that stuff... we 
-        // really only care about whatever comes after the last colon
-        $message = explode(":", $error["message"]);
-        $errmsg  = array_pop($message);
-        error($errmsg);
-    }
+    $url = "https://master.php.net/fetch/allusers.php?token="; . 
rawurlencode($token);
+    $retval = cached($url, false, $ctx);
     $json = json_decode($retval, true);
     if (!is_array($json)) {
         error("Something happend to master");
@@ -40,7 +33,13 @@ function findPHPUser($username)
     if (isset($json["error"])) {
         error($json["error"]);
     }
-    return $json;
+
+    foreach($json as $k) {
+        if ($k["username"] == $username) {
+            return $k;
+        }
+    }
+    error("No such user");
 }
 
 function findGitHubUser($fullname)


--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to