Commit Graph

102 Commits

Author SHA1 Message Date
Frederic Massart 7be6c09db5 MDL-34607 File API: Removed ordering by sortorder in area tree 2012-09-21 09:56:52 +08:00
Rex Lorenzo 102d0bd05b MDL-35376 - Shortcut/alias not working for Private file repo 2012-09-11 14:24:02 -07:00
Marina Glancy 3dce698981 MDL-34290, MDL-33416 prepare to deprecate fields files.referencelastsync and referencelifetime 2012-08-29 13:12:06 +08:00
Marina Glancy 29ea4e9c56 MDL-34290 Auto synchronise newly created references when possible 2012-08-29 13:12:06 +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 26aaa7e835 MDL-34290 update all references after the source is changed
- When several records in {files} have the same record in {files_reference} and the synchronisation is performed, we need to update
all records in {files} so all files know if source is changed and that sync was performed;
- also when local moodle file content is changed we immediately update all files referencing to it (therefore sync of references
to the local files is unnecessary);
2012-08-29 13:12:00 +08:00
David Mudrák d81d6ea2c3 MDL-33453 Make it clear what search_references() and search_references_count() are good for
Initially it was not clear enough that these two methods are supposed to
be used for looking for references to a stored_file only. So the docs
comments are improved and unittests added to illustrate the usage.

The patch also removes the unittest for get_references_by_storedfile()
as its usage is already covered in other test methods.
2012-06-26 16:28:30 +02:00
Petr Skoda aefe9734fa MDL-33733 fix broken zip_packer->extract_to_storage() when extracting from stored_file 2012-06-25 01:32:50 +02:00
Sam Hemelryk 088c374a6d Merge branch 'MDL-33430-reference-restore' of git://github.com/mudrd8mz/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
	version.php
2012-06-22 11:56:49 +12:00
David Mudrák 6feae1d256 MDL-33430 Make file_storage::unpack_reference() more picky on what it gets 2012-06-21 01:32:24 +02:00
Rajesh Taneja 4e782b32f3 MDL-33425 user: Replaced filepicker with filemanager on edit profile page 2012-06-18 10:19:48 +08:00
Marina Glancy cfc4db405c MDL-33550 Set default status for file =0 and correct setting user in phpunit test 2012-06-14 14:52:31 +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
David Mudrak 3b2465fee6 MDL-33587 Delete the reference properly in stored_file::delete() 2012-06-07 18:02:12 +02:00
David Mudrak 1c0da8498f MDL-33587 Improve stored_file::delete_reference() method 2012-06-07 17:37:25 +02:00
David Mudrak 2fa8aea279 MDL-33587 Throw coding exception when trying to unlink a non-reference file 2012-06-07 17:36:29 +02:00
David Mudrak 2d2c194bbe MDL-33587 Add unit tests for stored_file::delete_reference()
The first unit test forces the File API to be more picky as any sane
core API should be. The second one illustrates the buggy behaviour of
the current implementation of delete_reference(). They both fail at the
moment, of course...
2012-06-07 17:36:23 +02:00
Dan Poltawski 79c2b50980 Merge branch 'MDL-33330-files-reference' of git://github.com/mudrd8mz/moodle
Conflicts:
	version.php
    lib/db/upgrade.php
2012-06-06 16:18:30 +08:00
David Mudrak 0ad654dc8b MDL-33330 Use the referencehash when searching for references
Together with this, refactoring and cleanup of search_references() and
similar methods was done. SQL was improved to use the INNER JOIN instead
of the LEFT JOIN as we are really interested in records that have a
reference. Also, joining the {repository_instances} table assures that
only references with valid repository_instance are returned (the check
against is_external_file() can't be applied to the methods that return
the count of references so I dropped it completely).
2012-06-05 14:07:25 +02:00
David Mudrak dccba8bcc9 MDL-33330 Populate referencehash field values 2012-06-05 14:07:24 +02:00
David Mudrak d83ce95322 MDL-33330 improved {files_reference} records creation
This patch unifies the way how records in {files_reference} get created.
Previously, each reference file (i.e. a file with referencefileid set)
created its own record in {files_reference}. This patch makes sure that
existing record is reused if possible.

Bye bye 1:1 relationships, you suck!
2012-06-05 13:39:09 +02:00
David Mudrak e28fbdba61 MDL-33330 introducing new file_reference_exception
This replaces the previously defined external_file_exception that was
not used anywhere in the code. The new exception will be thrown in
situations where there is some unexpected problem detected with the
records in the {files_reference} table (e.g. unable to find a record
referenced by some file from {file}, invalid reference value etc.)
2012-06-05 13:29:48 +02:00
Marina Glancy efa28f30f2 MDL-33391 Files API, Repository : mimetype should be determined from file extension when possible 2012-06-05 13:29:07 +08:00
Eloy Lafuente (stronk7) 5669b28d59 Merge branch 'MDL-33326' of git://github.com/stronk7/moodle 2012-06-01 00:58:08 +02:00
Eloy Lafuente (stronk7) 294d976e28 MDL-33326 filestorage tests: Coding style fixes 2012-05-30 02:26:57 +02:00
Dan Poltawski 996f8b6442 MDL-33326 filestorage tests: Add more coverage 2012-05-30 02:26:46 +02:00
Dan Poltawski 7c89a18fca MDL-33326 filestorage tests: Actually verify results
Rather than the placeholder tests which were added before to trigger
DB incompatibilities
2012-05-30 02:26:36 +02:00
Dan Poltawski e73b42ca57 Merge branch 'wip-MDL-33399-m23' of git://github.com/samhemelryk/moodle 2012-05-29 14:57:05 +08:00
Sam Hemelryk 9f4789b842 MDL-33399 files: Fixed up handling of empty sort in File API methods.
The following three methods of file_storage have been patched:
* get_external_files
* get_area_files
* get_directory_files
2012-05-29 16:38:47 +12:00
Dan Poltawski 995e479067 Merge branch 'wip-MDL-33338-master' of git://github.com/marinaglancy/moodle 2012-05-28 15:43:33 +08:00
Marina Glancy 4c2fcbfc85 MDL-33338 recognising the mimetype for uploaded files
- when file is uploaded in php, the tmpname does not have initial extension and mimetype recognition by extension fails
- another issue is that import form for questions fails with fatal error when it should just say that field is required
2012-05-28 15:19:41 +08:00
Sam Hemelryk 63f2813497 Merge branch 'dev_MDL-33147_transaction' of git://github.com/dongsheng/moodle 2012-05-28 11:04:43 +12:00
Sam Hemelryk 6347a6216d MDL-33172: Fixed whitespace 2012-05-25 11:37:07 +12:00
Dan Poltawski 3447100cdb MDL-33172 - filestorage: Fix oracle incompatibilites
Fixes the following problems:

* When we select from two tables with the same named fields (id)
  and ask to sort by that field, Oracle doesn't know which table to
  sort frm unless that field is named in the SELECT. Here we do that
  by explicitly naming the fields. This keeps compatibility with before
  the reference table was added.

* Text comparisong without sql_compare_text
2012-05-25 11:17:56 +12:00
Dan Poltawski ac29403e39 MDL-33172 - filestorage: Add unit test for breaking oracle functions 2012-05-25 11:17:56 +12:00
Marina Glancy ae7f35b934 MDL-33144 display filetype icon and mimetype based on extension
- use finfo to determine mimetype of a file only when it is unknown from file extension
- display filetype icon and mimetype in filemanager based on file extension
- fixed a small issue with specifying extension instead of group in file_get_typegroup()
- allow only web-compartible image types when embedding into editor or using in database field
- created new groups web_video and web_audio to use in resource module
2012-05-23 14:51:55 +08:00
Dan Poltawski 37eba7d5d6 Merge branch 'dev_MDL-33149_stored_file_access' of git://github.com/dongsheng/moodle 2012-05-22 16:51:33 +08:00
Dongsheng Cai 291a3d1fb6 MDL-33149 stored_file::repository should be private 2012-05-22 15:00:49 +08:00
Dongsheng Cai e3c0211879 MDL-33147 Added transaction support for some Files APIs 2012-05-22 13:51:04 +08:00
Dan Poltawski b99065be04 MDL-33032 - dont require repository/lib.php until necessary
This is an ugly fix to a broken installer only.
2012-05-21 20:04:42 +08:00
David Mudrak 10f0978bff MDL-32471 redefining the tinyicon thumbnail size to 24x24
As requested by the Files 2.3 UI team.
2012-05-21 11:37:29 +02:00
Marina Glancy a8d6dda4f2 MDL-32247 fixed bug with displaying icon for unknown filetype, fixed merge mistakes 2012-05-21 17:12:55 +08:00
Dongsheng Cai 70c1bc843a MDL-33127 stored_file::update should use get_content_file_location because it tried to update file_record 2012-05-21 16:37:53 +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 8177b7b9f0 MDL-33082 Detecting mimetype based on content bytes 2012-05-21 15:26:39 +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 fc4e8034fc MDL-32867 filemanager and repository
1. Allowing "." as filename, so filemanager can rename folder
2. Fixed import_external_file method
3. Disallow recent repository to list file references
2012-05-21 11:57:55 +08:00
Dongsheng Cai 04e3b007c2 MDL-28666 phpdoc improvements 2012-05-21 11:57:54 +08:00
Dongsheng Cai 462c4955f4 MDL-28666 file_storage::get_directory_files() supports references 2012-05-21 11:57:54 +08:00
Dongsheng Cai 7051415cca MDL-28666 Files API and db changes
1. Fix db regression
2. Unit tests for is_external_file() and rename exception
3. Searching reference method exclude draft files
2012-05-21 11:57:54 +08:00