// 0.1 will check about 10% of hits, etc.
public $frequency = 1.0;
- function onArgsInitialize($args)
+ function onArgsInitialize(array &$args)
{
if (isset($args['action'])) {
$action = strtolower($args['action']);
$etag = empty($_SERVER['HTTP_IF_MATCH']) ? 'no' : 'yes';
$last = empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? 'no' : 'yes';
$auth = empty($_SERVER['HTTP_AUTHORIZATION']) ? 'no' : 'yes';
+ if ($auth == 'no' && function_exists('apache_request_headers')) {
+ // Sometimes Authorization doesn't make it into $_SERVER.
+ // Probably someone thought it was scary.
+ $headers = apache_request_headers();
+ if (isset($headers['Authorization'])) {
+ $auth = 'yes';
+ }
+ }
$agent = empty($_SERVER['HTTP_USER_AGENT']) ? 'no' : $_SERVER['HTTP_USER_AGENT'];
$query = (strpos($uri, '?') === false) ? 'no' : 'yes';
}
return true;
}
+
+ function onPluginVersion(array &$versions)
+ {
+ $versions[] = array('name' => 'ApiLogger',
+ 'version' => GNUSOCIAL_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => 'http://status.net/wiki/Plugin:ApiLogger',
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('Allows random sampling of API requests.'));
+ return true;
+ }
}