Picasa is discontinued since 2016 so google_picasa class has been
removed from core Moodle (it makes no sense to deprecate it because
it's not working properly)..
The google_oauth class extends oauth2client which was modified to send "Accept" headers.
The "Accept" headers break picasa and could break any other plugin that was using google_oauth.
This patch replaces all homegrown timezone
stuff with standard PHP date/time code.
The main change is the introduction of core_date
class that returns normalised user and server
timezones. From now on nobody should be using
$CFG->timezone or $user->timezone directly!
Other new features and fixes:
* admins are prompted for timezone during install
* editing of other users is finally fixed
* timezones are displayed in user profile
* new $this->setTimezone() in phpunit
* time locale is now automatically reset in phpunit
* timezone is now automatically reset in phpunit
* phpunit has Australia/Perth as default timezone
Updated the various plugins to use OAuth 2.0 for authentication
against google apis. Google are phasing out AuthSub and pushing OAuth as
the replacement.
This changes repository_googledocs, repository_picasa,
portfolio_googledocs and portfolio_picasa
The token for requests is now stored in session rather than a user
prefence and it persists less but doesn't bother the user more than
necessary.
The google docs portfolio plugin is converted to use resumable upload
API as this appears to be what Google have replaced this with.
Unfortunately unlike authsub OAuth will require some setup by admins,
this is linked as a docs page.
I am not sure why I did not use these in the first instance, I don't
think Google supported SSL in the first versions of their API.
They do now, and it seems that this week they stopped supporting non-ssl
requests.
This seems to be related to problems at googles end with perhaps
the api not being correctly implemented to start with. Particularly the
docID was incorrect.
I think google worked around the problem with a redirect which the curl
download_file downloaded rather than followed the redirect.
Google have now allowed documents to be downloaded via their API
(http://googledataapis.blogspot.com/2009/02/start-downloads.html) so
the google docs repo plugin could be finished.
At the moment i've set the export format hardcoded, hopefully we can allow the
repo api let the user choose later...