Commit Graph

55 Commits

Author SHA1 Message Date
Laurent David
fc72a1d7b1 MDL-75337 core: Single button - core changes
* Change all core calls toward single_button to use single_button::BUTTON_PRIMARY
    when needed
2023-01-24 06:01:35 +01:00
Mihail Geshoski
63be4ed49f MDL-74424 repository_googledocs: Respect default import formats
Makes sure that the correct file extension is attributed when importing
a file using the Google Drive repository based on the set configuration
values for the default import format settings.
2022-04-06 01:23:51 +08:00
Mihail Geshoski
5f4bdefc54 MDL-61768 repository_googledocs: Deprecate unused methods
Deprecates methods from the repository_googledocs class which are
no longer used.
2021-04-15 12:40:32 +08:00
Mihail Geshoski
54a850640d MDL-61768 repository_googledocs: Support shared drives
Enables the Google Drive repository to support browsing and searching
for content from the existing shared drives.
2021-04-15 12:40:32 +08:00
Jake Dallimore
255a910c92 MDL-59510 core_oauth2: autorefresh google drive, nextcloud and onedrive
Request additional offline access, allowing the repository to sign in
automatically each time, including across different user sessions, until
either the refresh token is invalidated or the user logs out of the
repository.
2020-10-05 09:19:29 +08:00
David Mudrák
e0a903243b MDL-59505 oauth2: Fix storage of access controlled links
When files are copied into the system account's drive, they are put into
folders respecting the structure of contexts. Folder names were based on
context names only and so were likely to collide (such as with users
with the same name).

The patch ads context instance identifiers to the name so that they can
be identified more reliably.
2017-09-21 22:17:03 +02:00
Simey Lameze
fd8790d5cf MDL-59008 repository_googledocs: add method to serve login on a popup
This commit also add a new string logintoaccount to make the login
button more clear.
2017-07-03 13:41:58 +08:00
Dan Poltawski
e18cd34bbb Merge branch 'MDL-58765-master' of git://github.com/damyon/moodle 2017-05-08 10:31:59 +01:00
Damyon Wiese
6a7552fe70 MDL-58765 repository: controlled links fix
If a file is selected as a controlled link, only copy it to the system account the first time
the form is saved.
2017-05-08 10:53:58 +08:00
Andrew Nicols
7167d25f5f Merge branch 'MDL-58823-master' of git://github.com/jleyva/moodle 2017-05-08 09:32:58 +08:00
Juan Leyva
fcdd7730bd MDL-58823 repository: Fix redirections to external files
We cannot use redirect() because is not compatible with
webservice/pluginfile.php
This script is defined as an AJAX_SCRIPT so redirections are not
allowed by redirect() function.
2017-05-05 10:04:51 +02:00
Damyon Wiese
00879eca66 MDL-58800 repository_googledocs: Switch oauth clients
We need to ensure we use the correct oauth client to download files. This change
is the same as the one made to the onedrive repository where a usesystem flag
is added to the file reference if the file has been copied to the system account.
2017-05-04 12:57:23 +08:00
Damyon Wiese
aa89bf2e6c MDL-58220 repo: Dont expect file info for any file
Some plugins do not implement the file info callback so expect and handle null in this case.
2017-04-03 13:43:27 +08:00
Damyon Wiese
33536fb2b7 MDL-58220 repositories: missing/disabled issuer
This makes the code checking for a missing / disabled issuer a bit cleaner.
2017-04-03 13:43:26 +08:00
Dan Poltawski
5afb4f0e50 MDL-58220 repository: prevent repo breaking when issuer doesn't exist 2017-04-03 13:43:26 +08:00
Damyon Wiese
eb47ad4a6e MDL-58220 repository: More docs / comments
More docs / comments for the reference_file_selected function used by controlled links.
2017-04-03 13:43:26 +08:00
Damyon Wiese
d5bb9f1ffc MDL-58334 repositories: Offline downloads
Support an optional param for offline downloads for repositories supporting external links (googledrive and skydrive).

Part of MDL-58220
2017-04-03 13:43:25 +08:00
Damyon Wiese
092304a3de MDL-58220 oauth2: Cibot fixes
Missing phpdocs.
2017-04-03 13:43:25 +08:00
Damyon Wiese
eca128bf47 MDL-58220 oauth2: Global enable/disable for issuers. 2017-04-03 13:41:19 +08:00
Damyon Wiese
af28b22892 MDL-58219 googledocs: Use google file extensions
Only rename on export for download.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
72643dc688 MDL-58219 googledocs: Update to new model for controlledlinks
Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
72fd103add MDL-58219 cibot: Fixes
Fixes for cibot warnings.

Part of MDL-58220
2017-04-03 13:41:19 +08:00
Damyon Wiese
39f60f6c00 MDL-58219 googledocs: Use a cache
Speed up folder operations with a simple cache.

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
6da1c55ba8 MDL-58219 googledocs: Keep original name on copy
Also - only add writers to files that have been "claimed" (prevent_changes_to_external_files)

Part of MDL-58220
2017-04-03 13:41:18 +08:00
Damyon Wiese
5823a27e7e MDL-58131 googledocs: Add manage url -> drive
Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
151b0f9409 MDL-58132 repositories: Controlled link file type
This introduces a new "controlled link" file type where the file is not
stored in Moodle - but Moodle will control the access permissions on the file.

Plugins can "freeze" a filearea which means Moodle will take ownership of all the remote
files of this type.

When accessing a file, if the "filebrowser" infomation indicates the current user can write to the file, they
will be granted temporary write access.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
8ece1d70d8 MDL-58128 googledocs: Don't copy files
When linking - add the moodle account to the file and
organise it on the moodle side. Also allow read access with link,
but don't make any other changes to the perm/ownership.

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
989e14fea0 MDL-58128 googledocs: Support reference files.
Add options so the admin can control the types of files this repository can support (and the default).

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
0e59638bdb MDL-58126 googledocs: Re-implement the google docs repo
Use latest REST API (v3) - but avoid the google client libraries
(too big, too much to update, not integrated with auth).

Part of MDL-58220
2017-04-03 13:40:13 +08:00
Damyon Wiese
663640f5b3 MDL-40759 icons: convert uses of pix_url to pix_icon
Also change filepicker to use scaled svgs instead of sets of custom pngs. The svgs are taken from font-awesome.
2017-03-17 15:52:17 +08:00
Andrew Nicols
b117fb3db9 MDL-33483 repository: Coding style tidyup 2017-02-27 11:31:00 +08:00
Stephen Bourget
15a5c4b2ed MDL-33483 repository: Allow file import formats be configurable. 2017-01-12 08:43:31 -05:00
Eloy Lafuente (stronk7)
c790542885 MDL-49519 Google API: use autoload everywhere
Update core (repository & portfolio) to use autoload facilities,
getting rid of not-needed-anymore requires.

Clarify a bit the readme_moodle information and expected use.
2015-04-08 20:29:03 +02:00
Dave Cooper
fa48383bfa MDL-49519 libraries: Update references to new Google API library 2015-04-08 02:26:16 +02:00
Frederic Massart
28cdc0439f MDL-47297 repository_googledocs: Use the newer Google API 2014-10-08 19:15:09 +08:00
Tim Hunt
5bcfd504df MDL-45618 Fix @since PHPdoc tags. 2014-05-19 17:03:04 +01:00
Petr Škoda
2f1e464a88 MDL-40438 migrate all collatorlib:: and textlib:: uses 2013-08-06 21:04:35 +02:00
Petr Škoda
eb459f7192 MDL-40642 set more restrictive umask and use proper permission for new dirs and files 2013-07-19 09:18:44 +02:00
Petr Škoda
d534708fd3 MDL-40299 textlib conversion to core_text and core_collator 2013-06-27 22:18:57 +02:00
Frederic Massart
3425813fc4 MDL-37217 repository: Google Docs repository uses Google SDK 2013-02-19 13:36:23 +08:00
Frederic Massart
ec7e998f4b MDL-35034 Repository: Google Docs does not fail when download is restricted 2012-09-03 14:12:43 +08:00
Marina Glancy
7bb7bd2e79 MDL-34290 Added timeout to googledocs request to download a file 2012-08-29 11:56:18 +08:00
Dan Poltawski
999427e985 MDL-34240 - google plugins: switch to PARAM_RAW_TRIMMED
This ensures the client credentials which are entered are trimmed
as users are finding problems with bad pastes.
2012-07-13 10:09:25 +08:00
Dan Poltawski
8b5039361a MDL-33469 google plugins - string update
Improved strings to try and ensure maximum support for users during
upgrade.
2012-06-18 11:28:27 +08:00
Dan Poltawski
5df1b73748 MDL-33501 - oauth2lib: enforce sesskey in oauth2callback.php
The sesskey needs to be embeded in the local url returned as this is the
only parameter we have control of.
2012-06-04 11:11:38 +08:00
Dan Poltawski
db7602af7c MDL-33501 - oauth2lib: improve redirect url handling
Only accept PARAM_LOCALURL for state params and enforce
use of moodle_url param in oauthlib to facilitate that.
2012-06-04 10:57:39 +08:00
Dan Poltawski
4560fd1b66 MDL-29857 - google apis: Convert to OAuth 2.0
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.
2012-05-31 00:00:25 +08:00
Dongsheng Cai
61506a0af9 MDL-33032 Fixed issues for file integration
1. Added tracker issue number in comment
2. Fixed stored_file::delete_reference()
3. repository::send_file() will throw exception if not implemented by subclass
4. Fixed renaming unit test, added one unit test for deleting original file
5. Fixed copyright statement for googledoc and picasa repository plugin
6. Implemented stored_file::set_filesize()
2012-05-21 11:57:56 +08:00
Dongsheng Cai
6723372514 MDL-28666 Extends repository to support references
1. Allow repository to create references to external contents
2. Extends files API to handle file references
3. Generic file caching
4. Backup/restore file references
5. Download external contents if repository uninstalled
6. Allow filepicker to display iframe
7. PHPUnit test suits
2012-05-21 11:57:51 +08:00
Petr Skoda
68a7c9a696 MDL-32095 some more E_STRICT fixes 2012-03-26 11:47:15 +02:00