com web/people: Use the cached() function and remove some code: include/karma.php
| From: | Hannes Magnusson | Date: | Mon, 30 Dec 2013 04:40:30 +0000 |
| Subject: | com web/people: Use the cached() function and remove some code: include/karma.php | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-17907@lists.php.net to get a copy of this message | ||
Commit: 6e9e1f30d24695315c2b08e20a040d0fb8b6974d
Author: Hannes Magnusson <bjori@mongodb.com> Sun, 29 Dec 2013 20:40:30 -0800
Parents: 4de9826286ae8378c26f788fec1f646702295f7a
Branches: master
Link: http://git.php.net/?p=web/people.git;a=commitdiff;h=6e9e1f30d24695315c2b08e20a040d0fb8b6974d
Log:
Use the cached() function and remove some code
Changed paths:
M include/karma.php
Diff:
diff --git a/include/karma.php b/include/karma.php
index ac28b46..385f19a 100644
--- a/include/karma.php
+++ b/include/karma.php
@@ -1,13 +1,12 @@
<?php
-define("KARMA_FILE", sys_get_temp_dir() . "/karma.txt");
function findKarma($username)
{
- refreshStaleKarma();
- $karma = json_decode(file_get_contents(KARMA_FILE), true);
+ $karma = fetchKarma();
if ($karma === FALSE) {
return false;
}
+
$mykarma = $karma[$username];
$retval = array(
"avail" => explode(PATH_SEPARATOR, $mykarma["avail"]),
@@ -16,34 +15,11 @@ function findKarma($username)
return $retval;
}
-function refreshStaleKarma()
-{
- $karma_updated = filemtime(KARMA_FILE);
- $timezone = timezone_open("UTC");
- $is_expired = (date_create("@$karma_updated", $timezone) < date_create("1
day ago", $timezone));
- if ($is_expired) {
- $karma = fetchKarma();
- file_put_contents(KARMA_FILE, json_encode($karma));
- }
-}
-
function fetchKarma()
{
$ctx = stream_context_create(array("http" => array("ignore_errors" =>
true)));
- $retval = @file_get_contents("https://svn.php.net/repository/SVNROOT/global_avail",
false, $ctx);
- if (!$retval) {
- if (isset($http_response_header) && $http_response_header) {
- list($protocol, $errcode, $errmsg) = explode(" ", $http_response_header[0],
3);
- } else {
- $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);
- }
- $karma = parseKarma(explode("\n", $retval));
+ $content = cached("https://svn.php.net/repository/SVNROOT/global_avail",
false, $ctx);
+ $karma = parseKarma(explode("\n", $content));
return $karma;
}