Compare commits

..

2457 Commits

Author SHA1 Message Date
Dan Poltawski 422f68fb86 Moodle release 2.5beta 2013-04-05 18:03:30 +08:00
Dan Poltawski 1a90b9b6dc fix permissions 2013-04-05 17:56:05 +08:00
Dan Poltawski 0676f20581 ie9 svg compatibility fixes 2013-04-05 17:55:06 +08:00
Dan Poltawski 203a2538d6 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-04-05 17:52:13 +08:00
Damyon Wiese eafa0ba46a Merge branch 'MDL-35073_master' of https://github.com/markn86/moodle 2013-04-05 17:39:13 +08:00
Mark Nelson c517765430 MDL-35073 badges: passed the session key in the enable access URL 2013-04-05 17:10:43 +08:00
Damyon Wiese 8806e79a14 Merge branch 'openbadges-fixes' of https://github.com/danpoltawski/moodle 2013-04-05 17:10:14 +08:00
Dan Poltawski 8b8641876b Merge branch 'MDL-36804-fix3' of git://github.com/damyon/moodle 2013-04-05 16:43:43 +08:00
Damyon Wiese 9f014461db MDL-36804 Assign attempt history: Submit button missing 2013-04-05 16:40:16 +08:00
Dan Poltawski 31f2822a5e Merge branch 'MDL-36804-master-fix2' of git://github.com/damyon/moodle 2013-04-05 16:00:35 +08:00
Damyon Wiese e7af192606 MDL-36804 Assign history: Fix automatic coding error when using auto-reopen method
This fix should call the gradebook function is_passed - but the gradebook is returning a record with
not enough information to create an instance of grade_grade.
2013-04-05 15:53:38 +08:00
Dan Poltawski 2916ca61be MDL-35073 badges: fix incorrect fk name
Good spotting Damyon!
2013-04-05 15:47:15 +08:00
Dan Poltawski bdc518b507 MDL-35073 badges: fix duplicate indexes 2013-04-05 15:27:32 +08:00
Dan Poltawski c39896e85d Revert "MDL-38678 SCORM: Runtime Environment (RTE) checks not required in case of SCO Assets"
This reverts commit fe104762c9.
2013-04-05 14:34:07 +08:00
Damyon Wiese a8fdb36cf2 MDL-36804 Assignment attempt history: Fix warning on saving a new grade.
This is a fix for the case when there is a submission but no grade.
2013-04-05 10:03:00 +08:00
Eloy Lafuente (stronk7) 577173a51f Merge branch 'MDL-38897-master' of git://github.com/danpoltawski/moodle 2013-04-05 03:21:52 +02:00
Damyon Wiese 6aa38ef89a Merge branch 'wip-MDL-38708-master' of git://github.com/marinaglancy/moodle 2013-04-05 09:19:09 +08:00
Eloy Lafuente (stronk7) 6481aafbb8 MDL-38852 repository_recent: add missing type. 2013-04-05 03:06:15 +02:00
Eloy Lafuente (stronk7) c5f4080a10 Merge branch 'MDL-38852-master' of git://github.com/danpoltawski/moodle 2013-04-05 02:51:48 +02:00
Eloy Lafuente (stronk7) dbc5692fc5 Merge branch 'MDL-38883-master' of git://github.com/danpoltawski/moodle 2013-04-05 02:48:37 +02:00
Eloy Lafuente (stronk7) 8f3885f23d Merge branch 'MDL-38886-master' of git://github.com/danpoltawski/moodle 2013-04-05 02:46:15 +02:00
Marina Glancy 97d5e39c49 MDL-38708 Changed test to be more accurate 2013-04-05 10:52:09 +11:00
Andrew Robert Nicols b0fb4c12d7 MDL-38667 JavaScript: Don't use -min files for YUI CSS 2013-04-04 17:18:56 +02:00
Eloy Lafuente (stronk7) c001c51a26 Merge branch 'MDL-36570' of git://github.com/colchambers/moodle 2013-04-04 16:59:34 +02:00
Tim Hunt c7fbfe46f9 MDL-38538 question autosave: fix sequencecheck handling. 2013-04-04 15:32:32 +01:00
Colin Chambers 11a66e2c5a MDL-36570 Grouped question type answer fields now display errors 2013-04-04 15:29:39 +01:00
Tim Hunt e3485c5f75 MDL-38538 quiz autosave: fix JavaScript errors.
1. Make cancelling the delay more robust.
2. Ignore changes in flag state. They are already saved using AJAX.
3. Typo that caused an error when there was no TinyMCE on the page.
2013-04-04 12:32:54 +01:00
Tim Hunt aa81e35847 MDL-38209 quiz css: fix minor regression. 2013-04-04 11:17:39 +01:00
Colin Chambers c3f21ec516 MDL-36570 Added missing calculatedmulti fields 2013-04-04 11:17:33 +01:00
Dan Poltawski 83e353fae9 MDL-38886 course: missing setType calls when adding a new category 2013-04-04 17:22:28 +08:00
Dan Poltawski d60ee78a5f MDL-38883 calendar: fix missing setType
Also remove duplicate sesskey definition (this is done by formslib
internally)
2013-04-04 17:17:37 +08:00
Aparup Banerjee 37240ce5c6 Merge branch 'wip-MDL-38708-master' of git://github.com/marinaglancy/moodle
Conflicts:
	version.php
2013-04-04 15:07:01 +08:00
Dan Poltawski b7d20148a1 MDL-38897 formslib: add unit tests for setType debugging 2013-04-04 14:59:21 +08:00
Dan Poltawski 48056d5459 MDL-38885 - don't test for setType in display() itself
Doing it in _process_submission is enough.
2013-04-04 14:58:14 +08:00
Damyon Wiese 6ed18a6828 Merge branch 'MDL-38633' of git://github.com/stronk7/moodle 2013-04-04 14:26:15 +08:00
Dan Poltawski 589fe9c85d Merge branch 'MDL-38590_master-fix-behat' of git://github.com/dmonllao/moodle 2013-04-04 14:05:17 +08:00
David Monllao b0f0995b09 MDL-38590 behat: Fixing broken behat test 2013-04-04 13:54:40 +08:00
David Monllao b82e0c17fb MDL-38691 behat: Fixing behat tests 2013-04-04 13:52:24 +08:00
Damyon Wiese 57bc1beb1b MDL-37009 Course - Fix typo in new lang string. 2013-04-04 11:24:13 +08:00
Damyon Wiese 200571507f Merge branch 'wip-MDL-37009-master' of git://github.com/marinaglancy/moodle 2013-04-04 11:22:20 +08:00
Dan Poltawski f88ff0e7cf Merge branch 'MDL-38861' of git://github.com/stronk7/moodle 2013-04-04 11:00:01 +08:00
Damyon Wiese 1b774df9a7 MDL-35073 Open badges - close session before making curl request to check backpack server. 2013-04-04 10:39:51 +08:00
Damyon Wiese b38f932abf Merge branch 'MDL-38823_master-fix' of git://github.com/dmonllao/moodle 2013-04-04 10:34:50 +08:00
AMOS bot a2c27c823a Automatically generated installer lang files 2013-04-04 00:36:08 +00:00
Eloy Lafuente (stronk7) 0c7ad0ab13 Merge branch 'MDL-38612-master-int' of git://github.com/FMCorz/moodle 2013-04-04 01:15:34 +02:00
Eloy Lafuente (stronk7) 1b882ab87b Merge branch 'MDL-38590-master-int' of git://github.com/FMCorz/moodle 2013-04-04 01:14:36 +02:00
Eloy Lafuente (stronk7) 33871fbf3e Merge branch 'MDL-38751-master' of git://github.com/FMCorz/moodle 2013-04-04 01:07:23 +02:00
Eloy Lafuente (stronk7) 5c98b64b00 Merge branch 'MDL-38666-m' of git://github.com/andrewnicols/moodle 2013-04-04 01:04:00 +02:00
Eloy Lafuente (stronk7) 235fc2562c Merge branch 'MDL-38667-m' of git://github.com/andrewnicols/moodle 2013-04-04 01:02:20 +02:00
Eloy Lafuente (stronk7) a37a698417 Merge branch 'MDL-38611-master-int' of git://github.com/FMCorz/moodle 2013-04-04 00:53:05 +02:00
Eloy Lafuente (stronk7) 75fb383260 Merge branch 'MDL-38599-master-int' of git://github.com/FMCorz/moodle
Conflicts:
	mod/glossary/mod_form.php
2013-04-04 00:51:47 +02:00
Eloy Lafuente (stronk7) 68a6d3cd9f Merge branch 'MDL-38645-master' of git://github.com/FMCorz/moodle 2013-04-04 00:34:24 +02:00
Eloy Lafuente (stronk7) 76d86181a3 Merge branch 'wip-mdl-38494' of git://github.com/rajeshtaneja/moodle 2013-04-03 23:45:40 +02:00
Eloy Lafuente (stronk7) 1ca5ce1b33 Merge branch 'MDL-36570' of git://github.com/timhunt/moodle 2013-04-03 23:09:19 +02:00
Eloy Lafuente (stronk7) 896efbeadb Merge branch 'MDL-38756-m' of git://github.com/andrewnicols/moodle 2013-04-03 21:59:18 +02:00
Eloy Lafuente (stronk7) 0e864c3f21 Merge branch 'MDL-38733-workshop-rubric-css' of git://github.com/mudrd8mz/moodle 2013-04-03 20:06:49 +02:00
Eloy Lafuente (stronk7) 2a5e0d6321 Merge branch 'MDL-38815_master' of git://github.com/dmonllao/moodle 2013-04-03 19:48:02 +02:00
Eloy Lafuente (stronk7) 7191a59fc9 Merge branch 'MDL-38615_master' of git://github.com/dmonllao/moodle 2013-04-03 17:12:04 +02:00
Eloy Lafuente (stronk7) 6b117438b9 Merge branch 'MDL-38482_master' of git://github.com/dmonllao/moodle 2013-04-03 16:48:42 +02:00
Eloy Lafuente (stronk7) ad46ea0b2f MDL-38861 upload users: add missing setType() calls. 2013-04-03 16:18:38 +02:00
Dan Poltawski 626403eb73 Merge branch 'MDL-38538_clean' of git://github.com/timhunt/moodle 2013-04-03 20:22:03 +08:00
Eloy Lafuente (stronk7) 57902e2738 Merge branch 'MDL-38619_master' of git://github.com/dmonllao/moodle 2013-04-03 13:33:16 +02:00
Eloy Lafuente (stronk7) c9f8620492 Merge branch 'MDL-26956' of git://github.com/timhunt/moodle 2013-04-03 13:20:23 +02:00
Tim Hunt d2e32121b0 MDL-26956 user selector: fix regressions sam caused. 2013-04-03 11:44:23 +01:00
Tim Hunt 000fbcf2bd MDL-38538 quiz autosave: fix language string.
This feature does not actually provide spiritual salvation.
2013-04-03 11:23:41 +01:00
Dan Poltawski aed60c64af Merge branch 'MDL-36804-master' of git://github.com/damyon/moodle 2013-04-03 17:32:15 +08:00
Damyon Wiese e84900648b MDL-36804 Assign attempt history: Fix course unit tests
Handle missing attemptreopenmethod in add/update instance.
2013-04-03 17:31:12 +08:00
Dan Poltawski 369496c31e Merge branch 'm25_MDL-38678_SCORM_RTE_not_required_for_SCO_Assets' of https://github.com/scara/moodle 2013-04-03 17:22:38 +08:00
Dan Poltawski 41b9392daa Merge branch 'MDL-38657_master' of git://github.com/lazydaisy/moodle 2013-04-03 16:50:43 +08:00
Aparup Banerjee b8eb2f3dc6 Merge branch 'm25_MDL-38745_SCORM_API_Debugging_trivial_issue' of git://github.com/scara/moodle 2013-04-03 16:48:53 +08:00
Dan Poltawski 71573249ae Merge branch 'MDL-36804-master' of git://github.com/damyon/moodle 2013-04-03 16:47:15 +08:00
Damyon Wiese c9c34c7a65 MDL-36804 Assign attempt history - Add missing index to upgrade step. 2013-04-03 16:44:31 +08:00
Aparup Banerjee 7a2a430aa5 Merge branch 'MDL-38809' of git://github.com/timhunt/moodle 2013-04-03 16:32:42 +08:00
Dan Poltawski 5cc929bc12 Merge branch 'MDL-38691-master-int' of git://github.com/FMCorz/moodle 2013-04-03 16:27:16 +08:00
Dan Poltawski 5e45f6a569 Merge branch 'MDL-36804-master' of git://github.com/damyon/moodle 2013-04-03 16:18:50 +08:00
Damyon Wiese 74c9283854 MDL-36804: Assign attempt history - add upgrade.txt 2013-04-03 16:16:21 +08:00
Damyon Wiese 82b175e868 Merge branch 'w13_MDL-38627_m25_byteservingstop' of git://github.com/skodak/moodle 2013-04-03 15:48:35 +08:00
Dan Poltawski 89ea5ecd45 Merge branch 'MDL-37602-workshop-overall-feedback' of git://github.com/mudrd8mz/moodle 2013-04-03 15:39:48 +08:00
Damyon Wiese b64a05b996 MDL-26644 Course - Remove completion tracking begins on enrolment setting from behat. 2013-04-03 15:30:49 +08:00
David Mudrák 5582ea0a9b MDL-37602 Fix broken workshop unit tests 2013-04-03 09:28:11 +02:00
Damyon Wiese 9855770d6c Merge branch 'MDL-38610-master-int' of git://github.com/FMCorz/moodle 2013-04-03 14:48:06 +08:00
Dan Poltawski 998c5996e0 Merge branch 'MDL-38808' of git://github.com/jmvedrine/moodle 2013-04-03 14:46:58 +08:00
Damyon Wiese 6fb437b2bb Merge branch 'MDL-38705' of git://github.com/jonof/moodle 2013-04-03 14:35:12 +08:00
Damyon Wiese dcf6318515 MDL-26644 Course - Version bump for upgrade script. 2013-04-03 14:32:19 +08:00
Damyon Wiese 7bf602d9d3 Merge branch 'MDL-26644-master' of git://github.com/FMCorz/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
2013-04-03 14:32:11 +08:00
Dan Poltawski dc4260d918 Merge branch 'MDL-38681-master-int' of git://github.com/FMCorz/moodle 2013-04-03 14:27:08 +08:00
Damyon Wiese fab5cb3604 MDL-36804: Assign resubmission history - remove locked/mailed
Remove locked/mailed flags from the grade record in the unit tests.
It just would not have done anything because the columns dont exist.
2013-04-03 14:17:00 +08:00
Dan Poltawski ac8bc0f947 Merge branch 'MDL-34640' of git://github.com/timhunt/moodle 2013-04-03 13:57:02 +08:00
David Monllao 7a6204ce1d MDL-38823 behat: Fixing related scenarios 2013-04-03 13:56:31 +08:00
David Monllao 060bafefe3 MDL-38823 behat: New behat_form_radio
To deal with radio inputs after allowing
behat_form_field to delegate in specific
fields managers. It also fixes a BIG issue
when calling a no required class.
2013-04-03 13:55:42 +08:00
Dan Poltawski ba98c8ab54 Merge branch 'MDL-38855_master' of git://github.com/dmonllao/moodle 2013-04-03 12:44:05 +08:00
Dan Poltawski f27be4c1aa Merge branch 'MDL-37602-workshop-overall-feedback' of git://github.com/mudrd8mz/moodle 2013-04-03 12:30:12 +08:00
Damyon Wiese 178652e9eb MDL-10516 Question Type - Fix upgrade code so new install matches upgrade. 2013-04-03 12:21:04 +08:00
Damyon Wiese 25f6019128 MDL-10516 Question Type - Essay - Whitespace fix 2013-04-03 11:30:42 +08:00
Jean-Michel Vedrine 60527d0c34 MDL-10516 Pre-populated answer (template) in essay questions 2013-04-03 11:30:42 +08:00
Dan Poltawski eed5bb7468 MDL-38509 Version bump for plugins installation 2013-04-03 11:29:56 +08:00
Dan Poltawski 6833c6d901 Merge branch 'MDL-38509-tool-installaddon' of git://github.com/mudrd8mz/moodle 2013-04-03 11:28:49 +08:00
Dan Poltawski b53ae61482 MDL-38852 repository_webdav: missing setType calls 2013-04-03 11:14:02 +08:00
Dan Poltawski 8077527c5d MDL-38852 repository_s3: fix missing setType calls 2013-04-03 11:14:02 +08:00
Dan Poltawski 98328cf646 MDL-38852 repository_merloy: fix missing setType calls 2013-04-03 11:14:01 +08:00
Dan Poltawski 13eeb23cc2 MDL-38852 flickr_public: fix missing setType calls 2013-04-03 11:14:01 +08:00
Dan Poltawski 5077e85817 MDL-38852 repository_flickr: fix missing setType calls 2013-04-03 11:14:00 +08:00
Dan Poltawski 19b733d12b MDL-38852 repository_boxnet: fix missing setType calls 2013-04-03 11:13:59 +08:00
Dan Poltawski 88ded989f9 MDL-38852 repository_alfresco: fix missing setType calls 2013-04-03 11:13:58 +08:00
Dan Poltawski 8fb59b10fc MDL-38852 repository_filesystem: missing setType calls 2013-04-03 11:13:58 +08:00
Dan Poltawski 63745aef3c MDL-38852 repository_dropbox: fix missing setType calls 2013-04-03 11:13:57 +08:00
David Monllao 238a6572c9 MDL-38855 blocks: Fix missing setType calls 2013-04-03 11:11:01 +08:00
Damyon Wiese 686730243e MDL-38016 Theme Bootstrap: Fix for unit tests undefined variable 2013-04-03 10:58:23 +08:00
David Monllao 7fcf94cb1a MDL-38615 behat: New test
According to MDLQA-1160, a manager
can configure a block to display
throughout the site.
2013-04-03 10:33:24 +08:00
Damyon Wiese 29c1fb339d MDL-38016 Theme Bootstrap - Add bootstrap to standard themes list. 2013-04-03 10:26:12 +08:00
David Monllao d2eca4cd0f MDL-38482 behat: Data generator for system assigns
Chaning also the adapt_ prefix for non-direct
data generator uses to process_ because not all
of behat's data generators would have a lib/testing
data generator to share with phpunit tests.
2013-04-03 10:09:18 +08:00
David Monllao 1045bfecd1 MDL-38482 behat: New test
According to MDLQA-1756 the maximum
number of weeks/topics for course can be
configured and not restricted to 52.
2013-04-03 10:08:03 +08:00
Damyon Wiese d9df063e3a MDL-38016 Theme Bootstrap - Whitespace in Moodle .less files 2013-04-03 10:02:55 +08:00
Dan Poltawski 0bcdbb7ff1 Merge branch 'MDL-38735' of git://github.com/stronk7/moodle 2013-04-03 09:59:01 +08:00
Dan Poltawski 89cc9816dc Merge branch 'MDL-38538_clean' of git://github.com/timhunt/moodle 2013-04-03 09:55:21 +08:00
David Monllao df1ff55d7a MDL-38482 behat: Steps definitions for course management
- To access the course management page
- To create a course based in a table
2013-04-03 09:44:31 +08:00
Damyon Wiese c985d1217c MDL-38016 Theme Bootstrap - Add license information to lib/thirdpartylibs.xml
Also minor formatting cleanup.
2013-04-03 09:43:18 +08:00
Bas Brands 8903b17b01 MDL-38016 Themes - Add a bootstrap theme to core
This theme has been contributed by:
Bas Brands <bmbrands@gmail.com>
David Scotson <david.scotson@glasgow.ac.uk>
Michael Aherne <michael.aherne@strath.ac.uk>
Stuart Lamour <thisismyrice@gmail.com>

Thanks for your hard work.
2013-04-03 09:43:18 +08:00
David Monllao a8a4849518 MDL-38482 behat: Allow frontpage course role assigns
There are no enrolment plugins at frontpage
course level.
2013-04-03 09:43:10 +08:00
Eloy Lafuente (stronk7) 636376947c Merge branch 'MDL-38738-master' of git://github.com/danpoltawski/moodle 2013-04-03 03:17:08 +02:00
AMOS bot 683c65b74f Automatically generated installer lang files 2013-04-03 00:35:43 +00:00
Eloy Lafuente (stronk7) 5ae69b2aed MDL-38735 backup: add missing setType() to forms 2013-04-03 02:17:40 +02:00
David Mudrák 3e6a8aeb7c MDL-38509 Unify curl class usage in the add-on installer tool
Both classes using cURL features now access it via the core curl wrapper
class. Credit goes to Dan Poltawski for spotting the previous discrepancy
during the integration review.
2013-04-02 23:11:01 +02:00
Eloy Lafuente (stronk7) a2f667472e Merge branch 'm25_MDL-38790_Missing_setType_in_My_private_files_form' of https://github.com/scara/moodle 2013-04-02 21:06:21 +02:00
Eloy Lafuente (stronk7) 991dcb1b82 Merge branch 'MDL-38690_master' of git://github.com/dmonllao/moodle 2013-04-02 21:01:52 +02:00
Eloy Lafuente (stronk7) d3f422bdc1 Merge branch 'MDL-38687_master' of git://github.com/dmonllao/moodle 2013-04-02 20:46:05 +02:00
Eloy Lafuente (stronk7) 80430739d9 Merge branch 'MDL-38785_master' of git://github.com/dmonllao/moodle 2013-04-02 20:41:00 +02:00
Eloy Lafuente (stronk7) a534e06e47 Merge branch 'MDL-38616_master' of git://github.com/dmonllao/moodle 2013-04-02 18:35:41 +02:00
Tim Hunt d122fe3245 MDL-38538 question autosave: fix missing method.
Also change the unit tests to detect this problem.
2013-04-02 16:53:25 +01:00
David Mudrák c9c4d0b24e MDL-38509 Fix false unit test failures in the add-on installer
Previously, the testable validator's get_plugintype_location() used to
return path to a directory that itself did not need to be writable. This
was causing false failures. This patch reimplements the testable
validator's get_plugintype_location() method so that it returns a path
inside $CFG->tempdir which is always writable.

Also, to make all test methods consistent, all of them now use the
testable_tool_installaddon_validator class. Before this patch, some test
methods used the testable class and some used the parent class.
2013-04-02 16:58:12 +02:00
Damyon Wiese 594d66c27e MDL-38840 Statslib - Fix failing unit tests on ci server (DST change) 2013-04-02 16:47:04 +02:00
Eloy Lafuente (stronk7) 871da25a40 Merge branch 'MDL-38622_master' of git://github.com/dmonllao/moodle 2013-04-02 15:51:17 +02:00
David Monllao 08aa2c3b81 MDL-38549 behat: New tests
Group mode activity icons toggle group
mode correctly. According to MDLQA-1603,
MDLQA-1604, MDLQA-1605, MDLQA-1606
and MDLQA-1607
2013-04-02 15:46:38 +02:00
Eloy Lafuente (stronk7) c9a66fc2b5 MDL-38811 behat: whitespace fixes 2013-04-02 15:45:19 +02:00
David Monllao 46ef87c535 MDL-38811 behat: New test
According to MDLQA-1564, a teacher can
indent items on the course page
2013-04-02 15:44:05 +02:00
Eloy Lafuente (stronk7) 7fb5b7fae1 Merge branch 'MDL-38548_master' of git://github.com/dmonllao/moodle 2013-04-02 15:25:19 +02:00
Dan Poltawski 881afa48bf MDL-38821 enrol_paypal: fix cost param type 2013-04-02 20:05:39 +08:00
Dan Poltawski 6842ab4455 Merge branch 'MDL-38821_master' of git://github.com/dmonllao/moodle 2013-04-02 19:54:46 +08:00
Dan Poltawski 15c2b2c43a Merge branch 'MDL-26956' of git://github.com/timhunt/moodle 2013-04-02 19:49:02 +08:00
Tim Hunt 0e0a980631 MDL-26956 enrol form: add missing setType calls. 2013-04-02 11:57:12 +01:00
Dan Poltawski 73b8f191cc MDL-35073 badges: fix xmldb editor diff
Tut tut tut!
2013-04-02 16:30:42 +08:00
Dan Poltawski eee20b123b Merge branch 'wip-mdl-38344' of git://github.com/rajeshtaneja/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-04-02 16:23:44 +08:00
Damyon Wiese cc067484a8 Merge branch 'MDL-38711-master' of git://github.com/danpoltawski/moodle 2013-04-02 16:17:25 +08:00
Damyon Wiese 5423f9a0af Merge branch 'MDL-38712-master' of git://github.com/danpoltawski/moodle 2013-04-02 16:14:44 +08:00
Dan Poltawski 899fd9372f Merge branch 'master_MDL-38715' of git://github.com/danmarsden/moodle 2013-04-02 16:11:01 +08:00
Damyon Wiese 2188a69799 MDL-35073 Badges - Set of minor fixes for issues found during integration 2013-04-02 15:55:21 +08:00
Yuliya Bozhko 278065528a MDL-35073 badges: Open badges integration
The badges feature allows to integrate Mozilla "Open Badges" to issue, assign,
manage and display digital badges in Moodle. This feature supports:
-- badge creation and issuing based on criteria
-- badge baking and verification service
-- direct pushing of internal badges to external backpack
-- interanl and external badge display in Moodle
-- Moodle block to display latest badges
2013-04-02 15:49:02 +08:00
David Monllao 1ad8902820 MDL-38821 enrol_self: Fixing setType missing calls 2013-04-02 15:39:44 +08:00
David Monllao eeb6c4ace8 MDL-38821 enrol_paypal: Fixing setType missing calls 2013-04-02 15:37:21 +08:00
David Monllao 361c4da2fb MDL-38821 enrol_manual: Fixing setType missing calls 2013-04-02 15:37:11 +08:00
David Monllao 3de603a175 MDL-38821 enrol_cohort: Fixing setType missing calls 2013-04-02 15:37:00 +08:00
Dan Poltawski ec6089f07b Merge branch 'MDL-38455-master-int' of git://github.com/FMCorz/moodle 2013-04-02 14:53:28 +08:00
Dan Poltawski 534ee16ec0 MDL-35603 backup: fix coding style issues 2013-04-02 14:30:50 +08:00
Dan Poltawski 92d1453bcb Merge branch 'MDL-35603-import-limit' of git://github.com/rlorenzo/moodle 2013-04-02 14:25:35 +08:00
David Monllao bdf808de30 MDL-38687 behat: New test
According to MDLQA-4590, an admin
can restore a course back up with
it's settings retained.
2013-04-02 14:14:01 +08:00
David Monllao 44d5af386c MDL-38687 behat: Add activity step modification
We are only supposed to look for
the activity name in @class=typename
2013-04-02 14:13:57 +08:00
Damyon Wiese 95bef9d170 MDL-36804 Assign: Fix undeclared global $USER and undefined variable $userid 2013-04-02 13:44:25 +08:00
Damyon Wiese 3a9dc7f22f MDL-36804 Assign submission history - One language string change. 2013-04-02 13:37:51 +08:00
Damyon Wiese 7b647abcb8 MDL-36804 Assignment submisison history - fix width column
Fix the width of the left column in the history and submission tables so
they all line up on the page.
2013-04-02 13:37:51 +08:00
Damyon Wiese a13fbf5fe8 MDL-36804 Assignment - Make sure webservice only returns the last submission/grade. 2013-04-02 13:37:51 +08:00
Damyon Wiese df211804f1 MDL-36804 mod_assign - allow students to resubmit work and display a submission + grading history
This is based on work by Davo Smith with input from Fernando Oliveira (Thanks guys!).
2013-04-02 13:37:51 +08:00
Damyon Wiese bf6c1d0997 Merge branch 'MDL-38713-master' of git://github.com/danpoltawski/moodle 2013-04-02 13:23:00 +08:00
David Monllao 6cf9a42f6f MDL-38690 behat: New test
According to MDLQA-327, a teacher can
import data from another course.
2013-04-02 13:00:30 +08:00
Damyon Wiese 9ab0aece49 Merge branch 'MDL-38700-master' of git://github.com/danpoltawski/moodle
Conflicts:
	course/tests/courselib_test.php
2013-04-02 12:48:08 +08:00
David Monllao 2cca40c82b MDL-38785 behat: Steps definitions to add and delete comments 2013-04-02 12:07:19 +08:00
David Monllao 1fb1ccd545 MDL-38785 behat: New tests
According to MDLQA-943, users can
add comments via a comments block
2013-04-02 12:07:19 +08:00
Dan Poltawski 08e5aed273 Merge branch 'MDL-38825' of git://github.com/stronk7/moodle 2013-04-02 11:49:24 +08:00
David Monllao 739ac54ab0 MDL-38622 behat: New tests
Navigation works correctly in paged
mode, according to MDLQA-1633, MDLQA-1639,
MDLQA-1645, MDLQA-1646, MDLQA-1647,
MDLQA-1648, MDLQA-1649, MDLQA-1651,
MDLQA-1652, MDLQA-1653, MDLQA-1654
and MDLQA-1655.
2013-04-02 11:47:26 +08:00
Dan Poltawski bf9613dd41 Merge branch 'MDL-38538_clean' of git://github.com/timhunt/moodle 2013-04-02 11:27:32 +08:00
Dan Poltawski cbaeabbe47 Merge branch 'MDL-38702_master' of git://github.com/lazydaisy/moodle 2013-04-02 10:04:26 +08:00
Eloy Lafuente (stronk7) a5efbe6161 Merge branch 'MDL-38814_master' of git://github.com/dmonllao/moodle 2013-04-02 03:30:30 +02:00
Eloy Lafuente (stronk7) 51cae58998 Merge branch 'MDL-38689_master' of git://github.com/dmonllao/moodle 2013-04-02 02:41:44 +02:00
Eloy Lafuente (stronk7) d6dc3019b6 Merge branch 'MDL-38686_master' of git://github.com/dmonllao/moodle 2013-04-02 02:41:33 +02:00
Eloy Lafuente (stronk7) 1c49f7ad19 Merge branch 'MDL-38688_master' of git://github.com/dmonllao/moodle 2013-04-02 02:41:25 +02:00
Eloy Lafuente (stronk7) 49b902f858 MDL-38621 behat: whitespace fix 2013-04-02 02:28:40 +02:00
Eloy Lafuente (stronk7) 342c3f3e6c Merge branch 'MDL-38621_master' of git://github.com/dmonllao/moodle 2013-04-02 02:27:10 +02:00
Eloy Lafuente (stronk7) 3e27548431 Merge branch 'MDL-38620_master' of git://github.com/dmonllao/moodle 2013-04-02 02:26:54 +02:00
Marina Glancy d1f8c1bd62 MDL-38708 Added course overview files (most often images) to courses 2013-04-02 11:08:21 +11:00
Marina Glancy ddbf9b6bd2 MDL-37009 Display course info as a page instead of popup 2013-04-02 10:58:24 +11:00
Marina Glancy 09ae7ee031 MDL-37009 Deprecated all courses display functions that are not used any more
print_my_moodle(), print_remote_course(),
  print_remote_host(), print_whole_category_list(), print_category_info(), get_course_category_tree(),
  print_courses(), print_course(), get_category_courses_array(), get_category_courses_array_recursively()
2013-04-02 10:58:24 +11:00
Marina Glancy 99a364564f MDL-37009 Use new renderers for frontpage course and category listings 2013-04-02 10:58:23 +11:00
Marina Glancy f53703b7be MDL-37009 new course listings: changes to canvas and other themes:
canvas-based themes: formal_white, magazine, splash
2013-04-02 10:58:18 +11:00
Marina Glancy 202f73f3b4 MDL-37009 new course listings: changes to base, standard and afterburner themes 2013-04-02 10:54:50 +11:00
Marina Glancy 9e76429dad MDL-37009 Display list of tagged courses using new renderer 2013-04-02 10:54:50 +11:00
Marina Glancy 6004700329 MDL-37009 Display course search results using new renderer methods 2013-04-02 10:54:49 +11:00
Marina Glancy 837d548eb2 MDL-37009 moved editing functionality from course/search.php to course/manage.php 2013-04-02 10:54:49 +11:00
Marina Glancy 8e57a6df6d MDL-37009 Display courses and categories tree on /course/index.php using new renderer
Also /course/category.php
2013-04-02 10:54:49 +11:00
Marina Glancy 9176cdb632 MDL-37009 Added function core_course_renderer::courses_list() similar to print_courses() 2013-04-02 10:54:49 +11:00
Marina Glancy e2d70cca57 MDL-37009 Display single course info box using new course listings renderer
Header is removed from /course/info.php because it is now part of renderer function
2013-04-02 10:54:49 +11:00
Marina Glancy 43e389eabf MDL-37009 Created functions in core_course_renderer to display courses and categories listings 2013-04-02 10:54:48 +11:00
Marina Glancy a8d683ca8e MDL-37009 function print_course_search() is moved to deprecatedlib.php 2013-04-02 10:54:48 +11:00
Marina Glancy f4b571ab2b MDL-37009 function print_course_search() is moved to course renderer 2013-04-02 10:54:48 +11:00
Eloy Lafuente (stronk7) 12879418e9 Merge branch 'MDL-38823_master' of git://github.com/dmonllao/moodle
Conflicts:
	mod/forum/tests/behat/behat_mod_forum.php
2013-04-02 01:47:40 +02:00
Eloy Lafuente (stronk7) 23726a43d4 Merge branch 'MDL-38805_master' of git://github.com/dmonllao/moodle 2013-04-02 01:45:43 +02:00
Eloy Lafuente (stronk7) cd4c7e9af4 Merge branch 'MDL-38804_master' of git://github.com/dmonllao/moodle 2013-04-02 01:44:59 +02:00
Eloy Lafuente (stronk7) 0f8fd3a7eb Merge branch 'MDL-38477_master' of git://github.com/dmonllao/moodle 2013-04-02 01:06:18 +02:00
Eloy Lafuente (stronk7) 2bb24f16e0 Merge branch 'MDL-38476_master' of git://github.com/dmonllao/moodle 2013-04-02 01:06:05 +02:00
Eloy Lafuente (stronk7) 55a2081d28 Merge branch 'MDL-38475_master' of git://github.com/dmonllao/moodle 2013-04-02 01:04:44 +02:00
Eloy Lafuente (stronk7) c1bccc8ef5 Merge branch 'MDL-38439_master' of git://github.com/dmonllao/moodle 2013-04-02 01:04:31 +02:00
Eloy Lafuente (stronk7) 9f0700fb6c Merge branch 'MDL-38437_master' of git://github.com/dmonllao/moodle 2013-04-02 01:03:26 +02:00
Eloy Lafuente (stronk7) 62eb5c466e MDL-38547 behat: coding style fixes. 2013-04-01 22:40:50 +02:00
Eloy Lafuente (stronk7) 54e48dc32d Merge branch 'MDL-38547_master' of git://github.com/dmonllao/moodle 2013-04-01 22:32:06 +02:00
Eloy Lafuente (stronk7) c57c57c575 Merge branch 'MDL-38499_master' of git://github.com/dmonllao/moodle 2013-04-01 22:23:58 +02:00
Eloy Lafuente (stronk7) 0251a62500 Merge branch 'MDL-38486_master' of git://github.com/dmonllao/moodle 2013-04-01 22:17:12 +02:00
Eloy Lafuente (stronk7) c5f6371f04 MDL-38825 behat: fix composer install url 2013-04-01 18:55:34 +02:00
Eloy Lafuente (stronk7) d4a5896f8a Merge branch 'MDL-38817_master' of git://github.com/dmonllao/moodle 2013-04-01 13:25:31 +02:00
Eloy Lafuente (stronk7) 68adfee6d4 Merge branch 'MDL-38788_master' of git://github.com/dmonllao/moodle 2013-04-01 13:17:20 +02:00
Eloy Lafuente (stronk7) b216376811 Merge branch 'MDL-38787_master' of git://github.com/dmonllao/moodle 2013-04-01 13:12:08 +02:00
David Monllao be0e1825d3 MDL-38823 behat: New test
According to MDLQA-521, a teacher can set a certain
number of discussions as a completion condition for
a forum.
2013-04-01 17:52:46 +08:00
David Monllao 7bc7625e04 MDL-38823 behat: Make default form field manage different HTML elements 2013-04-01 17:51:54 +08:00
David Monllao 125765ed18 MDL-38437 behat: Behat feature for mod_forum
Basic add an activity, MDLQA-2 (students
can edit or delete their forum posts within
a set time limit).
2013-04-01 16:27:16 +08:00
David Monllao 74508a5ddb MDL-38437 behat: Step definition to add a discussion 2013-04-01 16:27:09 +08:00
Jean-Michel Vedrine 9219089a72 MDL-38808 Remove deprecated unzip_file from qformat blackboard_six 2013-04-01 09:34:07 +02:00
David Monllao 424f56fc90 MDL-38817 behat: New test
According to MDLQA-50, in a survey activity
a teacher can set three types of survey
2013-04-01 13:57:01 +08:00
David Monllao f076b0d43f MDL-38805 behat: Steps definitions to check students completed activities 2013-04-01 12:32:25 +08:00
David Monllao abc38a9738 MDL-38805 behat: New test
According to MDLQA-511, a teacher can
enable students to manually mark an activity
as complete.
2013-04-01 12:32:25 +08:00
David Monllao 3a4d76ac3d MDL-38805 behat: Externalized behat_form_field loader 2013-04-01 12:32:25 +08:00
David Monllao e7a0600b88 MDL-38804 behat: Step definition to set site administration settings 2013-04-01 12:31:48 +08:00
David Monllao 4569bc7ce8 MDL-38804 behat: New test
According to MDLQA-1780, a teacher can
set completion conditions to restrict
the availability of a section
2013-04-01 12:31:47 +08:00
David Monllao 693969b5c1 MDL-38815 behat: New test
According to MDLQA-1768, a file can be
deleted from the file manager.
2013-04-01 12:28:27 +08:00
David Monllao 5bc64b0fab MDL-38814 behat: Deleting old files 2013-04-01 12:22:43 +08:00
David Monllao 95932c376b DML-38814 behat: Split steps definitions tests into features 2013-04-01 12:22:40 +08:00
David Monllao d87bbb3d3d MDL-38814 behat: Move filepicker steps definitions to repository/ 2013-04-01 12:16:57 +08:00
David Monllao 1c00d6f636 MDL-38788 behat: Add a block and add an activity steps definitions compatible with JS disabled 2013-04-01 11:18:33 +08:00
David Monllao cd7ea8f0cc MDL-38788 behat: Generic form elements interaction compatibile with JS disabled 2013-04-01 11:18:33 +08:00
David Monllao c94a0d1890 MDL-38788 behat: New tests with Javascript disabled
Add a block and add an activity/resource
tests. The add an activity with JS disabled
test includes MDLQA-2446 automation.
2013-04-01 11:17:45 +08:00
Jonathon Fowler c8845ca917 MDL-38705 qformat_blackboard_six: use qti title as category name
Specifically, the title on the 'assessment' element is used.
2013-03-31 14:00:01 +10:00
Mary Evans 46b086f145 MDL-38657 theme_base: fixes misalignment issue in User Report page. 2013-03-31 02:13:51 +01:00
Tim Hunt dc1ee5cb29 MDL-34640 question repsponse files: remaining tidy up of this code. 2013-03-30 21:16:18 +00:00
Mathieu Petit-Clair d0782585c8 MDL-34640: adding code to pass contextid and question type to question_file_loader. 2013-03-30 19:57:03 +00:00
Tim Hunt 8a1e7b7756 MDL-34640 quesion reponse files: PARTIAL SOLUTION to allowing resonse files to be graded automatically. 2013-03-30 19:53:15 +00:00
Tim Hunt 0561fdf167 MDL-38809 quiz manual grading: delete expensive unnecssary code. 2013-03-30 17:25:52 +00:00
David Mudrák b2a138a20f MDL-38509 Escalate the maturity level of the plugin
The API is considered stable now and there should not be a need to
change it.
2013-03-29 01:30:00 +01:00
David Mudrák 0a6a344d29 MDL-38509 Add hook for the installaddonrequest into admin/index.php
If the user selects a plugin in Moodle plugins directory to be installed
into their site, Moodle plugins directory will redirect them into their
site's admin/index.php script, providing the installaddonrequest
parameter.

This patch makes sure that only if the user is logged-in as the admin
and the site is fully installed and up-to-date, the add-on installation
request will be dispatched to the tool_installaddon for actual
processing.

We need to store the installaddonrequest value in the $PAGE's URL so
that is is stored in $SESSION->wantsurl in case the user needs to log in
at their site. Thanks to this, the request is dispatched after the user
logs in.
2013-03-29 01:00:16 +01:00
David Mudrák af96f120e9 MDL-38509 Add ability to install add-ons from the remote repository
There is a new hook in the index.php file. If valid HTTP parameter
installaddonrequest is detected, the installer asks the administrator to
confirm the request.

If confirmed, the installer calls download.moodle.org/api/1.2/pluginfo.php
service to get information about the given plugin version. The essential
data are the URL of the ZIP to download and the MD5 hash of the ZIP.
These data must be fetched via HTTPS to protect against MiM attack.

If the ZIP is downloaded and the MD5 content hash is correct, the user
is redirected to the previously implemented ZIP validation page, as if
the ZIP was uploaded manually.

The valid format of the installaddonrequest is documented via the
test_decode_remote_request() unit test method.
2013-03-29 00:16:06 +01:00
Rex Lorenzo c4dbfb2c91 MDL-35603 - Backup - Course import selector notice
* added new config option to determine length of courses returned by import
* added text indicator if there are more than X number of courses, similar to how the restore course list currently works
2013-03-28 15:24:51 -07:00
Matteo Scaramuccia fd10686843 MDL-38745 SCORM: fixed appending 'API logging is on|off', once per launch 2013-03-28 22:28:06 +01:00
Matteo Scaramuccia cc351edaf0 MDL-38745 SCORM: fixed doubling double quotes for 'even' and 'odd' 2013-03-28 22:28:03 +01:00
Matteo Scaramuccia fe104762c9 MDL-38678 SCORM: Runtime Environment (RTE) checks not required in case of SCO Assets 2013-03-28 22:22:19 +01:00
Matteo Scaramuccia 0f7d527816 MDL-38790 Repositories: missing call to setType in 'My private files' form 2013-03-28 22:12:53 +01:00
Colin Chambers c7218aef8d MDL-36570 question editing: group answer/choice fields better. 2013-03-28 17:25:45 +00:00
Tim Hunt 595708884a MDL-38538 quiz auto-save front end.
1. There is a new admin setting to control whether this feature is
enabled. The admin can set the auto-save frequency to 1, 2 or 5 minutes,
or disable it.

2. When autosave is enabled, there is code in the quiz that monitors the
main quiz form, and does an ajax save call at the given frequency when
changes are being made by the student.

3. The ajax saves go to a new script that calls the question engine to
do the work.

4. To avoid simultaneous autosave + submit and finish, the auto-save
system shuts down shortly before time expires in a timed quiz.
2013-03-28 16:57:24 +00:00
Tim Hunt 0a606a2be2 MDL-38538 question auto-save back end.
1. Autosave works in some ways just like a normal save. We ultimately
call $behaviour->process_save() to do the work, and create a new step to
hold the data.

2. However, we come in through a completely different route through the
API, starting with separate auto-save methods. This keeps the auto-save
changes mostly separate, and so reduced the chance of breaking existing
working code.

3. When the time comes to store the auto-save step in the database, we
save it using a negative sequence number.

This is a clever trick that not only distinguises these steps, but also
avoids unique key errors when an auto-save and a real action happen
simultaneously. (There are unit tests for these tricky edge cases.)

4. When we load the data back from the database, most of the time the
auto-save steps are loaded back as if they were a real save, and so the
auto-saved data is used when the question is then rendered.

5. However, before we process another action, we remove the auto-saved
step, so it does not appear in the final history.
2013-03-28 16:51:59 +00:00
Tim Hunt eca230b521 MDL-38538 question unit tests: improve things a bit.
1. Split the question_attempt tests into one class per file.
2. Imporve the API to give tests more control, and to test more of the
   important code. Some of this is not used here, but it is about to be.
2013-03-28 16:05:34 +00:00
Eloy Lafuente (stronk7) 35601d77f9 MDL-38633 folder: support show_expanded in backup. 2013-03-28 17:00:46 +01:00
David Mudrák 399ddcc73e MDL-38509 Move the tool node in the navigation
The "Install add-ons" should appear just below Site administration >
Plugins, before the "Activity modules".
2013-03-28 11:54:07 +01:00
David Mudrák b7f6442670 MDL-38509 Fix the communication protocol with Moodle plugins directory
Implements the behaviour currently specified at
http://docs.moodle.org/dev/On-click_add-on_installation
2013-03-28 11:54:06 +01:00
David Mudrák 59a2cc8d38 MDL-38509 Add the script that finally deploys the validated ZIP contents 2013-03-28 11:54:06 +01:00
David Mudrák a143984a36 MDL-38509 Add strings for the new admin tool 2013-03-28 11:54:06 +01:00
David Mudrák cbd125e85d MDL-38509 Implement the ZIP package validation page
The script validate.php expects a ZIP file stored in a temporary
location. It extracts the ZIP (optionally renaming the root directory)
and executes the validator. Then it renders the validator log messages
and continue buttons.
2013-03-28 11:54:06 +01:00
David Mudrák 07083b230b MDL-38509 Add new tool_installaddon_installer::extract_installfromzip_file() method 2013-03-28 11:54:06 +01:00
David Mudrák 585b64a607 MDL-38509 Save uploaded ZIP into a temporary location and redirect to validator 2013-03-28 11:54:06 +01:00
David Mudrák 30bec5ba8d MDL-38509 Add new tool_installaddon_installer::get_plugintype_root() method 2013-03-28 11:54:06 +01:00
David Mudrák a4fcf56f0a MDL-38509 Implement the plugin ZIP package validator
The validator code contains (modified) fragments of the
local_plugins_archive_validator class copyrighted by Marina Glancy that
is part of the local_plugins plugin. It operates over an extracted
copy of the ZIP file.
2013-03-28 11:54:06 +01:00
David Mudrák ddab904ba8 MDL-38509 Check for writable plugin type location in install from ZIP form
Standard mform validation is implemented as well as progressively
enhanced AJAX version.
2013-03-28 11:54:05 +01:00
David Mudrák 2459758b30 MDL-38509 Mark the new installaddon admin tool as the standard plugin 2013-03-28 11:54:05 +01:00
David Mudrák 0056f2a37b MDL-38509 Initial version of the new admin tool to install add-ons 2013-03-28 11:54:05 +01:00
David Mudrák b8efcb9233 MDL-38509 Implement new plugin_manager::plugintype_name()
This has exactly the same behaviour as the existing
plugintype_name_plural() method, but returns the singular form of the
plugin type (such as 'Activity module').
2013-03-28 11:54:05 +01:00
David Mudrák ce1a0d3cd8 MDL-38509 Implement new plugin_manager::get_plugin_types()
This new method just takes the result of the core get_plugin_types() and
re-orders the plugin types in the same way as they are displayed at the
Plugins overview screen.
2013-03-28 11:54:05 +01:00
David Mudrák c2c4f722b5 MDL-38509 Document the plugin deployment lockers in config-dist.php 2013-03-28 11:54:05 +01:00
David Mudrák e91670edc0 MDL-38493 Improve documentation of mdeploy.php 2013-03-28 11:54:05 +01:00
David Mudrák 203b432159 MDL-38493 Make mdeploy.php able to install new plugin
The patch implements the second mode of the mdeploy.php script. If
--install option is passed, the given package is downloaded, verified
and deployed to the requested location.
2013-03-28 11:54:05 +01:00
sam marshall 71638033eb MDL-26956 (3) Enrol: Add filter options to enrolments screen 2013-03-28 10:46:36 +00:00
sam marshall d953b18495 MDL-26956 (2) Forms: Function to render form to string
Previously it was only possible to display the form immediately as
HTML output. You had to wrap in an output buffer in order to put
it in a renderer. This new function does the output buffer for you.
2013-03-28 10:46:33 +00:00
sam marshall b2ec866fc7 MDL-26956 (1) Library: Move search SQL function to datalib
This function used to be in the user selector, but it is useful in
other areas where we want to search for users as it handles a number
of search options (including extra fields, etc.) and returns SQL
which can be included in a joined query.

A unit test has been added to check the results of these searches.
2013-03-28 10:45:12 +00:00
David Monllao eff79d5378 MDL-38787 behat: Move to the new Javascript-based test class manager 2013-03-28 16:59:18 +08:00
Damyon Wiese d8201d49d8 weekly release 2.5dev 2013-03-28 14:44:31 +08:00
David Monllao a3dd930ec0 MDL-38686 behat: New restore course test
According to MDLQA-4596, a teacher can change
the format of a restored course
2013-03-28 14:43:38 +08:00
David Monllao 60054942ec MDL-38689 behat: Steps definitions to compare DOM nodes position inside the DOM 2013-03-28 14:41:41 +08:00
David Monllao 28435f1a64 MDL-38689 behat: Allowing more than one selector type argument
Regex's placeholders can not be repeated, if
there are definitions that have more than one
selector type of the same kind it would not
be displayed like that in the steps definitions
list UI
2013-03-28 14:41:41 +08:00
David Monllao 135c685381 MDL-38689 behat: New test
According to MDLQA-931, a teacher can
copy an activity.
2013-03-28 14:41:41 +08:00
Damyon Wiese 9ee29404be Fix permissions 2013-03-28 14:36:33 +08:00
David Monllao 4bd605da79 MDL-38690 behat: Step definition to import a course 2013-03-28 14:35:22 +08:00
David Monllao 00f074620e MDL-38688 behat: Restore Moodle 2 courses tests 2013-03-28 14:27:14 +08:00
David Monllao 52e8f537b9 MDL-38688 behat: Backup tests
Complemented by restore_moodle2_courses.feature
tests.
2013-03-28 14:27:14 +08:00
David Monllao 030a606e49 MDL-38688 behat: Steps definitions for backup/restore 2013-03-28 14:27:12 +08:00
David Monllao 4b528daed5 MDL-38616 behat: New test
According to MDLQA-4600, an admin
can control which activities can
be added to courses.
2013-03-28 14:16:21 +08:00
David Monllao bf648567e0 MDL-38548 behat: Step definitions to check activities visibility 2013-03-28 12:07:44 +08:00
David Monllao 3442b9e54f MDL-38548 behat: New tests
The show/hide activity/resource icon
functions correctly. According to
MDLQA-1573, MDLQA-1574, MDLQA-1575,
MDLQA-1576 and MDLQA-1577.
2013-03-28 12:06:24 +08:00
David Monllao e62f1b3b63 MDL-38620 behat: Modified upload_users.csv fixture
Including course and group enrolments
2013-03-28 11:19:09 +08:00
David Monllao 2904bf9ddf MDL-38620 behat: New test
According to MDLQA-1175; test
removed from repository_upload as
is included in MDLQA-1175 test
2013-03-28 11:19:07 +08:00
David Monllao ba097b8253 MDL-38619 behat: New test
According to MDLQA-1445, an administrator
can upload users to a cohort.
2013-03-28 11:17:33 +08:00
David Monllao f0e4cf5e31 MDL-38619 behat: Step definition to add enrolment methods to courses 2013-03-28 11:17:14 +08:00
David Monllao 23349a73ae MDL-38619 testing: Adapter to cohorts data generator 2013-03-28 11:17:14 +08:00
David Monllao e800f0d6ae MDL-38619 behat: New test
According to MDLQA-1177, an administrator
can create a cohort and add users to it.
2013-03-28 11:17:11 +08:00
Frederic Massart 5581c618fc MDL-38751 usability: Different style for cancel button 2013-03-28 11:14:24 +08:00
David Monllao 3ea8721a0c MDL-38621 behat: New test
According to MDLQA-1172, course short
names may be displayed on the list of
courses page.
2013-03-28 10:58:57 +08:00
Frederic Massart 8783e17b0f MDL-38590 data: Reformat settings form
AMOS BEGIN
 CPY [allowcomments,mod_glossary],[allowcomments,mod_data]
AMOS END
2013-03-28 10:53:58 +08:00
Frederic Massart a4b076d51b MDL-38681 form: Changed collapse/expand button to a link 2013-03-28 10:18:58 +08:00
Frederic Massart 90a7e556af MDL-38455 form: More consistency in section states
- A short form of 2 sections has collapsible sections;
- The second section is expanded by default if the form has 2 sections;
- The collapsed state by setExpanded can override the state in which
  the section was when it was submitted by the user;
- A header containing a required field or one that has an error
  will never be collapsed.
2013-03-28 10:03:33 +08:00
Damyon Wiese 86d66b5a1a Merge branch 'MDL-25631' of git://github.com/merrill-oakland/moodle 2013-03-28 09:39:05 +08:00
Dan Marsden 1de23b7fdc MDL-38715 SCORM fix missing calls to setType and remove old call to setMaxFileSize 2013-03-28 12:38:27 +13:00
Eloy Lafuente (stronk7) 50206449b6 Merge branch 'MDL-38516-m' of https://github.com/andrewnicols/moodle 2013-03-27 23:56:57 +01:00
Eloy Lafuente (stronk7) 113f9a68bd Merge branch 'MDL-38520-m' of https://github.com/andrewnicols/moodle 2013-03-27 23:38:33 +01:00
Andrew Robert Nicols 81c8a42040 MDL-38516 JavaScript: Migrate moodle-block_navigation-navigation to use Shifter 2013-03-27 22:27:48 +00:00
Eloy Lafuente (stronk7) 9b79c017f9 Merge branch 'MDL-38473-m' of https://github.com/andrewnicols/moodle 2013-03-27 23:20:18 +01:00
Eloy Lafuente (stronk7) 59549129b1 Merge branch 'MDL-38404-m' of https://github.com/andrewnicols/moodle 2013-03-27 23:06:46 +01:00
Eloy Lafuente (stronk7) f3804a0c00 Merge branch 'MDL-38472-m' of https://github.com/andrewnicols/moodle 2013-03-27 22:42:33 +01:00
Eloy Lafuente (stronk7) cb39c6136b Merge branch 'MDL-38519-m' of https://github.com/andrewnicols/moodle 2013-03-27 22:29:21 +01:00
Eloy Lafuente (stronk7) c4b39661b9 Merge branch 'MDL-38517-m' of https://github.com/andrewnicols/moodle 2013-03-27 21:43:30 +01:00
Eloy Lafuente (stronk7) a8cdbbe053 Merge branch 'MDL-38471-m' of https://github.com/andrewnicols/moodle 2013-03-27 18:50:34 +01:00
Andrew Robert Nicols 2c0b7d164c MDL-38756 JavaScript: Handle missing jsrev during installation
During installation, jsrev is unset so unavailable for the cache checks.
The installation sets the initial jsrev value and this is updated
periodically, unless it is set to -1 for JS developer.

During installation, we shouldn't really use any caches so if jsrev is
unset, then we should act as though it is set to developer.
2013-03-27 13:13:01 +00:00
David Monllao 2d9cbe8807 MDL-38477 behat: New test
According to MDLQA-16, teachers can edit
or delete any forum post.
2013-03-27 16:51:01 +08:00
David Monllao 22d56e46f1 MDL-38476 behat: New test
According to MDLQA-9, in a single
simple discussion forum only teachers
can start discussions.
2013-03-27 16:49:59 +08:00
David Monllao a394e57849 MDL-38475 behat: New test
According to MDLQA-5, students can choose
from 4 discussion display options and their
choice is remembered.
2013-03-27 16:47:56 +08:00
David Monllao 68834d4a0d MDL-38475 behat: Step definition to reply a discussion 2013-03-27 16:47:55 +08:00
David Monllao 9449cf8e11 MDL-38439 behat: New test
According to MDLQA-3, a teacher can
set one of 3 possible options for
tracking read forum posts.
2013-03-27 16:46:41 +08:00
David Monllao e6cb6aed64 MDL-38437 behat: Behat feature for mod_forum
Basic add an activity, MDLQA-2 (students
can edit or delete their forum posts within
a set time limit).
2013-03-27 16:45:01 +08:00
David Monllao 279d86943b MDL-38437 behat: Step definition to add a discussion 2013-03-27 16:45:01 +08:00
David Monllao b918f9f7bf MDL-38499 behat: Steps definitions for section visibility management 2013-03-27 16:00:54 +08:00
Dan Poltawski 37836c19fb MDL-38738 portfolio: missing PARAM_TEXT 2013-03-27 15:57:35 +08:00
David Monllao 8ec8a05851 MDL-38499 behat: New test
The show/hide section icon functions
correctly. According to MDLQA-1579,
MDLQA-1580, MDLQA-1581, MDLQA-1582
and MDLQA-1583.
2013-03-27 15:57:19 +08:00
David Monllao 4069c4e73f MDL-38486 behat: New test
Section highlighting can be turned off
correctly using the toggle highlighting
icon. According to MDLQA-1591, MDLQA-1592,
MDLQA-1593, MDLQA-1594 and MDLQA-1595
2013-03-27 15:46:03 +08:00
David Monllao 18c84063e3 MDL-38486 behat: Course's topics highlighting steps definitions 2013-03-27 15:46:03 +08:00
Damyon Wiese 604a8ed4e5 Merge branch 'wip-MDL-38147-master' of git://github.com/marinaglancy/moodle 2013-03-27 14:11:27 +08:00
Marina Glancy 0a02b80cda MDL-38147 fixed bug with windows PHP different function behaviour 2013-03-27 17:06:27 +11:00
Marina Glancy 5e71c37ea9 MDL-38147 added comments for SQL-based course search that might not work on some DB 2013-03-27 17:05:51 +11:00
Marina Glancy a32f163dfd MDL-38147 do not use DB->sql_length because it does not work on MSSQL 2013-03-27 16:07:29 +11:00
Aparup Banerjee 8963212472 Merge branch 'MDL-38632' of git://github.com/stronk7/moodle 2013-03-27 13:07:10 +08:00
Damyon Wiese ddeea94a35 Merge branch 'MDL-38736-master' of git://github.com/danpoltawski/moodle 2013-03-27 12:17:47 +08:00
Damyon Wiese 5df15f2524 MDL-38717 Admin: Change setType for email to PARAM_EMAIL 2013-03-27 12:11:06 +08:00
Damyon Wiese 1b393ce91d Merge branch 'MDL-38717-master' of git://github.com/danpoltawski/moodle 2013-03-27 11:57:14 +08:00
Aparup Banerjee cf457c2169 Merge branch 'MDL-38659' of git://github.com/stronk7/moodle 2013-03-27 10:38:31 +08:00
Dan Poltawski 8bd1829310 MDL-38736 mod_choice: fix missing param type 2013-03-27 10:19:57 +08:00
Damyon Wiese 0e2ca62e86 MDL-35876: Whitespace, indenting and more verbose upgrade.txt 2013-03-27 10:16:09 +08:00
Dan Poltawski f6343982e1 MDL-38717 admin: missing setType on email 2013-03-27 10:14:35 +08:00
Damyon Wiese df9bdfb000 Merge branch 'wip-MDL-35876-master' of git://github.com/phalacee/moodle
Conflicts:
	lib/upgrade.txt
2013-03-27 10:06:30 +08:00
Eloy Lafuente (stronk7) 3b597dd4ee Merge branch 'wip-mdl-38543' of git://github.com/deraadt/moodle 2013-03-27 02:00:02 +01:00
Eloy Lafuente (stronk7) 49ef0c56ef Merge branch 'MDL-38552-master' of git://github.com/FMCorz/moodle 2013-03-27 01:51:35 +01:00
Eloy Lafuente (stronk7) 381ffd46fc Merge branch 'MDL-38566-master' of git://github.com/FMCorz/moodle
Conflicts:
	theme/base/style/core.css
2013-03-27 01:49:10 +01:00
Eloy Lafuente (stronk7) 18ceea60af Merge branch 'MDL-38484_master' of git://github.com/dmonllao/moodle 2013-03-27 00:47:32 +01:00
Eloy Lafuente (stronk7) 2477bb29cc Merge branch 'MDL-38531_master' of git://github.com/dmonllao/moodle 2013-03-27 00:46:05 +01:00
Eloy Lafuente (stronk7) 64a807ae44 Merge branch 'MDL-38483_master' of git://github.com/dmonllao/moodle 2013-03-27 00:43:19 +01:00
Eloy Lafuente (stronk7) cf140de945 Merge branch 'MDL-38557' of git://github.com/timhunt/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-03-26 23:38:07 +01:00
Eloy Lafuente (stronk7) b741fac308 Merge branch 'MDL-38651' of git://github.com/timhunt/moodle 2013-03-26 23:27:16 +01:00
Eloy Lafuente (stronk7) d89eed6fca Merge branch 'MDL-38647' of git://github.com/timhunt/moodle 2013-03-26 23:22:25 +01:00
Eloy Lafuente (stronk7) 45679e3a9e Merge branch 'w13_MDL-38589_m25_pear' of git://github.com/skodak/moodle 2013-03-26 23:14:24 +01:00
Eloy Lafuente (stronk7) e01812b333 Merge branch 'w13_MDL-37783_m12_testinfo' of git://github.com/skodak/moodle 2013-03-26 23:13:33 +01:00
Eloy Lafuente (stronk7) 8ef5dc58ea Merge branch 'MDL-38563-master-int' of git://github.com/FMCorz/moodle 2013-03-26 23:10:11 +01:00
Eloy Lafuente (stronk7) 4efcfaa3ae Merge branch 'w13_MDL-37742_m25_dirtyoracle' of git://github.com/skodak/moodle
Conflicts:
	lib/upgrade.txt
2013-03-26 23:04:48 +01:00
David Mudrák 5106aab30c MDL-38733 Fix the workshop rubric CSS 2013-03-26 22:32:07 +01:00
Petr Škoda e788339786 MDL-37742 add debugging message when $DB->sql_empty() used 2013-03-26 22:12:17 +01:00
Eric Merrill c9deaa8e79 MDL-25631 backup Decoupling legacy files from course config settigs. If they are present, they will be restored. 2013-03-26 17:01:55 -04:00
David Mudrák e36942b716 MDL-37602 Include the overall feedback in the workshop backup and restore 2013-03-26 21:33:22 +01:00
David Mudrák 77d746a2f5 MDL-37602 Clean up and improve the overall feedback rendering
In order to use the overall feedback in assessments of example
submissions and in the assessment form preview, significant improvements
in the rendering machinery were done.

Workshop class provides two new methods overall_feedback_content_options()
and overall_feedback_attachment_options() as they are needed at various
scripts and libraries.

Overall feedback is displayed as a part of the workshop_assessment_form
only if the form is in editable mode (not frozen). If the form is
displayed in read-only (frozen) mode, the caller is expected to render
the overall feedback and list of attachments (the editor and filemanager
elements do not support frozen mode). To do so, the renderable
workshop_assessment now loads overall feedback data and provides two new
methods get_overall_feedback_content() and
get_overall_feedback_attachments() to be used by the renderer.

Renderable workshop_submission, workshop_assessment and related classes
now accept the workshop instance as the first parameter in their
constructors. This way, these renderable classes have access to the
workshop API.

In the future, the rendering of submission files should be improved in
the same way as is done in this patch (i.e. moving the logic and data
preparation out of the renderer into the renderable classes).
2013-03-26 21:25:46 +01:00
David Mudrák 88e79d8adb MDL-37602 Add support for browsing the overall feedback files 2013-03-26 21:25:45 +01:00
David Mudrák 05837ba355 MDL-37602 Serve files embedded or attached to the overall feedback 2013-03-26 21:25:45 +01:00
David Mudrák c6a793d5a2 MDL-37602 Put the overall feedback fields to the bottom of the assessment form
The assessment form can be displayed as editable or read-only (frozen).
Neither the editor element nor the filemanager element support
displaying frozen content themselves so we need to pre-format and inject
static texts.

The list of attachments should be ideally generated by the renderer and
probably improved a bit - just quick and dirty solution must be enough
for now though (2.5 coding freeze is just behind the corner...).

AMOS BEGIN
 CPY [submissionattachment,mod_workshop],[feedbackauthorattachment,mod_workshop]
AMOS END
2013-03-26 21:25:00 +01:00
Eloy Lafuente (stronk7) 2ac738f8ed Merge branch 'w13_MDL-37782_m25_testtrans' of git://github.com/skodak/moodle 2013-03-26 16:09:06 +01:00
Eloy Lafuente (stronk7) 0d377c8d56 Merge branch 'w13_MDL-38671_m25_adodb' of git://github.com/skodak/moodle 2013-03-26 16:07:12 +01:00
Eloy Lafuente (stronk7) cf20e809aa Merge branch 'MDL-38582' of git://github.com/timhunt/moodle 2013-03-26 16:03:37 +01:00
Eloy Lafuente (stronk7) 6341d977a3 MDL-38659 environment: fix incorrect feedback messages 2013-03-26 15:34:50 +01:00
Eloy Lafuente (stronk7) d9b9ef5d4e MDL-38659 environment: verify feedback matches levels 2013-03-26 15:34:06 +01:00
Eloy Lafuente (stronk7) 38495379a8 Merge branch 'MDL-38719' 2013-03-26 13:37:13 +01:00
Eloy Lafuente (stronk7) caa30cd625 MDL-38719 forms: detectMissingSetType() handle of repetitions.
It seems that formslib, for repetition, relies in the type
especified by the main (non existent at the end) element, instead
of assingning a type to each repetition.

Surely a result of storing types apart from elements. :-(

With the patch, detectMissingSetType() will detect
repeated elements (name containing '[') and will
perform the verification against that main element type.
2013-03-26 13:28:47 +01:00
Eloy Lafuente (stronk7) f35f07e9f7 MDL-38719 forms: add some missing types.
This just adds some missing types to different places
causing phpunit tests to fail.
2013-03-26 12:13:40 +01:00
Aparup Banerjee 3a7e4a80ad MDL-38564 fixed whitespace 2013-03-26 17:22:22 +08:00
Frederic Massart c55cd6ac64 MDL-38691 form: Styling for show more/less toggle 2013-03-26 17:20:58 +08:00
Aparup Banerjee be0eacf883 Merge branch 'MDL-38564-master' of git://github.com/ankitagarwal/moodle 2013-03-26 17:20:01 +08:00
Aparup Banerjee d54bc60b33 Merge branch 'w13_MDL-38672_m25_purifier' of git://github.com/skodak/moodle 2013-03-26 17:12:18 +08:00
Barbara Ramiro 83284dc962 MDL-38691 usability: More/less icons 2013-03-26 17:08:15 +08:00
Dan Poltawski 1f0cd6ee98 MDL-38712 mod_glossary: fix missing PARAM type 2013-03-26 17:05:10 +08:00
Dan Poltawski e380d57fb6 MDL-38711 qtype_multianswer: missing setType param 2013-03-26 16:57:01 +08:00
Dan Poltawski 7c69ab5dc7 MDL-38713 course: correctly set visibleold on mod creation
Remove uncessary set of visibleold in the form
2013-03-26 16:27:38 +08:00
Ankit Agarwal bf6b3c7a8a MDL-38564 Adding unit tests for the functions compare_activities_by_time_asc() and compare_activities_by_time_desc() 2013-03-26 16:12:01 +08:00
Damyon Wiese 0231f91d86 Merge branch 'w13_MDL-38673_m25_flowplayer' of git://github.com/skodak/moodle 2013-03-26 16:11:47 +08:00
Frederic Massart a59bbb6e12 MDL-38611 page: Reformat settings form 2013-03-26 15:40:24 +08:00
Damyon Wiese 3dbfd15872 Merge branch 'm25_MDL-38336_SCORM_TOC_links_when_Display_course_structure_is_on' of https://github.com/scara/moodle 2013-03-26 15:40:04 +08:00
Damyon Wiese 41fdbc0d77 MDL-38468 Filelib: Fix ordering of new mimetypes 2013-03-26 15:16:15 +08:00
Damyon Wiese 2013daeb47 Merge branch 'm25_MDL-38468_Fix_MHTML_files_delivery' of https://github.com/scara/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-03-26 15:13:35 +08:00
Charles Fulton bb1592c860 MDL-38700 course: only change visibility if a module moves to a different section 2013-03-26 15:03:33 +08:00
Dan Poltawski 1fff1b8cba MDL-38700 course: add tests for moveto_module()
* Test visibility when moving around hidden sections
* Test for visiblity changes when moving around in the same sections.
2013-03-26 15:03:32 +08:00
Damyon Wiese 96a9273343 Merge branch 'MDL-38528' of git://github.com/timhunt/moodle 2013-03-26 14:57:04 +08:00
Damyon Wiese a847da21d0 MDL-35875: Version bump for CSS changes 2013-03-26 14:50:18 +08:00
Damyon Wiese 95764ab7ef Merge branch 'MDL-35875-master' of git://github.com/FMCorz/moodle
Conflicts:
	theme/upgrade.txt
2013-03-26 14:49:34 +08:00
Damyon Wiese d0fd9726d1 Merge branch 'MDL-30438_b' of git://github.com/rwijaya/moodle 2013-03-26 14:29:57 +08:00
Damyon Wiese c7c472a87a MDL-38147 Course: Added version bump for cache definitions. 2013-03-26 14:22:35 +08:00
Damyon Wiese 0c241b980a Merge branch 'wip-MDL-38147-master' of git://github.com/marinaglancy/moodle
Conflicts:
	lib/upgrade.txt
2013-03-26 14:22:11 +08:00
Jason Fowler 6671fa735a MDL-35876 - Blocks - Adding verbose move here descriptions to blocks for accessibility 2013-03-26 14:21:38 +08:00
Frederic Massart 2c1065f7a9 MDL-38610 label: Module settings have a general section 2013-03-26 14:02:11 +08:00
Damyon Wiese 8af0dffb50 Merge branch 'MDL-34311-master' of git://github.com/danpoltawski/moodle
Conflicts:
	course/moodleform_mod.php
	lib/upgrade.txt
2013-03-26 13:46:29 +08:00
Damyon Wiese 59ef4aab75 MDL-38598 Forms: Version bump for js changes. 2013-03-26 13:33:52 +08:00
Damyon Wiese 37e50e9316 Merge branch 'MDL-38598-master-int' of git://github.com/FMCorz/moodle 2013-03-26 13:28:57 +08:00
Damyon Wiese 935ff91d5f Merge branch 'MDL-38380' of git://github.com/lazydaisy/moodle 2013-03-26 13:23:53 +08:00
Marina Glancy 4e53188a4b MDL-38147 bug fix, changed usage of non-existing function 2013-03-26 16:17:34 +11:00
Damyon Wiese 553b23989a Merge branch 'MDL-38390' of git://github.com/jonof/moodle 2013-03-26 13:12:29 +08:00
Damyon Wiese 1e425d185b Merge branch 'MDL-38429' of git://github.com/rwijaya/moodle 2013-03-26 12:59:53 +08:00
Damyon Wiese d21a452dcc Merge branch 'MDL-38569-master' of git://github.com/FMCorz/moodle 2013-03-26 12:19:05 +08:00
Marina Glancy 290af25434 MDL-38147 fixed small bug on changed categories cache 2013-03-26 14:09:00 +11:00
Damyon Wiese 4e4ef99a15 Merge branch 'wip-mdl-36882' of git://github.com/rajeshtaneja/moodle 2013-03-26 10:41:33 +08:00
Damyon Wiese 688f9a46b3 Merge branch 'wip-mdl-36125' of git://github.com/rajeshtaneja/moodle 2013-03-26 10:04:31 +08:00
Damyon Wiese febc08786e Merge branch 'wip-MDL-38650_master' of git://github.com/gjb2048/moodle 2013-03-26 09:38:46 +08:00
Mary Evans 89c9dfc417 MDL-38702 theme_mymobile: Replaced missing theme setting to disable CSS Optimiser.
The missing setting was a regression casued by MDL-33357.
2013-03-26 00:10:37 +00:00
David Mudrák 3ac58f227a MDL-37602 Add feedbackauthorattachment field into the workshop_assessments table
This is a flag to quickly see if some files are expected to be attached
to the overall feedback for the submission author.
2013-03-25 22:31:32 +01:00
Petr Škoda f22f1cafd2 MDL-38627 force byteserving abort on error
It is weird, but Chrome PDF viewer keeps retrying byteserving requests for anything but 407. This commit also normalises response headers on all error pages.
2013-03-25 16:06:02 +01:00
David Mudrák 1c6b484dab MDL-37602 Overall feedback can be configured in the workshop settings form
Three new fields are added into the into the Assessment settings section
of the form. The default value for the overallfeedbackmaxbytes is the
same as the maximum size for submission attachments (which seems to be a
reasonable value). If there is a demand and a strong use case, these
values can became per-site configurable (I can see no big benefit of
doing so right now).

AMOS BEGIN
 CPY [maxbytes,mod_workshop],[overallfeedbackmaxbytes,mod_workshop]
AMOS END
2013-03-25 13:23:02 +01:00
David Mudrák 7426229f12 MDL-37602 Add new fields into the workshop table to hold the feature settings
These three fields hold the per-instance settings for the new Overall
feedback feature. Expected values in the new overallfeedbackmode fields are:
0 - the feature is disabled in this workshop instance
1 - overall feedback is optional (default)
2 - overall feedback is required (i.e. the reviewer must put some text
into the overall feedback field).

Files can be attached to the overall feedback text field, if the field
overallfeedbackfiles > 0 and the feature is enabled (i.e. it is optional
or required). The actual number of attached files is not checked in the
required mode (i.e. attaching files is always optional, if it is
allowed).
2013-03-25 12:58:15 +01:00
Gareth J Barnard 42d79f551d MDL-38650 theme_mymobile: Convert to new jQuery support infrastructure. 2013-03-25 10:26:35 +00:00
Frederic Massart f3aadb1cd0 MDL-38599 glossary: Reformat settings form 2013-03-25 18:05:43 +08:00
Damyon Wiese 0cdc5fc059 Merge branch 'MDL-38674-m' of git://github.com/andrewnicols/moodle 2013-03-25 16:00:00 +08:00
Damyon Wiese 3b5539af5e Merge branch 'MDL-38668' of git://github.com/stronk7/moodle 2013-03-25 15:51:01 +08:00
Chris Wharton 7605dba31b MDl-38494 user: Fix uploaded datetime profile fields 2013-03-25 15:48:04 +08:00
Damyon Wiese 8b18c1bae5 Merge branch 'w13_MDL-38675_m25_tcpdf' of git://github.com/skodak/moodle 2013-03-25 15:36:25 +08:00
Rossiani Wijaya ecea65cace MDL-38429 Lesson Module: improve lesson code by reseting NULL value to use lowercase. 2013-03-25 14:07:18 +08:00
Damyon Wiese 8aae16fb41 MDL-38654 Deprecating gdversion setting: Fix typo for new install 2013-03-25 14:06:00 +08:00
Damyon Wiese 35f155519e Merge branch 'w13_MDL-38654_m25_gdversion' of git://github.com/skodak/moodle
Conflicts:
	lang/en/admin.php
2013-03-25 14:02:31 +08:00
Roman Tsukanov 1b58651681 MDL-38429: lesson report - Improve lesson statistics code. 2013-03-25 13:58:13 +08:00
Damyon Wiese 2e0b17051c Merge branch 'w13_MDL-15727_m25_jquery' of git://github.com/skodak/moodle 2013-03-25 12:27:32 +08:00
Rossiani Wijaya 3bd18935d7 MDL-30438 Lesson Module: fixed input text editable capability after checking/unchecking unmask option 2013-03-25 11:47:05 +08:00
Damyon Wiese e909c7c390 Merge branch 'MDL-38044-master' of git://github.com/FMCorz/moodle 2013-03-25 11:30:36 +08:00
Rossiani Wijaya 41e2a9591f MDL-30438 Lesson Module: improve password field to disabled when password protect is set to no. 2013-03-25 11:26:50 +08:00
Damyon Wiese 716f35954e Merge branch 'wip-MDL-34917_master' of git://github.com/gjb2048/moodle 2013-03-25 11:15:03 +08:00
Damyon Wiese 27a1d25f05 MDL-31681: Formatting changes to fix indentation
Also removed/refactored some confusing use of references.
2013-03-25 10:37:14 +08:00
Marina Glancy 93c544bdb0 MDL-38147 Added functions coursecat::search_courses(), get_courses()
Also search_courses_count(), get_courses_count();
Added unittests
2013-03-25 13:23:38 +11:00
Marina Glancy 9c6cfc083f MDL-38147 fixes to phpdocs and avoid using deprecated context functions 2013-03-25 13:23:37 +11:00
Marina Glancy 9178bbbcf3 MDL-38147 changed logic for building list in make_categories_list() 2013-03-25 13:23:37 +11:00
Marina Glancy eabbfa82d3 MDL-38147 Improvements to caching of course categories, coursecat::get_children() improvements
- Course categories caches are purged by event now
- session cache has additional 10 minutes ttl to clear itself and accomodate for permission changes that do not trigger event purging
- additional request-level cache for coursecat::get()
- We store only children of one category in one cache key
- Function coursecat::get_children() can return results sorted and/or paginated. Added tests
2013-03-25 13:23:15 +11:00
Marina Glancy 15d50fffd8 MDL-38147 Performance improvements to coursecat class:
- Retrieve and cache only often-used fields of course category
- Removed function coursecat::get_all_visible() as potentially causing performance issues
- removed function coursecat::get_all_parents() as ineffective and unnecessary, replaced with get_parents()
- retrieve all fields from course_categories when unretrieved field is accessed

Also some code improvements:
- rename functions starting with _ , rename arguments, etc.
2013-03-25 13:23:14 +11:00
Marina Glancy e1d54562ce MDL-38147 deprecated get_categories(), change usage to coursecat 2013-03-25 13:23:06 +11:00
Marina Glancy 8db5dcb7cd MDL-38147 deprecated get_child_categories(), change usage to coursecat 2013-03-25 13:22:56 +11:00
Marina Glancy bc81b0065c MDL-38147 deprecated get_all_subcategories() 2013-03-25 13:22:38 +11:00
Marina Glancy 9bad61dbfe MDL-38147 deprecated create_course_category(), change usage to coursecat. Also avoid direct DB update of table course_categories
changed to usage of
- coursecat::create()
- coursecat::update()
2013-03-25 13:22:26 +11:00
Marina Glancy 2d8a275bab MDL-38147 deprecated get_course_category(), change usage to coursecat 2013-03-25 13:21:20 +11:00
Marina Glancy 6e1d1ee0e7 MDL-38147 deprecated move_category(), course_category_hide(), course_category_show(), change usage to coursecat
All usages in core replaced with:
- coursecat::change_parent()
- coursecat::hide()
- coursecat::show()
2013-03-25 13:21:09 +11:00
Marina Glancy deb65cedc4 MDL-38147 deprecated category_delete_move(), category_delete_full(), change usage to coursecat 2013-03-25 13:21:04 +11:00
Marina Glancy 4e0b6025ad MDL-38147 deprecated make_categories_list(), change usage to coursecat 2013-03-25 13:20:46 +11:00
Marina Glancy b28bb7e8c7 MDL-38147 Added coursecatlib_test.php, changed other tests to use coursecat::create() for creating category 2013-03-25 13:20:39 +11:00
Marina Glancy b33389d228 MDL-38147 Created class coursecat, added cache definition and lang strings 2013-03-25 13:20:33 +11:00
Damyon Wiese adfcc976f6 Merge branch 'MDL-31681' of https://github.com/Lightwork-Marking/moodle 2013-03-25 10:15:38 +08:00
Dan Poltawski b716cd2b70 MDL-34311 mod_url: Missing setType on the external url 2013-03-25 09:39:30 +08:00
Dan Poltawski 9f9dde40ee MDL-34311 course: add missing type on cm idnumber
We must use PARAM_RAW for idnumbers because external systems could use
any characters and this is a linking field for external systems.
2013-03-25 09:30:52 +08:00
Dan Poltawski e994754d31 MDL-34311 course: prevent course edit form warnings
There is a placeholder element.
2013-03-25 09:30:51 +08:00
Dan Poltawski b45ba7f6fa MDL-34311 formslib: warn when no param type set
Params without a type set will not be getting cleaned, so if developers
really do not want cleaning, they should set it explicitly.
2013-03-25 09:30:51 +08:00
Damyon Wiese 81409525b9 MDL-37033 Environment - Fix indenting in XML 2013-03-25 09:20:53 +08:00
David Monllao 970c5f3849 MDL-38483 behat: New test
According to MDLQA-89
2013-03-25 09:19:40 +08:00
David Monllao b4e94458c7 MDL-38484 behat: New test
According to MDLQA-4597
2013-03-25 09:19:14 +08:00
Damyon Wiese 3bdb3e1605 Merge branch 'MDL-37033' of git://github.com/stronk7/moodle 2013-03-25 09:13:50 +08:00
Frederic Massart 41d020b35e MDL-38645 form: Added margin between checkbox/radio and label 2013-03-25 08:30:31 +08:00
Frederic Massart 207c737dc0 MDL-38569 form: No advanced settings in Common module settings 2013-03-25 08:29:05 +08:00
Frederic Massart 619fe67e32 MDL-38598 form: Prevent flickering due to advanced fields 2013-03-25 08:28:32 +08:00
Frederic Massart 8819a83601 MDL-26644 course: Remove useless setting completionstartonenrol
This commit removes any trace of the setting 'Completion tracking
begins on enrolment' as it does not appear to do anything.
2013-03-25 08:28:01 +08:00
Frederic Massart 5c5317aedc MDL-38612 url: Reformat module settings form 2013-03-25 08:17:59 +08:00
Eloy Lafuente (stronk7) 5214f9ef96 Merge branch 'MDL-38658-m' of git://github.com/andrewnicols/moodle 2013-03-24 23:40:50 +01:00
Eloy Lafuente (stronk7) 943e317cb4 Merge branch 'MDL-36927-master' of git://github.com/ankitagarwal/moodle 2013-03-24 23:39:07 +01:00
Eloy Lafuente (stronk7) 22ddcdef89 Merge branch 'w13_MDL-38581_m25_forumtests' of git://github.com/skodak/moodle 2013-03-24 23:26:55 +01:00
Petr Škoda c7289da7eb MDL-38654 add full $CFG->gdversion backwards compatibility for now 2013-03-24 22:18:49 +01:00
Paul Charsley 3f0ea6d8a7 MDL-31681 added core_grade_get_definitions web service function 2013-03-25 08:38:05 +13:00
Andrew Robert Nicols 5e8dddc167 MDL-38666 JavaScript: Migrate moodle-calendar-evantmanager to use Shifter 2013-03-24 18:42:38 +00:00
Andrew Robert Nicols a94dd7d2b8 MDL-38517 JavaScript: Migrate moodle-core-blocks to use Shifter 2013-03-24 18:39:57 +00:00
Petr Škoda e5f4ba84ab MDL-38675 import tcpdf 5.9.209 2013-03-24 18:59:33 +01:00
Petr Škoda 83cca3da87 MDL-38673 import flash based FlowPlayer 3.2.16 2013-03-24 18:35:09 +01:00
Andrew Robert Nicols 096065e6c0 MDL-38674 JavaScript: Migrate moodle-filter_glossary-autolink to use Shifter 2013-03-24 17:26:23 +00:00
Petr Škoda 510d190382 MDL-38672 import HTML Purifier 4.5.0 2013-03-24 18:00:44 +01:00
Petr Škoda 9f7b1c7f95 MDL-38671 add adodb 5.18 2013-03-24 17:48:11 +01:00
Petr Škoda fe95fb5322 MDL-37782 reset DB after each failed database test 2013-03-24 14:16:28 +01:00
Petr Škoda 77a5c09354 MDL-37742 simplify dirty one-space oracle hack 2013-03-24 13:43:18 +01:00
Matteo Scaramuccia 724dc929c7 MDL-38336 SCORM: incorrect TOC bulding when 'Display course structure' is on 2013-03-24 11:02:41 +01:00
Eloy Lafuente (stronk7) dbd349ab09 MDL-38668 timezones: update to tzdata 2013b 2013-03-24 10:42:28 +01:00
Andrew Robert Nicols f0e79573cf MDL-38667 JavaScript: Correct loading of Shifted CSS 2013-03-24 01:29:00 +00:00
Gareth J Barnard d46e26f682 MDL-34917 course: Jump to section navigation for 'One section per page'. 2013-03-23 17:01:32 +00:00
Matteo Scaramuccia 2aecb84d01 MDL-38468 Files API: fixed the support for MTHML (MIME HTML: web page archive) files 2013-03-23 10:21:51 +01:00
Jonathon Fowler 8bcefa699d MDL-38390 qformat_blackboard_six: use pool title as category name
If the category title is empty, generate a sequentially-numbered
title to use instead.
2013-03-23 17:35:16 +10:00
Petr Škoda 15bac12e9d MDL-37783 add some useful information to any phpunit output 2013-03-23 00:06:39 +01:00
Petr Škoda de8056c871 MDL-38589 improve missing PHPUnit library hint 2013-03-22 22:47:08 +01:00
Andrew Robert Nicols 3f53437109 MDL-38658 JavaScript: Correct fullpath for dndupload definition 2013-03-22 17:29:56 +00:00
Petr Škoda 689096bc26 MDL-38654 do not test $CFG->gdversion
GD PHP extension is now required. Add-ons need to remove $CFG->gdversion tests. The worst case regression is that add-on will think GD is not available.
2013-03-22 16:57:55 +01:00
Eloy Lafuente (stronk7) 40b5cb2d71 MDL-37033 environment: add 2.5 brach details 2013-03-22 16:41:15 +01:00
Tim Hunt a7a031a4e4 MDL-38651 quiz settings: fix layout of review options. 2013-03-22 15:30:48 +00:00
Eloy Lafuente (stronk7) d86db37c44 MDL-38632 folder: observe show_expanded on course page 2013-03-22 15:53:53 +01:00
Petr Škoda c3f31a3ded MDL-38581 move forum discussion and post generators to proper place 2013-03-22 13:21:35 +01:00
Petr Škoda 63c88397f5 MDL-15727 basic jQuery support
See http://docs.moodle.org/dev/jQuery for more details.
2013-03-22 13:09:50 +01:00
Tim Hunt 2515be0e80 MDL-38647 quiz review question issues
1. Page URL should contain 'step=0' if necessary, but not 'step='.
2. Review specific step was not using the right display options.
2013-03-22 11:16:02 +00:00
Tim Hunt 7dbde4ed3b MDL-38557 quiz install.php code should actually be in reports.
I think it is worth moving this code to its correct home in master.
2013-03-22 10:36:15 +00:00
Tim Hunt 30461b0066 MDL-38557 quiz manual grading should check mod/quiz:grade 2013-03-22 10:36:14 +00:00
Tim Hunt 0559a72aa3 MDL-38557 fix quiz version number mess from MDL-31983 2013-03-22 10:36:13 +00:00
Tim Hunt ba203de1d3 MDL-38582 testing: Let any component have a data generator.
Plus a simple core_question generator to test the concept.
2013-03-22 10:28:24 +00:00
Tim Hunt d6b8e1923a MDL-38528 qtype_calc* dataset forms: disable short-forms for now.
At the moment using short-forms no these forms really does not work. In
future is may be possible to do a complete overhaul, but for now, just
disabling short-forms is a simple fix.
2013-03-22 10:28:03 +00:00
Frederic Massart 0ae903bd5f MDL-38566 form: Misaligned elements in RTL 2013-03-22 16:32:23 +08:00
Frederic Massart f2c0aba81d MDL-38044 form: Added collapse/expand all buttons 2013-03-22 16:25:48 +08:00
Frederic Massart 0a94e4a928 MDL-38563 navigation: Removed extra parameters when calling add() 2013-03-22 14:40:12 +08:00
Damyon Wiese 373a8e052c weekly release 2.5dev 2013-03-22 13:38:50 +08:00
Damyon Wiese 39b041eca1 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-03-22 13:35:24 +08:00
Rajesh Taneja fa1ccff866 MDL-36125 course: Added aria-describedby for editing activity title 2013-03-22 12:39:24 +08:00
Rajesh Taneja e2e9ff6542 MDL-38344 Calendar: converted name field in event table to text
There is no limitation on length of event name in RFC-2445, so changing type
for name from char to text.
2013-03-22 10:02:06 +08:00
Rajesh Taneja f0989c3bf7 MDL-36882 course: Added aria-live for manual completion
This is required so that assistive technologies can notify user about change on completion status
2013-03-21 17:28:00 +08:00
David Monllao 371b7fc397 MDL-38414_master behat: Changing expand fieldsets test to forum form 2013-03-21 10:42:24 +08:00
AMOS bot ba6e8f02f0 Automatically generated installer lang files 2013-03-21 00:37:26 +00:00
Eloy Lafuente (stronk7) fedcc83016 Merge branch 'MDL-38035-master' of git://github.com/sammarshallou/moodle 2013-03-20 17:06:22 +01:00
sam marshall acfee0d4ba MDL-38035 Conditional availability: Support multilang custom user fields 2013-03-20 15:57:53 +00:00
David Monllao 25919739fd MDL-38364 phpunit: PHPUnit autoload uses capital A 2013-03-20 16:02:40 +08:00
Frederic Massart b7fc9d5a26 MDL-38552 forms: IMS CP content section expanded by default 2013-03-20 14:31:33 +08:00
Ankit Agarwal 909b8671e8 MDL-36927 Reports: Page layout is not defined in course/recent.php 2013-03-20 14:11:09 +08:00
Damyon Wiese c2eb74df47 Merge branch 'MDL-34401-muc-pluginlib' of git://github.com/mudrd8mz/moodle
Conflicts:
	lib/db/caches.php
	version.php
2013-03-20 14:08:55 +08:00
Damyon Wiese f50867c424 Merge branch 'wip-MDL-38387-m25' of https://github.com/samhemelryk/moodle 2013-03-20 13:24:18 +08:00
Damyon Wiese d7cea24b55 MDL-38373 Auth - Additional strict warning fix for radius authentication 2013-03-20 12:32:29 +08:00
Sam Hemelryk 7b9cb736ba MDL-38387 cache: removed call to plugins API from cache API 2013-03-20 16:07:25 +13:00
Sam Hemelryk a3b63be703 MDL-38350 cache: fixed issue with siteidentifier === false 2013-03-20 16:07:25 +13:00
Sam Hemelryk fe86ebfa4d MDL-38387 cache: fixed inifinite initialisation loop with site id 2013-03-20 16:07:25 +13:00
Damyon Wiese 80d852fa23 Merge branch 'MDL-38373' of git://github.com/stronk7/moodle 2013-03-20 11:05:38 +08:00
Eloy Lafuente (stronk7) cfe6a96f0a Merge branch 'MDL-38470-m' of https://github.com/andrewnicols/moodle 2013-03-20 01:47:52 +01:00
Andrew Robert Nicols c5952e06f1 MDL-38470 JavaScript: Rebuild moodle-core-tooltip with Shifter 2013-03-20 00:46:33 +00:00
Eloy Lafuente (stronk7) 99b3e4e7bd Merge branch 'MDL-38414-master' of git://github.com/FMCorz/moodle 2013-03-20 01:21:05 +01:00
Eloy Lafuente (stronk7) dc1abf2bc4 Merge branch 'MDL-38330-master' of git://github.com/FMCorz/moodle 2013-03-20 01:19:17 +01:00
Eloy Lafuente (stronk7) e6f94aaa11 MDL-38515 JavaScript: Partially revert 4f65d03b08
It was going to cause some continuous logging in the console
annoying developers on 2.5 all the time. It may be reintroduced
once filepickers are converted to proper YUI modules.
2013-03-20 01:02:45 +01:00
Eloy Lafuente (stronk7) b2b54ad7fe Revert "MDL-38515 JavaScript: Correct module dependencies for core_filepicker"
This reverts commit babf34d5cf.
2013-03-20 00:55:32 +01:00
Eloy Lafuente (stronk7) 8b994ec0b9 Merge branch 'MDL-38490' of git://github.com/timhunt/moodle 2013-03-20 00:43:09 +01:00
Eloy Lafuente (stronk7) e233dc58ed Merge branch 'MDL-38416-master' of git://github.com/FMCorz/moodle 2013-03-20 00:34:52 +01:00
Eloy Lafuente (stronk7) b35dd05521 Merge branch 'MDL-38370-master' of git://github.com/ankitagarwal/moodle 2013-03-20 00:30:49 +01:00
Eloy Lafuente (stronk7) 6a32219c84 Merge branch 'w12_MDL-38364_m25_phpunitloading' of git://github.com/skodak/moodle 2013-03-20 00:17:35 +01:00
Eloy Lafuente (stronk7) 044566f001 Merge branch 'MDL-38166-m' of git://github.com/andrewnicols/moodle 2013-03-20 00:13:51 +01:00
Eloy Lafuente (stronk7) 87b6981e25 MDL-38035 api: doc get_condition_user_fields() new param. 2013-03-20 00:09:43 +01:00
Eloy Lafuente (stronk7) 1d962a1984 Merge branch 'MDL-38035-master' of git://github.com/sammarshallou/moodle 2013-03-19 23:54:27 +01:00
Eloy Lafuente (stronk7) 354ec0691b Merge branch 'MDL-37664-master' of https://github.com/lucisgit/moodle 2013-03-19 23:31:21 +01:00
Eloy Lafuente (stronk7) e73ac7692e Merge branch 'MDL-38433_master' of git://github.com/dmonllao/moodle 2013-03-19 23:27:50 +01:00
Eloy Lafuente (stronk7) 1d790031c2 Merge branch 'MDL-38411_master' of git://github.com/dmonllao/moodle 2013-03-19 23:26:01 +01:00
Eloy Lafuente (stronk7) eb8a3eeaac Merge branch 'MDL-38410_master' of git://github.com/dmonllao/moodle 2013-03-19 23:20:31 +01:00
Eloy Lafuente (stronk7) ec05fb8367 Merge branch 'MDL-38424_master' of git://github.com/kordan/moodle 2013-03-19 23:17:39 +01:00
Eloy Lafuente (stronk7) 85620106df Merge branch 'MDL-38418-master' of git://github.com/FMCorz/moodle 2013-03-19 23:15:04 +01:00
Eloy Lafuente (stronk7) 65b5f400b8 Merge branch 'MDL-38395' of git://github.com/timhunt/moodle 2013-03-19 23:06:06 +01:00
Mary Evans 281dac44cd MDL-38380 theme_magazine: Fixed typo in style/core.css at line 980. 2013-03-19 20:30:30 +00:00
Eloy Lafuente (stronk7) 989b9ab6fb Merge branch 'MDL-38363' of git://github.com/timhunt/moodle 2013-03-19 21:02:48 +01:00
Eloy Lafuente (stronk7) 28a5cd942d Merge branch 'MDL-38355' of git://github.com/timhunt/moodle 2013-03-19 21:00:21 +01:00
Eloy Lafuente (stronk7) e0e59a0c38 Merge branch 'w12_MDL-38558_m25_preupgrade' of git://github.com/skodak/moodle 2013-03-19 19:15:09 +01:00
Petr Škoda 6b4b74904b MDL-38558 add preupgrade script support
This is intended things like undoing of local hacks, it is similar to older pre 2.0 upgrade hack.
2013-03-19 19:14:01 +01:00
Eloy Lafuente (stronk7) 49ac0c5d6a Merge branch 'MDL-38388' of git://github.com/jonof/moodle 2013-03-19 18:47:39 +01:00
Eloy Lafuente (stronk7) bab8a6724f Merge branch 'MDL-33680-m' of git://github.com/andrewnicols/moodle 2013-03-19 18:27:57 +01:00
Eloy Lafuente (stronk7) bf2d2aa983 Merge branch 'MDL-38412' of git://github.com/timhunt/moodle 2013-03-19 18:20:47 +01:00
Eloy Lafuente (stronk7) 4e37889c41 Merge branch 'w12_MDL-38329_m25_webkit' of git://github.com/skodak/moodle 2013-03-19 18:17:11 +01:00
Eloy Lafuente (stronk7) 66f1870701 Merge branch 'w12_MDL-38180_m25_enrolpics' of git://github.com/skodak/moodle 2013-03-19 17:58:55 +01:00
Eloy Lafuente (stronk7) 58b9cd031f Merge branch 'MDL-38497-admintree-beforesibling' of git://github.com/mudrd8mz/moodle
Conflicts:
	lib/upgrade.txt
2013-03-19 17:16:32 +01:00
Eloy Lafuente (stronk7) 83ba845de9 Merge branch 'w12_MDL-38202_m25_loginas' of git://github.com/skodak/moodle 2013-03-19 16:51:45 +01:00
Eloy Lafuente (stronk7) b81d5eab90 Merge branch 'MDL-38542' of git://github.com/timhunt/moodle 2013-03-19 16:48:37 +01:00
Eloy Lafuente (stronk7) 1e1815bead Merge branch 'MDL-38444' of https://github.com/ppichet/moodle 2013-03-19 16:33:28 +01:00
Tim Hunt 1736fe3f74 MDL-38542 shortanswer qtype: was broken for responses of '0'.
This was a regression caused by MDL-37157 & MDL-37746.
2013-03-19 13:40:51 +00:00
Eloy Lafuente (stronk7) 7c27e34742 Merge branch 'MDL-38507-m' of git://github.com/andrewnicols/moodle 2013-03-19 13:31:46 +01:00
Eloy Lafuente (stronk7) 7761a38737 Merge branch 'w12_MDL-38319_m25_roleperf' of git://github.com/skodak/moodle 2013-03-19 13:22:50 +01:00
Eloy Lafuente (stronk7) f2bf31e886 Bump (to better detect other issues incrementing it) 2013-03-19 13:21:17 +01:00
Eloy Lafuente (stronk7) 1816c69c3f Merge branch 'MDL-38391-m' of git://github.com/andrewnicols/moodle 2013-03-19 13:17:51 +01:00
Andrew Robert Nicols ad00331ebd MDL-38391 lib: Add missing string for YUI cachedef 2013-03-19 12:09:43 +00:00
Eloy Lafuente (stronk7) e630729443 Merge branch 'MDL-38515-m' of git://github.com/andrewnicols/moodle 2013-03-19 12:51:47 +01:00
Andrew Robert Nicols babf34d5cf MDL-38515 JavaScript: Correct module dependencies for core_filepicker 2013-03-19 11:42:12 +00:00
Andrew Robert Nicols 4f65d03b08 MDL-38515 JavaScript: Detect use of invalid module names in YUI dependencies
A warning is shown in the browser console if debugging is set, but it is
not possible to return from the configFn and stop the module load attempt
from continuing.

The error is caught and an additional error is shown by yui_combo.php
2013-03-19 11:42:12 +00:00
Eloy Lafuente (stronk7) 09fe13d123 Merge branch 'MDL-38391-m' of git://github.com/andrewnicols/moodle 2013-03-19 12:34:45 +01:00
Eloy Lafuente (stronk7) 70ca006538 Merge branch 'MDL-38397' of git://github.com/timhunt/moodle 2013-03-19 12:28:01 +01:00
Eloy Lafuente (stronk7) 5272b7a70f Merge branch 'wip-mdl-38431' of git://github.com/rajeshtaneja/moodle 2013-03-19 10:24:23 +01:00
David Monllao 1e63755fb5 MDL-38531 behat: Replacing composer install for composer update 2013-03-19 16:45:58 +08:00
David Monllao 6b6303d9a1 MDL-38411 behat: New test 2013-03-19 16:44:55 +08:00
David Monllao b7d6c48589 MDL-38433 behat: New tests
According to MDLQA-48
2013-03-19 16:44:20 +08:00
David Monllao 4b61cc91ac MDL-38410 behat: Adding basic step and test for mod_choice 2013-03-19 16:42:59 +08:00
David Monllao 5cde7298e3 MDL-38410 behat: Adding new form fields 2013-03-19 16:42:59 +08:00
David Monllao fb624374bc MDL-38410 behat: Step to select from radio inputs 2013-03-19 16:42:59 +08:00
Eloy Lafuente (stronk7) bacd6a6f32 Merge branch 'MDL-36872-master' of git://github.com/ankitagarwal/moodle 2013-03-19 09:36:43 +01:00
David Monllao ca4f33a79e MDL-38547 behat: New generic steps definitions
For advanced users as specified in the step
description, they can be used to match any locator
using any selector type
2013-03-19 16:29:29 +08:00
David Monllao 32d6e29eb4 MDL-38547 behat: New tests
According MDLQA-1597, MDLQA-1598,
MDLQA-1599, MDLQA-1600 and MDLQA-1601
2013-03-19 16:28:19 +08:00
Damyon Wiese 43087d02dd Merge branch 'MDL-38368-master' of git://github.com/FMCorz/moodle 2013-03-19 16:17:41 +08:00
Damyon Wiese 20139cbcef MDL-30790 folder : Whitespace fixes 2013-03-19 15:59:41 +08:00
Damyon Wiese 0cabeada65 Merge branch 'MDL-30790_25' of git://github.com/rlorenzo/moodle 2013-03-19 15:47:35 +08:00
Damyon Wiese db98fa786e Merge branch 'wip-mdl-36395-m' of git://github.com/rajeshtaneja/moodle
Conflicts:
	version.php
2013-03-19 15:18:13 +08:00
Damyon Wiese 851c304f45 Merge branch 'w12_MDL-38320_m25_logininfo' of git://github.com/skodak/moodle 2013-03-19 15:01:02 +08:00
Damyon Wiese 976b0ff2d4 Merge branch 'MDL-37959-master' of git://github.com/FMCorz/moodle
Conflicts:
	lib/formslib.php
2013-03-19 14:54:40 +08:00
Damyon Wiese 08f5b90bb7 Merge branch 'MDL-38426_dnd_plain_text' of git://github.com/davosmith/moodle 2013-03-19 14:36:43 +08:00
Damyon Wiese a34ffe2e2e Merge branch 'MDL-38456-mdeploy-paths' of git://github.com/mudrd8mz/moodle 2013-03-19 14:02:23 +08:00
Michael de Raadt 4b6bf04659 MDL-38543 Adjusted fieldset in select all-none fieldset check 2013-03-19 13:49:47 +08:00
Damyon Wiese 3b2a6bf555 MDL-37079 Course create/update module. Remove use of "continue 2". 2013-03-19 13:03:11 +08:00
Damyon Wiese 716db45f50 Merge branch 'MDL-38453-master' of git://github.com/FMCorz/moodle 2013-03-19 12:15:48 +08:00
Damyon Wiese dcc5f0fe1e Merge branch 'MDL-38049-master' of git://github.com/FMCorz/moodle 2013-03-19 11:52:51 +08:00
Damyon Wiese 8f2913b936 MDL-37079 Course create/update module. Fix indenting, some comment formatting and whitespace. 2013-03-19 11:20:39 +08:00
Damyon Wiese 8fe55f6862 Merge branch 'MDL-37079-master2' of git://github.com/mouneyrac/moodle 2013-03-19 11:13:23 +08:00
Damyon Wiese 1c14b1c10c MDL-38367 Course dnduploadlib : deprecated add_* functions as they are internal to the class. 2013-03-19 09:56:16 +08:00
Damyon Wiese 23477802b7 Merge branch 'MDL-38367_dnd_ui_improvements' of git://github.com/davosmith/moodle 2013-03-19 09:31:07 +08:00
Eloy Lafuente (stronk7) 668a62ef80 Merge branch 'MDL-38524_master' of git://github.com/dmonllao/moodle 2013-03-19 01:46:11 +01:00
Andrew Robert Nicols 53ae22b993 MDL-38391 lib: Also include core subsystems in YUI_config.modules 2013-03-18 23:52:39 +00:00
Andrew Robert Nicols da5e59b9d9 MDL-38391 lib: Rename moodle_metadata adder
This is a bit of a grey area. This function does not get and return a value
to the caller, and does not set a value taken from the caller. Instead it
gets a value from get_moodle_metadata and adds it to the current instance
of YUI_config. This rename will hopefully improve clarity here.
2013-03-18 23:30:00 +00:00
Andrew Robert Nicols c199993a61 MDL-38391 lib: Add note about use of camelCase variables names in YUI_config 2013-03-18 23:17:32 +00:00
Andrew Robert Nicols d52ba47ee0 MDL-38391 lib: Remove clearing of YUI MUC cache on cache purge
purge_all_caches() handles clearing of all MUC caches so we don't need to
additionally clear the cache here too.
2013-03-18 23:13:16 +00:00
Eloy Lafuente (stronk7) 03deed4f75 Merge branch 'w12_MDL-36198_m25_yuireset' of git://github.com/skodak/moodle 2013-03-18 23:56:34 +01:00
Andrew Robert Nicols 0653469e0c MDL-38520 JavaScript: Migrate moodle-core-formchangechecker to use Shifter 2013-03-18 22:36:56 +00:00
Andrew Robert Nicols 3756320fd0 MDL-38519 JavaScript: Migrate moodle-core-formautosubmit to use Shifter 2013-03-18 22:24:31 +00:00
Andrew Robert Nicols 21db4396ab MDL-38404 JavaScript: Migrate editor_tinymce to use Shifter 2013-03-18 21:56:34 +00:00
Davo Smith 09fd07fe00 MDL-38367 course dndupload - deprecate public 'add_type' function, remove non-YUI3 API call to _node 2013-03-18 18:47:04 +00:00
David Monllao f07bf92f53 MDL-38524 behat: Using wildcard instead of hardcoded version 2013-03-18 16:32:13 +08:00
Jerome Mouneyrac 37550a52e7 MDL-37079 missed one modedit.php change since started to work on the issue 2013-03-18 16:08:52 +08:00
Jerome Mouneyrac 80fe0c1983 MDL-37079 switch the modedit.php functions into course/modedit.php 2013-03-18 14:41:38 +08:00
Jerome Mouneyrac 7cb0ea2c37 MDL-37079 remove TODO, add . in comments 2013-03-18 14:41:37 +08:00
Jerome Mouneyrac 7bf4f6e999 MDL-37079 Added many assertEquals + generic test function (easy to test new module) + now process next advanced grading screens 2013-03-18 14:41:36 +08:00
Jerome Mouneyrac dd5d933f30 MDL-37079 create/update_module() 2013-03-18 14:41:35 +08:00
Damyon Wiese 864ce820c4 MDL-38005 formslib: Removing additional duplicate headers in calculated question form. 2013-03-18 14:11:09 +08:00
Damyon Wiese 7c211f565a Merge branch 'MDL-38005-master' of git://github.com/FMCorz/moodle 2013-03-18 13:45:41 +08:00
Damyon Wiese 9ccc1e1f34 Merge branch 'MDL-38340-master' of git://github.com/FMCorz/moodle 2013-03-18 13:24:45 +08:00
Damyon Wiese 61e871c3c9 Merge branch 'MDL-38435-master' of git://github.com/FMCorz/moodle 2013-03-18 13:08:41 +08:00
Damyon Wiese 1ef6160ade Merge branch 'MDL-38215-workshop-oracle' of git://github.com/mudrd8mz/moodle 2013-03-18 11:41:00 +08:00
Petr Škoda d2f3c5c58d MDL-38180 do not add links for enrol and other users candidates 2013-03-17 22:21:27 +01:00
Petr Škoda f2cf0f8419 MDL-38320 fix role name display when roles switched 2013-03-17 21:14:11 +01:00
Petr Škoda d0bf51e2b3 MDL-38329 use proper plugin name for the webkit lists workaround
Credit goes to Mauno Korpelainen, thanks.
2013-03-17 20:59:11 +01:00
Petr Škoda 9d4f949547 MDL-38202 fix loginas logout redirection 2013-03-17 20:51:25 +01:00
Petr Škoda ab633dafac MDL-38319 make role_get_names() faster and more useful 2013-03-17 20:15:59 +01:00
Petr Škoda 94388d18ca MDL-38364 rework PHPUnit autoloading
This is related to BC incompatibility introduced in https://github.com/sebastianbergmann/phpunit/issues/848
2013-03-17 19:54:55 +01:00
Andrew Robert Nicols 43bd811891 MDL-38507 JavaScript: Move definition of YUI_config before setup of SimpleYUI
Since moving to SimpleYUI, the order of inclusion for the YUI_config
variable is more important.

Simple YUI defines a global instance of YUI so that it can be used without
specifying the full YUI().use() syntax. As a result, any configuration
applied when that global instance is setup must exist already.
2013-03-17 16:30:39 +00:00
Andrew Robert Nicols b3c78403b0 MDL-38391 lib: Move the group configFn to the YUI_config class 2013-03-17 16:25:33 +00:00
Andrew Robert Nicols aa135c4d46 MDL-38391 lib: Add system to fetch moodle YUI metadata 2013-03-17 16:25:33 +00:00
ppichet e605209ad6 MDL-38444 Saving datasets from edit_calculatedsimple_form.php
Bypassing the 3 steps savequestion() of calculated.
2013-03-16 23:36:44 -04:00
Eloy Lafuente (stronk7) a06900b5b2 MDL-25655 glossary: non full searches now working.
In the process of updting the module from 1.9 to
2.0 the (non) full search feature was lost without notice.

This restitutes it with the same behavior present in 1.9:

- fullsearch disabled: look into concepts and aliases.
- fullsearch enabled (default): look also into definitions.
2013-03-16 18:04:57 +01:00
Andrew Robert Nicols c2f47c19ad MDL-33680 JavaScript: Improve error handling on user selector
Since the previous commit to this issue removes the built-in debugging
tests, I've added these back using the M.core libraries.
2013-03-16 10:52:02 +00:00
Andrew Robert Nicols 28037331fb MDL-33680 JavaScript: Use the correct Content-Type for AJAX scripts
The repository_ajax.php script was returning a text/plain Content-Type and
user/selector/search.php was setting the content-type when this should be
handled by with the definition of AJAX_SCRIPT.
2013-03-16 10:52:02 +00:00
Eloy Lafuente (stronk7) 07c4a94952 MDL-38373 Use correct PEAR->loadExtension()
Current use is wrong (static) and leads to strict standards notice.
2013-03-16 11:43:03 +01:00
Andrew Robert Nicols cae21a321f MDL-38391 lib: Rewrite YUI_config as a class 2013-03-16 00:18:59 +00:00
Rex Lorenzo f295727859 MDL-30790 - Option to collapse or expand sub-folders 2013-03-15 16:19:07 -07:00
Petr Škoda 97dbc8f2b6 MDL-36198 allow themes to specify yui cssnormalize or disable all CSS resets 2013-03-16 00:03:58 +01:00
Tim Hunt a4768fe290 MDL-38412 fix quiz reports group mode weirdness.
Moodle currently selected group uses the session. This can cause weird
effects when you have two tabs open. This is particularly weird in the
quiz reports, where some actions like delete attempt are checked against
the currently selected group.

The solution is to put the currently selected group into the URL for all
actions like delete/regrade attempt, regrade all attempts, download and
sort table.
2013-03-15 11:58:06 +00:00
Tim Hunt c52bcbf65f MDL-38363 qtype_calculated. Fix warnings. 2013-03-15 11:22:38 +00:00
Frederic Massart ec130bda4b MDL-35875 themes: Safe multiline topics on profile 2013-03-15 17:09:45 +08:00
Jason Fowler 6e5d002e57 MDL-35875 - User - Modify the profile page to use semantic HTML rather than tables for layout 2013-03-15 17:09:37 +08:00
Tim Hunt 8009810ed4 MDL-38395 question categories: wrong URLs after editing.
The problem was that array1 + array2 takes the values from
array1 when a key appears in both places.

While working on this area, I updated it to use html_writer.
2013-03-15 08:12:39 +00:00
Damyon Wiese 7112729206 Merge branch 'MDL-38474-master' of git://github.com/FMCorz/moodle 2013-03-15 13:49:57 +08:00
Frederic Massart 71ac66ed7f MDL-38474 repository: Cannot edit a repository instance 2013-03-15 13:45:31 +08:00
Frederic Massart 807cf3d0ae MDL-38005 form: Headers have a proper name 2013-03-15 11:06:25 +08:00
Damyon Wiese 6a284704fe Merge branch 'MDL-38474-master' of git://github.com/FMCorz/moodle 2013-03-15 10:43:46 +08:00
David Mudrák 56aee7c2f6 MDL-38497 Fix invalid $ADMIN->add() calls
As the admin_category::add() method now checks for the third parameter,
couple of typos were detected in the code. Additional parameters passed
to the add() method were probably a mistake, a relict or a typo.

Note that the typo in admin/tool/unsuproles/settings.php had actually
significant impact on the functionality as the array with required
capabilities was not actually passed to the admin_externalpage
constructor as intended.
2013-03-15 01:00:29 +01:00
David Mudrák 690a55f631 MDL-38497 Add the info about the method signature change into upgrade.txt 2013-03-15 00:59:26 +01:00
David Mudrák 77043fd6f6 MDL-38497 Add unit tests for the admin tree behaviour 2013-03-15 00:53:14 +01:00
David Mudrák f6e85ab02a MDL-38497 Nodes can be put before a sibling in the admin tree
The patch introduces a new optional parameter of the add() method for
all classes implementing the parentable_part_of_admin_tree interface.
Currently we have only one class admin_category implementing this
interface. If some third party code implements this interface too, they
will get an error and will have to fix the add() method signature.
However, the chance that such third party code exists is considered
pretty low.
2013-03-15 00:47:11 +01:00
Jonathon Fowler e5ca31fa4d MDL-38388 qformat_blackboard_six: fix question image import
This works on the expectation that the returned array from readdata()
is opaque and will be fed directly into readquestions() since
filebase is different per file and needs to be set up appropriately
before each parse.
2013-03-15 09:08:57 +10:00
Tim Hunt c81175f532 MDL-38355 qtype_multianswer: input boxes too big in Russian.
... and any other language where the characters take multiple
bytes in UTF-8.

This fix was worked out by Dušan Ristić. I am just committing it.
2013-03-14 22:24:37 +00:00
Tim Hunt 1aecaa3d79 MDL-38397 question editing: only validate default mark if present.
Most qtypes have that field, but not all. multianswer is an example in core.
Also some contrib qtypes.
2013-03-14 22:11:49 +00:00
Tim Hunt 2443f3d21d MDL-38490 question preview, variant is attempt (not display) option 2013-03-14 17:21:16 +00:00
Eloy Lafuente (stronk7) 2e4d9a0b80 weekly release 2.5dev 2013-03-14 15:44:46 +01:00
Petr Škoda 6f634b6ffb MDL-38467 import YUI 3.9.0 2013-03-14 08:49:30 +01:00
Aparup Banerjee 61bd40d562 Revert "MDL-38387 cache: fixed inifinite initialisation loop with site id"
This reverts commit 17200a016d.
2013-03-14 15:39:07 +08:00
Damyon Wiese 3f5ef33fb9 Merge branch 'wip-MDL-38303-m25' of git://github.com/samhemelryk/moodle 2013-03-14 15:30:32 +08:00
Frederic Massart e42861d4fa MDL-38474 repository: Correct context when checking permissions to access a repository 2013-03-14 14:49:29 +08:00
Frederic Massart 9f1b00a85d MDL-38368 folder: No edit button when displayed inline 2013-03-14 14:03:17 +08:00
Aparup Banerjee 87d7c7b578 Revert "Merge branch 'wip-MDL-35875-master' of git://github.com/phalacee/moodle"
This reverts commit 02dcf9b501, reversing
changes made to 61cd50618a.
2013-03-14 11:17:23 +08:00
Andrew Robert Nicols 74972abc29 MDL-38473 JavaScript: Migrate moodle-core-chooserdialogue to use Shifter 2013-03-14 01:25:44 +00:00
Andrew Robert Nicols 9488b9fbe0 MDL-38472 JavaScript: Migrate moodle-core-popuphelp to Shifter 2013-03-14 01:21:18 +00:00
Andrew Robert Nicols 5c0a9d479a MDL-38471 JavaScript: Migrate moodle-core-notification to use Shifter 2013-03-14 00:52:32 +00:00
David Mudrák c3d0157b0d MDL-38215 Fix cross-db support in workshop SQL queries
The $sql used in these methods may contain multiple parts glued
together by the UNION operator. Simply appending the ORDER BY statement
to the end of the query does not work in all DBs (failure reported at
Oracle). Following the pattern already applied in MDL-30051, we wrap the
SQL into yet another SELECT statement and perform ordering there.

Credit goes to Sara Cenni for suggesting the fix.
2013-03-13 14:58:50 +01:00
David Mudrák 5230f6a720 MDL-38456 Allow colons in paths passed to mdeploy.php utility
The input_manager now accepts colons (:) in TYPE_PATH options, but only
in cases where the colon is used as a part of Windows drive labels, as
in C:\apache.
2013-03-13 12:08:38 +01:00
Damyon Wiese b37e555f6d Merge branch 'MDL-38184_master-winfix' of git://github.com/dmonllao/moodle 2013-03-13 16:12:00 +08:00
David Monllao e533d14f09 MDL-38184 behat: Fixing problem with Windows tests 2013-03-13 15:21:57 +08:00
Aparup Banerjee e186442497 Merge branch 'MDL-36990_master-neu' of git://github.com/grabs/moodle 2013-03-13 14:59:47 +08:00
Andreas Grabs 205c61898d MDL-36990 mod_feedback - remove single move icon, prevent autoscrolling 2013-03-13 07:32:04 +01:00
Frederic Massart 9d325e60ae MDL-38453 form: RTL styles for short forms 2013-03-13 14:08:15 +08:00
Frederic Massart 9ec532bef5 MDL-37959 form: Aria attribute set on collapsible sections 2013-03-13 11:14:20 +08:00
Frederic Massart 0b8bb3fe5f MDL-38049 form: Collapsed sections are hidden on page load 2013-03-13 10:28:37 +08:00
Eloy Lafuente (stronk7) 2a28b5d4ad Merge branch 'MDL-38268-master' of https://github.com/jfilip/moodle 2013-03-13 01:14:03 +01:00
Eloy Lafuente (stronk7) 0e5781a7ff Merge branch 'MDL-30166-master' of git://github.com/ankitagarwal/moodle 2013-03-13 01:08:26 +01:00
Eloy Lafuente (stronk7) 2472cdd305 Merge branch 'wip-mdl-38332' of git://github.com/rajeshtaneja/moodle 2013-03-12 22:50:32 +01:00
Davo Smith 3d38777333 MDL-38426 mod_label - correctly handle plain text that has been added by drag and drop upload 2013-03-12 19:46:14 +00:00
Eloy Lafuente (stronk7) 613eebfc6a MDL-38212 fix related unit tests.
For statslib tests was enough to require cronlib.php as
far as all the tests there are using ob-capture / output
expectations, so the new function does not bork anything.

For pluginlib tests finally the use was deleted because
it's a part of cron not interesting (should be always "cheap")
and to keep it there we should be adding a bunch of output
expectations under some cases, for practically nothing.
2013-03-12 19:35:16 +01:00
Shamim Rezaie ba23e9a57b MDL-37664 course: Fix drag & drop RTL mode issue 2013-03-12 15:43:40 +00:00
Eloy Lafuente (stronk7) cedc656bdd MDL-38212 Add a little note about the output change. 2013-03-12 16:08:49 +01:00
sam marshall 3a09f4dc64 MDL-38035 Activity settings: Support multilang names for custom user fields 2013-03-12 15:05:24 +00:00
Eloy Lafuente (stronk7) 63b738a177 Merge branch 'MDL-38212' of git://github.com/timhunt/moodle 2013-03-12 16:02:39 +01:00
Kordan f6adb060f8 MDL-38424 theme_formal_white: added suggestions to css custom styles description 2013-03-12 13:45:08 +01:00
Andrew Robert Nicols 6f07bf766b MDL-38166 mod_data Add option to open url in a new window 2013-03-12 11:29:17 +00:00
Rajesh Taneja 9a51c3d95c MDL-36395: Converted hard-coded MAX_USER_PER_PAGE to config setting
course, cohort, enrol, role, groups and forum used to use hard-coded
MAX_USERS_PER_PAGE=100 for rendering user list. This has been converted
to $CFG->maxusersperpage.
2013-03-12 17:14:53 +08:00
Ankit Agarwal 50c02a3556 MDL-36872 reports: Fixing incorrect sorting of recent activites by timestamp 2013-03-12 17:04:53 +08:00
Aparup Banerjee 02dcf9b501 Merge branch 'wip-MDL-35875-master' of git://github.com/phalacee/moodle 2013-03-12 16:53:45 +08:00
Damyon Wiese 61cd50618a Merge branch 'MDL-38184_master' of git://github.com/dmonllao/moodle 2013-03-12 16:35:19 +08:00
Frederic Massart 41068d989b MDL-38340 form: Last fieldset is collapsed by default 2013-03-12 16:19:17 +08:00
Frederic Massart f160f97c12 MDL-38435 form: Sections can be expanded by default 2013-03-12 16:18:07 +08:00
Damyon Wiese 3de89ef8ea Merge branch 'MDL-38346_master-fix' of git://github.com/dmonllao/moodle 2013-03-12 16:11:38 +08:00
Damyon Wiese 43c791653b Merge branch 'MDL-34011' of git://github.com/rwijaya/moodle 2013-03-12 16:03:53 +08:00
Aparup Banerjee ca5cb4ccac Merge branch 'MDL-35615' of git://github.com/rwijaya/moodle 2013-03-12 15:55:17 +08:00
Frederic Massart fb69f811a8 MDL-38418 grade: Course settings sections are expanded by default 2013-03-12 15:47:10 +08:00
Frederic Massart a4faf4f416 MDL-38416 grade: Grader report settings expands section by default 2013-03-12 15:19:44 +08:00
David Monllao 7532ea010a MDL-38346 behat: Quick fix to remove nasty strings 2013-03-12 15:17:23 +08:00
Rossiani Wijaya 43deb1a4c4 MDL-34011 Lesson module - short answer question: fixed student attempt statistics 2013-03-12 14:16:15 +08:00
Damyon Wiese ee8640a906 MDL-34011 Lesson module: fixed incorrect display of student attempt for short answer question 2013-03-12 14:08:05 +08:00
Frederic Massart b75f1575c6 MDL-38330 blog: Behat tests for commenting 2013-03-12 13:56:36 +08:00
Damyon Wiese f196cfe83a Merge branch 'wip-MDL-38406-master' of git://github.com/marinaglancy/moodle 2013-03-12 13:51:40 +08:00
Aparup Banerjee e14cc639f1 Merge branch 'MDL-38356-m' of git://github.com/andrewnicols/moodle 2013-03-12 13:37:25 +08:00
Aparup Banerjee 34bbe80617 Merge branch 'MDL-35582_message_labels' of git://github.com/andyjdavis/moodle 2013-03-12 13:26:33 +08:00
Frederic Massart 2ce5fd502f MDL-38414 course: Settings form displays all role renaming fields 2013-03-12 13:04:02 +08:00
Rajesh Taneja 4f49e74fae MDL-38431 comment: profile url should be escaped, as it's used in html 2013-03-12 12:27:02 +08:00
Aparup Banerjee e0567bc2a3 MDL-36990 mod_feedback : minor whitespace clean up 2013-03-12 12:25:38 +08:00
Aparup Banerjee 7b37b805d6 Merge branch 'MDL-36990_master-neu' of git://github.com/grabs/moodle 2013-03-12 12:22:28 +08:00
Ankit Agarwal 6e9d3c19e3 MDL-38370 scorm: Fixing strict standard errors in outline report 2013-03-12 11:43:10 +08:00
Rajesh Taneja 5288af68fc MDL-38431 comment: Pass formated comment created time to JS and print_comment 2013-03-12 11:25:49 +08:00
Mary Evans 3acb97f062 MDL-37771 themes: Fixed table header color in Question Bank window block.
modified: theme/anomaly/style/general.css
modified: theme/base/style/question.css
modified: theme/magazine/style/core.css
modified: theme/serenity/style/core.css
modified: theme/splash/style/blue.css
modified: theme/splash/style/green.css
modified: theme/splash/style/orange.css
modified: theme/splash/style/pagelayout.css
modified: theme/splash/style/red.css
2013-03-12 11:25:23 +08:00
Aparup Banerjee 58437b4cd3 Merge branch 'wip-mdl-35716' of git://github.com/rajeshtaneja/moodle 2013-03-12 10:49:18 +08:00
Ankit Agarwal 7a241d8102 MDL-30166 Remove deprecated %fullname% from core
Thanks to Matheus Kautzmann for the initial patch.
2013-03-12 10:38:09 +08:00
Rajesh Taneja 043f100556 MDL-38332 Administration: Updated update.txt and php doc for get_users_listing 2013-03-12 10:04:40 +08:00
Eloy Lafuente (stronk7) b2ccf75484 Merge branch 'MDL-34774' of git://github.com/rwijaya/moodle 2013-03-12 00:54:53 +01:00
Eloy Lafuente (stronk7) 8aa0a1423b Merge branch 'MDL-38307_master' of git://github.com/dmonllao/moodle 2013-03-12 00:50:50 +01:00
Eloy Lafuente (stronk7) 705d41c895 Merge branch 'MDL-36900-master' of git://github.com/FMCorz/moodle 2013-03-12 00:45:59 +01:00
Eloy Lafuente (stronk7) 8ed6ee97a6 Merge branch 'MDL-38346_master' of git://github.com/dmonllao/moodle 2013-03-12 00:43:38 +01:00
Eloy Lafuente (stronk7) e314a6436e Merge branch 'wip-mdl-38382' of git://github.com/rajeshtaneja/moodle 2013-03-12 00:38:37 +01:00
Eloy Lafuente (stronk7) bf3a44afbe Merge branch 'MDL-38337' of git://github.com/timhunt/moodle 2013-03-12 00:25:05 +01:00
Eloy Lafuente (stronk7) ab7cb04fb8 Merge branch 'MDL-34818_master' of git://github.com/lazydaisy/moodle 2013-03-12 00:22:18 +01:00
Eloy Lafuente (stronk7) 35049887b9 Merge branch 'wip_master_mdl-38262' of git://github.com/iarenaza/moodle 2013-03-12 00:04:04 +01:00
Davo Smith 413bca9f76 MDL-38367 course dndupload - workaround to allow 'add X here' text to be drop target in Firefox 2013-03-11 22:44:55 +00:00
Davo Smith 66079e28fd MDL-38367 course dndupload - various tweaks to the UI
Switched to Moodle-style dialog boxes (thanks Andrew for the pointer)
Enter button now submits the form (from within the 'name' field)
Upload button is disabled when the name is empty (if the name is required for the selected handler)
Dialog now has 'What do you want to do with this text?' and 'Name' for the text
Entire course section now has a class added when you drag over it (to enable it to be styled in the future)
2013-03-11 22:44:55 +00:00
David Mudrák 0063302436 MDL-34401 Add language strings for the new cache definitions 2013-03-11 12:51:30 +01:00
David Mudrák 9d6eb027b4 MDL-34401 Cache the contents of version.php files
This saves many inclusions of version.php files.
2013-03-11 12:51:30 +01:00
David Mudrák ad3ed98b05 MDL-34401 Replace ad-hoc plugin request caches with proper application caches
Data cached in these caches change only at well defined places (during
need for upgrade checks, at the plugin management screen etc). So it
makes sense to use proper application caches instead of request caches.

This saves couple of database queries at almost every page in Moodle.
2013-03-11 12:48:53 +01:00
David Mudrák b8a6f26ee3 MDL-34401 Replace static variables in pluginlib with ad-hoc request caches
Where the static variable was not really needed (as in case of arrays
defined by the hard-coded list of items), non-static variable is used as
I believe that there is no real performance gain.
2013-03-11 12:48:07 +01:00
David Mudrák 07622d7dfa MDL-34401 Add caching into get_plugin_types() function
This is a simple MUC replacement for the previous static arrays.
2013-03-11 12:46:15 +01:00
David Mudrák dbaaeb935d MDL-34401 Add caching into get_plugin_list() function
This is quite frequently called function at most pages. The cache needs to be
invalidated only when a new plugin is installed or existing plugin uninstalled.
However, given how moodle_needs_upgrading() checks for new plugins, we need to
purge the cache there. Which is a shame because this means that the cache gets
purged in each cron call and when the admin looks at the front page and/or
system notifications page.
2013-03-11 12:45:27 +01:00
Damyon Wiese 95045941e6 Merge branch 'MDL-38389-m' of git://github.com/andrewnicols/moodle 2013-03-11 16:19:53 +08:00
Aparup Banerjee f19de35c1f Merge branch 'wip-MDL-31342_master' of git://github.com/gjb2048/moodle 2013-03-11 15:41:03 +08:00
Rajesh Taneja 5c9e8898c0 MDL-35716: Added performance to core plugin list 2013-03-11 14:30:02 +08:00
Rajesh Taneja 87f9a3b15e MDL-35716 report_performance: Performance report for moodle site
This will report config setting which can affect moodle performance.
Few of them are added in this patch:
1. Theme designer mode
2. Cache Javascript
3. Debug message set to developer
4. Backup - Active
5. Stats enabled.
2013-03-11 14:30:01 +08:00
Damyon Wiese fcdb8cec4e Merge branch 'wip-MDL-34713-master' of git://github.com/phalacee/moodle 2013-03-11 13:43:56 +08:00
Damyon Wiese e18c12c190 Merge branch 'MDL-33424' of git://github.com/jmvedrine/moodle 2013-03-11 13:30:45 +08:00
David Monllao 37652a9cb9 MDL-38352 behat: Updating tests
According to non-escaped double quotes
in TableNodes. Also refactoring previous
test affected by the issue.
2013-03-11 12:52:13 +08:00
David Monllao e88d47b4a2 MDL-38352 behat: Removing extra double quotes escape 2013-03-11 12:52:12 +08:00
Sam Hemelryk 17200a016d MDL-38387 cache: fixed inifinite initialisation loop with site id 2013-03-11 10:32:46 +08:00
Mary Evans 3004ce46de MDL-34818 theme_mymobile: Fixes resources folders to show properly on first access. 2013-03-11 00:02:50 +00:00
Marina Glancy 6573f727a4 MDL-38406 Separate categories view and edit page - alter CSS 2013-03-11 10:15:17 +11:00
David Monllao 4f07b654e1 MDL-38184 repository_upload: Adding tests 2013-03-11 06:56:02 +08:00
Sam Hemelryk 35b2d0db5e MDL-38303 cache: fixed purging of session cache when switching users 2013-03-10 11:31:26 +13:00
Andreas Grabs c76b19bf37 MDL-36990 feedback - added check for ->enableajax 2013-03-09 16:16:44 +01:00
Andreas Grabs 7eddca8c19 MDL-36990 mod_feedback - using delegator for dd-items 2013-03-09 16:16:43 +01:00
Andreas Grabs 45785a385b MDL-36990 mod_feedback - optimize js code and use groups for dd 2013-03-09 16:16:42 +01:00
Andreas Grabs e6c4d66910 MDL-36990 mod_feedback - moved drag styles into styles.css 2013-03-09 16:16:42 +01:00
Andreas Grabs 3fa1aec8f8 MDL-36990 mod_feedback - moved css selectoren into constants 2013-03-09 16:16:40 +01:00
Andreas Grabs bdd694fd85 MDL-36990 mod_feedback - migrated the yui dragdrop stuff into a yui module 2013-03-09 16:16:40 +01:00
Andreas Grabs c206a2b3fd MDL-36990 mod_feedback - better compatibility for IE8 and IE9 2013-03-09 16:16:39 +01:00
Andreas Grabs fa9ea3e703 MDL-36990 mod_feedback - correct some comments 2013-03-09 16:16:38 +01:00
Andreas Grabs 2694b635d9 MDL-36990 mod_feedback - changed variable to lowercase 2013-03-09 16:16:38 +01:00
Andreas Grabs 5f818c0e64 MDL-36990 mod_feedback - added a missing semicolon 2013-03-09 16:16:37 +01:00
Andreas Grabs 67e12ed2fd MDL-36990 mod_feedback - removed unneeded parameters for js 2013-03-09 16:16:36 +01:00
Andreas Grabs 00cd08b0e9 MDL-36990 mod_feedback - change double with single quoted strings 2013-03-09 16:16:36 +01:00
Andreas Grabs 8dfec73db8 MDL-36990 mod_feedback - added license comment 2013-03-09 16:16:35 +01:00
Andreas Grabs 3b4afad07c MDL-36990 mod_feedback - move ajax function into lib.php 2013-03-09 16:16:35 +01:00
Andreas Grabs 575c88c12f MDL-36990 - Improper use of confirm_sesskey 2013-03-09 16:16:34 +01:00
Andreas Grabs e4d1546116 MDL-36990 - fix position of target boxes with disabled javascript 2013-03-09 16:16:33 +01:00
Andreas Grabs f94e501b23 MDL-36990 - item-position text change on dragdrop 2013-03-09 16:16:32 +01:00
Andreas Grabs 590378bdbf MDL-36990 - first try of a dragdrop version 2013-03-09 16:16:31 +01:00
Jean-Michel Vedrine 3f28674535 MDL-33424 Images missing when restoring a 1.9 backup 2013-03-09 13:51:34 +01:00
Tim Hunt f9e5471273 MDL-38337 quiz: respect maximum grade config for new quizzes. 2013-03-08 21:36:27 +00:00
Tim Hunt 658b9372ee MDL-38212 cron: display time and memory usage before each task.
This helps diagnose problems.

Also, call gc_collect_cycles between tasks, which may reduce the
frequency of out-of-memory errors.
2013-03-08 10:24:41 +00:00
Andrew Robert Nicols 0872e0e9e5 MDL-38389 JavaScript: Return DEBUG versions of Moodle YUI modules 2013-03-08 05:46:59 +00:00
Jason Fowler 46a710e998 MDL-34713 - Blog - Fixing undefined index for blog menu block 2013-03-08 13:46:27 +08:00
David Monllao bceb65ee2d MDL-38307 behat: Remove notices 2013-03-08 12:29:59 +08:00
David Monllao aa988a9a6c MDL-38184 repository_upload: New step definition 2013-03-08 11:57:56 +08:00
David Monllao bd21f796cb MDL-38184 behat: Tests for filepicker steps 2013-03-08 11:57:54 +08:00
David Monllao 3db1aec528 MDL-38184 behat: Filepicker management steps
Includes create/open/delete/zip/unzip
of files and folders
2013-03-08 11:57:15 +08:00
Rajesh Taneja 4e0b615ede MDL-38332 Users: Browse list of users should not contain guest user record 2013-03-08 11:44:42 +08:00
Frederic Massart 04cbea2cd6 MDL-36900 files: D&D upload uses new file name increment function 2013-03-08 10:21:01 +08:00
Frederic Massart 8158fe0542 MDL-36900 repository: File Manager new folder UI improvements 2013-03-08 10:21:01 +08:00
Rajesh Taneja c22a579bed MDL-38382: Update will show minor number with leading zeros (if any) 2013-03-08 10:14:02 +08:00
Lalit Khattar 2ca1f894eb MDL-34724 Accessibility: At the bottom of Messaging settings page put the label of the checkboxes in <label> 2013-03-08 09:45:36 +08:00
David Monllao a8d910a82a MDL-38184 behat: Solving problem with the tests loader 2013-03-08 09:42:28 +08:00
David Monllao 1d823d9322 MDL-38184 behat: File-related actions 2013-03-08 09:42:28 +08:00
David Monllao a4534dceef MDL-38184 behat: Fields management externalized
Not only behat_forms needs to deal
with form fields
2013-03-08 09:42:28 +08:00
Eloy Lafuente (stronk7) 8673a98d1d MDL-38378 Take rid of harcoded db prefix and bump. 2013-03-08 00:27:01 +01:00
Gareth J Barnard b4065a16d1 MDL-31342 theme_mymobile: TinyMCE editor difficulties. 2013-03-07 19:45:30 +00:00
Eloy Lafuente (stronk7) c5cbdff670 weekly release 2.5dev 2013-03-07 16:20:02 +01:00
Eloy Lafuente (stronk7) 3523c45b0c Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-03-07 16:16:54 +01:00
Eloy Lafuente (stronk7) d79759cef9 Merge branch 'MDL-38352' of git://github.com/danpoltawski/moodle 2013-03-07 11:45:06 +01:00
Dan Poltawski dbf8c92f73 MDL-38352 - use ISO ISO 3166-1 name for Libya 2013-03-07 18:34:41 +08:00
Eloy Lafuente (stronk7) a75dfd6f33 MDL-38345 Prevent undefined CFG leading to DB error.
It seems that MDL-32975, no matter a version bump
was done, leads to the $CFG->navsortmycoursessort
setting undefined sometimes. And that ends with an error
visiting the /my page. This just ensures a safe default
if the setting is undefined/empty.
2013-03-07 10:21:03 +01:00
Frederic Massart ac5fc59534 MDL-37852 repository: Admins can't access user instances settings 2013-03-07 16:37:43 +08:00
Aparup Banerjee c3d1c73076 Merge branch 'MDL-38352-behat-fix' of git://github.com/dmonllao/moodle 2013-03-07 15:46:07 +08:00
Frederic Massart bd6581935d MDL-37852 repository: Re-inforced checks to manage repository instances 2013-03-07 14:32:44 +08:00
David Monllao 5ecb87a9a2 MDL-38352 behat: Updating tests
According to latest language strings
changes
2013-03-07 13:56:49 +08:00
Jason Fowler ae18db7025 MDL-35816 - User - Modify the profile page to use semantic HTML rather than tables for layout 2013-03-07 11:00:16 +08:00
Aparup Banerjee c65e7fcbc8 Merge branch 'MDL-33946_label_dndupload_text' of git://github.com/davosmith/moodle 2013-03-07 10:41:52 +08:00
Damyon Wiese 3d231eda76 Revert "MDL-38055 block_courseoverview: fixed formatting of course fullname"
This reverts commit a9ff59979f.
This reverts commit 4e83302f6f.

This issue has failed testing and will be delayed
2013-03-07 10:30:37 +08:00
Davo Smith 2748d8efdb MDL-33946 course dndupload - fixes to dialog when dragging text
Radio buttons have unique IDs, matching the label IDs
'What do you want to call this text' input moved down and disabled when 'label' selected
'Add page here' changed to 'Add text here'
2013-03-06 22:38:01 +00:00
Eloy Lafuente (stronk7) b9f3138dbe Merge branch 'MDL-38173-master' of git://github.com/damyon/moodle 2013-03-06 18:35:33 +01:00
Brent Boghosian 7e21ee683b MDL-38356 Forms: Check that the form exists before applying changechecker
Signed-off-by: Andrew Robert Nicols <andrew.nicols@luns.net.uk>
2013-03-06 16:43:48 +00:00
Eloy Lafuente (stronk7) 641577eb32 Merge branch 'MDL-38352-en_fix' of git://github.com/mudrd8mz/moodle 2013-03-06 17:26:37 +01:00
Damyon Wiese 005c6640dd MDL-38173 Course: Fix DB from regression when adding a (new) course module to a section. 2013-03-06 23:59:19 +08:00
Helen Foster ca084ef149 MDL-38352 Merge English strings from the en_fix language pack 2013-03-06 16:44:39 +01:00
Eloy Lafuente (stronk7) 69d0129389 Merge branch 'MDL-38311' of git://github.com/timhunt/moodle 2013-03-06 10:36:24 +01:00
Eloy Lafuente (stronk7) 4384eea0c9 Merge branch 'MDL-37958_master-fix' of git://github.com/dmonllao/moodle 2013-03-06 10:31:20 +01:00
Tim Hunt 770e4a467f MDL-38311 question manual grading: comment fixes. 2013-03-06 09:27:11 +00:00
David Monllao e8a88ebbd8 MDL-37958 behat: Avoid problems with Background cached steps 2013-03-06 15:49:37 +08:00
David Monllao 31c75894e0 MDL-38271 behat: Fixing typo 2013-03-06 15:07:36 +08:00
David Monllao 0a7f6a02eb MDL-37958 behat: Nasty strings in HTML
Nasty strings includes html entities and
non-breaking spaces followed by spaces which makes
very hard to find these strings in the DOM html,
this patch keeps the non-breaking spaces and all
the nasty characters, but leaves them isolated from
other regular spaces. It swaps the strings to HTML before
finding elements in the HTML that matches that contents.
2013-03-06 13:34:09 +08:00
Sam Hemelryk c629c91feb MDL-32975 navigation: fixed error when viewing my with no enrolments 2013-03-06 14:35:19 +13:00
Eloy Lafuente (stronk7) 6026f23559 MDL-38311 Add missing comment format. 2013-03-06 02:02:45 +01:00
AMOS bot a48b920ddf Automatically generated installer lang files 2013-03-06 00:36:54 +00:00
Eloy Lafuente (stronk7) 9f4da038c8 Merge branch 'MDL-38311' of git://github.com/timhunt/moodle 2013-03-06 01:22:32 +01:00
Eloy Lafuente (stronk7) ab1e921c31 Merge branch 'MDL-36749-m' of git://github.com/andrewnicols/moodle 2013-03-06 01:19:17 +01:00
Rossiani Wijaya 6a9235c998 MDL-37411 Notes: unset courseid and userid when updating the note to prevent accidental changes. Thank you Sam Hemelryk for suggesting an alternative solution. 2013-03-06 09:35:42 +13:00
Andrew Robert Nicols a6d81a73ac MDL-36749 lib Complete deprecation of old_help_icon
This deprecates the old_help_icon and helpbutton functions. Since they can
no longer be used, the renderers are removed altogether.
2013-03-05 19:07:06 +00:00
Eloy Lafuente (stronk7) 88906d068d Merge branch 'MDL-37958_master' of git://github.com/dmonllao/moodle 2013-03-05 19:28:14 +01:00
Eloy Lafuente (stronk7) 8d0a042263 Merge branch 'MDL-38327_master' of git://github.com/dmonllao/moodle 2013-03-05 19:26:52 +01:00
Eloy Lafuente (stronk7) 9af30e60b5 Merge branch 'MDL-38252-master' of git://github.com/danpoltawski/moodle 2013-03-05 18:12:55 +01:00
Justin Filip 2e667c7405 MDL-38268 files: Must be explicit about switching cURL request method from HEAD to GET. 2013-03-05 11:30:22 -05:00
Eloy Lafuente (stronk7) af733564f4 Merge branch 'MDL-38119' of git://github.com/timhunt/moodle 2013-03-05 16:45:01 +01:00
Eloy Lafuente (stronk7) 4afd580231 Merge branch 'MDL-38271_master' of git://github.com/dmonllao/moodle 2013-03-05 15:43:15 +01:00
Tim Hunt 53b8e25626 MDL-38311 questions: manual grading API should accept commentformat
Comment format (FORMAT_...) was correctly being processed when the
manual grading happened as the result of a form submission. It was only
when done using the question_usage or question_attempt API method that
there was no way to specify the format. (Although I think the only place
this API as used was in the unit tests.)

Note that question_attempt::manual_grade API had to change, but I don't
think that is a real API change. Calling code should be using
question_usage::question_attempt, which is backwards compatible.

Note that now, if you don't pass format, then no error is generated, but
a developer debugging message is generated.
2013-03-05 11:51:47 +00:00
Aparup Banerjee 045a4173b1 Merge branch 'MDL-38209' of git://github.com/timhunt/moodle 2013-03-05 17:14:02 +08:00
Aparup Banerjee 77e08c04d3 Merge branch 'MDL-38072' of git://github.com/lazydaisy/moodle 2013-03-05 17:07:50 +08:00
Aparup Banerjee 11abbe276f Merge branch 'wip-MDL-34775-master' of git://github.com/phalacee/moodle 2013-03-05 17:01:54 +08:00
Frederic Massart da9d3a1205 MDL-37852 phpunit: Tests for repository::can_be_edited_by_user() 2013-03-05 09:56:23 +01:00
Frederic Massart 89a9d21a15 MDL-37852 repository: Prevent undesired access to repositories settings 2013-03-05 09:56:22 +01:00
David Monllao 6fe3986dec MDL-38007 behat: Refining error texts
Also removing a couple of silly notices
2013-03-05 16:52:48 +08:00
Damyon Wiese ce91af8114 Merge branch 'MDL-38282' of git://github.com/timhunt/moodle 2013-03-05 16:06:31 +08:00
Daniele Cordella a5b884fe6f MDL-35615 Course section: fixed alignment for userdefaultname checkbox to be inline with section name text input 2013-03-05 16:03:13 +08:00
Aparup Banerjee 810fb772c3 Merge branch 'MDL-38240' of git://github.com/timhunt/moodle 2013-03-05 16:00:49 +08:00
Damyon Wiese 915b7aca62 Merge branch 'MDL-38279' of git://github.com/timhunt/moodle 2013-03-05 15:22:38 +08:00
Damyon Wiese d0eac6f639 Merge branch 'MDL-38178_master' of git://github.com/dmonllao/moodle 2013-03-05 15:10:52 +08:00
Aparup Banerjee c0da001c49 Merge branch 'MDL-38025_master' of git://github.com/dmonllao/moodle 2013-03-05 14:43:46 +08:00
David Monllao 2b6287b744 MDL-38178 behat: New tests for fieldsets expansion 2013-03-05 14:41:54 +08:00
David Monllao f8f1bdc315 MDL-38178 behat: Adding find_all and step to expand all form's fieldsets 2013-03-05 14:41:52 +08:00
Aparup Banerjee 212e5ee909 Merge branch 'MDL-38007_master' of git://github.com/dmonllao/moodle 2013-03-05 14:37:05 +08:00
Damyon Wiese ffb95d5fdc Merge branch 'MDL-38241' of git://github.com/timhunt/moodle 2013-03-05 14:13:42 +08:00
Damyon Wiese 6fbf382cd4 Merge branch 'MDL-38280' of git://github.com/timhunt/moodle 2013-03-05 14:10:00 +08:00
David Monllao 5f26d1c8b8 MDL-38327 behat: Don't switch completely if switchcompletely is false 2013-03-05 14:03:50 +08:00
Damyon Wiese be98769eab Merge branch 'wip-MDL-37903-m25' of git://github.com/samhemelryk/moodle 2013-03-05 13:12:12 +08:00
Aparup Banerjee c2b40106d3 Merge branch 'wip-MDL-38251-m25' of git://github.com/samhemelryk/moodle 2013-03-05 13:09:37 +08:00
Damyon Wiese 775eeb1ac2 MDL-37935: Cache - fix spelling mistake in language string 2013-03-05 13:06:49 +08:00
Damyon Wiese 6be6b2b073 Merge branch 'wip-MDL-37935-m25' of git://github.com/samhemelryk/moodle 2013-03-05 13:05:57 +08:00
Aparup Banerjee da33f689dc Merge branch 'MDL-30481' of git://github.com/rwijaya/moodle 2013-03-05 12:55:41 +08:00
Sam Hemelryk 44cfa89576 Merge branch 'MDL-38094' of git://github.com/timhunt/moodle 2013-03-05 16:57:50 +13:00
Damyon Wiese a27996bbad Merge branch 'wip-MDL-38055-m25' of git://github.com/samhemelryk/moodle 2013-03-05 11:42:25 +08:00
Aparup Banerjee d1e220eb0e Merge branch 'MDL-36171-m' of git://github.com/andrewnicols/moodle 2013-03-05 11:13:33 +08:00
David Monllao 15c7fb4adb MDL-37958 behat: Ignoring spaces when comparing field contents 2013-03-05 11:08:04 +08:00
Aparup Banerjee fb3c1d2b34 Merge branch 'MDL-38067-m' of git://github.com/andrewnicols/moodle 2013-03-05 11:06:55 +08:00
Aparup Banerjee 23a6fca502 Merge branch 'MDL-34300-m' of git://github.com/andrewnicols/moodle 2013-03-05 10:37:33 +08:00
Frederic Massart dfe203c12e MDL-34284 library: Import ZF2012-01 security patch for Zend 2013-03-05 10:35:56 +08:00
Sam Hemelryk 2e2bac9d32 Merge branch 'MDL-37932' of git://github.com/timhunt/moodle 2013-03-05 15:30:45 +13:00
Sam Hemelryk dc8e7116a7 Merge branch 'wip-MDL-37901_master' of git://github.com/gjb2048/moodle 2013-03-05 15:23:46 +13:00
Aparup Banerjee b4f110f1a4 Merge branch 'MDL-33946_label_dndupload_text' of git://github.com/davosmith/moodle 2013-03-05 10:21:25 +08:00
Sam Hemelryk aa9f48ed59 Merge branch 'MDL-38298' of git://github.com/stronk7/moodle 2013-03-05 15:12:08 +13:00
Sam Hemelryk 627a43917a MDL-37127 js: fixed indentation of tooltip.js 2013-03-05 14:11:35 +13:00
Sam Hemelryk 5c1d5998ac Merge branch 'MDL-37127-m' of git://github.com/andrewnicols/moodle 2013-03-05 13:54:10 +13:00
Eloy Lafuente (stronk7) 86d053490d Merge branch 'wip-MDL-36215-m25' of git://github.com/samhemelryk/moodle 2013-03-05 01:27:50 +01:00
Eloy Lafuente (stronk7) 2b48123b92 Merge branch 'wip-MDL-38300-m25' of git://github.com/samhemelryk/moodle 2013-03-05 01:21:47 +01:00
Eloy Lafuente (stronk7) caa5bcea00 Merge branch 'wip-MDL-38247-m25' of git://github.com/samhemelryk/moodle 2013-03-05 01:08:23 +01:00
Eloy Lafuente (stronk7) fd0c485584 Merge branch 'm25_MDL-37515_Notice_when_submitting_change_password_form' of https://github.com/scara/moodle 2013-03-05 01:03:26 +01:00
Eloy Lafuente (stronk7) adc4aca475 Merge branch 'MDL-37897' of git://github.com/jmvedrine/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-03-05 00:56:24 +01:00
Eloy Lafuente (stronk7) cdbbd48a66 Merge branch 'MDL-38261-workshop-attachments-size' of git://github.com/mudrd8mz/moodle 2013-03-05 00:48:47 +01:00
Eloy Lafuente (stronk7) 62bf37d8f5 Merge branch 'master_MDL-37907' of git://github.com/danmarsden/moodle 2013-03-05 00:46:12 +01:00
Eloy Lafuente (stronk7) d2be039c6e MDL-32975 mini-bump to get navsortmycoursessort defined. 2013-03-04 23:47:13 +01:00
Eloy Lafuente (stronk7) 2673254919 Merge branch 'wip-MDL-32975-m25' of git://github.com/samhemelryk/moodle 2013-03-04 23:47:13 +01:00
Sam Hemelryk f87ce4e9a0 MDL-32975 navigation: Added option to select how my courses are sorted 2013-03-05 09:46:11 +13:00
Sam Hemelryk ed2703290c Merge branch 'MDL-38101-master' of git://github.com/sammarshallou/moodle 2013-03-05 09:30:02 +13:00
Sam Hemelryk cf7386139d MDL-31983 navigation: fixed copy+paste typo 2013-03-05 09:24:19 +13:00
Eloy Lafuente (stronk7) 1de87afc24 Merge branch 'MDL-37522-published-attachment' of git://github.com/mudrd8mz/moodle 2013-03-04 20:46:41 +01:00
Eloy Lafuente (stronk7) 25ba263d60 Merge branch 'MDL-38133-master' of git://github.com/sammarshallou/moodle 2013-03-04 20:37:57 +01:00
Eloy Lafuente (stronk7) d03d5e7816 Merge branch 'wip-MDL-33013-m25' of git://github.com/samhemelryk/moodle 2013-03-04 20:18:48 +01:00
Eloy Lafuente (stronk7) bb8f31dbf3 MDL-31390 document the set_source_table() api change. 2013-03-04 18:18:09 +01:00
Eloy Lafuente (stronk7) 5a341e9183 Merge branch 'MDL-31390-m' of git://github.com/andrewnicols/moodle 2013-03-04 18:08:54 +01:00
Eloy Lafuente (stronk7) 8b0f09d940 Merge branch 'MDL-36380-master' of git://github.com/FMCorz/moodle 2013-03-04 17:59:39 +01:00
Eloy Lafuente (stronk7) 266e8dec49 Merge branch 'wip-MDL-37983-master' of git://github.com/abgreeve/moodle 2013-03-04 16:42:25 +01:00
Eloy Lafuente (stronk7) d5834b3712 Merge branch 'MDL-38170-master' of git://github.com/sammarshallou/moodle 2013-03-04 16:25:00 +01:00
Sam Hemelryk 486f9dbecc Merge branch 'MDL-38243-master' of git://github.com/lucisgit/moodle 2013-03-04 16:25:50 +13:00
Sam Hemelryk 5722822302 Merge branch 'MDL-35350' of git://github.com/rwijaya/moodle 2013-03-04 16:13:09 +13:00
Sam Hemelryk 1668803ae2 Merge branch 'MDL-35127-master' of git://github.com/damyon/moodle 2013-03-04 16:08:08 +13:00
Eloy Lafuente (stronk7) 15d427c82d Merge branch 'wip-MDL-38205-m25' of git://github.com/samhemelryk/moodle 2013-03-04 03:01:11 +01:00
Frederic Massart 31581ae65d MDL-36426 repository: Prevent login_as() users to access private repositories 2013-03-04 02:38:35 +01:00
Sam Hemelryk 4ce761716c Merge branch 'MDL-31557_master' of git://github.com/markn86/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-03-04 14:35:59 +13:00
Sam Hemelryk 74bf99ddad Merge branch 'MDL-37625-master' of https://github.com/jfilip/moodle 2013-03-04 14:18:49 +13:00
Sam Hemelryk 7171c61c40 Merge branch 'MDL-36128-master' of https://github.com/StudiUM/moodle 2013-03-04 13:59:58 +13:00
Frederic Massart ce96f23fe1 MDL-37681 repository_webdav: improved form handling when configuring an instance 2013-03-04 13:55:53 +13:00
Rajesh Taneja 9fd0cb9cb1 MDL-37338 Calendar: User will not see calendar subscription, which he/she can't edit
Signed-off-by: Rajesh Taneja <rajesh@moodle.com>
2013-03-04 01:49:02 +01:00
Sam Hemelryk 121e604851 Merge branch 'MDL-38168-master' of git://github.com/sammarshallou/moodle 2013-03-04 13:35:16 +13:00
Frederic Massart 954b354511 MDL-37507 repositories: improved formatting of external resources 2013-03-04 13:28:41 +13:00
Mark Nielsen 8d220cb552 MDL-36901: Remove system paths from exceptions
Replaces any server paths, like dataroot, with a token
in exception messages and debug info.
2013-03-04 00:17:01 +01:00
Dan Marsden c238e1e2ab MDL-37907 Participants layout - move checkbox to first column 2013-03-04 11:28:14 +13:00
Frederic Massart 3ecc63e9db MDL-37481 user: fixed bug when logged in as guest 2013-03-04 11:17:14 +13:00
Eloy Lafuente (stronk7) 52f0c094f5 Merge branch 'wip-MDL-38165-m25' of git://github.com/samhemelryk/moodle 2013-03-03 23:08:15 +01:00
Sam Hemelryk f0abd36e46 Merge branch 'MDL-32125-master' of git://github.com/StudiUM/moodle 2013-03-04 10:37:51 +13:00
Sam Hemelryk a9ff59979f MDL-38055 block_courseoverview: fixed formatting of course fullname 2013-03-04 09:31:35 +13:00
Iñaki Arenaza 4bcb0396c2 MDL-38262 auth/{ldap,cas}: Fix undefined property notification on first config
Just move the test after we've set the default configuration values if
they are not defined.

Signed-off-by: Iñaki Arenaza <iarenaza@mondragon.edu>
2013-03-03 21:22:19 +01:00
Eloy Lafuente (stronk7) 045c0e4d8f MDL-38298 Take out harcoded dependency + tests.
With that change the filte_emoticon will be easily
resusable by other "emoticon filters".
2013-03-03 19:10:09 +01:00
Andrew Davis ec7298a10f MDL-38149 core_grade: added a guard for when there are no old grades 2013-03-03 11:08:37 +08:00
Gareth J Barnard dafa91279f MDL-37901 format_topics & format_weeks: Fix drag icon tooltip after move. 2013-03-02 12:38:29 +00:00
Tim Hunt 9fc29eec6d MDL-39282 quiz: always allow removal of bogus questions. 2013-03-01 17:33:32 +00:00
Tim Hunt 8407a5498b MDL-38280 manual graded behaviour: unit test for when not answered.
If the student does not submit an answer, the questoin goes to state
gaveup, rather than requiresgrading.
2013-03-01 17:04:04 +00:00
Tim Hunt 00cefd925a MDL-38279 questions: must have default mark positive. 2013-03-01 15:21:09 +00:00
Tim Hunt d23edcf151 MDL-37932 formslib: setAdvanced for repeatelements.
I think this commit also fixes some other problems with repeatelements
and shortforms. The shortforms code was trying to use hidden elements
with names like in conjunction with ...[0] with optional_param which
will not work. Hidden form fields that relate to other parts of the form
must use the other elements's id, no name, to make the hidden field
name.
2013-03-01 11:41:59 +00:00
Andrew Robert Nicols 5251450372 MDL-31390 Convert set_source_sql with order clauses to set_source_table 2013-03-01 11:29:01 +00:00
sam marshall 7ae7c3cf9a MDL-38101 Completion: Error when teacher/admin marks activity complete 2013-03-01 11:18:31 +00:00
sam marshall 85cb4b65b1 MDL-38170 SimplePie: Cannot read https feeds through proxy 2013-03-01 10:36:51 +00:00
Andrew Robert Nicols d9bae60289 MDL-31390 Allow data to be sorted at backup 2013-03-01 10:03:13 +00:00
David Monllao d636a3e6cd MDL-38026 behat: New tests 2013-03-01 17:34:39 +08:00
David Monllao 072f67fcac MDL-38026 behat: Base to write steps to work with specific DOM parts 2013-03-01 16:40:22 +08:00
David Monllao 46ac40cd0b MDL-38025 behat: Compliant with moodlechecker and codechecker 2013-03-01 16:07:04 +08:00
David Monllao 80e4150615 MDL-38025 behat: Updating tests according to modified steps 2013-03-01 16:06:23 +08:00
David Monllao 4092397794 MDL-38025 behat: Adding generic manipulation methods
Also required modifications in the affected
steps definitions
2013-03-01 16:06:15 +08:00
David Monllao 5f470b28bf MDL-38025 behat: Replacing selector-based steps by human-friendly options 2013-03-01 15:24:37 +08:00
David Monllao e2eb40ea3c MDL-38271 behat: Adds site shortname 2013-03-01 11:41:28 +08:00
David Monllao ac41f878da MDL-38007 behat: Adding new script using util.php 2013-03-01 10:50:22 +08:00
David Monllao fa7e4e2b6a MDL-38007 behat: Changing check_behat_setup interface 2013-03-01 10:44:31 +08:00
David Monllao e6ac2ab7c2 MDL-37958 behat: Solving problem when expanding root level nodes 2013-03-01 09:52:10 +08:00
David Monllao b9d551e17d MDL-37958 behat: Tests for permissions management 2013-03-01 09:52:10 +08:00
David Monllao 92c79fcc00 MDL-37958 behat: Defintions for permissions management 2013-03-01 09:52:10 +08:00
David Monllao 49d9112909 MDL-37958 behat: Using behat_form_field base class to interact with all form elements 2013-03-01 09:52:10 +08:00
Andrew Robert Nicols e2798523d6 MDL-37127 JavaScript: Switch moodle-core-tooltip to shifter 2013-03-01 01:33:08 +00:00
Andrew Robert Nicols a45e8fd3da MDL-37127 JavaScript: Add support for development using YUI Shifter 2013-03-01 01:25:54 +00:00
AMOS bot 8a099397be Automatically generated installer lang files 2013-03-01 00:42:14 +00:00
Sam Hemelryk 3d6dd54ad1 MDL-38165 cache: fixed issues purging peristent caches by event 2013-03-01 11:38:02 +13:00
Sam Hemelryk 0323e1ab99 MDL-38165 cache: added unit tests for event purging of persistent caches 2013-03-01 11:38:02 +13:00
Davo Smith 5efae6823d MDL-33946 mod_label - create label from text dragged and dropped into the course 2013-02-28 21:43:30 +00:00
Sam Hemelryk 79137823fa MDL-38251 course: fixed add category button on top level 2013-03-01 10:12:02 +13:00
Sam Hemelryk 11cfc0f95e MDL-38247 cache: Improved documentation 2013-03-01 10:11:55 +13:00
Sam Hemelryk 32c981e67a MDL-38247 cache: fixed cache stores so that they pass unit tests 2013-03-01 10:11:55 +13:00
Sam Hemelryk ac6754a679 MDL-38427 cache: implemented unit tests for all core cache stores 2013-03-01 10:11:55 +13:00
Sam Hemelryk 4af3d7e7a3 MDL-38205 cache: implemented key prefix in memcache plugin 2013-03-01 10:11:45 +13:00
Sam Hemelryk 43394c5114 MDL-38165 cache: fixed up application event purging 2013-03-01 10:10:30 +13:00
Sam Hemelryk b6c86be197 MDL-38165 cache: fixed up session event purging 2013-03-01 10:10:30 +13:00
Sam Hemelryk 4e83302f6f MDL-38055 navigation: fixed ampersand use within titles 2013-03-01 10:09:51 +13:00
Sam Hemelryk c643628f23 MDL-37935 cache: improved ready testing of stores on admin screen and testing script 2013-03-01 10:09:24 +13:00
Sam Hemelryk 01a3333723 MDL-37903 cache: implemented cacheable_object_array 2013-03-01 10:09:06 +13:00
Sam Hemelryk 8bc8ab6ee8 MDL-36215 navigation: fixed blog URL within courses using groups 2013-03-01 10:08:42 +13:00
Sam Hemelryk ba7b1ca565 MDL-33013 navigation: fixed expansion limit issue hiding nodes 2013-03-01 10:08:20 +13:00
Andrew Robert Nicols 08b196e265 MDL-36171 Administration Skip replace in the log table 2013-02-28 19:44:42 +00:00
Tim Hunt baa6159bb9 MDL-38241 qtype_match: should say Blanks for 3 more questions.
Currently it says Blanks for 3 more choices, like multichoice, which is
confusing.

AMOS BEGIN
 MOV [addmoreqblanks,qtype_match],[blanksforxmorequestions,qtype_match]
AMOS END
2013-02-28 18:34:43 +00:00
Tim Hunt f7ce33c287 MDL-38240 question forms: penalty should not be reqired.
It is a selecte menu, so you have to select a value, and anyway, 0 is a
valid value.

Once this is not a required field, the 'Multiple tries' section of the
form will collapse by default.
2013-02-28 18:34:25 +00:00
Tim Hunt ae271eba1f MDL-38209 quiz CSS: strip browser-specific rules. 2013-02-28 18:33:45 +00:00
Tim Hunt c04ed8d51c MDL-38209 quiz CSS: fix coding style. 2013-02-28 18:33:45 +00:00
Tim Hunt e01cf1fa68 MDL-37847 / MDL-38119 question engine: document API change. 2013-02-28 18:33:07 +00:00
Tim Hunt c3c65f417a MDL-38094 question forms: remove spare repeat element blanks.
Once the question has been created, only so as many blanks as are
required by the current question. Adding a new answer / choice / unit /
etc. is a rare operation, so it is OK if it takes another mouse click.
It is better to keep the form shorter in the common case.
2013-02-28 18:32:48 +00:00
Jean-Philippe Gaudreau 7f9e076806 MDL-36128 grade: Import outcomes error 2013-02-28 13:29:10 -05:00
David Mudrák 4cd2b45548 MDL-38261 Replace deprecated file_encode_url() in workshop renderer 2013-02-28 18:53:37 +01:00
David Mudrák 57c1c7edfc MDL-38261 Display workshop submission attachments in a preview mode 2013-02-28 18:53:37 +01:00
David Mudrák 8f5cbbd6c8 MDL-38261 Add a new file preview mode for bigger thumbnails 2013-02-28 18:53:37 +01:00
David Mudrák 2d4a3e6894 MDL-37522 Serve images from published submissions
If the user is allowed to see the published submission, she must be also
able to see images in it (both embedded into the text as well as
attached to the submission). See the logic in submission.php as a
reference.
2013-02-28 18:53:08 +01:00
Andrew Robert Nicols 1015b24b42 MDL-38067 JavaScript: Ensure the filemanager does not show through the tooltip 2013-02-28 17:00:02 +00:00
Andrew Robert Nicols 03bd9e7b78 MDL-34300 JavaScript: Stop YUI from forcing z-index on moodle-core-notification 2013-02-28 17:00:02 +00:00
Andrew Robert Nicols 694c4c87ac MDL-34300 JavaScript: Stop YUI from forcing z-index on moodle-core-notification 2013-02-28 16:54:59 +00:00
Jean-Michel Vedrine 4f315786e8 MDL-37897 Remove useless Blackboard question import format 2013-02-28 17:46:29 +01:00
Gilles-Philippe Leblanc 4a913724d0 MDL-32125 mod_forum: Updating subscription mode not reflecting subscribers 2013-02-28 11:33:51 -05:00
Eloy Lafuente (stronk7) cce0d9a100 weekly release 2.5dev 2013-02-28 15:47:07 +01:00
Eloy Lafuente (stronk7) 5524bab53d Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-02-28 15:40:15 +01:00
Ruslan Kabalin ae9fe89afa MDL-38243 mod_assessment: make assessment forms non-collapsible 2013-02-28 10:28:18 +00:00
Rossiani Wijaya 8b8d7fcd17 MDL-34774 Lesson module: fixed report stats for 'high score' and 'low score' values where there is only one attempt with 0 score 2013-02-28 16:05:14 +08:00
Mary Evans 7e97c2440f MDL-38072 theme_mymobile: Removed collapsed topics contributed plugin code.
modified:   theme/mymobile/javascript/custom.js
modified:   theme/mymobile/style/core.css
2013-02-28 07:42:24 +00:00
Damyon Wiese 01ac2cd813 Revert "MDL-33934 theme_mymobile: Updates to CSS & Javascript - including MDL-38072 removing css/js for collapsed topic."
This reverts commit 7e6c674302.
This reverts commit c443c95c01.

This issue needs more work and will be delayed.
2013-02-28 14:06:32 +08:00
Michael de Raadt ce744f7134 MDL-35350 Advanced uploading assignment: add submission timestamp on assignment index page 2013-02-28 14:06:01 +08:00
Frederic Massart bed828de91 MDL-36380 stats: Issue with DST and monthly statistics 2013-02-28 13:56:05 +08:00
Dan Poltawski b22b74035c MDL-38252 - course: fix typo 2013-02-28 11:04:30 +08:00
Damyon Wiese 4e516138e9 Revert "MDL-35875 - Users - Fixing RTL support"
This reverts commit fbb31b0f90.
This reverts commit c111b9f3ae.
This reverts commit 8afb9b7c4f.

This issue has failed testing and integration will be delayed.
2013-02-28 10:53:03 +08:00
Jason Fowler fbb31b0f90 MDL-35875 - Users - Fixing RTL support 2013-02-28 10:18:49 +08:00
Damyon Wiese c111b9f3ae MDL-35875 - User - Modify the profile page to use semantic HTML rather than tables for layout (RTL Support) 2013-02-28 10:12:28 +08:00
Petr Škoda 0f39498480 MDL-38096 fix availability of bulk enrol actions 2013-02-27 16:12:07 +08:00
Petr Škoda 506338d5de MDL-38096 fix availability of enrol button 2013-02-27 16:12:07 +08:00
Damyon Wiese 520fee918e MDL-36832 Assignment Use MUC for useridlist: Fix for quickgrading checkbox 2013-02-27 11:24:42 +08:00
Damyon Wiese b8d3aa8fc8 MDL-35127 Assignment - declare the variables in the outer scope (for readability) 2013-02-27 09:27:55 +08:00
Eric Merrill d77731d612 MDL-35127 mod_assign More efficient use of expensive database queries
Moving two relatively expensive DB queries so they are only executed when needed
instead of on every function call. They will still only execute once, and not
repeatedly during execution of the loop.
2013-02-27 09:01:25 +08:00
Eloy Lafuente (stronk7) 738b0965a4 Merge branch 'wip-MDL-37356-master' of git://github.com/abgreeve/moodle 2013-02-26 18:12:15 +01:00
Eloy Lafuente (stronk7) 2c4293ce90 Merge branch 'wip-MDL-31885-smartcache' of git://github.com/marinaglancy/moodle 2013-02-26 13:23:34 +01:00
Rossiani Wijaya b9509a1e45 MDL-30481 Advanced upload assignment: Fixed assignment available date string to appropriately identify past or future availability 2013-02-26 17:38:55 +08:00
Eloy Lafuente (stronk7) 36650d6f51 Merge branch 'MDL-38076-master' of git://github.com/FMCorz/moodle 2013-02-26 10:14:28 +01:00
Eloy Lafuente (stronk7) 46e120c561 Merge branch 'MDL-37835-master' of git://github.com/damyon/moodle 2013-02-26 10:06:14 +01:00
Eloy Lafuente (stronk7) 9515c34ee6 Merge branch 'wip-MDL-30669-master' of git://github.com/abgreeve/moodle 2013-02-26 09:46:13 +01:00
Michael de Raadt cf626656c6 MDL-34775 - Forum, RSS - Fixing RSS entries option to be disabled if RSS is not enabled 2013-02-26 14:03:00 +08:00
Dan Poltawski 3a01c45ce9 Merge branch 'MDL-38115-master' of git://github.com/damyon/moodle 2013-02-26 13:36:24 +08:00
Mark Nelson 5fb496743f MDL-31557 install: removing PREVIOUS and NEXT attributes from install.xml for newly introduced index 2013-02-26 12:12:05 +08:00
Tim Gus e1580085c4 MDL-31557 Add index for timemodified in grade_grades_history table 2013-02-26 12:11:59 +08:00
Dan Poltawski d28d214167 Merge branch 'w08_MDL-38154_m25_delperf' of git://github.com/skodak/moodle 2013-02-26 11:08:52 +08:00
Damyon Wiese be1ef2f35d MDL-37792 Course - Fix upgrade step and set version number for completion field fix. 2013-02-26 10:49:46 +08:00
Damyon Wiese b672408a1a Merge branch 'MDL-37792-master' of git://github.com/sammarshallou/moodle 2013-02-26 10:45:21 +08:00
Sam Hemelryk 07ccb35731 Merge branch 'wip-MDL-38144-master' of git://github.com/marinaglancy/moodle 2013-02-26 15:43:26 +13:00
Dan Poltawski 84f72e28fd Merge branch 'MDL-38161' of git://github.com/stronk7/moodle 2013-02-26 10:40:51 +08:00
Marina Glancy 96bc647755 MDL-31885 The activity name auto-linking filter should not create links to webpages it was created on 2013-02-26 13:35:24 +11:00
Adrian Greeve b7d3bb0fc6 MDL-30669 - blocks: Unit tests for course_page_type_list() 2013-02-26 10:21:45 +08:00
Adrian Greeve 3dd204b1e6 MDL-30669 - blocks: Added a warning when deleting blocks that have multiple displays set.
Also added a fix to the function course_page_type_list(). It was making a call to
get_context_info_array() which will generate an error if $currentcontext is not set.
2013-02-26 10:21:37 +08:00
Dan Poltawski e7054f06e3 MDL-37455 - redirect for mod_folder course breaking changes 2013-02-26 10:06:29 +08:00
Damyon Wiese 115277060a MDL-37835 Assignment unit tests - Do not fail if custom plugins are installed. 2013-02-26 09:09:53 +08:00
Damyon Wiese 9c986ee01d MDL-38115 Assignment Unit tests : speedup (round 2) 2013-02-26 09:00:06 +08:00
Eloy Lafuente (stronk7) fd6e1aaadb Merge branch 'wip-MDL-38162-m25' of git://github.com/samhemelryk/moodle 2013-02-26 01:28:56 +01:00
Eloy Lafuente (stronk7) 64870338c4 Merge branch 'w08_MDL-37963_m25_usergen' of git://github.com/skodak/moodle 2013-02-26 01:25:58 +01:00
Eloy Lafuente (stronk7) b1ed9f6970 Merge branch 'MDL-38141-m' of git://github.com/andrewnicols/moodle 2013-02-26 01:19:29 +01:00
Eloy Lafuente (stronk7) c45593c6d8 Merge branch 'wip-MDL-38110-m25' of git://github.com/samhemelryk/moodle 2013-02-26 00:48:22 +01:00
Eloy Lafuente (stronk7) 1e171d4d37 Merge branch 'MDL-38090-m' of git://github.com/andrewnicols/moodle 2013-02-26 00:33:32 +01:00
Eloy Lafuente (stronk7) 2a80528fd6 Merge branch 'wip-MDL-38146-master' of git://github.com/marinaglancy/moodle 2013-02-25 23:52:20 +01:00
Eloy Lafuente (stronk7) 8615b484b2 Merge branch 'MDL-38001-master' of git://github.com/mouneyrac/moodle 2013-02-25 23:51:20 +01:00
Eloy Lafuente (stronk7) 05fc7ccc82 Merge branch 'MDL-30098_master' of git://github.com/markn86/moodle
Conflicts:
	course/tests/externallib_test.php
2013-02-25 23:38:20 +01:00
sam marshall 6fea7a5f02 MDL-37792 Conditions: Interests condition offered but not implemented 2013-02-25 13:19:56 +00:00
sam marshall 4c4e587648 MDL-38133 html_writer: add shortcuts for very frequent tags 2013-02-25 12:41:24 +00:00
Petr Škoda 18fa4f4745 MDL-38154 do not hardcode sha1 hash of empty string 2013-02-25 10:10:57 +01:00
Damyon Wiese a3e57810c6 Merge branch 'wip-MDL-36287-m25' of git://github.com/samhemelryk/moodle 2013-02-25 15:49:13 +08:00
Damyon Wiese fffb9bbe64 Merge branch 'wip-MDL-38145-master' of git://github.com/marinaglancy/moodle 2013-02-25 15:42:13 +08:00
Dan Poltawski 2b32b2eea0 Merge branch 'wip-MDL-38163-m25' of git://github.com/samhemelryk/moodle 2013-02-25 15:39:30 +08:00
Damyon Wiese a4a30222a0 MDL-37641 Version number bump for js changes. 2013-02-25 15:25:01 +08:00
Damyon Wiese 61725199a9 Merge branch 'MDL-37641-master' of git://github.com/FMCorz/moodle 2013-02-25 15:23:19 +08:00
Adrian Greeve cffc08a63d MDL-37356 - mod_data: Database activity now uses format_float and unformat_float.
The longitude and latitude values were not using format_float and unformat_float.
Changes have been made to the manual entry of records, csv import of records, and the
display of these records.
2013-02-25 14:39:36 +08:00
Dan Poltawski bbd045b9e6 Merge branch 'w08_MDL-38121_m25_plugincheck' of git://github.com/skodak/moodle 2013-02-25 14:34:07 +08:00
Dan Poltawski f4e34c5ffb Merge branch 'MDL-37770-master' of git://github.com/damyon/moodle 2013-02-25 14:32:01 +08:00
Dan Poltawski e1350c61d1 Merge branch 'MDL-36832-master' of git://github.com/damyon/moodle 2013-02-25 14:19:36 +08:00
Damyon Wiese 44c3f54c92 Merge branch 'wip-MDL-35875-master' of git://github.com/phalacee/moodle 2013-02-25 14:09:33 +08:00
Frederic Massart 2e0bb2af8b MDL-36380 stats: No more duplicated entries when viewing monthly stats 2013-02-25 13:55:37 +08:00
Damyon Wiese 713b75916c MDL-28692 Base theme - Version bump for css change 2013-02-25 13:50:01 +08:00
Damyon Wiese c7cb130bce Merge branch 'MDL-28692_master' of git://github.com/lazydaisy/moodle 2013-02-25 13:32:25 +08:00
Damyon Wiese ac57ce753c MDL-30072 Notes webservices - Fix one parameter description and bump version. 2013-02-25 13:14:18 +08:00
Damyon Wiese cc7a1c8916 Merge branch 'wip-MDL-30072-master' of git://github.com/phalacee/moodle 2013-02-25 12:37:56 +08:00
Damyon Wiese 7e6c674302 MDL-33934 MyMobile theme - Fix white space, indenting and file permissions 2013-02-25 12:24:55 +08:00
Damyon Wiese 23f7fed1e1 Merge branch 'MDL-33934_master' of git://github.com/lazydaisy/moodle 2013-02-25 12:10:06 +08:00
Dan Poltawski b5457b4def MDL-37455 lang - fix trailing whitespace 2013-02-25 12:05:16 +08:00
Dan Poltawski 92adcc1cf0 Merge branch 'wip-MDL-37455-master' of git://github.com/marinaglancy/moodle 2013-02-25 11:43:48 +08:00
Damyon Wiese b625f85949 Merge branch 'MDL-38052_master' of git://github.com/kordan/moodle 2013-02-25 11:38:13 +08:00
Tim Lock 9ecded01cc MDL-38113: Blind Marking grader email reveals submitters details 2013-02-25 11:13:25 +08:00
Dan Poltawski 24ace4b795 Merge branch 'wip-MDL-38091-master' of git://github.com/marinaglancy/moodle 2013-02-25 11:00:03 +08:00
Damyon Wiese dbfe8e26ee Merge branch 'w08_MDL-38042_m25_flatroles' of git://github.com/skodak/moodle 2013-02-25 10:50:38 +08:00
Damyon Wiese 89fcdca119 Merge branch 'w08_MDL-38096_m25_manenrol' of git://github.com/skodak/moodle 2013-02-25 10:44:54 +08:00
Dan Poltawski 5f0aeea1ce Merge branch 'MDL-38164_master' of git://github.com/dmonllao/moodle 2013-02-25 10:43:52 +08:00
Dan Poltawski 1343f4c02b Merge branch 'MDL-38061-master' of git://github.com/damyon/moodle 2013-02-25 10:16:29 +08:00
AMOS bot edf45a66e3 Automatically generated installer lang files 2013-02-25 00:39:44 +00:00
Petr Škoda ce9d54b9f3 MDL-38096 use separate manual enrol and unenrol capabilities in UI 2013-02-24 13:28:48 +01:00
Petr Škoda f10edc9792 MDL-37963 do request flatfile role mapping when adding new roles 2013-02-24 12:17:16 +01:00
Petr Škoda dbf60a042c MDL-37963 hash only given passwords in user generator 2013-02-24 10:40:55 +01:00
Petr Škoda bdbcb6d7fa MDL-38121 tell admins when plugin installed into wrong dir 2013-02-23 18:16:42 +01:00
Mary Evans c443c95c01 MDL-33934 theme_mymobile: Updates to CSS & Javascript - including MDL-38072 removing css/js for collapsed topic.
The following comments is a mash of commits for reference only:

Squashed commit of the following:

commit a6ab42de71e41c0760d6d99dec7a3ec6ef8b7e52
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Sat Feb 23 15:34:12 2013 +0000

    MDL-33934 theme_mymobile: fixing whitspace and undoing some previous confict changes fixing where broken.

commit a5abe86fad012f2face9dbd98826583499f46b88
Merge: 89c04c2 13c3ee1
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Sat Feb 23 15:18:17 2013 +0000

    Merge branch 'wip-MDL-33934_master' of github.com:lazydaisy/moodle into wip-MDL-33934_master

    Conflicts:
        theme/mymobile/javascript/custom.js
        theme/mymobile/style/core.css

commit 89c04c2bee75938ba5e6f6b54f43ff866c6119b6
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Sat Feb 23 15:01:43 2013 +0000

    MDL-33934 theme_mymobile: Removed collapsed topic contributed plugin css/js from style/core.css & javascript/custom.js

commit ddee12ebd2083af0ebebd747e867957d46a10af7
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Tue Feb 19 11:05:35 2013 +0000

    MDL-33934 theme-mymobile: un-commenting $(document).ready(function() in javascript/custom.js.

commit 365bb2d9772f9fd2cb55139f728fa9611dac7b4d
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Sun Feb 17 17:41:47 2013 +0000

    MDL-33934 theme_mymobile: updates to javascript and css

commit 13c3ee133945ce0e2a55dd54e0c8b8e2a35f76c5
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Tue Feb 19 11:05:35 2013 +0000

    MDL-33934 theme-mymobile: un-commenting $(document).ready(function() in javascript/custom.js.

commit c9e626adf810e3d8d3f776b99d648017033fdb39
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Sun Feb 17 17:41:47 2013 +0000

    MDL-33934 theme_mymobile: updates to javascript and css
2013-02-23 15:46:05 +00:00
Petr Škoda e029dff4cd MDL-38154 improve dir delete performance 2013-02-23 15:10:48 +01:00
Marina Glancy f0b137c5b8 MDL-38146 fixing navigation when adding/editing course category 2013-02-23 12:06:56 +11:00
Marina Glancy 592f476b02 MDL-38145 conditionlib_test calls API functions to create course and category 2013-02-23 12:06:47 +11:00
Marina Glancy db1eed7012 MDL-38144 categories are created in reverse sort order in externallib 2013-02-23 12:06:39 +11:00
Marina Glancy 898d4975cb MDL-38091 fixed bug with SQL query on Oracle 2013-02-23 12:06:21 +11:00
Marina Glancy c553530a8e MDL-37455 mod_folder can display content inline. Coding style corrections 2013-02-23 12:03:58 +11:00
Marina Glancy ec62d8b4e5 MDL-37455 Performance improvement in mod_folder
We cache and store additional data in cm_info::customdata and do not
query DB every time the folder is displayed on a course page
2013-02-23 12:03:58 +11:00
Marina Glancy 38199c247b MDL-37455 Allow mod_folder to display the content inline on course page instead of on separate page 2013-02-23 12:03:58 +11:00
Rex Lorenzo 334c6d805f MDL-35175 - Lesson shows no attempts if associated with a grouping 2013-02-22 12:38:01 -08:00
Matteo Scaramuccia 8cca810cf9 MDL-37515 PHP Notice when submitting change password form 2013-02-22 21:32:52 +01:00
Andrew Robert Nicols e691028ab6 MDL-38090 JavaScript Make forms JS more resilient
This issue also corrects the way in which Y.one is called. Previously it
was called as constructor rather than as a static method so it always
returned a Y.Node, regardless of whether a node was found.

Additionally, this adds a config setting to the YUI configuration such that
debug messages are not shown in the JS console when debugging is disabled.
2013-02-22 17:11:34 +00:00
sam marshall bedd74bc22 MDL-38168 Filelib: Curl class does not honour proxybypass option 2013-02-22 14:15:01 +00:00
Jason Fowler 8afb9b7c4f MDL-35816 - User - Modify the profile page to use semantic HTML rather than tables for layout 2013-02-22 13:59:49 +08:00
Jason Fowler 34348b2b43 MDL-30072 - Notes, Webservices - adding Webservices for notes 2013-02-22 13:58:11 +08:00
David Monllao 7f9d8045a3 MDL-38164 behat: No switch completely if it is false 2013-02-22 12:01:52 +08:00
Damyon Wiese f29e62cb6c weekly release 2.5dev 2013-02-22 10:55:48 +08:00
Damyon Wiese 41af3cb32c Fix permissions 2013-02-22 10:53:47 +08:00
Damyon Wiese d08e6c31fb MDL-38061 Assignment - Use $CFG->showuseridentity to add extra fields to the assignment grading table/user summary. 2013-02-22 10:30:56 +08:00
Sam Hemelryk d0749719ef MDL-38162 config_cache: fixed issue with empty values array 2013-02-22 14:26:34 +13:00
Sam Hemelryk ff6f9d3aa6 MDL-38162 memcache: fixed up the memcache plugins 2013-02-22 14:23:18 +13:00
Sam Hemelryk 068ad19988 MDL-36287 block_navigation: ajax loading events are now delegated 2013-02-22 14:18:36 +13:00
Eloy Lafuente (stronk7) 6919693cd6 MDL-38161 Upgrade xhprof to 02-2013 commits
Note this continues being version 0.9.2 and
only a few changes have landed since 3y ago.
(the important stuff is in the xhprof extension,
not in this UI package using it)
2013-02-22 02:05:04 +01:00
kordan 6e7eca1d7f MDL-38052 theme_formal_white: allowed the overlap between headermenu and header logo 2013-02-21 18:11:32 +01:00
Dan Poltawski fc7d3fdc84 Merge branch 'MDL-33996-forum-advanced-timestamp' of git://github.com/mudrd8mz/moodle 2013-02-21 22:11:37 +08:00
David Mudrák 15f83171f5 MDL-33996 Remove the nopostscontaining string from the forum module
After Mark's improvements at the search results display page, the string
is not needed any more.
2013-02-21 14:50:15 +01:00
Mark Johnson b74c9a9fec MDL-33996 Forum search. Stop displaying raw search strings to users 2013-02-21 14:48:56 +01:00
Damyon Wiese 0b352fd94e MDL-37770 Assignment submission comments do not work without javascript.
This is mostly fixed by MDL-36832 which correctly sets the $PAGE->url.

This patch hides the submit and textareas from submission comments in the grading table when
javascript is disabled and quickgrading is enabled. This particular combination results in a form
nested in a form which does not work (and cannot be fixed in a reasonable amount of time).
2013-02-21 11:55:24 +08:00
Damyon Wiese c211409998 MDL-36832 Assignment Fix issues found by unit tests with previous patch 2013-02-21 11:22:06 +08:00
Damyon Wiese d04557b364 MDL-36832 Assignment - Use MUC for caching the useridlist and change all pages to redirect after post.
This means that the $PAGE->url is properly set for all pages and is required to fix some edge cases with the comments api when
javascript is disabled. It also means logging in after a timeout will work nicely and other Good Things (tm).
2013-02-21 11:04:07 +08:00
Dan Poltawski 72c70f9d14 Merge branch 'MDL-37997-muc-stats-display' of git://github.com/mudrd8mz/moodle 2013-02-21 09:38:05 +08:00
Andrew Robert Nicols 005c6c203f MDL-38141 JavaScript: Remove unused dependency in module chooser 2013-02-20 21:37:43 +00:00
Sam Hemelryk 0bdf592e6e MDL-38110 cache: increased ttl unit test value to avoid timing issues 2013-02-21 09:53:02 +13:00
Sam Hemelryk 1727057218 MDL-37224 backup-import: better handling of search button 2013-02-21 08:23:58 +13:00
David Mudrák 24798e5df5 MDL-37997 Yet more CSS improvements to display MUC caches usage 2013-02-20 17:00:57 +01:00
Dan Poltawski d94fc7ece9 Revert "MDL-36380 stats: No more duplicated entries when viewing monthly stats"
This reverts commit 304baba01a.
2013-02-20 17:04:33 +08:00
Dan Poltawski aa247695e7 Merge branch 'MDL-35622-master' of git://github.com/FMCorz/moodle 2013-02-20 14:27:27 +08:00
Rajesh Taneja 0627e1cef4 MDL-37329 Navigation: Enrolled courses in category should be added only. 2013-02-20 12:39:21 +08:00
Frederic Massart 5961512aa3 MDL-35622 files: Fixed typo in galleryitem extension 2013-02-20 12:23:18 +08:00
Jerome Mouneyrac ff855b9b19 MDL-38001 rename the download button into install button 2013-02-20 11:39:47 +08:00
Damyon Wiese cfd2addf3f Merge branch 'wip-mdl-37329-new' of git://github.com/rajeshtaneja/moodle 2013-02-20 08:54:57 +08:00
Frederic Massart 3385a89c38 MDL-37641 files: Tests for draftfile_exists and get_unused_filename 2013-02-20 08:50:43 +08:00
Frederic Massart d7d69396b0 MDL-37641 files: Improve file name suggestion and performance 2013-02-20 08:50:40 +08:00
Eloy Lafuente (stronk7) 3b00c13bf1 MDL-37894 Amend tests with new openclose rule. 2013-02-20 01:36:20 +01:00
Eloy Lafuente (stronk7) 349c224817 Merge branch 'wip-MDL-37224-m25' of git://github.com/samhemelryk/moodle 2013-02-20 00:48:12 +01:00
Eloy Lafuente (stronk7) ca1774aea4 Merge branch 'wip-MDL-34298-m25' of git://github.com/samhemelryk/moodle 2013-02-20 00:45:50 +01:00
Eloy Lafuente (stronk7) b70a3b7106 Merge branch 'MDL-38093' of git://github.com/timhunt/moodle 2013-02-20 00:44:54 +01:00
Eloy Lafuente (stronk7) f1b011d3a8 Merge branch 'MDL-37894' of git://github.com/timhunt/moodle 2013-02-20 00:39:44 +01:00
Eloy Lafuente (stronk7) d2761b3aad Merge branch 'MDL-37967' of git://github.com/jmvedrine/moodle 2013-02-20 00:32:19 +01:00
Eloy Lafuente (stronk7) 26581a7420 Merge branch 'wip-MDL-37987-master' of git://github.com/marinaglancy/moodle 2013-02-20 00:10:35 +01:00
Eloy Lafuente (stronk7) 4e6bb9d315 Merge branch 'wip-MDL-38075-m25' of git://github.com/samhemelryk/moodle 2013-02-20 00:07:17 +01:00
Eloy Lafuente (stronk7) 80ba3a4390 Merge branch 'MDL-37982_master' of git://github.com/dmonllao/moodle 2013-02-20 00:01:47 +01:00
Eloy Lafuente (stronk7) 41e94a8d6f Merge branch 'MDL-37872-m' of git://github.com/andrewnicols/moodle 2013-02-19 23:26:09 +01:00
Eloy Lafuente (stronk7) 6d6bd5f114 MDL-32620 whitespace + comment fixes. 2013-02-19 13:21:18 +01:00
Eloy Lafuente (stronk7) 1ead0c63e9 Merge branch 'MDL-32620' of git://github.com/scriby/moodle 2013-02-19 13:13:43 +01:00
Eloy Lafuente (stronk7) 57691c32b7 Merge branch 'MDL-36541' of https://github.com/Lightwork-Marking/moodle 2013-02-19 13:02:56 +01:00
Eloy Lafuente (stronk7) 345768b9b8 Merge branch 'MDL-35750' of git://github.com/danpoltawski/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-02-19 12:57:10 +01:00
Eloy Lafuente (stronk7) a5b1f1e2f2 Merge branch 'MDL-38031-master' of git://github.com/FMCorz/moodle 2013-02-19 12:46:36 +01:00
Eloy Lafuente (stronk7) 8337ed1e69 Merge branch 'MDL-38033_dnd_uppercase_extn' of git://github.com/davosmith/moodle 2013-02-19 12:23:41 +01:00
Dan Poltawski 61df003d53 Merge branch 'master_MDL-37660' of git://github.com/danmarsden/moodle 2013-02-19 15:04:56 +08:00
Dan Poltawski d3c6290328 Merge branch 'w07_MDL-38059_m25_cachedir' of git://github.com/skodak/moodle 2013-02-19 14:07:13 +08:00
Dan Poltawski d0231ac9a9 Merge branch 'MDL-37217-master' of git://github.com/FMCorz/moodle
Conflicts:
    version.php
    repository/googledocs/version.php
2013-02-19 13:54:52 +08:00
Damyon Wiese 1ec8da6706 Merge branch 'wip-MDL-38000-m25' of git://github.com/samhemelryk/moodle 2013-02-19 13:48:12 +08:00
Dan Poltawski 2810980451 Merge branch 'MDL-38048-master' of git://github.com/FMCorz/moodle 2013-02-19 13:44:15 +08:00
Dan Poltawski fd507a8715 Merge branch 'm25_MDL-37449_Reports_ORA-00918_column_ambiguously_defined' of https://github.com/scara/moodle 2013-02-19 13:41:45 +08:00
Frederic Massart 3425813fc4 MDL-37217 repository: Google Docs repository uses Google SDK 2013-02-19 13:36:23 +08:00
Frederic Massart 0acb074618 MDL-37217 repository: Adding Google API PHP SDK 2013-02-19 13:36:23 +08:00
Fred 91c8cf9963 MDL-37217 files: Stricter type check for curl options 2013-02-19 13:36:23 +08:00
Dan Poltawski 3770eadb82 Merge branch 'MDL-38047-master' of git://github.com/damyon/moodle 2013-02-19 13:31:11 +08:00
Damyon Wiese b27fc5b64f Merge branch 'wip-MDL-33774-master' of git://github.com/marinaglancy/moodle 2013-02-19 12:36:40 +08:00
Damyon Wiese 52cb014ea3 MDL-31636 Comments - Call display callback when adding a new comment. 2013-02-19 11:35:56 +08:00
Aparup Banerjee 6b969e14b5 MDL-31636 Added strftimeformat to comment object being passed through to xxx_comment_display() for further time format changes. 2013-02-19 11:35:56 +08:00
Aparup Banerjee 6c847bbb9e MDL-31636 redirect debugging to error log for ajax 2013-02-19 11:35:56 +08:00
Dan Poltawski 7e94bdcca1 Merge branch 'MDL-38009_master' of git://github.com/dmonllao/moodle 2013-02-19 11:34:07 +08:00
Dan Poltawski fdd91adabb Merge branch 'MDL-38051' of git://github.com/jmvedrine/moodle 2013-02-19 11:23:39 +08:00
Dan Poltawski 5e4e086fec Merge branch 'MDL-37934' of git://github.com/jmvedrine/moodle 2013-02-19 10:55:51 +08:00
Damyon Wiese 503c14a612 MDL-29938 Remove tabs (Grrr!) 2013-02-19 10:47:04 +08:00
Dan Poltawski 93a2d4e1a6 Merge branch 'MDL-37858_master' of git://github.com/dmonllao/moodle 2013-02-19 10:33:50 +08:00
Damyon Wiese 0c4ba06047 MDL-29938 Version bump for webservices. 2013-02-19 10:31:25 +08:00
Damyon Wiese ebb1385c39 Merge branch 'MDL-29938-master' of git://github.com/mouneyrac/moodle 2013-02-19 10:10:48 +08:00
Sam Hemelryk 79a809ba44 MDL-34298 course: fixed course search output validation issue 2013-02-19 11:03:58 +13:00
Sam Hemelryk db6539c62a MDL-37224 backup: fixed bug when searching for a course to import 2013-02-19 09:32:01 +13:00
Tim Hunt e58b2c326b MDL-38093 quiz settings: make overall feeback editors collapsible. 2013-02-18 18:13:51 +00:00
Tim Hunt 6e78a7bdb4 MDL-37894 Show the quiz close date even if the quiz is not open yet.
People care a lot about deadlines!
2013-02-18 10:27:37 +00:00
Dan Poltawski 858b3a2487 Merge branch 'MDL-37997-muc-stats-display' of git://github.com/mudrd8mz/moodle 2013-02-18 16:17:06 +08:00
Dan Poltawski 35b5c04f0b Merge branch 'MDL-38039_master' of git://github.com/lazydaisy/moodle 2013-02-18 15:59:48 +08:00
Dan Poltawski 9c70147d54 Merge branch 'MDL-31983-master' of git://github.com/FMCorz/moodle 2013-02-18 15:54:22 +08:00
Frederic Massart dd1c2f5a02 MDL-31983 navigation: Renaming the Settings block to Administration
AMOS BEGIN
 CPY [administration,core],[pluginname,block_settings]
AMOS END
2013-02-18 15:48:12 +08:00
Damyon Wiese 74f3d44d37 Merge branch 'MDL-37687_comments_ajax_fix' of git://github.com/nebgor/moodle 2013-02-18 14:51:50 +08:00
Jean-Michel Vedrine ded5cddb32 MDL-37967 Improve XML question import format handling of duplicated files 2013-02-18 07:38:22 +01:00
Dan Poltawski 69898d6b9a Merge branch 'MDL-37396' of git://github.com/rwijaya/moodle 2013-02-18 14:22:02 +08:00
Dan Poltawski 3672b3b9b0 Merge branch 'MDL-36380-master' of git://github.com/FMCorz/moodle 2013-02-18 14:18:25 +08:00
Damyon Wiese 82a6332837 Merge branch 'MDL-37939-m' of https://github.com/andrewnicols/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-02-18 13:35:36 +08:00
Rossiani Wijaya 62a973cef0 MDL-37396 Enrollmen: pass $perpage as optional_param and set default perpage variable in quickenrolment.js 2013-02-18 13:22:07 +08:00
Dan Poltawski 93d5dc1c03 Merge branch 'MDL-35336' of git://github.com/rwijaya/moodle 2013-02-18 12:23:51 +08:00
Dan Poltawski 32c3446fab Merge branch 'MDL-37337-master' of git://github.com/damyon/moodle 2013-02-18 12:00:45 +08:00
Dan Poltawski 219faacc33 MDL-35622 - fix crazy character causing upgrade problems
Can you see it?!
2013-02-18 11:55:29 +08:00
Dan Poltawski 28d72ad973 Merge branch 'MDL-35622-master' of git://github.com/FMCorz/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2013-02-18 11:31:07 +08:00
Dan Poltawski 8450149249 Merge branch 'MDL-34800_ajax_submit' of git://github.com/andyjdavis/moodle 2013-02-18 11:07:28 +08:00
Damyon Wiese 7866b094cb MDL-37683 cache: - Comments cleanup and remove ;; 2013-02-18 10:35:31 +08:00
Rossiani Wijaya 4be3ed4b3d MDL-37396 User Enrollment: fixed missing user from enrolment sub-menu 2013-02-18 10:28:23 +08:00
Marina Glancy 7d579b1e61 MDL-37987 bugfix: swapped column headings in the category management table 2013-02-18 13:24:06 +11:00
Rossiani Wijaya 17b57ec881 MDL-35336 report (course overview): check the setting for enablestats before printing out the node for setting > site admin > reports 2013-02-18 10:21:53 +08:00
Rossiani Wijaya 2975c3429e MDL-35336 Report (course overview): fixed redirect url to enable statistics setting page when statistics is disable 2013-02-18 10:21:53 +08:00
Mary Evans 167114a27c MDL-28692 theme_base: Added background-color to admin settings form overridden in base/style/admin.css 2013-02-18 01:42:16 +00:00
Frederic Massart 2d10823a7c MDL-38076 usability: Fix wrong position of new 2.4 icons 2013-02-18 09:40:49 +08:00
Damyon Wiese cd747874a4 Merge branch 'wip-MDL-37683-m25' of git://github.com/samhemelryk/moodle 2013-02-18 09:30:47 +08:00
Sam Hemelryk 7634410b6e MDL-37683 cache: improved indentifier collection and storage 2013-02-18 10:20:02 +13:00
Sam Hemelryk 04cfa387f9 MDL-38000 css: fixed handling of CSS files by outputlib. 2013-02-18 08:34:19 +13:00
Sam Hemelryk e0d9b7c0d4 MDL-37683 cache: siteidentifier is now included in the keys 2013-02-18 08:32:03 +13:00
Sam Hemelryk 95cf54e1c9 MDL-38075 csslib: fixed coding error when working with an array of styles 2013-02-18 08:21:43 +13:00
Petr Škoda 2752739cc8 MDL-38059 explain that cachedir must be shared in cluster 2013-02-16 14:43:16 +01:00
Andrew Robert Nicols 3f61e4cbf3 MDL-37939 Course: Add additional unit tests to confirm that module move occurs correctly 2013-02-15 21:28:50 +00:00
Andrew Robert Nicols 59a0ba3bdc MDL-37939 Course: Correct broken sequence data 2013-02-15 21:28:33 +00:00
Jean-Michel Vedrine 7bae3a12fd MDL-38051 Annihilate all the CRLFs present in some questions/fixtures... 2013-02-15 18:26:38 +01:00
Dan Marsden 61fbdb0eec MDL-37660 SCORM: move time related settings into general section and improve lang 2013-02-15 23:48:32 +13:00
Rajesh Taneja db47f68f28 MDL-37329 Navigation: Navigation node My Courses will only show enrolled courses 2013-02-15 17:55:28 +08:00
Adrian Greeve 03ee0c39b3 MDL-37983 - my home / navigation: $CFG->forcelogin is no longer affecting default home page redirects. 2013-02-15 15:48:46 +08:00
Frederic Massart 304baba01a MDL-36380 stats: No more duplicated entries when viewing monthly stats 2013-02-15 15:02:54 +08:00
David Monllao ee7447a9f4 MDL-37858 behat: Testing the step arguments replacements 2013-02-15 13:38:14 +08:00
David Monllao b08b0a2875 MDL-37858 behat: Arguments transformations
To remove the escape characters and to
replace var names for nasty strings
2013-02-15 13:38:14 +08:00
David Monllao 110761997a MDL-37858 testing: Adding nasty strings generator 2013-02-15 13:38:14 +08:00
David Monllao 02ca6219a6 MDL-37858 behat: Removing fixStepArgument
It can be managed by a @Transform in
a centralized way
2013-02-15 13:38:14 +08:00
David Monllao 9305c29f35 MDL-37912 behat: Use text area if there is no html editor 2013-02-15 13:37:14 +08:00
Frederic Massart 444c49fa57 MDL-38048 documentation: Typo in README file 2013-02-15 13:14:39 +08:00
Frederic Massart ebd9ae6523 MDL-31983 navigation: Move reports from Navigation to Settings 2013-02-15 13:06:26 +08:00
Damyon Wiese a5c793c38c MDL-38047 Assignment unit tests - Shave 1 minute from the unit tests for mod_assign. 2013-02-15 12:36:21 +08:00
Dan Poltawski 47570cc67d MDL-35750 - update to the ISO list of countries
Netherlands Antilles has been split up as specified in ISO 3166-1
Newsletter VI-8 (2010-12-15). Users will need to choose their country.
http://www.iso.org/iso/iso_3166-1_newsletter_vi-8_split_of_the_dutch_antilles_final-en.pdf

PLEASE NOTE: if you are updating this list again, i've written a script
to automate it from now on, linked from the bug.
2013-02-15 12:26:08 +08:00
Damyon Wiese b0da618b61 MDL-37337 Assignment: Restructure assignment settings screen to make it "wieldy" 2013-02-15 11:26:21 +08:00
Jerome Mouneyrac 85e6bf8e71 MDL-29938 throw exception when a criteria is repeated, used self instead classname when possible, return only not deleted users 2013-02-15 11:03:13 +08:00
Frederic Massart 982f4bc40e MDL-38301 usability: Fixed wrong icon size 2013-02-15 10:04:57 +08:00
Eloy Lafuente (stronk7) 9e7e1b1c9e MDL-38040 Clean core from CRLFs 2013-02-15 02:13:32 +01:00
Mary Evans 6e8f7688cc MDL-38039 theme_base: Corrected typo fickering to flickering in CSS comment which blocked IPCOP browser firewall in IE. 2013-02-15 00:48:08 +00:00
Paul Charsley 45c0a7d002 MDL-36541 modify get_groupings to optionally return associated groups 2013-02-15 13:13:06 +13:00
Matteo Scaramuccia f1e316870d MDL-37449 Incorrect doubled 'u.email' field in the SQL query (Oracle error: ORA-00918) 2013-02-14 21:38:05 +01:00
Davo Smith 04a38bd311 MDL-38033 dndupload - ignore case when comparing dropped file extensions with those supported by activity modules 2013-02-14 20:19:41 +00:00
Marina Glancy 73a0f3ba76 MDL-33774 Reset filters caches between unit tests 2013-02-14 19:46:19 +11:00
Marina Glancy 173115e14c MDL-33774 filter_activitynames removed hardcoded label module type 2013-02-14 19:46:19 +11:00
Marina Glancy 9ecb50e6e3 MDL-33774 instead of checking that activity is label we check that it has view url 2013-02-14 19:46:19 +11:00
Marina Glancy 3008f86c3f MDL-33774 mod_label stores the content where it is supposed to
removed hardcoded checking for 'label' module type

changed label update script
2013-02-14 19:46:19 +11:00
David Monllao 10dd80c2ac MDL-38029 behat: Cleaning caches before each test 2013-02-14 16:33:33 +08:00
David Monllao a3b4d42b45 MDL-38009 behat: Reset cachedir and tempdir 2013-02-14 16:28:05 +08:00
David Monllao 1f037b3776 MDL-37982 enrol_ims: No filters applied when inserting into DB 2013-02-14 16:27:22 +08:00
Jean-Michel Vedrine 0e178dc939 MDL-37934 Blackboard_six question import fails in some cases
Import fails if the same image is used several times
in the same field of the same question
2013-02-14 09:26:29 +01:00
Damyon Wiese 1dd6835d8c weekly release 2.5dev 2013-02-14 13:46:04 +08:00
Damyon Wiese f22bc6d963 Fix permissions 2013-02-14 13:43:58 +08:00
Damyon Wiese 082685e2de Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-02-14 13:37:48 +08:00
AMOS bot ca3ee769e1 Automatically generated installer lang files 2013-02-14 00:49:54 +00:00
Mark Nielsen e5ed5e6ab7 MDL-32620: Fixing up white space in comment 2013-02-13 09:21:03 -08:00
Dan Poltawski 583b20abd7 Merge branch 'MDL-37883-master' of git://github.com/damyon/moodle 2013-02-13 15:47:27 +08:00
Damyon Wiese 7688a3191c MDL-37883 Assignment Grade import/export. Additional fix to prevent different grade rounding on export. 2013-02-13 15:33:10 +08:00
Damyon Wiese 6e59159387 Merge branch 'MDL-37750_master-add-seconds' of git://github.com/dmonllao/moodle 2013-02-13 15:04:51 +08:00
David Monllao cd65dc3220 MDL-37750 behat: More time for AJAX-related actions
When we want to assert against data coming
from an AJAX request with 1 second we don't
have enough time to ensure the elements are
loaded
2013-02-13 13:19:56 +08:00
Dan Poltawski 733c17694d MDL-30637 - fix padding on show/collapse arrow 2013-02-13 11:44:26 +08:00
AMOS bot 731bea1b3b Automatically generated installer lang files 2013-02-13 00:45:39 +00:00
Eloy Lafuente (stronk7) 6033723098 Merge branch 'MDL-37598-abort-after-config' of git://github.com/mudrd8mz/moodle 2013-02-12 22:49:05 +01:00
David Mudrák 08caae5b22 MDL-37997 Improve the display of MUC caches used in the footer
Cache stores with no hits and some misses are highlighted in red. Caches
stores with some hits but more misses are highlighted in yellow.
Otherwise (more hits than misses) the stores are highlighted in green.
2013-02-12 22:27:55 +01:00
Eloy Lafuente (stronk7) fe4a6d3c38 Merge branch 'MDL-37953_master' of https://github.com/markn86/moodle 2013-02-12 10:12:01 +01:00
Eloy Lafuente (stronk7) 7fe9a7863a Merge branch 'MDL-37787_master' of git://github.com/dmonllao/moodle 2013-02-12 10:07:58 +01:00
Eloy Lafuente (stronk7) a3cdb2ba7e MDL-37893 Take rid of old comment. 2013-02-12 10:03:29 +01:00
Eloy Lafuente (stronk7) b57f62c497 Merge branch 'MDL-37893-grouped-empty' of git://github.com/mudrd8mz/moodle 2013-02-12 10:02:23 +01:00
Aparup Banerjee cff7e83d2d MDL-37687 use $SITE to allow non-logged-in users to browse comment via ajax 2013-02-12 16:19:40 +08:00
Dan Poltawski 6065652f24 Merge branch 'wip-MDL-37976-master' of git://github.com/marinaglancy/moodle 2013-02-12 16:13:48 +08:00
Dan Poltawski 6af8e417c3 Merge branch 'wip-mdl-37633' of git://github.com/rajeshtaneja/moodle
Conflicts:
	mod/forum/db/upgrade.php
	mod/forum/version.php
2013-02-12 15:48:33 +08:00
Dan Poltawski 5c70d6505a Merge branch 'MDL-37768_master' of git://github.com/dmonllao/moodle 2013-02-12 15:44:17 +08:00
Dan Poltawski 2b8741aaa6 Merge branch 'MDL-32076_unlimited2' of git://github.com/andyjdavis/moodle 2013-02-12 15:08:53 +08:00
Rajesh Taneja afd5e85ca8 MDL-37633 Forum: Allow fronpage user to have forum:allowforcesubscribe capability by default 2013-02-12 14:57:47 +08:00
Damyon Wiese 147f592742 Merge branch 'MDL-37873_master' of git://github.com/dmonllao/moodle
Conflicts:
	course/tests/behat/add_activities.feature
2013-02-12 14:48:40 +08:00
Damyon Wiese f49ec42973 Merge branch 'MDL-37750_master-fix' of git://github.com/dmonllao/moodle 2013-02-12 14:47:50 +08:00
Damyon Wiese 2262c52122 Merge branch 'MDL-37012-master' of git://github.com/mouneyrac/moodle 2013-02-12 14:39:20 +08:00
Damyon Wiese 5926f85960 Merge branch 'wip-mdl-20131' of git://github.com/rajeshtaneja/moodle 2013-02-12 14:15:29 +08:00
David Monllao 333cb91fbf MDL-37750 behat: Removing (now) collapsed elements 2013-02-12 14:06:51 +08:00
Dan Poltawski 26f94655d5 Merge branch 'MDL-37883-master' of git://github.com/damyon/moodle 2013-02-12 13:47:37 +08:00
Dan Poltawski 4dea0a7719 Merge branch 'MDL-37074-master' of git://github.com/damyon/moodle 2013-02-12 13:39:07 +08:00
Tim Hunt b4be77c570 MDL-37924 quiz settings: change wrong 'fix' => 'adv'. 2013-02-12 13:36:54 +08:00
Damyon Wiese 6904688967 Merge branch 'MDL-37654_master' of https://github.com/markn86/moodle 2013-02-12 13:09:18 +08:00
Damyon Wiese 7339d6c0e9 Merge branch 'MDL-37164_message_self' of git://github.com/andyjdavis/moodle 2013-02-12 12:12:44 +08:00
Damyon Wiese dad4fa26e7 Merge branch 'MDL-37828_master' of git://github.com/lazydaisy/moodle 2013-02-12 11:40:40 +08:00
Rajesh Taneja 390ef41e02 MDL-20131 Glossary: Fixed courseid typo 2013-02-12 10:57:10 +08:00
Dan Poltawski 501bdad2b9 Merge branch 'wip-MDL-34798_master-2' of git://github.com/gjb2048/moodle 2013-02-12 10:34:07 +08:00
Mark Nelson 8076010d37 MDL-37953 mod_forum: using named parameters to build SQL statement 2013-02-12 10:31:10 +08:00
Damyon Wiese 234fdc206c Merge branch 'MDL-5875-master' of git://github.com/FMCorz/moodle
Conflicts:
	version.php
2013-02-12 10:09:26 +08:00
Marina Glancy 2333bfa7e8 MDL-37976 fixed missing global 2013-02-12 12:59:35 +11:00
Dan Poltawski 008a6514ae Merge branch 'MDL-37952' of git://github.com/stronk7/moodle 2013-02-12 09:45:38 +08:00
Dan Poltawski 08eef1a4bd Merge branch 'MDL-37886_master' of git://github.com/dmonllao/moodle 2013-02-12 09:43:50 +08:00
Damyon Wiese 87c9271514 MDL-37831: Version bump for js changes. 2013-02-12 09:34:02 +08:00
Damyon Wiese 82708d0615 Merge branch 'MDL-37831_filepicker_buttons' of git://github.com/davosmith/moodle 2013-02-12 09:15:23 +08:00
Eloy Lafuente (stronk7) e8e6802225 Merge branch 'MDL-37943' of git://github.com/timhunt/moodle 2013-02-12 01:20:56 +01:00
Eloy Lafuente (stronk7) ce9c323635 Merge branch 'MDL-37686-master' of git://github.com/FMCorz/moodle 2013-02-12 01:16:48 +01:00
Eloy Lafuente (stronk7) 625d5f8164 Merge branch 'MDL-37896' of git://github.com/timhunt/moodle 2013-02-12 01:13:18 +01:00
Eloy Lafuente (stronk7) ef1a4d20d4 Merge branch 'MDL-37919-phpunit-exception' of git://github.com/mudrd8mz/moodle 2013-02-12 01:07:43 +01:00
Eloy Lafuente (stronk7) 9a061c3285 Merge branch 'MDL-35037' of git://github.com/danpoltawski/moodle 2013-02-12 00:59:39 +01:00
Eloy Lafuente (stronk7) 65412c365d Merge branch 'MDL-37961-master' of git://github.com/FMCorz/moodle 2013-02-12 00:43:38 +01:00
Eloy Lafuente (stronk7) e196517bf5 Merge branch 'wip-MDL-35832-master' of git://github.com/phalacee/moodle 2013-02-11 23:31:38 +01:00
David Mudrák 55834476c4 MDL-37598 Proceed full setup in YUI serving files if needed
When serving Moodle YUI files, including just moodlelib.php is not enough
any more. We need the full setup in order to use MUC.

Please note that cookies are disabled in these two scripts. This may make
cache_store::MODE_SESSION caches unavailable. We do not expect they will
be needed here.
2013-02-11 16:35:16 +01:00
Gareth J Barnard cbddba1887 MDL_34798 format_topics and format_weeks: Adjust section names when moving up. 2013-02-11 13:43:42 +00:00
Dan Poltawski 32f832b22b Merge branch 'master_MDL-35332' of git://github.com/totara/moodle 2013-02-11 16:43:34 +08:00
Simon Coggins 5c4ffeb883 MDL-35332: Use fast hash when generating hashes during tests 2013-02-11 21:38:07 +13:00
Matt Oquist da48404391 MDL-37953 mod_forum: replace hard-coded numbers with defined values
mod/forum/lib.php sets forum_posts.mailed to 0, 1, and 2. What do these numbers
mean? This patch creates defined values for these otherwise-mysterious
numbers.
2013-02-11 15:20:18 +08:00
Damyon Wiese a052fe8a6b MDL-37122 core get_max_upload_sizes: Removed unit test for no limit as it is depends on settings in php.ini 2013-02-11 15:18:12 +08:00
Dan Poltawski 354348865c Merge branch 'MDL-34137_label_dndupload' of git://github.com/davosmith/moodle 2013-02-11 14:55:13 +08:00
Damyon Wiese 1e7db9fee8 Merge branch 'master_MDL-35332' of git://github.com/totara/moodle
Conflicts:
	lib/tests/moodlelib_test.php
	version.php
2013-02-11 14:51:11 +08:00
Frederic Massart 4d3fd60d28 MDL-37961 webservice: PARAM_BOOL with PARAM_DEFAULT accepts boolean default 2013-02-11 14:37:19 +08:00
Dan Poltawski 9d7d0c4f2b Merge branch 'MDL-37039-master' of git://github.com/damyon/moodle 2013-02-11 14:32:53 +08:00
Dan Poltawski 2ae00d0d3c Merge branch 'MDL-37122-master' of git://github.com/damyon/moodle 2013-02-11 14:24:04 +08:00
Dan Poltawski acd561c66a Merge branch 'MDL-37797' of git://github.com/rwijaya/moodle 2013-02-11 13:58:36 +08:00
Jerome Mouneyrac 0c34e8034d MDL-29938 ignore invalid keys 2013-02-11 13:58:00 +08:00
Jerome Mouneyrac bb1105ae31 MDL-29938 Fix typo bypassing some code + remove misplaced code in deprecated function + some code cleaning 2013-02-11 13:57:59 +08:00
Jerome Mouneyrac ec80bc6bf8 MDL-29938 don't validate return user info against PARAM_USERNAME as PARAM_USERNAME only apply to manual authentication (and web service) 2013-02-11 13:57:59 +08:00
Jerome Mouneyrac b0365ea5d1 MDL-29938 get_users - search users external function 2013-02-11 13:57:59 +08:00
Andrew Davis c90e6b4644 MDL-36091 added debugging() calls in blocks of code marked as "should never happen" 2013-02-11 13:24:52 +08:00
Frederic Massart 506522d582 MDL-5875 forum: Option to display post word count 2013-02-11 12:08:46 +08:00
Rajesh Taneja 95556ce4e8 MDL-20131 Glossary: Global glossary can be added in Random glossary entry block. 2013-02-11 11:55:26 +08:00
Dan Poltawski 06d8f380e9 MDL-35819 - version bump for various JS changes 2013-02-11 10:56:36 +08:00
Dan Poltawski a614fb7457 Merge branch 'MDL-35819-m' of git://github.com/andrewnicols/moodle 2013-02-11 10:56:07 +08:00
Damyon Wiese 8dcca4aacb MDL-30637 Formslib - Cleanup for shortforms implementation (mostly comments)
Also added deprecated functions for the functions that were removed from MoodleQuickForm.
2013-02-11 10:37:13 +08:00
Damyon Wiese 40f1c065b4 Merge branch 'MDL-30637-master' of git://github.com/lucisgit/moodle 2013-02-11 10:37:03 +08:00
Frederic Massart 58b1904fd1 MDL-35622 files: Add support for SMART Notebook MIME types
- The MIME type for Notebook files is: application/x-smarttech-notebook
- The MIME type for Gallery files is also: application/x-smarttech-notebook
Refs: http://exchange-forum.smarttech.com/forums/p/5152/11945.aspx#11945

Original author: Matteo Scaramuccia <moodle@matteoscaramuccia.com>
Fixed by: Paul Holden <pholden@greenhead.ac.uk>
2013-02-11 10:26:09 +08:00
Andrew Davis 01da2d3665 MDL-32076 core_grade: fixed ajax handling of unlimited grades and added some unit tests 2013-02-11 08:49:43 +08:00
Andrew Davis 2e2d197798 MDL-37164 core_message: prevent users from interacting with themself 2013-02-11 08:48:56 +08:00
Andrew Robert Nicols 238b8bc9b6 MDL-35819 AJAX Rewrite Moodle popup help to be more friendly and more efficient 2013-02-10 11:50:56 +00:00
AMOS bot 384dd10a8a Automatically generated installer lang files 2013-02-10 00:41:38 +00:00
Eloy Lafuente (stronk7) 82b61ff8a5 MDL-37952 make helper descendants abstract 2013-02-09 16:22:06 +01:00
Davo Smith 039677df70 MDL-37831 filepicker - icons / details / tree selector buttons now work more reliably 2013-02-08 20:37:19 +00:00
Simon Coggins ec2d8ceb88 MDL-35332 lib: Improve security of hashed passwords 2013-02-09 06:47:57 +13:00
Tim Hunt 2d2018abda MDL-37896 qtype_essay: correct PARAM_CLEANHTML -> PARAM_RAW.
It turns out that you should almost never use PARAM_CLEANHTML.
2013-02-08 12:51:21 +00:00
Tim Hunt 1fa845437c MDL-37943 upgrade: logic error in upgrade_plugins_blocks.
Derek Woolhead tracked down the problem and what needed to be fixed. I
just made the patch.

The problem was that if $plugin->cron had changed in version.php, then
the version number in the database could end up wrong after the upgrade,
and so the upgrade would immediately run a second time.
2013-02-08 12:40:49 +00:00
David Mudrák b3c00549c5 MDL-37774 Do not pass trailing slash if the method does not want it 2013-02-08 12:05:44 +01:00
David Mudrák d0530ed444 MDL-37774 Make moodle1_file_manager::migrate_directory() support trailing slash in rootpath
As the $rootpath is concatenated with the $relpath, we would end with a
path like course_files//file.txt. Such a path is detected as not-valid
later and an error would be thrown.

So the patch makes sure that the trailing slash is cut off and a
debugging for the developer is displayed.
2013-02-08 11:45:24 +01:00
David Mudrák 86083f9752 MDL-37774 Add unit test to illustrate the problem with the trailing slash
The patch introduces two new tests for moodle1_file_manager::migrate_directory().
The second test with the trailing slash reveals the trouble here.
The expected behaviour is that the method would deal with the trailing
slash. Debugging message for the developer should be displayed though.
2013-02-08 11:41:38 +01:00
David Monllao 68fae082df MDL-37787 behat: Using progress format by default 2013-02-08 17:14:57 +08:00
David Monllao b831d47925 MDL-37768 behat: Checking test site version before running tests 2013-02-08 17:14:26 +08:00
David Monllao 9776ddeee2 MDL-37873 behat: Fixing CSS-based assertions arguments 2013-02-08 17:13:32 +08:00
David Monllao bf4fa29980 MDL-37750 behat: Adding tests for the rest of the steps definitions 2013-02-08 17:11:27 +08:00
David Monllao 1f9ffbdbde MDL-37750 behat: Using base find* methods 2013-02-08 17:11:27 +08:00
David Monllao d56ae59b47 MDL-37750 behat: Waiting for DOM ready 2013-02-08 17:11:27 +08:00
David Monllao ff48a235a9 MDL-37750 behat: Elements finders at base level
Set of DOM elements finders to
avoid false fails.
2013-02-08 17:11:27 +08:00
Davo Smith fbe4579250 MDL-34137 mod_label - resize images when uploaded via drag & drop 2013-02-08 08:13:24 +00:00
Davo Smith 785e09a7e3 MDL-32456 mod_label - support course drag and drop upload images to create labels 2013-02-08 08:13:24 +00:00
Damyon Wiese 93d1de6d3f MDL-37039 Assignment - Do not apply filters to grading table for offline assignments
Because the filters do not make sense for offline assignments, they are hidden. But if the active filter
prevents you from seeing any assignments you cannot change it. This change makes it so the filters are
also not applied when the assignment is an offline assignment.
2013-02-08 15:44:18 +08:00
Damyon Wiese 7a15c5c458 MDL-37074 Assign theming: Use addClass/removeClass instead of setAttribute to preserve existing classes 2013-02-08 15:16:47 +08:00
Damyon Wiese 6319737865 weekly release 2.5dev 2013-02-08 11:13:54 +08:00
Damyon Wiese 7bdf7d165d ie9 svg compatibility fixes 2013-02-08 11:05:09 +08:00
Damyon Wiese eb28bb604f Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-02-08 11:02:42 +08:00
Andrew Davis 60daf98c96 MDL-34800 core_grade:switched from hiding the submit button to disabling it if ajax is enabled 2013-02-08 10:15:17 +08:00
AMOS bot 8a3ef166a9 Automatically generated installer lang files 2013-02-08 00:45:14 +00:00
David Mudrák 8d37c9b2d9 MDL-37919 Let PHPUnit display the content of $a even if the error string is not found 2013-02-08 01:25:31 +01:00
Eloy Lafuente (stronk7) 43b83ea19e MDL-37893 Always notify pending starts before dispatching chunk 2013-02-07 20:59:43 +01:00
Sam Hemelryk bb4c391688 MDL-37645 cache: fixed issue deleting mongo instance 2013-02-08 08:06:21 +13:00
Ruslan Kabalin ac5e6ca4d1 MDL-30637 Refactor Advanced fileds functionality
The displaying of advanced items has been refactored. The changes are:

* The Advanced button is replaced by the Show Less/More link
* The Show less/more link controls advanced elements only within the section
  it is located at
* The Show less/more state of sections is preserved between form submissions
* When javascript is off, all advanced elements will be displayed by default,
  no show/hide controls will exists on the page
2013-02-07 14:38:37 +00:00
Ruslan Kabalin a4f1834dca MDL-30637 backup: Disable shortforms for backup interface
As all sections requre user attention or input, there is no sense making them
collapsed in backing up interface.
2013-02-07 14:27:02 +00:00
Ruslan Kabalin a00bafaa65 MDL-30637 mod_resource: Make content section expanded
This just makes the interface look better
2013-02-07 14:26:14 +00:00
Ruslan Kabalin 8763343ad9 MDL-30637 mod_folder: Make content section expanded
This just makes the interface better
2013-02-07 14:23:26 +00:00
Ruslan Kabalin 9d2a7df11b MDL-30638 mod_choice: Add required elements to repeated form items
To make it work properly with MDL-30637
2013-02-07 14:19:03 +00:00
Ruslan Kabalin a4067bfc48 MDL-30637 Simplify moodle forms
Make the forms easier to use and navigate by adding functionality to
collapse and extend form sections (headers). The logic is as follows:

If form contains 2 and less sections (headers):

* Display the form as non-collapsible at all.
* The point above can be overridden if developer marks the section as expanded
  in form definition (e.g. $mform->setExpanded('foo'));

If form contains 3 and more sections (headers):

* always expanding the first section and closing all others by default;
* always expanding a section containing at least one "required" element;
* expanding any section which contains validation errors after submission;
* expanding any section which was previously open on previous submit (e.g. when
  adding new choices);
* expanding the section which is marked as expanded in form definition (e.g.
  $mform->setExpanded('foo');
2013-02-07 14:13:36 +00:00
David Mudrák 2c06c715c7 MDL-37893 Allow elements with no final tags to form a grouped path 2013-02-07 13:00:19 +01:00
David Mudrák 98bba46b70 MDL-37893 Add unit test to demonstrate the issue 2013-02-07 13:00:18 +01:00
Frederic Massart a665e1b013 MDL-37686 xmldb: Fixed coding guidelines errors in generated code 2013-02-07 15:18:10 +08:00
Dan Poltawski 0388a38eda MDL-35037 tags: dont display blog entries when blogging disabled 2013-02-07 12:34:07 +08:00
Damyon Wiese 6b219310cf MDL-37122 core get_max_upload_sizes: Include "Course/Site/Activity limit (X)" in list of options
This change removes the "0 bytes" option from the get_max_upload_sizes list
and replaces it with "Course limit (X)" or "Site limit (X)" (whichever is smaller).
This means we can remove all custom handling in the modules that were removing and
adding these options. It only affects pages that pass valid options for sitelimit and
courselimit - so admin pages will work correctly.

It also orders the list so the course/site limit options will be first
(as it will be the largest).

AMOS START
 REM [courseuploadlimit, core] has been parameterized to get [uploadlimitwithsize, core]
AMOS END
2013-02-07 10:50:52 +08:00
Marina Glancy 8fd56c1942 MDL-37572 correct active navigation node for add/edit category page 2013-02-07 15:22:29 +13:00
Marina Glancy 9d093b71af MDL-37572 small bug fix with misplaced assignment 2013-02-07 15:22:29 +13:00
Eloy Lafuente (stronk7) d220e90fbf Merge branch 'MDL-37566-m-integration' of git://github.com/andrewnicols/moodle 2013-02-07 01:07:04 +01:00
Sam Hemelryk e6a3f4ae27 MDL-37572 course: fixed bug when moving categories 2013-02-07 12:29:03 +13:00
Andrew Robert Nicols c5f609428d MDL-37566 AJAX Fix issues with minimum height and centring 2013-02-06 10:51:40 +00:00
Mark Nelson 79949c1ba3 MDL-30098 core_course: adding webservice functions to allow the deletion of module instances 2013-02-06 16:56:17 +08:00
Damyon Wiese 070d431771 MDL-37883 Assign offline marking: Properly handle french decimal grades when importing worksheet. 2013-02-06 15:43:19 +08:00
Dan Poltawski ef5a82104c MDL-37572 - fix typo in has_any_capability() 2013-02-06 14:47:29 +08:00
Dan Poltawski 8c8d314ffd Merge branch 'wip-MDL-35823-master' of git://github.com/phalacee/moodle 2013-02-06 14:21:03 +08:00
Jason Fowler 083c15e640 MDL-35823 - Accessibility - Readding Focus to header in the help popup 2013-02-06 14:17:29 +08:00
Dan Poltawski 69b2f366b1 Merge branch 'wip-MDL-35823-master' of git://github.com/phalacee/moodle 2013-02-06 13:42:47 +08:00
Jason Fowler fc7defef99 MDL-35823 - Accessibility - Follow up changes from the original commit: addint in theme fixes and updating upgrade.txt 2013-02-06 13:36:37 +08:00
Dan Poltawski 6b106e2e8e Merge branch 'wip-mdl-30144' of git://github.com/rajeshtaneja/moodle 2013-02-06 13:21:31 +08:00
Rajesh Taneja 45281abcfa MDL-30144 Assignmnet 2.2: fixed context retrival 2013-02-06 12:36:25 +08:00
Mark Nelson 9a9cb74118 MDL-37654 core_course: ensure exceptions return static error codes for debugging purposes 2013-02-06 12:10:10 +08:00
David Monllao b048f85f8a MDL-37886 behat: Prevent dropping test site when running tests 2013-02-06 11:20:09 +08:00
Dan Poltawski 0110cc2d49 MDL-37645 Add another missing trailing ;
GRR. Clearly didn't review this one well enough!
2013-02-06 10:36:39 +08:00
Dan Poltawski da92e1b081 Merge branch 'MDL-37645-m' of git://github.com/andrewnicols/moodle 2013-02-06 08:54:55 +08:00
Mary Evans a0e3b2b11e MDL-37828 theme_base: Removed old CSS for popuphelp in style/core.css 2013-02-06 00:08:19 +00:00
Andrew Robert Nicols 2c653f9919 MDL-37645 Add missing trailing ; on some CSS rules 2013-02-05 16:56:47 +00:00
Eloy Lafuente (stronk7) 5ab0371d74 Merge branch 'MDL-37854_master' of https://github.com/markn86/moodle 2013-02-05 11:10:48 +01:00
Mark Nelson 17222a4a25 MDL-37854 phpunit: replaced occurrence of non-existent function assertFail 2013-02-05 18:03:25 +08:00
Eloy Lafuente (stronk7) 6617125ca4 Merge branch 'MDL-37870-progressive_parser_exception' of git://github.com/mudrd8mz/moodle 2013-02-05 10:19:06 +01:00
Andrew Robert Nicols 487989d8ef MDL-37872 AJAX Remove node option from jshintrc 2013-02-05 08:37:41 +00:00
Jerome Mouneyrac b4d24344c2 MDL-37012 some typos, add a new lang string, change tag 'a' for 'link', some code cleaning,
clean the external string against cross-scripting, proper usage of doclink,
correcting the require_once quickform/input

AMOS BEGIN
    CPY [download,block_community],[install,block_community]
AMOS END
2013-02-05 16:36:37 +08:00
Howard Miller 540b8834fa MDL-37797 HTML block: add contextid to block_positions query and make it more unique. 2013-02-05 16:20:34 +08:00
Damyon Wiese e2adaaf788 MDL-30062 - Fix whitespace 2013-02-05 16:07:08 +08:00
Damyon Wiese 33d943500f Merge branch 'wip-mdl-30062' of git://github.com/rajeshtaneja/moodle 2013-02-05 15:53:21 +08:00
Dan Poltawski 9cf44c32b5 Merge branch 'wip-MDL-37572-m25' of git://github.com/samhemelryk/moodle 2013-02-05 15:25:08 +08:00
Dan Poltawski 751f00a0bb Revert "MDL-37164 core_message: prevent users from interacting with themself"
Was breaking unit tests.

This reverts commit 61a73b43c1 and 7bb19ee167.
2013-02-05 14:42:20 +08:00
Dan Poltawski 61a73b43c1 MDL-37164 message - fix broken unit tests
We have fixed the returning of the guest user now
2013-02-05 14:27:20 +08:00
Rajesh Taneja 791723c34a MDL-30062 Webservices: added update_course webservice 2013-02-05 14:15:53 +08:00
Damyon Wiese 4c5dc0e367 MDL-36206 Unit tests - Cleanup whitespace issues from previous patch 2013-02-05 14:11:11 +08:00
Damyon Wiese 9d6f6a6987 Merge branch 'wip-MDL-36206-master' of git://github.com/phalacee/moodle 2013-02-05 14:11:07 +08:00
Dan Poltawski 6e59d6628c Merge branch 'MDL-37164_message_self' of git://github.com/andyjdavis/moodle 2013-02-05 13:51:17 +08:00
Dan Poltawski 9631a80283 Merge branch 'MDL-37800_master' of git://github.com/grabs/moodle 2013-02-05 12:43:06 +08:00
Damyon Wiese 174d857235 Merge branch 'MDL-37626-m' of git://github.com/andrewnicols/moodle 2013-02-05 11:49:16 +08:00
David Mudrák 5aeff5ebc0 MDL-37870 Fix the number of parameters when calling the parent constructor 2013-02-05 04:47:41 +01:00
Damyon Wiese 183e656eea Merge branch 'MDL-30102_master' of git://github.com/markn86/moodle 2013-02-05 11:23:01 +08:00
Dan Poltawski ba076613d3 Merge branch 'MDL-36986' of git://github.com/moodlerooms/moodle 2013-02-05 10:47:15 +08:00
Dan Poltawski d8d02951bb Merge branch 'wip-MDL-36322-m25' of https://github.com/samhemelryk/moodle 2013-02-05 10:25:57 +08:00
Dan Poltawski f7e2143665 MDL-37357 - fix trailing whitespace 2013-02-05 09:57:00 +08:00
Dan Poltawski 837946d5f0 Merge branch 'MDL-37357_hidden_rank' of git://github.com/andyjdavis/moodle 2013-02-05 09:56:16 +08:00
Dan Poltawski a849391244 Merge branch 'wip-MDL-35847-master' of git://github.com/phalacee/moodle 2013-02-05 09:29:25 +08:00
Jason Fowler 1466eccba7 MDL-35847 - Documentation - removing doc block param for on error_text 2013-02-05 09:23:54 +08:00
Jason Fowler b9271ffd94 MDL-35832 - Accessibility - Adding more precise context sensitive title text to undock controls on docked blocks 2013-02-05 09:21:15 +08:00
Dan Poltawski 43b5915e04 MDL-37574 - Fix navigation tests: remove title
We are no longer setting it, to improve accessibility
2013-02-05 08:38:32 +08:00
Eloy Lafuente (stronk7) b97d3e46df Merge branch 'MDL-36472-master' of git://github.com/FMCorz/moodle 2013-02-05 01:28:35 +01:00
Eloy Lafuente (stronk7) b7c238798c Merge branch 'MDL-37566-m' of git://github.com/andrewnicols/moodle 2013-02-05 01:14:07 +01:00
Eloy Lafuente (stronk7) 1df33d5427 Merge branch 'w04_MDL-37780_m25_wintests' of git://github.com/skodak/moodle 2013-02-05 01:06:40 +01:00
Eloy Lafuente (stronk7) 70e963ea9c Merge branch 'MDL-37801_glossary_links' of git://github.com/davosmith/moodle 2013-02-05 01:01:14 +01:00
Eloy Lafuente (stronk7) fc395e02f7 Merge branch 'MDL-37775_master' of git://github.com/lazydaisy/moodle 2013-02-05 00:57:20 +01:00
Eloy Lafuente (stronk7) a0c3faeaef Merge branch 'MDL-37785_master' of git://github.com/lazydaisy/moodle 2013-02-05 00:35:24 +01:00
Eloy Lafuente (stronk7) f941a7864b Merge branch 'MDL-37523_master' of git://github.com/lazydaisy/moodle 2013-02-05 00:28:10 +01:00
Eloy Lafuente (stronk7) 208f59137a Merge branch 'MDL-37518_master' of https://github.com/markn86/moodle 2013-02-05 00:13:48 +01:00
Eloy Lafuente (stronk7) 1615caae6f Merge branch 'wip-MDL-35847-master' of git://github.com/phalacee/moodle 2013-02-05 00:08:44 +01:00
Eloy Lafuente (stronk7) 8d8f9cf756 Merge branch 'master_MDL-33078' of git://github.com/danmarsden/moodle 2013-02-04 23:58:41 +01:00
Eloy Lafuente (stronk7) a35a7644b9 Merge branch 'MDL-37847' of git://github.com/timhunt/moodle 2013-02-04 22:54:50 +01:00
Tim Hunt c0d12fc1cd MDL-37847 plain text essays were screwing up HTML special chars.
This was incorrect use of PARAM_CLEANHTML for these inputs.

This fix also adds some unit tests to try to verify that this does not
break again in future.
2013-02-04 12:54:10 +00:00
Mark Nelson a9a0cb691c MDL-30102 mod_forum: adding webservice function to allow for the retrieval of forum discussions 2013-02-04 19:28:29 +08:00
Dan Marsden a022192a3b MDL-33078 SCORM: rebuild toc when calling LMSCommit to improve pre-req handling 2013-02-04 22:04:06 +13:00
Damyon Wiese 935ec5e77e Merge branch 'MDL-37781-workshop-schedule' of git://github.com/mudrd8mz/moodle 2013-02-04 16:18:00 +08:00
Dan Poltawski 78b161d39b Merge branch 'MDL-37574-m' of git://github.com/andrewnicols/moodle 2013-02-04 16:11:11 +08:00
Dan Poltawski 58e22287a6 Merge branch 'MDL-37422' of git://github.com/colchambers/moodle 2013-02-04 16:02:57 +08:00
Dan Poltawski 6ac9f15969 Merge branch 'master_MDL-29207' of git://github.com/danmarsden/moodle 2013-02-04 15:54:43 +08:00
Dan Poltawski efd779c2c6 Revert "MDL-32076 core_grade: fixed ajax handling of unlimited grades and added some unit tests"
This reverts commit 88df34abed.
2013-02-04 15:12:30 +08:00
Dan Poltawski 5389bd999d Merge branch 'MDL-32076_unlimited2' of git://github.com/andyjdavis/moodle 2013-02-04 14:30:07 +08:00
Dan Poltawski cf936fa297 Merge branch 'wip-mdl-30144' of git://github.com/rajeshtaneja/moodle 2013-02-04 13:54:27 +08:00
Dan Poltawski 4ac341c9b6 Merge branch 'MDL-37646-master' of git://github.com/damyon/moodle 2013-02-04 13:49:23 +08:00
Jason Fowler 3246648b48 MDL-35847 - Accessibility - Adding warning icon to the login error message 2013-02-04 12:49:21 +08:00
Barbara Ramiro ef27582f08 MDL-35847 - Usability - Adding new warning icons 2013-02-04 12:49:02 +08:00
Damyon Wiese c15cda6138 Merge branch 'MDL-37806-workshop-next' of git://github.com/mudrd8mz/moodle 2013-02-04 12:48:42 +08:00
Dan Poltawski d5a13bca09 Merge branch 'MDL-37710-master' of git://github.com/damyon/moodle 2013-02-04 12:12:11 +08:00
Dan Poltawski b9299c61ca Merge branch 'MDL-37635-master' of git://github.com/damyon/moodle 2013-02-04 11:56:45 +08:00
Mark Nelson df7d171fc3 MDL-37518 blocks: described the introduction of the myaddinstance capability in upgrade.txt 2013-02-04 11:43:01 +08:00
Damyon Wiese c04dac3473 Merge branch 'master_MDL-36800' of git://github.com/danmarsden/moodle 2013-02-04 11:35:54 +08:00
Dan Poltawski 40a008b33c Merge branch 'MDL-32652_master' of git://github.com/pauln/moodle 2013-02-04 11:29:22 +08:00
Dan Poltawski 7528ebd23a MDL-35823 - fix trailing whitespace 2013-02-04 11:23:44 +08:00
Dan Poltawski 3428c00d43 Merge branch 'wip-MDL-35823-master' of git://github.com/phalacee/moodle 2013-02-04 11:23:41 +08:00
Jerome Mouneyrac e62cf63035 MDL-37012 fix wrong css + add final . to comment lines + do not use attributid parameter (duplicate of hiddeninputid) 2013-02-04 11:17:02 +08:00
Jerome Mouneyrac 46b229f9a8 MDL-37012-master redesign the community finder search form 2013-02-04 11:17:02 +08:00
Damyon Wiese ef23b6ff4f Merge branch 'MDL-37177-master' of git://github.com/FMCorz/moodle 2013-02-04 11:12:45 +08:00
Dan Poltawski 7c433fa526 Merge branch 'MDL-37645-m' of git://github.com/andrewnicols/moodle 2013-02-04 10:26:32 +08:00
Dan Poltawski e9c0ef3bca Merge branch 'MDL-37746' of git://github.com/timhunt/moodle 2013-02-04 10:17:36 +08:00
Dan Poltawski 85ef4d45ca Merge branch 'MDL-25853-master' of git://github.com/FMCorz/moodle 2013-02-04 10:12:54 +08:00
Mary Evans 1d4bfa094a MDL-37523 theme_mymobile: Removed a renderer from mymobile/renderers.php and added it to theme/mymobile/renderers/mod_choice_renderer.php. Then added a conditional statement to theme/mymobile/renderers.php in order to call mymobile/renderers/mod_choice_renderer.php. 2013-02-03 23:35:05 +00:00
Dan Marsden 361069cbbb MDL-29207: SCORM prereq callback is pure js - move it to module.js so it can be cached better. 2013-02-03 20:27:52 +13:00
Dan Marsden 5f03868a53 MDL-29207 SCORM: Auto-continue doesn't work with Pre-req due to JS errors 2013-02-03 20:27:39 +13:00
Dan Marsden 6496979459 MDL-36800 SCORM: Fix Yui().use calls - thanks to Nancy Cheng for the fix 2013-02-03 20:21:16 +13:00
Andrew Robert Nicols 22bec023db MDL-37626 Include jshint configuration 2013-02-01 15:00:13 +00:00
Colin Chambers 6dbc346095 MDL-37422 Quiz: Group fields related to 'Settings for multiple tries.' 2013-02-01 14:30:27 +00:00
Andrew Robert Nicols 2f545feb89 MDL-37574 Remove default link title from navigation items 2013-02-01 11:30:02 +00:00
Andrew Robert Nicols c1b75ece94 MDL-37566 AJAX Only set max-height for chooser dialogues
If we set height as well as max-height then there is a potential for
whitespace to be shown at the bottom of the list of choices.

This commit stops removing the height option so that we only rely upon
max-height for dialogue heigh calculation.
2013-02-01 11:21:47 +00:00
Andreas Grabs 25d37fe24c MDL-37800 mod_feedback - item "information" does not appear correctly 2013-02-01 11:44:52 +01:00
Andrew Robert Nicols 2324cf045e MDL-37645 Generalise style for moodle-core-dialogues 2013-02-01 10:20:16 +00:00
Michael Hughes 127d66f183 MDL-30144 Assignment 2.2: Download all as zip should only contain submission from active enroled users 2013-02-01 17:08:22 +08:00
Damyon Wiese 46692c3a81 MDL-37635 Assign: Prevent errors when viewing a feedback for an assignment with no gradeitem in gradebook
Also adds unit tests to verify that:
Feedback is visible even if there is no grade
The grade is not shown if the gradeitem is hidden unless you have mod/assign:grade capability
2013-02-01 13:46:08 +08:00
Jason Fowler 4df8223cbe MDL-35823 - Accessibility - Converted the help popup header from H1 to H2 to improve the over all DOM 2013-02-01 11:01:00 +08:00
Andrew Davis 9db8d0301c MDL-37357 core_grade: fixed the showing and hiding of rank on the overview report 2013-02-01 10:46:48 +08:00
Andrew Davis 88df34abed MDL-32076 core_grade: fixed ajax handling of unlimited grades and added some unit tests 2013-02-01 08:31:00 +08:00
Andrew Davis 7bb19ee167 MDL-37164 core_message: prevent users from interacting with themself 2013-02-01 08:12:28 +08:00
Sam Hemelryk 4d26b7f6fa MDL-37572 course: cleaned up manage.php bringing it into the 21st century 2013-02-01 08:51:35 +13:00
Marina Glancy 2c49fb4c3e MDL-37572 Course categories are now managed in /course/manage.php
Switching between categories view and edit no longer depend on global editing mode
/course/index.php and /course/category.php do not contain editing code
2013-02-01 08:51:34 +13:00
Sam Hemelryk 79c55ca344 MDL-36322 cache: implemented cache_store::create_clone 2013-02-01 08:49:03 +13:00
Sam Hemelryk 5dfa3031a8 MDL-36322 cache: clarified docs for initialise and construct 2013-02-01 08:49:03 +13:00
Sam Hemelryk 65b3edc450 MDL-36322 cache: cache stores now test connections during construction 2013-02-01 08:49:03 +13:00
Matteo Scaramuccia f4cec2ec87 MDL-36322 Errors when updating a Moodle instance with some misconfigured cache stores 2013-02-01 08:49:03 +13:00
David Mudrák 1df3bc143c MDL-37806 Display 'Save and show next' button when assessing workshop submissions
The button is displayed only when there is a pending (that is not
assessed yet) submission to assess.

AMOS BEGIN
 CPY [savenext,mod_assign],[saveandshownext,mod_workshop]
AMOS END
2013-01-31 18:21:51 +01:00
David Mudrák 0001eea6dd MDL-37806 Add new workshop class method to return pending assessments
This is a simple wrapper around workshop::get_assessments_by_reviewer()
that filters assigned assessments and returns just those that were not
graded by the reviewer yet.
2013-01-31 18:21:50 +01:00
Davo Smith 56c0465bd4 MDL-37801 mod_glossary - encode / decode links to 'showentry' pages during backup & restore 2013-01-31 12:52:26 +00:00
Tim Hunt a74d924c25 MDL-37746 qtype_shortanser: avoid normalizer_normalize dangers.
When an error occurs, normalizer_normalize just silently returns null,
which is dangerous. Here, we wrap it in a safe helper function.
2013-01-31 11:35:07 +00:00
David Mudrák 8342a6981b MDL-37781 Allocate workshop submissions without waiting for cron
Now we are checking for the need to execute the allocator every time the
main view.php is displayed to any user. Previously this was done by cron
only.
2013-01-31 11:42:03 +01:00
David Mudrák 85f1c2d68b MDL-37781 Check for switching the workshop phase without waiting for cron
Now we are checking for the need to switch the phase when the main
view.php is displayed to any user (previously this was done via cron
only). To give our subplugins (such as the scheduled allocation method)
a chance to do what they need to do, the workshop_viewed event is
triggered before the phase is actually switched.
2013-01-31 11:41:55 +01:00
Eloy Lafuente (stronk7) 1918a2452e weekly release 2.5dev 2013-01-31 10:59:41 +01:00
Mary Evans 772cd5c8fa MDL-37775 theme_canvas: Changed ADD a block from center align to left in style/blocks.css 2013-01-31 08:17:45 +00:00
Dan Poltawski 3895cdc2b7 Merge branch 'MDL-37789_master' of git://github.com/dmonllao/moodle 2013-01-31 15:34:46 +08:00
David Monllao 6b1a8fc5dd MDL-37789 behat: Fixing unit test in windows
The directory separator was specified with
the slash character which is not good when
running the tests on windows
2013-01-31 15:26:08 +08:00
Frederic Massart 39bb9b1f00 MDL-36472 files: Improved file area uploads error messages. 2013-01-31 15:09:44 +08:00
Dan Poltawski 12f756f9d7 Revert "MDL-37613 mod: changed generalbox class in table to generaltable class in mod/feedback (2 files);mod/glossary (3 files);mod/wiki (1 file)."
This reverts commit 0434dd2482.
2013-01-31 15:02:12 +08:00
Frederic Massart d422fb22f7 MDL-37177 navigation: Prevent exception when viewing a profile
When viewing a profile as a non-authenticated user, an exception
was raised because we were trying to fetch the context of this user.
2013-01-31 12:24:37 +08:00
Dan Poltawski 8d81f4f4cc Revert "MDL-33105 flexible apply_units() function"
This reverts commit c2ba17858c.
2013-01-31 10:17:16 +08:00
Dan Poltawski 2c8d31cd72 Merge branch 'master_MDL-34231' of git://github.com/danmarsden/moodle 2013-01-31 10:14:46 +08:00
Mary Evans 7eaa14572b MDL-37785 theme_base: remove duplicate .dir-rtl file-picker css rules from styke/core.css 2013-01-31 01:02:55 +00:00
Sam Hemelryk 956d3544f0 MDL-36363 cache: added unit tests for muliple loaders 2013-01-31 12:16:08 +13:00
Dan Marsden 220e5b5216 MDL-34231 SCORM: calculate correct number of attemptsleft when entering an attempt. 2013-01-31 10:45:11 +13:00
Petr Škoda 73d20f36cb MDL-37780 hack around some unicode date formatting issues on Windows 2013-01-30 22:36:40 +01:00
Petr Škoda 774d1d2429 MDL-37780 make sure there are no windows line endings in test files 2013-01-30 21:23:29 +01:00
Sam Hemelryk 3aee2fb8ee MDL-36363 cache: fixed issue with double parsing keys for stacked loaders 2013-01-31 09:10:57 +13:00
Petr Škoda a629ad3dff MDL-37780 fix 1.9 restore on windows 2013-01-30 20:28:06 +01:00
Eloy Lafuente (stronk7) f97db01978 Merge branch 'wip-MDL-37644-m25' of git://github.com/samhemelryk/moodle 2013-01-30 10:27:11 +01:00
Jason Fowler 0dbae598d7 MDL-36206 - Unit Test - Create unit test for pagination bar 2013-01-30 09:52:34 +08:00
Dan Poltawski 7543705d9b Merge branch 'w04_MDL-37726_m25_prevnext_int' of git://github.com/skodak/moodle 2013-01-30 09:18:57 +08:00
Frederic Massart 769c73ae6c MDL-25853 calendar: Fixed broken previous/next links 2013-01-30 08:59:11 +08:00
Eloy Lafuente (stronk7) fb44a5db6f Merge branch 'w04_MDL-37734_m25_marshack' of git://github.com/skodak/moodle 2013-01-30 01:11:20 +01:00
Eloy Lafuente (stronk7) 6ca12c1cc1 Merge branch 'w04_MDL-37767_m25_pgsocket' of git://github.com/skodak/moodle 2013-01-30 00:51:01 +01:00
Petr Škoda 47bf916773 MDL-37767 allow empty host in enrol_database which is required for default pg socket 2013-01-30 00:40:03 +01:00
Eloy Lafuente (stronk7) 03612a7b00 MDL-32420 anomaly theme: bump version 2013-01-30 00:28:35 +01:00
Eloy Lafuente (stronk7) e2b2794368 Merge branch 'wip-MDL-32420_master' of git://github.com/lazydaisy/moodle 2013-01-29 23:38:43 +01:00
Eloy Lafuente (stronk7) 857b40256e Merge branch 'MDL-37526-m' of git://github.com/andrewnicols/moodle 2013-01-29 23:33:22 +01:00
Petr Škoda 7a18f49c60 MDL-37726 remove PREVIOUS/NEXT from all install.xml files
YAY!
2013-01-29 22:34:46 +01:00
Petr Škoda 76f2fcdedb MDL-37726 stop using PREVIOUS/NEXT in install.xml files 2013-01-29 22:32:24 +01:00
Sam Hemelryk c6cbc3c70c MDL-37474 cache: fixed bug with definition cleaning 2013-01-30 10:28:34 +13:00
Eloy Lafuente (stronk7) a917ef63ae Merge branch 'MDL-37465' of git://github.com/colchambers/moodle 2013-01-29 19:19:29 +01:00
Eloy Lafuente (stronk7) 96b997d759 Merge branch 'MDL-37533-master' of git://github.com/damyon/moodle 2013-01-29 15:35:05 +01:00
Eloy Lafuente (stronk7) 38e4fa58d5 MDL-37101 donot use donot. 2013-01-29 15:24:59 +01:00
Eloy Lafuente (stronk7) 0ed03cc295 Merge branch 'MDL-37101-master' of git://github.com/ankitagarwal/moodle
Conflicts:
	calendar/tests/externallib_tests.php
2013-01-29 15:19:11 +01:00
Eloy Lafuente (stronk7) 6155915ffb Merge branch 'wip-MDL-36363-m25' of https://github.com/samhemelryk/moodle 2013-01-29 12:06:33 +01:00
David Monllao fe856690cb MDL-37662 behat: Add blocks definition 2013-01-29 18:21:08 +08:00
David Monllao d780452472 MDL-37661 behat: Test to add activities to courses 2013-01-29 18:19:04 +08:00
David Monllao a1990e50e8 MDL-37661 behat: Add activities to courses 2013-01-29 18:18:57 +08:00
David Monllao bedc20aa96 MDL-37659 behat: Adding tests for the data generators 2013-01-29 17:25:43 +08:00
David Monllao f0200d1462 MDL-37659 behat: Adding data generator definition 2013-01-29 17:25:25 +08:00
David Monllao 87bb583cbc MDL-37659 testing: New data generators
- Grouping groups
- Group members
2013-01-29 17:25:02 +08:00
Damyon Wiese 3e1b63f1c8 MDL-37710 Assign: Fix pluginfile permission checks for student viewing their own team submission.
This change adds a function to the assign class to allow the permissions for a group submission
to be checked and updates all the submission plugins to call it.
2013-01-29 17:14:36 +08:00
Petr Škoda dd8a39a881 MDL-37734 add one more recordset isolation test 2013-01-29 10:10:40 +01:00
Petr Škoda 0363b7826b MDL-37734 use prefetching workaround for MARS transaction problems 2013-01-29 10:10:09 +01:00
Dan Poltawski 2a090a1581 Merge branch 'wip-mdl-34190' of git://github.com/rajeshtaneja/moodle 2013-01-29 16:53:49 +08:00
Dan Poltawski cbb26eb0ec Merge branch 'MDL-37600' of git://github.com/timhunt/moodle 2013-01-29 16:49:58 +08:00
Aparup Banerjee 37c68301f9 Merge branch 'w04_MDL-37499_m25_authldaptest' of git://github.com/skodak/moodle 2013-01-29 16:33:37 +08:00
Dan Poltawski 0fed6554f9 Merge branch 'MDL-33105' of https://github.com/ppichet/moodle 2013-01-29 16:31:50 +08:00
Dan Poltawski cc0ee3c4f3 Merge branch 'MDL-29691' of https://github.com/ppichet/moodle 2013-01-29 16:30:00 +08:00
David Monllao c7369f79a3 MDL-37657 behat: Adding acceptance tests to the acceptance test tool 2013-01-29 15:31:26 +08:00
David Monllao 23ebc481e7 MDL-37657 behat: Adding definitions related with forms 2013-01-29 15:31:26 +08:00
David Monllao b1bc8cfc65 MDL-37657 behat: Add tree nodes expansion definition 2013-01-29 15:31:25 +08:00
David Monllao 0a56fc6976 MDL-37657 behat: Simple log in/out steps with test 2013-01-29 15:31:25 +08:00
David Monllao 786ea937cc MDL-37657 behat: General steps definitions 2013-01-29 15:31:25 +08:00
Dan Poltawski 4653ecd3b3 Merge branch 'MDL-37046_master' of git://github.com/dmonllao/moodle 2013-01-29 15:07:48 +08:00
David Monllao 33063f2eb5 MDL-37046 behat: Quick fix
Provides feedback when trying to use the web interface
to list steps definitions when $CFG->behat_dataroot hasn't
been set or can not be written
2013-01-29 14:46:41 +08:00
Damyon Wiese 6792b8f5d3 MDL-37646 Assign: Quickgrading fix when using grading filters or lots of students. 2013-01-29 14:36:18 +08:00
Dan Poltawski 10b8d16deb Merge branch 'MDL-37656_master' of git://github.com/dmonllao/moodle 2013-01-29 13:46:26 +08:00
Dan Poltawski e0f755035b Merge branch 'MDL-37046_master' of git://github.com/dmonllao/moodle 2013-01-29 13:25:13 +08:00
David Monllao f5ceb6c233 MDL-37656 behat: Adding hooks
At suite, scenario and step levels
2013-01-29 12:57:03 +08:00
David Monllao d4322e3859 MDL-37656 behat: Base empty class 2013-01-29 12:57:03 +08:00
David Monllao ec017a3460 MDL-37046 behat: Skip unit test if behat is not installed 2013-01-29 12:54:48 +08:00
Dan Poltawski 68aaba6c84 Merge branch 'MDL-37046_master' of git://github.com/dmonllao/moodle 2013-01-29 12:03:10 +08:00
David Monllao 475ac3f8ee MDL-37046 behat: Changes from integration review
* RTL languages problem solved
* Fixed curl errno return
* Switch to behat test environment code more readable
2013-01-29 11:56:42 +08:00
Dan Poltawski 5d80fc80c0 Merge branch 'MDL-37694' of git://github.com/timhunt/moodle 2013-01-29 11:54:36 +08:00
Dan Poltawski 5774879060 Merge branch 'wip-MDL-37615-m25' of git://github.com/samhemelryk/moodle 2013-01-29 11:47:17 +08:00
Dan Poltawski c2f1837e5d Merge branch 'wip-MDL-25630_master' of git://github.com/lazydaisy/moodle 2013-01-29 11:23:12 +08:00
Sam Hemelryk da810f5816 Merge branch 'MDL-37476-master' of git://github.com/mouneyrac/moodle 2013-01-29 15:24:06 +13:00
Paul Nicholls 606554d5b0 MDL-32652 - Make block drag-drop work throughout Moodle
The central "content" region on My Home / user profile pages also needs to
be initialised in lib/ajax/blocks.php in order to allow blocks to be
dropped into that region successfully.  Some tweaks were also necessary in
order to correct the "content" region's structure in order for drag-drop
to function on this region on these pages.

Non-standard block regions (including the central "content" region
used by My Home and user profile pages) were causing the temporary empty
block region used as a drop target to sometimes appear in the wrong place.

The call to init_requirements_data (which includes the block drag-drop JS)
happens at a late enough stage in page generation that we can simply
pass the context ID through to the JS, so that it can be sent as part of
the AJAX request.  This prevents lib/ajax/blocks.php from having to try
to guess the context from the other bits of information it receives, so
block drag-drop should now work everywhere without issues.
2013-01-29 14:57:28 +13:00
Sam Hemelryk ab58c6b724 Merge branch 'w04_MDL-37716_m25_enrolexpiry' of git://github.com/skodak/moodle 2013-01-29 14:56:57 +13:00
David Monllao 096858ed83 MDL-37046 behat: Use behat test env
Moving from phpunit test environment
to a specific behat test environment
2013-01-29 08:40:38 +08:00
David Monllao b5c130092b MDL-37046 behat: Split in different classes 2013-01-29 08:40:38 +08:00
David Monllao 9516712114 MDL-37046 behat: Coding standards compliant 2013-01-29 08:40:38 +08:00
David Monllao ff2ec29bb1 MDL-37046 behat: Added to standard plugins list 2013-01-29 08:40:38 +08:00
David Monllao 0922ef8789 MDL-37046 behat: Windows compatibility 2013-01-29 08:40:38 +08:00
David Monllao 1c36cb2a9c MDL-37046 behat: Only composer.json 2013-01-29 08:40:37 +08:00
David Monllao 5347dae079 MDL-37046 behat: Adding empty Behat config file
This empty behat config file allows behat CLI
command to run before test environment has been set
2013-01-29 08:40:37 +08:00
David Monllao bd770617a9 MDL-37046 behat: New setting to switch completely to test env. 2013-01-29 08:40:37 +08:00
David Monllao f2f66ea4af MDL-37046 behat: Some unit tests 2013-01-29 08:40:37 +08:00
David Monllao d6abac76ca MDL-37046 behat: Allow default config overrides 2013-01-29 08:40:37 +08:00
David Monllao 0b5f481bf5 MDL-37046 behat: Externalizations
Instead of starting the PHP web server and calling
behat as a passthru we maintain them as standalone
2013-01-29 08:40:37 +08:00
David Monllao 6d9427bba6 MDL-37046 behat: Removing MinkContext 2013-01-29 08:40:37 +08:00
David Monllao de424b462f MDL-37046 behat: Removing step
The issue scope is only the integration in moodle
2013-01-29 08:40:37 +08:00
David Monllao a2a9843819 MDL-37046 behat: Checking PHP version 2013-01-29 08:40:37 +08:00
David Monllao a09534f4fc MDL-37046 behat: Requires Moodle 2.5
Also more code comments and general cleanup
2013-01-29 08:40:37 +08:00
David Monllao fbb5243491 MDL-37046 behat: Refining composer dependencies installation 2013-01-29 08:40:37 +08:00
David Monllao 1be4c32138 MDL-37046 behat: Specific composer dependencies versions 2013-01-29 08:40:37 +08:00
David Monllao f4ebf1f889 MDL-37046 behat: Command with x permission 2013-01-29 08:40:37 +08:00
David Monllao cb18fd7100 MDL-37046 behat: Using moodle composer 2013-01-29 08:40:37 +08:00
David Monllao d46340eb16 MDL-37046 behat: Adding steps definitions list filters 2013-01-29 08:40:36 +08:00
David Monllao 25833ef86e MDL-37046 behat: CLI option to add/remove javascript tests 2013-01-29 08:40:36 +08:00
David Monllao cca2c80630 MDL-37046 behat: Restricting the execution to the built-in server 2013-01-29 08:40:36 +08:00
David Monllao 84d687befc MDL-37046 behat: Removing temporarly the rest context of Behatch until upstream fixes the problem 2013-01-29 08:40:36 +08:00
David Monllao df8dcf3ed6 MDL-37046 behat: Using single config file on moodle side 2013-01-29 08:40:36 +08:00
David Monllao 603c95dc10 MDL-37046 behat: User interface 2013-01-29 08:40:36 +08:00
David Monllao 93245e952f MDL-37046 behat: Steps definitions loading 2013-01-29 08:40:36 +08:00
David Monllao 554820dd52 MDL-37046 behat: Moving installation instructions to MDocs 2013-01-29 08:40:36 +08:00
David Monllao 8cdc0ce8a4 MDL-37046 behat: Integrating build config file into runtests action 2013-01-29 08:40:36 +08:00
David Monllao 6d994c510f MDL-37046 behat: Adding CLI options 2013-01-29 08:40:36 +08:00
David Monllao 33005f689c MDL-37046 behat: Adding build config file action 2013-01-29 08:40:36 +08:00
David Monllao e87d603dca MDL-37046 behat: Moving feature file to lib/tests/behat 2013-01-29 08:40:36 +08:00
David Monllao ecbd3cbe70 MDL-37046 behat: CLI tool 2013-01-29 08:40:35 +08:00
David Monllao cc5446464e MDL-37046 behat: Adding switch environment feature 2013-01-29 08:40:35 +08:00
David Monllao 7f541ea3ed MDL-37046 behat: Adding web-based tests runner
Uses phpunit test environment to execute the functional testing, adding
steps definitions list and tests runner actions
2013-01-29 08:40:35 +08:00
David Monllao 191b3fb9d7 MDL-37046 behat: Adding a test to check the test environment 2013-01-29 08:40:35 +08:00
David Monllao dca22d7cc1 MDL-37046 behat: Basic web execution wrapper 2013-01-29 08:40:35 +08:00
David Monllao 301cbe3a30 MDL-37046 behat: Behat admin tool skeleton 2013-01-29 08:40:35 +08:00
Eloy Lafuente (stronk7) 09d6bcc232 Merge branch 'w04_MDL-37718_m25_rs' of git://github.com/skodak/moodle 2013-01-29 01:33:08 +01:00
Eloy Lafuente (stronk7) ee4cac2b44 Merge branch 'wip-MDL-37474-m25' of git://github.com/samhemelryk/moodle 2013-01-29 01:32:09 +01:00
Sam Hemelryk 3178ae6f09 Merge branch 'wip-mdl-36619' of git://github.com/rajeshtaneja/moodle 2013-01-29 10:50:14 +13:00
Sam Hemelryk dabe6985e4 Merge branch 'master_MDL-37696' of git://github.com/danmarsden/moodle 2013-01-29 10:19:31 +13:00
Sam Hemelryk 41f3d113f7 Merge branch 'MDL-37697-m' of git://github.com/andrewnicols/moodle 2013-01-29 10:17:01 +13:00
Sam Hemelryk 49c204d1ee Merge branch 'MDL-37350-m' of git://github.com/andrewnicols/moodle 2013-01-29 08:55:05 +13:00
Sam Hemelryk 5126bab95c Merge branch 'MDL-36881-m' of git://github.com/andrewnicols/moodle 2013-01-29 08:52:01 +13:00
Sam Hemelryk bf6a1b9078 Merge branch 'w04_MDL-37596_m25_schedmaint' of git://github.com/skodak/moodle 2013-01-29 08:44:15 +13:00
Sam Hemelryk 8d8e6b1519 Merge branch 'MDL-34671-m' of git://github.com/andrewnicols/moodle 2013-01-29 08:39:35 +13:00
Sam Hemelryk 44aad12347 Merge branch 'MDL-37668-master' of git://github.com/sammarshallou/moodle 2013-01-29 08:33:41 +13:00
Sam Hemelryk cb4adcc4a4 Merge branch 'master_MDL-34231' of git://github.com/danmarsden/moodle 2013-01-29 08:28:31 +13:00
Eloy Lafuente (stronk7) fab951a6ae Merge branch 'wip-MDL-37545-m25' of git://github.com/samhemelryk/moodle 2013-01-28 19:23:17 +01:00
Eloy Lafuente (stronk7) 7356e732b7 MDL-37086 phpunit: use alt reset method.
When code executed in test cases is using/preventing
database transactions, phpunit itself cannot
use transactions for reseting between cases. But we
can tell it about, so some alternative (and slower)
method for reseting will be used.
2013-01-28 18:25:38 +01:00
Petr Škoda 48e114a517 MDL-37596 optionally enable CLI maintenance later 2013-01-28 14:23:21 +01:00
sam marshall 62019ad86e MDL-37668 Accessibility: Help popup should be easy to close using keyboard 2013-01-28 10:56:26 +00:00
Andrew Robert Nicols 8a185b9ebc MDL-34671 Stop browser receiving escape keydown in modal dialogues
In certain modal dialogues, we listen on the Escape key to close a
dialogue. However, this is still passed to the browser. As a result, if the
browser is in full screen mode and that browser respects the escape key as
a means to exit full screen.

As a result, we need to ensure that we listen for the escape key at keydown
rather than keyup, and additionally prevent the default browser behaviour.

This is a workaround to http://yuilibrary.com/projects/yui3/ticket/2532616
and, should that issue be fixed, it should be removed.
2013-01-28 10:35:26 +00:00
Sam Chaffee 56c0878b45 MDL-36881 Handle poorly behaved modname_get_types functions better
The modname_get_types function is not always well implemented by
third-party plugins and some return poor data. This in turn leads to
incorrect module definitions, and can lead to problems in both the
'Add an activity...' dropdowns and the Activity chooser.

This will also prevent display of plugins which legitimately can have
subtypes but where no subtypes were found. Since such plugins cannot be
used in this fashion in any case, this is also beneficial.

Signed-off-by: Andrew Robert Nicols <andrew.nicols@lancaster.ac.uk>
2013-01-28 10:21:22 +00:00
Andrew Robert Nicols 344936ae48 MDL-37350 Detach listeners when hiding the 'Add roles' popup
If the submit event listener is not correctly closed, then the submit event
calls the relevant callback multiple times incorrectly.

When hiding the Add role dialogue, we need to detach any event listeners
which are applied to it.
2013-01-28 09:57:08 +00:00
Dan Marsden cce0da745a MDL-34231 SCORM: Lock after final attempt when using skip content structure or direct navigation to player.php 2013-01-28 21:17:43 +13:00
Sam Hemelryk 502e785311 Merge branch 'w04_MDL-37638_m25_rolecloning' of git://github.com/skodak/moodle 2013-01-28 18:00:07 +13:00
Sam Hemelryk 44a951b28d Merge branch 'w04_MDL-37666_m25_cssiesend' of git://github.com/skodak/moodle 2013-01-28 17:56:05 +13:00
Sam Hemelryk d0ac573b7f Merge branch 'w04_MDL-37713_m25_testdir' of git://github.com/skodak/moodle 2013-01-28 17:53:54 +13:00
Sam Hemelryk 3619009d0b Merge branch 'MDL-37677-obsolete-cache-debug' of git://github.com/mudrd8mz/moodle 2013-01-28 17:50:48 +13:00
Sam Hemelryk 34e41c81f8 Merge branch 'MDL-37673-muc-groupdata-typo' of git://github.com/mudrd8mz/moodle 2013-01-28 17:49:24 +13:00
Sam Hemelryk 635bc28d98 Merge branch 'MDL-37548-m' of git://github.com/andrewnicols/moodle 2013-01-28 17:46:13 +13:00
Sam Hemelryk be54d2015d Merge branch 'wip-MDL-37614_master' of git://github.com/lazydaisy/moodle 2013-01-28 17:40:08 +13:00
Sam Hemelryk d38df267a0 Merge branch 'wip-MDL-37611_master' of git://github.com/lazydaisy/moodle 2013-01-28 17:40:01 +13:00
Sam Hemelryk 225a85806d Merge branch 'wip-MDL-37613_master' of git://github.com/lazydaisy/moodle 2013-01-28 17:38:36 +13:00
Sam Hemelryk 56a81ad856 Merge branch 'wip-MDL-37612_master' of git://github.com/lazydaisy/moodle 2013-01-28 17:37:07 +13:00
Sam Hemelryk 58f828ca14 Merge branch 'wip-MDL-29723_master' of git://github.com/lazydaisy/moodle 2013-01-28 17:35:04 +13:00
Sam Hemelryk f9a71cb033 Merge branch 'MDL-37172' of git://github.com/jmvedrine/moodle 2013-01-28 17:29:24 +13:00
Sam Hemelryk 682a1c0108 Merge branch 'w04_MDL-37728_m25_roledef' of git://github.com/skodak/moodle 2013-01-28 17:25:51 +13:00
Andrew Davis d8ef2bc03c MDL-13805 core_message: altered some strings so it isnt weird when viewing a different users messages 2013-01-28 16:07:37 +13:00
Andrew Davis 447df209cf MDL-13805 core_message: fixed the admin's ability to read another users messages 2013-01-28 16:07:37 +13:00
David Monllao e8eb2b003a MDL-37634 lesson: readquestion visibility to protected 2013-01-28 13:45:42 +13:00
Sam Hemelryk 81ee22017a Merge branch 'MDL-37628-master' of git://github.com/grabs/moodle 2013-01-28 13:42:07 +13:00
Sam Hemelryk e003d7dc5f Merge branch 'w04_MDL-37640_m25_zipclose' of git://github.com/skodak/moodle 2013-01-28 13:36:28 +13:00
Sam Hemelryk 0449f2e6da Merge branch 'w04_MDL-37407_m25_chineseunzip' of git://github.com/skodak/moodle 2013-01-28 13:32:09 +13:00
Sam Hemelryk 7395c2b8e2 Merge branch 'MDL-37414_master' of https://github.com/markn86/moodle 2013-01-28 13:29:17 +13:00
Sam Hemelryk dff72cde30 Merge branch 'MDL-32750' of git://github.com/colchambers/moodle 2013-01-28 11:57:17 +13:00
Sam Hemelryk 0f54ac5698 Merge branch 'MDL-19069' of git://github.com/rwijaya/moodle 2013-01-28 11:32:53 +13:00
Sam Hemelryk 554b67545b MDL-37615 block_section_links: brought up to current standards. 2013-01-28 11:18:51 +13:00
Sam Hemelryk d20337f180 MDL-37644 navigation: new option to display course full names 2013-01-28 10:42:44 +13:00
Sam Hemelryk 1631d5ffdf MDL-37535 block_section_links: now uses component for settings. 2013-01-28 10:42:29 +13:00
Sam Hemelryk 9890ecfc25 MDL-37545 cache: fixed bug during initialisation and updating of cache config 2013-01-28 10:40:37 +13:00
Sam Hemelryk 5052356574 MDL-37470 cache: definitions can now be purged through config screen 2013-01-28 10:39:47 +13:00
Sam Hemelryk a037c943bd MDL-36363 cache: clean up pre-integration 2013-01-28 10:39:23 +13:00
Matteo Scaramuccia 59ca73ff82 MDL-36363 Override instance_deleted() for all cache stores performing just a cleanup() when this action successfully applies over all the definitions of the cache store 2013-01-28 10:39:23 +13:00
Matteo Scaramuccia 56e65baa1e MDL-36363 Adding/Removing a file store cache instance cleanups the folder too 2013-01-28 10:39:23 +13:00
Matteo Scaramuccia 730cf5acbc MDL-36363 Added cache_store::instance_created() and cache_store::instance_deleted() 2013-01-28 10:39:22 +13:00
Dan Marsden fe56bc615d MDL-37696 SCORM css: don't include style.css multiple times 2013-01-28 10:31:08 +13:00
Mary Evans 009fb7d943 MDL-32420 theme_anomaly: Added custom css settings and tagline. 2013-01-27 20:33:17 +00:00
Petr Škoda ba4b17dc55 MDL-37728 show role risks 2013-01-27 14:55:06 +01:00
Petr Škoda c7e2e4d5d1 MDL-37728 list only relevant capabilities when reviewing role permissions 2013-01-27 14:29:27 +01:00
Petr Škoda 3b00599bb6 MDL-37728 show allow matrix info in role overview 2013-01-27 14:14:32 +01:00
Petr Škoda 9e6bfb5221 MDL-37718 release low level recordsets as soon as possible 2013-01-26 17:20:43 +01:00
Petr Škoda a07c89c632 MDL-37713 let phpunit bootstrap create test dataroot if necessary 2013-01-26 14:59:27 +01:00
Petr Škoda d8f22c49b1 MDL-37716 standardise enrolment expiration code 2013-01-26 14:55:11 +01:00
Andreas Grabs 82e4dc33f0 MDL-37628 feedback - Coding error in Recent Activity 2013-01-26 11:28:06 +01:00
Jean-Michel Vedrine a5d7862b58 MDL-37172 Hardcoded strings in some question imports formats
AMOS BEGIN
MOV [unknownorunhandledtype,qformat_blackboard_six],[unknownorunhandledtype,question]
AMOS END
2013-01-25 22:31:06 +01:00
Petr Škoda 9226ec1939 MDL-37666 fix comment describing IE CSS limitations 2013-01-25 20:20:04 +01:00
Petr Škoda 019b77cd7e MDL-37638 fix name of duplicate role 2013-01-25 19:35:40 +01:00
Petr Škoda be094a59ca MDL-37499 add test ldap debuginfo 2013-01-25 16:04:03 +01:00
Petr Škoda a7aff74fcc MDL-37499 implement basic tests for auth_ldap 2013-01-25 16:00:35 +01:00
Petr Škoda 231b022777 MDL-37407 add support for zh_cn unicode unzip 2013-01-25 15:55:52 +01:00
Tim Hunt 9887aaeb75 MDL-37600 qtype match: fix codechecker issues. 2013-01-25 14:07:33 +00:00
Tim Hunt 87d767343d MDL-37600 qtype match: remove obsolete DB columns, and obey coding style.
Tables renamed to start qtype_match, and qtype_match_options.subquestions
and qtype_match_subquestions.code columnd dropped. Also, qtype_match_options
-> question foreign key link changed to be foreign-unique, since that is
what it should be.
2013-01-25 12:38:16 +00:00
Andrew Robert Nicols c6dcce6ad3 MDL-37526 Fix lint issues in moodle-core-notification 2013-01-25 12:32:22 +00:00
Andrew Robert Nicols c112bc6069 MDL-37697 Use the correct editor format for course forums 2013-01-25 12:30:29 +00:00
Tim Hunt e389874d19 MDL-37694 move quiz unit tests to the right place.
Follow-on from MDL-37684.
2013-01-25 12:12:12 +00:00
Petr Škoda 96846ef18b MDL-37640 close all zip archives after use in unit tests 2013-01-25 12:46:58 +01:00
Colin Chambers 2a22be64ee MDL-32750 Question: make the html editor tools collapsible 2013-01-25 11:17:41 +00:00
Colin Chambers f0a64f017c MDL-37465 Combined feedback: Num correct responses ticked by default 2013-01-25 11:15:50 +00:00
Dan Poltawski b3778a0dec MDL-37684 - phpunit add missing definitions to phpunit.xml.dist 2013-01-25 16:33:51 +08:00
Dan Poltawski a737019604 weekly release 2.5dev 2013-01-25 15:57:30 +08:00
Dan Poltawski ec0f4373fa Fix permissions 2013-01-25 15:57:20 +08:00
Dan Poltawski a7b860a0c7 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-01-25 15:56:27 +08:00
Dan Poltawski ebf6e8f60a Merge branch 'MDL-37473b' of git://github.com/srynot4sale/moodle 2013-01-25 12:35:40 +08:00
Aaron Barnes 10a8581f2b MDL-37473 completion: Add missing cap checks to tracked users functions
Namely get_num_tracked_users and is_tracked_user()
2013-01-25 17:08:44 +13:00
Dan Poltawski dec70f2599 Revert "MDL-32652 - Make block drag-drop work throughout Moodle"
This reverts commit d7c29c2257.
2013-01-25 11:52:15 +08:00
David Mudrák df5d245a05 MDL-37677 Do not display debug info about obsolete string manager caches 2013-01-24 23:14:16 +01:00
David Mudrák 34424d4c8b MDL-37673 Fix core_groupdata cache definition 2013-01-24 22:52:10 +01:00
Andrew Robert Nicols 0739873052 MDL-37548 Show the incorrect value in a colour picker after validation 2013-01-24 09:23:38 +00:00
Rajesh Taneja 9e1d4eda65 MDL-36619 My Home: Fixed course movement when JS is turned off 2013-01-24 13:57:26 +08:00
Stephen Bourget 0b33e91cd6 MDL-37533 Assign: Fix grading filters to show only assignments needing grading 2013-01-24 10:55:43 +08:00
Damyon Wiese d43b31094e MDL-37533 Assign: Use the constant for the submitted status in the query (and parameterize the query) 2013-01-24 10:52:20 +08:00
Stephen Bourget b7f461419b MDL-37533 Assign: assign_print_overview does not correctly display assignments that need grading 2013-01-24 10:39:09 +08:00
AMOS bot 7bc7c3fef2 Automatically generated installer lang files 2013-01-24 00:46:47 +00:00
Dan Poltawski a42a78754f Merge branch 'MDL-37547-master' of github.com:damyon/moodle 2013-01-23 15:58:34 +08:00
Mark Nelson 93cc145f88 MDL-37082 core_course: include details of deprecation in the upgrade.txt file 2013-01-23 15:55:04 +08:00
Dan Poltawski 1c426a56f8 Merge branch 'MDL-37082-master' of git://github.com/damyon/moodle 2013-01-23 15:53:20 +08:00
Damyon Wiese 8549deb969 MDL-37082: Fixed failed unit tests from previous patch 2013-01-23 15:23:37 +08:00
Aparup Banerjee 46112c0277 Merge branch 'MDL-37100-master' of git://github.com/ankitagarwal/moodle
Conflicts:
	version.php
2013-01-23 14:57:45 +08:00
Damyon Wiese d021941d6c MDL-37547 Assign: Fix failed unit test on oracle.
Oracle is rounding numbers with no decimals - which causes a test failure.
2013-01-23 14:56:21 +08:00
Dan Poltawski bc5165c2be Merge branch 'MDL-37082_master' of git://github.com/markn86/moodle 2013-01-23 14:45:59 +08:00
Mark Nelson 18aaeef0b6 MDL-37082 mod_assign: removed reference to deprecated delete_course_module function in the unit tests 2013-01-23 14:25:02 +08:00
Jerome Mouneyrac 821676f5b7 MDL-37476 course_create unit test fails if course completion is enabled 2013-01-23 13:54:22 +08:00
David Monllao 1150aeb896 MDL-37458 testing: Removing wrong comments 2013-01-23 13:23:08 +08:00
Eloy Lafuente (stronk7) c9c75b39fd Merge branch 'MDL-37619-master' of git://github.com/damyon/moodle 2013-01-23 02:07:53 +01:00
Dan Poltawski ad3a730c3a Merge branch 'MDL-37506' of git://github.com/timhunt/moodle 2013-01-23 08:54:32 +08:00
Dan Poltawski 0a93b3127f Merge branch 'MDL-37082_master' of git://github.com/markn86/moodle 2013-01-23 08:53:02 +08:00
Sam Hemelryk 8c35fcdcd9 Merge branch 'MDL-34435-master' of git://github.com/FMCorz/moodle
Conflicts:
	version.php
2013-01-23 11:08:55 +13:00
Sam Hemelryk 8af97c2c2e Merge branch 'wip-MDL-35826-master' of git://github.com/phalacee/moodle
Conflicts:
	calendar/upgrade.txt
2013-01-23 10:03:42 +13:00
Sam Hemelryk a659a79f23 MDL-36621 cache: added missing calendar subscription string 2013-01-23 09:58:43 +13:00
Sam Hemelryk 9d98cb9f17 Merge branch 'wip-MDL-34436-master' of git://github.com/phalacee/moodle 2013-01-23 09:54:36 +13:00
Eloy Lafuente (stronk7) 5afd8bfede Merge branch 'wip-MDL-15930-master' of git://github.com/abgreeve/moodle 2013-01-22 20:34:42 +01:00
Mary Evans bd5d8b5041 MDL-29723 mod/quiz: Modified show/hide button in edit.php and added some extra CSS rules to styles.css to make Question bank block more compatible/adaptable with themes. 2013-01-22 16:17:11 +00:00
Justin Filip 565c0da9c9 MDL-37625 auth_radius Updated to latest version (1.5.0) of included PEAR Crypt_CHAP library. 2013-01-22 10:42:09 -05:00
Frederic Massart 31a783303e MDL-29749 phpunit: Windows dir uses backslashes 2013-01-22 16:24:35 +01:00
Ankit Agarwal 38c52ef291 MDL-37100 Version bump 2013-01-22 17:10:31 +08:00
Mark Nelson a347aee32e MDL-37082 core_course: create new course_delete_module function that handles the whole deletion process
Instead of repeating code all over the place because the original function delete_course_module only partially deletes data, we now place all the functionality needed to delete a module here.
2013-01-22 17:05:16 +08:00
Aparup Banerjee 072844a158 Merge branch 'wip-mdl-37339' of git://github.com/rajeshtaneja/moodle 2013-01-22 16:28:31 +08:00
Dan Poltawski 397ccf1309 MDL-36602 - fix whitespace 2013-01-22 15:45:34 +08:00
Dan Poltawski 079b83f34e Merge branch 'w03_MDL-36602_m25_mnetuser' of git://github.com/skodak/moodle 2013-01-22 15:44:28 +08:00
Dan Poltawski d7687c3a23 Merge branch 'w03_MDL-37257_m25_enrolsettings' of git://github.com/skodak/moodle 2013-01-22 15:37:36 +08:00
Dan Poltawski bfaf3041fa Merge branch 'wip-mdl-32526' of git://github.com/rajeshtaneja/moodle 2013-01-22 14:00:26 +08:00
Aparup Banerjee 1a6192f928 Merge branch 'MDL-37547-master' of github.com:damyon/moodle 2013-01-22 13:57:25 +08:00
Ankit Agarwal e6a1f8c102 MDL-37100 webservices: Adding warnings and cleaning up get_calendar_events() api 2013-01-22 13:54:49 +08:00
Ankit Agarwal 15c0b1ccef MDL-37101 phpunit: phpunit tests for ws api core_calendar_create_calendar_events 2013-01-22 13:53:23 +08:00
Ankit Agarwal 494a6389eb MDL-37101 webservices:Implement ws api core_calendar_create_calendar_events 2013-01-22 13:53:22 +08:00
Jason Fowler 512edd65d8 MDL-35826 - Calendar - Creating a caption containing the month name for mini-calendars 2013-01-22 13:51:09 +08:00
Dan Poltawski 499e1f11a5 Merge branch 'MDL-36138-master' of git://github.com/StudiUM/moodle 2013-01-22 13:40:02 +08:00
Damyon Wiese c1432fad2c MDL-37619 Assign: Fix failed unit tests for mod/assign/lib.php
The failure was caused by a regression in MDL-37527.
2013-01-22 13:34:01 +08:00
Dan Poltawski 5a4a346834 Merge branch 'MDL-33206-master' of git://github.com/StudiUM/moodle 2013-01-22 12:58:27 +08:00
Dan Poltawski f6623fe130 Merge branch 'MDL-27164-master' of git://github.com/micaherne/moodle 2013-01-22 12:51:51 +08:00
Dan Poltawski cba645b850 Merge branch 'master_MDL-36853' of git://github.com/danmarsden/moodle 2013-01-22 12:49:18 +08:00
Dan Poltawski 928639c06e Merge branch 'MDL-37275_master' of git://github.com/markn86/moodle 2013-01-22 12:46:09 +08:00
Dan Poltawski 8f43dfac3a Merge branch 'MDL-37375' of git://github.com/rwijaya/moodle 2013-01-22 12:43:47 +08:00
Dan Poltawski 011ee6742f Merge branch 'MDL-37426-m' of git://github.com/andrewnicols/moodle 2013-01-22 12:41:12 +08:00
Dan Poltawski f5ba8b0f03 Merge branch 'w03_MDL-37593_m25_httpslogineditor' of git://github.com/skodak/moodle 2013-01-22 12:35:54 +08:00
Aparup Banerjee 447e59a1f2 Merge branch 'wip-MDL-37541-master' of git://github.com/marinaglancy/moodle
Conflicts:
	repository/wikimedia/wikimedia.php
2013-01-22 12:10:48 +08:00
Dan Poltawski 8cd57fb26a Merge branch 'MDL-37430-master' of github.com:damyon/moodle 2013-01-22 11:53:10 +08:00
Dan Poltawski ad0bcfe6a6 Merge branch 'MDL-35357' of git://github.com/rwijaya/moodle 2013-01-22 11:48:04 +08:00
Dan Poltawski 97d3e09cd8 Merge branch 'MDL-37599' of git://github.com/timhunt/moodle 2013-01-22 11:40:04 +08:00
Aparup Banerjee 8b042b1cc8 Merge branch 'MDL-37583' of git://github.com/timhunt/moodle 2013-01-22 11:37:24 +08:00
Sam Hemelryk 59573bb447 MDL-36621 calendar: fixed up conflict error 2013-01-22 16:35:48 +13:00
Sam Hemelryk 36546841f1 Merge branch 'MDL-36621-master' of git://github.com/ankitagarwal/moodle
Conflicts:
	calendar/lib.php
	lib/db/caches.php
	version.php
2013-01-22 16:35:03 +13:00
Dan Poltawski 68a6d87684 Merge branch 'MDL-37473' of git://github.com/srynot4sale/moodle 2013-01-22 11:14:19 +08:00
Dan Poltawski c9ae6d3c27 Merge branch 'MDL-17812' of git://github.com/timhunt/moodle 2013-01-22 11:11:53 +08:00
Aparup Banerjee 60f95aad6c Merge branch 'MDL-37585' of git://github.com/timhunt/moodle 2013-01-22 11:08:16 +08:00
Aparup Banerjee c0038fbe5b Merge branch 'MDL-37540-master' of git://github.com/damyon/moodle 2013-01-22 10:59:26 +08:00
Aparup Banerjee 5d4183b94f Merge branch 'MDL-37543-master' of git://github.com/damyon/moodle 2013-01-22 10:56:06 +08:00
Mark Nelson d448625682 MDL-37414 blocks: re-added the ability to add some blocks to the My Moodle 2013-01-22 10:52:41 +08:00
Marina Glancy 1d3791018b MDL-37541 Wikimedia allows to resize found images 2013-01-22 13:48:59 +11:00
Marina Glancy df8b1e7358 MDL-37541 Wikimedia returns more information about images 2013-01-22 13:41:38 +11:00
Eloy Lafuente (stronk7) cccdddf241 Merge branch 'MDL-37539-master' of github.com:damyon/moodle 2013-01-22 02:11:27 +01:00
Dan Poltawski 22aabad2d8 Merge branch 'MDL-37358-master' of git://github.com/mouneyrac/moodle 2013-01-22 09:05:46 +08:00
Damyon Wiese f518843d4c MDL-37539 assign: Fix unit test after changes to upgrade for advanced file assignments. 2013-01-22 09:04:13 +08:00
Eloy Lafuente (stronk7) 0aaf378cf9 Merge branch 'MDL-36104_master' of https://github.com/markn86/moodle 2013-01-22 01:11:48 +01:00
Eloy Lafuente (stronk7) 17f394f81a Merge branch 'MDL-37539-master' of github.com:damyon/moodle 2013-01-22 01:05:54 +01:00
Eloy Lafuente (stronk7) 29a4621e47 Merge branch 'MDL-28512' of git://github.com/timhunt/moodle 2013-01-22 01:02:12 +01:00
Eloy Lafuente (stronk7) 6501e6e037 Merge branch 'wip-mdl-37432' of git://github.com/rajeshtaneja/moodle 2013-01-22 00:52:42 +01:00
Mary Evans 4c085aed64 MDL-37614 report/completion: changed generalbox class in table to generaltable class in user.php 2013-01-21 23:51:47 +00:00
Mary Evans 0434dd2482 MDL-37613 mod: changed generalbox class in table to generaltable class in mod/feedback (2 files);mod/glossary (3 files);mod/wiki (1 file). 2013-01-21 23:38:46 +00:00
Mary Evans eb610eb90d MDL-37612 course: changed 1 instance of generalbox class to generaltable class in each of the following category.php, lib.php, search.php 2013-01-21 23:12:20 +00:00
Mary Evans 42d733dcdf MDL-37611 block/completionstatus: changed 2 insances of generalbox class to generaltable class in details.php 2013-01-21 22:51:37 +00:00
Eloy Lafuente (stronk7) 37027f431b Merge branch 'MDL-29749-master-4th' of git://github.com/FMCorz/moodle 2013-01-21 23:26:35 +01:00
Sam Hemelryk 0774b0d34c Merge branch 'MDL-37563-master' of git://github.com/damyon/moodle 2013-01-22 09:10:44 +13:00
Eloy Lafuente (stronk7) fa669c49ad Merge branch 'w03_MDL-36411_m25_setup' of git://github.com/skodak/moodle 2013-01-21 20:08:12 +01:00
Eloy Lafuente (stronk7) ea4edbd6bc Merge branch 'MDL-37577' of git://github.com/timhunt/moodle 2013-01-21 20:01:39 +01:00
Eloy Lafuente (stronk7) 6ee4df92ab Merge branch 'MDL-35924_master' of https://github.com/markn86/moodle 2013-01-21 19:41:45 +01:00
Eloy Lafuente (stronk7) 509c2758ce Merge branch 'MDL-34050' of git://github.com/rwijaya/moodle 2013-01-21 16:47:18 +01:00
Tim Hunt 805e32f74e MDL-37577 quiz overdue handling: optimise database query
This is the standard trick of adding a redundant WHERE clause to a
subquery to help the database realise that it does not have to inspect
so many rows.
2013-01-21 13:21:38 +00:00
Tim Hunt b5d09003bb MDL-37599 question import: add missing string.
AMOS BEGIN
 MOV [matcherror,question],[invalidgrade,question]
AMOS END
2013-01-21 12:07:47 +00:00
Aparup Banerjee 5650cdb8fc Merge branch 'wip-MDL-37541-master' of git://github.com/marinaglancy/moodle 2013-01-21 17:06:09 +08:00
Tim Hunt 74fa94b26a MDL-37585 Make $DB->set_debug(true) show run time of each query. 2013-01-21 08:48:15 +00:00
Petr Škoda 1764cd8e6f MDL-37593 use https for editor script if required 2013-01-21 09:40:15 +01:00
Michael de Raadt 25784512cd MDL-35357 Lesson Module: fixed undefined property for $answerformat 2013-01-21 15:35:39 +08:00
Aparup Banerjee 93c62e0cd8 Merge branch 'w03_MDL-37559_m25_otherusers' of git://github.com/skodak/moodle 2013-01-21 15:26:13 +08:00
Aparup Banerjee 4e0828c954 Merge branch 'MDL-37571' of git://github.com/tmuras/moodle 2013-01-21 15:05:46 +08:00
Rossiani Wijaya d264e5d72c MDL-37375 Report: fixed blog post link from course activity report 2013-01-21 14:59:23 +08:00
Marina Glancy ebe9d4965d MDL-37541 Wikimedia returns more information about images 2013-01-21 17:30:10 +11:00
Mark Nelson 7e5be0744c MDL-36104 mod_assign: added hidden labels to the feedback input fields 2013-01-21 12:50:34 +08:00
Aparup Banerjee ebf5d99c61 Merge branch 'wip-MDL-37591_master' of git://github.com/lazydaisy/moodle 2013-01-21 12:49:15 +08:00
Aparup Banerjee 410fee1239 Merge branch 'wip-MDL-37592_master' of git://github.com/lazydaisy/moodle 2013-01-21 12:38:13 +08:00
Andrew Davis 245d1d28c2 MDL-37352 core_grade:fixed some ajax display issues 2013-01-21 12:27:44 +08:00
Rossiani Wijaya cdc018ad2d MDL-19069 RSS feed block: Removed link for remote RSS feeds on navigation 2013-01-21 11:56:42 +08:00
Ankit Agarwal c66dc3dff5 MDL-37101 webservices: Define ws api core_calendar_create_calendar_events 2013-01-21 11:53:33 +08:00
Dan Poltawski 77ea8340de Merge branch 'MDL-37458_master' of git://github.com/dmonllao/moodle 2013-01-21 11:14:38 +08:00
Ankit Agarwal 793d38552a MDL-37100 webservices: Define core_calendar_get_calendar_events() api 2013-01-21 11:05:50 +08:00
Ankit Agarwal 261a41f16d MDL-37100 webservices: Adding warnings and cleaning up get_calendar_events() api 2013-01-21 11:05:50 +08:00
Ankit Agarwal 7c30224aeb MDL-37100 webservices: PHPunit tests for core_calendar_get_calendar_events() 2013-01-21 11:05:50 +08:00
Ankit Agarwal 475896bdbc MDL-37100 webservices: Implement core_calendar_get_calendar_events() 2013-01-21 11:05:50 +08:00
Dan Poltawski 73ce4ac996 Merge branch 'MDL-37457_master' of git://github.com/dmonllao/moodle 2013-01-21 10:53:12 +08:00
Rajesh Taneja f40c37d005 MDL-37432 Calendar: If Calendar url is invalid then remove invalid subscription 2013-01-21 10:46:19 +08:00
Rajesh Taneja 378cb038b2 MDL-37432 Calendar: Added check for empty calendar url 2013-01-21 10:28:32 +08:00
Dan Poltawski b77cce5c5c Merge branch 'MDL-30769_iframe' of git://github.com/rwijaya/moodle 2013-01-21 10:25:42 +08:00
Dan Poltawski be576cb0e8 Merge branch 'wip-mdl-36674' of git://github.com/rajeshtaneja/moodle 2013-01-21 10:15:16 +08:00
Dan Poltawski 2073bb7632 Merge branch 'MDL-35074_master_2' of git://github.com/pauln/moodle 2013-01-21 10:07:43 +08:00
Dan Poltawski 66bfd52a62 Merge branch 'MDL-37527-master' of github.com:damyon/moodle 2013-01-21 10:03:34 +08:00
Dan Poltawski 94abbef12f Merge branch 'MDL-32652_master' of git://github.com/pauln/moodle 2013-01-21 09:59:35 +08:00
Dan Poltawski 2f61796c26 Merge branch 'w03_MDL-36809_m25_mysqlipers' of git://github.com/skodak/moodle 2013-01-21 09:04:57 +08:00
Dan Poltawski 3be10301e9 Merge branch 'master_MDL-36421' of git://github.com/danmarsden/moodle 2013-01-21 09:01:00 +08:00
AMOS bot 18ec2dcd40 Automatically generated installer lang files 2013-01-21 00:44:52 +00:00
Mary Evans ac6efbaf22 MDL-37592 admin/toot/xmldb/actions/: changed all instances of generalbox class to generaltable class in twelve files as listed. 2013-01-20 22:23:53 +00:00
Mary Evans 01e34f156a MDL-37591 admin/mnet: replaced generalbox class with generaltable 2013-01-20 21:52:09 +00:00
Sam Hemelryk 528d2633df Merge branch 'MDL-37295-master' of git://github.com/ankitagarwal/moodle 2013-01-21 10:18:33 +13:00
Sam Hemelryk 11a5fab670 Merge branch 'MDL-35817' of git://github.com/rwijaya/moodle 2013-01-21 09:47:00 +13:00
Andrew Davis 40fcc26189 MDL-36757 course: avoid accidently overwriting the hidden/visible values set on grade items 2013-01-21 09:33:02 +13:00
ppichet c2ba17858c MDL-33105 flexible apply_units() function
Allow use of thousands separator as long as the decimal separator
is used in the number.
2013-01-19 15:36:31 -05:00
Petr Škoda 00c269db37 MDL-37559 fix display of multiple roles of other users
Credit goes to Tyron Delean, thanks.
2013-01-19 16:50:38 +01:00
Petr Škoda 9dcae46d93 MDL-36602 support mnethostid in user csv upload tool
Remote users can not be created, updated or deleted. The only allowed operations are suspending, enrolling and adding to cohort or group.
2013-01-19 13:27:00 +01:00
Petr Škoda 33b5b9f97a MDL-36809 add support for mysqli persistent connections 2013-01-19 13:25:28 +01:00
Petr Škoda 6a8e467916 MDL-36411 make sure asserts in setUp() do not cause problems 2013-01-19 13:19:49 +01:00
Petr Škoda c7a3399041 MDL-37257 improve enrol overview page and enrol plugin info 2013-01-19 13:14:41 +01:00
ppichet 1649a4f7ea MDL-29691 Improve numerical format in multianswer
Allow the use of , as decsep in multianswer numerical subquestions
2013-01-18 21:48:56 -05:00
Tim Hunt b4cb095798 MDL-17812 shortanswer qtype: rename DB stuff to match coding guidelines.
We should be leading by example in Moodle core.
2013-01-18 15:53:35 +00:00
Jean-Philippe Gaudreau 5595391eae MDL-33206 mod_book: Add a link to display the print dialog in the print book tool 2013-01-18 10:49:45 -05:00
Gilles-Philippe Leblanc 99f66eb139 MDL-36138 auth_cas: Fix CAS Authentication Strict Standards warnings 2013-01-18 10:02:37 -05:00
Tim Hunt 283cbd825c MDL-37583 quiz statistics report. Delete junk code. 2013-01-18 14:43:17 +00:00
Tim Hunt fbfa572d70 MDL-28512 qtype essay: clean up garbage qtype_essay_options rows. 2013-01-18 12:20:10 +00:00
Tim Hunt 19835d4aff MDL-28512 qtype essay: clean up properly when a question is deleted. 2013-01-18 11:27:53 +00:00
Tim Hunt 03cefcc91b MDL-37506 question code: incorrect preg_quote uses.
For preg_quote to work reliably, you must pass the delimiter you are
using for your regular expression. In many places we were failing to do
that.
2013-01-18 11:18:54 +00:00
Mark Nelson e06bfd3df3 MDL-35924 filemanager: added label for the input field when creating a new folder 2013-01-18 15:36:25 +08:00
Mark Nelson 26741e3e2f MDL-37275 webservices: ensure a webservice function is chosen before attempting to add to service 2013-01-18 15:34:33 +08:00
Dan Poltawski a5ec499521 weekly release 2.5dev 2013-01-18 14:28:36 +08:00
Dan Poltawski a3891a2f47 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-01-18 14:27:21 +08:00
Petr Skoda b5fc5675a2 MDL-30769 - URL module: always use iframe instead of problematic object tag 2013-01-18 11:11:49 +08:00
Rajesh Taneja b2da647202 MDL-34190 Course: Role with student archtype should be selected as default in user list 2013-01-18 10:10:57 +08:00
David Monllao 0ea35584ae MDL-37458 testing common methods generalization 2013-01-18 09:17:30 +08:00
Tomasz Muras 6212ec3217 MDL-37571 Correct form element id. 2013-01-17 23:03:27 +01:00
Petr Škoda 009f190c69 MDL-37429 hack around zip limitations in PHP versions < 5.3.10 2013-01-17 16:48:29 +01:00
Dan Poltawski 9f780282fa MDL-31682 - fix for online text assignments 2013-01-17 15:48:29 +08:00
Marina Glancy 8df0765ad1 MDL-37085 bug fix with glued together class names 2013-01-17 15:19:09 +08:00
David Monllao f822840223 MDL-37458 testing tests finder externalization 2013-01-17 15:15:27 +08:00
Damyon Wiese 7720f485c9 MDL-37563 Assignment upgrade: Upgrade conditional activity settings. 2013-01-17 14:00:46 +08:00
Dan Poltawski 361dfe6572 Merge branch 'wip-mdl-29534' of git://github.com/rajeshtaneja/moodle 2013-01-17 13:47:25 +08:00
Rajesh Taneja e9c55e3993 MDL-29534 Forum: Fixed userfrom reference problem 2013-01-17 13:45:01 +08:00
Ankit Agarwal e73b527c82 MDL-36621 calendar: cache calendar subscriptions and showicalsource setting
Now MUC is used to cache subscription information when the constructor for an event is called, which is child of a ical subscription.
A new setting calendar_showicalsource is introduced which controls if the ical source should be displayed along with events in the calendar
Also minor changes has been done in places to make sure subscription id is always associated with ical events
2013-01-17 13:40:06 +08:00
Rossiani Wijaya a170cdf4a4 MDL-35817 login: convert html tag to use html_writer and change <a> tag id to be more specific to login 2013-01-17 13:01:27 +08:00
Damyon Wiese 5389dfb0eb MDL-37539 Assignment upgrade: Disable submission comments if allow notes was not enabled.
For advanced upload of files only - this setting was stored in var2.
2013-01-17 12:15:00 +08:00
Rajesh Taneja 68e12697a3 MDL-35780 Administration: current user email should be always displayed on participants page 2013-01-17 11:56:47 +08:00
Damyon Wiese f531ca72f9 MDL-37540 Assignment upgrade: Upgrade setting "Hide description before due date"
Advanced upload of files has this setting which is stored in var3.
2013-01-17 11:44:57 +08:00
Frederic Massart caf16a57e5 MDL-29749 files: Improved params PARAM_PATH and PARAM_FILE
The logic change here allows for multiple dots to be part
of a file name or folder name. Most Unit Tests have not
been altered and reflect the exact logic as it was before.
2013-01-17 11:32:59 +08:00
Ankit Agarwal 07c03ff96a MDL-36621 calendar: Display subscription info in calendar event popups 2013-01-17 11:09:50 +08:00
Ankit Agarwal 8a7326ed4e MDL-36621 calendar: Ical event should display source info 2013-01-17 11:09:50 +08:00
Damyon Wiese 01d29b3907 MDL-37543 Assignment upgrade: convert advanced upload files "Send for marking" setting
Advanced upload files assignment type has "Enable send for marking" setting instead
of "Allow resubmissions". Needs special handling in upgrade code to convert to
"Require students click submit button".
2013-01-17 11:05:31 +08:00
Dan Poltawski b1ffa78675 Merge branch 'wip-MDL-34398-m25-integration' of git://github.com/samhemelryk/moodle 2013-01-17 10:36:10 +08:00
Dan Poltawski b630c53591 Merge branch 'MDL-37374' of git://github.com/timhunt/moodle 2013-01-17 10:22:55 +08:00
Marina Glancy cf003abc92 MDL-37085 bug fix in link for module subtypes. Thanks to Andrew Nicols 2013-01-17 14:51:25 +13:00
Sam Hemelryk e17dbeeb1a MDL-34398 groups: implemented caching of group information. 2013-01-17 09:24:58 +13:00
Sam Hemelryk 11fbebb029 MDL-36035 course: fixed typo in function name 2013-01-17 09:15:26 +13:00
Eloy Lafuente (stronk7) 937ad8c626 Merge branch 'MDL-37555' of git://github.com/stronk7/moodle 2013-01-16 20:52:47 +01:00
Tim Hunt 67cc80197f MDL-31616 blocks: ensure showinsubcontexts is only 0 or 1 in the DB. 2013-01-16 19:16:09 +01:00
Eloy Lafuente (stronk7) c6523d2f94 MDL-37555 Apply realpath() 2 CFG->phpunit_dataroot 2013-01-16 16:15:56 +01:00
Eloy Lafuente (stronk7) 460ab53860 NOBUG: mini-bump to help cache definitions. 2013-01-16 15:57:46 +01:00
Tim Hunt a8e577debb MDL-37374 questions: fix property_exists calls. 2013-01-16 11:13:53 +00:00
Damyon Wiese cb5b486040 MDL-37547 Assignment: Add unit tests for mod/assign/lib.php 2013-01-16 16:36:19 +08:00
Rajesh Taneja 1a9d21dc21 MDL-32526 Course: After creating course user should be redirected to newly created course
After creating a new course if user has capability to enrol users then
enrol user page should be visible else user should see newly created course
2013-01-16 16:16:43 +08:00
Marina Glancy aa2b293e8e MDL-37207 modchoosertoggle: added checks that user can update course 2013-01-16 15:51:02 +08:00
Dan Poltawski c5c50786f6 Merge branch 'wip-MDL-37085-master' of git://github.com/marinaglancy/moodle 2013-01-16 14:17:40 +08:00
Marina Glancy db82b13050 MDL-37085 changed echo to return - little bug fix 2013-01-16 17:14:51 +11:00
Dan Poltawski ac6486e36f Merge branch 'wip-MDL-37536-m25' of git://github.com/samhemelryk/moodle 2013-01-16 13:51:58 +08:00
Dan Poltawski f2c87dd530 Merge branch 'MDL-37546-master' of github.com:damyon/moodle 2013-01-16 13:49:34 +08:00
Damyon Wiese f93fdcef86 MDL-37546 Assignment fix assign_get_recent_mod_activity code cleanup regression. 2013-01-16 13:48:15 +08:00
David Monllao 3f7211f45a MDL-37458 testing lock externalization 2013-01-16 13:43:25 +08:00
Sam Hemelryk 20a3199397 Merge branch 'wip-mdl-35873' of git://github.com/rajeshtaneja/moodle 2013-01-16 18:22:04 +13:00
Damyon Wiese 425a634b58 MDL-37527 Assignment - Change query for print_overview so it uses an index (postgres)
Reported by Mark Neilsen.
2013-01-16 13:20:27 +08:00
Dan Poltawski 7acc743f06 Merge branch 'MDL-36553' of git://github.com/rwijaya/moodle 2013-01-16 13:19:36 +08:00
Dan Poltawski 222f608433 Merge branch 'wip-MDL-36968-int' of git://github.com/marinaglancy/moodle 2013-01-16 13:16:40 +08:00
Rossiani Wijaya b3e02098a4 MDL-36553: Admin settings: remove border attribute from HTML settings table 2013-01-16 13:15:40 +08:00
Marina Glancy a3f66bdeac MDL-36968 Move function print_recent_activity() to the block recent_activity 2013-01-16 16:13:04 +11:00
Dan Poltawski 0883d08fd0 Merge branch 'w02_MDL-37187_m25_flatfile' of git://github.com/skodak/moodle 2013-01-16 11:53:00 +08:00
Dan Poltawski 50ac16b8d0 Merge branch 'MDL-31484_anonymous_user_clash' of git://github.com/davosmith/moodle 2013-01-16 11:45:22 +08:00
Dan Poltawski 856df69f3d Merge branch 'MDL-36708-master' of git://github.com/FMCorz/moodle 2013-01-16 11:39:03 +08:00
Frederic Massart 212dac2724 MDL-36708 files: Fixed missing key in array 2013-01-16 11:28:14 +08:00
Dan Poltawski 0f94289c1d Merge branch 'MDL-33688_dndupload_progress' of git://github.com/davosmith/moodle
Conflicts:
	files/renderer.php
	lib/outputrenderers.php
2013-01-16 11:18:18 +08:00
Dan Poltawski 47ee9f9100 Merge branch 'w02_MDL-35899_m25_cohortsort' of git://github.com/skodak/moodle 2013-01-16 11:09:21 +08:00
Dan Poltawski cb598688a8 Merge branch 'w02_MDL-37175_m25_paypalmanage' of git://github.com/skodak/moodle 2013-01-16 10:54:55 +08:00
Dan Poltawski 82420bbb91 Merge branch 'w02_MDL-37184_m25_editenrol' of git://github.com/skodak/moodle 2013-01-16 10:19:57 +08:00
Dan Poltawski a201b57657 Merge branch 'MDL-36412-master' of git://github.com/sammarshallou/moodle 2013-01-16 09:54:26 +08:00
Rajesh Taneja 3ac4ad0050 MDL-37339 Administration: Unique custom profile should not be checked if it's empty.
Currently we have two options for custom profile fields 'Unique' and 'Required'
If value s not entered for unique and not required field then we should allow
duplicate empty values. If value is entered then we should check for unique input.
In case field is unique and required then it should be always checked as required
field can't be empty.
2013-01-16 09:44:32 +08:00
Eloy Lafuente (stronk7) 3431860f54 Merge branch 'w02_MDL-36988_m25_switchrole' of git://github.com/skodak/moodle 2013-01-16 02:27:48 +01:00
Sam Hemelryk 759a302454 MDL-37536 cache: fixed typo 2013-01-16 14:22:58 +13:00
Eloy Lafuente (stronk7) 0c198a1b59 Merge branch 'w02_MDL-37429_m25_zippacker' of git://github.com/skodak/moodle
Conflicts:
	lib/upgrade.txt
2013-01-16 02:22:26 +01:00
Eloy Lafuente (stronk7) 06d78e8209 Merge branch 'MDL-36257-master' of git://git.luns.net.uk/moodle 2013-01-16 02:05:27 +01:00
Eloy Lafuente (stronk7) becb4de707 Merge branch 'w02_MDL-37019_m25_metadef' of git://github.com/skodak/moodle 2013-01-16 01:58:08 +01:00
AMOS bot e62c59c8c3 Automatically generated installer lang files 2013-01-16 00:43:42 +00:00
Eloy Lafuente (stronk7) a932fa439f MDL-35775 Whitespace fix. 2013-01-16 01:30:19 +01:00
Eloy Lafuente (stronk7) 91d5e08aa3 Merge branch 'MDL-35775-master' of git://github.com/micaherne/moodle 2013-01-16 01:28:53 +01:00
Eloy Lafuente (stronk7) a91350609e Merge branch 'wip-MDL-34344-m25' of git://github.com/samhemelryk/moodle
Conflicts:
	lib/db/caches.php
2013-01-16 01:08:26 +01:00
Sam Hemelryk 3909faf45a MDL-23504 admin: fixed whitespace issue 2013-01-16 12:00:37 +13:00
Sam Hemelryk e265716f69 Merge branch 'wip-mdl-23504' of git://github.com/rajeshtaneja/moodle 2013-01-16 11:06:39 +13:00
Sam Hemelryk ec16ef1f85 Merge branch 'wip-MDL-35818-master' of git://github.com/phalacee/moodle 2013-01-16 11:03:39 +13:00
Sam Hemelryk 00ba185d52 Merge branch 'wip-MDL-36967-master' of git://github.com/marinaglancy/moodle
Conflicts:
	lib/deprecatedlib.php
2013-01-16 11:01:16 +13:00
Eloy Lafuente (stronk7) d9b9d22fa1 Merge branch 'MDL-37173-m' of git://github.com/andrewnicols/moodle 2013-01-15 21:56:13 +01:00
Eloy Lafuente (stronk7) 493d8f781c Merge branch 'MDL-37354-master' of git://github.com/mouneyrac/moodle
Conflicts:
	message/tests/externallib_test.php
2013-01-15 21:50:31 +01:00
Eloy Lafuente (stronk7) 563bcc2322 Merge branch 'MDL-31726' of git://github.com/colchambers/moodle 2013-01-15 21:44:38 +01:00
Petr Škoda aae028d9e3 MDL-36988 cleanup role switching
This patch uses local URLs in parameters because it is more compatible
with various security hacks. Session key is not added automatically to
return url for safety reasons - we do not want to execute some random
action again. POST pages are now returned to course page too.
2013-01-15 21:44:20 +01:00
Petr Škoda 59e7cc03d7 MDL-37184 document new general enrolment editing page 2013-01-15 21:29:10 +01:00
Petr Škoda 3cb856c744 MDL-37429 document zip packer improvements 2013-01-15 20:45:36 +01:00
Eloy Lafuente (stronk7) ee5c647e84 Merge branch 'MDL-31616' of git://github.com/timhunt/moodle 2013-01-15 20:14:03 +01:00
Eloy Lafuente (stronk7) dcb21e6cc1 Merge branch 'wip-mdl-37062' of git://github.com/rajeshtaneja/moodle 2013-01-15 20:04:21 +01:00
Eloy Lafuente (stronk7) fcdc9b7717 NOBUG: 1 more whitespace, was hurting my eyes all the time. 2013-01-15 19:20:17 +01:00
Eloy Lafuente (stronk7) 3af9d77c1d MDL-33117 Whitespace fixes 2013-01-15 19:09:57 +01:00
Andrew Robert Nicols d7d68b03ee MDL-37426 Fix JSHint issues for moodle-core-formchangechecker 2013-01-15 17:34:04 +00:00
Eloy Lafuente (stronk7) 0943a0ce11 Merge branch 'MDL-34883_unit_tests' of git://github.com/andyjdavis/moodle 2013-01-15 18:21:12 +01:00
Eloy Lafuente (stronk7) ceda80962c Merge branch 'MDL-37395-master' of git://github.com/sammarshallou/moodle 2013-01-15 18:17:12 +01:00
Eloy Lafuente (stronk7) 62a9604677 Merge branch 'MDL-36553' of git://github.com/rwijaya/moodle 2013-01-15 18:12:20 +01:00
Eloy Lafuente (stronk7) ada893d339 Merge branch 'MDL-36554' of git://github.com/rwijaya/moodle 2013-01-15 18:02:26 +01:00
Eloy Lafuente (stronk7) dfcb38a1c7 Merge branch 'wip-MDL-37207-master' of git://github.com/marinaglancy/moodle 2013-01-15 18:00:17 +01:00
Ben Johnson 7536464d61 MDL-36421 SCORM: fix SCORM course format new window popups 2013-01-15 21:42:56 +13:00
Dan Poltawski a9081ce630 MDL-37313 question: fix trailing whitespace 2013-01-15 16:36:14 +08:00
Dan Poltawski 12576d356a Merge branch 'MDL-37313' of git://github.com/jmvedrine/moodle 2013-01-15 16:35:17 +08:00
Dan Poltawski 2773aa41de Merge branch 'MDL-30070-master' of git://github.com/FMCorz/moodle 2013-01-15 16:04:57 +08:00
Frederic Massart d6731600c8 MDL-30070 message: Web Services for contact list 2013-01-15 16:04:00 +08:00
Rossiani Wijaya c316c3944e MDL-35817 Login: set page focus to error message for login error 2013-01-15 15:45:15 +08:00
Frederic Massart a03330bd16 MDL-30070 message: Optimised search for users over multiple courses 2013-01-15 15:15:47 +08:00
Dan Poltawski d7738ce27c Merge branch 'MDL-36529' of git://github.com/colchambers/moodle 2013-01-15 14:55:18 +08:00
Dan Poltawski 864ff70c74 Merge branch 'MDL-36534' of git://github.com/timhunt/moodle 2013-01-15 14:44:28 +08:00
Dan Poltawski a85d61e812 Merge branch 'MDL-28705_master' of git://github.com/dmonllao/moodle 2013-01-15 14:32:22 +08:00
Dan Poltawski 2429051d2f Merge branch 'MDL-37381-master' of git://github.com/mouneyrac/moodle 2013-01-15 14:29:41 +08:00
David Monllao 7cd5340f05 MDL-28705 enrol_imsenterprise Quick unit tests fix 2013-01-15 14:24:57 +08:00
Ankit Agarwal c524394d88 MDL-37295 forum: Parse old log entries during restore 2013-01-15 13:57:40 +08:00
Dan Poltawski 0efd8de527 Merge branch 'w02_MDL-36898_m25_ccontact' of git://github.com/skodak/moodle 2013-01-15 13:57:39 +08:00
Dan Poltawski 09ade47f55 Merge branch 'MDL-36708-master' of git://github.com/FMCorz/moodle 2013-01-15 13:55:50 +08:00
Dan Poltawski 85533e2a03 Merge branch 'MDL-37077-master' of git://github.com/ankitagarwal/moodle 2013-01-15 13:54:40 +08:00
Ankit Agarwal 644a7ef7a4 MDL-37077 phpunit: Adding phpunit tests for the ws api core_calendar_delete_event 2013-01-15 13:54:38 +08:00
Frederic Massart 7aff468346 MDL-36708 files: Checking the size limit of a draft area does include references 2013-01-15 13:48:05 +08:00
Dan Poltawski 5b2d44e9ca Merge branch 'w02_MDL-37391_m25_enrolconnection' of git://github.com/skodak/moodle 2013-01-15 13:43:20 +08:00
Dan Poltawski cd7d79d3ab Merge branch 'w02_MDL-37064_m25_languser' of git://github.com/skodak/moodle 2013-01-15 13:36:44 +08:00
Ankit Agarwal 01bea07d93 MDL-37077 webservices: Implementing the WS api core_calendar_delete_calendar_events() 2013-01-15 13:23:14 +08:00
Ankit Agarwal 5e1350abaa MDL-37077 webservices: Define the ws api method for deleting calendar events 2013-01-15 13:23:13 +08:00
Dan Poltawski 9d40849d46 Merge branch 'MDL-37162_master' of git://github.com/pauln/moodle 2013-01-15 13:23:02 +08:00
Dan Poltawski 8b16bbfc68 Merge branch 'MDL-35556d' of git://github.com/srynot4sale/moodle 2013-01-15 13:15:31 +08:00
Dan Poltawski bfee251334 Merge branch 'MDL-33669' of git://github.com/equella/moodle 2013-01-15 13:13:53 +08:00
Dan Poltawski cc1521f57b Merge branch 'MDL-37355-master' of git://github.com/mouneyrac/moodle 2013-01-15 13:11:46 +08:00
Dan Poltawski 27885779bc Merge branch 'MDL-36991-master' of git://github.com/sammarshallou/moodle 2013-01-15 13:06:10 +08:00
Dan Poltawski 76a32e1a6f Merge branch 'MDL-37374' of git://github.com/timhunt/moodle 2013-01-15 12:59:33 +08:00
Dan Poltawski 01dcd9d770 Merge branch 'MDL-35793' of git://github.com/timhunt/moodle 2013-01-15 12:56:51 +08:00
Dan Poltawski 9cbb0944c9 Merge branch 'MDL-28705_master' of git://github.com/dmonllao/moodle 2013-01-15 12:54:28 +08:00
Dan Poltawski d0827c938f Merge branch 'wip-MDL-30998-master' of git://github.com/marinaglancy/moodle 2013-01-15 12:51:48 +08:00
Dan Poltawski 37f3f3ac73 Merge branch 'wip-MDL-30316-master' of git://github.com/phalacee/moodle 2013-01-15 12:46:44 +08:00
Dan Poltawski b1be977406 Merge branch 'w02_MDL-29596_m25_editauth' of git://github.com/skodak/moodle 2013-01-15 12:43:59 +08:00
Dan Poltawski aa452f97e3 Merge branch 'MDL-29835_master' of git://github.com/pauln/moodle 2013-01-15 12:41:13 +08:00
Dan Poltawski 97f236e747 Merge branch 'MDL-32341-master' of git://github.com/ankitagarwal/moodle 2013-01-15 12:38:22 +08:00
Dan Poltawski 28cfdfe180 Merge branch 'MDL-37366-master' of git://github.com/andrewnicols/moodle 2013-01-15 12:10:10 +08:00
Dan Poltawski fb8585521a Merge branch 'wip-MDL-36035-m25' of git://github.com/samhemelryk/moodle 2013-01-15 11:56:12 +08:00
Dan Poltawski 4a489ba465 Merge branch 'MDL-36616-master' of git://github.com/FMCorz/moodle 2013-01-15 11:48:11 +08:00
Dan Poltawski 33919cca60 MDL-37085 - fix trailing whitespace 2013-01-15 11:42:30 +08:00
Sam Hemelryk c8d3475e17 Merge branch 'wip-MDL-37085-master' of git://github.com/marinaglancy/moodle 2013-01-15 16:30:36 +13:00
Erik Lundberg af7e05d6cc MDL-34436 - Blogs - Adding event triggers when adding a new entry, editing an entry or remove an entry. 2013-01-15 11:29:12 +08:00
Dan Poltawski 0a9b944a15 Merge branch 'MDL-36587-master' of git://github.com/damyon/moodle
Conflicts:
	mod/assign/locallib.php
2013-01-15 11:19:40 +08:00
Rossiani Wijaya b0ff0e9aae MDL-34050 Lesson Module: Fixed spacing and removed array_unique() for responses 2013-01-15 11:17:55 +08:00
Damyon Wiese a83dd077f8 MDL-37430 Course - Make modules created in hidden sections visible when section is made visible. 2013-01-15 11:16:07 +08:00
Dan Poltawski a0ea4d9fe1 Merge branch 'MDL-37415-m' of git://github.com/andrewnicols/moodle 2013-01-15 11:09:27 +08:00
David Monllao 6b21986911 MDL-37457 testing Mark current classes as deprecated 2013-01-15 11:07:45 +08:00
David Monllao 5c3c2c81be MDL-37457 testing Refactoring references 2013-01-15 11:07:43 +08:00
Dan Poltawski 121d7a3f7d Merge branch 'MDL-37413-m' of git://github.com/andrewnicols/moodle 2013-01-15 10:58:31 +08:00
Dan Poltawski 2254fb2764 Merge branch 'MDL-37194-master' of git://github.com/mouneyrac/moodle 2013-01-15 10:42:31 +08:00
Paul Nicholls d7c29c2257 MDL-32652 - Make block drag-drop work throughout Moodle
Other than shifting the initialisation from course/lib.php to
lib/outputrequirementslib.php, some workarounds/tweaks were required
in order to make it work correctly on admin pages and My Home.
2013-01-15 14:55:31 +13:00
Marina Glancy 54258889f2 MDL-37085 added missing get_renderer call 2013-01-15 12:14:31 +11:00
Eloy Lafuente (stronk7) ca2dfd0070 Merge branch 'MDL-37431' of git://github.com/timhunt/moodle 2013-01-15 00:16:18 +01:00
Eloy Lafuente (stronk7) eaa00a071c Merge branch 'wip-MDL-37453-master' of git://github.com/marinaglancy/moodle 2013-01-15 00:06:06 +01:00
Eloy Lafuente (stronk7) fe25b31d44 Merge branch 'MDL-37456' of git://github.com/danpoltawski/moodle 2013-01-14 23:32:39 +01:00
Eloy Lafuente (stronk7) f38ac3510a Merge branch 'w02_MDL-37483_m25_redirect' of git://github.com/skodak/moodle 2013-01-14 23:29:55 +01:00
Eloy Lafuente (stronk7) b9bbc2a356 Merge branch 'MDL-37485' of git://github.com/timhunt/moodle 2013-01-14 23:21:38 +01:00
Sam Hemelryk 5a3d98c26d Merge branch 'wip-MDL-37206-master' of git://github.com/marinaglancy/moodle 2013-01-15 10:48:53 +13:00
Sam Hemelryk 2a6dbdcaee Merge branch 'MDL-37378' of git://github.com/timhunt/moodle 2013-01-15 10:43:08 +13:00
Sam Hemelryk 0fe5a201c0 Merge branch 'MDL-37030-master' of git://github.com/damyon/moodle
Conflicts:
	mod/assign/locallib.php
	mod/assign/submission/onlinetext/locallib.php
2013-01-15 10:37:54 +13:00
Sam Hemelryk 2d971403e6 MDL-31682 mod_assign: fixed since version on new service. 2013-01-15 10:27:40 +13:00
Sam Hemelryk ddca5610d3 Merge branch 'MDL-31682' of git://github.com/Lightwork-Marking/moodle
Conflicts:
	mod/assign/version.php
2013-01-15 10:21:20 +13:00
Sam Hemelryk ccc89b8235 Merge branch 'w02_MDL-36514_m25_enableself' of git://github.com/skodak/moodle 2013-01-15 10:12:44 +13:00
Tim Hunt 5574862063 MDL-36534 question editing: clean up lang strings.
There were a number of lang strings in suboptimal places.
This commit fixes that, and also removed some unused strings.

AMOS BEGIN
 MOV [addmorechoiceblanks,qtype_multichoice],[addmorechoiceblanks,question]
 MOV [youmustenteramultiplierhere,qtype_calculated],[youmustenteramultiplierhere,qtype_numerical]
AMOS END
2013-01-14 14:52:49 +00:00
Colin Chambers c4b2600d4b MDL-36534 Quiz: Group question type unit fields 2013-01-14 14:37:37 +00:00
Rajesh Taneja 72b181ba59 MDL-36674 Administration: out_as_local_url will check for both http and https url's
out_as_local_url will first check if url passed in wwwroot, if it's not then it will check
if loginhttps is enabled and url is httpswwwroot
2013-01-14 15:59:06 +08:00
Dan Poltawski 5c2aacc21c Merge branch 'MDL-37143-master' of git://github.com/mouneyrac/moodle 2013-01-14 15:34:29 +08:00
Dan Poltawski 9695b2a596 Merge branch 'wip-MDL-30797-master' of git://github.com/abgreeve/moodle 2013-01-14 15:26:09 +08:00
Dan Poltawski b75d99239d Merge branch 'w02_MDL-37151_m25_mimetex' of git://github.com/skodak/moodle 2013-01-14 15:24:10 +08:00
Dan Poltawski 5590e85e1a Merge branch 'w02_MDL-37286_m25_tracebuffer' of git://github.com/skodak/moodle 2013-01-14 15:11:42 +08:00
Dan Poltawski 2e55217173 MDL-36297 - increment version no 2013-01-14 15:06:20 +08:00
Dan Poltawski ddaf0983b2 Merge branch 'wip-MDL-36297-m25' of git://github.com/samhemelryk/moodle 2013-01-14 15:05:15 +08:00
Dan Poltawski bf5f8a4f60 Merge branch 'wip-mdl-29534' of git://github.com/rajeshtaneja/moodle 2013-01-14 14:59:22 +08:00
Marina Glancy 5dc1ca87b1 MDL-30998 added missing phpdocs 2013-01-14 15:14:54 +11:00
Marina Glancy d22e9e32e4 MDL-30998: updated docblocks for advanced grading 2013-01-14 15:14:54 +11:00
Marina Glancy fa4c60c1fe MDL-30998: updated docblocks for backup of advanced grading 2013-01-14 15:14:54 +11:00
Marina Glancy 8afb1cc8f8 MDL-37206 preload course format renderer in course/view.php
Also fixed bug with hardcoded default 'weeks' format
2013-01-14 15:14:08 +11:00
Marina Glancy 7b59f5b32a MDL-37453 fixing regression from MDL-36550 - label show/hide in AJAX works incorrectly 2013-01-14 15:13:14 +11:00
Marina Glancy a03dfb7dbe MDL-37207 Add modchoosertoggle in renderer to allow themes to override 2013-01-14 15:10:07 +11:00
Marina Glancy ff233851a0 MDL-36967 Deprecate function print_overview() 2013-01-14 15:05:31 +11:00
Marina Glancy 9a36be7361 MDL-37085 Properly deprecated functions print_xxx() from course/lib.php
- get_print_section_cm_text()
- print_section_add_menus()
- print_section()
- make_editing_buttons()
2013-01-14 15:01:28 +11:00
Marina Glancy c58a25d6eb MDL-37085 Move print_section() to the course renderer
Added two functions in the renderer:
- core_course_renderer::course_section_cm_list()
- core_course_renderer::course_section_cm()
2013-01-14 15:01:27 +11:00
Marina Glancy ed513fad52 MDL-37085 partly moved code from print_section() to renderer
- added function core_course_renderer::course_section_cm_name()
- added function core_course_renderer::course_section_cm_text()
- added function core_course_renderer::course_section_cm_availability()
2013-01-14 15:01:26 +11:00
Marina Glancy 5c016ab30d MDL-37085 fixed mess with code overwriting cm_info properties
In case when groupmode is forced by the course we should take it from the
course and not overwrite cm_info::groupmode externally
2013-01-14 15:01:25 +11:00
Marina Glancy 7e29340f7c MDL-37085 Moved completion info box rendering code to renderer
Was part of function print_section(), now it is
new function core_course_renderer::course_section_cm_completion()
2013-01-14 15:01:24 +11:00
Marina Glancy 9a6aa5c17d MDL-37085 Substitute function print_section_add_menus() with core_course_renderer::course_section_add_cm_controls() 2013-01-14 15:01:23 +11:00
Marina Glancy 697ff99997 MDL-37085 Load modchooser only when needed 2013-01-14 15:01:23 +11:00
Marina Glancy 170793359a MDL-37085 get_module_metadata() now returns link as moodle_url instead of string 2013-01-14 15:01:22 +11:00
Marina Glancy f89c53f679 MDL-37085 Substitute get_print_section_cm_text() with cm_info functions 2013-01-14 15:01:21 +11:00
Marina Glancy f558b291c1 MDL-37085 separated logic and html in make_editing_buttons()
- added function course_get_cm_edit_actions()
- added function core_course_renderer::course_section_cm_edit_actions()
- removed completely presently not working moveup/movedown controls
- removed not working duplicate controls from front page
2013-01-14 15:01:20 +11:00
Marina Glancy 49aa038b4e MDL-37085 Minor UI and code improvements in print_section() 2013-01-14 15:01:19 +11:00
Anthony Borrow 1a19194121 MDL-15930 - admin: reorganize logic to allow ->fullnamedisplay to be used as default sort. 2013-01-14 10:28:41 +08:00
Adrian Greeve 51e8d287f9 MDL-30797 - backup groups: Added a parameter to the groups_assign_grouping function.
$timeadded has now been included so that the backup / restore functions can now use
this API rather than duplicating the code.
2013-01-14 10:24:37 +08:00
Adam Olley fdcf4a5f37 MDL-30797 backup: Use correct API call for mapping groups to groupings on import/restore 2013-01-14 10:24:37 +08:00
Rossiani Wijaya 2e48a42419 MDL-34050 Lesson Module: improved matching question logic for checking user response. This patch will also resolved MDL-36343. 2013-01-14 10:16:35 +08:00
Rossiani Wijaya fcb88d7d6d MDL-34050 Lesson module: Fixed undefined variable for $qtype 2013-01-14 10:16:35 +08:00
Joseph Rézeau 58b72abc6a MDL-34050: Lesson module: fixed matching answer format to use text 2013-01-14 10:16:34 +08:00
Ankit Agarwal af5d990b59 MDL-32341 calendar: calendar custom date range export
Adding support to export calendar events for a custom date range based on admin settings
2013-01-14 10:15:09 +08:00
Rossiani Wijaya 6fc61f2d08 MDL-36554 Admin settings: make tables class consistent throughout admin settings 2013-01-14 10:10:54 +08:00
Rossiani Wijaya f0e3fbb5dd MDL-36553 admin settings: removed commented out code and add generaltable class to frontpage filter settings 2013-01-14 10:09:52 +08:00
Rossiani Wijaya 8be244b2e2 MDL-36553 Admin settings: make tables class consistent throughout admin plugins setting 2013-01-14 10:09:51 +08:00
Jason Fowler b4a7ce9e71 MDL-35818 - Enrolment - Changing all enrolment method icon alt text attributes to include the name of the course 2013-01-14 09:46:04 +08:00
Sam Hemelryk 110178c5c2 Merge branch 'MDL-37048-master' of git://github.com/ankitagarwal/moodle 2013-01-14 14:08:56 +13:00
Sam Hemelryk f5c51a6d64 Merge branch 'MDL-35568_dndupload_hidden' of git://github.com/davosmith/moodle 2013-01-14 13:51:48 +13:00
Sam Hemelryk 8b2d3f1bef Merge branch 'wip-MDL-35885-master' of git://github.com/phalacee/moodle 2013-01-14 13:40:06 +13:00
Andrew Robert Nicols 699a13e1a6 MDL-37366 Fix JS Lint issues with moodle-core-formautosubmit 2013-01-13 23:58:04 +00:00
Sam Hemelryk 469749706a Merge branch 'MDL-36095-master' of git://github.com/sammarshallou/moodle 2013-01-14 12:24:06 +13:00
Sam Hemelryk 8d9c15a44e Merge branch 'MDL-36511' of git://github.com/srynot4sale/moodle 2013-01-14 12:13:00 +13:00
Sam Hemelryk 00df8f3f45 Merge branch 'w02_MDL-32387_m25_paypalexpire' of git://github.com/skodak/moodle 2013-01-14 11:47:37 +13:00
Sam Hemelryk c2e2da2e69 Merge branch 'master_MDL-37394' of git://github.com/danmarsden/moodle 2013-01-14 11:46:13 +13:00
Sam Hemelryk d9a3d932db Merge branch 'MDL-37397-m' of git://github.com/andrewnicols/moodle 2013-01-14 11:04:52 +13:00
Sam Hemelryk 9abf0ed1dc Merge branch 'wip-mdl-35780' of git://github.com/rajeshtaneja/moodle 2013-01-14 11:00:00 +13:00
Petr Škoda c5772ede5b MDL-29596 use optgroups to highlight enabled auth plugins 2013-01-13 16:52:05 +01:00
Petr Škoda ee17c773c1 MDL-37483 improve require_login redirect when activity not accessible 2013-01-13 11:37:14 +01:00
Petr Škoda 34183020a7 MDL-37391 add enrol_ldap tests and fix enrolment reviving 2013-01-13 00:41:41 +01:00
Petr Škoda 23f36d50c5 MDL-37391 refactor ldap connection handling 2013-01-12 21:18:25 +01:00
Petr Škoda b3ef2e519e MDL-37175 enable PayPal enrolment editing 2013-01-12 16:35:19 +01:00
Petr Škoda e659c02595 MDL-37151 upgrade mimetex to 1.74
Thanks Ralf Krause for help with OSX compilation flags.
2013-01-12 16:31:58 +01:00
Petr Škoda 4d3cd1483d MDL-37064 validate lang in user upload 2013-01-12 16:30:16 +01:00
Petr Škoda 68527e9ef6 MDL-37019 use suspend as default unenrol action for meta enrolments 2013-01-12 16:29:12 +01:00
Petr Škoda 50f1c9e3f5 MDL-36514 add tests for showing of self enrolment link 2013-01-12 16:03:09 +01:00
Petr Škoda e1fa177cf9 MDL-36514 add new option to prevent only new self enrolments
Hopefully this will resolve all confusion around the enrol->status flag in this plugin.
2013-01-12 16:03:08 +01:00
Petr Škoda a069c3f76a MDL-35899 fix cohort sorting in enrol UI 2013-01-12 16:00:29 +01:00
Petr Škoda d9a707adc2 MDL-32387 add paypal enrolment expiration action 2013-01-12 15:59:25 +01:00
Petr Škoda 917dddaafe MDL-37187 cleanup and improve enrol_flatfile plugin 2013-01-12 15:50:00 +01:00
Petr Škoda 0b196a09a8 Merge branch 'refs/heads/w02_MDL-37286_m25_tracebuffer' into w02_MDL-37187_m25_flatfile 2013-01-12 15:49:36 +01:00
Petr Škoda 31a22c216c Merge branch 'refs/heads/w02_MDL-37184_m25_editenrol' into w02_MDL-37187_m25_flatfile 2013-01-12 15:49:30 +01:00
Petr Škoda 0aaea0d241 MDL-37184 refactor enrolment editing code to be shared by plugins
AMOS BEGIN
 MOV [editenrolment,enrol_self],[editenrolment,core_enrol]
AMOS END
2013-01-12 15:47:04 +01:00
Petr Škoda 1b20e00828 MDL-35159 fix regressions reported by Iñaki Arenaza 2013-01-12 15:42:21 +01:00
Petr Škoda e34beca17a MDL-35159 add support for enrol_ldap restore 2013-01-12 15:31:30 +01:00
Petr Škoda 4fa7fdeada MDL-37286 improve coding style in unit tests 2013-01-12 15:28:57 +01:00
Petr Škoda e7259ec998 MDL-37286 add new combined_progress_trace
This type of trace should be useful when multiple trace outputs requested.
2013-01-12 15:16:39 +01:00
Petr Škoda 78048e15f2 MDL-37286 add error_log progress trace 2013-01-12 15:16:38 +01:00
Petr Škoda 837e304260 MDL-37286 add progres_trace buffer and unit tests 2013-01-12 15:16:38 +01:00
Petr Škoda 01b4040a27 MDL-37429 zipping improvements
Changes:
* zip_packer can create empty zip archives
* new option to ignore problematic files when creating archive
* detection of non-existent files
* debugging messages for opening of faulty zip archives
* coding style improvements
* no PHP 5.2 hacks
* more unit tests
2013-01-12 14:58:26 +01:00
Jean-Michel Vedrine 52158a41e4 MDL-37313 Sample files with images for XML import 2013-01-11 19:54:06 +01:00
Jean-Michel Vedrine 2387d1cde5 MDL-37313 Moodle XML import format should use draft file areas, not arrays 2013-01-11 19:54:06 +01:00
Tim Hunt 016a651578 MDL-37431 question preview: cron performance problem.
This query was performing badly. The solution seems to be to add a
redundant JOIN and WHERE to the subquery.

I renamed the table aliases in the subquery to avoid name collisions
elsewhere. I am afraid that makes the diff rather unhelpful. The
    AND subq_qu.component = :qubacomponent2
line is new. The other lines have just had subq_ added.
2013-01-11 13:18:21 +00:00
Tim Hunt 816138b4f2 MDL-37378 quiz restore: timecheckstate not in old backups.
We need to avoid a notice. If the value is missing, setting it to 0 is
fine. It will get sorted out the next time cron is run.
2013-01-11 13:17:13 +00:00
Tim Hunt 8d54191d7a MDL-37374 questions: use property_exists rather than isset
$a->field = null; isset($a->field) returns false, which is typical PHP.
I also improve the error handling a bit.
2013-01-11 13:15:51 +00:00
Tim Hunt 1c2bf99eb9 MDL-37485 plugins overview: require_login before _capability. 2013-01-11 12:51:53 +00:00
Eloy Lafuente (stronk7) ca48fe5f97 NOBUG: Bumping version to test auto-packaging 2013-01-11 13:42:08 +01:00
Andrew Robert Nicols 8743aabca0 MDL-37397 Test for a valid select in formautosubmit
Ideally we shouldn't get into this situation, but in cases where the
generated select element is incorrectly configured, we should try and
handle it gracefully with a warning.
2013-01-11 11:49:44 +00:00
Eloy Lafuente (stronk7) 2e5d013417 weekly release 2.5dev 2013-01-11 12:36:05 +01:00
Eloy Lafuente (stronk7) b64a33bade fix permissions 2013-01-11 12:23:22 +01:00
Eloy Lafuente (stronk7) d0942f0744 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2013-01-11 12:15:57 +01:00
Michael Aherne d6af3d847f MDL-27164 groups Do not show multiple instances of the same role as multiple 2013-01-11 11:12:33 +00:00
Dan Marsden 7b63805531 MDL-37394 SCORM: Aicc direct url fails with new nav as it has a single sco with no children - allow these to be navigated correctly. 2013-01-11 23:45:23 +13:00
Andrew Robert Nicols f96ec5ad96 MDL-37413 Use correct variable in chooserdialogue 2013-01-11 08:18:47 +00:00
Ashley Holman cd2b223dc7 MDL-36616 repository: Fix direct linking to images in Flickr Public. 2013-01-11 15:32:30 +08:00
Jason Fowler beff3a9dd5 MDL-35885 - Wiki - add a legend element to the search wikis form 2013-01-11 15:29:35 +08:00
Dan Marsden 3c44304276 MDL-36853 SCORM: get first valid sco instead of array of scos - thanks to Jamie Smith for the fix - fixes PHP warnings when returning to an existing attempt. 2013-01-11 19:47:55 +13:00
David Monllao f16e1af28e MDL-36457 testing Relocating classes 2013-01-11 14:08:50 +08:00
Damyon Wiese 798a060b04 MDL-32341 calendar: get_file_by_hash() expects a hash 2013-01-11 11:55:55 +08:00
Sam Hemelryk f1ac8520ae MDL-36035 course: renamed new functions and cleaned up docs 2013-01-11 15:03:49 +13:00
Brian King e226a86d76 MDL-36035 course: reduce database queries when calling print_whole_category_list
On a Moodle with 1252 course categories, this reduces the database
reads from 1313 to 62 for course/index.php
2013-01-11 15:03:32 +13:00
Aaron Barnes 3b461a0801 MDL-37473 completion: Add missing cap checks to tracked users functions
Namely get_num_tracked_users and is_tracked_user()
2013-01-11 14:41:05 +13:00
Rajesh Taneja 96214a49ec MDL-35780 Administration: email display on user profile view page will respect user capability 2013-01-11 09:33:28 +08:00
Petr Škoda 92b00c32a7 MDL-37420 rework pg schema testing 2013-01-11 02:12:38 +01:00
David Mudrák fe7e411e7c MDL-37467 Do not provide blog posts via RSS when blogging is disabled 2013-01-10 18:22:56 +01:00
Colin Chambers 5d5895f21a MDL-36529 Quiz: Shorten 'Settings for multiple tries' 2013-01-10 16:03:25 +00:00
Colin Chambers 086cced749 MDL-31726 Pre-fill question type combined feedback 2013-01-10 15:57:36 +00:00
Eloy Lafuente (stronk7) 72a504dc2a Merge branch 'MDL-36741_master' of git://github.com/markn86/moodle 2013-01-10 11:13:13 +01:00
Mark Nelson 941294ef43 MDL-36741 mod_forum: fixed the function forum_rss_newstuff that was using count_records_sql incorrectly as well as generating RSS content when no data exists 2013-01-10 17:59:40 +08:00
Dan Poltawski 2008facf40 MDL-37456 - lang: remove unused zip strings 2013-01-10 15:55:54 +08:00
Frederic Massart 95d1d0373b MDL-34435 reports: Log category actions 2013-01-10 15:10:22 +08:00
Rajesh Taneja 9309a8fe9a MDL-35873 Blocks: Made alt-text on block control icons more descriptive 2013-01-10 14:20:12 +08:00
Mark Nelson faf3016f35 MDL-37247 mod_forum: removing unnecessary variable in the get_forums web service 2013-01-10 13:45:45 +08:00
Mark Nelson 0c246ae5d9 MDL-37247 mod_forum: perform conditional checks before returning forums via web service 2013-01-10 12:47:23 +08:00
Dan Poltawski 319d937602 Revert "Merge branch 'wip-MDL-31750-master' of git://github.com/abgreeve/moodle"
This reverts commit 8361f557a1,
2b9e957a27 and
fae51910bf
2013-01-10 11:17:33 +08:00
Andrew Robert Nicols 632f3effdb MDL-36600 Add missing sesskey check when previewing the message 2013-01-10 10:18:56 +08:00
Rajesh Taneja a7a1e05ff9 MDL-29534 Forum: if forum_replytouser is not set then send forum email using noreplyaddress. 2013-01-09 14:50:32 +08:00
Jerome Mouneyrac fb695f6e3d MDL-37354 clean return value for each externallib PHPUnit tests 2013-01-09 13:47:01 +08:00
Frederic Massart 1017426c26 MDL-32639 phpunit: Hack not to fail on debugging 2013-01-09 11:48:44 +08:00
Aaron Barnes 16d89d6604 MDL-36511 course: Save "completion starts on enrolment" disabled state 2013-01-09 15:29:57 +13:00
Sam Hemelryk a0af8cb8c3 Merge branch 'wip-MDL-37404-master' of git://github.com/marinaglancy/moodle 2013-01-09 14:35:09 +13:00
Eloy Lafuente (stronk7) f9f750cecc Merge branch 'w51_MDL-37420_m25_pgschema' of git://github.com/skodak/moodle 2013-01-09 01:32:09 +01:00
Eloy Lafuente (stronk7) 8361f557a1 Merge branch 'wip-MDL-31750-master' of git://github.com/abgreeve/moodle
Conflicts:
	course/tests/courselib_test.php
2013-01-09 01:31:50 +01:00
Sam Hemelryk 7316589831 MDL-36904 mod_assign: Fixed whitespace issue 2013-01-09 12:33:29 +13:00
Sam Hemelryk 6f51092fbe Merge branch 'MDL-35413-master' of git://github.com/damyon/moodle
Conflicts:
	mod/assign/locallib.php
2013-01-09 11:59:43 +13:00
Paul Nicholls 0d47afe69d MDL-37162: Use CSS to make mod show/hide icons not look "clickable" in hidden sections
Previously, the resource toolbox initialiser was using JS to find the show/hide icon, then find its section ancestor, then check if the section was hidden - only to pointlessly set pointer:auto if it was.  That didn't meet the aim stated in the comments ("Disable" show/hide icons (change cursor to not look clickable) if section is hidden), but this patch meets that goal with a single CSS rule.
2013-01-09 11:44:15 +13:00
Eloy Lafuente (stronk7) e801c74c54 Merge branch 'w51_MDL-37183_m25_excelcleanup' of git://github.com/skodak/moodle 2013-01-08 23:30:19 +01:00
Eloy Lafuente (stronk7) c68f339e5e Merge branch 'wip-MDL-37203-m25' of git://github.com/samhemelryk/moodle 2013-01-08 23:25:34 +01:00
Eloy Lafuente (stronk7) ac4c7aed68 Merge branch 'w51_MDL-35356_m25_excel' of git://github.com/skodak/moodle
Conflicts:
	lib/odslib.class.php
2013-01-08 23:11:54 +01:00
Sam Hemelryk 3913743aa3 Merge branch 'MDL-35443-wip' of git://github.com/mouneyrac/moodle 2013-01-09 10:20:46 +13:00
Sam Hemelryk 5ba45e34bb Merge branch 'wip-MDL-35842-master' of git://github.com/phalacee/moodle 2013-01-09 10:07:16 +13:00
Sam Hemelryk 21117c9d17 Merge branch 'wip-MDL-35891-master' of git://github.com/phalacee/moodle 2013-01-09 09:41:00 +13:00
Sam Hemelryk 086e78da69 MDL-36357 cache: removed double semicolon 2013-01-09 09:37:09 +13:00
Sam Hemelryk f44e7d0a77 Merge branch 'MDL-36357' of git://github.com/danpoltawski/moodle
Conflicts:
	user/view.php
2013-01-09 09:34:22 +13:00
Andrew Robert Nicols 60fb0ef8a9 MDL-36600 user: improve course messaging checks 2013-01-09 09:21:35 +13:00
Eloy Lafuente (stronk7) 4f90540e0c Merge branch 'w51_MDL-37152_m25_smtp' of git://github.com/skodak/moodle 2013-01-08 18:01:43 +01:00
Petr Škoda 59706ff6c7 MDL-37420 add support for db schemas in auth test 2013-01-08 17:20:42 +01:00
Petr Škoda 917fddb5e2 MDL-37420 add support for db schemas in enrol test 2013-01-08 17:20:26 +01:00
Petr Škoda 6ad8d762da MDL-37420 add support for more PostgreSQL schemas 2013-01-08 17:12:31 +01:00
sam marshall aebe9db07f MDL-37395 Add .jar filetype so Moodle doesn't incorrectly call it a zip file 2013-01-08 12:49:23 +00:00
Jean-Michel Vedrine d55399a098 MDL-28183 fix for problem during integration
Conflicts:
	question/type/multianswer/question.php
2013-01-08 12:03:48 +01:00
Eloy Lafuente (stronk7) f9ba4fd83b Merge branch 'MDL-37220_dnd_icon' of git://github.com/davosmith/moodle 2013-01-08 11:54:19 +01:00
Eloy Lafuente (stronk7) a74c3851f7 Merge branch 'w51_MDL-37284_m25_mysqlutf8' of git://github.com/skodak/moodle 2013-01-08 11:39:23 +01:00
Andrew Robert Nicols 98e1ff5f9f MDL-37173 Stop attempting to set User-Agent from core JS
This leads to some browsers throwing warnings that it is unsafe to set the
User-Agent. It doesn't help us in any way particularly either.
2013-01-08 09:55:44 +00:00
Eloy Lafuente (stronk7) 783a51ba48 Merge branch 'w51_MDL-37291_m25_paypalrestore' of git://github.com/skodak/moodle 2013-01-08 10:51:49 +01:00
Eloy Lafuente (stronk7) cf78070a63 Merge branch 'w51_MDL-37186_m25_tinymceconfig' of git://github.com/skodak/moodle 2013-01-08 10:34:04 +01:00
Eloy Lafuente (stronk7) b315a45274 Merge branch 'w51_MDL-37323_m25_dlgstrings' of git://github.com/skodak/moodle 2013-01-08 10:21:50 +01:00
Andrew Robert Nicols a6d96f27e8 MDL-37415 Fix JSHint issues for moodle-core-chooserdialogue 2013-01-08 08:57:08 +00:00
Dan Poltawski 6c8d7fed66 Merge branch 'w51_MDL-7537_m25_paypalcur' of git://github.com/skodak/moodle 2013-01-08 16:49:47 +08:00
Dan Poltawski 6d0a62bc37 MDL-3941 - version bump for TLS support in ldap 2013-01-08 16:42:47 +08:00
Dan Poltawski 6c74a228f3 Merge branch 'wip_master_mdl-3941_add_support_for_LDAP_TLS' of git://github.com/iarenaza/moodle 2013-01-08 16:40:50 +08:00
Jerome Mouneyrac c2bc5a7008 MDL-37194 activity chooser displays entire list of default activities/resources 2013-01-08 16:39:55 +08:00
Jerome Mouneyrac c5f7628d39 MDL-37381 core_external::get_component_strings returns wrong format value 2013-01-08 16:23:24 +08:00
Isaac Marco Blancas 228e09cdd1 MDL-29534 Forum: If forum_replytouser is not set then don't display from user email" 2013-01-08 16:16:02 +08:00
Dan Poltawski 655b566b9e Merge branch 'w51_MDL-37299_m25_manselfprogress' of git://github.com/skodak/moodle 2013-01-08 15:08:05 +08:00
Dan Poltawski 1a12cbd9df Merge branch 'w51_MDL-35685_m25_capinit_b' of git://github.com/skodak/moodle 2013-01-08 14:50:29 +08:00
Dan Poltawski bfb5580f92 Merge branch 'MDL-32639-master' of git://github.com/FMCorz/moodle 2013-01-08 14:46:14 +08:00
Dan Poltawski 81a38f50fb Merge branch 'wip_master_mdl-28585_ldap_auth_doesnt_handle_password_expiration' of https://github.com/iarenaza/moodle 2013-01-08 14:40:15 +08:00
Dan Poltawski c37c9e760d Merge branch 'w51_MDL-37125_m25_yui380' of git://github.com/skodak/moodle 2013-01-08 14:29:32 +08:00
Dan Poltawski 397e4ecf76 Merge branch 'w51_MDL-37282_m25_tinymce358' of git://github.com/skodak/moodle 2013-01-08 14:26:52 +08:00
Dan Poltawski df0b14c3b5 Merge branch 'w51_MDL-37303_m25_enrolinstancestatus' of git://github.com/skodak/moodle 2013-01-08 14:22:11 +08:00
Dan Poltawski 7f3e944aa1 Merge branch 'w51_MDL-37304_m25_authdbcleanup' of git://github.com/skodak/moodle 2013-01-08 14:15:22 +08:00
Jason Fowler 21c3b51e27 MDL-36620 - Blog, RSS - Preventing Guests from viewing the RSS of site level blogs 2013-01-08 14:06:32 +08:00
Ankit Agarwal 7a216229ab MDL-37106 calendar: Proper capability checks should be done before processing an ical request 2013-01-08 14:03:38 +08:00
Jason Fowler 0232fa7b32 MDL-30316 - Libraries - improving pagination output to allow a shifting start page for displays of less than 18 pages -- original code provided by Martha (martha dot morelos at gmail dot com) 2013-01-08 14:02:06 +08:00
Dan Poltawski d161e37488 Merge branch 'MDL-36738-master' of git://github.com/ankitagarwal/moodle 2013-01-08 13:57:47 +08:00
Ankit Agarwal 7af294352b MDL-36738 calendar: Display events imported details
We should display a the status of events when a new subscription is added. Although this means we need to redirect through an itermediate page.
2013-01-08 13:47:49 +08:00
Ankit Agarwal 8c84f374c0 MDL-36738 calendar: Ical subscription list should display type of event 2013-01-08 13:47:48 +08:00
Dan Poltawski 87ffc3fb69 Merge branch 'MDL-27901-master' of git://github.com/FMCorz/moodle 2013-01-08 13:01:00 +08:00
Dan Poltawski 3dab21591d Merge branch 'w51_MDL-21116_m52_reversedel' of git://github.com/skodak/moodle 2013-01-08 12:58:16 +08:00
Dan Poltawski 7378493ee9 Merge branch 'MDL-37247_master' of git://github.com/markn86/moodle 2013-01-08 12:50:44 +08:00
Dan Poltawski 4c345a1ed4 Merge branch 'MDL-36955' of git://github.com/jmvedrine/moodle 2013-01-08 12:20:54 +08:00
Mark Nelson 2b9fe87dca MDL-37247 mod_forum: adding webservice function to allow for the retrieval of forum instances 2013-01-08 12:19:49 +08:00
Dan Poltawski 9519d41142 MDL-28183 - fix trailing whitespace 2013-01-08 12:18:49 +08:00
Dan Poltawski b5b418b2a7 Merge branch 'MDL-28183' of git://github.com/jmvedrine/moodle 2013-01-08 12:17:51 +08:00
Dan Poltawski f858088cc4 Merge branch 'w51_MDL-37191_m25_plugindelete' of git://github.com/skodak/moodle 2013-01-08 11:16:43 +08:00
Dan Poltawski cfb209a538 Merge branch 'MDL-31641_drag_drop_help' of git://github.com/davosmith/moodle 2013-01-08 10:54:01 +08:00
Dan Poltawski f94ed34126 MDL-35130 - remove unused string 2013-01-08 10:52:18 +08:00
Dan Poltawski 230a377474 Merge branch 'MDL-35130-master' of https://github.com/mackensen/moodle 2013-01-08 10:50:46 +08:00
Dan Poltawski a57ce0fde4 Merge branch 'w51_MDL-37297_m25_enrolcatprogress' of git://github.com/skodak/moodle 2013-01-08 10:48:13 +08:00
Dan Poltawski 00079538b9 Merge branch 'MDL-36456-master' of git://github.com/FMCorz/moodle 2013-01-08 10:30:50 +08:00
Dan Poltawski a1d9f433ec Merge branch 'w51_MDL-37301_m25_coursecatinfoas' of git://github.com/skodak/moodle 2013-01-08 10:26:44 +08:00
Dan Poltawski 36b6340532 Merge branch 'w51_MDL-37254_m25_courseinfoas' of git://github.com/skodak/moodle 2013-01-08 10:24:01 +08:00
Dan Poltawski a275bedb38 Merge branch 'w51_MDL-37298_m25_enrolcohprogress' of git://github.com/skodak/moodle 2013-01-08 10:16:19 +08:00
Paul Nicholls a0dc7da9b4 MDL-29835: filemanager - zero means zero, not unlimited
The form_filemanager constructor was using empty() rather than !isset(),
so overwrote maxfiles=0 with the default (-1).  In addition, the JS UI
treated 0 as unlimited - but the non-JS fallback UI treated it as zero.
This would result in a file manager which allowed files to be
chosen/uploaded, which would then vanish into the void when the backend
saw that the maximum number of files was 0.
2013-01-08 15:12:50 +13:00
Dan Poltawski e06c710e87 Merge branch 'w51_MDL-37293_m25_enroldbprogress' of git://github.com/skodak/moodle 2013-01-08 09:52:29 +08:00
Sam Hemelryk b68fb448ef Merge branch 'wip-mdl-36958' of git://github.com/rajeshtaneja/moodle 2013-01-08 14:07:03 +13:00
Sam Hemelryk c4c1504b44 Merge branch 'w51_MDL-35893_m25_perfinstall' of git://github.com/skodak/moodle 2013-01-08 14:00:44 +13:00
David Mudrák 0ab681d3e7 MDL-36977 Be more picky when it comes to migrating files in moodle1 backups 2013-01-08 08:53:38 +08:00
David Mudrák 7b66137f7b MDL-36977 Add more unit tests for moodle1 backup conversion 2013-01-08 08:53:37 +08:00
Marina Glancy 27efa6bfac MDL-37404 add class 'format-xxx' to the body for the current course format 2013-01-08 11:50:01 +11:00
Paul Nicholls 30793ea3bd MDL-35074: grader report - Ease limit on number of students per page
The limit imposed by max_input_vars "applies only to each nesting level of
a multi-dimensional input array"
(http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars).

Turning the grader report fields into arrays (they were all top-level form
fields, i.e. elements of the top-level array) makes the number of students
become the only limiting factor, thereby allowing us to relax the limit on
number of students per page greatly (to 1 less than max_input_vars, for
safety).
2013-01-08 13:44:02 +13:00
Sam Hemelryk be5a3168df MDL-21342 auth: tidy up pre-integration 2013-01-08 13:41:22 +13:00
Sam Hemelryk 70601b9433 Merge branch 'w51_MDL-21342_m25_lockout' of git://github.com/skodak/moodle 2013-01-08 10:56:39 +13:00
Eloy Lafuente (stronk7) 17e5c6e8d2 Merge branch 'MDL-35794' of git://github.com/timhunt/moodle 2013-01-07 22:40:00 +01:00
Eloy Lafuente (stronk7) 3cb7609bd6 Merge branch 'MDL-35792' of git://github.com/timhunt/moodle 2013-01-07 22:35:06 +01:00
Sam Hemelryk 7f30a6449b MDL-34344 config: added unit tests for get_config 2013-01-08 09:52:19 +13:00
sam marshall e81da1540a MDL-36095 Section availability: Make behaviour consistent with activities 2013-01-07 15:57:00 +00:00
Petr Škoda 8d21130267 MDL-29996 cleanup filter plugin info 2013-01-07 12:42:13 +01:00
Eloy Lafuente (stronk7) caf575e2bf Merge branch 'w51_MDL-36807_m25_mysocket' of git://github.com/skodak/moodle 2013-01-07 11:44:16 +01:00
Sam Hemelryk 007bfe8b4d MDL-25290 conversion: Converted config to use MUC 2013-01-07 19:22:40 +13:00
Dan Poltawski bfa2b0382f Merge branch 'MDLmaster-MDL-37157-2' of https://github.com/OdyX/moodle 2013-01-07 13:59:52 +08:00
Dan Poltawski 5083fe2194 Merge branch 'w51_MDL-37128_m25_rssrestore' of git://github.com/skodak/moodle 2013-01-07 13:56:57 +08:00
Dan Poltawski 8057d3ee77 Merge branch 'w51_MDL-36893_m25_mnetestrict' of git://github.com/skodak/moodle 2013-01-07 13:53:14 +08:00
Dan Poltawski 6f4cf4656e Merge branch 'MDL-35230-master' of git://github.com/andrewnicols/moodle 2013-01-07 13:41:16 +08:00
Dan Poltawski bc897f9d63 Merge branch 'MDL-27884-master' of git://github.com/ankitagarwal/moodle 2013-01-07 13:30:24 +08:00
Sam Hemelryk b8459c0267 MDL-29996 filters: fixed bug when upgrading filter plugin names 2013-01-07 17:40:41 +13:00
Andrew Davis 10d8f0852b MDL-33117 grade: adding unit tests for the user report function inject_rowspans() 2013-01-07 11:57:04 +08:00
Jerome Mouneyrac 9a4c2f50c9 MDL-37355 object are automatically cast into object by the return value 2013-01-07 11:12:32 +08:00
Damyon Wiese e00b5c454c MDL-37244 Assignment: Submission comments plugin does not implement comments callbacks.
This allows anyone to view or modify anyone elses submission comments.
2013-01-07 10:48:26 +08:00
Ankit Agarwal 986095771b MDL-33340 completion: Incorrect logic in hidden field check
Credit to Jody Steele
2013-01-07 10:36:00 +08:00
Sam Hemelryk dd89f61e68 Merge branch 'w51_MDL-29996_m25_oldfilters' of git://github.com/skodak/moodle 2013-01-07 15:22:37 +13:00
Simon Coggins fd1d829500 MDL-35991 - use PARAM_LOCALURL for local urls 2013-01-07 10:09:20 +08:00
Rajesh Taneja 30697cf3fe MDL-37062 Course: Show one 'Add new course' button
Currently if there is no course and admin/course creator go to create course, he/she see two
'Add new course' buttons.
2013-01-07 09:44:36 +08:00
Dan Poltawski f7551c2e62 Merge branch 'MDL-36667-master' of git://github.com/damyon/moodle 2013-01-07 09:42:31 +08:00
Sam Hemelryk 8ca9539be5 Merge branch 'MDL-37161-master' of https://github.com/StudiUM/moodle 2013-01-07 14:15:50 +13:00
Sam Hemelryk 1bdc017f42 Merge branch 'w51_MDL-36212_m25_entities' of git://github.com/skodak/moodle 2013-01-07 13:45:15 +13:00
Sam Hemelryk 816635ff03 Merge branch 'MDL-37068' of git://github.com/timhunt/moodle 2013-01-07 13:40:08 +13:00
Sam Hemelryk 68ed412599 Merge branch 'w51_MDL-37281_m25_othersnav' of git://github.com/skodak/moodle 2013-01-07 13:35:25 +13:00
Sam Hemelryk 5fc4ac8549 Merge branch 'MDL-36855-master' of git://github.com/ankitagarwal/moodle 2013-01-07 12:05:26 +13:00
Sam Hemelryk aedad9fcf3 Merge branch 'w51_MDL-37302_m25_roleedit' of git://github.com/skodak/moodle 2013-01-07 11:58:17 +13:00
Sam Hemelryk 99f64911ee Merge branch 'wip-MDL-7660-master' of git://github.com/abgreeve/moodle 2013-01-07 11:40:11 +13:00
Sam Hemelryk b8e551a89e Merge branch 'MDL-4781-master' of https://github.com/mackensen/moodle 2013-01-07 11:14:47 +13:00
Sam Hemelryk f27cbf0790 Merge branch 'MDL-35887_dnd_completion' of git://github.com/davosmith/moodle 2013-01-07 11:06:41 +13:00
Sam Hemelryk 02ad855adc Merge branch 'MDL-16730-master' of git://github.com/ankitagarwal/moodle 2013-01-07 10:15:38 +13:00
Sam Hemelryk 9fa3979c15 Merge branch 'w51_MDL-37105_m25_catlimit' of git://github.com/skodak/moodle 2013-01-07 09:53:06 +13:00
Sam Hemelryk b33f3d7c40 Merge branch 'MDL-37359_master' of git://github.com/markn86/moodle 2013-01-07 09:47:02 +13:00
Sam Hemelryk 77f3d50d92 Merge branch 'MDL-29327_none' of git://github.com/andyjdavis/moodle 2013-01-07 09:38:31 +13:00
Sam Hemelryk 083d5f8a48 Merge branch 'MDL-36741_master' of git://github.com/markn86/moodle 2013-01-07 09:15:53 +13:00
Sam Hemelryk 9ae14001aa Merge branch 'w51_MDL-37315_m25_ldappaging' of git://github.com/skodak/moodle 2013-01-07 09:09:50 +13:00
Petr Škoda 8e7591654a MDL-35356 improve worksheet exports
This patch removes deprecated PEAR excel export lib in favour of newer PHPExcel,
the ODS exporter implementation is finished and a test script is included.

The default Excel format is now 2007, file extension is changed automatically
to match excel format.
2013-01-06 18:15:20 +01:00
Jean-Philippe Gaudreau 924b8d7274 MDL-37161 Backup: Database error caused by grade book settings when importing or restoring a course 2013-01-04 09:59:59 -05:00
Petr Škoda c4844bf45c MDL-21342 deprecate unused login functions 2013-01-04 15:17:14 +01:00
Petr Škoda b28247fe90 MDL-21342 add user login lockout 2013-01-04 15:12:31 +01:00
Davo Smith 0470a094e2 MDL-35568 course dndupload - resources created with the same visibility as the section they are dragged onto 2013-01-04 12:31:31 +00:00
Damyon Wiese 47f48152f7 MDL-35413 Assignment: Add unit tests (lots of them). 2013-01-04 15:51:08 +08:00
Damyon Wiese e5403f8c44 MDL-36904 Assignment: Fix all errors and warnings from codechecker 2013-01-04 15:46:15 +08:00
Mark Nelson 9e222bac61 MDL-37359 groups: fixing typo in the web service function create_groupings_parameters 2013-01-04 15:23:12 +08:00
Damyon Wiese d6c673ed4e MDL-36712: Assignment - Do not always send feedback available emails when grade is created
The entry in the assign_grades table contains grades feedback and other settings such as locked.
Only send the student an email about new feedback if it is actually grades or feedback that
has been added. This is done by using another state for the mailed flag (2) which means "unset".
2013-01-04 14:46:14 +08:00
Jerome Mouneyrac 6a30d03e5f MDL-37355 Fix the REST server that didn't send back the cleaned values 2013-01-04 14:23:02 +08:00
Adrian Greeve 173c6f2c8b MDL-7660 - mod_data: Changed the filepicker to filemanager for field elements.
This allows users to delete their files or pictures when editing their entries
which was previously unavailable.

Also the use of the filemanager allows for drag and drop to be active.
2013-01-04 12:17:47 +08:00
Andrew Davis bd26d932ff MDL-29327 core_grade: removing some code that is messing up the categories and items screen when no grade categories are used 2013-01-04 08:25:41 +08:00
Ankit Agarwal 40652808e3 MDL-36855 scorm: update to api get_scorm_question_count()
get_scorm_question_count() should return 0 not 1 when no attempt is made in a scorm by any student
2013-01-03 14:40:36 +08:00
Jason Fowler 864b7c0130 MDL-35056 - Backup - Removing Dependencies Unmet string from lang files 2013-01-03 10:55:13 +13:00
Sam Hemelryk e85c56ccb8 MDL-36297 caching: added for HTML purified text 2013-01-03 10:55:00 +13:00
Paul Charsley c144959c4d MDL-31682 added mod_assign_get_submissions web service function 2013-01-03 09:46:59 +13:00
Ankit Agarwal 7bf99ee558 MDL-27884 Implement proper username validation during csv import 2013-01-02 14:09:13 +08:00
Ankit Agarwal cb2619150c MDL-27884 blocks: Correcting config title string
AMOS BEGIN
 CPY [configtitle,block_html],[configtitle,block_tags]
AMOS END
2013-01-02 10:39:16 +08:00
Petr Škoda bc5d899510 MDL-35893 do not track performance before installation 2013-01-01 15:50:26 +01:00
Petr Škoda 97155c387d MDL-37323 add support for _dlg strings in our TinyMCE subplugins
Credit goes to Étienne FLORENT, thanks.
2013-01-01 15:25:43 +01:00
AMOS bot 1bfab997c7 Automatically generated installer lang files 2013-01-01 00:42:59 +00:00
Petr Škoda 0662bd677c MDL-29996 remove deprecated stuff from filter code 2012-12-30 17:02:18 +01:00
Petr Škoda fba0abdc22 MDL-29996 remove legacy_filter support 2012-12-30 12:44:43 +01:00
Petr Škoda d8e74f5be7 MDL-29996 remove unnecessary signed tricks 2012-12-30 12:44:42 +01:00
Jean-Michel Vedrine c2f056a925 MDL-36955 Multianswer grading penalties do not address subparts 2012-12-30 11:59:34 +01:00
Jean-Michel Vedrine e9af609176 MDL-28183 add num parts correct and clear wrong to multianswer 2012-12-30 11:55:21 +01:00
Eloy Lafuente (stronk7) 9da506c2a3 weekly on-sync release 2.5dev 2012-12-30 01:07:00 +01:00
Petr Škoda ed05ee6b99 MDL-37315 fix connection reopening in ldap paging 2012-12-30 00:57:43 +01:00
Petr Škoda e7aeaa6590 MDL-37304 cleanup auth_db and use progress_trace 2012-12-29 21:57:57 +01:00
Petr Škoda 5d549ffc8c MDL-37299 use progress_trace in enrol_manual and enrol_self sync 2012-12-29 21:50:32 +01:00
Petr Škoda 411c3f9800 MDL-37293 user progress_trace in enrol_database sync 2012-12-29 21:43:03 +01:00
Petr Škoda 961fbc4f84 MDL-37297 user progress_trace in enrol_category sync 2012-12-29 21:40:07 +01:00
Petr Škoda 63a15b38ad MDL-36893 fix mnet E_STRICT issue 2012-12-27 14:32:31 +01:00
Petr Škoda bb900d139c MDL-37105 prevent fatal error when category limit reached 2012-12-27 13:52:14 +01:00
Petr Škoda 3d89a36a85 MDL-37128 fix E_STRICT rss restore issue 2012-12-27 13:39:09 +01:00
Petr Škoda dd9cd338cf MDL-37301 fix missing AS in select
This was breaking pg 8.3. Credit goes to Thomas Robb, thanks.
2012-12-26 22:25:24 +01:00
Petr Škoda 3a103fd806 MDL-xxxx show appropriate instance status on user enrolments page 2012-12-26 17:28:09 +01:00
Petr Škoda e9ca9d3063 MDL-37302 allow admin to unassign any role on enrolment and other users pages 2012-12-26 12:02:08 +01:00
Petr Škoda 483e6f5cde MDL-37302 allow removal of enrol roles if plugin allows it 2012-12-26 11:37:08 +01:00
Petr Škoda c61162310c MDL-37298 use progress_trace in enrol_cohort sync 2012-12-25 14:55:37 +01:00
Dan Poltawski b20d65f271 Merge branch 'MDL-37037-master' of git://github.com/damyon/moodle 2012-12-24 12:23:03 +08:00
Dan Poltawski 5066f30bed Merge branch 'w51_MDL-37233_m25_skype' of git://github.com/skodak/moodle 2012-12-24 11:34:40 +08:00
Dan Poltawski 33950c3039 Merge branch 'wip-MDL-37263-m25' of git://github.com/samhemelryk/moodle 2012-12-24 11:22:43 +08:00
Dan Poltawski 1b5c5e5788 Merge branch 'wip-MDL-37290-m25' of git://github.com/samhemelryk/moodle 2012-12-24 10:54:51 +08:00
Dan Poltawski 51feee1f64 Merge branch 'w51_MDL-37283_m25_spell' of git://github.com/skodak/moodle 2012-12-24 10:35:33 +08:00
Sam Hemelryk 3330e65354 MDL-37290 course: fixed up navbar when editing categories 2012-12-24 13:05:56 +13:00
Sam Hemelryk eaf750cd9a Merge branch 'wip-MDL-35833-master' of git://github.com/phalacee/moodle 2012-12-24 11:43:59 +13:00
Sam Hemelryk bef123d608 Merge branch 'MDL-36966-master' of git://github.com/damyon/moodle 2012-12-24 11:16:26 +13:00
Sam Hemelryk 486c53f25c Merge branch 'wip-mdl-37015' of git://github.com/rajeshtaneja/moodle 2012-12-24 10:55:31 +13:00
Petr Škoda 471b96c41e MDL-37291 implement full paypal restore support 2012-12-23 22:11:45 +01:00
Sam Hemelryk 296064bb9a Merge branch 'wip-MDL-35653-master' of git://github.com/abgreeve/moodle 2012-12-24 09:40:55 +13:00
Sam Hemelryk fe0980f846 Merge branch 'master_MDL-37225_static_cache_purge' of git://github.com/brki/moodle 2012-12-24 09:34:46 +13:00
Sam Hemelryk d1a73b2add Merge branch 'MDL-36455_master' of git://github.com/markn86/moodle 2012-12-24 09:30:35 +13:00
Petr Škoda 0456edb4ee MDL-7537 add all PayPal supported currencies 2012-12-23 13:09:25 +01:00
Petr Škoda f092d92004 MDL-21116 drop plugin tables in opposite order
This should help with foreign key in the future.
2012-12-22 19:01:00 +01:00
Petr Škoda 9d0ded6697 MDL-37284 fix mysql test for unicode compatibility 2012-12-22 18:42:55 +01:00
Tim Hunt bf7b7f45d1 MDL-37068 qformat_learnwise: fix UTF8 and other issues. 2012-12-22 17:38:52 +00:00
Thanh Le d18f78b046 MDL-35794 quiz: config for whether Outcomes are advanced settings 2012-12-22 17:38:45 +00:00
Tim Hunt 4125ded139 MDL-35793 question preview: config for the display options.
The settings control the display options used when a user
first previews a question in the question bank. Once a
user has previewed some questions, these are stored as user
preferences.

It may not seem worth making this configurable, but acutally
it is important when training new users to get them started
off using the right opitions.
2012-12-22 17:38:37 +00:00
Thanh Le 599cc731e3 MDL-35792 question preview: way to update options without restarting.
It is useful, and possible, to update the display options without
restarting the question. You now only have to restart if you are
changing the maximum mark or the behaviour.
2012-12-22 17:38:30 +00:00
Tim Hunt f187622a0d MDL-31616 block editing: show in subcontexts does not work on category pages.
Thanks to Ian David Wild for pointing to the proper fix.
2012-12-22 17:37:49 +00:00
Petr Škoda 48d2e1117f MDL-37283 import tinymce spellchecker 2.0.6.1 2012-12-22 16:44:55 +01:00
Petr Škoda d10f3e9fef MDL-37282 import TinyMCE 3.5.8 2012-12-22 16:24:20 +01:00
Petr Škoda a1b5490ac4 MDL-37281 fix other users current navigation node 2012-12-22 14:58:39 +01:00
Petr Škoda 017a713900 MDL-37152 remove bogus $mail->IsSMTP() breaking non-smtp mailing
Credit goes to Aurelijus Bruzas, thanks.
2012-12-22 14:46:44 +01:00
Petr Škoda 171215d465 MDL-37254 add missing AS keyword 2012-12-22 14:11:22 +01:00
Petr Škoda d2fec87baf MDL-37233 do not show skype status icon on https sites
Funny that the same company that implemented the IE security warnings is unable to set up SSL on the Skype status server…
2012-12-21 17:26:36 +01:00
Petr Škoda 3db309dcc4 MDL-37191 do not timeout when uninstalling plugins 2012-12-21 15:58:25 +01:00
Petr Škoda 2c4bccd5b8 MDL-35685 attempt to improve slow USER access array init 2012-12-20 22:51:29 +01:00
Sam Hemelryk 9966db51f0 MDL-37263 cache: fixed event invalidation coding error 2012-12-21 10:50:07 +13:00
Petr Škoda 7539894649 MDL-36212 rework html entity conversions
This should resolve all html entity conversion problems in different PHP versions.
2012-12-20 22:47:16 +01:00
Petr Škoda b66e926895 MDL-36807 use our mysql socket logic in adodb tests 2012-12-20 22:41:18 +01:00
Petr Škoda 49ee37d3ac MDL-36898 use only enrolled users as course contacts 2012-12-20 22:38:50 +01:00
Petr Škoda 6846f033a9 MDL-37125 import latest YUI 3.8.0 2012-12-20 22:31:51 +01:00
Petr Škoda 301ebbe512 MDL-37183 remove ancient unused excel library 2012-12-20 22:26:59 +01:00
Petr Škoda 23ac6ef6c5 MDL-37186 add the ultimate TinyMCE custom parameter setting 2012-12-20 22:24:15 +01:00
Eloy Lafuente (stronk7) 0dc5a532ec weekly on-sync release 2.5dev 2012-12-20 21:13:26 +01:00
Eloy Lafuente (stronk7) 29400ba5d6 Merge branch 'install_master' of git://git.moodle.cz/moodle-install 2012-12-20 20:56:58 +01:00
Charles Fulton 63f329cad5 MDL-35130 shibboleth: remove hard-coded string 2012-12-20 10:28:23 -08:00
Mary Evans 4c71a80acd MDL-25630 moodle/index.php: Wraps individual front page content elements (Site news/Course list/Category names/Category combo) in divs with descriptive classes so they can be styled individually. 2012-12-20 17:38:08 +00:00
Charles Fulton 4a112ec8c5 MDL-4781 forum: show discussion link when user has ability to view discussion 2012-12-20 05:59:41 -08:00
Eloy Lafuente (stronk7) 92bdda9bd9 Merge branch 'w50_MDL-37171_m25_outdatedexcel' of git://github.com/skodak/moodle 2012-12-20 10:22:46 +01:00
Jason Fowler d01176bfc9 MDL-35833 - Blocks - Adding alt and title attributes to the docked-block panel close button 2012-12-20 10:42:20 +08:00
Rajesh Taneja e5ad278a94 MDL-37015 Resource: link in onclick should not contain html special char 2012-12-20 10:21:36 +08:00
Dan Poltawski b93e0af3fe Revert "MDL-36704: wrap pending conditions in span tags"
This reverts commit 5e9fd83df8.
2012-12-20 08:45:04 +08:00
AMOS bot 15da42c874 Automatically generated installer lang files 2012-12-20 00:40:36 +00:00
Tim Hunt 9645fe83ff MDL-32245 question bank: update URL after moving question between categories.
Also, improve the URL when you go to edit the questions in a category.
2012-12-20 12:12:22 +13:00
Petr Škoda cdd651a676 MDL-37171 fix some more E_STRICT issues
Credit goes to Mark Nelson, thanks.
2012-12-19 09:54:53 +01:00
Adrian Greeve 9daabc71ea MDL-35653 - mod/wiki: Force format now lets users edit wiki pages.
Thanks to Tõnis Tartes for part of this solution.

When force format was selected in the options, trying to view the
wiki would redirect to the front page with a message saying that
you do not have permission to edit this page. Students had no way
of viewing any entries or creating the first page.

When in force format it skips a page , which would be considered
uncessary for students, but this means that the group id is not set
and this is what is causing most of the problems.

I also have included a check to see if the title is default and whether
the user has permission to view all groups. In these situations the
intermediate page is displayed.
2012-12-19 08:47:26 +08:00
AMOS bot 864f08b4d9 Automatically generated installer lang files 2012-12-19 00:41:59 +00:00
Brian King 6e89fb0309 MDL-37225 reset cachstore_static store when purging 2012-12-18 23:57:22 +01:00
Eloy Lafuente (stronk7) 917169221f Merge branch 'w50_MDL-36245_m25_convert' of git://github.com/skodak/moodle 2012-12-18 23:41:48 +01:00
Davo Smith 08c2331cb5 MDL-37220 course dndupload - improved 'add files' icon 2012-12-18 21:11:35 +00:00
Davo Smith c7e61fba0a MDL-35887 course dndupload - correct default used for completion tracking when resources created by drag and drop 2012-12-18 20:46:26 +00:00
Eloy Lafuente (stronk7) 421d18fd2e Merge branch 'wip-MDL-36339-master' of git://github.com/marinaglancy/moodle 2012-12-18 21:36:42 +01:00
Davo Smith a8b418e82c MDL-31641 filemanager - display help message when drag and drop upload is not supported 2012-12-18 20:22:20 +00:00
Didier Raboud 5a449045c2 MDL-37157: Normalize short answers before comparison
This ensures that ambiguous Unicode representations can be compared sanely.
Also add some tests to ensure it keeps working.

Thanks to Tim Hunt for the syntax check.
2012-12-18 18:44:15 +01:00
Matt Oquist e9d87d90cf MDL-36958 Forum: Replaced hard-coded numbers with proper defines 2012-12-18 17:26:50 +08:00
Dan Poltawski 86575fa709 Merge branch 'MDL-36704-master' of git://github.com/sammarshallou/moodle 2012-12-18 14:57:43 +08:00
Dan Poltawski 033b07895c Merge branch 'MDL-37014_webdav_folders' of git://github.com/davosmith/moodle 2012-12-18 14:52:27 +08:00
Dan Poltawski 22898af76f MDL-36259 - change case of table alias to match definition 2012-12-18 14:27:46 +08:00
Dan Poltawski 3ab43c0502 Merge branch 'MDL-36259' of git://github.com/timhunt/moodle 2012-12-18 14:25:52 +08:00
Damyon Wiese 2406815bbf MDL-37030 Assignment: Fix error on download all submissions.
When group submissions and blind marking are enabled, an error is thrown
when a teacher trys to download all submissions in a zip. The fix is to
move the url rewriting from the plugin to the assign class so it is
done in a standard way by all modules. The rewriting is done to make images
in a text editor field resolve correctly.
2012-12-18 12:17:25 +08:00
Mark Nelson bfe20414c0 MDL-36455 blocks: removed ability to add blocks to the My Moodle page that did not make sense in that context 2012-12-18 11:32:35 +08:00
Damyon Wiese afa3e637a4 MDL-37037 Assignment Some minor refactoring of the previous patch
This just makes the control flow a bit easier to read.

I also added a continue button to take you back to the grading page.
2012-12-18 09:19:23 +08:00
Dan Poltawski 3280819b20 Merge branch 'MDL-30899_master' of git://github.com/dmonllao/moodle 2012-12-18 09:10:42 +08:00
Michael Aherne 5c77835865 MDL-37037 assign Show message if no files to download 2012-12-18 08:54:10 +08:00
AMOS bot ecc6fc7e2d Automatically generated installer lang files 2012-12-18 00:45:13 +00:00
Damyon Wiese 64220210de MDL-35740 Assignment: Change the assignment index page to use a renderer.
This also cleans up the patch to prevent students from seeing the number of submissions for the assignment.
2012-12-18 08:44:53 +08:00
Raymond Wijaya 0c631fbef6 MDL-35740 Assignment: Hide the number of assignment submissions for all students that was visible to all students through the activities block 2012-12-18 08:44:53 +08:00
Raymond Wijaya f81dc1222d MDL-36966 Assignment: Bug - Student submission appears graded by themselves.
Fix a bug when a student editing his submission after it has been graded, it changes the 'graded by' details to the student's name in the feeback summary
2012-12-18 08:39:31 +08:00
Eloy Lafuente (stronk7) cbef51f54b Merge branch 'MDL-36842' of git://github.com/timhunt/moodle 2012-12-18 00:17:51 +01:00
Eloy Lafuente (stronk7) 7039c823dc Merge branch 'w50_MDL-37171_m25_outdatedexcel' of git://github.com/skodak/moodle 2012-12-18 00:13:45 +01:00
Sam Hemelryk 9674194eec Merge branch 'w50_MDL-36475_m25_zindexesgrrr' of git://github.com/skodak/moodle 2012-12-18 10:43:00 +13:00
Sam Hemelryk 2ea5e39ea3 Merge branch 'MDL-36490_master' of git://github.com/lazydaisy/moodle 2012-12-18 10:40:46 +13:00
Sam Hemelryk 03765b2e9d Merge branch 'MDL-37035' of git://github.com/adrianfish/moodle 2012-12-18 10:32:10 +13:00
Sam Hemelryk d135b55323 Merge branch 'w50_MDL-37111_m25_forumsinglefirst' of git://github.com/skodak/moodle 2012-12-18 10:24:53 +13:00
Sam Hemelryk a483113178 Merge branch 'MDL-37176' of git://github.com/stronk7/moodle 2012-12-18 10:12:37 +13:00
Sam Hemelryk bdd7b01a33 Merge branch 'MDL-35530' of git://github.com/rwijaya/moodle 2012-12-18 10:07:28 +13:00
Jason Fowler c8d1e4aa8c MDL-35056 - Backup/Restore - Converting the 'Unmet Dependencies' Message to be a Developer Debug message to make moodle less confusing to the average user 2012-12-18 09:58:53 +13:00
Sam Hemelryk 46b553787c Merge branch 'MDL-32245' of git://github.com/timhunt/moodle 2012-12-18 09:51:42 +13:00
Sam Hemelryk ac546d63a3 MDL-36812 grader_report: Fixed whitespace on integration 2012-12-18 09:47:37 +13:00
Sam Hemelryk a202ead124 Merge branch 'WIP-MDL-36812-master' of git://github.com/nadavkav/moodle 2012-12-18 09:46:35 +13:00
Sam Hemelryk 740f635b79 Merge branch 'MDL-29733_master' of git://github.com/andyjdavis/moodle 2012-12-18 09:42:26 +13:00
Tim Hunt 4475b0ff63 MDL-36842 quiz: update accessrule upgrade.txt file in master. 2012-12-17 17:02:21 +00:00
Adrian Fish 2a457227e2 MDL-37035 Pass user locale after course locale. 2012-12-17 10:25:38 +00:00
David Monllao 9e8961e76f MDL-30899 moodle-enrol-notification Overridding default footer padding 2012-12-17 15:39:19 +08:00
Dan Poltawski 62347c883b Merge branch 'w50_MDL-36493_m25_mysql' of git://github.com/skodak/moodle 2012-12-17 15:28:39 +08:00
Dan Poltawski 0b10485a03 Merge branch 'MDL-37114' of git://github.com/timhunt/moodle 2012-12-17 15:25:22 +08:00
Dan Poltawski f136e27f15 Merge branch 'MDL-37034-CategoryNavigationKey' of https://github.com/iamandrew/moodle 2012-12-17 15:21:31 +08:00
Dan Poltawski a03b106cc2 MDL-36597 - bump version number 2012-12-17 13:52:22 +08:00
Dan Poltawski dfa45f7ddc Merge branch 'w50_MDL-36597_m25_courselang' of git://github.com/skodak/moodle 2012-12-17 13:51:32 +08:00
Dan Poltawski efda4a8340 Merge branch 'MDL-29334_master' of git://github.com/markn86/moodle 2012-12-17 13:47:44 +08:00
Dan Poltawski 8ca70aff14 Merge branch 'wip-mdl-36736' of git://github.com/rajeshtaneja/moodle 2012-12-17 12:08:57 +08:00
Dan Poltawski 9199e53de2 Merge branch 'wip-MDL-25928-m25' of git://github.com/samhemelryk/moodle 2012-12-17 12:05:05 +08:00
Dan Poltawski bfcbbc9833 Merge branch 'wip-MDL-35874-master' of git://github.com/phalacee/moodle 2012-12-17 11:52:55 +08:00
Dan Poltawski 00a9fa5d9a Merge branch 'wip-MDL-35979-master' of git://github.com/phalacee/moodle 2012-12-17 11:48:32 +08:00
Dan Poltawski 06ae410844 Merge branch 'MDL-37078-master' of git://github.com/sammarshallou/moodle 2012-12-17 11:36:57 +08:00
Dan Poltawski a8103b1c07 Merge branch 'MDL-37165-master' of git://github.com/damyon/moodle 2012-12-17 11:30:27 +08:00
Sam Hemelryk 6a1273cbc7 MDL-25928 course: Fixed course info on the combo list to be a popup 2012-12-17 16:03:06 +13:00
Petr Škoda 75427a824c MDL-37171 fix multiple spreadsheet related PHP4isms 2012-12-15 12:36:40 +01:00
Petr Škoda 04463c0ea6 MDL-36245 add tests for the buggy utf-8 to utf-8 conversion 2012-12-15 11:50:17 +01:00
Petr Škoda e9a3070676 MDL-36245 try to workaround buggy iconv() when converting text from utf-8 to utf-8 2012-12-15 11:50:17 +01:00
Petr Škoda 83be0dfd57 MDL-36475 tweak zIndexes once more
The expected ranges are now:
* 0-1000 for normal code
* 5000-5999 for TinyMCE
* 7000-8999 for filepicker and filemanager

This patch fixes also incorrect location of "MDL-25736 - French spellchecker fixes." modification reminder.
2012-12-15 11:46:46 +01:00
Joseph Rezeau 26efb4888f MDL-37114 quiz form validation: feedback boundaries.
The feedback boundaries must either be a number or a percentage.
We were not correctly validating the non-percentage case.
2012-12-15 10:44:51 +00:00
Thanh Le 31f4086460 MDL-36259 course short names: ensure it displays when enabled in admin
Fixed 5 Moodle pages that does not display the course short name even if "Display extended course names" setting is on.  In fixing this, search.php also included related minor code to change to minimise DB calls to improve performance.
2012-12-15 10:44:34 +00:00
Petr Škoda 57160c25d7 MDL-36493 improve timeout handling in mysql upgrade
Credit goes to Mark Nielsen, thanks.
2012-12-15 11:43:52 +01:00
Petr Škoda 801ae0f4d8 MDL-36493 improve performance of mysql unsigned/lob upgrade 2012-12-15 11:43:52 +01:00
Tim Hunt e4ca11842b MDL-32245 question bank: fix coding style in categories.php 2012-12-15 10:41:00 +00:00
Thanh Le 87bee3bcfa MDL-32245 question bank: fix moving categories between contexts. 2012-12-15 10:40:59 +00:00
Petr Škoda a11aa38e80 MDL-37111 copy first post files in single type forum using intro options
This patch also removed the delete button from the first post in single
discussion type forum.

Edit button in the first post leads to the forum edit page now, this should
prevent other problems throwing first post and intro out of sync.
2012-12-15 11:23:42 +01:00
Petr Škoda dbfe415028 MDL-36597 strip '_utf8' from all course.lang fields 2012-12-15 11:13:10 +01:00
Eloy Lafuente (stronk7) c50c84bbae MDL-37176 timezones: updated to 2012j 2012-12-14 20:06:56 +01:00
Eloy Lafuente (stronk7) 20751863e3 weekly on-sync release 2.5dev 2012-12-14 13:33:07 +01:00
Frederic Massart 1fefd1ff8d MDL-36456 repository: S3 handles errors in a nicer way 2012-12-14 17:55:56 +08:00
Damyon Wiese 0c7b691035 MDL-37165 Assignment: Oracle fix for count_submissions_with_status (and friends).
Oracle does not like the use of AS after a join.
2012-12-14 15:10:06 +08:00
Iñaki Arenaza cd37c1dad8 MDL-28585 LDAP Auth doesn't handle password expiration
All credit goes to Mark Ward for proposing the initial patch.

Signed-off-by: Iñaki Arenaza <iarenaza@mondragon.edu>
2012-12-14 00:10:09 +01:00
Eloy Lafuente (stronk7) 04e56da75f Merge branch 'MDL-30700-master' of git://github.com/damyon/moodle 2012-12-13 10:31:59 +01:00
Jason Fowler e9904e0988 MDL-35874 - Blocks - Adding a label to the 'Add a block' block's select field 2012-12-13 15:08:23 +08:00
Jerome Mouneyrac 8118dbd02f MDL-37143 External_warnings: developer should be able to modify the item/itemid/errorcode description 2012-12-13 11:15:50 +08:00
Damyon Wiese d495f2d75e MDL-30700 tablelib: Fixed get_sort_for_table to work with text sorting columns for oracle
This change stores the list of columns that require text sorting in the session,
so the static function "get_sort_for_table" can work without any additional parameters.
2012-12-13 09:58:07 +08:00
Dan Poltawski aa3258d586 Merge branch 'MDL-36897' of git://github.com/timhunt/moodle 2012-12-13 09:54:17 +08:00
sam marshall 79e9e6049b MDL-37078: Restore - section restore fails with multiple availability conditions 2012-12-12 10:47:17 +00:00
Davo Smith 8427de6883 MDL-37014 repository_webdav - strip the server URL from file & folder paths returned by webdav lib (if present) 2012-12-12 08:36:34 +00:00
Tim Hunt 0fe1b50c29 MDL-36897 quiz review: fixup previous commit. 2012-12-12 08:12:16 +00:00
Frederic Massart c24cd39448 MDL-32639 files: Zipping a folder does not overwrite existing files 2012-12-12 14:38:23 +08:00
Frederic Massart 638d72cd0b MDL-32639 files: Improved File Manager download and zip support 2012-12-12 14:38:11 +08:00
Mark Nelson cba235594a MDL-29334 mod_data: if site-wide presets created in <= 1.9 exist convert them to 2.x 2012-12-12 13:18:02 +08:00
Sam Hemelryk e7335920f3 MDL-33448 enrol_manual: Reduced JS get_string calls for the yui widget 2012-12-12 09:37:27 +08:00
Sam Hemelryk abb0ce1b42 MDL-33448 enrol_manual: Reordered things to improve JS performance when enrolling users 2012-12-12 09:37:27 +08:00
Cathal O'Riordan 6d976f3f30 MDL-36644 Assignment: prepend the course upload limit to the options array
Ensure that the course upload limit is the first option in the list of available choices for the Maximum submission size select.
2012-12-12 08:56:59 +08:00
Dan Poltawski 7ac94cab86 Merge branch 'master_MDL-35737' of git://github.com/danmarsden/moodle 2012-12-12 08:43:29 +08:00
Sam Hemelryk fa125570fb Merge branch 'MDL-27619_master' of git://github.com/pauln/moodle 2012-12-12 11:10:05 +13:00
Eloy Lafuente (stronk7) 12e13ce047 Merge branch 'MDL-32880_master_3' of git://github.com/pauln/moodle 2012-12-11 22:48:06 +01:00
Eloy Lafuente (stronk7) 4ad65dc2b6 Merge branch 'm24_MDL-36641_Missing_external_package_HTTP_check' of https://github.com/scara/moodle 2012-12-11 22:42:09 +01:00
Sam Hemelryk 31d5b2dd69 MDL-29805 redirect: added check REQUIRE_CORRECT_ACCESS is true 2012-12-12 09:46:45 +13:00
Sam Hemelryk 16ae43f243 Merge branch 'MDL-29805-master' of git://github.com/mouneyrac/moodle 2012-12-12 09:45:29 +13:00
Sam Hemelryk db8625bd1e Merge branch 'MDL-35593-master' of git://github.com/mouneyrac/moodle 2012-12-12 09:38:43 +13:00
Sam Hemelryk 5514e22d52 Merge branch 'wip_master_mdl-37088_bad_operator_ldap_sync_user' of https://github.com/iarenaza/moodle 2012-12-12 09:35:27 +13:00
Sam Hemelryk 18e4963a74 Merge branch 'MDL-36321_message_participants' of git://github.com/andyjdavis/moodle 2012-12-12 09:29:33 +13:00
Eloy Lafuente (stronk7) 771b820285 Merge branch 'MDL-30700-master' of git://github.com/damyon/moodle 2012-12-11 19:56:31 +01:00
Eloy Lafuente (stronk7) 6b9dfe731e MDL-37032 upgrade: define all the 2.4.0 points 2012-12-11 13:11:11 +01:00
Dan Poltawski 02dd021d26 Merge branch 'w49_MDL-36447_m25_gdtest' of git://github.com/skodak/moodle 2012-12-11 17:54:24 +08:00
Dan Poltawski 70f4fddae5 Merge branch 'MDL-37098' of git://github.com/timhunt/moodle 2012-12-11 17:51:50 +08:00
Tim Hunt 1744033ccb MDL-37098 quiz: event handler fails deleting group with no overrides
This was a regression from MDL-35717.
2012-12-11 09:06:19 +00:00
Dan Poltawski cba50c0088 Merge branch 'MDL-36243' of git://github.com/jmvedrine/moodle 2012-12-11 16:24:10 +08:00
Dan Poltawski 09f5d8344e Merge branch 'wip-MDL-36108-master' of git://github.com/phalacee/moodle 2012-12-11 16:03:09 +08:00
Jason Fowler 4ff849b7db MDL-36108 - Blocks - Online User block's user image's alt attribute is now empty to prevent repetition of text for screen readers 2012-12-11 15:49:50 +08:00
Damyon Wiese 1e4bd9fe25 MDL-30700 Assignment 2.2: Added text_sorting function to tablelib
Allows oracle to sort by text (clob) columns (should be used sparingly).
2012-12-11 15:42:24 +08:00
Dan Poltawski 6236442aad Merge branch 'wip-MDL-36938-m25' of git://github.com/samhemelryk/moodle 2012-12-11 15:18:50 +08:00
Dan Poltawski c3c2fc538a Merge branch 'MDL-36712-master' of git://github.com/damyon/moodle 2012-12-11 14:00:25 +08:00
Dan Poltawski 021504b547 Merge branch 'MDL-36591-master' of git://github.com/damyon/moodle 2012-12-11 13:56:28 +08:00
Dan Poltawski 0fd3fb0c83 Merge branch 'MDL-36897' of git://github.com/timhunt/moodle 2012-12-11 13:54:15 +08:00
Dan Poltawski 4cc8e8cbb1 Merge branch 'MDL-34791-master' of git://git.luns.net.uk/moodle 2012-12-11 13:22:42 +08:00
Dan Poltawski 358414748c Merge branch 'MDL-36808-master' of git://github.com/sammarshallou/moodle 2012-12-11 12:18:12 +08:00
Dan Poltawski 4889da2199 Merge branch 'w49_MDL-36983_m25_ordertext' of git://github.com/skodak/moodle 2012-12-11 12:09:10 +08:00
Dan Poltawski 624b0c3f1d Merge branch 'w49_MDL-36892_m25_enrolreadme' of git://github.com/skodak/moodle 2012-12-11 12:07:06 +08:00
Dan Poltawski cdb7110f72 Merge branch 'MDL-36845' of git://github.com/timhunt/moodle 2012-12-11 11:58:44 +08:00
Dan Poltawski fa18df40c1 Merge branch 'MDL-36828' of https://github.com/aolley/moodle 2012-12-11 11:44:11 +08:00
Dan Poltawski b62f0f8d82 Merge branch 'wip-MDL-36110-master' of git://github.com/phalacee/moodle 2012-12-11 11:32:53 +08:00
Kirill Astashov 9b7a5f654a MDL-36587 Assignment: Hide Download All links when no submission have been made 2012-12-11 11:25:05 +08:00
Dan Poltawski 595282dfcc Merge branch 'wip-MDL-35884-master' of git://github.com/phalacee/moodle 2012-12-11 11:17:29 +08:00
Sam Hemelryk 6e68a3a93c Merge branch 'MDL-36650' of git://github.com/timhunt/moodle 2012-12-11 16:11:13 +13:00
Dan Poltawski 5d44e45264 Merge branch 'MDL-36025-negative-zero' of git://github.com/mpetrowi/moodle 2012-12-11 11:06:28 +08:00
Sam Hemelryk 0aed7e7d71 Merge branch 'w49_MDL-36731_m25_uploadestrict' of git://github.com/skodak/moodle 2012-12-11 16:04:31 +13:00
Dan Poltawski 74bf44284a Merge branch 'MDL-35476-master' of git://github.com/damyon/moodle 2012-12-11 10:49:12 +08:00
Sam Hemelryk fc6acfe242 Merge branch 'MDL-36905' of git://github.com/rwijaya/moodle 2012-12-11 15:44:37 +13:00
Sam Hemelryk 9a8b79864a Merge branch 'MDL-36916' of git://github.com/timhunt/moodle 2012-12-11 15:42:13 +13:00
Dan Poltawski 6434a6c76e Merge branch 'MDL-34052-master' of https://github.com/damyon/moodle 2012-12-11 10:39:19 +08:00
Sam Hemelryk 159537f65a Merge branch 'w49_MDL-36936_m25_composerdev' of git://github.com/skodak/moodle 2012-12-11 15:35:07 +13:00
Dan Poltawski d4b2190728 Merge branch 'w49_MDL-31424_m25_paypalcase' of git://github.com/skodak/moodle 2012-12-11 10:31:33 +08:00
Sam Hemelryk 7a6ef4ee8f Merge branch 'w49_MDL-37060_m25_sessinit' of git://github.com/skodak/moodle 2012-12-11 15:27:26 +13:00
Sam Hemelryk 711e0ad9b7 Merge branch 'MDL-36942' of git://github.com/timhunt/moodle 2012-12-11 15:04:22 +13:00
Sam Hemelryk 6c3b271c3d Merge branch 'MDL-36954' of git://github.com/timhunt/moodle 2012-12-11 14:59:56 +13:00
Dan Poltawski b3b4fad994 Merge branch 'MDL-36773-master' of git://github.com/mouneyrac/moodle 2012-12-11 09:56:40 +08:00
Sam Hemelryk 46c02a6a91 Merge branch 'wip-mdl-37017' of git://github.com/rajeshtaneja/moodle 2012-12-11 14:54:16 +13:00
Sam Hemelryk 9a2a9b146f Merge branch 'w49_MDL-37061_m25_invalidlang' of git://github.com/skodak/moodle 2012-12-11 14:44:08 +13:00
Sam Hemelryk 0296e662a3 Merge branch 'w49_MDL-29442_m25_entityutf8' of git://github.com/skodak/moodle 2012-12-11 10:22:19 +13:00
Sam Hemelryk 4e0c4ec70d Merge branch 'MDL-36263-master' of git://github.com/damyon/moodle 2012-12-11 10:17:57 +13:00
Sam Hemelryk a77a8f1e9d Merge branch 'MDL-37020-master' of https://github.com/mackensen/moodle 2012-12-11 09:48:05 +13:00
Sam Hemelryk 3dd842ebfb Merge branch 'MDL-36601-master' of git://git.luns.net.uk/moodle 2012-12-11 09:42:17 +13:00
Sam Hemelryk 5f27d13454 Merge branch 'MDL-36805-master' of git://git.luns.net.uk/moodle 2012-12-11 09:16:47 +13:00
Sam Hemelryk 8ebf086d31 Merge branch 'wip-MDL-37011' of git://github.com/abgreeve/moodle 2012-12-11 08:42:40 +13:00
Iñaki Arenaza a5428e15b2 MDL-37088 auth_ldap: bad operator in ldap sync_user() method 2012-12-10 16:52:42 +01:00
Andrew Robert Nicols a71d9a9414 MDL-34791 AJAX Update a graded activity's title in the gradebook on rename 2012-12-10 14:14:28 +00:00
Dan Poltawski 303cccc5a6 MDL-36755 course_overview block: fix for fix.
I will stop commiting now.
2012-12-10 19:45:19 +08:00
Dan Poltawski 36508a201a MDL-36755 course_overview block: fix idiot version
I will shoot the programmer responsible for this mess.
2012-12-10 19:41:16 +08:00
Dan Poltawski e3b494e379 Merge branch 'w49_MDL-36737_m25_glossstrict' of git://github.com/skodak/moodle 2012-12-10 19:37:24 +08:00
Danny Wahl 9a8caba238 MDL-36991: Conditional activity restrictions should be displayed as list 2012-12-10 11:36:17 +00:00
Dan Poltawski 91c5477606 Merge branch 'MDL-36755_master' of git://github.com/markn86/moodle
Conflicts:
	blocks/course_overview/version.php
2012-12-10 19:32:10 +08:00
Dan Poltawski 6aa4fccc74 MDL-36167 fix trailing whitespace 2012-12-10 17:35:58 +08:00
Dan Poltawski 76089dc378 Merge branch 'MDL-36167-master' of git://github.com/damyon/moodle 2012-12-10 17:31:41 +08:00
Dan Poltawski 69e0b225c1 Merge branch 'MDL-36732' of git://github.com/timhunt/moodle 2012-12-10 15:17:46 +08:00
Damyon Wiese 8f7e1c05af MDL-36263 Assignment: Do not count submissions of unenrolled users 2012-12-10 14:54:24 +08:00
Damyon Wiese 7a9fd6da43 MDL-36908 Assignment: Additional fixes for preventing empty submissions 2012-12-10 14:54:24 +08:00
Dan Poltawski adce3fa833 Merge branch 'MDL-36549' of git://github.com/rwijaya/moodle 2012-12-10 14:18:32 +08:00
Dan Poltawski 3b49f655b2 Merge branch 'MDL-36856' of git://github.com/kastashov/moodle 2012-12-10 14:04:22 +08:00
Dan Poltawski 9278e2dbef Merge branch 'MDL-36835-master' of git://github.com/damyon/moodle 2012-12-10 14:01:56 +08:00
Dan Poltawski 8df07e5086 Merge branch 'MDL-36538_webdav_memory' of git://github.com/davosmith/moodle 2012-12-10 13:06:37 +08:00
Vadim Dvorovenko 697ade2850 MDL-32639 files: Removing '0' start folder in archives created with filemanager 2012-12-10 12:30:29 +08:00
Frederic Massart 97a8edddf0 MDL-27901 navigation: Notice when an admin node name is already used 2012-12-10 12:29:41 +08:00
Marina Glancy c8f9faba0c MDL-36339 Modify themes to add course headers and footers provided by course format 2012-12-10 12:14:57 +08:00
Dan Poltawski 9c714c83b7 Merge branch 'w49_MDL-35456_m25_paypal' of git://github.com/skodak/moodle 2012-12-10 12:03:03 +08:00
Dan Poltawski 2e6aff57e5 Merge branch 'MDL-35404' of git://github.com/timhunt/moodle 2012-12-10 11:36:38 +08:00
Dan Poltawski 7689a5837a Merge branch 'wip-MDL-36939-m25' of git://github.com/samhemelryk/moodle 2012-12-10 11:08:42 +08:00
Sam Hemelryk 845774bf33 Merge branch 'MDL-30961-master' of git://github.com/mouneyrac/moodle 2012-12-10 14:59:42 +13:00
Dan Poltawski d31c08b698 Merge branch 'MDL-36680_hidden' of git://github.com/andyjdavis/moodle 2012-12-10 09:56:09 +08:00
Danny Wahl e46fce762a MDL-23504 Theme: Extended support of colors in color picker 2012-12-10 09:54:45 +08:00
Sam Hemelryk 754f808546 Merge branch 'MDL-36946-master' of git://github.com/micaherne/moodle 2012-12-10 14:43:40 +13:00
Sam Hemelryk 11e95000bd Merge branch 'MDL-34592_master' of git://github.com/lazydaisy/moodle 2012-12-10 14:28:44 +13:00
Sam Hemelryk d60ac860ea Merge branch 'MDL-36608_master' of git://github.com/lazydaisy/moodle 2012-12-10 14:24:39 +13:00
Sam Hemelryk 018e659061 Merge branch 'MDL-36978' of git://github.com/lazydaisy/moodle 2012-12-10 14:21:37 +13:00
Sam Hemelryk 9a3e76e01e Merge branch 'MDL-36579_modLtiBackupFields' of git://github.com/moodlerooms/moodle 2012-12-10 14:16:00 +13:00
Mark Nielsen e893c6d442 MDL-36607: Improve block drag and drop
* Adding support for subpage
* Adding support for regions that do not start with "side-"
2012-12-10 14:12:57 +13:00
Sam Hemelryk 9d8abffc87 Merge branch 'MDL-35954_master' of git://github.com/markn86/moodle 2012-12-10 14:08:06 +13:00
Adrian Greeve 5cc0c73ab2 MDL-37011 - themes: Fixed the alignment of the edit and help icon on the participants page. 2012-12-10 08:58:29 +08:00
Sam Hemelryk 1b4e47e43a Merge branch 'MDL-36433-master' of git://github.com/itamart/moodle 2012-12-10 12:13:32 +13:00
Sam Hemelryk 8b5944b9b9 Merge branch 'MDL-36764' of git://github.com/danpoltawski/moodle 2012-12-10 11:54:01 +13:00
Sam Hemelryk a429049ce5 Merge branch 'MDL-36778' of git://github.com/danpoltawski/moodle 2012-12-10 11:51:38 +13:00
Sam Hemelryk 7e4dd7f6c2 Merge branch 'MDL-36887' of git://github.com/danpoltawski/moodle 2012-12-10 11:48:22 +13:00
Sam Hemelryk 533469cba4 Merge branch 'MDL-36640-master' of git://git.luns.net.uk/moodle 2012-12-10 11:42:57 +13:00
Mary Evans e907c68530 MDL-34592 theme_magazine: Fixes the report grader fixed column misalignment in magazine/style/core.css theme, plus fixes all CORE themes with minor adjustment to grade/report/grader/style.css 2012-12-09 22:23:42 +00:00
Andrew Robert Nicols e275e8c3cd MDL-36918 Decode HTML entities on ajax update title 2012-12-10 11:15:50 +13:00
Sam Hemelryk fa9b53cdf8 Merge branch 'message_nav' of git://github.com/andyjdavis/moodle 2012-12-10 11:00:17 +13:00
Sam Hemelryk 70d09e7fd6 Merge branch 'MDL-36761_loop' of git://github.com/andyjdavis/moodle 2012-12-10 10:54:32 +13:00
Sam Hemelryk f6c922e71f Merge branch 'MDL-34591_master' of git://github.com/grabs/moodle 2012-12-10 10:49:21 +13:00
Sam Hemelryk d72f2212da Merge branch 'wip-MDL-35221-master' of git://github.com/kwiliarty/moodle 2012-12-10 10:41:35 +13:00
Sam Hemelryk bb682c1ac2 Merge branch 'wip-MDL-36906-master' of git://github.com/abgreeve/moodle 2012-12-10 10:33:48 +13:00
Sam Hemelryk 6d48072205 Merge branch 'wip-MDL-36915-master' of git://github.com/abgreeve/moodle 2012-12-10 10:27:25 +13:00
Sam Hemelryk d229ac0f0a Merge branch 'wip-MDL-37026-master' of git://github.com/abgreeve/moodle 2012-12-10 10:23:55 +13:00
Sam Hemelryk 13980de16b Merge branch 'MDL-33125' of git://github.com/aolley/moodle 2012-12-10 10:19:32 +13:00
Petr Škoda 65598feb36 MDL-36447 skip file preview test if GD not available 2012-12-09 19:22:01 +01:00
Andreas Grabs a8e85e05bc MDL-34591 - paypal does not allow unenrol 2012-12-09 19:10:52 +01:00
Petr Škoda 1a4596e434 MDL-29442 add missing utf-8 to entity html encoding and decoding 2012-12-09 18:21:38 +01:00
Petr Škoda 25336547e8 MDL-37061 always validate lang when setting session user
This should resolve problems with TinyMCE langs and some unknown MUCH caching issue.
2012-12-09 11:28:36 +01:00
Mary Evans 3c202221a8 MDL-36978 theme_standardold: fixes misplaced block region check in layout/frontpage.php which, with hindsight should have been fixed in MDL-23226. 2012-12-08 22:20:05 +00:00
Petr Škoda 443bb9c103 MDL-36737 fix random glossary E_STRICT issue 2012-12-08 14:44:05 +01:00
Jean-Michel Vedrine 7980a381cc MDL-36243 question->questiontext and question->generalfeedback should always be strings 2012-12-08 14:09:26 +01:00
Petr Škoda a552544370 MDL-31424 compare PayPal emails case-insensitively
Credit goes to Chris Follin, thanks!
2012-12-08 13:16:04 +01:00
Petr Škoda 3277509a60 MDL-37060 prevent notice in session_get_instance() 2012-12-08 12:31:05 +01:00
Petr Škoda b7a9c85118 MDL-35456 use HTTP 1.1 for PayPal IPN 2012-12-08 11:58:05 +01:00
Eloy Lafuente (stronk7) 4bd6f71bad weekly on-sync release 2.5dev 2012-12-08 02:58:07 +01:00
Petr Škoda 32772035e1 MDL-36936 require phpunit as composer --dev only 2012-12-07 18:20:03 +01:00
Petr Škoda 756869d2c2 MDL-36892 delete outdated enrol info 2012-12-07 17:15:39 +01:00
Davo Smith e38f699271 MDL-36538 repository_webdav - save files directly to local filesystem, rather than buffering in memory 2012-12-07 09:17:28 +00:00
Jason Fowler ceb3551726 MDL-35884 - Course - Remove text from ALT attribute for activity chooser 2012-12-07 13:50:08 +08:00
Rajesh Taneja 7d0eaf7414 MDL-37017 My Moodle: Course name should be fullname of course 2012-12-07 11:35:47 +08:00
Sam Hemelryk f0ce225c12 MDL-36938 cache: test performance script checks requirements now 2012-12-07 08:38:14 +13:00
Sam Hemelryk 7d18285720 MDL-36939 cache: instance form validation now handles errors properly 2012-12-07 08:38:05 +13:00
Petr Škoda b39eac3eca MDL-36983 fix incorrect test method name
Credit goes to David Scotson, thanks.
2012-12-06 15:32:15 +01:00
Andrew Davidson cd766190aa MDL-37034 - Added appropriate name to category settings navigation node 2012-12-06 14:08:25 +00:00
Petr Škoda e95bf5b50a MDL-36731 fix E_STRICt issue when creating new groups in user upload 2012-12-06 13:15:16 +01:00
Amy Groshek 62434c8a53 MDL-36960 - fix broken horizontal positioning of titles for docked blocks 2012-12-06 12:10:38 +08:00
David Mudrák 8663b090c0 MDL-36963 Do not attempt to remove the root folder of a plugin during the update deployment
There is no need to move the root folder of a plugin during the update
deployment. We just need to operate with its contents. So the web server
process can have the write access for the plugin folder only.
2012-12-06 11:03:35 +08:00
David Mudrák dabe5acc42 MDL-36963 Add unit tests for directory operations in mdeploy.php 2012-12-06 11:03:35 +08:00
David Mudrák 75879a9e74 MDL-36963 Improve mdeploy worker::remove_directory() method
The additional parameter allows to use this method without actual
removing the root of the path. That is, it is now possible to remove
the content of a folder only.
2012-12-06 11:03:35 +08:00
David Mudrák b68bbc5ae1 MDL-36963 Improve mdeploy worker::move_directory() method
The additional parameter allows to use this method without actual
removing the root of the source location. That is, it is now possible to
move the content of a folder only.

Also, a small refactoring happened here as we will need a variant of
this method that does not throw exception if the target already exists.
2012-12-06 11:03:35 +08:00
Adrian Greeve 3370f216a2 MDL-37026 - lib: The function user_can_assign() returns true for admins. 2012-12-06 10:52:09 +08:00
Eloy Lafuente (stronk7) ee22329a90 Merge branch 'wip-MDL-36341-m24' of git://github.com/samhemelryk/moodle 2012-12-06 02:24:47 +01:00
David Mudrák fa1415f193 MDL-37003 Fix repeated line in update notification email
There was a problem experienced after 2.4.0 release because the version
of the 2.4.0 release was the same as 2.5dev release. So the version
value matched twice in the loop and the line was repeated in the email.
2012-12-06 01:50:48 +01:00
David Mudrák d2713eff38 MDL-36943 Do not notify about already installed updates
Before this patch, the available_update_checker::cron_notifications()
method accessed the availableupdates property. But for plugins, that property
basically contains the most recent version available. So we were missing
the check against the actual version installed.

The fix was simple - obtain available updates via the available_updates()
method that performs the check.
2012-12-06 01:50:42 +01:00
Charles Fulton ab0ccc6731 MDL-37020 auth_shibboleth: check if target variable is actually set 2012-12-05 11:18:37 -08:00
Marina Glancy e28d5db2ee MDL-36840 Set course.format to 'site' for site-course 2012-12-05 10:31:24 +08:00
Jason Fowler b815ccd319 MDL-35979 - Commenting - Adding an empty alt attribute to the javascript generated delete icon for comments 2012-12-05 10:00:38 +08:00
Iñaki Arenaza 326929d54a MDL-3941 auth/cas auth/ldap enrol/ldap Add support for LDAP-TLS.
Credit goes to Chris Bandy for proposing the initial patch.
2012-12-04 12:11:06 +01:00
Jason Fowler 7245acb222 MDL-36110 - Blocks - Community finder icon alt attribute is now empty 2012-12-04 15:15:22 +08:00
Jerome Mouneyrac e9e567f33c MDL-29805 add REQUIRE_CORRECT_ACCESS define + return error code when AJAX_SCRIPT fails 2012-12-04 11:47:19 +08:00
Eloy Lafuente (stronk7) 03953061ca NOBUG: Bump backup relese for 2.5dev 2012-12-03 21:11:33 +01:00
Eloy Lafuente (stronk7) cf08763204 weekly release 2.5dev 2012-12-03 20:05:30 +01:00
Mark Nielsen bf989c2f3a MDL-36986: Adding course_restored event trigger 2012-12-03 09:37:29 -08:00
Jason Fowler 5bc4936954 MDL-35816 - File picker - Adding ALT attributes to the icons of the file picker 2012-12-03 14:00:05 +08:00
Jerome Mouneyrac 87ede25c9b MDL-35593 core_webservice_get_site_info returns version number set to PARAM_TEXT and PARAM_FLOAT 2012-12-03 10:47:38 +08:00
Sam Hemelryk cc52e16c4a MDL-36341 calendar: fixed JS bug with popup node setter 2012-12-03 11:31:34 +13:00
Tim Hunt 609a7676e4 MDL-36897 quiz: redirect teachers from summary to review page.
There is already logic like this at the top of attempt.php. If the
teacher arrives at one of these pages for a student's attempt, for
example by clicking a link in the logs, then they should be redirected
to the review page to see the students attempt in its current state.
2012-11-30 15:58:54 +00:00
Tim Hunt bf4045599c MDL-36845 excel export: don't output invalid sheet names.
We should clean any proposed worksheet name, to remove the characters
that Excel does not allow.
2012-11-30 15:58:36 +00:00
Tim Hunt 6b290a491c MDL-36732 Cloze qtype: review marks should not depend on feedback.
The various review options should be independent.
2012-11-30 15:58:12 +00:00
Tim Hunt c23513dbe4 MDL-36650 don't change question timecreated or timemodified on restore. 2012-11-30 15:57:51 +00:00
Michael Aherne 2211f50422 MDL-36946 theme Use server default theme before standard 2012-11-30 12:11:07 +00:00
Tim Hunt 7c86af621e MDL-35404 question export: make it work with slasharguments off.
Thanks to Brian King for working out the problem and how to fix it. I am
just committing his patch.
2012-11-30 11:48:26 +00:00
Jerome Mouneyrac 11d819364e MDL-30961 get_course_contents: returned activity name should not be check against PARAM_TEXT, it could be anything 2012-11-30 14:22:16 +08:00
Dan Poltawski 7b48acebaf MDL-36778 course - prevent undefined index warnings
When logged in as a guest the mform didn't set userid.
2012-11-30 12:27:09 +08:00
Dan Poltawski 054124a3ed MDL-36887 quiz: reorder upgrade.txt's 2012-11-30 11:41:01 +08:00
Andrew Davis 0a5b8e9e2c MDL-36321 core_message: made the course participants list correctly show if course participants are contacts or not 2012-11-30 11:14:09 +08:00
Andrew Davis aee968da79 MDL-36761 core_grade:shifted a call to count() out of a loop 2012-11-30 11:05:44 +08:00
Jerome Mouneyrac 8158ce79f9 MDL-36773 timezone inconsistency => some number support decimal other don\'t - Original patch author: Nathan Mares 2012-11-30 10:11:55 +08:00
Damyon Wiese 85c5083054 MDL-36835 Assignment: Do not show javascript warning when toggling quickgrading 2012-11-30 10:04:31 +08:00
Adrian Greeve dfdd9c9b11 MDL-36915 - mod/data: A database with no entries no longer displays the export to portfolio button. 2012-11-30 09:57:45 +08:00
Davo Smith f5744d1cfa MDL-31484 backup - repeated restores with anonymised users now works correctly 2012-11-29 19:57:16 +00:00
Kevin Wiliarty a6a33636eb MDL-35221 mod_feedback: replace checkbox with advcheckbox for all requirable feedback question types 2012-11-29 11:30:19 -05:00
Davo Smith ead25632bf MDL-33688 filemanager - display progress bars as files uploaded
Also improved the styling of the progress bars (used in course drag and drop upload as well)
2012-11-29 11:33:40 +00:00
Rossiani Wijaya 49f0c151dd MDL-36905 accessibility for assignment grading: add label for grading actions and operations select options 2012-11-29 15:06:49 +08:00
Adrian Greeve 8f3622d89c MDL-36906 - mod_data: Latitude and Logitude error fix.
Thanks to Marcus Boon for providing a patch for this issue.

mod/data/field/latlong/kml.php was missing a context variable.
This was causing an error when trying to download a kml file for
google earth. This variable has now been included.
2012-11-29 14:22:47 +08:00
Damyon Wiese 871941a37a MDL-35476 Assignment: Make submissions_open public so it can be used by plugins 2012-11-28 14:46:17 +08:00
Damyon Wiese e4288042cc MDL-36591 Assignment - rewrite image urls in online text summaries 2012-11-28 10:18:01 +08:00
Andrew Davis 30dd9930ba MDL-36680 core_grade: fixed grade_report::blank_hidden_total() and added unit tests 2012-11-28 08:45:20 +08:00
sam marshall da6076f1cc MDL-36808 Completion: Incorrect escaping for activity name in completion tickbox 2012-11-27 13:00:59 +00:00
David Monllao 67cf74b269 MDL-30899 moodle-core-notification Adding ARIA attributes 2012-11-27 14:41:42 +08:00
David Monllao 4bcbdb3e88 MDL-30899 moodle-core-notification Adding close button title for accessibility 2012-11-27 14:41:42 +08:00
David Monllao f068cac195 MDL-30899 moodle-core-notification Adding focus to non modal windows 2012-11-27 14:40:10 +08:00
David Monllao 729c115195 MDL-30899 moodle-core-notification Adding H1 to notifications headers 2012-11-27 14:40:10 +08:00
David Monllao 789819a9f6 MDL-30899 block_community Changing from overlay to panel references 2012-11-27 14:40:10 +08:00
David Monllao 7b67e0c5eb MDL-30899 modchooser Changing from overlay to panel references 2012-11-27 14:40:09 +08:00
David Monllao 7cd301d191 MDL-30899 moodle-core-notification Replacing Y.Overlay for Y.Panel
References to lightbox are still there to maintain the same
external API but are converted to a modal attribute internally,
same with closeButton, now it uses the Y.Panel close button
2012-11-27 14:40:09 +08:00
Kirill Astashov cc2ed22851 MDL-36856: Fix method name misspelled in two places in mod_assign 2012-11-27 16:15:26 +10:30
Luke Tucker fb11a70254 MDL-34052 assignment - Disable submission and feedback plugins based on assign type when upgrading 2012-11-27 13:40:22 +08:00
Paul Nicholls 11c56e2489 MDL-27619: Prevent teachers from turning course Outcomes into site-wide ones
Similar to the issue which allowed teachers to create site-wide scales by editing a course-specific scale (MDL-24682), teachers could also promote a course-specific scale to a site-wide (standard) by editing it.  As with MDL-24682, removing the course ID check (leaving just the capability check) prevents this unauthorised creation of site-wide (standard) outcomes.
2012-11-27 09:30:30 +13:00
Matteo Scaramuccia f833171fd1 MDL-36641 Missing HTTP check when using an external resource 2012-11-26 07:43:17 +01:00
Adam Olley d684074114 MDL-36828: mod_scorm: Allow deletion of scorm modules if no scorm_scoes data exists 2012-11-26 15:30:49 +10:30
Adam Olley 8f27b77b26 MDL-33125: core_backup: Prevent import/activity duplication from duplicating manual grade items 2012-11-26 12:19:44 +10:30
Nadav Kavalerchik 2bfdd57619 MDL-36812 - Enabling grade_report_fixedstudents, shows the user's list on the left side of the page, in RTL mode (theme/standard) 2012-11-24 23:12:45 +02:00
Mark Nelson 5fe65fd438 MDL-36741 mod_forum: fixed SQL that was generated when either timed posts or groups were enabled 2012-11-23 17:01:50 +08:00
Jason Fowler 9e7d097926 MDL-35842 - Glossary, Blocks - Joseph Rézeau's patch for setting the Random Glossary block to progress alphabetically 2012-11-23 15:06:27 +08:00
Paul Nicholls c931551acb MDL-32880: Add moodle1 backup converter for rss_client block.
Creates a shell rss_client.xml file, which contains no feeds.  This makes it behave the same as restoring a Moodle 1.9 backup into a different 1.9 site - the block is created, its title is as per the original course, but it has no feeds selected (and none are added to the site's feed list).
2012-11-23 09:29:29 +13:00
Paul Nicholls 14bb973bfa MDL-32880: Add moodle1 backup converter for html block.
This converter processes the HTML block's content, migrating any referenced files.
2012-11-23 09:29:10 +13:00
Paul Nicholls a374ba237c MDL-32880: moodle1 backup converter: add generic block handler
This handler will automatically be used for any block which does not provide its own handler, and should be subclassed by any block which needs to do anything extra (or different).

This commit incorporates contributions from Mike Churchward and API design suggestions from David Mudrak.
2012-11-23 09:28:50 +13:00
Jay Knight 5e9fd83df8 MDL-36704: wrap pending conditions in span tags 2012-11-22 10:42:10 +00:00
Rajesh Taneja 588b94ac65 MDL-36736 course: Availability information should not be visible for hidden modules
If user is viewing hidden module, availability information should only be visible to
user when editing and module is visible. If editing and module is hidden, then hide
availablilty information as it's invalid.
When user is not editing and activity is hidden then don't add availability information.
2012-11-22 15:11:26 +08:00
Rajesh Taneja 7b4737de26 MDL-36736 course: Availability information will use hide class for hidding 2012-11-22 15:11:25 +08:00
Dan Poltawski b3e2aaebc3 MDL-36764 ddl/oracle: fix misleading comment 2012-11-22 10:05:10 +08:00
Michael Aherne df3efbfb2c MDL-35775 group import Support for groupings 2012-11-21 11:04:48 +00:00
Mark Nelson c2aad61661 MDL-35954 javascript: prevent JS from being triggered on select box by clicking on already selected option 2012-11-21 16:54:58 +08:00
Damyon Wiese 56672cb7b4 MDL-36712: Assignment grading with custom scale is affected by the current language 2012-11-21 15:35:08 +08:00
Rossiani Wijaya 46ac70b24c MDL-36549 Lesson module: fixed strict standards errors 2012-11-21 11:22:23 +08:00
Damyon Wiese be79d93fae MDL-36167: Assignment quickgrading fix when there is no grade (ensure feedback still saves)
This patch modifies the previous on by Luke Tucker so that the lastmodified hidden field
is always added to the quickgrading form even if there is no grade for the assignment. This
ensures that the lastmodified checks still work (to prevent teachers overwriting each
others feedback) and feedback is saved when there is no grade.
2012-11-21 09:26:48 +08:00
Luke Tucker 90387b1094 MDL-36167: Update all users in assignment quickgrade form to ensure feedback is saved 2012-11-21 09:26:48 +08:00
Andrew Davis 058dadb059 MDL-36162 core_message: string clean up 2012-11-19 09:16:25 +08:00
Andrew Davis 5e008d36ee MDL-36162 core_message: removed the unnecessary and confusing course URL parameter as well as fixing the broken breadcrumb 2012-11-19 09:16:25 +08:00
Andrew Robert Nicols 3186c12412 MDL-36640 Logging: Correct testing of log->info.
log->info sometimes contains additional information which can be looked up
from other tables. This should only be attempted if the field is numeric,
but the CSV, XLS, and ODS outputs were not making this check.

There is an additional case for the print_mnet_log function which has not
been covered - this is because the mnet logging is currently broken beyond
the scope of this bug rendering this section untestable. These issues are
raised in MDL-36642.
2012-11-16 11:21:29 +00:00
Mary Evans e64be8f52f MDL-36608 theme_sky_high: Removes page-header selector from style/admin.css 2012-11-15 02:44:19 +00:00
Mary Evans 25ac37183f MDL-36608 theme_sky_high: Fixes admin page header 2012-11-15 02:32:52 +00:00
Dan Poltawski 0e35ba6ffc MDL-36357 cleanup - remove double semicolons 2012-11-15 09:51:26 +08:00
David Monllao c25c3c07b4 MDL-28705 enrol_imsenterprise Unit tests for course attributes mapping 2012-11-15 09:50:00 +08:00
David Monllao 2b8f692f71 MDL-28705 enrol_imsenterprise Unit tests for users and courses creation 2012-11-15 09:50:00 +08:00
David Monllao 66dad71990 MDL-28705 enrol_imsenterprise Refining provided patch 2012-11-15 09:50:00 +08:00
Aaron C Spike a65c11b0ca MDL-28705 enrol_imsenterprise Make name mapping configurable 2012-11-15 09:50:00 +08:00
Aaron C Spike b1cabb40eb MDL-28705 enrol_imsenterprise Adjust mapping of names for ims groups 2012-11-15 09:50:00 +08:00
Mary Evans 45efa5d5e7 MDL-36608 theme_sky_high: Fixes missing background image in admin pages 2012-11-15 01:44:45 +00:00
Itamar Tzadok ed608e7ad4 MDL-36433 Forms lib - Added dash escaping to validation script getter. 2012-11-14 01:03:14 -05:00
Adrian Greeve 2b9e957a27 MDL-31750 - course: Unit tests for the function can_move_courses_to_category(). 2012-11-13 09:43:43 +08:00
Adrian Greeve fae51910bf MDL-31750 - course: Creating a consistent api for checking permissions for moving courses to different categories. 2012-11-13 09:42:45 +08:00
Mary Evans 03e6b96987 MDL-36490 theme_standard: reduces the 15px radius down to 3px in style/css3.css for .generalbox objects 2012-11-12 23:34:22 +00:00
Aaron Barnes 5bb05a469a MDL-35556 completion: Improve user completion data permission checking 2012-11-12 00:13:36 +13:00
sam marshall 333e499c4b MDL-34612 Grade condition range validation allows impossible conditions 2012-11-07 10:54:23 +00:00
Andrew Robert Nicols d765695675 MDL-35230 AJAX Only load head and footer javascript if it present 2012-11-05 14:03:11 +00:00
Matt Petro a538cf839e MDL-36025 qtype calculated: Fix handling of "-0" 2012-11-02 11:07:02 -04:00
Jerome Mouneyrac c70b9853da MDL-35543 modify get_users to get_users_by_field (more complex search function named get_users will be implemented later - focussing yet on retrieving user info for a specified field) 2012-10-30 11:36:29 +08:00
Ruslan Kabalin 88be30c28c MDL-36257 forms Make selectyesno output hidden substitution on freezing 2012-10-29 15:00:40 +00:00
Rossiani Wijaya 3195bc849f MDL-35530 Lesson Module: Add question text to facilitate grading 2012-10-29 17:01:09 +08:00
Fábio Souto 8647711201 MDL-29938 implement core_user_get_users as unification
unifies core_user_get_users_by_id and get_course_user_profiles

Conflicts:

	user/lib.php
2012-10-29 12:00:40 +08:00
Dan Marsden db7f1ca70e MDL-35737 SCORM: when scorm_parse is called and external scorm manifest use always update the package. 2012-10-26 15:13:39 +13:00
nread 82b287522e MDL-33669 equella: implement the manage link 2012-06-26 11:56:57 +10:00
Chris Scribner 1706e83bb4 Fixing an issue with not sending the launch_presentation_return_url 2012-04-24 10:48:47 -04:00
5359 changed files with 555031 additions and 300656 deletions
+1
View File
@@ -30,3 +30,4 @@ phpunit.xml
composer.phar
composer.lock
/vendor/
/behat.yml
+48
View File
@@ -0,0 +1,48 @@
{
"browser": true,
"yui": true,
"bitwise": true,
"curly": true,
"eqeqeq": true,
"forin": false,
"immed": true,
"newcap": true,
"noarg": true,
"noempty": true,
"nomen": false,
"onevar": false,
"plusplus": false,
"regexp": false,
"strict": false,
"trailing": true,
"unused": true,
"white": false,
"asi": false,
"boss": false,
"debug": false,
"eqnull": false,
"es5": false,
"esnext": false,
"evil": false,
"expr": false,
"funcscope": false,
"globalstrict": false,
"iterator": false,
"lastsemic": false,
"laxbreak": true,
"laxcomma": false,
"loopfunc": false,
"multistr": false,
"onecase": false,
"proto": false,
"regexdash": false,
"scripturl": false,
"shadow": false,
"smarttabs": false,
"sub": false,
"supernew": false,
"maxerr": 500,
"maxlen": 150,
"passfail": false,
"latedef": true
}
+5 -1
View File
@@ -30,6 +30,9 @@
$strprotect = get_string('blockprotect', 'admin');
$strunprotect = get_string('blockunprotect', 'admin');
// Purge all caches related to blocks administration.
cache::make('core', 'plugininfo_block')->purge();
/// If data submitted, then process and store.
if (!empty($hide) && confirm_sesskey()) {
@@ -127,7 +130,8 @@
$table->define_columns(array('name', 'instances', 'version', 'hideshow', 'undeletable', 'delete', 'settings'));
$table->define_headers(array($strname, $strcourses, $strversion, $strhide.'/'.$strshow, $strprotecthdr, $strdelete, $strsettings));
$table->define_baseurl($CFG->wwwroot.'/'.$CFG->admin.'/blocks.php');
$table->set_attribute('class', 'compatibleblockstable blockstable generaltable');
$table->set_attribute('class', 'admintable blockstable generaltable');
$table->set_attribute('id', 'compatibleblockstable');
$table->setup();
$tablerows = array();
-91
View File
@@ -1,91 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This script fixed incorrectly deleted users.
*
* @package core
* @subpackage cli
* @copyright 2013 Petr Skoda (http://skodak.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require(__DIR__.'/../../config.php');
require_once($CFG->libdir.'/clilib.php');
// Now get cli options.
list($options, $unrecognized) = cli_get_params(array('help'=>false),
array('h'=>'help'));
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help']) {
$help =
"Fix incorrectly deleted users.
This scripts detects users that are marked as deleted instead
of calling delete_user().
Deleted users do not have original username, idnumber or email,
we must also delete all roles, enrolments, group memberships, etc.
Please note this script does not delete any public information
such as forum posts.
Options:
-h, --help Print out this help
Example:
\$sudo -u www-data /usr/bin/php admin/cli/fix_deleted_users.php
";
echo $help;
die;
}
cli_heading('Looking for sloppy user deletes');
// Look for sloppy deleted users where somebody only flipped the deleted flag.
$sql = "SELECT *
FROM {user}
WHERE deleted = 1 AND email LIKE '%@%' AND username NOT LIKE '%@%'";
$rs = $DB->get_recordset_sql($sql);
foreach ($rs as $user) {
echo "Redeleting user $user->id: $user->username ($user->email)\n";
delete_user($user);
}
cli_heading('Deleting all leftovers');
$DB->set_field('user', 'idnumber', '', array('deleted'=>1));
$DB->delete_records_select('role_assignments', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('cohort_members', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('groups_members', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('user_enrolments', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('user_preferences', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('user_info_data', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('user_lastaccess', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('external_tokens', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
$DB->delete_records_select('external_services_users', "userid IN (SELECT id FROM {user} WHERE deleted = 1)");
exit(0);
+46 -10
View File
@@ -1,5 +1,4 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
@@ -16,7 +15,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Enable or disable maintenance mode
* Enable or disable maintenance mode.
*
* @package core
* @subpackage cli
@@ -26,12 +25,13 @@
define('CLI_SCRIPT', true);
require(dirname(dirname(dirname(__FILE__))).'/config.php');
require_once($CFG->libdir.'/clilib.php'); // cli only functions
require(__DIR__.'/../../config.php');
require_once("$CFG->libdir/clilib.php");
require_once("$CFG->libdir/adminlib.php");
// now get cli options
list($options, $unrecognized) = cli_get_params(array('enable'=>false, 'disable'=>false, 'help'=>false),
// Now get cli options.
list($options, $unrecognized) = cli_get_params(array('enable'=>false, 'enablelater'=>0, 'enableold'=>false, 'disable'=>false, 'help'=>false),
array('h'=>'help'));
if ($unrecognized) {
@@ -45,12 +45,14 @@ if ($options['help']) {
Current status displayed if not option specified.
Options:
--enable Enable maintenance mode
--enable Enable CLI maintenance mode
--enablelater=MINUTES Number of minutes before entering CLI maintenance mode
--enableold Enable legacy half-maintenance mode
--disable Disable maintenance mode
-h, --help Print out this help
Example:
\$sudo -u www-data /usr/bin/php admin/cli/maintenance.php
\$ sudo -u www-data /usr/bin/php admin/cli/maintenance.php
"; //TODO: localize - to be translated later when everything is finished
echo $help;
@@ -59,18 +61,52 @@ Example:
cli_heading(get_string('sitemaintenancemode', 'admin')." ($CFG->wwwroot)");
if ($options['enable']) {
if ($options['enablelater']) {
if (file_exists("$CFG->dataroot/climaintenance.html")) {
// Already enabled, sorry.
echo get_string('clistatusenabled', 'admin')."\n";
return 1;
}
$time = time() + ($options['enablelater']*60);
set_config('maintenance_later', $time);
echo get_string('clistatusenabledlater', 'admin', userdate($time))."\n";
return 0;
} else if ($options['enable']) {
if (file_exists("$CFG->dataroot/climaintenance.html")) {
// The maintenance is already enabled, nothing to do.
} else {
enable_cli_maintenance_mode();
}
set_config('maintenance_enabled', 0);
unset_config('maintenance_later');
echo get_string('sitemaintenanceoncli', 'admin')."\n";
exit(0);
} else if ($options['enableold']) {
set_config('maintenance_enabled', 1);
unset_config('maintenance_later');
echo get_string('sitemaintenanceon', 'admin')."\n";
exit(0);
} else if ($options['disable']) {
set_config('maintenance_enabled', 0);
unset_config('maintenance_later');
if (file_exists("$CFG->dataroot/climaintenance.html")) {
unlink("$CFG->dataroot/climaintenance.html");
}
echo get_string('sitemaintenanceoff', 'admin')."\n";
exit(0);
}
if (!empty($CFG->maintenance_enabled)) {
if (!empty($CFG->maintenance_enabled) or file_exists("$CFG->dataroot/climaintenance.html")) {
echo get_string('clistatusenabled', 'admin')."\n";
} else if (isset($CFG->maintenance_later)) {
echo get_string('clistatusenabledlater', 'admin', userdate($CFG->maintenance_later))."\n";
} else {
echo get_string('clistatusdisabled', 'admin')."\n";
}
-113
View File
@@ -892,117 +892,4 @@
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
<MOODLE version="2.6" requires="2.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.1.33" />
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="5.3.3" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="optional">
<FEEDBACK>
<ON_CHECK message="opensslrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="optional">
<FEEDBACK>
<ON_CHECK message="intlrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="64M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="safe_mode" value="0" level="optional">
<FEEDBACK>
<ON_CHECK message="settingsafemode" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+18 -36
View File
@@ -35,7 +35,7 @@
require_once($CFG->libdir . '/adminlib.php');
$action = optional_param('action', '', PARAM_ALPHANUMEXT);
$filterpath = optional_param('filterpath', '', PARAM_PATH);
$filterpath = optional_param('filterpath', '', PARAM_SAFEDIR);
require_login();
$systemcontext = context_system::instance();
@@ -44,6 +44,9 @@
$returnurl = "$CFG->wwwroot/$CFG->admin/filters.php";
admin_externalpage_setup('managefilters');
// Purge all caches related to filter administration.
cache::make('core', 'plugininfo_filter')->purge();
$filters = filter_get_global_states();
// In case any new filters have been installed, but not put in the table yet.
@@ -84,39 +87,22 @@
case 'down':
if (isset($filters[$filterpath])) {
$oldpos = $filters[$filterpath]->sortorder;
if ($oldpos <= count($filters)) {
filter_set_global_state($filterpath, $filters[$filterpath]->active, $oldpos + 1);
}
filter_set_global_state($filterpath, $filters[$filterpath]->active, 1);
}
break;
case 'up':
if (isset($filters[$filterpath])) {
$oldpos = $filters[$filterpath]->sortorder;
if ($oldpos >= 1) {
filter_set_global_state($filterpath, $filters[$filterpath]->active, $oldpos - 1);
}
filter_set_global_state($filterpath, $filters[$filterpath]->active, -1);
}
break;
case 'delete':
if (!empty($filternames[$filterpath])) {
$filtername = $filternames[$filterpath];
} else {
$filtername = $filterpath;
}
if (substr($filterpath, 0, 4) == 'mod/') {
$mod = basename($filterpath);
$a = new stdClass;
$a->filter = $filtername;
$a->module = get_string('modulename', $mod);
print_error('cannotdeletemodfilter', 'admin', $returnurl, $a);
}
// If not yet confirmed, display a confirmation message.
if (!optional_param('confirm', '', PARAM_BOOL)) {
$filtername = filter_get_name($filterpath);
$title = get_string('deletefilterareyousure', 'admin', $filtername);
echo $OUTPUT->header();
echo $OUTPUT->heading($title);
@@ -129,7 +115,7 @@
}
// Do the deletion.
$title = get_string('deletingfilter', 'admin', $filtername);
$title = get_string('deletingfilter', 'admin', $filterpath);
echo $OUTPUT->header();
echo $OUTPUT->heading($title);
@@ -137,8 +123,8 @@
filter_delete_all_for_filter($filterpath);
$a = new stdClass;
$a->filter = $filtername;
$a->directory = $filterpath;
$a->filter = $filterpath;
$a->directory = "$CFG->dirroot/filter/$filterpath";
echo $OUTPUT->box(get_string('deletefilterfiles', 'admin', $a), 'generalbox', 'notice');
echo $OUTPUT->continue_button($returnurl);
echo $OUTPUT->footer();
@@ -185,8 +171,9 @@
$table = new html_table();
$table->head = array(get_string('filter'), get_string('isactive', 'filters'),
get_string('order'), get_string('applyto', 'filters'), get_string('settings'), get_string('delete'));
$table->align = array('left', 'left', 'center', 'left', 'left');
$table->width = '100%';
$table->colclasses = array ('leftalign', 'leftalign', 'centeralign', 'leftalign', 'leftalign', 'leftalign');
$table->attributes['class'] = 'admintable generaltable';
$table->id = 'filterssetting';
$table->data = array();
$lastactive = null;
@@ -241,7 +228,7 @@ function get_table_row($filterinfo, $isfirstrow, $islastactive, $applytostrings)
}
// Disable/off/on
$select = new single_select(filters_action_url($filter, 'setstate'), 'newstate', $activechoices, $filterinfo->active, null, 'active' . basename($filter));
$select = new single_select(filters_action_url($filter, 'setstate'), 'newstate', $activechoices, $filterinfo->active, null, 'active' . $filter);
$select->set_label(get_string('isactive', 'filters'), array('class' => 'accesshide'));
$row[] = $OUTPUT->render($select);
@@ -263,25 +250,20 @@ function get_table_row($filterinfo, $isfirstrow, $islastactive, $applytostrings)
$row[] = $updown;
// Apply to strings.
$select = new single_select(filters_action_url($filter, 'setapplyto'), 'stringstoo', $applytochoices, $applytostrings, null, 'applyto' . basename($filter));
$select = new single_select(filters_action_url($filter, 'setapplyto'), 'stringstoo', $applytochoices, $applytostrings, null, 'applyto' . $filter);
$select->set_label(get_string('applyto', 'filters'), array('class' => 'accesshide'));
$select->disabled = $filterinfo->active == TEXTFILTER_DISABLED;
$row[] = $OUTPUT->render($select);
// Settings link, if required
if (filter_has_global_settings($filter)) {
$row[] = '<a href="' . $CFG->wwwroot . '/' . $CFG->admin . '/settings.php?section=filtersetting' .
str_replace('/', '',$filter) . '">' . get_string('settings') . '</a>';
$row[] = '<a href="' . $CFG->wwwroot . '/' . $CFG->admin . '/settings.php?section=filtersetting' . $filter . '">' . get_string('settings') . '</a>';
} else {
$row[] = '';
}
// Delete
if (substr($filter, 0, 4) != 'mod/') {
$row[] = '<a href="' . filters_action_url($filter, 'delete') . '">' . get_string('delete') . '</a>';
} else {
$row[] = '';
}
$row[] = '<a href="' . filters_action_url($filter, 'delete') . '">' . get_string('delete') . '</a>';
return $row;
}
+22 -3
View File
@@ -59,10 +59,18 @@ $confirmplugins = optional_param('confirmplugincheck', 0, PARAM_BOOL);
$showallplugins = optional_param('showallplugins', 0, PARAM_BOOL);
$agreelicense = optional_param('agreelicense', 0, PARAM_BOOL);
$fetchupdates = optional_param('fetchupdates', 0, PARAM_BOOL);
$newaddonreq = optional_param('installaddonrequest', null, PARAM_RAW);
// Check some PHP server settings
$PAGE->set_url('/admin/index.php');
if (is_null($newaddonreq)) {
$PAGE->set_url('/admin/index.php');
} else {
// We need to set the eventual add-on installation request in the $PAGE's URL
// so that it is stored in $SESSION->wantsurl and the admin is redirected
// correctly once they are logged-in.
$PAGE->set_url('/admin/index.php', array('installaddonrequest' => $newaddonreq));
}
$PAGE->set_pagelayout('admin'); // Set a default pagelayout
$documentationlink = '<a href="http://docs.moodle.org/en/Installation">Installation docs</a>';
@@ -208,8 +216,8 @@ if ($version > $CFG->version) { // upgrade
if (empty($confirmupgrade)) {
$a = new stdClass();
$a->oldversion = "$CFG->release ($CFG->version)";
$a->newversion = "$release ($version)";
$a->oldversion = "$CFG->release (".sprintf('%.2f', $CFG->version).")";
$a->newversion = "$release (".sprintf('%.2f', $version).")";
$strdatabasechecking = get_string('databasechecking', '', $a);
$PAGE->set_title($stradministration);
@@ -423,6 +431,17 @@ if (!empty($id) and $id == $CFG->siteidentifier) {
set_config('registered', time());
}
// Check if we are returning from an add-on installation request at moodle.org/plugins
if (!is_null($newaddonreq)) {
if (!empty($CFG->disableonclickaddoninstall)) {
// The feature is disabled in config.php, ignore the request.
} else {
redirect(new moodle_url('/admin/tool/installaddon/index.php', array(
'installaddonrequest' => $newaddonreq,
'confirm' => 0)));
}
}
// setup critical warnings before printing admin tree block
$insecuredataroot = is_dataroot_insecure(true);
$SESSION->admin_critical_warning = ($insecuredataroot==INSECURE_DATAROOT_ERROR);
+1 -1
View File
@@ -77,7 +77,7 @@ $table->define_columns(array('name', 'version', 'delete'));
$table->define_headers(array(get_string('plugin'), get_string('version'), get_string('delete')));
$table->define_baseurl($PAGE->url);
$table->set_attribute('id', 'localplugins');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->set_attribute('class', 'admintable generaltable');
$table->setup();
$plugins = array();
+2 -2
View File
@@ -85,7 +85,7 @@
echo $OUTPUT->header();
?>
<form method="post" action="index.php">
<table align="center" width="635" class="generalbox" border="0" cellpadding="5" cellspacing="0">
<table align="center" width="635" class="generaltable" border="0" cellpadding="5" cellspacing="0">
<tr>
<td class="generalboxcontent">
<table cellpadding="9" cellspacing="0" >
@@ -106,7 +106,7 @@
</table>
</form>
<form method="post" action="index.php">
<table align="center" width="635" class="generalbox" border="0" cellpadding="5" cellspacing="0">
<table align="center" width="635" class="generaltable" border="0" cellpadding="5" cellspacing="0">
<tr>
<td class="generalboxcontent">
<table cellpadding="9" cellspacing="0" >
+3
View File
@@ -29,6 +29,9 @@
$stractivitymodule = get_string("activitymodule");
$strshowmodulecourse = get_string('showmodulecourse');
// Purge all caches related to activity modules administration.
cache::make('core', 'plugininfo_mod')->purge();
/// If data submitted, then process and store.
if (!empty($hide) and confirm_sesskey()) {
+3
View File
@@ -43,6 +43,9 @@ $configstr = get_string('manageportfolios', 'portfolio');
$return = true; // direct back to the main page
// Purge all caches related to portfolio administration.
cache::make('core', 'plugininfo_portfolio')->purge();
/**
* Helper function that generates a moodle_url object
* relevant to the portfolio
+1 -1
View File
@@ -195,7 +195,7 @@ $table->define_headers(array(get_string('questiontype', 'question'), get_string(
get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
get_string('delete'), get_string('settings')));
$table->set_attribute('id', 'qtypes');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->set_attribute('class', 'admintable generaltable');
$table->setup();
// Add a row for each question type.
+31 -10
View File
@@ -243,9 +243,9 @@ class site_registration_form extends moodleform {
$postsnumber = get_config('hub', 'site_postsnumber_' . $cleanhuburl);
$questionsnumber = get_config('hub', 'site_questionsnumber_' . $cleanhuburl);
$resourcesnumber = get_config('hub', 'site_resourcesnumber_' . $cleanhuburl);
$badges = get_config('hub', 'site_badges_' . $cleanhuburl);
$issuedbadges = get_config('hub', 'site_issuedbadges_' . $cleanhuburl);
$mediancoursesize = get_config('hub', 'site_mediancoursesize_' . $cleanhuburl);
$participantnumberaveragecfg = get_config('hub', 'site_participantnumberaverage_' . $cleanhuburl);
$modulenumberaveragecfg = get_config('hub', 'site_modulenumberaverage_' . $cleanhuburl);
//hidden parameters
$mform->addElement('hidden', 'huburl', $huburl);
@@ -374,40 +374,51 @@ class site_registration_form extends moodleform {
require_once($CFG->dirroot . "/course/lib.php");
$participantnumberaverage = number_format(average_number_of_participants(), 2);
$modulenumberaverage = number_format(average_number_of_courses_modules(), 2);
require_once($CFG->libdir . '/badgeslib.php');
$badges = $DB->count_records_select('badge', 'status <> ' . BADGE_STATUS_ARCHIVED);
$issuedbadges = $DB->count_records('badge_issued');
if (HUB_MOODLEORGHUBURL != $huburl) {
$mform->addElement('checkbox', 'courses', get_string('sendfollowinginfo', 'hub'),
" " . get_string('coursesnumber', 'hub', $coursecount));
$mform->setDefault('courses', $coursesnumber != -1);
$mform->setDefault('courses', true);
$mform->addHelpButton('courses', 'sendfollowinginfo', 'hub');
$mform->addElement('checkbox', 'users', '',
" " . get_string('usersnumber', 'hub', $usercount));
$mform->setDefault('users', $usersnumber != -1);
$mform->setDefault('users', true);
$mform->addElement('checkbox', 'roleassignments', '',
" " . get_string('roleassignmentsnumber', 'hub', $roleassigncount));
$mform->setDefault('roleassignments', $roleassignmentsnumber != -1);
$mform->setDefault('roleassignments', true);
$mform->addElement('checkbox', 'posts', '',
" " . get_string('postsnumber', 'hub', $postcount));
$mform->setDefault('posts', $postsnumber != -1);
$mform->setDefault('posts', true);
$mform->addElement('checkbox', 'questions', '',
" " . get_string('questionsnumber', 'hub', $questioncount));
$mform->setDefault('questions', $questionsnumber != -1);
$mform->setDefault('questions', true);
$mform->addElement('checkbox', 'resources', '',
" " . get_string('resourcesnumber', 'hub', $resourcecount));
$mform->setDefault('resources', $resourcesnumber != -1);
$mform->setDefault('resources', true);
$mform->addElement('checkbox', 'badges', '',
" " . get_string('badgesnumber', 'hub', $badges));
$mform->setDefault('badges', true);
$mform->addElement('checkbox', 'issuedbadges', '',
" " . get_string('issuedbadgesnumber', 'hub', $issuedbadges));
$mform->setDefault('issuedbadges', true);
$mform->addElement('checkbox', 'participantnumberaverage', '',
" " . get_string('participantnumberaverage', 'hub', $participantnumberaverage));
$mform->setDefault('participantnumberaverage', $participantnumberaveragecfg != -1);
$mform->setDefault('participantnumberaverage', true);
$mform->addElement('checkbox', 'modulenumberaverage', '',
" " . get_string('modulenumberaverage', 'hub', $modulenumberaverage));
$mform->setDefault('modulenumberaverage', $modulenumberaveragecfg != -1);
$mform->setDefault('modulenumberaverage', true);
} else {
$mform->addElement('static', 'courseslabel', get_string('sendfollowinginfo', 'hub'),
" " . get_string('coursesnumber', 'hub', $coursecount));
@@ -440,6 +451,16 @@ class site_registration_form extends moodleform {
$mform->addElement('hidden', 'resources', true);
$mform->setType('resources', PARAM_FLOAT);
$mform->addElement('static', 'badgeslabel', '',
" " . get_string('badgesnumber', 'hub', $badges));
$mform->addElement('hidden', 'badges', true);
$mform->setType('badges', PARAM_INT);
$mform->addElement('static', 'issuedbadgeslabel', '',
" " . get_string('issuedbadgesnumber', 'hub', $issuedbadges));
$mform->addElement('hidden', 'issuedbadges', true);
$mform->setType('issuedbadges', PARAM_INT);
$mform->addElement('static', 'participantnumberaveragelabel', '',
" " . get_string('participantnumberaverage', 'hub', $participantnumberaverage));
$mform->addElement('hidden', 'participantnumberaverage', true);
+14
View File
@@ -247,6 +247,20 @@ class registration_manager {
$resourcecount = $DB->count_records('resource');
}
$siteinfo['resources'] = $resourcecount;
// Badge statistics.
require_once($CFG->libdir . '/badgeslib.php');
if (get_config('hub', 'site_badges_' . $cleanhuburl) == -1) {
$badges = -1;
} else {
$badges = $DB->count_records_select('badge', 'status <> ' . BADGE_STATUS_ARCHIVED);
}
$siteinfo['badges'] = $badges;
if (get_config('hub', 'site_issuedbadges_' . $cleanhuburl) == -1) {
$issuedbadges = -1;
} else {
$issuedbadges = $DB->count_records('badge_issued');
}
$siteinfo['issuedbadges'] = $issuedbadges;
//TODO
require_once($CFG->dirroot . "/course/lib.php");
if (get_config('hub', 'site_participantnumberaverage_' . $cleanhuburl) == -1) {
+3 -25
View File
@@ -62,18 +62,7 @@ $siteregistrationform = new site_registration_form('',
$fromform = $siteregistrationform->get_data();
if (!empty($fromform) and confirm_sesskey()) {
// Set to -1 all optional data marked as "don't send" by the admin.
// The function get_site_info() will not calculate the optional data if config is set to -1.
$inputnames = array('courses', 'users', 'roleassignments', 'posts', 'questions', 'resources',
'modulenumberaverage', 'participantnumberaverage');
foreach ($inputnames as $inputname) {
if (empty($fromform->{$inputname})) {
$fromform->{$inputname} = -1;
}
}
// Save the settings.
//save the settings
$cleanhuburl = clean_param($huburl, PARAM_ALPHANUMEXT);
set_config('site_name_' . $cleanhuburl, $fromform->name, 'hub');
set_config('site_description_' . $cleanhuburl, $fromform->description, 'hub');
@@ -95,6 +84,8 @@ if (!empty($fromform) and confirm_sesskey()) {
set_config('site_postsnumber_' . $cleanhuburl, $fromform->posts, 'hub');
set_config('site_questionsnumber_' . $cleanhuburl, $fromform->questions, 'hub');
set_config('site_resourcesnumber_' . $cleanhuburl, $fromform->resources, 'hub');
set_config('site_badges_' . $cleanhuburl, $fromform->badges, 'hub');
set_config('site_issuedbadges_' . $cleanhuburl, $fromform->issuedbadges, 'hub');
set_config('site_modulenumberaverage_' . $cleanhuburl, $fromform->modulenumberaverage, 'hub');
set_config('site_participantnumberaverage_' . $cleanhuburl, $fromform->participantnumberaverage, 'hub');
}
@@ -124,19 +115,6 @@ if ($update and confirm_sesskey()) {
if (!empty($fromform) and empty($update) and confirm_sesskey()) {
if (!empty($fromform) and confirm_sesskey()) { // if the register button has been clicked
// Retrieve the optional info (specially course number, user number, module number average...).
$siteinfo = $registrationmanager->get_site_info($huburl);
$fromform->courses = $siteinfo['courses'];
$fromform->users = $siteinfo['users'];
$fromform->enrolments = $siteinfo['enrolments'];
$fromform->posts = $siteinfo['posts'];
$fromform->questions = $siteinfo['questions'];
$fromform->resources = $siteinfo['resources'];
$fromform->modulenumberaverage = $siteinfo['modulenumberaverage'];
$fromform->participantnumberaverage = $siteinfo['participantnumberaverage'];
$fromform->street = $siteinfo['street'];
$params = (array) $fromform; //we are using the form input as the redirection parameters (token, url and name)
$unconfirmedhub = $registrationmanager->get_unconfirmedhub($huburl);
+2 -2
View File
@@ -38,7 +38,7 @@ class core_register_renderer extends plugin_renderer_base {
public function moodleorg_registration_message() {
$moodleorgurl = html_writer::link('http://moodle.org', 'Moodle.org');
$moodleorgstatsurl = html_writer::link('http://moodle.org/stats', get_string('statsmoodleorg', 'admin'));
$moochurl = html_writer::link(HUB_MOODLEORGHUBURL, 'Moodle.net');
$moochurl = html_writer::link(HUB_MOODLEORGHUBURL, 'MOOCH');
$moodleorgregmsg = get_string('registermoodleorg', 'admin', $moodleorgurl);
$items = array(get_string('registermoodleorgli1', 'admin'),
get_string('registermoodleorgli2', 'admin', $moodleorgstatsurl),
@@ -92,4 +92,4 @@ class core_register_renderer extends plugin_renderer_base {
return html_writer::table($table);
}
}
}
+6 -8
View File
@@ -1245,10 +1245,9 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('report'),
get_string('status'),
);
$servertable->align = array('center', 'center', 'left', 'center');
$servertable->wrap = array('nowrap', '', '', 'nowrap');
$servertable->size = array('10', 10, '100%', '10');
$servertable->attributes['class'] = 'environmenttable generaltable';
$servertable->colclasses = array('centeralign name', 'centeralign status', 'leftalign report', 'centeralign info');
$servertable->attributes['class'] = 'admintable environmenttable generaltable';
$servertable->id = 'serverstatus';
$serverdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
@@ -1258,10 +1257,9 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('report'),
get_string('status'),
);
$othertable->align = array('center', 'left', 'center');
$othertable->wrap = array('', '', 'nowrap');
$othertable->size = array(10, '100%', '10');
$othertable->attributes['class'] = 'environmenttable generaltable';
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'aligncenter status');
$othertable->attributes['class'] = 'admintable environmenttable generaltable';
$othertable->id = 'otherserverstatus';
$otherdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
+7 -1
View File
@@ -61,6 +61,9 @@ if (!empty($action)) {
require_sesskey();
}
// Purge all caches related to repositories administration.
cache::make('core', 'plugininfo_repository')->purge();
/**
* Helper function that generates a moodle_url object
* relevant to the repository
@@ -281,8 +284,11 @@ if (($action == 'edit') || ($action == 'new')) {
// Table to list plug-ins
$table = new html_table();
$table->head = array(get_string('name'), get_string('isactive', 'repository'), get_string('order'), $settingsstr);
$table->align = array('left', 'center', 'center', 'center', 'center');
$table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign', 'centeralign');
$table->id = 'repositoriessetting';
$table->data = array();
$table->attributes['class'] = 'admintable generaltable';
// Get list of used plug-ins
$instances = repository::get_types();
+2 -2
View File
@@ -62,7 +62,7 @@ $return = true;
if (!empty($edit) || !empty($new)) {
if (!empty($edit)) {
$instance = repository::get_instance($edit);
if ($instance->instance->contextid != $context->id) {
if (!$instance->can_be_edited_by_user()) {
throw new repository_exception('nopermissiontoaccess', 'repository');
}
$instancetype = repository::get_type_by_id($instance->options['typeid']);
@@ -124,7 +124,7 @@ if (!empty($edit) || !empty($new)) {
if ($instance->readonly) {
// If you try to delete an instance set as readonly, display an error message.
throw new repository_exception('readonlyinstance', 'repository');
} else if ($instance->instance->contextid != $context->id) {
} else if (!$instance->can_be_edited_by_user()) {
throw new repository_exception('nopermissiontoaccess', 'repository');
}
if ($sure) {
+5 -7
View File
@@ -189,7 +189,7 @@ $assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
<form id="assignform" method="post" action="<?php echo $assignurl ?>"><div>
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
<table summary="" class="roleassigntable generaltable generalbox boxaligncenter" cellspacing="0">
<table id="assigningrole" summary="" class="admintable roleassigntable generaltable" cellspacing="0">
<tr>
<td id="existingcell">
<p><label for="removeselect"><?php print_string('extusers', 'role'); ?></label></p>
@@ -278,15 +278,13 @@ $assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
// Print overview table
$table = new html_table();
$table->tablealign = 'center';
$table->width = '60%';
$table->id = 'assignrole';
$table->head = array(get_string('role'), get_string('description'), get_string('userswiththisrole', 'role'));
$table->wrap = array('nowrap', '', 'nowrap');
$table->align = array('left', 'left', 'center');
$table->colclasses = array('leftalign role', 'leftalign', 'centeralign userrole');
$table->attributes['class'] = 'admintable generaltable';
if ($showroleholders) {
$table->headspan = array(1, 1, 2);
$table->wrap[] = 'nowrap';
$table->align[] = 'left';
$table->colclasses[] = 'leftalign roleholder';
}
foreach ($assignableroles as $roleid => $rolename) {
+112 -10
View File
@@ -738,6 +738,56 @@ class define_role_table_advanced extends capability_table_with_risks {
return $output;
}
/**
* Returns an array of roles of the allowed type.
*
* @param string $type Must be one of: assign, switch, or override.
* @return array
*/
protected function get_allow_roles_list($type) {
global $DB;
if ($type !== 'assign' and $type !== 'switch' and $type !== 'override') {
debugging('Invalid role allowed type specified', DEBUG_DEVELOPER);
return array();
}
if (empty($this->roleid)) {
return array();
}
$sql = "SELECT r.*
FROM {role} r
JOIN {role_allow_{$type}} a ON a.allow{$type} = r.id
WHERE a.roleid = :roleid
ORDER BY r.sortorder ASC";
return $DB->get_records_sql($sql, array('roleid'=>$this->roleid));
}
/**
* Returns an array of roles with the allowed type.
*
* @param string $type Must be one of: assign, switch, or override.
* @return array Am array of role names with the allowed type
*/
protected function get_allow_role_control($type) {
if ($roles = $this->get_allow_roles_list($type)) {
$roles = role_fix_names($roles, null, ROLENAME_ORIGINAL, true);
return implode(', ', $roles);
} else {
return get_string('none');
}
}
/**
* Returns information about the risks associated with a role.
*
* @return string
*/
protected function get_role_risks_info() {
return '';
}
protected function print_field($name, $caption, $field) {
global $OUTPUT;
// Attempt to generate HTML like formslib.
@@ -781,6 +831,12 @@ class define_role_table_advanced extends capability_table_with_risks {
$this->print_field('edit-description', get_string('customroledescription', 'role').'&nbsp;'.$OUTPUT->help_icon('customroledescription', 'role'), $this->get_description_field('description'));
$this->print_field('menuarchetype', get_string('archetype', 'role').'&nbsp;'.$OUTPUT->help_icon('archetype', 'role'), $this->get_archetype_field('archetype'));
$this->print_field('', get_string('maybeassignedin', 'role'), $this->get_assignable_levels_control());
$this->print_field('', get_string('allowassign', 'role'), $this->get_allow_role_control('assign'));
$this->print_field('', get_string('allowoverride', 'role'), $this->get_allow_role_control('override'));
$this->print_field('', get_string('allowswitch', 'role'), $this->get_allow_role_control('switch'));
if ($risks = $this->get_role_risks_info()) {
$this->print_field('', get_string('rolerisks', 'role'), $risks);
}
echo "</div>";
$this->print_show_hide_advanced_button();
@@ -882,6 +938,57 @@ class view_role_definition_table extends define_role_table_advanced {
// Do nothing.
}
/**
* Returns HTML risk icons.
*
* @return string
*/
protected function get_role_risks_info() {
global $OUTPUT;
if (empty($this->roleid)) {
return '';
}
$risks = array();
$allrisks = get_all_risks();
foreach ($this->capabilities as $capability) {
$perm = $this->permissions[$capability->name];
if ($perm != CAP_ALLOW) {
continue;
}
foreach ($allrisks as $type=>$risk) {
if ($risk & (int)$capability->riskbitmask) {
$risks[$type] = $risk;
}
}
}
$risksurl = new moodle_url(get_docs_url(s(get_string('risks', 'role'))));
foreach ($risks as $type=>$risk) {
$pixicon = new pix_icon('/i/' . str_replace('risk', 'risk_', $type), get_string($type . 'short', 'admin'));
$risks[$type] = $OUTPUT->action_icon($risksurl, $pixicon, new popup_action('click', $risksurl));
}
return implode(' ', $risks);
}
/**
* Returns true if the row should be skipped.
*
* @param string $capability
* @return bool
*/
protected function skip_row($capability) {
$perm = $this->permissions[$capability->name];
if ($perm == CAP_INHERIT) {
// Do not print empty rows in role overview, admins need to know quickly what is allowed and prohibited,
// if they want to see the list of all capabilities they can go to edit role page.
return true;
}
parent::skip_row($capability);
}
protected function add_permission_cells($capability) {
$perm = $this->permissions[$capability->name];
$permname = $this->allpermissions[$perm];
@@ -982,8 +1089,6 @@ class override_permissions_table_advanced extends capability_table_with_risks {
* Base class to avoid duplicating code.
*/
abstract class role_assign_user_selector_base extends user_selector_base {
const MAX_USERS_PER_PAGE = 100;
protected $roleid;
protected $context;
@@ -1052,7 +1157,7 @@ class potential_assignees_below_course extends role_assign_user_selector_base {
// Check to see if there are too many to show sensibly.
if (!$this->is_validating()) {
$potentialmemberscount = $DB->count_records_sql($countfields . $sql, $params);
if ($potentialmemberscount > role_assign_user_selector_base::MAX_USERS_PER_PAGE) {
if ($potentialmemberscount > $this->maxusersperpage) {
return $this->too_many_results($search, $potentialmemberscount);
}
}
@@ -1080,9 +1185,6 @@ class potential_assignees_below_course extends role_assign_user_selector_base {
* @copyright 2012 Petr Skoda {@link http://skodak.org}
*/
class role_check_users_selector extends user_selector_base {
const MAX_ENROLLED_PER_PAGE = 100;
const MAX_POTENTIAL_PER_PAGE = 100;
/** @var bool limit listing of users to enrolled only */
var $onlyenrolled;
@@ -1163,7 +1265,7 @@ class role_check_users_selector extends user_selector_base {
if ($sql1) {
$enrolleduserscount = $DB->count_records_sql($countfields . $sql1, $params);
if (!$this->is_validating() and $enrolleduserscount > $this::MAX_ENROLLED_PER_PAGE) {
if (!$this->is_validating() and $enrolleduserscount > $this->maxusersperpage) {
$result[$groupname1] = array();
$toomany = $this->too_many_results($search, $enrolleduserscount);
$result[implode(' - ', array_keys($toomany))] = array();
@@ -1180,7 +1282,7 @@ class role_check_users_selector extends user_selector_base {
}
if ($sql2) {
$otheruserscount = $DB->count_records_sql($countfields . $sql2, $params);
if (!$this->is_validating() and $otheruserscount > $this::MAX_POTENTIAL_PER_PAGE) {
if (!$this->is_validating() and $otheruserscount > $this->maxusersperpage) {
$result[$groupname2] = array();
$toomany = $this->too_many_results($search, $otheruserscount);
$result[implode(' - ', array_keys($toomany))] = array();
@@ -1233,7 +1335,7 @@ class potential_assignees_course_and_above extends role_assign_user_selector_bas
if (!$this->is_validating()) {
$potentialmemberscount = $DB->count_records_sql($countfields . $sql, $params);
if ($potentialmemberscount > role_assign_user_selector_base::MAX_USERS_PER_PAGE) {
if ($potentialmemberscount > $this->maxusersperpage) {
return $this->too_many_results($search, $potentialmemberscount);
}
}
@@ -1658,7 +1760,7 @@ class admins_potential_selector extends user_selector_base {
// Check to see if there are too many to show sensibly.
if (!$this->is_validating()) {
$potentialcount = $DB->count_records_sql($countfields . $sql, $params);
if ($potentialcount > 100) {
if ($potentialcount > $this->maxusersperpage) {
return $this->too_many_results($search, $potentialcount);
}
}
+3 -4
View File
@@ -186,10 +186,9 @@
/// Initialise table.
$table = new html_table();
$table->tablealign = 'center';
$table->align = array('left', 'left', 'left', 'left');
$table->wrap = array('nowrap', '', 'nowrap','nowrap');
$table->width = '90%';
$table->colclasses = array('leftalign', 'leftalign', 'leftalign', 'leftalign');
$table->id = 'roles';
$table->attributes['class'] = 'admintable generaltable';
$table->head = array(
get_string('role') . ' ' . $OUTPUT->help_icon('roles', 'role'),
get_string('description'),
+19
View File
@@ -67,7 +67,21 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
}
$temp->add(new admin_setting_configselect('calendar_maxevents',new lang_string('configmaxevents','admin'),new lang_string('helpupcomingmaxevents', 'admin'),10,$options));
$temp->add(new admin_setting_configcheckbox('enablecalendarexport', new lang_string('enablecalendarexport', 'admin'), new lang_string('configenablecalendarexport','admin'), 1));
// Calendar custom export settings.
$days = array(365 => new lang_string('numdays', '', 365),
180 => new lang_string('numdays', '', 180),
150 => new lang_string('numdays', '', 150),
120 => new lang_string('numdays', '', 120),
90 => new lang_string('numdays', '', 90),
60 => new lang_string('numdays', '', 60),
30 => new lang_string('numdays', '', 30),
5 => new lang_string('numdays', '', 5));
$temp->add(new admin_setting_configcheckbox('calendar_customexport', new lang_string('configcalendarcustomexport', 'admin'), new lang_string('helpcalendarcustomexport','admin'), 1));
$temp->add(new admin_setting_configselect('calendar_exportlookahead', new lang_string('configexportlookahead','admin'), new lang_string('helpexportlookahead', 'admin'), 365, $days));
$temp->add(new admin_setting_configselect('calendar_exportlookback', new lang_string('configexportlookback','admin'), new lang_string('helpexportlookback', 'admin'), 5, $days));
$temp->add(new admin_setting_configtext('calendar_exportsalt', new lang_string('calendarexportsalt','admin'), new lang_string('configcalendarexportsalt', 'admin'), random_string(60)));
$temp->add(new admin_setting_configcheckbox('calendar_showicalsource', new lang_string('configshowicalsource', 'admin'), new lang_string('helpshowicalsource','admin'), 1));
$ADMIN->add('appearance', $temp);
// blog
@@ -96,6 +110,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
);
$temp->add(new admin_setting_configselect('defaulthomepage', new lang_string('defaulthomepage', 'admin'), new lang_string('configdefaulthomepage', 'admin'), HOMEPAGE_SITE, $choices));
$temp->add(new admin_setting_configcheckbox('allowguestmymoodle', new lang_string('allowguestmymoodle', 'admin'), new lang_string('configallowguestmymoodle', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('navshowfullcoursenames', new lang_string('navshowfullcoursenames', 'admin'), new lang_string('navshowfullcoursenames_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('navshowcategories', new lang_string('navshowcategories', 'admin'), new lang_string('confignavshowcategories', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('navshowmycoursecategories', new lang_string('navshowmycoursecategories', 'admin'), new lang_string('navshowmycoursecategories_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('navshowallcourses', new lang_string('navshowallcourses', 'admin'), new lang_string('confignavshowallcourses', 'admin'), 0));
@@ -185,6 +200,10 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
new lang_string('courselistshortnames_desc', 'admin'), 0));
$temp->add(new admin_setting_configtext('coursesperpage', new lang_string('coursesperpage', 'admin'), new lang_string('configcoursesperpage', 'admin'), 20, PARAM_INT));
$temp->add(new admin_setting_configtext('courseswithsummarieslimit', new lang_string('courseswithsummarieslimit', 'admin'), new lang_string('configcourseswithsummarieslimit', 'admin'), 10, PARAM_INT));
$temp->add(new admin_setting_configtext('courseoverviewfileslimit', new lang_string('courseoverviewfileslimit'),
new lang_string('configcourseoverviewfileslimit', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_configtext('courseoverviewfilesext', new lang_string('courseoverviewfilesext'),
new lang_string('configcourseoverviewfilesext', 'admin'), '.jpg,.gif,.png'));
$ADMIN->add('appearance', $temp);
$temp = new admin_settingpage('ajax', new lang_string('ajaxuse'));
+84
View File
@@ -0,0 +1,84 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This file defines settingpages and externalpages under the "badges" section
*
* @package core
* @subpackage badges
* @copyright 2012 onwards Totara Learning Solutions Ltd {@link http://www.totaralms.com/}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Yuliya Bozhko <yuliya.bozhko@totaralms.com>
*/
global $SITE;
if (!empty($CFG->enablebadges) && ($hassiteconfig || has_any_capability(array(
'moodle/badges:viewawarded',
'moodle/badges:createbadge',
'moodle/badges:manageglobalsettings',
'moodle/badges:awardbadge',
'moodle/badges:configuremessages',
'moodle/badges:configuredetails',
'moodle/badges:deletebadge'), $systemcontext))) {
require_once($CFG->libdir . '/badgeslib.php');
$globalsettings = new admin_settingpage('badgesettings', new lang_string('badgesettings', 'badges'),
array('moodle/badges:manageglobalsettings'));
$globalsettings->add(new admin_setting_configtext('badges_defaultissuername',
new lang_string('defaultissuername', 'badges'),
new lang_string('defaultissuername_desc', 'badges'),
$SITE->fullname ? $SITE->fullname : $SITE->shortname, PARAM_TEXT));
$globalsettings->add(new admin_setting_configtext('badges_defaultissuercontact',
new lang_string('defaultissuercontact', 'badges'),
new lang_string('defaultissuercontact_desc', 'badges'),
get_config('moodle','supportemail'), PARAM_EMAIL));
$globalsettings->add(new admin_setting_configtext('badges_badgesalt',
new lang_string('badgesalt', 'badges'),
new lang_string('badgesalt_desc', 'badges'),
'badges' . $SITE->timecreated, PARAM_ALPHANUM));
$globalsettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
$globalsettings->add(new admin_setting_configcheckbox('badges_allowcoursebadges',
new lang_string('allowcoursebadges', 'badges'),
new lang_string('allowcoursebadges_desc', 'badges'), 1));
$ADMIN->add('badges', $globalsettings);
$ADMIN->add('badges',
new admin_externalpage('managebadges',
new lang_string('managebadges', 'badges'),
new moodle_url($CFG->wwwroot . '/badges/index.php', array('type' => BADGE_TYPE_SITE)),
array('moodle/badges:viewawarded')
)
);
$ADMIN->add('badges',
new admin_externalpage('newbadge',
new lang_string('newbadge', 'badges'),
new moodle_url($CFG->wwwroot . '/badges/newbadge.php', array('type' => BADGE_TYPE_SITE)),
array('moodle/badges:createbadge')
)
);
}
+6 -2
View File
@@ -8,7 +8,7 @@ if ($hassiteconfig
or has_capability('moodle/course:create', $systemcontext)
or has_capability('moodle/site:approvecourse', $systemcontext)) { // speedup for non-admins, add all caps used on this page
$ADMIN->add('courses', new admin_externalpage('coursemgmt', new lang_string('coursemgmt', 'admin'), $CFG->wwwroot . '/course/index.php?categoryedit=on',
$ADMIN->add('courses', new admin_externalpage('coursemgmt', new lang_string('coursemgmt', 'admin'), $CFG->wwwroot . '/course/manage.php',
array('moodle/category:manage', 'moodle/course:create')));
/// Course Default Settings Page
@@ -80,7 +80,6 @@ if ($hassiteconfig
$temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion','completion'), '',
0, array(0 => new lang_string('completiondisabled','completion'), 1 => new lang_string('completionenabled','completion'))));
$temp->add(new admin_setting_configcheckbox('moodlecourse/completionstartonenrol', new lang_string('completionstartonenrol','completion'), new lang_string('completionstartonenrolhelp', 'completion'), 0));
$ADMIN->add('courses', $temp);
/// "courserequests" settingpage
@@ -135,6 +134,11 @@ if ($hassiteconfig
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_histories', new lang_string('generalhistories','backup'), new lang_string('configgeneralhistories','backup'), array('value'=>0, 'locked'=>0)));
$ADMIN->add('backups', $temp);
// Create a page for general import configuration and defaults.
$temp = new admin_settingpage('importgeneralsettings', new lang_string('importgeneralsettings', 'backup'), 'moodle/backup:backupcourse');
$temp->add(new admin_setting_configtext('backup/import_general_maxresults', new lang_string('importgeneralmaxresults', 'backup'), new lang_string('importgeneralmaxresults_desc', 'backup'), 10));
$ADMIN->add('backups', $temp);
// Create a page for automated backups configuration and defaults.
$temp = new admin_settingpage('automated', new lang_string('automatedsetup','backup'), 'moodle/backup:backupcourse');
+58 -16
View File
@@ -196,9 +196,9 @@ if ($hassiteconfig) {
50, PARAM_INT, 3));
$ADMIN->add('portfoliosettings', $temp);
$ADMIN->add('portfoliosettings', new admin_externalpage('portfolionew', new lang_string('addnewportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
$ADMIN->add('portfoliosettings', new admin_externalpage('portfoliodelete', new lang_string('deleteportfolio', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
$ADMIN->add('portfoliosettings', new admin_externalpage('portfoliocontroller', new lang_string('manageportfolios', 'portfolio'), $url, 'moodle/site:config', true), '', $url);
$ADMIN->add('portfoliosettings', new admin_externalpage('portfolionew', new lang_string('addnewportfolio', 'portfolio'), $url, 'moodle/site:config', true));
$ADMIN->add('portfoliosettings', new admin_externalpage('portfoliodelete', new lang_string('deleteportfolio', 'portfolio'), $url, 'moodle/site:config', true));
$ADMIN->add('portfoliosettings', new admin_externalpage('portfoliocontroller', new lang_string('manageportfolios', 'portfolio'), $url, 'moodle/site:config', true));
foreach (portfolio_instances(false, false) as $portfolio) {
require_once($CFG->dirroot . '/portfolio/' . $portfolio->get('plugin') . '/lib.php');
@@ -210,9 +210,7 @@ if ($hassiteconfig) {
$portfolio->get('name'),
$url . '?action=edit&pf=' . $portfolio->get('id'),
'moodle/site:config'
),
$portfolio->get('name'),
$url . '?action=edit&pf=' . $portfolio->get('id')
)
);
}
@@ -234,20 +232,15 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_configcheckbox('legacyfilesinnewcourses', new lang_string('legacyfilesinnewcourses', 'admin'), new lang_string('legacyfilesinnewcourses_help', 'admin'), 0));
$ADMIN->add('repositorysettings', $temp);
$ADMIN->add('repositorysettings', new admin_externalpage('repositorynew',
new lang_string('addplugin', 'repository'), $url, 'moodle/site:config', true),
'', $url);
new lang_string('addplugin', 'repository'), $url, 'moodle/site:config', true));
$ADMIN->add('repositorysettings', new admin_externalpage('repositorydelete',
new lang_string('deleterepository', 'repository'), $url, 'moodle/site:config', true),
'', $url);
new lang_string('deleterepository', 'repository'), $url, 'moodle/site:config', true));
$ADMIN->add('repositorysettings', new admin_externalpage('repositorycontroller',
new lang_string('manage', 'repository'), $url, 'moodle/site:config', true),
'', $url);
new lang_string('manage', 'repository'), $url, 'moodle/site:config', true));
$ADMIN->add('repositorysettings', new admin_externalpage('repositoryinstancenew',
new lang_string('createrepository', 'repository'), $url, 'moodle/site:config', true),
'', $url);
new lang_string('createrepository', 'repository'), $url, 'moodle/site:config', true));
$ADMIN->add('repositorysettings', new admin_externalpage('repositoryinstanceedit',
new lang_string('editrepositoryinstance', 'repository'), $url, 'moodle/site:config', true),
'', $url);
new lang_string('editrepositoryinstance', 'repository'), $url, 'moodle/site:config', true));
foreach ($allplugins['repository'] as $repositorytype) {
$repositorytype->load_settings($ADMIN, 'repositorysettings', $hassiteconfig);
}
@@ -316,6 +309,7 @@ if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext))
require_once("$CFG->libdir/pluginlib.php");
$allplugins = plugin_manager::instance()->get_plugins();
}
// Question behaviour settings.
$ADMIN->add('modules', new admin_category('qbehavioursettings', new lang_string('questionbehaviours', 'admin')));
$ADMIN->add('qbehavioursettings', new admin_page_manageqbehaviours());
@@ -323,6 +317,54 @@ if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext))
// Question type settings.
$ADMIN->add('modules', new admin_category('qtypesettings', new lang_string('questiontypes', 'admin')));
$ADMIN->add('qtypesettings', new admin_page_manageqtypes());
// Question preview defaults.
$settings = new admin_settingpage('qdefaultsetting',
get_string('questionpreviewdefaults', 'question'),
'moodle/question:config');
$ADMIN->add('qtypesettings', $settings);
$settings->add(new admin_setting_heading('qdefaultsetting_preview_options',
'', get_string('questionpreviewdefaults_desc', 'question')));
// These keys are question_display_options::HIDDEN and VISIBLE.
$hiddenofvisible = array(
0 => get_string('notshown', 'question'),
1 => get_string('shown', 'question'),
);
$settings->add(new admin_setting_question_behaviour('question_preview/behaviour',
get_string('howquestionsbehave', 'question'), '',
'deferredfeedback'));
$settings->add(new admin_setting_configselect('question_preview/correctness',
get_string('whethercorrect', 'question'), '', 1, $hiddenofvisible));
// These keys are question_display_options::HIDDEN, MARK_ONLY and MARK_AND_MAX.
$marksoptions = array(
0 => get_string('notshown', 'question'),
1 => get_string('showmaxmarkonly', 'question'),
2 => get_string('showmarkandmax', 'question'),
);
$settings->add(new admin_setting_configselect('question_preview/marks',
get_string('marks', 'question'), '', 1, $marksoptions));
$settings->add(new admin_setting_configselect('question_preview/markdp',
get_string('decimalplacesingrades', 'question'), '', 2, array(0, 1, 2, 3, 4, 5, 6, 7)));
$settings->add(new admin_setting_configselect('question_preview/feedback',
get_string('specificfeedback', 'question'), '', 1, $hiddenofvisible));
$settings->add(new admin_setting_configselect('question_preview/generalfeedback',
get_string('generalfeedback', 'question'), '', 1, $hiddenofvisible));
$settings->add(new admin_setting_configselect('question_preview/rightanswer',
get_string('rightanswer', 'question'), '', 1, $hiddenofvisible));
$settings->add(new admin_setting_configselect('question_preview/history',
get_string('responsehistory', 'question'), '', 0, $hiddenofvisible));
// Settings for particular question types.
foreach ($allplugins['qtype'] as $qtype) {
$qtype->load_settings($ADMIN, 'qtypesettings', $hassiteconfig);
}
+5
View File
@@ -59,6 +59,11 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('cronclionly', new lang_string('cronclionly', 'admin'), new lang_string('configcronclionly', 'admin'), 0));
$temp->add(new admin_setting_configpasswordunmask('cronremotepassword', new lang_string('cronremotepassword', 'admin'), new lang_string('configcronremotepassword', 'admin'), ''));
$options = array(0=>get_string('no'), 3=>3, 5=>5, 7=>7, 10=>10, 20=>20, 30=>30, 50=>50, 100=>100);
$temp->add(new admin_setting_configselect('lockoutthreshold', new lang_string('lockoutthreshold', 'admin'), new lang_string('lockoutthreshold_desc', 'admin'), 0, $options));
$temp->add(new admin_setting_configduration('lockoutwindow', new lang_string('lockoutwindow', 'admin'), new lang_string('lockoutwindow_desc', 'admin'), 60*30));
$temp->add(new admin_setting_configduration('lockoutduration', new lang_string('lockoutduration', 'admin'), new lang_string('lockoutduration_desc', 'admin'), 60*30));
$temp->add(new admin_setting_configcheckbox('passwordpolicy', new lang_string('passwordpolicy', 'admin'), new lang_string('configpasswordpolicy', 'admin'), 1));
$temp->add(new admin_setting_configtext('minpasswordlength', new lang_string('minpasswordlength', 'admin'), new lang_string('configminpasswordlength', 'admin'), 8, PARAM_INT));
$temp->add(new admin_setting_configtext('minpassworddigits', new lang_string('minpassworddigits', 'admin'), new lang_string('configminpassworddigits', 'admin'), 1, PARAM_INT));
+1 -3
View File
@@ -7,9 +7,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
// "systempaths" settingpage
$temp = new admin_settingpage('systempaths', new lang_string('systempaths','admin'));
$temp->add(new admin_setting_configselect('gdversion', new lang_string('gdversion','admin'), new lang_string('configgdversion', 'admin'), check_gd_version(), array('0' => new lang_string('gdnot'),
'1' => new lang_string('gd1'),
'2' => new lang_string('gd2'))));
$temp->add(new admin_setting_configexecutable('pathtodu', new lang_string('pathtodu', 'admin'), new lang_string('configpathtodu', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('aspellpath', new lang_string('aspellpath', 'admin'), new lang_string('edhelpaspellpath'), ''));
$temp->add(new admin_setting_configexecutable('pathtodot', new lang_string('pathtodot', 'admin'), new lang_string('pathtodot_help', 'admin'), ''));
+2
View File
@@ -41,4 +41,6 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$checkbox->set_affects_modinfo(true);
$optionalsubsystems->add(new admin_setting_configcheckbox('enableplagiarism', new lang_string('enableplagiarism','plagiarism'), new lang_string('configenableplagiarism','plagiarism'), 0));
$optionalsubsystems->add(new admin_setting_configcheckbox('enablebadges', new lang_string('enablebadges', 'badges'), new lang_string('configenablebadges', 'badges'), 1));
}
+1
View File
@@ -30,6 +30,7 @@ if ($hassiteconfig) {
$ADMIN->add('root', new admin_category('users', new lang_string('users','admin')));
$ADMIN->add('root', new admin_category('courses', new lang_string('courses','admin')));
$ADMIN->add('root', new admin_category('grades', new lang_string('grades')));
$ADMIN->add('root', new admin_category('badges', new lang_string('badges'), (isset($CFG->enablebadges) && $CFG->enablebadges == 0)));
$ADMIN->add('root', new admin_category('location', new lang_string('location','admin')));
$ADMIN->add('root', new admin_category('language', new lang_string('language')));
$ADMIN->add('root', new admin_category('modules', new lang_string('plugins', 'admin')));
+1
View File
@@ -150,6 +150,7 @@ if ($hassiteconfig
'department' => new lang_string('department'),
'institution' => new lang_string('institution'),
)));
$temp->add(new admin_setting_configtext('maxusersperpage', new lang_string('maxusersperpage','admin'), new lang_string('configmaxusersperpage','admin'), 100, PARAM_INT));
$temp->add(new admin_setting_configcheckbox('enablegravatar', new lang_string('enablegravatar', 'admin'), new lang_string('enablegravatar_help', 'admin'), 0));
$temp->add(new admin_setting_configtext('gravatardefaulturl', new lang_string('gravatardefaulturl', 'admin'), new lang_string('gravatardefaulturl_help', 'admin'), 'mm'));
}
+97
View File
@@ -0,0 +1,97 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Steps definitions related with administration.
*
* @package core
* @category test
* @copyright 2013 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php.
require_once(__DIR__ . '/../../../lib/behat/behat_base.php');
require_once(__DIR__ . '/../../../lib/behat/behat_field_manager.php');
use Behat\Gherkin\Node\TableNode as TableNode,
Behat\Mink\Exception\ElementNotFoundException as ElementNotFoundException;
/**
* Site administration level steps definitions.
*
* @package core
* @category test
* @copyright 2013 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class behat_admin extends behat_base {
/**
* Sets the specified site settings. A table with | Setting label | value | is expected.
*
* @Given /^I set the following administration settings values:$/
* @param TableNode $table
*/
public function i_set_the_following_administration_settings_values(TableNode $table) {
if (!$data = $table->getRowsHash()) {
return;
}
foreach ($data as $label => $value) {
// We expect admin block to be visible, otherwise go to homepage.
if (!$this->getSession()->getPage()->find('css', '.block_settings')) {
$this->getSession()->visit($this->locate_path('/'));
$this->getSession()->wait(self::TIMEOUT, '(document.readyState === "complete")');
}
// Search by label.
$searchbox = $this->find_field('Search in settings');
$searchbox->setValue($label);
$submitsearch = $this->find('css', 'form.adminsearchform input[type=submit]');
$submitsearch->press();
$this->getSession()->wait(self::TIMEOUT, '(document.readyState === "complete")');
// Admin settings does not use the same DOM structure than other moodle forms
// but we also need to use lib/behat/form_field/* to deal with the different moodle form elements.
$exception = new ElementNotFoundException($this->getSession(), '"' . $label . '" administration setting ');
$fieldxpath = "//*[self::input | self::textarea | self::select][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]
[@id=//label[contains(normalize-space(string(.)), '" . $label . "')]/@for]";
$fieldnode = $this->find('xpath', $fieldxpath, $exception);
$formfieldtypenode = $this->find('xpath', $fieldxpath . "/ancestor::div[@class='form-setting']
/child::div[contains(concat(' ', @class, ' '), ' form-')]/child::*/parent::div");
// Getting the class which contains the field type.
$classes = explode(' ', $formfieldtypenode->getAttribute('class'));
foreach ($classes as $class) {
if (substr($class, 0, 5) == 'form-') {
$type = substr($class, 5);
}
}
// Instantiating the appropiate field type.
$field = behat_field_manager::get_field_instance($type, $fieldnode, $this->getSession());
$field->set_value($value);
$this->find_button('Save changes')->press();
}
}
}
@@ -0,0 +1,22 @@
@admin
Feature: Display extended course names
In order to display more info about the courses
As a moodle admin
I need to display courses short names along with courses full names
Background:
Given the following "courses" exists:
| fullname | shortname | category |
| Course fullname | C_shortname | 0 |
And I log in as "admin"
Scenario: Courses list without extended course names (default value)
Then I should see "Course fullname"
And I should not see "C_shortname Course fullname"
Scenario: Courses list with extended course names
Given I click on "Courses" "link" in the "//div[@id='settingsnav']//descendant::li[contains(concat(' ', @class, ' '), ' type_setting ')][not(contains(., 'Site administration'))][contains(., 'Appearance')]" "xpath_element"
And I check "Display extended course names"
When I press "Save changes"
And I am on homepage
Then I should see "C_shortname Course fullname"
+46
View File
@@ -0,0 +1,46 @@
@admin @_only_local
Feature: Upload users
In order to add users to the system
As a moodle admin
I need to upload files containing the users data
@javascript
Scenario: Upload users enrolling them on courses and groups
Given the following "courses" exists:
| fullname | shortname | category |
| Maths | math102 | 0 |
And the following "groups" exists:
| name | course | idnumber |
| Section 1 | math102 | S1 |
| Section 3 | math102 | S3 |
And I log in as "admin"
And I expand "Front page settings" node
And I expand "Site administration" node
And I expand "Users" node
And I expand "Accounts" node
And I follow "Upload users"
When I upload "lib/tests/fixtures/upload_users.csv" file to "File" filepicker
And I press "Upload users"
Then I should see "Upload users preview"
And I should see "Tom"
And I should see "Jones"
And I should see "verysecret"
And I should see "jonest@someplace.edu"
And I should see "Reznor"
And I should see "course1"
And I should see "math102"
And I should see "group1"
And I should see "Section 1"
And I press "Upload users"
And I press "Continue"
And I follow "Browse list of users"
And I should see "Tom Jones"
And I should see "Trent Reznor"
And I should see "reznor@someplace.edu"
And I am on homepage
And I follow "Maths"
And I expand "Users" node
And I follow "Groups"
And I select "Section 1 (1)" from "groups"
And I wait "4" seconds
And the "members" select box should contain "Tom Jones"
@@ -32,7 +32,7 @@ require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradable
require_sesskey();
// admin_externalpage_setup calls require_login and checks moodle/site:config
// This calls require_login and checks moodle/site:config.
admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('batchupgrade'));
$PAGE->set_pagelayout('maintenance');
@@ -46,7 +46,8 @@ if (!$confirm) {
die();
}
raise_memory_limit(MEMORY_EXTRA);
session_get_instance()->write_close(); // release session
// Release session.
session_get_instance()->write_close();
echo $renderer->header();
echo $renderer->heading(get_string('batchupgrade', 'tool_assignmentupgrade'));
@@ -62,7 +63,8 @@ $total = count($assignmentids);
foreach ($assignmentids as $assignmentid) {
list($summary, $success, $log) = tool_assignmentupgrade_upgrade_assignment($assignmentid);
$current += 1;
echo $renderer->heading(get_string('upgradeprogress', 'tool_assignmentupgrade', array('current'=>$current, 'total'=>$total)), 3);
$params = array('current'=>$current, 'total'=>$total);
echo $renderer->heading(get_string('upgradeprogress', 'tool_assignmentupgrade', $params), 3);
echo $renderer->convert_assignment_result($summary, $success, $log);
}
+1 -1
View File
@@ -37,7 +37,7 @@ require_once(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/locallib.php');
// admin_externalpage_setup calls require_login and checks moodle/site:config
// This calls require_login and checks moodle/site:config.
admin_externalpage_setup('assignmentupgrade');
$renderer = $PAGE->get_renderer('tool_assignmentupgrade');
@@ -29,7 +29,7 @@ require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradable
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/upgradableassignmentsbatchform.php');
require_once($CFG->dirroot . '/'.$CFG->admin.'/tool/assignmentupgrade/paginationform.php');
// admin_externalpage_setup calls require_login and checks moodle/site:config
// This calls require_login and checks moodle/site:config.
admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('listnotupgraded'));
$PAGE->navbar->add(get_string('listnotupgraded', 'tool_assignmentupgrade'));
@@ -57,4 +57,3 @@ if ($data && $data->selectedassignments != '' || $data && isset($data->upgradeal
echo $renderer->assignment_list_page($assignments, $batchform, $paginationform);
}
+29 -10
View File
@@ -51,17 +51,24 @@ class tool_assignmentupgrade_batchoperationconfirm implements renderable {
* Constructor for this class
* @param stdClass $data - The data from the previous batch form
*/
function __construct($data) {
public function __construct($data) {
if (isset($data->upgradeselected)) {
$this->continuemessage = get_string('upgradeselectedcount', 'tool_assignmentupgrade', count(explode(',', $data->selectedassignments)));
$this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', array('upgradeselected'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey(), 'selected'=>$data->selectedassignments));
$this->continuemessage = get_string('upgradeselectedcount',
'tool_assignmentupgrade',
count(explode(',', $data->selectedassignments)));
$urlparams = array('upgradeselected'=>'1',
'confirm'=>'1',
'sesskey'=>sesskey(),
'selected'=>$data->selectedassignments);
$this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', $urlparams);
} else if (isset($data->upgradeall)) {
if (!tool_assignmentupgrade_any_upgradable_assignments()) {
$this->continuemessage = get_string('noassignmentstoupgrade', 'tool_assignmentupgrade');
$this->continueurl = '';
} else {
$this->continuemessage = get_string('upgradeallconfirm', 'tool_assignmentupgrade');
$this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', array('upgradeall'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey()));
$urlparams = array('upgradeall'=>'1', 'confirm'=>'1', 'sesskey'=>sesskey());
$this->continueurl = new moodle_url('/admin/tool/assignmentupgrade/batchupgrade.php', $urlparams);
}
}
}
@@ -86,7 +93,8 @@ class tool_assignmentupgrade_action {
/**
* Constructor to set the fields.
*
* In order to create a new tool_assignmentupgrade_action instance you must use the tool_assignmentupgrade_action::make
* In order to create a new tool_assignmentupgrade_action instance you must use
* the tool_assignmentupgrade_action::make
* method.
*
* @param string $name the name of this action.
@@ -120,8 +128,13 @@ class tool_assignmentupgrade_action {
function tool_assignmentupgrade_any_upgradable_assignments() {
global $DB, $CFG;
require_once($CFG->dirroot . '/mod/assign/locallib.php');
// first find all the unique assignment types
$types = $DB->get_records_sql('SELECT plugin AS assignmenttype, value AS version FROM {config_plugins} WHERE name = ? AND plugin LIKE ?', array('version', 'assignment_%'));
// First find all the unique assignment types.
$types = $DB->get_records_sql('SELECT plugin AS assignmenttype,
value AS version
FROM {config_plugins}
WHERE
name = ? AND
plugin LIKE ?', array('version', 'assignment_%'));
$upgradabletypes = array();
@@ -133,7 +146,7 @@ function tool_assignmentupgrade_any_upgradable_assignments() {
}
list($sql, $params) = $DB->get_in_or_equal($upgradabletypes);
$count = $DB->count_records_sql('SELECT COUNT(id) from {assignment} where assignmenttype ' . $sql, $params);
$count = $DB->count_records_sql('SELECT COUNT(id) FROM {assignment} WHERE assignmenttype ' . $sql, $params);
return $count > 0;
}
@@ -145,8 +158,14 @@ function tool_assignmentupgrade_any_upgradable_assignments() {
function tool_assignmentupgrade_load_all_upgradable_assignmentids() {
global $DB, $CFG;
require_once($CFG->dirroot . '/mod/assign/locallib.php');
// first find all the unique assignment types
$types = $DB->get_records_sql('SELECT plugin AS assignmenttype, value AS version FROM {config_plugins} WHERE name = ? AND plugin LIKE ?', array('version', 'assignment_%'));
// First find all the unique assignment types.
$types = $DB->get_records_sql('SELECT
plugin AS assignmenttype,
value AS version
FROM {config_plugins}
WHERE
name = ? AND
plugin LIKE ?', array('version', 'assignment_%'));
$upgradabletypes = array();
-1
View File
@@ -1,4 +1,3 @@
M.tool_assignmentupgrade = {
init_upgrade_table: function(Y) {
@@ -24,9 +24,7 @@
defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
/** Include formslib.php */
require_once ($CFG->libdir.'/formslib.php');
require_once($CFG->libdir.'/formslib.php');
/**
* Assignment upgrade table display options
@@ -39,20 +37,20 @@ class tool_assignmentupgrade_pagination_form extends moodleform {
/**
* Define this form - called from the parent constructor
*/
function definition() {
public function definition() {
$mform = $this->_form;
$instance = $this->_customdata;
$mform->addElement('header', 'general', get_string('assignmentsperpage', 'tool_assignmentupgrade'));
// visible elements
// Visible elements.
$options = array(10=>'10', 20=>'20', 50=>'50', 100=>'100');
$mform->addElement('select', 'perpage', get_string('assignmentsperpage', 'assign'), $options);
// hidden params
// Hidden params.
$mform->addElement('hidden', 'action', 'saveoptions');
$mform->setType('action', PARAM_ALPHA);
// buttons
// Buttons.
$this->add_action_buttons(false, get_string('updatetable', 'tool_assignmentupgrade'));
}
}
+8 -3
View File
@@ -100,7 +100,9 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
$output = '';
if ($confirm->continueurl) {
$output .= $this->output->confirm($confirm->continuemessage, $confirm->continueurl, tool_assignmentupgrade_url('listnotupgraded'));
$output .= $this->output->confirm($confirm->continuemessage,
$confirm->continueurl,
tool_assignmentupgrade_url('listnotupgraded'));
} else {
$output .= $this->output->box($confirm->continuemessage);
$output .= $this->output->continue_button(tool_assignmentupgrade_url('listnotupgraded'));
@@ -115,7 +117,9 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
* @param tool_assignmentupgrade_pagination_form $paginationform Form which contains the preferences for paginating the table
* @return string html to output.
*/
public function assignment_list_page(tool_assignmentupgrade_assignments_table $assignments, tool_assignmentupgrade_batchoperations_form $batchform, tool_assignmentupgrade_pagination_form $paginationform) {
public function assignment_list_page(tool_assignmentupgrade_assignments_table $assignments,
tool_assignmentupgrade_batchoperations_form $batchform,
tool_assignmentupgrade_pagination_form $paginationform) {
$output = '';
$output .= $this->header();
$this->page->requires->js_init_call('M.tool_assignmentupgrade.init_upgrade_table', array());
@@ -161,7 +165,8 @@ class tool_assignmentupgrade_renderer extends plugin_renderer_base {
$output .= $this->container(get_string('conversionfailed', 'tool_assignmentupgrade', $log));
} else {
$output .= $this->container(get_string('upgradeassignmentsuccess', 'tool_assignmentupgrade'));
$output .= $this->container(html_writer::link(new moodle_url('/course/view.php', array('id'=>$assignmentsummary->courseid)) ,get_string('viewcourse', 'tool_assignmentupgrade')));
$url = new moodle_url('/course/view.php', array('id'=>$assignmentsummary->courseid));
$output .= $this->container(html_writer::link($url, get_string('viewcourse', 'tool_assignmentupgrade')));
}
$output .= $this->container_end();
+3 -2
View File
@@ -24,8 +24,9 @@
defined('MOODLE_INTERNAL') || die;
if ($hassiteconfig) { // needs this condition or there is error on login page
if ($hassiteconfig) {
// Needs this condition or there is error on login page.
$ADMIN->add('root', new admin_externalpage('assignmentupgrade',
get_string('pluginname', 'tool_assignmentupgrade'),
new moodle_url('/admin/tool/assignmentupgrade/index.php')));
}
}
@@ -24,12 +24,10 @@
defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
/** Include formslib.php */
require_once ($CFG->libdir.'/formslib.php');
require_once($CFG->libdir.'/formslib.php');
/**
* Assignment upgrade batch operations form
* Assignment upgrade batch operations form.
*
* @package tool_assignmentupgrade
* @copyright 2012 NetSpot {@link http://www.netspot.com.au}
@@ -37,14 +35,14 @@ require_once ($CFG->libdir.'/formslib.php');
*/
class tool_assignmentupgrade_batchoperations_form extends moodleform {
/**
* Define this form - is called from parent constructor
* Define this form - is called from parent constructor.
*/
function definition() {
public function definition() {
$mform = $this->_form;
$instance = $this->_customdata;
$mform->addElement('header', 'general', get_string('batchoperations', 'tool_assignmentupgrade'));
// visible elements
// Visible elements.
$mform->addElement('hidden', 'selectedassignments', '', array('class'=>'selectedassignments'));
$mform->addElement('submit', 'upgradeselected', get_string('upgradeselected', 'tool_assignmentupgrade'));
@@ -36,6 +36,7 @@ require_once($CFG->dirroot.'/mod/assign/locallib.php');
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_assignmentupgrade_assignments_table extends table_sql implements renderable {
/** @var int $perpage */
private $perpage = 10;
/** @var int $rownum (global index of current row in table) */
@@ -46,12 +47,13 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
public $anyupgradableassignments = false;
/**
* This table loads a list of the old assignment instances and tests them to see if they can be upgraded
* This table loads a list of the old assignment instances and tests them to see
* if they can be upgraded
*
* @param int $perpage How many per page
* @param int $rowoffset The starting row for pagination
*/
function __construct($perpage, $rowoffset=0) {
public function __construct($perpage, $rowoffset=0) {
global $PAGE;
parent::__construct('tool_assignmentupgrade_assignments');
$this->perpage = $perpage;
@@ -61,12 +63,17 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
$this->anyupgradableassignments = tool_assignmentupgrade_any_upgradable_assignments();
// do some business - then set the sql
// Do some business - then set the sql.
if ($rowoffset) {
$this->rownum = $rowoffset - 1;
}
$fields = 'a.id as id, a.name as name, a.assignmenttype as type, c.shortname as courseshortname, c.id as courseid, COUNT(s.id) as submissioncount';
$fields = 'a.id as id,
a.name as name,
a.assignmenttype as type,
c.shortname as courseshortname,
c.id as courseid,
COUNT(s.id) as submissioncount';
$from = '{assignment} a JOIN {course} c ON a.course = c.id ' .
' LEFT JOIN {assignment_submissions} s ON a.id = s.assignment';
@@ -80,7 +87,10 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
$headers = array();
$columns[] = 'select';
$headers[] = get_string('select', 'tool_assignmentupgrade') . '<div class="selectall"><input type="checkbox" name="selectall" title="' . get_string('selectall') . '"/></div>';
$headers[] = get_string('select', 'tool_assignmentupgrade') .
'<div class="selectall">' .
'<input type="checkbox" name="selectall" title="' . get_string('selectall') . '"/>' .
'</div>';
$columns[] = 'upgradable';
$headers[] = get_string('upgradable', 'tool_assignmentupgrade');
$columns[] = 'id';
@@ -94,7 +104,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
$columns[] = 'submissioncount';
$headers[] = get_string('submissions', 'tool_assignmentupgrade');
// set the columns
// Set the columns.
$this->define_columns($columns);
$this->define_headers($headers);
$this->no_sorting('upgradable');
@@ -106,7 +116,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
*
* @return int The number of rows per page
*/
function get_rows_per_page() {
public function get_rows_per_page() {
return $this->perpage;
}
@@ -116,9 +126,9 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
* @param stdClass $row
* @return string
*/
function col_name(stdClass $row) {
return html_writer::link(new moodle_url('/mod/assignment/view.php',
array('a' => $row->id)), $row->name);
public function col_name(stdClass $row) {
$url = new moodle_url('/mod/assignment/view.php', array('a' => $row->id));
return html_writer::link($url, $row->name);
}
@@ -128,10 +138,11 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
* @param stdClass $row (contains cached result from previous upgradable check)
* @return string
*/
function col_upgradable(stdClass $row) {
public function col_upgradable(stdClass $row) {
if ($row->upgradable) {
return html_writer::link(new moodle_url('/admin/tool/assignmentupgrade/upgradesingleconfirm.php',
array('id' => $row->id, 'sesskey' => sesskey())), get_string('supported', 'tool_assignmentupgrade'));
$urlparams = array('id' => $row->id, 'sesskey' => sesskey());
$url = new moodle_url('/admin/tool/assignmentupgrade/upgradesingleconfirm.php', $urlparams);
return html_writer::link($url, get_string('supported', 'tool_assignmentupgrade'));
} else {
return get_string('notsupported', 'tool_assignmentupgrade');
}
@@ -143,7 +154,7 @@ class tool_assignmentupgrade_assignments_table extends table_sql implements rend
* @param stdClass $row
* @return string
*/
function col_select(stdClass $row) {
public function col_select(stdClass $row) {
global $CFG;
$version = get_config('assignment_' . $row->type, 'version');
require_once($CFG->dirroot . '/mod/assign/locallib.php');
@@ -30,8 +30,11 @@ require_sesskey();
$assignmentid = required_param('id', PARAM_INT);
// admin_externalpage_setup calls require_login and checks moodle/site:config
admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
// This calls require_login and checks moodle/site:config.
admin_externalpage_setup('assignmentupgrade',
'',
array(),
tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
$PAGE->navbar->add(get_string('upgradesingle', 'tool_assignmentupgrade'));
$renderer = $PAGE->get_renderer('tool_assignmentupgrade');
@@ -30,8 +30,11 @@ require_sesskey();
$assignmentid = required_param('id', PARAM_INT);
// admin_externalpage_setup calls require_login and checks moodle/site:config
admin_externalpage_setup('assignmentupgrade', '', array(), tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
// This calls require_login and checks moodle/site:config.
admin_externalpage_setup('assignmentupgrade',
'',
array(),
tool_assignmentupgrade_url('upgradesingle', array('id' => $assignmentid)));
$PAGE->navbar->add(get_string('upgradesingle', 'tool_assignmentupgrade'));
$renderer = $PAGE->get_renderer('tool_assignmentupgrade');
+98
View File
@@ -0,0 +1,98 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* CLI script to set up all the behat test environment.
*
* @package tool_behat
* @copyright 2013 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
if (isset($_SERVER['REMOTE_ADDR'])) {
die(); // No access from web!
}
// Is not really necessary but adding it as is a CLI_SCRIPT.
define('CLI_SCRIPT', true);
// Basic functions.
require_once(__DIR__ . '/../../../../lib/clilib.php');
require_once(__DIR__ . '/../../../../lib/behat/lib.php');
// Changing the cwd to admin/tool/behat/cli.
chdir(__DIR__);
$output = null;
exec("php util.php --diag", $output, $code);
if ($code == 0) {
echo "Behat test environment already installed\n";
} else if ($code == BEHAT_EXITCODE_INSTALL) {
// Behat and dependencies are installed and we need to install the test site.
passthru("php util.php --install", $code);
if ($code != 0) {
exit($code);
}
} else if ($code == BEHAT_EXITCODE_REINSTALL) {
// Test site data is outdated.
passthru("php util.php --drop", $code);
if ($code != 0) {
exit($code);
}
passthru("php util.php --install", $code);
if ($code != 0) {
exit($code);
}
} else if ($code == BEHAT_EXITCODE_COMPOSER) {
// Missing Behat dependencies.
// Changing to moodle dirroot to run composer related commands at project level.
chdir(__DIR__ . '/../../../..');
if (!file_exists(__DIR__ . '/../../../../composer.phar')) {
passthru("curl http://getcomposer.org/installer | php", $code);
if ($code != 0) {
exit($code);
}
}
passthru("php composer.phar update --dev", $code);
if ($code != 0) {
exit($code);
}
// Returning to admin/tool/behat/cli.
chdir(__DIR__);
passthru("php util.php --install", $code);
if ($code != 0) {
exit($code);
}
} else {
// Generic error, we just output it.
echo implode("\n", $output)."\n";
exit($code);
}
// Enable editing mode according to config.php vars.
passthru("php util.php --enable", $code);
if ($code != 0) {
exit($code);
}
exit(0);
+193
View File
@@ -0,0 +1,193 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* CLI tool with utilities to manage Behat integration in Moodle
*
* All CLI utilities uses $CFG->behat_dataroot and $CFG->prefix_dataroot as
* $CFG->dataroot and $CFG->prefix
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
if (isset($_SERVER['REMOTE_ADDR'])) {
die(); // No access from web!.
}
// Basic functions.
require_once(__DIR__ . '/../../../../lib/clilib.php');
require_once(__DIR__ . '/../../../../lib/behat/lib.php');
// CLI options.
list($options, $unrecognized) = cli_get_params(
array(
'help' => false,
'install' => false,
'drop' => false,
'enable' => false,
'disable' => false,
'diag' => false
),
array(
'h' => 'help'
)
);
// Checking util.php CLI script usage.
$help = "
Behat utilities to manage the test environment
Options:
--install Installs the test environment for acceptance tests
--drop Drops the database tables and the dataroot contents
--enable Enables test environment and updates tests list
--disable Disables test environment
--diag Get behat test environment status code
-h, --help Print out this help
Example from Moodle root directory:
\$ php admin/tool/behat/cli/util.php --enable
More info in http://docs.moodle.org/dev/Acceptance_testing#Running_tests
";
if (!empty($options['help'])) {
echo $help;
exit(0);
}
// Checking $CFG->behat_* vars and values.
define('BEHAT_UTIL', true);
define('CLI_SCRIPT', true);
define('ABORT_AFTER_CONFIG', true);
define('NO_OUTPUT_BUFFERING', true);
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', '1');
ini_set('log_errors', '1');
// Getting $CFG data.
require_once(__DIR__ . '/../../../../config.php');
// CFG->behat_prefix must be set and with value different than CFG->prefix and phpunit_prefix.
if (empty($CFG->behat_prefix) ||
($CFG->behat_prefix == $CFG->prefix) ||
(!empty($CFG->phpunit_prefix) && $CFG->behat_prefix == $CFG->phpunit_prefix)) {
behat_error(BEHAT_EXITCODE_CONFIG,
'Define $CFG->behat_prefix in config.php with a value different than $CFG->prefix and $CFG->phpunit_prefix');
}
// CFG->behat_dataroot must be set and with value different than CFG->dataroot and phpunit_dataroot.
if (empty($CFG->behat_dataroot) ||
($CFG->behat_dataroot == $CFG->dataroot) ||
(!empty($CFG->phpunit_dataroot) && $CFG->behat_dataroot == $CFG->phpunit_dataroot)) {
behat_error(BEHAT_EXITCODE_CONFIG,
'Define $CFG->behat_dataroot in config.php with a value different than $CFG->dataroot and $CFG->phpunit_dataroot');
}
// Create behat_dataroot if it doesn't exists.
if (!file_exists($CFG->behat_dataroot)) {
if (!mkdir($CFG->behat_dataroot, $CFG->directorypermissions)) {
behat_error(BEHAT_EXITCODE_PERMISSIONS, '$CFG->behat_dataroot directory can not be created');
}
}
if (!is_dir($CFG->behat_dataroot) || !is_writable($CFG->behat_dataroot)) {
behat_error(BEHAT_EXITCODE_PERMISSIONS, '$CFG->behat_dataroot directory has no permissions or is not a directory');
}
// Check that the directory does not contains other things.
if (!file_exists("$CFG->behat_dataroot/behattestdir.txt")) {
if ($dh = opendir($CFG->behat_dataroot)) {
while (($file = readdir($dh)) !== false) {
if ($file === 'behat' or $file === '.' or $file === '..' or $file === '.DS_Store') {
continue;
}
behat_error(BEHAT_EXITCODE_CONFIG, '$CFG->behat_dataroot directory is not empty, ensure this is the directory where you want to install behat test dataroot');
}
closedir($dh);
unset($dh);
unset($file);
}
// Now we create dataroot directory structure for behat tests.
testing_initdataroot($CFG->behat_dataroot, 'behat');
}
// Overrides vars with behat-test ones.
$vars = array('wwwroot', 'prefix', 'dataroot');
foreach ($vars as $var) {
$CFG->{$var} = $CFG->{'behat_' . $var};
}
$CFG->noemailever = true;
$CFG->passwordsaltmain = 'moodle';
// Unset cache and temp directories to reset them again with the new $CFG->dataroot.
unset($CFG->cachedir);
unset($CFG->tempdir);
// Continues setup.
define('ABORT_AFTER_CONFIG_CANCEL', true);
require("$CFG->dirroot/lib/setup.php");
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/upgradelib.php');
require_once($CFG->libdir.'/clilib.php');
require_once($CFG->libdir.'/pluginlib.php');
require_once($CFG->libdir.'/installlib.php');
require_once($CFG->libdir.'/testing/classes/test_lock.php');
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
// Behat utilities.
require_once($CFG->libdir . '/behat/classes/util.php');
require_once($CFG->libdir . '/behat/classes/behat_command.php');
// Run command (only one per time).
if ($options['install']) {
behat_util::install_site();
mtrace("Acceptance tests site installed");
} else if ($options['drop']) {
// Ensure no tests are running.
test_lock::acquire('behat');
behat_util::drop_site();
mtrace("Acceptance tests site dropped");
} else if ($options['enable']) {
behat_util::start_test_mode();
$runtestscommand = behat_command::get_behat_command() . ' --config '
. $CFG->behat_dataroot . DIRECTORY_SEPARATOR . 'behat' . DIRECTORY_SEPARATOR . 'behat.yml';
mtrace("Acceptance tests environment enabled, to run the tests use:\n " . $runtestscommand);
} else if ($options['disable']) {
behat_util::stop_test_mode();
mtrace("Acceptance tests environment disabled");
} else if ($options['diag']) {
$code = behat_util::get_behat_status();
exit($code);
} else {
echo $help;
}
exit(0);
+55
View File
@@ -0,0 +1,55 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Web interface to list and filter steps
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(__DIR__ . '/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/behat/locallib.php');
require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
$filter = optional_param('filter', '', PARAM_ALPHANUMEXT);
$type = optional_param('type', false, PARAM_ALPHAEXT);
$component = optional_param('component', '', PARAM_ALPHAEXT);
admin_externalpage_setup('toolbehat');
// Getting available steps definitions from behat.
$steps = tool_behat::stepsdefinitions($type, $component, $filter);
// Form.
$componentswithsteps = array('' => get_string('allavailablesteps', 'tool_behat'));
// Complete the components list with the moodle steps definitions.
$components = behat_config_manager::get_components_steps_definitions();
if ($components) {
foreach ($components as $component => $filepath) {
// TODO Use a class static attribute instead of the class name.
$componentswithsteps[$component] = 'Moodle ' . substr($component, 6);
}
}
$form = new steps_definitions_form(null, array('components' => $componentswithsteps));
// Output contents.
$renderer = $PAGE->get_renderer('tool_behat');
echo $renderer->render_stepsdefinitions($steps, $form);
+44
View File
@@ -0,0 +1,44 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Strings for tool_behat
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['allavailablesteps'] = 'All the available steps definitions';
$string['giveninfo'] = 'Given. Processes to set up the environment';
$string['installinfo'] = 'Read {$a} for installation and tests execution info';
$string['moreinfoin'] = 'More info in {$a}';
$string['newstepsinfo'] = 'Read {$a} for info about how to add new steps definitions';
$string['newtestsinfo'] = 'Read {$a} for info about how to write new tests';
$string['nostepsdefinitions'] = 'There aren\'t steps definitions matching this filters';
$string['pluginname'] = 'Acceptance testing';
$string['runclitool'] = 'To list the steps definitions you need to run the Behat CLI tool to create the $CFG->behat_dataroot directory. Go to your moodle dirroot and run "{$a}"';
$string['stepsdefinitionscomponent'] = 'Area';
$string['stepsdefinitionscontains'] = 'Contains';
$string['stepsdefinitionsfilters'] = 'Steps definitions';
$string['stepsdefinitionstype'] = 'Type';
$string['theninfo'] = 'Then. Checkings to ensure the outcomes are the expected ones';
$string['viewsteps'] = 'Filter';
$string['wheninfo'] = 'When. Actions that provokes an event';
$string['wrongbehatsetup'] = 'Something is wrong with behat setup, ensure:<ul>
<li>You ran "curl http://getcomposer.org/installer | php"</li>
<li>You ran "php composer.phar install --dev"</li>
<li>vendor/bin/behat file has execution permissions</li></ul>';
+76
View File
@@ -0,0 +1,76 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Behat commands
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->libdir . '/behat/classes/behat_command.php');
require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/behat/steps_definitions_form.php');
/**
* Behat commands manager
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_behat {
/**
* Lists the available steps definitions
*
* @param string $type
* @param string $component
* @param string $filter
* @return array System steps or empty array if case there are no steps
*/
public static function stepsdefinitions($type, $component, $filter) {
// We don't require the test environment to be enabled to list the steps definitions
// so test writers can more easily set up the environment.
behat_command::behat_setup_problem();
// The loaded steps depends on the component specified.
behat_config_manager::update_config_file($component, false);
// The Moodle\BehatExtension\HelpPrinter\MoodleDefinitionsPrinter will parse this search format.
if ($type) {
$filter .= '&&' . $type;
}
if ($filter) {
$filteroption = ' -d "' . $filter . '"';
} else {
$filteroption = ' -di';
}
// Get steps definitions from Behat.
$options = ' --config="'.behat_config_manager::get_steps_list_config_filepath(). '" '.$filteroption;
list($steps, $code) = behat_command::run($options);
return $steps;
}
}
+116
View File
@@ -0,0 +1,116 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Behat tool renderer
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->libdir . '/behat/classes/behat_command.php');
/**
* Renderer for behat tool web features
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_behat_renderer extends plugin_renderer_base {
/**
* Renders the list of available steps according to the submitted filters.
*
* @param mixed $stepsdefinitions Available steps array.
* @param moodleform $form
* @return string HTML code
*/
public function render_stepsdefinitions($stepsdefinitions, $form) {
$title = get_string('pluginname', 'tool_behat');
// Header.
$html = $this->output->header();
$html .= $this->output->heading($title);
// Info.
$installurl = behat_command::DOCS_URL . '#Installation';
$installlink = html_writer::tag('a', $installurl, array('href' => $installurl, 'target' => '_blank'));
$writetestsurl = behat_command::DOCS_URL . '#Writting_features';
$writetestslink = html_writer::tag('a', $writetestsurl, array('href' => $writetestsurl, 'target' => '_blank'));
$writestepsurl = behat_command::DOCS_URL . '#Adding_steps_definitions';
$writestepslink = html_writer::tag('a', $writestepsurl, array('href' => $writestepsurl, 'target' => '_blank'));
$infos = array(
get_string('installinfo', 'tool_behat', $installlink),
get_string('newtestsinfo', 'tool_behat', $writetestslink),
get_string('newstepsinfo', 'tool_behat', $writestepslink)
);
// List of steps
$html .= $this->output->box_start();
$html .= html_writer::tag('h1', 'Info');
$html .= html_writer::empty_tag('div');
$html .= html_writer::empty_tag('ul');
$html .= html_writer::empty_tag('li');
$html .= implode(html_writer::end_tag('li') . html_writer::empty_tag('li'), $infos);
$html .= html_writer::end_tag('li');
$html .= html_writer::end_tag('ul');
$html .= html_writer::end_tag('div');
$html .= $this->output->box_end();
// Form.
ob_start();
$form->display();
$html .= ob_get_contents();
ob_end_clean();
if (empty($stepsdefinitions)) {
$stepsdefinitions = get_string('nostepsdefinitions', 'tool_behat');
} else {
$stepsdefinitions = implode('', $stepsdefinitions);
// Replace text selector type arguments with a user-friendly select.
$stepsdefinitions = preg_replace_callback('/(TEXT_SELECTOR\d?_STRING)/',
function ($matches) {
return html_writer::select(behat_command::$allowedtextselectors, uniqid());
},
$stepsdefinitions
);
// Replace selector type arguments with a user-friendly select.
$stepsdefinitions = preg_replace_callback('/(SELECTOR\d?_STRING)/',
function ($matches) {
return html_writer::select(behat_command::$allowedselectors, uniqid());
},
$stepsdefinitions
);
}
// Steps definitions.
$html .= html_writer::tag('div', $stepsdefinitions, array('class' => 'steps-definitions'));
$html .= $this->output->footer();
return $html;
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Adds behat tests link in admin tree
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$url = $CFG->wwwroot . '/' . $CFG->admin . '/tool/behat/index.php';
$ADMIN->add('development', new admin_externalpage('toolbehat', get_string('pluginname', 'tool_behat'), $url));
}
@@ -0,0 +1,67 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Steps definitions form
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/formslib.php');
/**
* Form to display the available steps definitions
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class steps_definitions_form extends moodleform {
/**
* Form definition
* @return void
*/
public function definition() {
$mform = $this->_form;
$mform->addElement('header', 'filters', get_string('stepsdefinitionsfilters', 'tool_behat'));
$types = array(
'' => get_string('allavailablesteps', 'tool_behat'),
'given' => get_string('giveninfo', 'tool_behat'),
'when' => get_string('wheninfo', 'tool_behat'),
'then' => get_string('theninfo', 'tool_behat')
);
$mform->addElement('select', 'type', get_string('stepsdefinitionstype', 'tool_behat'), $types);
$mform->addElement(
'select',
'component',
get_string('stepsdefinitionscomponent', 'tool_behat'),
$this->_customdata['components']
);
$mform->addElement('text', 'filter', get_string('stepsdefinitionscontains', 'tool_behat'));
$mform->addElement('submit', 'submit', get_string('viewsteps', 'tool_behat'));
}
}
+5
View File
@@ -0,0 +1,5 @@
.steps-definitions{border-style:solid;border-width:1px;border-color:#BBB;padding:5px;margin:auto;width:50%;}
.steps-definitions .step{margin: 10px 0px 10px 0px;}
.steps-definitions .stepdescription{color:#bf8c12;}
.steps-definitions .steptype{color:#1467a6;margin-right: 5px;}
.steps-definitions .stepregex{color:#060;}
@@ -0,0 +1,49 @@
@tool_behat
Feature: Page contents assertions
In order to write good tests
As a tests writer
I need to check the page contents
@javascript
Scenario: Basic contents assertions
Given I log in as "admin"
And I am on homepage
And I expand "Users" node
And I follow "Groups"
And I press "Create group"
And I fill the moodle form with:
| Group name | I'm the name |
| Group description | I'm the description |
And I press "Save changes"
When I follow "Overview"
And I wait until the page is ready
And I wait "2" seconds
And I hover ".region-content .generaltable td span" "css_element"
Then I should see "I'm the description"
And I should see "Filter groups by"
And I should not see "Filter groupssss by"
And I should see "Group members" in the ".region-content table th.c1" "css_element"
And I should not see "Group membersssss" in the ".region-content table th.c1" "css_element"
And I follow "Groups"
And the "#groupeditform #showcreateorphangroupform" "css_element" should be enabled
And the "#groupeditform #showeditgroupsettingsform" "css_element" should be disabled
@javascript
Scenario: Locators inside specific DOM nodes using CSS selectors
Given the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I follow "Course 1"
When I click on "Move this to the dock" "button" in the ".block_settings" "css_element"
Then I should not see "Question bank"
And I click on "//div[@id='dock']/descendant::*[contains(., 'Administration')]/h2" "xpath_element"
@javascript
Scenario: Locators inside specific DOM nodes using XPath
Given the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
When I click on "Move this to the dock" "button" in the "//*[contains(concat(' ', normalize-space(@class), ' '), ' block_settings ')]" "xpath_element"
Then I should not see "Turn editing on"
@@ -0,0 +1,109 @@
@tool_behat
Feature: Set up contextual data for tests
In order to write tests quickly
As a moodle developer
I need to fill the database with fixtures
Scenario: Add a bunch of users
Given the following "users" exists:
| username | password | firstname | lastname |
| testuser | testuser | | |
| testuser2 | testuser2 | TestFirstname | TestLastname |
And I log in as "testuser"
And I log out
When I log in as "testuser2"
Then I should see "TestFirstname"
@javascript
Scenario: Add a bunch of courses and categories
Given the following "categories" exists:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | CAT1 | CAT2 |
| Cat 3 | CAT1 | CAT3 |
And the following "courses" exists:
| fullname | shortname | category |
| Course 1 | COURSE1 | CAT3 |
| Course 2 | COURSE2 | CAT3 |
| Course 3 | COURSE3 | 0 |
When I log in as "admin"
Then I should see "Course 1"
And I should see "Course 2"
And I should see "Course 3"
@javascript
Scenario: Add a bunch of groups and groupings
Given the following "courses" exists:
| fullname | shortname |
| Course 1 | C1 |
And the following "groups" exists:
| name | course | idnumber |
| Group 1 | C1 | G1 |
| Group 2 | C1 | G2 |
And the following "groupings" exists:
| name | course | idnumber |
| Grouping 1 | C1 | GG1 |
| Grouping 2 | C1 | GG2 |
When I log in as "admin"
And I follow "Course 1"
And I expand "Users" node
And I follow "Groups"
Then I should see "Group 1"
And I should see "Group 2"
And I follow "Groupings"
And I should see "Grouping 1"
And I should see "Grouping 2"
Scenario: Add course enrolments
Given the following "users" exists:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@asd.com |
And the following "courses" exists:
| fullname | shortname | format |
| Course 1 | C1 | topics |
And the following "course enrolments" exists:
| user | course | role |
| student1 | C1 | student |
When I log in as "student1"
And I follow "Course 1"
Then I should see "Topic 1"
@javascript
Scenario: Add relations between users and groups
Given the following "users" exists:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@asd.com |
| student2 | Student | 2 | student2@asd.com |
And the following "courses" exists:
| fullname | shortname |
| Course 1 | C1 |
And the following "groups" exists:
| name | course | idnumber |
| Group 1 | C1 | G1 |
| Group 2 | C1 | G2 |
And the following "groupings" exists:
| name | course | idnumber |
| Grouping 1 | C1 | GG1 |
And the following "course enrolments" exists:
| user | course | role |
| student1 | C1 | student |
| student2 | C1 | student |
And the following "group members" exists:
| user | group |
| student1 | G1 |
| student2 | G2 |
And the following "grouping groups" exists:
| grouping | group |
| GG1 | G1 |
When I log in as "admin"
And I follow "Course 1"
And I expand "Users" node
And I follow "Groups"
Then the "groups" select box should contain "Group 1 (1)"
And the "groups" select box should contain "Group 2 (1)"
And I select "Group 1 (1)" from "groups"
And I wait "5" seconds
And the "members" select box should contain "Student 1"
And I select "Group 2 (1)" from "groups"
And I wait "5" seconds
And the "members" select box should contain "Student 2"
@@ -0,0 +1,65 @@
@tool_behat
Feature: Edit capabilities
In order to extend and restrict moodle features
As an admin or teacher
I need to allow/deny the existing capabilities at different levels
Background:
Given the following "users" exists:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@asd.com |
And the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exists:
| user | course | role |
| teacher1 | C1 | editingteacher |
@javascript
Scenario: Default system capabilities modification
Given I log in as "admin"
And I set the following system permissions of "Teacher" role:
| capability | permission |
| block/mnet_hosts:myaddinstance | Allow |
| moodle/community:add | Inherit |
| moodle/grade:managesharedforms | Prevent |
| moodle/course:request | Prohibit |
When I follow "Edit Teacher role"
Then the "block/mnet_hosts:myaddinstance" field should match "1" value
And the "moodle/community:add" field should match "0" value
And the "moodle/grade:managesharedforms" field should match "-1" value
And the "moodle/course:request" field should match "-1000" value
@javascript
Scenario: Course capabilities overrides
Given I log in as "teacher1"
And I follow "Course 1"
And I expand "Users" node
And I follow "Permissions"
And I override the system permissions of "Student" role with:
| mod/forum:deleteanypost | Prohibit |
| mod/forum:editanypost | Prevent |
| mod/forum:addquestion | Allow |
When I select "Student (3)" from "Advanced role override"
Then the "mod/forum:deleteanypost" field should match "-1000" value
And the "mod/forum:editanypost" field should match "-1" value
And the "mod/forum:addquestion" field should match "1" value
@javascript
Scenario: Module capabilities overrides
Given I log in as "teacher1"
And I follow "Course 1"
And I turn editing mode on
And I add a "Forum" to section "1" and I fill the form with:
| Forum name | I'm the name |
| Description | I'm the introduction |
And I follow "I'm the name"
And I follow "Permissions"
And I override the system permissions of "Student" role with:
| mod/forum:deleteanypost | Prohibit |
| mod/forum:editanypost | Prevent |
| mod/forum:addquestion | Allow |
When I select "Student (3)" from "Advanced role override"
Then the "mod/forum:deleteanypost" field should match "-1000" value
And the "mod/forum:editanypost" field should match "-1" value
And the "mod/forum:addquestion" field should match "1" value
@@ -0,0 +1,31 @@
@tool_behat
Feature: List the system steps definitions
In order to create new tests
As a tests writer
I need to list and filter the system steps definitions
Background:
Given I am on homepage
And I log in as "admin"
And I expand "Site administration" node
And I expand "Development" node
And I follow "Acceptance testing"
@javascript
Scenario: Accessing the list
Then I should see "Steps definitions"
And I should not see "There aren't steps definitions matching this filter"
@javascript
Scenario: Filtering by type
Given I select "Then. Checkings to ensure the outcomes are the expected ones" from "Type"
When I press "Filter"
Then I should see "Checks, that page contains specified text."
And I should not see "Opens Moodle homepage."
@javascript
Scenario: Filtering by keyword
Given I fill in "Contains" with "homepage"
When I press "Filter"
Then I should see "Opens Moodle homepage."
@@ -0,0 +1,36 @@
@tool_behat @core_form
Feature: Forms manipulation
In order to interact with Moodle
As a user
I need to set forms values
@javascript
Scenario: Basic forms manipulation
Given I log in as "admin"
And I follow "Admin User"
And I follow "Edit profile"
When I fill in "First name" with "Field value"
And I select "Use standard web forms" from "When editing text"
And I check "Unmask"
Then the "First name" field should match "Field value" value
And the "When editing text" select box should contain "Use standard web forms"
And the "Unmask" checkbox should be checked
And I uncheck "Unmask"
And the "Unmask" checkbox should not be checked
And I press "Update profile"
@javascript
Scenario: Expand all fieldsets and advanced elements
Given the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I follow "Course 1"
And I turn editing mode on
And I add a "forum" to section "1"
When I expand all fieldsets
Then I should see "Display word count"
And I should see "Group mode"
And I should see "Grouping"
And I should not see "Show more..."
And I should see "Show less..."
@@ -0,0 +1,60 @@
@tool_behat
Feature: Transform steps arguments
In order to write tests with complex nasty arguments
As a tests writer
I need to apply some transformations to the steps arguments
Background:
Given I am on homepage
And the following "courses" exists:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I follow "Admin User"
And I follow "Edit profile"
Scenario: Use nasty strings on steps arguments
When I fill in "Surname" with "$NASTYSTRING1"
And I fill in "Description" with "$NASTYSTRING2"
And I fill in "City/town" with "$NASTYSTRING3"
And I press "Update profile"
And I follow "Edit profile"
Then I should not see "NASTYSTRING"
And the "Surname" field should match "$NASTYSTRING1" value
And the "City/town" field should match "$NASTYSTRING3" value
Scenario: Use nasty strings on table nodes
When I fill the moodle form with:
| Surname | $NASTYSTRING1 |
| Description | $NASTYSTRING2 |
| City/town | $NASTYSTRING3 |
And I press "Update profile"
And I follow "Edit profile"
Then I should not see "NASTYSTRING"
And the "Surname" field should match "$NASTYSTRING1" value
And the "City/town" field should match "$NASTYSTRING3" value
Scenario: Use double quotes
When I fill the moodle form with:
| First name | va"lue1 |
| Description | va\"lue2 |
And I fill in "City/town" with "va\"lue3"
And I press "Update profile"
And I follow "Edit profile"
Then I should not see "NASTYSTRING"
And the "First name" field should match "va\"lue1" value
And the "Description" field should match "va\\"lue2" value
And the "City/town" field should match "va\"lue3" value
@javascript
Scenario: Nasty strings with other contents
When I fill in "First name" with "My Firstname $NASTYSTRING1"
And I fill the moodle form with:
| Surname | My Surname $NASTYSTRING2 |
And I press "Update profile"
And I follow "Edit profile"
Then I should not see "NASTYSTRING"
And I should see "My Firstname"
And I should see "My Surname"
And the "First name" field should match "My Firstname $NASTYSTRING1" value
And the "Surname" field should match "My Surname $NASTYSTRING2" value
@@ -0,0 +1,9 @@
@tool_behat
Feature: Set up the testing environment
In order to execute automated acceptance tests
As a moodle developer
I need to use the test environment instead of the regular environment
Scenario: Accessing the site
When I am on homepage
Then I should see "Acceptance test site"
+189
View File
@@ -0,0 +1,189 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Unit tests for admin/tool/behat.
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->dirroot . '/' . $CFG->admin .'/tool/behat/locallib.php');
require_once($CFG->libdir . '/behat/classes/util.php');
require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
/**
* Allows access to internal methods without exposing them.
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class testable_behat_config_manager extends behat_config_manager {
/**
* Allow access to protected method
* @see parent::merge_config()
* @param mixed $config
* @param mixed $localconfig
* @return mixed
*/
public static function merge_config($config, $localconfig) {
return parent::merge_config($config, $localconfig);
}
/**
* Allow access to protected method
* @see parent::get_config_file_contents()
* @param array $features
* @param array $stepsdefinitions
* @return string
*/
public static function get_config_file_contents($features, $stepsdefinitions) {
return parent::get_config_file_contents($features, $stepsdefinitions);
}
}
/**
* Tool behat tests.
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_behat_testcase extends advanced_testcase {
/**
* behat_config_manager tests.
*/
public function test_merge_configs() {
// Simple default config.
$array1 = array(
'the' => 'same',
'simple' => 'value',
'array' => array(
'one' => 'arrayvalue1',
'two' => 'arrayvalue2'
)
);
// Simple override.
$array2 = array(
'simple' => 'OVERRIDDEN1',
'array' => array(
'one' => 'OVERRIDDEN2'
),
'newprofile' => array(
'anotherlevel' => array(
'andanotherone' => array(
'list1',
'list2'
)
)
)
);
$array = testable_behat_config_manager::merge_config($array1, $array2);
// Overriddes are applied.
$this->assertEquals('OVERRIDDEN1', $array['simple']);
$this->assertEquals('OVERRIDDEN2', $array['array']['one']);
// Other values are respected.
$this->assertNotEmpty($array['array']['two']);
// Completely new nodes are added.
$this->assertNotEmpty($array['newprofile']);
$this->assertNotEmpty($array['newprofile']['anotherlevel']['andanotherone']);
$this->assertEquals('list1', $array['newprofile']['anotherlevel']['andanotherone'][0]);
$this->assertEquals('list2', $array['newprofile']['anotherlevel']['andanotherone'][1]);
// Complex override changing vectors to scalars and scalars to vectors.
$array2 = array(
'simple' => array(
'simple' => 'should',
'be' => 'overridden',
'by' => 'this-array'
),
'array' => 'one'
);
$array = testable_behat_config_manager::merge_config($array1, $array2);
// Overrides applied.
$this->assertNotEmpty($array['simple']);
$this->assertNotEmpty($array['array']);
$this->assertTrue(is_array($array['simple']));
$this->assertFalse(is_array($array['array']));
// Other values are maintained.
$this->assertEquals('same', $array['the']);
}
/**
* behat_config_manager tests.
*/
public function test_config_file_contents() {
global $CFG;
// Skip tests if behat is not installed.
$vendorpath = $CFG->dirroot . '/vendor';
if (!file_exists($vendorpath . '/autoload.php') || !is_dir($vendorpath . '/behat')) {
$this->markTestSkipped('Behat not installed.');
}
// To avoid user value at config.php level.
unset($CFG->behat_config);
// List.
$features = array(
'feature1',
'feature2',
'feature3'
);
// Associative array.
$stepsdefinitions = array(
'micarro' => '/me/lo/robaron',
'anoche' => '/cuando/yo/dormia'
);
$contents = testable_behat_config_manager::get_config_file_contents($features, $stepsdefinitions);
// YAML decides when is is necessary to wrap strings between single quotes, so not controlled
// values like paths should not be asserted including the key name as they would depend on the
// directories values.
$this->assertContains($CFG->dirroot . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'behat' . DIRECTORY_SEPARATOR . 'features', $contents);
// Not quoted strings.
$this->assertContains('micarro: /me/lo/robaron', $contents);
$this->assertContains('class: behat_init_context', $contents);
// YAML uses single quotes to wrap URL strings.
$this->assertContains("base_url: '" . $CFG->behat_wwwroot . "'", $contents);
// Lists.
$this->assertContains('- feature1', $contents);
$this->assertContains('- feature3', $contents);
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* tool_behat version info
*
* @package tool_behat
* @copyright 2012 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2012120700;
$plugin->requires = 2012120300; // Requires Moodle 2.5.
$plugin->component = 'tool_behat';
+18 -18
View File
@@ -4,33 +4,33 @@
xsi:noNamespaceSchemaLocation="../../../../lib/xmldb/xmldb.xsd"
>
<TABLES>
<TABLE NAME="tool_customlang" COMMENT="Contains the working checkout of all strings and their customization" NEXT="tool_customlang_components">
<TABLE NAME="tool_customlang" COMMENT="Contains the working checkout of all strings and their customization">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true" NEXT="lang"/>
<FIELD NAME="lang" TYPE="char" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="The code of the language this string belongs to. Like en, cs or es" PREVIOUS="id" NEXT="componentid"/>
<FIELD NAME="componentid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The id of the component" PREVIOUS="lang" NEXT="stringid"/>
<FIELD NAME="stringid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The identifier of the string" PREVIOUS="componentid" NEXT="original"/>
<FIELD NAME="original" TYPE="text" LENGTH="big" NOTNULL="true" SEQUENCE="false" COMMENT="English original of the string" PREVIOUS="stringid" NEXT="master"/>
<FIELD NAME="master" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Master translation of the string as is distributed in the official lang pack, null if not translated" PREVIOUS="original" NEXT="local"/>
<FIELD NAME="local" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Local customization of the string, null if not customized" PREVIOUS="master" NEXT="timemodified"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The timestamp of when the original or master was recently modified" PREVIOUS="local" NEXT="timecustomized"/>
<FIELD NAME="timecustomized" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="The timestamp of when the value of the local translation was recently modified, null if not customized yet" PREVIOUS="timemodified" NEXT="outdated"/>
<FIELD NAME="outdated" TYPE="int" LENGTH="3" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Either the English original or the master translation changed and the customization may be outdated" PREVIOUS="timecustomized" NEXT="modified"/>
<FIELD NAME="modified" TYPE="int" LENGTH="3" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Has the string been modified via the translator?" PREVIOUS="outdated"/>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
<FIELD NAME="lang" TYPE="char" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="The code of the language this string belongs to. Like en, cs or es"/>
<FIELD NAME="componentid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The id of the component"/>
<FIELD NAME="stringid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The identifier of the string"/>
<FIELD NAME="original" TYPE="text" LENGTH="big" NOTNULL="true" SEQUENCE="false" COMMENT="English original of the string"/>
<FIELD NAME="master" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Master translation of the string as is distributed in the official lang pack, null if not translated"/>
<FIELD NAME="local" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Local customization of the string, null if not customized"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The timestamp of when the original or master was recently modified"/>
<FIELD NAME="timecustomized" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="The timestamp of when the value of the local translation was recently modified, null if not customized yet"/>
<FIELD NAME="outdated" TYPE="int" LENGTH="3" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Either the English original or the master translation changed and the customization may be outdated"/>
<FIELD NAME="modified" TYPE="int" LENGTH="3" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Has the string been modified via the translator?"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="fk_component"/>
<KEY NAME="fk_component" TYPE="foreign" FIELDS="componentid" REFTABLE="tool_customlang_components" REFFIELDS="id" PREVIOUS="primary"/>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
<KEY NAME="fk_component" TYPE="foreign" FIELDS="componentid" REFTABLE="tool_customlang_components" REFFIELDS="id"/>
</KEYS>
<INDEXES>
<INDEX NAME="uq_lang_component_string" UNIQUE="true" FIELDS="lang, componentid, stringid" COMMENT="For a given language and component, string identifiers must be unique"/>
</INDEXES>
</TABLE>
<TABLE NAME="tool_customlang_components" COMMENT="Contains the list of all installed plugins that provide their own language pack" PREVIOUS="tool_customlang">
<TABLE NAME="tool_customlang_components" COMMENT="Contains the list of all installed plugins that provide their own language pack">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true" NEXT="name"/>
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The normalized name of the plugin" PREVIOUS="id" NEXT="version"/>
<FIELD NAME="version" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="The checked out version of the plugin, null if the version is unknown" PREVIOUS="name"/>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The normalized name of the plugin"/>
<FIELD NAME="version" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="The checked out version of the plugin, null if the version is unknown"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+1 -1
View File
@@ -32,7 +32,7 @@ $lng = required_param('lng', PARAM_LANG);
$currentpage = optional_param('p', 0, PARAM_INT);
$translatorsubmitted = optional_param('translatorsubmitted', 0, PARAM_BOOL);
$PAGE->set_pagelayout('report'); // Allows for wide page contents.
$PAGE->set_pagelayout('standard');
$PAGE->set_url('/admin/tool/customlang/edit.php', array('lng' => $lng));
navigation_node::override_active_url(new moodle_url('/admin/tool/customlang/index.php'));
$PAGE->set_title(get_string('pluginname', 'tool_customlang'));
+2 -2
View File
@@ -60,8 +60,8 @@ class tool_customlang_filter_form extends moodleform {
// Modified only
$mform->addElement('advcheckbox', 'modified', get_string('filtermodified', 'tool_customlang'));
$mform->setType('filtermodified', PARAM_BOOL);
$mform->setDefault('filtermodified', 0);
$mform->setType('modified', PARAM_BOOL);
$mform->setDefault('modified', 0);
// Substring
$mform->addElement('text', 'substring', get_string('filtersubstring', 'tool_customlang'));
@@ -0,0 +1,574 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Provides tool_installaddon_installer related classes
*
* @package tool_installaddon
* @subpackage classes
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Implements main plugin features.
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_installer {
/** @var tool_installaddon_installfromzip */
protected $installfromzipform = null;
/**
* Factory method returning an instance of this class.
*
* @return tool_installaddon_installer
*/
public static function instance() {
return new static();
}
/**
* Returns the URL to the main page of this admin tool
*
* @param array optional parameters
* @return moodle_url
*/
public function index_url(array $params = null) {
return new moodle_url('/admin/tool/installaddon/index.php', $params);
}
/**
* Returns URL to the repository that addons can be searched in and installed from
*
* @return moodle_url
*/
public function get_addons_repository_url() {
global $CFG;
if (!empty($CFG->config_php_settings['alternativeaddonsrepositoryurl'])) {
$url = $CFG->config_php_settings['alternativeaddonsrepositoryurl'];
} else {
$url = 'https://moodle.org/plugins/get.php';
}
if (!$this->should_send_site_info()) {
return new moodle_url($url);
}
// Append the basic information about our site.
$site = array(
'fullname' => $this->get_site_fullname(),
'url' => $this->get_site_url(),
'majorversion' => $this->get_site_major_version(),
);
$site = $this->encode_site_information($site);
return new moodle_url($url, array('site' => $site));
}
/**
* @return tool_installaddon_installfromzip
*/
public function get_installfromzip_form() {
global $CFG;
require_once(dirname(__FILE__).'/installfromzip_form.php');
if (!is_null($this->installfromzipform)) {
return $this->installfromzipform;
}
$action = $this->index_url();
$customdata = array('installer' => $this);
$this->installfromzipform = new tool_installaddon_installfromzip($action, $customdata);
return $this->installfromzipform;
}
/**
* Saves the ZIP file from the {@link tool_installaddon_installfromzip} form
*
* The file is saved into the given temporary location for inspection and eventual
* deployment. The form is expected to be submitted and validated.
*
* @param tool_installaddon_installfromzip $form
* @param string $targetdir full path to the directory where the ZIP should be stored to
* @return string filename of the saved file relative to the given target
*/
public function save_installfromzip_file(tool_installaddon_installfromzip $form, $targetdir) {
$filename = clean_param($form->get_new_filename('zipfile'), PARAM_FILE);
$form->save_file('zipfile', $targetdir.'/'.$filename);
return $filename;
}
/**
* Extracts the saved file previously saved by {self::save_installfromzip_file()}
*
* The list of files found in the ZIP is returned via $zipcontentfiles parameter
* by reference. The format of that list is array of (string)filerelpath => (bool|string)
* where the array value is either true or a string describing the problematic file.
*
* @see zip_packer::extract_to_pathname()
* @param string $zipfilepath full path to the saved ZIP file
* @param string $targetdir full path to the directory to extract the ZIP file to
* @param string $rootdir explicitly rename the root directory of the ZIP into this non-empty value
* @param array list of extracted files as returned by {@link zip_packer::extract_to_pathname()}
*/
public function extract_installfromzip_file($zipfilepath, $targetdir, $rootdir = '') {
global $CFG;
require_once($CFG->libdir.'/filelib.php');
$fp = get_file_packer('application/zip');
$files = $fp->extract_to_pathname($zipfilepath, $targetdir);
if ($files) {
if (!empty($rootdir)) {
$files = $this->rename_extracted_rootdir($targetdir, $rootdir, $files);
}
return $files;
} else {
return array();
}
}
/**
* Returns localised list of available plugin types
*
* @return array (string)plugintype => (string)plugin name
*/
public function get_plugin_types_menu() {
global $CFG;
require_once($CFG->libdir.'/pluginlib.php');
$pluginman = plugin_manager::instance();
$menu = array('' => get_string('choosedots'));
foreach (array_keys($pluginman->get_plugin_types()) as $plugintype) {
$menu[$plugintype] = $pluginman->plugintype_name($plugintype).' ('.$plugintype.')';
}
return $menu;
}
/**
* Returns the full path of the root of the given plugin type
*
* Null is returned if the plugin type is not known. False is returned if the plugin type
* root is expected but not found. Otherwise, string is returned.
*
* @param string $plugintype
* @return string|bool|null
*/
public function get_plugintype_root($plugintype) {
$plugintypepath = null;
foreach (get_plugin_types() as $type => $fullpath) {
if ($type === $plugintype) {
$plugintypepath = $fullpath;
break;
}
}
if (is_null($plugintypepath)) {
return null;
}
if (!is_dir($plugintypepath)) {
return false;
}
return $plugintypepath;
}
/**
* Is it possible to create a new plugin directory for the given plugin type?
*
* @throws coding_exception for invalid plugin types or non-existing plugin type locations
* @param string $plugintype
* @return boolean
*/
public function is_plugintype_writable($plugintype) {
$plugintypepath = $this->get_plugintype_root($plugintype);
if (is_null($plugintypepath)) {
throw new coding_exception('Unknown plugin type!');
}
if ($plugintypepath === false) {
throw new coding_exception('Plugin type location does not exist!');
}
return is_writable($plugintypepath);
}
/**
* Hook method to handle the remote request to install an add-on
*
* This is used as a callback when the admin picks a plugin version in the
* Moodle Plugins directory and is redirected back to their site to install
* it.
*
* This hook is called early from admin/tool/installaddon/index.php page so that
* it has opportunity to take over the UI.
*
* @param tool_installaddon_renderer $output
* @param string|null $request
* @param bool $confirmed
*/
public function handle_remote_request(tool_installaddon_renderer $output, $request, $confirmed = false) {
global $CFG;
require_once(dirname(__FILE__).'/pluginfo_client.php');
if (is_null($request)) {
return;
}
$data = $this->decode_remote_request($request);
if ($data === false) {
echo $output->remote_request_invalid_page($this->index_url());
exit();
}
list($plugintype, $pluginname) = normalize_component($data->component);
$plugintypepath = $this->get_plugintype_root($plugintype);
if (file_exists($plugintypepath.'/'.$pluginname)) {
echo $output->remote_request_alreadyinstalled_page($data, $this->index_url());
exit();
}
if (!$this->is_plugintype_writable($plugintype)) {
$continueurl = $this->index_url(array('installaddonrequest' => $request));
echo $output->remote_request_permcheck_page($data, $plugintypepath, $continueurl, $this->index_url());
exit();
}
$continueurl = $this->index_url(array(
'installaddonrequest' => $request,
'confirm' => 1,
'sesskey' => sesskey()));
if (!$confirmed) {
echo $output->remote_request_confirm_page($data, $continueurl, $this->index_url());
exit();
}
// The admin has confirmed their intention to install the add-on.
require_sesskey();
// Fetch the plugin info. The essential information is the URL to download the ZIP
// and the MD5 hash of the ZIP, obtained via HTTPS.
$client = tool_installaddon_pluginfo_client::instance();
try {
$pluginfo = $client->get_pluginfo($data->component, $data->version);
} catch (tool_installaddon_pluginfo_exception $e) {
if (debugging()) {
throw $e;
} else {
echo $output->remote_request_pluginfo_exception($data, $e, $this->index_url());
exit();
}
}
// Fetch the ZIP with the plugin version
$jobid = md5(rand().uniqid('', true));
$sourcedir = make_temp_directory('tool_installaddon/'.$jobid.'/source');
$zipfilename = 'downloaded.zip';
try {
$this->download_file($pluginfo->downloadurl, $sourcedir.'/'.$zipfilename);
} catch (tool_installaddon_installer_exception $e) {
if (debugging()) {
throw $e;
} else {
echo $output->installer_exception($e, $this->index_url());
exit();
}
}
// Check the MD5 checksum
$md5expected = $pluginfo->downloadmd5;
$md5actual = md5_file($sourcedir.'/'.$zipfilename);
if ($md5expected !== $md5actual) {
$e = new tool_installaddon_installer_exception('err_zip_md5', array('expected' => $md5expected, 'actual' => $md5actual));
if (debugging()) {
throw $e;
} else {
echo $output->installer_exception($e, $this->index_url());
exit();
}
}
// Redirect to the validation page.
$nexturl = new moodle_url('/admin/tool/installaddon/validate.php', array(
'sesskey' => sesskey(),
'jobid' => $jobid,
'zip' => $zipfilename,
'type' => $plugintype));
redirect($nexturl);
}
/**
* Download the given file into the given destination.
*
* This is basically a simplified version of {@link download_file_content()} from
* Moodle itself, tuned for fetching files from moodle.org servers. Same code is used
* in mdeploy.php for fetching available updates.
*
* @param string $source file url starting with http(s)://
* @param string $target store the downloaded content to this file (full path)
* @throws tool_installaddon_installer_exception
*/
public function download_file($source, $target) {
global $CFG;
require_once($CFG->libdir.'/filelib.php');
$targetfile = fopen($target, 'w');
if (!$targetfile) {
throw new tool_installaddon_installer_exception('err_download_write_file', $target);
}
$options = array(
'file' => $targetfile,
'timeout' => 300,
'followlocation' => true,
'maxredirs' => 3,
'ssl_verifypeer' => true,
'ssl_verifyhost' => 2,
);
$cacertfile = $CFG->dataroot.'/moodleorgca.crt';
if (is_readable($cacertfile)) {
// Do not use CA certs provided by the operating system. Instead,
// use this CA cert to verify the ZIP provider.
$options['cainfo'] = $cacertfile;
}
$curl = new curl(array('proxy' => true));
$result = $curl->download_one($source, null, $options);
$curlinfo = $curl->get_info();
fclose($targetfile);
if ($result !== true) {
throw new tool_installaddon_installer_exception('err_curl_exec', array(
'url' => $source, 'errorno' => $curl->get_errno(), 'error' => $result));
} else if (empty($curlinfo['http_code']) or $curlinfo['http_code'] != 200) {
throw new tool_installaddon_installer_exception('err_curl_http_code', array(
'url' => $source, 'http_code' => $curlinfo['http_code']));
} else if (isset($curlinfo['ssl_verify_result']) and $curlinfo['ssl_verify_result'] != 0) {
throw new tool_installaddon_installer_exception('err_curl_ssl_verify', array(
'url' => $source, 'ssl_verify_result' => $curlinfo['ssl_verify_result']));
}
}
//// End of external API ///////////////////////////////////////////////////
/**
* @see self::instance()
*/
protected function __construct() {
}
/**
* @return string this site full name
*/
protected function get_site_fullname() {
global $SITE;
return strip_tags($SITE->fullname);
}
/**
* @return string this site URL
*/
protected function get_site_url() {
global $CFG;
return $CFG->wwwroot;
}
/**
* @return string major version like 2.5, 2.6 etc.
*/
protected function get_site_major_version() {
return moodle_major_version();
}
/**
* Encodes the given array in a way that can be safely appended as HTTP GET param
*
* Be ware! The recipient may rely on the exact way how the site information is encoded.
* Do not change anything here unless you know what you are doing and understand all
* consequences! (Don't you love warnings like that, too? :-p)
*
* @param array $info
* @return string
*/
protected function encode_site_information(array $info) {
return base64_encode(json_encode($info));
}
/**
* Decide if the encoded site information should be sent to the add-ons repository site
*
* For now, we just return true. In the future, we may want to implement some
* privacy aware logic (based on site/user preferences for example).
*
* @return bool
*/
protected function should_send_site_info() {
return true;
}
/**
* Renames the root directory of the extracted ZIP package.
*
* This method does not validate the presence of the single root directory
* (the validator does it later). It just searches for the first directory
* under the given location and renames it.
*
* The method will not rename the root if the requested location already
* exists.
*
* @param string $dirname the location of the extracted ZIP package
* @param string $rootdir the requested name of the root directory
* @param array $files list of extracted files
* @return array eventually amended list of extracted files
*/
protected function rename_extracted_rootdir($dirname, $rootdir, array $files) {
if (!is_dir($dirname)) {
debugging('Unable to rename rootdir of non-existing content', DEBUG_DEVELOPER);
return $files;
}
if (file_exists($dirname.'/'.$rootdir)) {
debugging('Unable to rename rootdir to already existing folder', DEBUG_DEVELOPER);
return $files;
}
$found = null; // The name of the first subdirectory under the $dirname.
foreach (scandir($dirname) as $item) {
if (substr($item, 0, 1) === '.') {
continue;
}
if (is_dir($dirname.'/'.$item)) {
$found = $item;
break;
}
}
if (!is_null($found)) {
if (rename($dirname.'/'.$found, $dirname.'/'.$rootdir)) {
$newfiles = array();
foreach ($files as $filepath => $status) {
$newpath = preg_replace('~^'.preg_quote($found.'/').'~', preg_quote($rootdir.'/'), $filepath);
$newfiles[$newpath] = $status;
}
return $newfiles;
}
}
return $files;
}
/**
* Decode the request from the Moodle Plugins directory
*
* @param string $request submitted via 'installaddonrequest' HTTP parameter
* @return stdClass|bool false on error, object otherwise
*/
protected function decode_remote_request($request) {
$data = base64_decode($request, true);
if ($data === false) {
return false;
}
$data = json_decode($data);
if (is_null($data)) {
return false;
}
if (!isset($data->name) or !isset($data->component) or !isset($data->version)) {
return false;
}
$data->name = s(strip_tags($data->name));
if ($data->component !== clean_param($data->component, PARAM_COMPONENT)) {
return false;
}
list($plugintype, $pluginname) = normalize_component($data->component);
if ($plugintype === 'core') {
return false;
}
if ($data->component !== $plugintype.'_'.$pluginname) {
return false;
}
// Keep this regex in sync with the one used by the download.moodle.org/api/x.y/pluginfo.php
if (!preg_match('/^[0-9]+$/', $data->version)) {
return false;
}
return $data;
}
}
/**
* General exception thrown by {@link tool_installaddon_installer} class
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_installer_exception extends moodle_exception {
/**
* @param string $errorcode exception description identifier
* @param mixed $debuginfo debugging data to display
*/
public function __construct($errorcode, $a=null, $debuginfo=null) {
parent::__construct($errorcode, 'tool_installaddon', '', $a, print_r($debuginfo, true));
}
}
@@ -0,0 +1,95 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package tool_installaddon
* @subpackage classes
* @category form
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/formslib.php');
/**
* Defines a simple form for uploading the add-on ZIP package
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_installfromzip extends moodleform {
/**
* Defines the form elements
*/
public function definition() {
$mform = $this->_form;
$installer = $this->_customdata['installer'];
$mform->addElement('header', 'general', get_string('installfromzip', 'tool_installaddon'));
$mform->addHelpButton('general', 'installfromzip', 'tool_installaddon');
$options = $installer->get_plugin_types_menu();
$mform->addElement('select', 'plugintype', get_string('installfromziptype', 'tool_installaddon'), $options,
array('id' => 'tool_installaddon_installfromzip_plugintype'));
$mform->addHelpButton('plugintype', 'installfromziptype', 'tool_installaddon');
$mform->addRule('plugintype', null, 'required', null, 'client');
$mform->addElement('static', 'permcheck', '',
html_writer::span(get_string('permcheck', 'tool_installaddon'), '',
array('id' => 'tool_installaddon_installfromzip_permcheck')));
$mform->addElement('filepicker', 'zipfile', get_string('installfromzipfile', 'tool_installaddon'),
null, array('accepted_types' => '.zip'));
$mform->addHelpButton('zipfile', 'installfromzipfile', 'tool_installaddon');
$mform->addRule('zipfile', null, 'required', null, 'client');
$mform->addElement('text', 'rootdir', get_string('installfromziprootdir', 'tool_installaddon'));
$mform->addHelpButton('rootdir', 'installfromziprootdir', 'tool_installaddon');
$mform->setType('rootdir', PARAM_PLUGIN);
$mform->setAdvanced('rootdir');
$mform->addElement('checkbox', 'acknowledgement', get_string('acknowledgement', 'tool_installaddon'),
' '.get_string('acknowledgementtext', 'tool_installaddon'));
$mform->addRule('acknowledgement', get_string('acknowledgementmust', 'tool_installaddon'), 'required', null, 'client');
$this->add_action_buttons(false, get_string('installfromzipsubmit', 'tool_installaddon'));
}
/**
* Validate the form fields
*
* @param array $data
* @param array $files
* @return array (string)field name => (string)validation error text
*/
public function validation($data, $files) {
$installer = $this->_customdata['installer'];
$errors = parent::validation($data, $files);
if (!$installer->is_plugintype_writable($data['plugintype'])) {
$path = $installer->get_plugintype_root($data['plugintype']);
$errors['plugintype'] = get_string('permcheckresultno', 'tool_installaddon', array('path' => $path));
}
return $errors;
}
}
@@ -0,0 +1,216 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Provides tool_installaddon_pluginfo_client and related classes
*
* @package tool_installaddon
* @subpackage classes
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Implements a client for https://download.moodle.org/api/x.y/pluginfo.php service
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_pluginfo_client {
/**
* Factory method returning an instance of this class.
*
* @return tool_installaddon_pluginfo_client
*/
public static function instance() {
return new static();
}
/**
* Return the information about the plugin
*
* @throws tool_installaddon_pluginfo_exception
* @param string $component
* @param string $version
* @return stdClass the pluginfo structure
*/
public function get_pluginfo($component, $version) {
$response = $this->call_service($component, $version);
$response = $this->decode_response($response);
$this->validate_response($response);
return $response->pluginfo;
}
// End of external API /////////////////////////////////////////////////
/**
* @see self::instance()
*/
protected function __construct() {
}
/**
* Calls the pluginfo.php service and returns the raw response
*
* @param string $component
* @param string $version
* @return string
*/
protected function call_service($component, $version) {
global $CFG;
require_once($CFG->libdir.'/filelib.php');
$curl = new curl(array('proxy' => true));
$response = $curl->get(
$this->service_request_url(),
$this->service_request_params($component, $version),
$this->service_request_options());
$curlerrno = $curl->get_errno();
$curlinfo = $curl->get_info();
if (!empty($curlerrno)) {
throw new tool_installaddon_pluginfo_exception('err_curl_exec', array(
'url' => $curlinfo['url'], 'errno' => $curlerrno, 'error' => $curl->error));
} else if ($curlinfo['http_code'] != 200) {
throw new tool_installaddon_pluginfo_exception('err_curl_http_code', array(
'url' => $curlinfo['url'], 'http_code' => $curlinfo['http_code']));
} else if (isset($curlinfo['ssl_verify_result']) and $curlinfo['ssl_verify_result'] != 0) {
throw new tool_installaddon_pluginfo_exception('err_curl_ssl_verify', array(
'url' => $curlinfo['url'], 'ssl_verify_result' => $curlinfo['ssl_verify_result']));
}
return $response;
}
/**
* Return URL to the pluginfo.php service
*
* @return moodle_url
*/
protected function service_request_url() {
global $CFG;
if (!empty($CFG->config_php_settings['alternativepluginfoserviceurl'])) {
$url = $CFG->config_php_settings['alternativepluginfoserviceurl'];
} else {
$url = 'https://download.moodle.org/api/1.2/pluginfo.php';
}
return new moodle_url($url);
}
/**
* Return list of pluginfo service parameters
*
* @param string $component
* @param string $version
* @return array
*/
protected function service_request_params($component, $version) {
$params = array();
$params['format'] = 'json';
$params['plugin'] = $component.'@'.$version;
return $params;
}
/**
* Return cURL options for the service request
*
* @return array of (string)param => (string)value
*/
protected function service_request_options() {
global $CFG;
$options = array(
'CURLOPT_SSL_VERIFYHOST' => 2, // this is the default in {@link curl} class but just in case
'CURLOPT_SSL_VERIFYPEER' => true,
);
$cacertfile = $CFG->dataroot.'/moodleorgca.crt';
if (is_readable($cacertfile)) {
// Do not use CA certs provided by the operating system. Instead,
// use this CA cert to verify the updates provider.
$options['CURLOPT_CAINFO'] = $cacertfile;
}
return $options;
}
/**
* Decode the raw service response
*
* @param string $raw
* @return stdClass
*/
protected function decode_response($raw) {
return json_decode($raw);
}
/**
* Validate decoded service response
*
* @param stdClass $response
*/
protected function validate_response($response) {
if (empty($response)) {
throw new tool_installaddon_pluginfo_exception('err_response_empty');
}
if (empty($response->status) or $response->status !== 'OK') {
throw new tool_installaddon_pluginfo_exception('err_response_status', $response->status);
}
if (empty($response->apiver) or $response->apiver !== '1.2') {
throw new tool_installaddon_pluginfo_exception('err_response_api_version', $response->apiver);
}
if (empty($response->pluginfo->component) or empty($response->pluginfo->downloadurl)
or empty($response->pluginfo->downloadmd5)) {
throw new tool_installaddon_pluginfo_exception('err_response_pluginfo');
}
}
}
/**
* General exception thrown by {@link tool_installaddon_pluginfo_client} class
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_pluginfo_exception extends moodle_exception {
/**
* @param string $errorcode exception description identifier
* @param mixed $debuginfo debugging data to display
*/
public function __construct($errorcode, $a=null, $debuginfo=null) {
parent::__construct($errorcode, 'tool_installaddon', '', $a, print_r($debuginfo, true));
}
}
@@ -0,0 +1,575 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Provides validation class to check the plugin ZIP contents
*
* Uses fragments of the local_plugins_archive_validator class copyrighted by
* Marina Glancy that is part of the local_plugins plugin.
*
* @package tool_installaddon
* @subpackage classes
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if (!defined('T_ML_COMMENT')) {
define('T_ML_COMMENT', T_COMMENT);
} else {
define('T_DOC_COMMENT', T_ML_COMMENT);
}
/**
* Validates the contents of extracted plugin ZIP file
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_validator {
/** Critical error message level, causes the validation fail. */
const ERROR = 'error';
/** Warning message level, validation does not fail but the admin should be always informed. */
const WARNING = 'warning';
/** Information message level that the admin should be aware of. */
const INFO = 'info';
/** Debugging message level, should be displayed in debugging mode only. */
const DEBUG = 'debug';
/** @var string full path to the extracted ZIP contents */
protected $extractdir = null;
/** @var array as returned by {@link zip_packer::extract_to_pathname()} */
protected $extractfiles = null;
/** @var bool overall result of validation */
protected $result = null;
/** @var string the name of the plugin root directory */
protected $rootdir = null;
/** @var array explicit list of expected/required characteristics of the ZIP */
protected $assertions = null;
/** @var array of validation log messages */
protected $messages = array();
/** @var array|null array of relevant data obtained from version.php */
protected $versionphp = null;
/** @var string|null the name of found English language file without the .php extension */
protected $langfilename = null;
/** @var moodle_url|null URL to continue with the installation of validated add-on */
protected $continueurl = null;
/**
* Factory method returning instance of the validator
*
* @param string $zipcontentpath full path to the extracted ZIP contents
* @param array $zipcontentfiles (string)filerelpath => (bool|string)true or error
* @return tool_installaddon_validator
*/
public static function instance($zipcontentpath, array $zipcontentfiles) {
return new static($zipcontentpath, $zipcontentfiles);
}
/**
* Set the expected plugin type, fail the validation otherwise
*
* @param string $required plugin type
*/
public function assert_plugin_type($required) {
$this->assertions['plugintype'] = $required;
}
/**
* Set the expectation that the plugin can be installed into the given Moodle version
*
* @param string $required Moodle version we are about to install to
*/
public function assert_moodle_version($required) {
$this->assertions['moodleversion'] = $required;
}
/**
* Execute the validation process against all explicit and implicit requirements
*
* Returns true if the validation passes (all explicit and implicit requirements
* pass) and the plugin can be installed. Returns false if the validation fails
* (some explicit or implicit requirement fails) and the plugin must not be
* installed.
*
* @return bool
*/
public function execute() {
$this->result = (
$this->validate_files_layout()
and $this->validate_version_php()
and $this->validate_language_pack()
and $this->validate_target_location()
);
return $this->result;
}
/**
* Returns overall result of the validation.
*
* Null is returned if the validation has not been executed yet. Otherwise
* this method returns true (the installation can continue) or false (it is not
* safe to continue with the installation).
*
* @return bool|null
*/
public function get_result() {
return $this->result;
}
/**
* Return the list of validation log messages
*
* Each validation message is a plain object with properties level, msgcode
* and addinfo.
*
* @return array of (int)index => (stdClass) validation message
*/
public function get_messages() {
return $this->messages;
}
/**
* Return the information provided by the the plugin's version.php
*
* If version.php was not found in the plugin (which is tolerated for
* themes only at the moment), null is returned. Otherwise the array
* is returned. It may be empty if no information was parsed (which
* should not happen).
*
* @return null|array
*/
public function get_versionphp_info() {
return $this->versionphp;
}
/**
* Returns the name of the English language file without the .php extension
*
* This can be used as a suggestion for fixing the plugin root directory in the
* ZIP file during the upload. If no file was found, or multiple PHP files are
* located in lang/en/ folder, then null is returned.
*
* @return null|string
*/
public function get_language_file_name() {
return $this->langfilename;
}
/**
* Returns the rootdir of the extracted package (after eventual renaming)
*
* @return string|null
*/
public function get_rootdir() {
return $this->rootdir;
}
/**
* Sets the URL to continue to after successful validation
*
* @param moodle_url $url
*/
public function set_continue_url(moodle_url $url) {
$this->continueurl = $url;
}
/**
* Get the URL to continue to after successful validation
*
* Null is returned if the URL has not been explicitly set by the caller.
*
* @return moodle_url|null
*/
public function get_continue_url() {
return $this->continueurl;
}
// End of external API /////////////////////////////////////////////////////
/**
* @param string $zipcontentpath full path to the extracted ZIP contents
* @param array $zipcontentfiles (string)filerelpath => (bool|string)true or error
*/
protected function __construct($zipcontentpath, array $zipcontentfiles) {
$this->extractdir = $zipcontentpath;
$this->extractfiles = $zipcontentfiles;
}
// Validation methods //////////////////////////////////////////////////////
/**
* @return bool false if files in the ZIP do not have required layout
*/
protected function validate_files_layout() {
if (!is_array($this->extractfiles) or count($this->extractfiles) < 4) {
// We need the English language pack with the name of the plugin at least
$this->add_message(self::ERROR, 'filesnumber');
return false;
}
foreach ($this->extractfiles as $filerelname => $filestatus) {
if ($filestatus !== true) {
$this->add_message(self::ERROR, 'filestatus', array('file' => $filerelname, 'status' => $filestatus));
return false;
}
}
foreach (array_keys($this->extractfiles) as $filerelname) {
if (!file_exists($this->extractdir.'/'.$filerelname)) {
$this->add_message(self::ERROR, 'filenotexists', array('file' => $filerelname));
return false;
}
}
foreach (array_keys($this->extractfiles) as $filerelname) {
$matches = array();
if (!preg_match("#^([^/]+)/#", $filerelname, $matches) or (!is_null($this->rootdir) and $this->rootdir !== $matches[1])) {
$this->add_message(self::ERROR, 'onedir');
return false;
}
$this->rootdir = $matches[1];
}
if ($this->rootdir !== clean_param($this->rootdir, PARAM_PLUGIN)) {
$this->add_message(self::ERROR, 'rootdirinvalid', $this->rootdir);
return false;
} else {
$this->add_message(self::INFO, 'rootdir', $this->rootdir);
}
return is_dir($this->extractdir.'/'.$this->rootdir);
}
/**
* @return bool false if the version.php file does not declare required information
*/
protected function validate_version_php() {
if (!isset($this->assertions['plugintype'])) {
throw new coding_exception('Required plugin type must be set before calling this');
}
if (!isset($this->assertions['moodleversion'])) {
throw new coding_exception('Required Moodle version must be set before calling this');
}
$fullpath = $this->extractdir.'/'.$this->rootdir.'/version.php';
if (!file_exists($fullpath)) {
// This is tolerated for themes only.
if ($this->assertions['plugintype'] === 'theme') {
$this->add_message(self::DEBUG, 'missingversionphp');
return true;
} else {
$this->add_message(self::ERROR, 'missingversionphp');
return false;
}
}
$this->versionphp = array();
$info = $this->parse_version_php($fullpath);
if ($this->assertions['plugintype'] === 'mod') {
$type = 'module';
} else {
$type = 'plugin';
}
if (!isset($info[$type.'->version'])) {
if ($type === 'module' and isset($info['plugin->version'])) {
// Expect the activity module using $plugin in version.php instead of $module.
$type = 'plugin';
$this->versionphp['version'] = $info[$type.'->version'];
$this->add_message(self::INFO, 'pluginversion', $this->versionphp['version']);
} else {
$this->add_message(self::ERROR, 'missingversion');
return false;
}
} else {
$this->versionphp['version'] = $info[$type.'->version'];
$this->add_message(self::INFO, 'pluginversion', $this->versionphp['version']);
}
if (isset($info[$type.'->requires'])) {
$this->versionphp['requires'] = $info[$type.'->requires'];
if ($this->versionphp['requires'] > $this->assertions['moodleversion']) {
$this->add_message(self::ERROR, 'requiresmoodle', $this->versionphp['requires']);
return false;
}
$this->add_message(self::INFO, 'requiresmoodle', $this->versionphp['requires']);
}
if (isset($info[$type.'->component'])) {
$this->versionphp['component'] = $info[$type.'->component'];
list($reqtype, $reqname) = normalize_component($this->versionphp['component']);
if ($reqtype !== $this->assertions['plugintype']) {
$this->add_message(self::ERROR, 'componentmismatchtype', array(
'expected' => $this->assertions['plugintype'],
'found' => $reqtype));
return false;
}
if ($reqname !== $this->rootdir) {
$this->add_message(self::ERROR, 'componentmismatchname', $reqname);
return false;
}
$this->add_message(self::INFO, 'componentmatch', $this->versionphp['component']);
}
if (isset($info[$type.'->maturity'])) {
$this->versionphp['maturity'] = $info[$type.'->maturity'];
if ($this->versionphp['maturity'] === 'MATURITY_STABLE') {
$this->add_message(self::INFO, 'maturity', $this->versionphp['maturity']);
} else {
$this->add_message(self::WARNING, 'maturity', $this->versionphp['maturity']);
}
}
if (isset($info[$type.'->release'])) {
$this->versionphp['release'] = $info[$type.'->release'];
$this->add_message(self::INFO, 'release', $this->versionphp['release']);
}
return true;
}
/**
* @return bool false if the English language pack is not provided correctly
*/
protected function validate_language_pack() {
if (!isset($this->assertions['plugintype'])) {
throw new coding_exception('Required plugin type must be set before calling this');
}
if (!isset($this->extractfiles[$this->rootdir.'/lang/en/'])
or $this->extractfiles[$this->rootdir.'/lang/en/'] !== true
or !is_dir($this->extractdir.'/'.$this->rootdir.'/lang/en')) {
$this->add_message(self::ERROR, 'missinglangenfolder');
return false;
}
$langfiles = array();
foreach (array_keys($this->extractfiles) as $extractfile) {
$matches = array();
if (preg_match('#^'.preg_quote($this->rootdir).'/lang/en/([^/]+).php?$#i', $extractfile, $matches)) {
$langfiles[] = $matches[1];
}
}
if (empty($langfiles)) {
$this->add_message(self::ERROR, 'missinglangenfile');
return false;
} else if (count($langfiles) > 1) {
$this->add_message(self::WARNING, 'multiplelangenfiles');
} else {
$this->langfilename = $langfiles[0];
$this->add_message(self::DEBUG, 'foundlangfile', $this->langfilename);
}
if ($this->assertions['plugintype'] === 'mod') {
$expected = $this->rootdir.'.php';
} else {
$expected = $this->assertions['plugintype'].'_'.$this->rootdir.'.php';
}
if (!isset($this->extractfiles[$this->rootdir.'/lang/en/'.$expected])
or $this->extractfiles[$this->rootdir.'/lang/en/'.$expected] !== true
or !is_file($this->extractdir.'/'.$this->rootdir.'/lang/en/'.$expected)) {
$this->add_message(self::ERROR, 'missingexpectedlangenfile', $expected);
return false;
}
return true;
}
/**
* @return bool false of the given add-on can't be installed into its location
*/
public function validate_target_location() {
if (!isset($this->assertions['plugintype'])) {
throw new coding_exception('Required plugin type must be set before calling this');
}
$plugintypepath = $this->get_plugintype_location($this->assertions['plugintype']);
if (is_null($plugintypepath)) {
$this->add_message(self::ERROR, 'unknowntype', $this->assertions['plugintype']);
return false;
}
if (!is_dir($plugintypepath)) {
throw new coding_exception('Plugin type location does not exist!');
}
$target = $plugintypepath.'/'.$this->rootdir;
if (file_exists($target)) {
$this->add_message(self::ERROR, 'targetexists', $target);
return false;
}
if (is_writable($plugintypepath)) {
$this->add_message(self::INFO, 'pathwritable', $plugintypepath);
} else {
$this->add_message(self::ERROR, 'pathwritable', $plugintypepath);
return false;
}
return true;
}
// Helper methods //////////////////////////////////////////////////////////
/**
* Get as much information from existing version.php as possible
*
* @param string full path to the version.php file
* @return array of found meta-info declarations
*/
protected function parse_version_php($fullpath) {
$content = $this->get_stripped_file_contents($fullpath);
preg_match_all('#\$((plugin|module)\->(version|maturity|release|requires))=()(\d+(\.\d+)?);#m', $content, $matches1);
preg_match_all('#\$((plugin|module)\->(maturity))=()(MATURITY_\w+);#m', $content, $matches2);
preg_match_all('#\$((plugin|module)\->(release))=([\'"])(.*?)\4;#m', $content, $matches3);
preg_match_all('#\$((plugin|module)\->(component))=([\'"])(.+?_.+?)\4;#m', $content, $matches4);
if (count($matches1[1]) + count($matches2[1]) + count($matches3[1]) + count($matches4[1])) {
$info = array_combine(
array_merge($matches1[1], $matches2[1], $matches3[1], $matches4[1]),
array_merge($matches1[5], $matches2[5], $matches3[5], $matches4[5])
);
} else {
$info = array();
}
return $info;
}
/**
* Append the given message to the messages log
*
* @param string $level e.g. self::ERROR
* @param string $msgcode may form a string
* @param string|array|object $a optional additional info suitable for {@link get_string()}
*/
protected function add_message($level, $msgcode, $a = null) {
$msg = (object)array(
'level' => $level,
'msgcode' => $msgcode,
'addinfo' => $a,
);
$this->messages[] = $msg;
}
/**
* Returns bare PHP code from the given file
*
* Returns contents without PHP opening and closing tags, text outside php code,
* comments and extra whitespaces.
*
* @param string $fullpath full path to the file
* @return string
*/
protected function get_stripped_file_contents($fullpath) {
$source = file_get_contents($fullpath);
$tokens = token_get_all($source);
$output = '';
$doprocess = false;
foreach ($tokens as $token) {
if (is_string($token)) {
// Simple one character token.
$id = -1;
$text = $token;
} else {
// Token array.
list($id, $text) = $token;
}
switch ($id) {
case T_WHITESPACE:
case T_COMMENT:
case T_ML_COMMENT:
case T_DOC_COMMENT:
// Ignore whitespaces, inline comments, multiline comments and docblocks.
break;
case T_OPEN_TAG:
// Start processing.
$doprocess = true;
break;
case T_CLOSE_TAG:
// Stop processing.
$doprocess = false;
break;
default:
// Anything else is within PHP tags, return it as is.
if ($doprocess) {
$output .= $text;
if ($text === 'function') {
// Explicitly keep the whitespace that would be ignored.
$output .= ' ';
}
}
break;
}
}
return $output;
}
/**
* Returns the full path to the root directory of the given plugin type
*
* @param string $plugintype
* @return string|null
*/
public function get_plugintype_location($plugintype) {
$plugintypepath = null;
foreach (get_plugin_types() as $type => $fullpath) {
if ($type === $plugintype) {
$plugintypepath = $fullpath;
break;
}
}
return $plugintypepath;
}
}
+76
View File
@@ -0,0 +1,76 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Deploy the validated contents of the ZIP package to the $CFG->dirroot
*
* @package tool_installaddon
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->libdir.'/filelib.php');
require_once(dirname(__FILE__).'/classes/installer.php');
require_once(dirname(__FILE__).'/classes/validator.php');
require_login();
require_capability('moodle/site:config', context_system::instance());
if (!empty($CFG->disableonclickaddoninstall)) {
notice(get_string('featuredisabled', 'tool_installaddon'));
}
require_sesskey();
$jobid = required_param('jobid', PARAM_ALPHANUM);
$plugintype = required_param('type', PARAM_ALPHANUMEXT);
$pluginname = required_param('name', PARAM_PLUGIN);
$zipcontentpath = $CFG->tempdir.'/tool_installaddon/'.$jobid.'/contents';
if (!is_dir($zipcontentpath)) {
debugging('Invalid location of the extracted ZIP package: '.s($zipcontentpath), DEBUG_DEVELOPER);
redirect(new moodle_url('/admin/tool/installaddon/index.php'),
get_string('invaliddata', 'core_error'));
}
if (!is_dir($zipcontentpath.'/'.$pluginname)) {
debugging('Invalid location of the plugin root directory: '.$zipcontentpath.'/'.$pluginname, DEBUG_DEVELOPER);
redirect(new moodle_url('/admin/tool/installaddon/index.php'),
get_string('invaliddata', 'core_error'));
}
$installer = tool_installaddon_installer::instance();
if (!$installer->is_plugintype_writable($plugintype)) {
debugging('Plugin type location not writable', DEBUG_DEVELOPER);
redirect(new moodle_url('/admin/tool/installaddon/index.php'),
get_string('invaliddata', 'core_error'));
}
$plugintypepath = $installer->get_plugintype_root($plugintype);
if (file_exists($plugintypepath.'/'.$pluginname)) {
debugging('Target location already exists', DEBUG_DEVELOPER);
redirect(new moodle_url('/admin/tool/installaddon/index.php'),
get_string('invaliddata', 'core_error'));
}
rename($zipcontentpath.'/'.$pluginname, $plugintypepath.'/'.$pluginname);
fulldelete($CFG->tempdir.'/tool_installaddon/'.$jobid);
redirect(new moodle_url('/admin'));
+67
View File
@@ -0,0 +1,67 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* The main screen of the tool.
*
* @package tool_installaddon
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once(dirname(__FILE__).'/classes/installer.php');
admin_externalpage_setup('tool_installaddon_index');
if (!empty($CFG->disableonclickaddoninstall)) {
notice(get_string('featuredisabled', 'tool_installaddon'));
}
$installer = tool_installaddon_installer::instance();
$output = $PAGE->get_renderer('tool_installaddon');
$output->set_installer_instance($installer);
// Handle the eventual request for installing from remote repository.
$remoterequest = optional_param('installaddonrequest', null, PARAM_RAW);
$confirmed = optional_param('confirm', false, PARAM_BOOL);
$installer->handle_remote_request($output, $remoterequest, $confirmed);
$form = $installer->get_installfromzip_form();
if ($form->is_cancelled()) {
redirect($PAGE->url);
} else if ($data = $form->get_data()) {
// Save the ZIP file into a temporary location.
$jobid = md5(rand().uniqid('', true));
$sourcedir = make_temp_directory('tool_installaddon/'.$jobid.'/source');
$zipfilename = $installer->save_installfromzip_file($form, $sourcedir);
// Redirect to the validation page.
$nexturl = new moodle_url('/admin/tool/installaddon/validate.php', array(
'sesskey' => sesskey(),
'jobid' => $jobid,
'zip' => $zipfilename,
'type' => $data->plugintype,
'rootdir' => $data->rootdir));
redirect($nexturl);
}
// Output starts here.
echo $output->index_page();
@@ -0,0 +1,102 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Strings for the tool_installaddon component.
*
* @package tool_installaddon
* @category string
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['acknowledgement'] = 'Acknowledgement';
$string['acknowledgementmust'] = 'You must acknowledge this';
$string['acknowledgementtext'] = 'I understand that it is my responsibility to have full backups of this site prior to installing add-ons. I accept and understand that add-ons (especially but not only those originating in unofficial sources) may contain security holes, can make the site unavailable, or cause private data leaks or loss.';
$string['featuredisabled'] = 'Add-on installer is disabled at this site.';
$string['installaddon'] = 'Install add-on!';
$string['installaddons'] = 'Install add-ons';
$string['installexception'] = 'Oops... An error occured while trying to install the add-on. Turn debugging mode on to see more details about the error.';
$string['installfromrepo'] = 'Install add-ons from Moodle plugins directory';
$string['installfromrepo_help'] = 'You will be redirected to the Moodle plugins directory to search for and install an add-on. Note that your site fullname, URL and major version will be sent as well, to make the installation process easier for you.';
$string['installfromzip'] = 'Install add-on from the ZIP file';
$string['installfromzip_help'] = 'Alternatively to installing add-ons directly from the Moodle plugins directory, you can install add-ons from manually uploaded ZIP packages. Such ZIP packages are expected to have same structure as the ones available in the Moodle plugins directory.';
$string['installfromzipfile'] = 'ZIP package';
$string['installfromzipfile_help'] = 'The plugin ZIP package must contain just one directory with the name of the plugin. The ZIP will be extracted into the appropriate location for the given plugin type. Packages downloaded from the Moodle plugins directory have this format.';
$string['installfromziprootdir'] = 'Rename the root directory';
$string['installfromziprootdir_help'] = 'Some ZIP packages, such as those generated by Github, may contain incorrect name of the root directory. You can rename the root directory of the extracted package to the correct value defined in this field.';
$string['installfromzipsubmit'] = 'Install add-on from the ZIP file';
$string['installfromziptype'] = 'Plugin type';
$string['installfromziptype_help'] = 'Choose the correct type of plugin you are about to install. The installation procedure may fail badly when incorrect plugin type is provided.';
$string['permcheck'] = 'Make sure the plugin type root location is writable by the web server process';
$string['permcheckerror'] = 'Error while checking for write permission';
$string['permcheckprogress'] = 'Checking for write permission ...';
$string['permcheckresultno'] = 'Plugin type location <em>{$a->path}</em> not writable';
$string['permcheckresultyes'] = 'Plugin type location <em>{$a->path}</em> is writable';
$string['pluginname'] = 'Add-on installer';
$string['remoterequestalreadyinstalled'] = 'There is a request to install add-on {$a->name} ({$a->component}) version {$a->version} from the Moodle plugins directory to this site. This plugin is <strong>already installed</strong> at this site.';
$string['remoterequestconfirm'] = 'There is a request to install add-on <strong>{$a->name}</strong> ({$a->component}) version {$a->version} from the Moodle plugins directory to this site. If you continue, the add-on ZIP package will be downloaded for validation. Nothing will be installed yet.';
$string['remoterequestinvalid'] = 'There is a request to install add-on from the Moodle plugins directory to this site. Unfortunately, the request is not valid. The add-on cannot be installed.';
$string['remoterequestpermcheck'] = 'There is a request to install add-on {$a->name} ({$a->component}) version {$a->version} from the Moodle plugins directory to this site. The plugin type location <strong>{$a->typepath}</strong> is <strong>not writable</strong> though. You need to give the write access for the web server user to the plugin type location now. Once the write access is granted, press the continue button to repeat the check.';
$string['remoterequestpluginfoexception'] = 'Oops... An error occured while trying to obtain information about the add-on {$a->name} ({$a->component}) version {$a->version}. The add-on cannot be installed. Turn debugging mode on to see more details about the error.';
$string['validation'] = 'Add-on package validation';
$string['validationmsg_componentmatch'] = 'Full component name';
$string['validationmsg_componentmismatchname'] = 'Add-on name mismatch';
$string['validationmsg_componentmismatchname_help'] = 'Some ZIP packages, such as those generated by Github, may contain incorrect name of the root directory. You have to fix the name of the root directory to match the declared add-on name.';
$string['validationmsg_componentmismatchname_info'] = 'The add-on declares its name is \'{$a}\' but that does not match the name of the root directory.';
$string['validationmsg_componentmismatchtype'] = 'Add-on type mismatch';
$string['validationmsg_componentmismatchtype_info'] = 'You have selected the type \'{$a->expected}\' but the add-on declares its type is \'{$a->found}\'.';
$string['validationmsg_filenotexists'] = 'Extracted file not found';
$string['validationmsg_filesnumber'] = 'Not enough files found in the package';
$string['validationmsg_filestatus'] = 'Unable to extract all files';
$string['validationmsg_filestatus_info'] = 'Attempting to extract file {$a->file} resulted in error \'{$a->status}\'.';
$string['validationmsg_maturity'] = 'Declared maturity level';
$string['validationmsg_maturity_help'] = 'The add-on can declare its maturity level. If the maintainer considers the add-on stable, the declared maturity level will read MATURITY_STABLE. All other maturity levels (such as alpha or beta) should be considered unstable and a warning is raised.';
$string['validationmsg_missingexpectedlangenfile'] = 'English language file name mismatch';
$string['validationmsg_missingexpectedlangenfile_info'] = 'The given add-on type would need to provide the English language file {$a}.';
$string['validationmsg_missinglangenfile'] = 'No English language file found';
$string['validationmsg_missinglangenfolder'] = 'Missing English language folder';
$string['validationmsg_missingversion'] = 'Add-on does not declare its version';
$string['validationmsg_missingversionphp'] = 'File version.php not found';
$string['validationmsg_multiplelangenfiles'] = 'Multiple English language files found';
$string['validationmsg_onedir'] = 'Invalid structure of the ZIP package.';
$string['validationmsg_onedir_help'] = 'The ZIP package must contain just one root directory that holds the add-on code. The name of that root directory must match the name of the plugin.';
$string['validationmsg_pathwritable'] = 'Write access check';
$string['validationmsg_pluginversion'] = 'Add-on version';
$string['validationmsg_release'] = 'Add-on release';
$string['validationmsg_requiresmoodle'] = 'Required Moodle version';
$string['validationmsg_rootdir'] = 'Name of the add-on to be installed';
$string['validationmsg_rootdir_help'] = 'The name of the root directory in the ZIP package forms the name of the add-on to be installed. If the name is not correct, you may wish to rename the root directory in the ZIP prior to installing the add-on.';
$string['validationmsg_rootdirinvalid'] = 'Invalid name of the add-on';
$string['validationmsg_rootdirinvalid_help'] = 'The name of the root directory in the ZIP package violates formal syntax requirements. Some ZIP packages, such as those generated by Github, may contain incorrect name of the root directory. You have to fix the name of the root directory to match the add-on name.';
$string['validationmsg_targetexists'] = 'Target location already exists';
$string['validationmsg_targetexists_help'] = 'The directory that the add-on is to be installed to, must not exist yet.';
$string['validationmsg_unknowntype'] = 'Unknown plugin type';
$string['validationmsglevel_debug'] = 'Debug';
$string['validationmsglevel_error'] = 'Error';
$string['validationmsglevel_info'] = 'OK';
$string['validationmsglevel_warning'] = 'Warning';
$string['validationresult0'] = 'Validation failed!';
$string['validationresult0_help'] = 'Some serious problem was detected. It is not safe to install the add-on. See the validation log messages for more details.';
$string['validationresult1'] = 'Validation passed!';
$string['validationresult1_help'] = 'No serious problems were detected. You can continue with the add-on installation. See the validation log messages for more details and eventual warnings.';
$string['validationresult1_help'] = 'The add-on package has been validated and no serious problems were detected.';
$string['validationresultinfo'] = 'Info';
$string['validationresultmsg'] = 'Message';
$string['validationresultstatus'] = 'Status';
+74
View File
@@ -0,0 +1,74 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Checks the write permission for the given plugin type
*
* @package tool_installaddon
* @subpackage ajax
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('AJAX_SCRIPT', true);
require(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once(dirname(__FILE__).'/classes/installer.php');
require_login();
if (!has_capability('moodle/site:config', context_system::instance())) {
header('HTTP/1.1 403 Forbidden');
die();
}
if (!empty($CFG->disableonclickaddoninstall)) {
header('HTTP/1.1 403 Forbidden');
die();
}
if (!confirm_sesskey()) {
header('HTTP/1.1 403 Forbidden');
die();
}
$plugintype = optional_param('plugintype', null, PARAM_ALPHANUMEXT);
if (is_null($plugintype)) {
header('HTTP/1.1 400 Bad Request');
die();
}
$installer = tool_installaddon_installer::instance();
$plugintypepath = $installer->get_plugintype_root($plugintype);
if (empty($plugintypepath)) {
header('HTTP/1.1 400 Bad Request');
die();
}
$response = array('path' => $plugintypepath);
if ($installer->is_plugintype_writable($plugintype)) {
$response['writable'] = 1;
} else {
$response['writable'] = 0;
}
header('Content-Type: application/json; charset: utf-8');
echo json_encode($response);
Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
]>
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
x="0px" y="0px" width="16px" height="16px" viewBox="0 0 16 16" style="overflow:visible;enable-background:new 0 0 16 16;"
xml:space="preserve" preserveAspectRatio="xMinYMid meet">
<defs>
</defs>
<path style="fill:#999999;" d="M16,9v6c0,0.5-0.5,1-1,1h-1H2H1c-0.5,0-1-0.5-1-1V9c0-0.5,0.5-1,1-1h1c0.5,0,1,0.5,1,1v4h10V9
c0-0.5,0.5-1,1-1h1C15.5,8,16,8.5,16,9z M12.4,5.1l-0.7-0.7c-0.4-0.4-1-0.4-1.4,0L9.5,5.2V1c0-0.5-0.4-1-1-1h-1c-0.5,0-1,0.5-1,1
v4.2L5.7,4.4C5.3,4,4.7,4,4.3,4.4L3.6,5.1c-0.4,0.4-0.4,1,0,1.4l3.7,3.7c0.2,0.2,0.5,0.3,0.7,0.3c0.3,0,0.5-0.1,0.7-0.3l3.7-3.7
C12.8,6.2,12.8,5.5,12.4,5.1z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+398
View File
@@ -0,0 +1,398 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Output rendering for the plugin.
*
* @package tool_installaddon
* @category output
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Implements the plugin renderer
*
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_installaddon_renderer extends plugin_renderer_base {
/** @var tool_installaddon_installer */
protected $installer = null;
/** @var tool_installaddon_validator */
protected $validator = null;
/**
* Sets the tool_installaddon_installer instance being used.
*
* @throws coding_exception if the installer has been already set
* @param tool_installaddon_installer $installer
*/
public function set_installer_instance(tool_installaddon_installer $installer) {
if (is_null($this->installer)) {
$this->installer = $installer;
} else {
throw new coding_exception('Attempting to reset the installer instance.');
}
}
/**
* Sets the tool_installaddon_validator instance being used.
*
* @throws coding_exception if the validator has been already set
* @param tool_installaddon_validator $validator
*/
public function set_validator_instance(tool_installaddon_validator $validator) {
if (is_null($this->validator)) {
$this->validator = $validator;
} else {
throw new coding_exception('Attempting to reset the validator instance.');
}
}
/**
* Defines the index page layout
*
* @return string
*/
public function index_page() {
if (is_null($this->installer)) {
throw new coding_exception('Installer instance has not been set.');
}
$permcheckurl = new moodle_url('/admin/tool/installaddon/permcheck.php');
$this->page->requires->yui_module('moodle-tool_installaddon-permcheck', 'M.tool_installaddon.permcheck.init',
array(array('permcheckurl' => $permcheckurl->out())));
$this->page->requires->strings_for_js(
array('permcheckprogress', 'permcheckresultno', 'permcheckresultyes', 'permcheckerror'), 'tool_installaddon');
$out = $this->output->header();
$out .= $this->index_page_heading();
$out .= $this->index_page_repository();
$out .= $this->index_page_upload();
$out .= $this->output->footer();
return $out;
}
/**
* Defines the validation results page layout
*
* @return string
*/
public function validation_page() {
if (is_null($this->installer)) {
throw new coding_exception('Installer instance has not been set.');
}
if (is_null($this->validator)) {
throw new coding_exception('Validator instance has not been set.');
}
$out = $this->output->header();
$out .= $this->validation_page_heading();
$out .= $this->validation_page_messages();
$out .= $this->validation_page_continue();
$out .= $this->output->footer();
return $out;
}
/**
* Inform the user about invalid remote installation request.
*
* @param moodle_url $continueurl
* @return string
*/
public function remote_request_invalid_page(moodle_url $continueurl) {
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->box(get_string('remoterequestinvalid', 'tool_installaddon'), 'generalbox', 'notice');
$out .= $this->output->continue_button($continueurl, 'get');
$out .= $this->output->footer();
return $out;
}
/**
* Inform the user that such plugin is already installed
*
* @param stdClass $data decoded request data
* @param moodle_url $continueurl
* @return string
*/
public function remote_request_alreadyinstalled_page(stdClass $data, moodle_url $continueurl) {
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->box(get_string('remoterequestalreadyinstalled', 'tool_installaddon', $data), 'generalbox', 'notice');
$out .= $this->output->continue_button($continueurl, 'get');
$out .= $this->output->footer();
return $out;
}
/**
* Let the user confirm the remote installation request.
*
* @param stdClass $data decoded request data
* @param moodle_url $continueurl
* @param moodle_url $cancelurl
* @return string
*/
public function remote_request_confirm_page(stdClass $data, moodle_url $continueurl, moodle_url $cancelurl) {
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->confirm(get_string('remoterequestconfirm', 'tool_installaddon', $data), $continueurl, $cancelurl);
$out .= $this->output->footer();
return $out;
}
/**
* Inform the user that the target plugin type location is not writable.
*
* @param stdClass $data decoded request data
* @param string $plugintypepath full path to the plugin type location
* @param moodle_url $continueurl to repeat the write permission check
* @param moodle_url $cancelurl to cancel the installation
* @return string
*/
public function remote_request_permcheck_page(stdClass $data, $plugintypepath, moodle_url $continueurl, moodle_url $cancelurl) {
$data->typepath = $plugintypepath;
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->confirm(get_string('remoterequestpermcheck', 'tool_installaddon', $data), $continueurl, $cancelurl);
$out .= $this->output->footer();
return $out;
}
/**
* Inform the user about pluginfo service call exception
*
* This implementation does not actually use the passed exception. Custom renderers might want to
* display additional data obtained via {@link get_exception_info()}. Also note, this method is called
* in non-debugging mode only. If debugging is allowed at the site, default exception handler is triggered.
*
* @param stdClass $data decoded request data
* @param tool_installaddon_pluginfo_exception $e thrown exception
* @param moodle_url $continueurl
* @return string
*/
public function remote_request_pluginfo_exception(stdClass $data, tool_installaddon_pluginfo_exception $e, moodle_url $continueurl) {
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->box(get_string('remoterequestpluginfoexception', 'tool_installaddon', $data), 'generalbox', 'notice');
$out .= $this->output->continue_button($continueurl, 'get');
$out .= $this->output->footer();
return $out;
}
/**
* Inform the user about the installer exception
*
* This implementation does not actually use the passed exception. Custom renderers might want to
* display additional data obtained via {@link get_exception_info()}. Also note, this method is called
* in non-debugging mode only. If debugging is allowed at the site, default exception handler is triggered.
*
* @param tool_installaddon_installer_exception $e thrown exception
* @param moodle_url $continueurl
* @return string
*/
public function installer_exception(tool_installaddon_installer_exception $e, moodle_url $continueurl) {
$out = $this->output->header();
$out .= $this->output->heading(get_string('installfromrepo', 'tool_installaddon'));
$out .= $this->output->box(get_string('installexception', 'tool_installaddon'), 'generalbox', 'notice');
$out .= $this->output->continue_button($continueurl, 'get');
$out .= $this->output->footer();
return $out;
}
// End of the external API /////////////////////////////////////////////////
/**
* Renders the index page heading
*
* @return string
*/
protected function index_page_heading() {
return $this->output->heading(get_string('pluginname', 'tool_installaddon'));
}
/**
* Renders the widget for browsing the add-on repository
*
* @return string
*/
protected function index_page_repository() {
$url = $this->installer->get_addons_repository_url();
$out = $this->box(
$this->output->single_button($url, get_string('installfromrepo', 'tool_installaddon'), 'get').
$this->output->help_icon('installfromrepo', 'tool_installaddon'),
'generalbox', 'installfromrepobox'
);
return $out;
}
/**
* Renders the widget for uploading the add-on ZIP package
*
* @return string
*/
protected function index_page_upload() {
$form = $this->installer->get_installfromzip_form();
ob_start();
$form->display();
$out = ob_get_clean();
$out = $this->box($out, 'generalbox', 'installfromzipbox');
return $out;
}
/**
* Renders the page title and the overall validation verdict
*
* @return string
*/
protected function validation_page_heading() {
$heading = $this->output->heading(get_string('validation', 'tool_installaddon'));
if ($this->validator->get_result()) {
$status = $this->output->container(
html_writer::span(get_string('validationresult1', 'tool_installaddon'), 'verdict').
$this->output->help_icon('validationresult1', 'tool_installaddon'),
array('validationresult', 'success')
);
} else {
$status = $this->output->container(
html_writer::span(get_string('validationresult0', 'tool_installaddon'), 'verdict').
$this->output->help_icon('validationresult0', 'tool_installaddon'),
array('validationresult', 'failure')
);
}
return $heading . $status;
}
/**
* Renders validation log messages.
*
* @return string
*/
protected function validation_page_messages() {
$validator = $this->validator; // We need this to be able to use their constants.
$messages = $validator->get_messages();
if (empty($messages)) {
return '';
}
$table = new html_table();
$table->attributes['class'] = 'validationmessages generaltable';
$table->head = array(
get_string('validationresultstatus', 'tool_installaddon'),
get_string('validationresultmsg', 'tool_installaddon'),
get_string('validationresultinfo', 'tool_installaddon')
);
$table->colclasses = array('msgstatus', 'msgtext', 'msginfo');
$stringman = get_string_manager();
foreach ($messages as $message) {
if ($message->level === $validator::DEBUG and !debugging()) {
continue;
}
$msgstatus = get_string('validationmsglevel_'.$message->level, 'tool_installaddon');
$msgtext = $msgtext = s($message->msgcode);
if (is_null($message->addinfo)) {
$msginfo = '';
} else {
$msginfo = html_writer::tag('pre', s(print_r($message->addinfo, true)));
}
$msghelp = '';
// Replace the message code with the string if it is defined.
if ($stringman->string_exists('validationmsg_'.$message->msgcode, 'tool_installaddon')) {
$msgtext = get_string('validationmsg_'.$message->msgcode, 'tool_installaddon');
// And check for the eventual help, too.
if ($stringman->string_exists('validationmsg_'.$message->msgcode.'_help', 'tool_installaddon')) {
$msghelp = $this->output->help_icon('validationmsg_'.$message->msgcode, 'tool_installaddon');
}
}
// Re-format the message info using a string if it is define.
if (!is_null($message->addinfo) and $stringman->string_exists('validationmsg_'.$message->msgcode.'_info', 'tool_installaddon')) {
$msginfo = get_string('validationmsg_'.$message->msgcode.'_info', 'tool_installaddon', $message->addinfo);
}
$row = new html_table_row(array($msgstatus, $msgtext.$msghelp, $msginfo));
$row->attributes['class'] = 'level-'.$message->level.' '.$message->msgcode;
$table->data[] = $row;
}
return html_writer::table($table);
}
/**
* Renders widgets to continue from the validation results page
*
* @return string
*/
protected function validation_page_continue() {
$conturl = $this->validator->get_continue_url();
if (is_null($conturl)) {
$contbutton = '';
} else {
$contbutton = $this->output->single_button(
$conturl, get_string('installaddon', 'tool_installaddon'), 'post',
array('class' => 'singlebutton continuebutton'));
}
$cancelbutton = $this->output->single_button(
new moodle_url('/admin/tool/installaddon/index.php'), get_string('cancel', 'core'), 'get',
array('class' => 'singlebutton cancelbutton'));
return $this->output->container($cancelbutton.$contbutton, 'postvalidationbuttons');
}
}
+39
View File
@@ -0,0 +1,39 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Puts the plugin actions into the admin settings tree.
*
* @package tool_installaddon
* @copyright 2013 David Mudrak <david@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig and empty($CFG->disableonclickaddoninstall)) {
$ADMIN->add('modules', new admin_externalpage('tool_installaddon_index',
get_string('installaddons', 'tool_installaddon'),
"$CFG->wwwroot/$CFG->admin/tool/installaddon/index.php"), 'modsettings');
$ADMIN->add('modules', new admin_externalpage('tool_installaddon_validate',
get_string('validation', 'tool_installaddon'),
"$CFG->wwwroot/$CFG->admin/tool/installaddon/validate.php",
'moodle/site:config',
true), 'modsettings');
}
+68
View File
@@ -0,0 +1,68 @@
#page-admin-tool-installaddon-index #installfromrepobox {
text-align: center;
padding-top: 2em;
padding-bottom: 2em;
}
#page-admin-tool-installaddon-index #installfromrepobox .singlebutton {
display: inline-block;
}
#page-admin-tool-installaddon-index #installfromrepobox .singlebutton input[type=submit] {
padding: 1em;
}
#page-admin-tool-installaddon-validate .validationresult {
margin: 2em auto;
text-align: center;
}
#page-admin-tool-installaddon-validate .validationresult .verdict {
margin: 0em 0.5em;
padding: 0.5em;
border: 2px solid;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
font-weight: bold;
}
#page-admin-tool-installaddon-validate .validationresult.success .verdict {
background-color: #e7f1c3;
border-color: #aaeeaa;
}
#page-admin-tool-installaddon-validate .validationresult.failure .verdict {
background-color: #ffd3d9;
border-color: #eeaaaa;
}
#page-admin-tool-installaddon-validate .validationmessages {
margin: 0px auto;
}
#page-admin-tool-installaddon-validate .validationmessages .level-error .msgstatus {
background-color: #ffd3d9;
}
#page-admin-tool-installaddon-validate .validationmessages .level-warning .msgstatus {
background-color: #f3f2aa;
}
#page-admin-tool-installaddon-validate .validationmessages .level-info .msgstatus {
background-color: #e7f1c3;
}
#page-admin-tool-installaddon-validate .validationmessages .level-debug .msgstatus {
background-color: #d2ebff;
}
#page-admin-tool-installaddon-validate .postvalidationbuttons {
text-align: center;
margin: 1em auto;
}
#page-admin-tool-installaddon-validate .postvalidationbuttons .singlebutton {
display: inline-block;
margin: 1em 1em;
}
@@ -0,0 +1 @@
Plugin must have more than one file.
@@ -0,0 +1,4 @@
<?php
$plugin->component = 'repository_mahara';
$plugin->version = 2014010100;
@@ -0,0 +1,3 @@
<?php
echo 'One, my little hobbit, never installs malicisous add-ons';
@@ -0,0 +1,3 @@
<?php
$string['pluginname'] = 'Foo bar!';
@@ -0,0 +1,4 @@
<?php
$plugin->version = 2013031900;
$plugin->component = 'local_greenbar';
@@ -0,0 +1,3 @@
<?php
$plugin->component = 'local_one';
@@ -0,0 +1 @@
Only one dir is allowed
@@ -0,0 +1 @@
<?php
@@ -0,0 +1 @@
<?php
@@ -0,0 +1,3 @@
<?php
$string['pluginnname'] = 'Root directory mismatch';
@@ -0,0 +1,3 @@
<?php
@@ -0,0 +1,4 @@
<?php
$module->version = 2014122455;
$plugin->version = 2014122455;
@@ -0,0 +1,3 @@
<?php
echo 'Do not use hardcoded strings, provide the language pack';
@@ -0,0 +1,3 @@
<?php
$string['pluginversion'] = 'Activity module with no version.php';
@@ -0,0 +1,3 @@
<?php
$string['pluginversion'] = 'A theme with no version.php';
@@ -0,0 +1,3 @@
<?php
// index.php
@@ -0,0 +1,3 @@
<?php
$string['pluginname'] = 'Foo!';
@@ -0,0 +1,3 @@
<?php // $Id$
// I don't miss CVS, do you?

Some files were not shown because too many files have changed in this diff Show More