Commit graph

1930 commits

Author SHA1 Message Date
Juan Leyva
460897052e MDL-54869 files: Create new required functions
This was a complex change requiring three new functions:
file_merge_files_from_draft_area_into_filearea - To just add files from a draft area into a real one (just adding or updating, not deleting)
file_merge_draft_area_into_draft_area - To merge files from two draft areas, used by the latest for creating a draft area with all the original files plus the new ones.
file_overwrite_existing_draftfile - Required to update existing files not losing metadata or references.

The whole process is the following:

    User uploads a file (upload.php)
    Client gets a new draftid A containing the file only (return of upload.php)
    Client requests to merge that draftid in the user's private files (core_user_add_user_private_files)
    Server prepares a new UNUSED draftid B from existing area
    Server merges A into B
    Server saves the draft B into the final area
2016-07-05 09:01:34 +01:00
Andrew Nicols
5e47d5aee5 Merge branch 'MDL-54951-master' of git://github.com/jleyva/moodle 2016-07-05 09:41:31 +08:00
Marina Glancy
ed63718caa MDL-55069 core: escape special characters in email headers 2016-07-04 12:27:58 +01:00
Juan Leyva
ae584b3b5e MDL-54951 webservice: Utility methods for generating a list of files
It includes a new external_files structure and a get_area_files method
in external_util
2016-07-04 09:24:27 +01:00
Andrew Nicols
4ffe12b0f8 Merge branch 'MDL-55020-master-pluginzip' of git://github.com/mudrd8mz/moodle 2016-07-04 10:54:59 +08:00
David Mudrák
2785fd193d MDL-55020 admin: Fix renaming of the plugin package root folder
There was a problem with core\update\code_manager::unzip_plugin_file()
if it was used to extract a plugin package into a non-empty target
directory and the plugin package root folder was being renamed at the
same time.

The problem was caused by the underlying helper method
rename_extracted_rootdir() that worked only for ZIPs extracted to an
empty temporary location. When the plugin was extracted to the actual
dirroot with other existing plugin folders present, the method failed
badly.

The solution in the patch is to always extract the ZIP into a temporary
empty location, perform the eventual root renaming there, and only then
move the extracted contents to the final destination. Additionally we
are changing the behaviour of the rename_extracted_rootdir() method so
that now it throws exception if the plugin package contains multiple
root folders (it should not happen in normal situations as such a plugin
would not pass the pre-install validation).

Unit tests did not catch this bug before because in the tests, the
target directory had been empty. Now we are adding a new directory
"aaa_another" to the target location to test in more realistic
environment. Tests for the new behaviour of the renaming method are
added, too.

p.s. I noticed that moodle_exception class was not imported into the
namespace and this is fixed now too (and covered with unit tests).
2016-07-01 01:13:21 +02:00
Andrew Nicols
f9cabe8f99 Merge branch 'wip-mdl-54974' of https://github.com/rajeshtaneja/moodle 2016-06-29 15:05:13 +08:00
Rajesh Taneja
e5f2478b9f MDL-54974 behat: Handle interupts on PHP7
As https://bugs.php.net/bug.php?id=71448 is
not going to get fixed, we need to declare tick
2016-06-27 14:30:58 +08:00
Andrew Nicols
607e900e2d Merge branch 'MDL-54785-master' of git://github.com/FMCorz/moodle 2016-06-27 08:59:49 +08:00
Frederic Massart
048f8073d1
Revert "Merge branch 'MDL-54110_master' of https://github.com/marxjohnson/moodle"
This reverts commit 016e0abfbc, reversing
changes made to 58a2f0ac40.
2016-06-23 11:51:44 +08:00
Frederic Massart
796f86f753
Revert "MDL-54110 repositories: Whitespace, Typo + unit test fixes"
This reverts commit 7e4d43e1a2.
2016-06-23 11:51:44 +08:00
Eloy Lafuente (stronk7)
0f20bf7507 Merge branch 'wip-mdl-54589-mac' of https://github.com/rajeshtaneja/moodle 2016-06-22 01:42:15 +02:00
Andrew Nicols
bc341d4f08 Merge branch 'MDL-54920-master' of https://github.com/sammarshallou/moodle 2016-06-21 14:15:41 +08:00
Rajesh Taneja
fba0ac63b8 MDL-54589 behat: Added hack for some OS/browsers 2016-06-20 16:03:36 +08:00
Dan Poltawski
0fd08fc7e5 Merge branch 'MDL-35628' of https://github.com/mr-russ/moodle 2016-06-16 09:04:12 +01:00
sam marshall
5a14c4d948 MDL-54920 Behat: Allow viewport size to be set consistently
Provides a new Behat step

And I set viewport size to "800x600"
2016-06-14 12:28:24 +01:00
Russell Smith
1fcf0ca8a5 MDL-35628 performance: Remove dirname() where possible.
dirname() is a slow function compared with __DIR__ and using
'/../'.  Moodle has a large number of legacy files that are included
each time a page loads and is not able to use an autoloader as it is
functional code.  This allows those required includes to perform as
best as possible in this situation.
2016-06-10 08:06:49 +10:00
Andrew Nicols
360e819fd3 Merge branch 'MDL-54853-master' of git://github.com/cameron1729/moodle 2016-06-09 09:41:53 +08:00
Cameron Ball
2549f46f7c MDL-54853 weblib: Properly specify encoding for blanktarget 2016-06-08 18:29:19 +08:00
David Monllao
8a4f4f576e Merge branch 'MDL-54180_master' of https://github.com/marxjohnson/moodle 2016-06-07 16:15:43 +08:00
Mark Johnson
be8b89500c MDL-54180 Behat: Handle exceptions from driver when saving screenshot 2016-05-31 12:32:57 +01:00
David Monllao
9812222d21 Merge branch 'MDL-29905-master' of git://github.com/FMCorz/moodle 2016-05-30 15:40:43 +08:00
Cameron Ball
bf9974870b MDL-37138 weblib: Add blanktarget option to format_text 2016-05-30 13:17:59 +08:00
Frederic Massart
31031e98c7 MDL-29905 question: Auto remove stale questions upon category deletion 2016-05-30 12:26:09 +08:00
Dan Poltawski
c56d14be37 Merge branch 'MDL-54627_master' of git://github.com/dmonllao/moodle 2016-05-19 10:59:06 +01:00
David Monllao
505ce88467 MDL-54627 search: Ensure that all format_string strings are text.
All user input that is usually displayed through format_strings with
filters like mulitlang applied should be converted to text as well.
2016-05-19 13:16:01 +08:00
Dan Poltawski
07eb3a0db7 Merge branch 'wip-mdl-53956' of https://github.com/rajeshtaneja/moodle 2016-05-18 10:45:22 +01:00
Adrian Greeve
41abbbbde5 MDL-45390 gradebook: sql tidy up and version alignment. 2016-05-18 10:41:30 +08:00
Rajesh Taneja
1ef6a5e30a MDL-53956 behat: Avoid before and after step and switch
After pressing the button, if system is slow then
after step and before step might fail as the window
is closed by then. Execute steps one after other
2016-05-18 10:41:01 +08:00
David Monllao
ece791dbd4 MDL-45390 grades: Courses letters using system bad boundaries
Added unit tests to highlight the existing failures and adding
unset_config between each set of tests.
2016-05-18 10:08:10 +08:00
Adrian Greeve
70dfd48f53 MDL-45390 gradebook: Unit tests for grade boundary issue. 2016-05-18 09:08:18 +08:00
David Monllao
a7bb1dda6e Merge branch 'MDL-53311-master-moregooderer' of git://github.com/cameron1729/moodle 2016-05-17 17:16:07 +08:00
Andrew Nicols
e53d7e7c04 Merge branch 'MDL-50063' of git://github.com/stronk7/moodle 2016-05-13 18:12:32 +08:00
Cameron Ball
f65ce33f99 MDL-53311 behat: Update behat navigation steps 2016-05-13 16:01:48 +08:00
Eloy Lafuente (stronk7)
07a069f1c0 MDL-50063 unittests: Remove some unnecesary gc_collect_cycles()
Now backup and restore operations free logger resources calling
to the destroy() method. This commit ensures:

1) That gc_collect_cycles() is not used anymore in backup-related tests.
2) That all backup and restore controllers in test do always call
   to the detroy() method.
3) Some unset() calls, needed to make gc_collect_cycles() are not used
   anymore.
2016-05-13 02:50:45 +02:00
Andrew Nicols
7e4d43e1a2 MDL-54110 repositories: Whitespace, Typo + unit test fixes 2016-05-11 10:39:40 +08:00
Andrew Nicols
016e0abfbc Merge branch 'MDL-54110_master' of https://github.com/marxjohnson/moodle 2016-05-11 10:10:57 +08:00
Mark Johnson
121b67411f MDL-54110 repositories: Allow repositories to ignore post_max_size
Repositories can now override usespost() if they don't upload using POST
requests. This restores the ability of users with
moodle/course:ignorefilesizelimits to upload files of unlimited size
lost in MDL-44626.
2016-05-10 16:10:24 +01:00
Dan Poltawski
8c2d47d9d8 Merge branch 'MDL-50704-master' of git://github.com/FMCorz/moodle 2016-05-10 15:59:41 +01:00
Frederic Massart
16825c4e95 MDL-50704 user: Do not validate timezones in user objects
The validation of the timezone field should not occur, especially
when it is automatically cleaned. Timezones can be volatile, we
must try hard to fallback on real timezones and must not lose reset
the values arbitrarily.

"There is absolutely no need to change $CFG->timezone and user timezones
in database - the timezones may come and go. If you change the value in
upgrade or on the fly you would not be able to get it back. This is the
reason why I implemented the "invalid timezone" thing in server and
user settings instead." - Petr Skoda (MDL-49684)
2016-05-09 17:28:38 +08:00
Frederic Massart
88474db22f MDL-50704 date: Fix invalid timezone mapping for +14
The value Etc/GMT-14 was added to the list of known timezones,
and Etc/GMT+13 & Etc/GMT+14 were removed as they are not valid.

Tests were added to ensure that legacy user timezones are mapped
to known timezones. Other tests were changed to reflect the changes
with regards to Etc/GMT+13 and +-14.
2016-05-09 17:28:38 +08:00
Andrew Nicols
b0ab1fdcff Merge branch 'm31_MDL-53837_Is_Executable_Python_Script_Windows' of https://github.com/scara/moodle 2016-05-09 13:29:32 +08:00
David Monllao
33b60a4720 Merge branch 'MDL-54034-master' of git://github.com/FMCorz/moodle 2016-05-09 07:46:53 +08:00
Frederic Massart
1d0140757a MDL-54034 ajax: Apply filters in ajax requests
This also clarified that developers can decide to force filters
to be ignored when using external_format_text, though they cannot
force filters to be turned on as the clients should be able to
opt-out from filtering should they want to.
2016-05-06 17:59:41 +08:00
Andrew Nicols
d07c339272 Revert "Merge branch 'MDL-53599' of git://github.com/nhoobin/moodle"
This reverts commit 15a813cda2, reversing
changes made to 6870e1fa77.
2016-05-06 10:18:10 +08:00
Dan Poltawski
ed3a47aad1 MDL-54008 tests: clarify comment in tz test 2016-05-03 09:08:27 +01:00
David Monllao
143f410a2f MDL-54008 tz: Unexisting tz with decimals fallback to rounded down integer 2016-05-03 14:03:09 +08:00
David Monllao
dd215cb1a3 MDL-54008 timezone: Updating references to Caracas tz.
I've removed Caracas direct references because it would fail on
some systems, it would depend on how updated is the olson version
PHP is using.
2016-05-02 15:08:54 +08:00
Simey Lameze
7c2bdca2f6 MDL-52781 core_user: remove invalid countries from unit tests 2016-04-22 14:10:55 +08:00
Andrew Nicols
6ab41abd3e Merge branch 'MDL-52781-master' of git://github.com/lameze/moodle 2016-04-21 15:54:45 +08:00