Commit Graph

344 Commits

Author SHA1 Message Date
Frederic Massart 4f977aea5e MDL-35892 repository: prepare_listing recursively prepares the data 2012-10-15 09:46:00 +08:00
Frederic Massart 7c4fc5b50b MDL-34945 Repository: Creating an instance requires the user to have the permission to view it 2012-09-04 16:17:25 +08:00
Marina Glancy 9001c7242e MDL-34290 repository API: add repository function to import referenced file
it must be independed from sync_external_file because sync often does not actually download contents, it is used just to retrieve
the size of the file. Besides the timeouts for get_file and sync requests are very different.

Also add option to send_stored_file() to ignore reference and send cached contents
2012-08-29 13:12:03 +08:00
Marina Glancy e53394ba0b MDL-34290 repository API: add timeout to get_file and throw exception
- get_file should have a request timeout and throw an exception with the details (i.e. timeout reached) if download can
not be completed
- corrected phpdocs
2012-08-29 13:12:02 +08:00
Marina Glancy 56e7d14f26 MDL-34290 repository API: do not confuse source and reference
make sure that repository function get_file_source_info receives as argument the source of the file,
and get_file receives a reference;
reference is a value of DB field files_reference.reference and result of get_file_reference(source).
Fix dropbox as the only repository that have different values in those fields;
also added information about user in dropbox reference and original
2012-08-29 13:12:01 +08:00
Marina Glancy c9fa5b1c05 MDL-34290 repository API: allow get_file_by_reference return only filesize
we want to allow repositories to perform quick synchronisation, without downloading the file. In this case they return
only filesize, without the contenthash
2012-08-29 13:12:01 +08:00
Paul Nicholls 55c91c8760 MDL-33640 - change $templatesinitialized to an array; improve naming and automate use of template
* $templatesinitialized is now an array, so that subsequent calls to initialise_filepicker which request different repositories will include those (and only those) templates which it requires but have not yet been included
* The get_template method has also been renamed to get_upload_template (and the template to "uploadform_" followed by the repository type), since it only applies to upload forms
* If a plugin provides a get_upload_template method, the template it returns will now automatically be used instead of the standard uploadform template when generating an upload form
2012-08-09 09:43:53 +12:00
Paul Nicholls c258605a8d MDL-33640 - Add ability to use custom filepicker templates
Allow repository plugins to register a template by defining a get_template() method, coupled with the ability to request the template be used by create_upload_form() instead of the standard 'uploadform' template.  The template is automatically registered using the plugin's name, and core templates will override any which clash; this also means that a theme can override these templates in a custom renderer if it wants to.
2012-08-08 15:54:42 +12:00
Frederic Massart 9480023733 MDL-34507 Repository: Better support for 'any' accepted filetypes 2012-07-27 10:16:30 +08:00
Marina Glancy d6571ad763 MDL-33950 Correctly initialise repository and check access in js and non-js filepicker 2012-07-10 14:57:46 +08:00
Marina Glancy db81525850 MDL-33950 check if source file is accessible in repository_ajax.php
- repository::copy_to_area() does not check access any more, and repository_recent::copy_to_area() is unnecessary
- added repository::file_is_accessible() that checks access to the picked file (regardless of accessibility of the file it is referencing to)
2012-07-10 14:57:35 +08:00
Marina Glancy c8161eec94 MDL-33997 Repository should not support references by default 2012-06-25 16:03:25 +08:00
Sam Hemelryk 92e0842978 Merge branch 'MDL-33808' of git://github.com/danpoltawski/moodle 2012-06-21 10:19:05 +12:00
Marina Glancy 83d2700ec9 MDL-33832 Fixed filling of files.source field
- also supress the error on unserialise (because people already may have broken files.source field)
- also display details about unparseable JSON error
- make source field look the same across repositories
2012-06-20 16:09:37 +08:00
Dan Poltawski 8655fb96cf MDL-33808 - format title on the repository instance screen 2012-06-19 12:10:56 +08:00
Dan Poltawski 102f928621 MDL-33808 - incorrect cleaning of repository names 2012-06-19 11:27:04 +08:00
Dongsheng Cai d6453211b6 MDL-33513: Make files->source field consistent 2012-06-15 14:51:07 +08:00
Dan Poltawski 4585e6ac98 Merge branch 'wip-MDL-33550-master' of git://github.com/marinaglancy/moodle 2012-06-14 16:23:08 +08:00
Marina Glancy 6fd1cf05b0 MDL-33550 reset repository static cache between unit tests 2012-06-14 16:21:04 +08:00
Dan Poltawski 414ce30812 Revert MDL-33513
This reverts commit b2cf2b807f.
This reverts commit 24b96f0170.
This reverts commit 39c60294a6.
This reverts commit 8a288971e2.
2012-06-14 13:57:45 +08:00
Dan Poltawski cd925ac79b Merge branch 'dev_MDL-33513_files_source' of git://github.com/danpoltawski/moodle 2012-06-14 11:12:21 +08:00
Dan Poltawski b2cf2b807f MDL-33513 repositories - fix misleading phpdocs 2012-06-14 10:55:30 +08:00
Sam Hemelryk 043a53fb25 Merge branch 'MDL-33541' of git://github.com/danpoltawski/moodle 2012-06-14 11:27:37 +12:00
Dan Poltawski 3aad3a5e64 Merge branch 'wip-MDL-33452-master' of git://github.com/marinaglancy/moodle 2012-06-13 15:03:07 +08:00
Dan Poltawski 837eef2e64 MDL-33541 - remove cookies from filepicker 2012-06-13 12:17:52 +08:00
Marina Glancy 0b2bfbd1c6 MDL-33550 Correctly process situation when file reference source is missing
- do not die with fatal error if source file in moodle internal repository is missing;
- moved code duplication for moodle repositories into class repository (functions send_file, get_reference_details, get_file_by_reference, get_file_reference);
- update file status after repository::sync_external_file so we know that it is missing (or not missing anymore). Do not run this function more than once for file within one request;
- display readable name for Private Files and Server files with the new format;
- display broken icon in filemanager if we know that source is missing, display information (for admin) where it was located before: see repository::get_reference_details() and extending classes;
- removed unnecessary queries in stored_file::sync_external_file();
- syncronize files before displaying it's size in mod_resource, do not query  directly
2012-06-13 12:11:06 +08:00
Dan Poltawski 4a126f1725 MDL-32573 - repository: make instance_config_form static 2012-06-12 22:17:29 +08:00
Marina Glancy c0e8f211d3 MDL-33452 It must not possible to create an alias to another alias
- if the downloaded file is an alias we pretend that we operate with its source
2012-06-12 11:03:54 +08:00
Dongsheng Cai 8a288971e2 MDL-33513: Make files->source field consistent 2012-06-10 17:47:00 +10:00
Marina Glancy 2dfa16ef8a MDL-33409 Newly copied files should take on the userid of the current user, and dates reset
- changed function repository::copy_to_area so it accepts more file attributes, pass changed attributes to it
- changed file_info::copy_to_storage and file_info_stored::copy_to_storage to accept more file attributes
- simplified file size check for moodle files in repository/repository_ajax.php
- removed unused code in repository/repository_ajax.php
2012-06-05 09:26:26 +08:00
Aparup Banerjee 09cb95f861 MDL-33324 Filepicker : fixed syntax. 2012-05-25 11:44:04 +08:00
Aparup Banerjee 0479a2873e MDL-33324 Filepicker : removed redundant parantheses. 2012-05-25 11:25:57 +08:00
Marina Glancy 9213f5476f MDL-33324 fixed bugs with icons in filepicker/filemanager treeview
- in treeview the icons for parent folders did not appear
- in treeview after refreshing (expanding subtrees) the image previews were replaced back to filetype icons
- also fixed a mistype in icon url in repository_local
2012-05-24 14:10:40 +08:00
Marina Glancy e563582760 MDL-33158 fixed bugs with restricting file typs in filepicker
- extension was returned without leading dot which resulted in improper validation
- fixed human-readable mime type in error message
- fixed youtube repository to support video files and pass filetype validation
2012-05-22 14:24:11 +08:00
Marina Glancy 559276b153 MDL-32247,MDL-32831,MDL-32900 Use correct url building of file type icons
- function get_mimetypes_array() now contains also information about filetype groups and language strings
- use 'smart' human-readable mimetype description
- never determine filetype group based on filetype icon image! remove function mimeinfo_from_icon()
- get rid of class filetype_parser and file lib/filestorage/file_types.mm, replaced with functions file_get_typegroup(), file_extension_in_typegroup() and file_mimetype_in_typegroup()
- support multiple icon sizes, not only 16 and 32
- retrieve filetype icon only using proper functions file_..._icon() from lib/filelib.php throughout the code
- increase size of repository thumbnails to 90 and icons to 24 (will take effect when new icons exist)
2012-05-21 16:01:04 +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
Marina Glancy 6dd299befa MDL-31901, MDL-28666 merged files API changes 2012-05-21 11:57:53 +08:00
Marina Glancy dd1f051e4a MDL-31901 filepicker interface changes:
- fixed displaying and dragging of dialog popups;
- fixed error when repository results are filtered;
- added string for image dimensions
2012-05-21 11:57:53 +08:00
Marina Glancy e709ddd29c MDL-31901: Allow FileManager to re-use FilePicker JS code for view modes:
- when loading core_filepicker we extend the Node element with functions necessary to display files list in different view modes;
- repository/filepicker.js is changed to use those functions;
- FileManager now has three different view modes (icon view, tree view and table view), JS code is re-used from FilePicker;
- files in FileManager no longer have context menu, they have one popup Widget with different actions instead;
- Added more templates for JS code to FileManager, use similar CSS class names as FilePicker;
- lib/filelib.php : fixed double slashes in path, return more data about files;
- lib/form/filemanager.php : pass information to FileManager about available licenses and default author;
- repository/draftfiles_ajax.php : return information about directory tree for file moving UI in FileManager, return formatted information;
- repository/lib.php : function repository::prepare_listing() now can work also with draftarea files listing;
2012-05-21 11:57:52 +08:00
Marina Glancy d1d186917c MDL-31901: moved filepicker html to files/renderer.php, pass templates once per page 2012-05-21 11:57:52 +08:00
Marina Glancy b92241f280 MDL-31901: Changing interface of file picker, use renderers:
- Filepicker window is now resizable and draggable;
- filepicker&renderer: removed id substitution from renderer, replaced it with classes (better readability);
- filepicker: allowed tree and table view for search results;
- filepicker: fixed small bug with displaying external link checkbox
- filepicker: display additional information about file in select window, repository returns more formatted information
2012-05-21 11:57:51 +08:00
Marina Glancy 5bdf63cce0 MDL-14636: Support table view in Filepicker, provide more info about files
- Added table view in Filepicker where for each file we show Name, Last modified, Size and Type. Sortable by column
- Preprocess list of files returned from repositories to include formatted size, dates, type and also add filetype icon
- Make sure that local repositories (coursefiles, filesystem, local, recent, user) return information about file size, datemodified, datecreated, author, license
2012-05-21 11:57:51 +08:00
Marina Glancy b5e7b6385e MDL-31901: Introducing renderers for filepicker:
- create repository renderer, implement functions for returning HTML templates used in filepicker
- let filepicker use HTML from templates
- move CSS for filemanager and filepicker to the separate css file in base theme
- use only YUI3 in filepicker (get rid of YUI2)
- add button for 'View details' in filepicker (though this view mode is still not ready)
2012-05-21 11:57:51 +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
Marina Glancy 061eeed5df MDL-32381: Fixed Accessing non-static methods in repository class as static (causing php notices) 2012-04-12 15:05:20 +08:00
Petr Skoda 68a7c9a696 MDL-32095 some more E_STRICT fixes 2012-03-26 11:47:15 +02:00
Petr Skoda 58eb9b9f2a MDL-32094 fix E_STRICT problems in repository API 2012-03-18 18:31:32 +01:00
Davo Smith fdb0322d72 MDL-31541 Repositories - make sure all repository instances have unique 'sortorder' values when retrieved 2012-02-08 09:35:39 +00:00
Eloy Lafuente (stronk7) 8aac56c6be Merge branch 'MDL-31000-master-3' of git://git.luns.net.uk/moodle 2012-02-01 00:25:05 +01:00
Petr Skoda 1fbbf89349 MDL-30891 fix invalid hardcoded capability check when disable legacy files repo 2012-01-14 21:57:47 +01:00