MDL-74567 core: re-factor flickr libraries to use shared user-agent.

This commit is contained in:
Paul Holden 2022-04-29 13:31:55 +01:00
parent 2972e66008
commit 9ff112ea3d
2 changed files with 23 additions and 7 deletions

View File

@ -60,19 +60,31 @@ class flickr_client extends oauth_helper {
* @param moodle_url|string $callbackurl
*/
public function __construct($consumerkey, $consumersecret, $callbackurl = '') {
global $CFG;
$version = moodle_major_version();
$useragent = "MoodleSite/$version (+{$CFG->wwwroot})";
parent::__construct([
'api_root' => self::OAUTH_ROOT,
'oauth_consumer_key' => $consumerkey,
'oauth_consumer_secret' => $consumersecret,
'oauth_callback' => $callbackurl,
'http_options' => ['CURLOPT_USERAGENT' => $useragent]
'http_options' => [
'CURLOPT_USERAGENT' => static::user_agent(),
],
]);
}
/**
* Return User-Agent string suitable for calls to Flickr endpoint, avoiding problems caused by the string returned by
* the {@see core_useragent::get_moodlebot_useragent} helper, which is often rejected due to presence of "Bot" within
*
* @return string
*/
public static function user_agent(): string {
global $CFG;
$version = moodle_major_version();
return "MoodleSite/{$version} (+{$CFG->wwwroot})";
}
/**
* Temporarily store the request token secret in the session.
*

View File

@ -32,6 +32,11 @@
* @subpackage 3rd-party
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once("{$CFG->libdir}/flickrclient.php");
/**
* Flickr Class
* @package moodlecore
@ -81,9 +86,8 @@ class phpFlickr {
// Initialize curl helper, set custom user agent as Flickr blocks our "MoodleBot" agent string.
$this->curl = new curl(array('cache'=>true, 'module_cache'=>'repository'));
$version = moodle_major_version();
$this->curl->setopt([
'CURLOPT_USERAGENT' => "MoodleSite/$version (+{$CFG->wwwroot})"
'CURLOPT_USERAGENT' => flickr_client::user_agent(),
]);
}