Compare commits

...

3261 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) f2c730fecf Moodle release 2.8.2 2015-01-10 13:12:58 +01:00
AMOS bot 812779dfa2 Automatically generated installer lang files 2015-01-09 00:04:08 +08:00
Dan Poltawski ed46f0deb1 weekly release 2.8.1+ 2015-01-08 10:00:28 +00:00
Dan Poltawski 9c1f1cda90 Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2015-01-08 10:00:26 +00:00
Eloy Lafuente (stronk7) b78438abc0 Merge branch 'MDL-37584-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-08 00:46:41 +01:00
Eloy Lafuente (stronk7) 19389fc511 Merge branch '37680-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2015-01-08 00:40:52 +01:00
Zachary Durber 63ed941a93 MDL-48546 filters: Split on all tags for multimedia filter check. 2015-01-07 18:56:49 +01:00
Eloy Lafuente (stronk7) 2d90c646be Merge branch 'MDL-48748-28-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_28_STABLE 2015-01-07 17:23:19 +01:00
AMOS bot 324dfc764c Automatically generated installer lang files 2015-01-08 00:03:59 +08:00
Ankit Agarwal f517d1c20b MDL-48688: inbound: remove spaces from exception 2015-01-07 13:44:25 +08:00
Mark Nelson f7f477a65d MDL-46498 mod_assign: fixed failing behat test due to GS 2015-01-07 13:30:12 +08:00
Zachary Durber 01da07a42b MDL-48546 filters: ReDoS protection for multimedia links. 2015-01-07 12:28:22 +08:00
Andrew Nicols 5cb84b5ba4 Merge branch 'MDL-45930-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2015-01-07 12:08:16 +08:00
David Monllao fb270fd5de Merge branch 'MDL-48549_m28' of git://github.com/markn86/moodle into MOODLE_28_STABLE 2015-01-07 09:40:22 +08:00
David Monllao 2111c597ac Merge branch 'wip-MDL-48523-28' of git://github.com/abgreeve/moodle into MOODLE_28_STABLE 2015-01-07 09:21:53 +08:00
Eloy Lafuente (stronk7) cd663df1ad Merge branch 'MDL-32088-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2015-01-07 02:11:48 +01:00
David Monllao b68c14c98d Merge branch 'MDL-48697-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-07 09:07:13 +08:00
David Monllao 2fe7bf0585 Merge branch 'MDL-48688-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-07 08:48:05 +08:00
Helen Foster 59ea75fd37 MDL-48748 lang: Merge English strings from the en_fix language pack 2015-01-06 21:57:11 +01:00
Jean-Michel Vedrine c80603ddc4 MDL-48034 mod_lesson: grade capability missing RISK_XSS 2015-01-06 12:52:21 +00:00
Dan Poltawski 8b7e92206c Merge branch 'MDL-44393-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-06 12:21:04 +00:00
Dan Poltawski 787d05f3d3 Merge branch 'MDL-46015_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2015-01-06 12:04:09 +00:00
Dan Poltawski acb579245a Merge branch 'MDL-48372-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-06 11:24:30 +00:00
Dan Poltawski f704c30f8a Merge branch 'MDL-48442-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-06 11:19:33 +00:00
Dan Poltawski e54fe38e2b Merge branch 'MDL-48534_m28' of https://github.com/markn86/moodle into MOODLE_28_STABLE 2015-01-06 11:11:43 +00:00
Dan Poltawski 921e63c880 Merge branch 'MDL-48655-28' of git://github.com/merrill-oakland/moodle into MOODLE_28_STABLE 2015-01-06 11:09:43 +00:00
Simey Lameze 693918c30e MDL-47964 auth_shibboleth: Fix DOS on the shibboleth logout 2015-01-06 11:05:25 +00:00
Marco Rougeth 6bb02c27d5 MDL-48640 report_configchanges: Remove duplicated code 2015-01-06 15:52:57 +08:00
David Monllao 63a07d3a21 Merge branch 'MDL-38222_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2015-01-06 12:27:20 +08:00
Andrew Nicols ac1c429ebd Merge branch 'MDL-48701-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-06 12:06:01 +08:00
Andrew Nicols 42f3477091 Merge branch 'MDL-48704-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2015-01-06 11:59:15 +08:00
Andrew Nicols 9b2438597a Merge branch 'MDL-48707_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2015-01-06 11:51:14 +08:00
Andrew Nicols 7a5e665072 Merge branch '28067-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2015-01-06 10:53:50 +08:00
Andrew Nicols 2c908ec30b MDL-20304 lesson: Uncomment tests following MDL-48631 2015-01-06 10:37:42 +08:00
Andrew Nicols f595e3cbae Merge branch 'MDL-20304-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2015-01-06 10:37:37 +08:00
David Monllao 1bacd164c3 Merge branch 'MDL-35078-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2015-01-06 10:34:50 +08:00
David Monllao 76dd58bb4f Merge branch 'MDL-48631_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2015-01-06 09:09:24 +08:00
Dan Poltawski 8e293f17cf Merge branch 'MDL-48441_profile_guest_28' of https://github.com/andyjdavis/moodle into MOODLE_28_STABLE 2015-01-05 18:30:25 +00:00
Dan Poltawski 4afd408b55 Merge branch 'MDL-46498_m28' of https://github.com/markn86/moodle into MOODLE_28_STABLE 2015-01-05 17:48:39 +00:00
Andrew Nicols 8d9a3b3b62 MDL-48104 mod_assign: Strip out use of eval() for string parsing
I've also replaced other  occurrences of M.str with the correct use of
M.util.get_string() instead.
2015-01-05 17:21:14 +00:00
Dan Poltawski 0aee829cd3 Merge branch 'MDL-43679-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2015-01-05 15:49:26 +00:00
Simey Lameze 88929ca824 MDL-48017 core_calendar: add context validation to get_calendar_events 2015-01-05 14:13:48 +00:00
Andrew Nicols 5770e51478 MDL-48106 mod_glossary: Add missing sesskey checks 2015-01-05 13:38:01 +00:00
David Monllao e72516ccde MDL-48329 core_message: Checking that messaging system is enabled 2015-01-05 13:14:03 +00:00
Simey Lameze 38ca8793b6 MDL-48368 course: fix xss on course request pending page 2015-01-05 12:58:53 +00:00
Jetha Chan faf0cd9098 MDL-47920 mod_lti: add capability checks, http headers 2015-01-05 12:50:18 +00:00
Andrew Nicols f7714bb67b Merge branch 'MDL-42519_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2015-01-05 16:18:13 +08:00
Andrew Nicols 764247be6b Merge branch 'MDL-48582-28' of git://github.com/merrill-oakland/moodle into MOODLE_28_STABLE 2015-01-05 15:27:44 +08:00
Andrew Nicols 289ac435d1 Merge branch 'MDL-48644_restoreLegacyLogs28' of https://github.com/moodlerooms/moodle into MOODLE_28_STABLE 2015-01-05 14:32:28 +08:00
Andrew Nicols dcfe7694d4 Merge branch 'MDL-46183-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2015-01-05 13:58:12 +08:00
Andrew Nicols 34d16a7737 Merge branch 'wip-MDL-40097-28' of git://github.com/abgreeve/moodle into MOODLE_28_STABLE 2015-01-05 13:41:28 +08:00
Andrew Nicols 863ffc884f Merge branch 'MDL-48700-28' of git://github.com/merrill-oakland/moodle into MOODLE_28_STABLE 2015-01-05 13:31:42 +08:00
Aaron Barnes f8bebe363d MDL-40097 completion: Apply robust role detection to samesite restores. 2015-01-05 10:34:49 +08:00
Adrian Greeve 45151248c4 MDL-40097 completion: Update of code to meet guidlines. 2015-01-05 10:34:38 +08:00
Aaron Barnes 39ed46b158 MDL-40097 completion: Make restoring grade criteria more robust 2015-01-05 10:34:27 +08:00
Ankit Agarwal de290738c9 MDL-48442 tasks: Make sure first run is as per schedule 2015-01-02 14:55:22 +05:30
Ankit Agarwal 004ec71505 MDL-44393 tasks: Add unit tests for cron field validations 2015-01-02 11:03:03 +05:30
Ankit Agarwal 045b5235f2 MDL-44393 tasks: Validate cron fields 2015-01-02 11:03:03 +05:30
Ankit Agarwal 2d066f19ba MDL-48372 mod_data: Add http to urls without it during import 2015-01-02 10:47:34 +05:30
Frederic Massart b4e7dcaa8a MDL-43679 core: Handle Meridio user agents with MS Word 2015-01-02 11:24:00 +08:00
Frederic Massart e618263437 MDL-43679 core: Never use HTTP redirect when the user agent is MS Word 2015-01-02 11:24:00 +08:00
Paul Nicholls 04a2fc7427 MDL-43679 core_useragent: add test cases for MS Word
The new is_msword() check should always return false for regular browsers.
It should return true for known MS Word, but false for known MS Outlook.
2015-01-02 11:24:00 +08:00
Paul Nicholls 7ed6f826ad MDL-43679 core_useragent: add basic MS Word detection
Basic detection for MS Word's internal link checker.  This is not perfect,
as older versions use IE6/7 user agent string with no identifying marks,
and newer versions don't necessarily identify themselves as Word (just as
Office).  Version information is not reliably available, even when there
is sufficient other information to identify it as Word's link checker.
This is also based on a small sample of Word / OS version pairings, so
there may be some which are identifiable but not currently covered.
2015-01-02 11:23:59 +08:00
Ankit Agarwal 07a06264dc MDL-37584 tasks: Use a senisible maximum time window for the task 2014-12-31 14:03:09 +05:30
Dan Poltawski 73416d1b9a MDL-45930 filemanager: Don't display filesize when unknown
Thanks to Marina Glancy for the patch

Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-12-30 14:24:29 +00:00
Vishal Raheja f70a6d3245 MDL-32088 user: Correct the Moodle docs link
This patch links the moodle docs link to user profile Moodle doc when
the user sees the user profile for a particular course. The page is set
to course view type to load course specific blocks. So, we use
set_docs_path to change the Moodle docs link instead of changing the
pagetype.
2014-12-30 13:47:41 +00:00
Mark Nielsen 2d18472382 MDL-48644 backup tool_log: Fixing coding style
Wrap long function definition
to next line.
2014-12-29 11:26:37 -08:00
Dan Poltawski 04babc675b MDL-43198 folder: respect ignorefilesizelimits permission
Thanks to Miryan Salas for the patch.
2014-12-29 12:13:37 +00:00
Jean-Michel Vedrine eeae1784c6 MDL-48631 mod_lesson: tables 'grade' item have incorrect precision
Conflicts:
	mod/lesson/db/upgrade.php
	mod/lesson/version.php
2014-12-29 10:54:01 +01:00
Ankit Agarwal 112e95f6b4 MDL-48704 inbound: Fix notices in pickup task 2014-12-29 14:40:41 +05:30
Eugene Venter 3e061bf55d MDL-46015 lesson: Optimise report - use recordsets
Change-Id: I61f3ed30c6dbd8f88d1dfb1adfe2fc291853e0e1
2014-12-28 11:09:38 +01:00
AMOS bot deb3e69e37 Automatically generated installer lang files 2014-12-28 00:04:15 +08:00
Mark Nelson 0532dad71b MDL-48549 mod_assign: added upgrade to clean the tables 2014-12-26 18:55:53 -08:00
Mark Nelson a0102708b6 MDL-48549 mod_assign: delete entries from the flags/mapping tables 2014-12-26 18:54:51 -08:00
Mark Nelson a12afaf7dd MDL-46498 mod_assign: added behat tests 2014-12-26 17:49:58 -08:00
Mark Nelson 57897685c0 MDL-46498 mod_assign: display correct grading status 2014-12-26 17:17:25 -08:00
Jean-Michel Vedrine 216655b54d MDL-48707 mod_lesson: ignore plugins question types during import 2014-12-26 08:29:33 +01:00
Jean-Michel Vedrine 899d7c1bb2 MDL-38222 mod_lesson: Error in Lesson Cluster for Unseen Questions 2014-12-25 21:19:33 +01:00
Dan Poltawski 440085ecf8 weekly release 2.8.1+ 2014-12-24 13:22:29 +00:00
Dan Poltawski a5e8cb4aea Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-12-24 13:22:26 +00:00
Mark Nelson d8d912443f MDL-48534 mod_assign: display correct workflow state and marker 2014-12-23 22:58:32 -08:00
Ankit Agarwal e3effa63fd MDL-48701 inbound: Use correct method in invalid email handler
Invalid email handler doesn't allow alteration in validate sender config. Make sure this is reflected in the UI as well
2014-12-24 10:20:43 +05:30
Ankit Agarwal 870e0fb822 MDL-48697 libraries: Use proper path for core_completion 2014-12-24 08:10:36 +05:30
Eric Merrill 4e8c1f2681 MDL-48700 gradereport_history: Don't limit downloads by pages. 2014-12-23 16:11:23 -05:00
Dan Poltawski 12f025749a MDL-20304 lesson: add behat test for practice lessons 2014-12-23 17:05:36 +00:00
Dan Poltawski 29006301ed MDL-20304 lesson: do not display gradebook link when in practice mode
Practice mode means the grades do not go to the gradebook, so do not
display the gradebook link at the end of the lesson
2014-12-23 17:05:35 +00:00
Atanas Atanasov c1eb2c3ddf MDL-20304 lesson: do not send practice lesson grades to gradebook 2014-12-23 17:05:35 +00:00
Dan Poltawski 7783fcd76f Merge branch 'MDL-48213-m28-master' of https://github.com/dthies/moodle into MOODLE_28_STABLE 2014-12-23 16:13:14 +00:00
AMOS bot 4dbc9b18b4 Automatically generated installer lang files 2014-12-24 00:04:15 +08:00
Eloy Lafuente (stronk7) e9b36ac653 MDL-45699 behat: Don't use behat/lib.php functions in core.
behat/lib.php script should not be usually included, neither any of its functions
used within mooodle code at all. It's for exclusive use of behat and
moodle setup.php. For places requiring a different/special behavior
needing to check if are being run  as part of behat tests, use:
    if (defined('BEHAT_SITE_RUNNING')) { ...
2014-12-23 13:28:46 +01:00
Dan Poltawski db5fb4ce76 Revert "Merge branch 'MDL-48534_m28' of https://github.com/markn86/moodle into MOODLE_28_STABLE"
This reverts commit 7c4b6a84dd, reversing
changes made to 03d3dfbfc5.
2014-12-23 10:46:30 +00:00
Dan Poltawski 008e28478d Revert "Merge branch 'MDL-48591_m28' of https://github.com/jrchamp/moodle into MOODLE_28_STABLE"
This reverts commit a6af290ea4, reversing
changes made to 267ac74ef3.
2014-12-23 10:43:37 +00:00
Frederic Massart 510fafed8a MDL-46183 theme_more: Background is seen through the activity chooser 2014-12-23 17:16:58 +08:00
Eloy Lafuente (stronk7) 7e911af220 Merge branch '45699-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE
Conflicts:
	cache/upgrade.txt
2014-12-23 02:04:12 +01:00
Eloy Lafuente (stronk7) d25a7f21a3 MDL-48568 cache: make tests aware of default application store
When an alternative cache configuration is used, aka:

define('TEST_CACHE_USING_ALT_CACHE_CONFIG_PATH', true);
$CFG->altcacheconfigpath = '/tmp/xxxxx.php';

the get_expected_application_cache_store() method was not able of
retroffiting the default application store being used.

This commit just implements that functionality so, when
executing unit tests using alternative configuration, assertions
looking for that will pass without a problem.
2014-12-23 02:03:06 +01:00
Eloy Lafuente (stronk7) 3c6dac879f Merge branch '48568-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-12-23 02:02:47 +01:00
Eloy Lafuente (stronk7) d81cdaaf13 Merge branch 'MDL-48593-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-22 21:51:20 +01:00
Tim Hunt 4a057abc11 MDL-42519 qformat_xml: Correctly export questions containing ]]> 2014-12-22 19:47:10 +00:00
Eloy Lafuente (stronk7) d102926592 Merge branch 'MDL-48639_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-22 19:09:52 +01:00
Dan Poltawski 05ea4e002d Merge branch 'MDL28-48421' of https://github.com/timpricecatalyst/moodle into MOODLE_28_STABLE 2014-12-22 17:01:06 +00:00
Dan Poltawski c6c1b3596f MDL-48638 course: update unit test to new message 2014-12-22 16:25:47 +00:00
Dan Poltawski bf671547ab Merge branch 'MDL-48638-28' of git://github.com/merrill-oakland/moodle into MOODLE_28_STABLE 2014-12-22 15:25:35 +00:00
Dan Poltawski 1b78a209a0 Merge branch 'MDL-48643-28' of git://github.com/merrill-oakland/moodle into MOODLE_28_STABLE 2014-12-22 15:22:33 +00:00
Dan Poltawski 42486cac98 MDL-43004 blog: fix upgrade.txt typo 2014-12-22 15:14:05 +00:00
Dan Poltawski 9b27f063c8 Merge branch 'MDL-48062-m28-master' of https://github.com/dthies/moodle into MOODLE_28_STABLE 2014-12-22 14:36:42 +00:00
Brian Barnes 83a36ad89b MDL-48423 messages: improved accessibility of contacts list 2014-12-22 14:16:31 +00:00
Dan Poltawski 61040870bb Merge branch 'MDL-48224-28' of git://github.com/xow/moodle into MOODLE_28_STABLE 2014-12-22 14:04:23 +00:00
Josh Marshall 999f4ac9fa MDL-48445 report_loguser: Include logstore parameter for pagination 2014-12-22 13:56:59 +00:00
Dan Poltawski 7c4b6a84dd Merge branch 'MDL-48534_m28' of https://github.com/markn86/moodle into MOODLE_28_STABLE 2014-12-22 13:52:41 +00:00
Dan Poltawski 03d3dfbfc5 Merge branch 'm28_MDL-48483' of https://github.com/totara/moodle into MOODLE_28_STABLE 2014-12-22 13:44:29 +00:00
Dan Poltawski cf447b8c0f Merge branch 'MDL-48580-28' of git://github.com/lameze/moodle into MOODLE_28_STABLE 2014-12-22 13:41:13 +00:00
Dan Poltawski a6af290ea4 Merge branch 'MDL-48591_m28' of https://github.com/jrchamp/moodle into MOODLE_28_STABLE 2014-12-22 13:38:06 +00:00
Dan Poltawski 267ac74ef3 MDL-48653 behat: fix incorrect phpdoc 2014-12-22 13:13:51 +00:00
Dan Poltawski a4b06536fb Merge branch 'MDL-48653_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-22 13:10:46 +00:00
Dan Poltawski 6303e895e4 Merge branch 'MDL-48088-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-12-22 13:07:46 +00:00
Dan Poltawski db6bbcbc16 Merge branch 'MDL-48666_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-22 12:09:18 +00:00
Andrew Davis 55f1261257 MDL-48441 core_user: profile.php, view.php now handle guests the same 2014-12-22 09:56:04 +01:00
Ankit Agarwal 6227a1f3e7 MDL-48688 inbound: Fix incorrect class names 2014-12-22 13:50:43 +05:30
Adrian Greeve 0f60d011dc MDL-48523 gradebook: Fix for incorrect behat steps. 2014-12-22 15:05:18 +08:00
Eric Merrill 21fa68e52f MDL-48643 Javascript: Create modals hidden, then show, to prevent scroll
Modal dialogs need to be created with visible: false and then call
.show() on it to make it visible. This prevents the page from jumping to
the top.
2014-12-21 22:58:59 -05:00
AMOS bot 085df3ed05 Automatically generated installer lang files 2014-12-22 00:04:10 +08:00
AMOS bot 4645ff7ddc Automatically generated installer lang files 2014-12-20 00:04:14 +08:00
Tim Hunt 2a6e070cd4 MDL-48666 quiz: let JS to get a Qs slot number on the summary page 2014-12-19 14:39:40 +00:00
Tim Hunt 3e8e8641b3 MDL-48639 behat upload: support absolute paths & better errors
In a custom step I needed to be able to upload a file I had previously
saved to $CFG->dataroot/temp, but that was not possible.

Also, the failure was not at all obvious. I have made it throw a clear
exception if the file you are trying to upload does not exist.
2014-12-19 12:00:17 +00:00
Brian Barnes 6f1e7d2db2 MDL-48483 admin: attached color label to input control 2014-12-19 14:19:39 +13:00
Daniel Thies 330ac09e0d MDL-48062 atto_image: Add image select on single click 2014-12-18 18:29:46 -06:00
Daniel Thies 37e2d30c84 MDL-48213 filter_algebra,filter_tex: Require sesskey for debug actions 2014-12-18 16:40:46 -06:00
Tim Price 4105c6c329 MDL-48421 navigation: accounting for potential regression 2014-12-19 09:18:35 +11:00
Tim Price 07bd586492 MDL-48421 navigation: correctly load child categories if parent is loaded 2014-12-19 09:18:35 +11:00
Eric Merrill ada9b1ed77 MDL-48655 gradebook: Don't treat a scale with a gradepass of 0 as passed 2014-12-18 16:18:28 -05:00
Mark Nielsen 60c034fe27 MDL-48644 backup: Preserve log IP and time during restore 2014-12-18 11:36:47 -08:00
Tim Hunt 8850deb74d MDL-48653 behat: Steps to click and dismiss a dialogue.
We already had the corresponding
    I click on "Home" "link" confirming the dialogue
but I needed the opposite
    I click on "Home" "link" dismissing the dialogue
2014-12-18 19:31:27 +00:00
Eric Merrill 4077b738a0 MDL-48582 gradereport_grader: Adding back grade pass/fail CSS 2014-12-18 14:13:21 -05:00
Eric Merrill 0ab4c9d029 MDL-48638 database SQL: Fix typo in exception constructor 2014-12-18 13:34:20 -05:00
jrchamp 3925c74634 MDL-48591 calendar: Mini Cal Display DST Events 2014-12-18 09:28:09 -05:00
Dan Poltawski 2c48f2ed4c weekly release 2.8.1+ 2014-12-18 11:25:09 +00:00
Dan Poltawski 88d1474104 Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-12-18 11:25:07 +00:00
Mark Nelson b621820ea1 MDL-45324 mod_assign: always notify students when requested 2014-12-18 14:09:23 +08:00
Mark Nelson a2a8653aa2 MDL-48534 mod_assign: display correct workflow state and marker 2014-12-17 20:43:27 -08:00
David Monllao bfa4e840d8 Merge branch 'MDL-48235-28-fixes' of git://github.com/xow/moodle into MOODLE_28_STABLE 2014-12-18 12:37:01 +08:00
Zachary Durber dda30b1906 MDL-47442 mod_assign: Notify student when quick-grading grade 2014-12-18 12:15:41 +08:00
Marina Glancy c0070d8d88 MDL-48452 Completion: js correction to behat test 2014-12-18 11:28:31 +08:00
John Okely 582ab13d73 MDL-48235 mod_assign: Fix grade of 0 not showing on feedback page in oracle 2014-12-18 10:25:39 +08:00
Wiktor Wandachowicz f826599632 MDL-35078 enrol: allow times to be chose on bulk enrolment forms
Previously only a date was available, which made it ambigious whether
the the enrolment was inclusive of the date. Now we use a time to make
it less ambigious.

This matches changes done in other forms in MDL-41173.
2014-12-17 12:02:30 +00:00
Dan Poltawski cf7167cbae Merge branch 'MDL-44829_MOODLE_28_STABLE' of git://github.com/BenKelada/moodle into MOODLE_28_STABLE 2014-12-17 10:11:41 +00:00
BKelada 999f2b3aea MDL-44829 libraries: Update android user agent detection 2014-12-17 16:37:03 +11:00
David Monllao 5ef46dad4b Merge branch 'MDL-48243_M28' of git://github.com/lazydaisy/moodle into MOODLE_28_STABLE 2014-12-17 11:49:15 +08:00
Andrew Nicols 724b6446d1 MDL-48593 messageinbound: Correct header retrieval from IMAP server
Header retrieval should only be performed on the base message, and not each
part of the message as is currently performed.

This came to light because Google changed their IMAP server such that, if
you inform the data query that you wish to retrieve the headerText for a
part which does not contain a MIME header, then no message is retrieved in
the search causing a general failure of the IMAP fetch.

In normal circumstances, headers should only be a part of the base message
part.
2014-12-17 09:35:38 +08:00
Dan Poltawski 535a794f90 Merge branch 'MDL-43462_landscape_pdf_28' of git://github.com/davosmith/moodle into MOODLE_28_STABLE 2014-12-16 19:20:23 +00:00
Dan Poltawski fa59a794f6 Merge branch 'MDL-42501-28' of git://github.com/lameze/moodle into MOODLE_28_STABLE 2014-12-16 19:18:03 +00:00
Eloy Lafuente (stronk7) f48a890017 Merge branch 'MDL-48452-m28' of https://github.com/sammarshallou/moodle into MOODLE_28_STABLE 2014-12-16 19:09:18 +01:00
sam marshall 78d8dc13c8 MDL-48452 Completion: Expected date doesn't save when form is locked
The completion fields are locked when a user has already completed the
task, to prevent you accidentally causing it to recalculate the data.

This lock doesn't apply to the expected date field, as this doesn't
affect user completion. However, changes to the field in this
situation were incorrectly not saved.
2014-12-16 17:31:36 +00:00
Dan Poltawski e42056413c Merge branch 'MDL-48587-28' of git://github.com/xow/moodle into MOODLE_28_STABLE 2014-12-16 17:05:04 +00:00
Eloy Lafuente (stronk7) e61ab464f3 Merge branch 'm28_MDL-48532' of https://github.com/totara/moodle into MOODLE_28_STABLE 2014-12-16 15:47:29 +01:00
Dan Poltawski f0066ff80c Merge branch 'MDL-46442-28' of git://github.com/zbdd/moodle into MOODLE_28_STABLE 2014-12-16 13:54:12 +00:00
Dan Poltawski 5ef5c6c1e2 Merge branch 'MDL-47610-28' of git://github.com/zbdd/moodle into MOODLE_28_STABLE 2014-12-16 13:00:02 +00:00
Davo Smith a4c72b69e8 MDL-43462 assignfeedback_editpdf: fix display of landscape PDFs
The size of the drawing canvas is now set from the size of the generated page image, with automatic
scrolling if it is too wide to display
Absolutely-positioned nodes (comments + stamps) are repositioned as the drawing canvas is scrolled
2014-12-16 12:01:42 +00:00
Dan Poltawski a95cd718f9 Merge branch 'MDL-46651-MOODLE_28_STABLE-restore-course-completion-duplicate-key' of https://github.com/Trii/moodle into MOODLE_28_STABLE 2014-12-16 11:58:47 +00:00
Zachary Durber df91b1d861 MDL-47694 mod_assign: Grades require a grade to show as graded
Special thanks to Howard Miller.
2014-12-16 11:20:09 +01:00
Frederic Massart f34fc42d9b MDL-48495 curl: Limit usage of curl to HTTP and HTTPS protocols 2014-12-16 10:08:47 +00:00
David Monllao 43c3b0ec7b Merge branch 'MDL-48318-28' of git://github.com/lameze/moodle into MOODLE_28_STABLE 2014-12-16 16:41:21 +08:00
Zachary Durber 2a841b12fd MDL-46442 mod_assign: Notify users when grades are changed 2014-12-16 14:49:53 +08:00
David Monllao 73c991dd3f Merge branch 'MDL-48547-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2014-12-16 14:13:54 +08:00
David Monllao ecc60ffeb7 Merge branch 'm28_MDL-48567' of git://github.com/totara/moodle into MOODLE_28_STABLE 2014-12-16 13:34:41 +08:00
Brian Barnes 83ef244a83 MDL-48286 core_files: Improved accessibility of file management 2014-12-16 13:26:30 +08:00
Simey Lameze f6c149226f MDL-48580 report_log: fix site errors dropdown
Thanks Renaat Debleu for pointing this bug and share a solution.
2014-12-16 12:39:17 +08:00
David Monllao c0c2921586 Merge branch 'wip-MDL-48569-m28' of git://github.com/marinaglancy/moodle into MOODLE_28_STABLE 2014-12-16 12:27:02 +08:00
David Monllao 2abcbc0251 Merge branch 'MDL-48164-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-16 12:03:35 +08:00
Andrew Nicols 270705c279 Merge branch 'MDL-46472_28' of git://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-16 10:39:56 +08:00
Andrew Nicols 26156e72d9 MDL-48164 messageinbound: Attempt to detect autoreplies
Any message which includes:
* Precedence: bulk
* X-Autoreply: !no
* X-Autoresponse: !no
* Auto-Submitted: !no

Will not be detected as a bulk message and therefore ignored.
2014-12-16 09:35:58 +08:00
Andrew Nicols 7a56557c45 MDL-48164 mod_forum: Add additional headers to prevent OOF replies
This adds the X-Auto-Response-Suppress header to outbound messages.
2014-12-16 09:35:58 +08:00
Zachary Durber 4c23fb82ab MDL-47610 gradebook: Show extra credit icon in grades column 2014-12-16 09:17:00 +08:00
Eloy Lafuente (stronk7) 30fbe29595 Merge branch 'MDL-47037-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-12-16 01:42:39 +01:00
Eloy Lafuente (stronk7) 5e425cc89b Merge branch 'MDL-46491-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-16 00:36:18 +01:00
Eloy Lafuente (stronk7) b2a786539e Merge branch 'MDL-48556-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-12-15 17:54:04 +01:00
Dan Poltawski 744dc6e647 Merge branch 'MDL-38128_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-15 16:10:17 +00:00
Dan Poltawski 0e956b0452 Merge branch 'MDL-45324_28' of git://github.com/jonof/moodle into MOODLE_28_STABLE 2014-12-15 14:59:37 +00:00
Dan Poltawski 82dd025984 Merge branch 'MDL-47176_MOODLE_28_STABLE' of https://github.com/crazyserver/moodle into MOODLE_28_STABLE 2014-12-15 14:14:24 +00:00
Dan Poltawski b2e9074f3c Merge branch 'MDL-48169-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-12-15 12:32:13 +00:00
Dan Poltawski 73ed5ce9fb Merge branch 'MDL-47475-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-15 12:21:11 +00:00
Joseph Rezeau cd16f43ba1 MDL-36673 mod_lesson: slideshow mode not working 2014-12-15 11:55:34 +00:00
David Monllao 49b881c876 Merge branch 'MDL-48235-assign-reopen-until-pass-28_STABLE' of git://github.com/mpetrowi/moodle into MOODLE_28_STABLE 2014-12-15 17:33:09 +08:00
John Okely ef19d61d4d MDL-48587 core: Fix error in getremoteaddr for unsupported php versions 2014-12-15 16:56:44 +08:00
Simey Lameze a54229b629 MDL-42501 course: add help icon on delete gradebook options 2014-12-15 16:23:11 +08:00
David Monllao 373fd13876 Merge branch 'wip-MDL-48347-28' of git://github.com/abgreeve/moodle into MOODLE_28_STABLE 2014-12-15 13:45:22 +08:00
Jetha Chan 244c69709e MDL-48088 calendar: normalize DTEND, add romance standard time
Thanks to Cedric Mortiers (cmortiers@stjohns.be) for providing the patch.
2014-12-15 12:10:29 +08:00
Andrew Nicols 675564277d MDL-47475 mod_assign: Copy files to other group members for editpdf 2014-12-15 08:50:48 +08:00
AMOS bot 3e7b053221 Automatically generated installer lang files 2014-12-13 00:03:57 +08:00
Pau Ferrer Ocaña abcec0fe9a MDL-47176 qtype_match: Avoid sql_compare to solve problems with Oracle 2014-12-12 16:04:24 +01:00
David Monllao fa0a765c20 MDL-38128 mod_assign: Counts and groups unit tests 2014-12-12 15:07:57 +08:00
David Monllao 5ad9e84664 MDL-46472 theme: Removing standard as an uninstallable theme 2014-12-12 13:33:46 +08:00
David Monllao 79a143130b MDL-38128 mod_assign: Fixing count teams and submissions with status
We should restrict the groups to the activity active group. Also
improving performance caching get_submission_group() results.
2014-12-12 13:28:14 +08:00
David Monllao 08b7d0bacc MDL-38128 mod_assign: Adding group selector to grading summary page
Thanks to Pau Ferrer Ocaña and Avi Levy for
their work on this issue.
2014-12-12 13:28:14 +08:00
Andrew Nicols b1a381ffcf MDL-48224 cron: Buffer SMTP connections around tasks 2014-12-12 10:39:19 +08:00
Marina Glancy 3719994057 MDL-48569 profile: behat test for user full profile access 2014-12-12 10:29:22 +08:00
Marina Glancy be2641dc8c MDL-48569 profile: show link to full profile if anybody can see it 2014-12-12 10:29:22 +08:00
Daniel Thies 3c726433cc MDL-48213 filter_algebra: Allow cookies in debug script 2014-12-11 20:00:45 -06:00
Sam Hemelryk 78a4b45ffc MDL-28067 navigation: my private files in profile only 2014-12-12 13:48:10 +13:00
Sam Hemelryk 3900f28e28 MDL-37680 repositories: added blocks to manage page 2014-12-12 13:37:01 +13:00
Joshua Johnston 48d0e75068 MDL-46651 Backup: Handle duplicate course completions during restore
Cron can cause duplicate completion records if triggered during a long
running restore process. If this is the case, replace the new record
with the record from the backup file
2014-12-11 15:58:00 -05:00
Sam Hemelryk c7a0fb64a0 MDL-48568 cache: stores now determine testing
Cache stores are now responsible for deciding if they are suitable
for use as the primary cache store during unit and acceptance tests

Changes are as follows:
* New method: cache_store::ready_to_be_used_for_testing
* Core cache store have been updated to override this method as
  required.
* MongoDB usesafe default changed to true to match actual default
  behaviour.
2014-12-12 09:34:25 +13:00
Dan Poltawski 8542d1875f weekly release 2.8.1+ 2014-12-11 09:55:19 +00:00
Dan Poltawski 087fd13442 Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-12-11 09:55:17 +00:00
Ankit Agarwal dd96737556 MDL-48556 backup: Use correct conditions before checking dir permissions 2014-12-11 14:34:10 +05:30
Andrew Nicols fde7c5f003 MDL-46491 course: Correct activity visibility on section show 2014-12-11 14:50:50 +08:00
Brian Barnes 4afb72f2de MDL-48567 core_badges: fixed display of badge created date 2014-12-11 14:50:33 +13:00
Avi Levy 23f751ee38 MDL-47037 grader_gradereport: Enable sort in other language then English 2014-12-11 07:39:42 +08:00
Frederic Massart 79fc19f5d7 MDL-48496 block_rss_client: Do not display curl error messages 2014-12-11 00:26:30 +01:00
AMOS bot f89ee726b4 Automatically generated installer lang files 2014-12-11 00:04:05 +08:00
Jonathon Fowler 9592c8e99c MDL-45324 assign: notify when workflow is Off, or if state is Released
When marking workflow is enabled, students will be notified only when
the workflow state transitions to 'Released'. Until that happens,
sending of messages will be held and the 'Notify students' grading
form option will be locked.

Additionally, the batch set marking workflow state facility gains
the 'Notify students' option.

Credit to Steve Upton and David Balch for the basis of this patch.
2014-12-10 22:28:20 +10:00
Sam Hemelryk 18453fec76 MDL-48430 customment: improved exception handling 2014-12-10 13:26:11 +01:00
pau.ferrer-ocana 4656c6ab53 MDL-48430 custom_menu: Malformed url in custom menu cannot break the platform 2014-12-10 13:26:11 +01:00
Dan Poltawski 36700a125e MDL-48547 thirdparty: remove incorrect entry 2014-12-09 23:12:36 +00:00
Dan Poltawski 80154bd033 Merge branch 'MDL-47323-enrol-plugin-backup-28_STABLE' of https://github.com/mpetrowi/moodle into MOODLE_28_STABLE 2014-12-09 22:30:01 +00:00
Dan Poltawski fd37fba94b Merge branch 'MDL-45430-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-12-09 21:22:18 +00:00
Sam Hemelryk f3586f59c4 Merge branch 'm28_MDL-48389' of https://github.com/totara/moodle into MOODLE_28_STABLE 2014-12-10 09:27:28 +13:00
Matt Petro 384f71b42c MDL-48235 mod_assign: Fix reopen until pass behavior 2014-12-09 10:45:23 -05:00
Eloy Lafuente (stronk7) 55f47d94f7 Merge branch 'MDL-31822_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-09 16:12:24 +01:00
Dan Poltawski 673d38078c MDL-45679 mod_lesson: do not overqualify styles 2014-12-09 12:35:18 +00:00
Dan Poltawski e732d0d9ca Merge branch 'MDL-45679_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2014-12-09 12:34:20 +00:00
Dan Poltawski 28e38410c5 Merge branch 'MDL-48394-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-12-09 10:53:38 +00:00
Dan Poltawski b16b0a61a4 Merge branch 'MDL-41846-28' of git://github.com/xow/moodle into MOODLE_28_STABLE 2014-12-09 10:35:10 +00:00
Sam Hemelryk 19f5623bf6 Merge branch 'wip_MDL-36499_M28' of git://github.com/gjb2048/moodle into MOODLE_28_STABLE 2014-12-09 16:57:11 +13:00
David Monllao 6967547062 MDL-31822 course: Formatting the section name 2014-12-09 11:52:30 +08:00
David Balch 519413892e MDL-31822 course: Show custom Section name on Front page. 2014-12-09 11:52:28 +08:00
Sam Hemelryk ceee447066 Merge branch 'wip-MDL-46486-m28' of git://github.com/marinaglancy/moodle into MOODLE_28_STABLE 2014-12-09 16:20:50 +13:00
Dan Poltawski 934c72979b MDL-40552 course: fixup unit test
Previously there was an assertion which was never used, now
we ensure to test the course themes functionality each time.
2014-12-09 16:14:23 +13:00
Sam Hemelryk bf42737370 Merge branch 'MDL-34437-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-12-09 15:58:56 +13:00
Sam Hemelryk 6966842459 Merge branch 'm28_MDL-46172' of https://github.com/greg-or/moodle-mod_assign into MOODLE_28_STABLE 2014-12-09 15:38:51 +13:00
Brian Barnes 9e06074bbe MDL-48389 forms: added page title to help text 2014-12-09 15:18:54 +13:00
Sam Hemelryk 41ea5affc4 Merge branch 'mdl48517_28' of https://github.com/tlevi/moodle into MOODLE_28_STABLE 2014-12-09 15:16:00 +13:00
Brian Barnes 8e0c012bbb MDL-48532 core_roles: Set correct heading on user roles page 2014-12-09 14:24:42 +13:00
Sam Hemelryk f071a177b0 Merge branch 'wip-MDL-48366-m28' of git://github.com/marinaglancy/moodle into MOODLE_28_STABLE 2014-12-09 13:43:38 +13:00
Sam Hemelryk e0b7f5492a Merge branch 'wip-mdl-48426-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-12-09 12:13:36 +13:00
Sam Hemelryk 664d834cd1 MDL-45699 cache: renamed cache_config_phpunittest
Renamed cache_config_phpunittest to cache_config_testing
2014-12-09 10:51:20 +13:00
Sam Hemelryk faa3b4022f MDL-45699 cache: acceptance test improvements
We now use the unit test cache config class when running
acceptance tests so that the same defines are applicable there.
2014-12-09 10:51:17 +13:00
Eloy Lafuente (stronk7) 2d16c385d7 Merge branch 'MDL-48255-28' of git://github.com/lameze/moodle into MOODLE_28_STABLE 2014-12-08 19:15:12 +01:00
Eloy Lafuente (stronk7) b2959dbe9b Merge branch 'wip-MDL-48390-m28' of git://github.com/marinaglancy/moodle into MOODLE_28_STABLE 2014-12-08 18:49:09 +01:00
Dan Poltawski 5eb62533cd Merge branch 'MDL-48410_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-08 15:19:11 +00:00
Dan Poltawski 7e5947b986 Merge branch 'MDL-48373_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-08 15:15:41 +00:00
Dongsheng Cai 592f05a064 MDL-35983 Try to use real file name from EQUELLA 2014-12-08 14:24:09 +00:00
Dan Poltawski 4f2e496184 Merge branch 'MDL-47246_28' of git://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-08 13:34:03 +00:00
Dan Poltawski 793e74fef3 Merge branch 'MDL-14908-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-12-08 13:22:17 +00:00
Dan Poltawski bc11b6c138 MDL-48273 upgrade.txt version fix 2014-12-08 11:23:11 +00:00
Simey Lameze 788727862d MDL-48273 singleview: unit tests of load_user method 2014-12-08 11:22:38 +00:00
Simey Lameze adbbc7bd9e MDL-48273 singleview: add load_user method and other group validations
All credits goes to Damyon, thanks!
2014-12-08 11:22:38 +00:00
David Monllao 18450eab27 MDL-47246 mod_forum: Limit last post restriction to Q and A 2014-12-08 14:50:42 +08:00
Adrian Greeve aef3679316 MDL-48347 gradebook: More behat tests for single view. 2014-12-08 14:25:39 +08:00
Adrian Greeve fe32471819 MDL-48347 gradebook: Single view shows all grade items.
Manual grade items, course totals, and categroy totals
were not being displayed in the single view.
2014-12-08 14:24:39 +08:00
Jetha Chan c8316e2894 MDL-48169 themes: extra upgrade notes 2014-12-08 14:08:05 +08:00
Tony Levi 13dfdb0b5f MDL-48517: behat: Fix reset ordering reversal (MDL-48302) 2014-12-08 13:08:31 +10:30
Sam Hemelryk 36814aaec6 Merge branch 'MDL-37704-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-12-08 14:51:01 +13:00
Sam Hemelryk fef242fa65 Merge branch 'MDL-48058-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-08 13:58:24 +13:00
Gareth J Barnard 422d1c4625 MDL-36499 javascript: Expand height of the file element in embedded view. 2014-12-06 12:11:56 +00:00
Sam Hemelryk 0bd78bb334 MDL-45699 behat: can now use alt cache config 2014-12-06 12:09:49 +13:00
Gregory Faller 14cd37913c MDL-46172 mod/assign: Stop suspended users getting assign group emails 2014-12-06 08:29:08 +10:30
AMOS bot 3cca19d176 Automatically generated installer lang files 2014-12-06 00:03:54 +08:00
Jean-Michel Vedrine 468efb3171 MDL-45679 mod_lesson: Essay grading page has no mark for essay status 2014-12-05 15:04:58 +01:00
Tim Hunt b56a1518ad MDL-48410 behat, quiz: step for efficiently adding questions 2014-12-05 12:18:06 +00:00
Tim Hunt fed2e156e2 MDL-48373 behat, questions: convert tests to use the new steps
The new steps make it more efficient to create questions.

While making the changes, I took the opportunity to alter the tests to
follow Behat best practices, and only test one thing per scenario.
2014-12-05 12:18:05 +00:00
Tim Hunt 51a0c7cda7 MDL-48373 behat: generators for questions and categories 2014-12-05 12:18:05 +00:00
Tim Hunt 6292878644 MDL-48373 behat: find table columns better.
It was not possible to select the question bank 'Created by'
or 'Modified by' columns without this change.
2014-12-05 12:18:04 +00:00
Tim Hunt 201e19d7b6 MDL-48373 behat: new container selector for list items. 2014-12-05 12:18:04 +00:00
Eloy Lafuente (stronk7) ae2a9c0e66 weekly release 2.8.1+ 2014-12-05 11:05:30 +01:00
Eloy Lafuente (stronk7) dc2dd0cf72 Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-12-05 11:05:24 +01:00
Mark Nielsen 9c08bf4a6a MDL-48058 core_message: Default message outputs: Maintain Forced status 2014-12-05 14:43:57 +08:00
Ankit Agarwal ba1f0fbd39 MDL-45430 mod_book: Automate MDLQA-2428
This test verifies that an admin can generate and view all the book log entries
2014-12-05 09:26:32 +05:30
Rajesh Taneja e784850b5a MDL-48318 behat: Fixed JS Exception
M is not created on all pages, like cron and
Steps which check for exported data. So we need
to ensure M is defined, before using it in
behat_hooks::wait_for_pending_js()
2014-12-05 11:47:49 +08:00
John Okely 6ae671b784 MDL-41846 repository_url: Escape > < ' " in input url
And throw an exception when a url is incorrectly formatted
2014-12-05 11:23:42 +08:00
John Okely dbe6a4d188 MDL-41846 repository_url: Convert spaces to %20 in input url 2014-12-05 11:23:42 +08:00
Andrew Nicols 9427be40aa MDL-48309 mod_forum: Do not escape ampersands in plain text email 2014-12-04 12:59:08 +01:00
Eloy Lafuente (stronk7) acfbe693b2 Merge branch '48425-48374-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-12-04 12:59:07 +01:00
Eloy Lafuente (stronk7) 760c41ca09 MDL-48374 behat: Added missing $session 2014-12-04 12:59:07 +01:00
Rajesh Taneja 8d7e6ecfc8 MDL-48374 behat: Check flag before searching for span on page 2014-12-04 12:59:07 +01:00
Andrew Nicols aa39908cef MDL-48374 behat: improved page load detection
Check that page load detection was correctly started before testing that a
new page was loaded.

Without this, it is possible to have mutliple subsequent cases of:
    And a new page should have loaded since I started watching

Without first starting the page load detection.
2014-12-04 12:59:06 +01:00
Sam Hemelryk fba1d33198 Merge branch 'M28_MDL46116_IMSCP_container_items' of https://github.com/Dave-B/moodle into MOODLE_28_STABLE 2014-12-04 12:59:05 +01:00
Dan Poltawski f304fd2e6c Merge branch 'wip-mdl-48290-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-12-04 12:59:05 +01:00
Dan Poltawski c538b47443 Merge branch 'MDL-34627_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-04 12:59:04 +01:00
Eloy Lafuente (stronk7) ea2a48fb4a Merge branch '48374-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-12-04 12:59:04 +01:00
Sam Hemelryk f40124002b Merge branch 'MDL-40419-28-2nd' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-12-04 12:59:03 +01:00
Dan Poltawski 8f8ace5cdd Merge branch 'wip_MDL-48420_m28_lasttypo' of https://github.com/skodak/moodle into MOODLE_28_STABLE 2014-12-04 12:59:03 +01:00
Dan Poltawski efc6ed5e34 Merge branch 'MDL-48342_28' of git://github.com/jmvedrine/moodle into MOODLE_28_STABLE 2014-12-04 12:59:02 +01:00
Dan Poltawski 7a1b7e41d9 Merge branch 'MDL-40241_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-12-04 12:59:02 +01:00
Marina Glancy f8b446f399 MDL-48366 blocks: always display custom regions in dropdown 2014-12-04 16:08:28 +08:00
AMOS bot 708cabea4d Automatically generated installer lang files 2014-12-04 00:04:36 +08:00
Matt Petro 9f4662b228 MDL-47323 backup: added enrol plugin backup structure and annotation 2014-12-02 22:03:43 -05:00
David Balch 186f4563cb MDL-46116 mod_imscp: Fix some jshint issues. 2014-12-02 11:17:40 +00:00
Simey Lameze 53e96ae4e1 MDL-48255 auth_ldap: make ldap cookie check more robust
Thanks to Baptiste Desprez for spotting this and provide a solution.
2014-12-02 15:32:33 +08:00
Ankit Agarwal 39ab2e44d0 MDL-37704 user_profile: Make sure description field can be locked
Thanks JD for the initial patch.
2014-12-02 09:43:55 +05:30
Rajesh Taneja 5367656ae8 MDL-48290 behat: Add log out after checking exported file
If the download step is the last in the scenario then we
can sometimes run into the situation where the download page
causes a http redirect but behat has already conducted its
reset (generating an error). By putting a logout step we avoid
behat doing the reset until we are off that page.
2014-12-02 09:39:27 +08:00
Sam Hemelryk 2fca03ec2a MDL-48425 course: management behat tests improved 2014-12-02 11:45:16 +13:00
Sam Hemelryk f2ebd53dba MDL-48374 behat: improved page load exceptions
The following improvements have been made to the page load watching:
* Improved the exceptions when a page load expectation fails.
* Added an exception if start watching happens twice without a page load.
* Improved the page load span and xpath to make it faster and less likely
  to interfer in the future.
2014-12-02 11:44:02 +13:00
Tim Hunt 886bc21b8b MDL-48374 behat: new steps for detecting page loads. 2014-12-02 08:58:11 +13:00
Mary Evans 5b1efbcab4 MDL-48243 theme_bootstrapbase: Fixed inconsistancy between LTR/RTL LESS 2014-12-01 17:32:46 +00:00
Didier Raboud 9dfc203245 MDL-34437 shibboleth: Correct the shibboleth wiki links. 2014-12-01 14:57:37 +05:30
Frederic Massart 278642a380 MDL-14908 user: Parents are not restricted when separated groups is used 2014-12-01 15:16:15 +08:00
David Monllao 1101fd22f2 MDL-40241 core_completion: Minor fixes to provided patch
Thanks to Aaron Barnes and Jon Sharp for working on this issue.
2014-12-01 15:01:14 +08:00
Marina Glancy db956269fe MDL-46486 coursecat: remove function forgotten in MDL-38147 2014-12-01 13:22:38 +08:00
Rajesh Taneja 1538a20679 MDL-48426 behat: soft-reset mink session before scenario 2014-12-01 12:40:18 +08:00
Rajesh Taneja 4eac169974 MDL-48426 behat: Wait for redirection after save
After saving wiki comment, page is redirected
Make sure to wait for redirection after save
to avoid random fails
2014-12-01 11:25:26 +08:00
Charles Fulton 5445d98144 MDL-34627 feedback: Convert default format value during restore 2014-12-01 10:58:38 +08:00
Aaron Barnes 258c0449b6 MDL-40241 blocks_completionstatus: Fix notices 2014-12-01 10:05:50 +08:00
Aaron Barnes 0a39d64927 MDL-40241 completion: Default roles unable to manually complete course
Thanks to Jon Sharp for authoring the original patch!
2014-12-01 10:05:48 +08:00
Sam Hemelryk c40f1f184f Merge branch 'wip-MDL-48377-m28' of git://github.com/marinaglancy/moodle into MOODLE_28_STABLE 2014-12-01 14:02:15 +13:00
Sam Hemelryk fc7ab00709 Merge branch 'MDL-48382_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-12-01 13:58:20 +13:00
Sam Hemelryk a76c20c20e Merge branch 'MDL-46618_m28' of git://github.com/kordan/moodle into MOODLE_28_STABLE 2014-12-01 11:59:36 +13:00
Sam Hemelryk 824c31e592 Merge branch 'MDL-14402-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-01 11:35:53 +13:00
Sam Hemelryk cba386b636 Merge branch 'MDL-48384-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2014-12-01 11:31:36 +13:00
Sam Hemelryk 438b185951 Merge branch 'MDL-48309-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-12-01 11:10:29 +13:00
Sam Hemelryk 3f1b091aa2 MDL-47133 editor_atto: fixed lint errors 2014-12-01 10:36:38 +13:00
Sam Hemelryk 0fec60deea Merge branch 'MDL-47133-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-12-01 10:19:31 +13:00
Petr Skoda 9e28b040df MDL-48420 test: fix lasttnamephonetic typo 2014-12-01 09:26:22 +13:00
Sam Hemelryk f7e646a5c1 Merge branch 'MDL-48227-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-12-01 09:14:50 +13:00
Ankit Agarwal d2b8475e3e MDL-42717 backups: set correct backup status and add logs
Set a correct backup status of ERROR when we fail to copy a file to an external directory given the backup configs demand it.
Also a lot of logs are added around this area to let admins easily find the problem if backup fails because of directory permissions.
2014-12-01 09:11:06 +13:00
Sam Hemelryk af9e696b79 Merge branch 'wip-mdl-48192-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-12-01 08:33:57 +13:00
AMOS bot aa29beabe8 Automatically generated installer lang files 2014-11-29 00:04:01 +08:00
Jean-Michel Vedrine 71a673cc3b MDL-48342 Question: qformat_default::readquestion is broken 2014-11-28 15:38:21 +01:00
Tim Hunt 105dbe93d5 MDL-48382 quiz behat: make add question step more robust. 2014-11-28 13:43:31 +00:00
Ankit Agarwal d141109dc2 MDL-48227 forum: Update the message shown in emails
AMOS BEGIN
 CPY [deleteoriginalonreply,mod_forum],[replytopostbyemail,mod_forum]
AMOS END
2014-11-28 15:31:25 +05:30
Dan Poltawski 97cf440401 weekly release 2.8.1+ 2014-11-28 08:04:49 +00:00
Dan Poltawski bb2f54224c Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-11-28 08:04:47 +00:00
Damyon Wiese 6c20557845 Revert "Merge branch 'MDL-38128_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE"
This reverts commit 349c877872.

This reverts commit f67638b05f, reversing
changes made to c604a8079a.
2014-11-28 15:12:30 +08:00
David Monllao 349c877872 MDL-38128 mod_assign: Changes in grading summary page using team submissions
If there is an active group and (groupmode != NOGROUPS)
the displayed info is related with that single group.
2014-11-28 05:49:22 +08:00
Dan Poltawski 5ae74cad15 Revert "Merge branch 'MDL-43127-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE"
This reverts commit d758f054b9, reversing
changes made to f67638b05f.
2014-11-27 09:35:00 +00:00
Dan Poltawski e393866a36 Revert "Merge branch 'MDL-43127-28-fixup' of https://github.com/FMCorz/moodle into MOODLE_28_STABLE"
This reverts commit f603096c47, reversing
changes made to 5169661ee2.
2014-11-27 09:34:58 +00:00
Rajesh Taneja 99c0919993 MDL-48192 tool_monitor: check output buffer and not ignore it.
Check what is thrown in output buffer and
make sure output is expected output.
2014-11-27 17:03:54 +08:00
Frederic Massart c83dc49d3c MDL-40419 backup: Advanced comparison when restoring blocks in course 2014-11-27 16:20:11 +08:00
Frederic Massart 9a59701f0f MDL-40419 blocks: Function to get page type patterns from pattern 2014-11-27 16:20:11 +08:00
Jetha Chan 1cd8f3c645 MDL-48394 core_renderers: remove role=presentation on user picture links 2014-11-27 15:34:10 +08:00
David Monllao c3e67edfac MDL-22309 enrol_self: Fixing get_role_users usage 2014-11-27 11:34:01 +08:00
Marina Glancy 92b71540b3 MDL-48390 cohorts: do not limit number of cohorts in dropdowns 2014-11-27 11:15:09 +08:00
Eloy Lafuente (stronk7) bba645d102 Merge branch 'wip-mdl-48190-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-11-26 13:25:41 +01:00
Dan Poltawski 7cc923f443 MDL-48384 thirdpartylibs: correct location of yui 2014-11-26 12:13:04 +00:00
Frederic Massart da53c524f1 MDL-47133 editor_atto: Use strict validation of keyboard shortcuts 2014-11-26 17:40:50 +08:00
Dan Poltawski f603096c47 Merge branch 'MDL-43127-28-fixup' of https://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-26 09:23:08 +00:00
Frederic Massart 480c254ac1 MDL-43127 tool_uploadcourse: Empty enrolment method is acceptable
Without the patch a course would not be created if it contained
an enrolment method column with an empty value. e.g.:

shortname,fullname,category,enrolment_1,enrolment_1_disable
courserestored,Course restored,1,,
courserestored2,Course restored 2,manual,1
2014-11-26 17:14:50 +08:00
Andrew Nicols 5169661ee2 MDL-48148 mod_forum: Use correct original subject when handling replies 2014-11-26 08:56:24 +00:00
Dan Poltawski a76630d700 Merge branch 'MDL-48210-28-checker-caching' of git://github.com/mudrd8mz/moodle into MOODLE_28_STABLE 2014-11-26 08:20:42 +00:00
David Mudrák 475f4a6272 MDL-48210 updates checker: Fix empty return type
Credit goes to Marina Glancy for catching during the testing.
2014-11-26 09:07:50 +01:00
Marina Glancy 9e74aef0a9 MDL-48377 forum: do not swallow spaces in notification emails 2014-11-26 12:17:40 +08:00
Sam Hemelryk 58aabfcedd Merge branch 'MDL-22309_28' of git://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-11-26 09:06:11 +13:00
Sam Hemelryk eccf806ad0 Merge branch 'MDL-48191-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE
Conflicts:
	grade/report/grader/yui/build/moodle-gradereport_grader-gradereporttable/moodle-gradereport_grader-gradereporttable-min.js
2014-11-26 08:59:13 +13:00
Sam Hemelryk 1198f5ae01 Merge branch 'MDL-47329-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-11-26 08:43:36 +13:00
Eloy Lafuente (stronk7) cc9161bebc Merge branch 'MDL-48276-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2014-11-25 18:45:31 +01:00
Eloy Lafuente (stronk7) bea43ad49a Merge branch 'MDL-48277-28' of git://github.com/danpoltawski/moodle into MOODLE_28_STABLE 2014-11-25 18:42:12 +01:00
Heiko Schach 9c41fd2377 MDL-48036 course: change multilang cache key 2014-11-25 14:35:14 +00:00
Dan Poltawski b0b7c2d808 Merge branch 'MDL-41155-28' of git://github.com/gurgus/moodle into MOODLE_28_STABLE 2014-11-25 13:18:14 +00:00
Eloy Lafuente (stronk7) 3ca610e89a Merge branch 'MDL-48210-28-checker-caching' of git://github.com/mudrd8mz/moodle into MOODLE_28_STABLE 2014-11-25 13:22:14 +01:00
Dan Poltawski 71d7788366 Merge branch 'MDL-46416-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-25 11:21:21 +00:00
Dan Poltawski d758f054b9 Merge branch 'MDL-43127-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-25 11:18:52 +00:00
Dan Poltawski f67638b05f Merge branch 'MDL-38128_28' of https://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-11-25 11:07:53 +00:00
Eloy Lafuente (stronk7) c604a8079a Merge branch '48189-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-11-25 11:23:34 +01:00
Dave Cooper 9b36c64056 MDL-41155 Lesson: Fixed multiple question attempts logic
Thanks to Rajneel Totaram for providing this patch.
2014-11-25 14:16:37 +08:00
Dave Cooper b110dd77a4 MDL-41155 Lesson: Added behat tests for multiple question attempts 2014-11-25 14:16:37 +08:00
Frederic Massart 086199c4e9 MDL-43127 tool_uploadcourse: Add support for more enrolment methods 2014-11-25 11:01:30 +08:00
Sam Hemelryk b42123f38c Merge branch 'MDL-22043-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-25 15:54:20 +13:00
David Monllao c440b9947e MDL-38128 mod_assign: Adding group selector to grading summary page
Thanks to Pau Ferrer Ocaña and Avi Levy for
their work on this issue.
2014-11-25 10:52:29 +08:00
Rajesh Taneja b64a526dba MDL-48190 behat: Fixed visit background in MoodleScenarioTester 2014-11-25 09:42:38 +08:00
Sam Hemelryk b9bfc5f15a MDL-23839 navigation: fixed php5.5ism 2014-11-25 14:35:47 +13:00
Andrew Nicols 94ae0d9f3b MDL-48309 mod_forum: Handle discussion subscriptions correctly 2014-11-25 09:29:39 +08:00
Andrew Nicols da9d46b5c0 MDL-48309 mod_forum: Add discussion subscription to the navigation 2014-11-25 09:29:38 +08:00
Sam Hemelryk b3351c0133 Merge branch 'MDL-23839-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-25 14:07:24 +13:00
Sam Hemelryk e8ffea7bd5 Merge branch 'MDL-23912-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-11-25 12:29:04 +13:00
Eloy Lafuente (stronk7) 25e135af74 Merge branch '38343-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-11-25 00:28:18 +01:00
Eloy Lafuente (stronk7) e4e04cdb84 Merge branch '48304-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-11-25 00:23:49 +01:00
Sam Hemelryk 222f015381 Merge branch 'MDL-48246-M28' of git://github.com/lazydaisy/moodle into MOODLE_28_STABLE
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-11-25 10:52:59 +13:00
Sam Hemelryk 5a9e656628 Merge branch 'm28_MDL-48265' of https://github.com/totara/moodle into MOODLE_28_STABLE 2014-11-25 09:42:56 +13:00
Dan Poltawski 5ff9df857e Merge branch '47832-28-removed' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-11-24 17:30:20 +00:00
Dan Poltawski c97952e6af Merge branch 'MDL-45867-m28-master' of https://github.com/dthies/moodle into MOODLE_28_STABLE 2014-11-24 17:11:15 +00:00
Mark Nelson e2e8a3e859 MDL-47601 core_backup: ensure removal of automated backups 2014-11-24 17:03:04 +00:00
Dan Poltawski edfb84865a Merge branch 'wip-MDL-48252-28' of git://github.com/abgreeve/moodle into MOODLE_28_STABLE 2014-11-24 16:29:27 +00:00
AMOS bot 78d7e090b2 Automatically generated installer lang files 2014-11-25 00:04:11 +08:00
Dan Poltawski 774522ff7e Merge branch 'MDL-48274-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-24 15:37:53 +00:00
Dan Poltawski 3a9daf6f9a Merge branch 'wip-mdl-48302-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-11-24 11:57:11 +00:00
Dan Poltawski 1913d60133 Merge branch 'MDL-48180-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-24 11:53:55 +00:00
David Monllao 3aeec06364 MDL-22309 report_singleview: Fixing wrong uses of get_role_users() 2014-11-24 10:59:02 +08:00
David Monllao de64c655e2 MDL-22309 accesslib: Preventing incorrect get_role_users() uses 2014-11-24 10:59:02 +08:00
David Monllao 7d3f51c262 MDL-22309 accesslib: Adding unit test to expose the issue 2014-11-24 10:59:02 +08:00
Sam Hemelryk b4d7288e94 Merge branch 'MDL-48148-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-24 15:58:03 +13:00
Sam Hemelryk 43e413f93f Merge branch 'MDL-48064-m28-master' of https://github.com/dthies/moodle into MOODLE_28_STABLE 2014-11-24 14:54:25 +13:00
Andrew Nicols afcae55712 MDL-48148 mod_forum: Use the standard forum reply subject as default
When a user replies by e-mail, the course name has been included in the
original e-mail. As a result, the reply subject becomes longer and longer.

In cases whether either:
* the discussion name; or
* the replied-to-post subject

is present in the mail subject, the standard reply subject is instead used.
2014-11-24 09:11:22 +08:00
Mark Nelson 65e2d354aa MDL-35494 core_backup: fixed activity restoration issue 2014-11-24 10:33:50 +13:00
Sam Hemelryk c19e95c871 Merge branch 'MDL-48288-28' of git://github.com/jethac/moodle into MOODLE_28_STABLE 2014-11-24 10:02:47 +13:00
David Mudrák 6237bb2f2f MDL-48210 updates checker: Improve cron notifications processing
These are cosmetic improvements spotted while working on the issue.

1. Do not waste time if there are no changes to notify about.
2. Fix the legacy plugin manager's get_plugins() call.
2014-11-21 12:07:55 +01:00
David Mudrák 87082d0f1c MDL-48210 plugin_manager: Invalidate caches after fetching updates info 2014-11-21 12:07:55 +01:00
Jetha Chan 229171be1a MDL-48288 gradebook: fix floating footer exception when averages disabled
The code we use to update styles on floating elements did not account for
situations where those floating elements don't exist. This was discovered
when a test site didn't have column averages enabled, resulting in no
floating footer element being created, so when _handleScrollEvent was
fired the first time, a null reference exception was thrown trying to
apply styles to a non-existent element.
2014-11-21 10:56:47 +08:00
Rajesh Taneja 62a703b655 MDL-48302 behat: Reverted temp fix added by MDL-48251 2014-11-21 10:41:09 +08:00
Rajesh Taneja c4c810491a MDL-48302 behat: Reset all data, before starting behat suite 2014-11-21 10:41:03 +08:00
Rajesh Taneja 46388b5e48 MDL-48302 behat: Make sure to clear php file cache 2014-11-21 10:40:56 +08:00
Rajesh Taneja 54bd82d4ae MDL-48302 behat: Reset cache before scenario 2014-11-21 10:40:49 +08:00
Jetha Chan ffd5282986 MDL-47329 mod_book: missing RTL styles, added page body selectors 2014-11-21 10:24:45 +08:00
Jetha Chan 07bff34437 MDL-47329 mod_book: use embedded pagetype instead of hardcoded HTML 2014-11-21 10:04:50 +08:00
Kordan 66649405b5 MDL-46618 tool_xmldb: added styles_bootstrapbase.css 2014-11-20 10:42:10 +01:00
Dan Poltawski 702e65c9ed weekly release 2.8.1+ 2014-11-20 08:38:26 +00:00
Dan Poltawski 81c559d05e Merge branch 'install_28_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_28_STABLE 2014-11-20 08:38:24 +00:00
Sam Hemelryk fa23afbe30 MDL-48304 moodle_url: compare now considers anchor 2014-11-20 15:38:48 +13:00
Adrian Greeve 6d5f68a832 MDL-48252 scheduled tasks: file_temp_cleanup_task does full delete.
This scheduled task was previously only doing a partial delete
due to the fact that the directory modification time would be
updated when a child file was deleted. It would then have to
wait another week before that directory could be deleted.
2014-11-20 10:34:33 +08:00
Adrian Greeve 88690b92e4 MDL-48252 scheduled tasks: Unit test for file_temp_cleanup_task. 2014-11-20 10:28:18 +08:00
Sam Hemelryk 472b438486 MDL-47832 cache: removed data source aggregate functionality
Cache data source aggregate functionality was found to be broken
and unused, because of this the decision was made to remove it
rather than fix it.
As it was broken we did not follow typical deprecation methods and
instead the code was removed outright with only structure
remaining and left deprecated.
2014-11-20 11:25:04 +13:00
Sam Hemelryk 04c92d672f MDL-43628 mod_assign: fixed formatting of statement 2014-11-20 10:18:42 +13:00
Eloy Lafuente (stronk7) 57ebd7b1b1 Merge branch '48206-28' of git://github.com/samhemelryk/moodle into MOODLE_28_STABLE 2014-11-19 21:19:41 +01:00
Rajesh Taneja 1cda99f39b MDL-48251 behat: Shuffling activity creation fix quiz behat 2014-11-19 20:06:54 +01:00
Dan Poltawski 93d5459125 MDL-29585 wiki: fix unit test fails 2014-11-19 11:40:37 +00:00
Frederic Massart 62845bce83 MDL-29585 mod_wiki: Prevent broken links in editable sections
When a section name ended with a URL, the '<a' part of [edit] link
that is appended to the section was considered as part of the URL
in the section, thus causing the [edit] link to be broken.
2014-11-19 10:34:36 +00:00
Dan Poltawski d9eedd1a68 MDL-48277 css: initial csslint config file 2014-11-19 09:20:50 +00:00
Rajesh Taneja 3dfecf93cc MDL-46865 report_log: Fixed site name in behat step 2014-11-19 06:41:13 +00:00
Mario Wehr 0858e593e6 MDL-48274 mod_forum: Add missing context to has_capability call 2014-11-19 14:06:36 +08:00
Dan Poltawski ddf83f51d4 MDL-48276 qformat_xhtml: avoid uncessary html in .css file
In order to help automated tools move the html out of the css
file.
2014-11-19 05:56:41 +00:00
Andrew Nicols ba8ca6604d MDL-22043 mod_forum: Fix toggle subscription editing button behaviour
Update the user session property before generating the button which relies
upon it.
2014-11-19 13:32:23 +08:00
Andrew Nicols f8da8ae382 MDL-14402 blocks: Do not show assign roles on my home 2014-11-19 11:18:49 +08:00
Andrew Nicols 5c86569096 MDL-23839 navigation: Check for assignable course category roles 2014-11-19 08:55:56 +08:00
Sam Hemelryk 921d045174 MDL-33606 tests: fixed broken unit test 2014-11-19 11:30:42 +13:00
Sam Hemelryk c81ae06997 Merge branch 'MDL-33606_28' of git://github.com/dmonllao/moodle into MOODLE_28_STABLE 2014-11-19 09:37:24 +13:00
Daniel Thies 3228da2e5c MDL-45867 atto_equation: Change preview update to asynchronous 2014-11-18 13:30:33 -06:00
Mary Evans 236351fdc3 MDL-47915 mod/scorm: Added JS fallback for themes using copied layouts. 2014-11-18 17:49:08 +00:00
AMOS bot 752fdd2479 Automatically generated installer lang files 2014-11-19 00:05:40 +08:00
Dan Poltawski 29a036aa59 Merge branch 'MDL-48146_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-11-18 12:07:10 +00:00
Sam Hemelryk 299f1bcdbd Merge branch 'wip-mdl-48250-m28' of https://github.com/rajeshtaneja/moodle into MOODLE_28_STABLE 2014-11-18 17:38:08 +13:00
Sam Hemelryk 09de24667f Merge branch 'MDL-29585-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-18 16:47:30 +13:00
Brian Barnes a7d7354c85 MDL-48265 feedback: Added alt text to ghostscript test image 2014-11-18 16:46:00 +13:00
Jetha Chan 31830a539d MDL-23912 core_comment: update count after deletion 2014-11-18 09:35:23 +08:00
Sam Hemelryk 67ccf63800 MDL-38343 cache: better test server strings 2014-11-18 12:34:30 +13:00
Sam Hemelryk 292e991b86 Merge branch 'MDL-47618_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-11-18 11:12:32 +13:00
Daniel Thies 65e345c3f4 MDL-48064 atto_editor: Expand event subscription for saving selection 2014-11-17 11:36:43 -06:00
Mark Nelson 554f0bd206 MDL-30619 mod_data: fixed deletion of files on reset 2014-11-17 16:49:00 +00:00
Dan Poltawski 38d6b6eb17 Merge branch 'MDL-48199_M28' of git://github.com/lazydaisy/moodle into MOODLE_28_STABLE
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-11-17 16:42:44 +00:00
AMOS bot 931d7216cc Automatically generated installer lang files 2014-11-18 00:05:48 +08:00
Dan Poltawski 6dfc37accf Merge branch 'MDL-47648_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-11-17 15:41:38 +00:00
Rajesh Taneja 9e273e7556 MDL-46865 report_log: Fixed showuser and showcourse in report log 2014-11-17 15:34:16 +00:00
Dan Poltawski 2d747884c6 Merge branch 'm28_MDL-48023_Theme_Setting_Files_Cacheable_By_Both_Browsers_And_Proxies' of https://github.com/scara/moodle into MOODLE_28_STABLE 2014-11-17 15:20:17 +00:00
Dan Poltawski af2c296364 Merge branch 'MDL-48042_28' of git://github.com/ppichet/moodle into MOODLE_28_STABLE 2014-11-17 15:13:19 +00:00
Mary Evans ec1a6a6996 MDL-48246 theme: Fixed typo in 'hidepanelicon' 2014-11-17 15:06:34 +00:00
Dan Poltawski 3b8a871233 Merge branch 'MDL-42756_28' of git://github.com/aolley/moodle into MOODLE_28_STABLE 2014-11-17 13:52:49 +00:00
Adrian Greeve ccfd014d42 MDL-36240 backup: Activity calendar events backed up.
Activity calendar events can now be backed up and restored
when no user data is selected.
2014-11-17 13:31:19 +00:00
Dan Poltawski 0c0714ae3b Merge branch 'MDL-43987-28' of git://github.com/xow/moodle into MOODLE_28_STABLE 2014-11-17 13:17:40 +00:00
Dan Poltawski 4d7f88d55c Merge branch 'MDL-46640-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-17 12:52:36 +00:00
Dan Poltawski d5f6d962e2 Merge branch 'MDL-48150-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-17 11:44:15 +00:00
Andrew Nicols 97f5b7b8a2 MDL-48150 mod_forum: Generate message inbound keys for all posts
This code was previously misplaced so that only posts in discussion which
had not yet been processed in the current cron run would have keys
generated. If two posts were generated in the same discussion and sent out
on the same cron cycle, only the first post to be processed would have a
key generated.
2014-11-17 15:48:12 +08:00
Frederic Massart 410d8eda9a MDL-48180 mod_assign: By default do not count 'new' submissions 2014-11-17 15:14:59 +08:00
Rajesh Taneja c42974048a MDL-48250 enrol_ldap: set default category
As in other enrol plugins (database), set default
category to 1 (pointing to Miscellaneous)
2014-11-17 14:42:27 +08:00
Frederic Massart fce8127ff0 MDL-46640 navigation: Handle block contexts within a category 2014-11-17 12:42:09 +08:00
Frederic Massart 864e404348 MDL-29585 mod_wiki: Handle special characters in headings/sections 2014-11-17 10:39:26 +08:00
Jetha Chan cfbc7d903f MDL-48191 gradebook: fixed floating headers when emails not displayed 2014-11-17 10:17:53 +08:00
Sam Hemelryk 0b9dc284e8 MDL-48196 phpunit: fixed the fail after this change 2014-11-17 15:07:39 +13:00
John Okely e92d84244c MDL-43987 core: Remove port numbers in cleanremoteaddr 2014-11-17 09:48:32 +08:00
Sam Hemelryk e9f7276481 Merge branch 'MDL-48115_28' of https://github.com/totara/openbadges into MOODLE_28_STABLE 2014-11-17 14:37:58 +13:00
Sam Hemelryk b1dd1c8656 Merge branch 'MDL-48194-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-17 13:39:17 +13:00
Sam Hemelryk 6b5f44b214 Merge branch 'MDL-48171-28' of git://github.com/ankitagarwal/moodle into MOODLE_28_STABLE 2014-11-17 13:21:05 +13:00
Mary Evans 068c7a8706 MDL-48199 theme_bootstrapbase: Page padding left is wrong when in RTL 2014-11-17 00:02:13 +00:00
Sam Hemelryk e3adeba886 Merge branch 'MDL-48179-m28' of https://github.com/sammarshallou/moodle into MOODLE_28_STABLE 2014-11-17 12:48:12 +13:00
Sam Hemelryk 666ac939d5 Merge branch 'MDL-48196-28' of git://github.com/andrewnicols/moodle into MOODLE_28_STABLE 2014-11-17 12:34:16 +13:00
Sam Hemelryk d2fe097e20 Merge branch 'm28_MDL-47993' of https://github.com/totara/moodle into MOODLE_28_STABLE 2014-11-17 12:21:37 +13:00
Sam Hemelryk b1298c7690 Merge branch 'MDL-43628_v28' of https://github.com/scyrma/moodle into MOODLE_28_STABLE 2014-11-17 11:45:01 +13:00
Ankit Agarwal 6748b5ee5c MDL-35638 backup: Do not print headers during redirects 2014-11-17 10:38:50 +13:00
Sam Hemelryk 583cf99ebd Merge branch 'MDL-47590_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-11-17 10:38:49 +13:00
Sam Hemelryk c1ca23afa3 Merge branch 'MDL-44657-28' of git://github.com/FMCorz/moodle into MOODLE_28_STABLE 2014-11-17 10:38:49 +13:00
Sam Hemelryk 0c96741ef7 MDL-48189 grade: letters now covered by behat 2014-11-17 08:54:30 +13:00
Matteo Scaramuccia b73158d3d0 MDL-48023 Files API: Theme files must be cache-able by shared proxies.
The profile image AKA user icon will be cache-able by shared proxies too,
under its specific accessibility constraints/conditions.
2014-11-16 09:59:22 +01:00
Pierre Pichet f6fd6787d1 MDL-48042 Questions: Reset Calculated qtype comments on datasets
Reset back the modifications of Calculated qtype comments on datasets
    done by MDL-47224

Signed-off-by: Pierre Pichet <pichet.pierre@uqam.ca>
2014-11-15 16:54:27 -05:00
sam marshall 60fef215f6 MDL-48179 Backup progress: Can time out when compressing large backup 2014-11-14 18:30:17 +00:00
Daniel Thies 4587188ad9 MDL-48064 atto_editor: Check if activeElement is child node in isActive 2014-11-14 12:15:22 -06:00
Tim Hunt bc575d2bea MDL-47590 question backup: include response file only with userdata 2014-11-14 16:21:38 +00:00
Ankit Agarwal 806f6f642c MDL-48171 gradebook: Use proper apis to get item name 2014-11-14 14:05:52 +05:30
Sam Hemelryk acad969077 MDL-48206 block_comments: textarea width 100% 2014-11-14 11:40:32 +13:00
Oleg Demeshev 066751547d MDL-47993 calendar: Fix ical import Microsoft calendar issue 2014-11-14 10:39:34 +13:00
Eloy Lafuente (stronk7) 296b602f2c Moodle release 2.8.1 2014-11-13 12:22:51 +01:00
Eloy Lafuente (stronk7) 76db660264 Merge branch 'MDL-48214-28-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_28_STABLE 2014-11-13 12:05:17 +01:00
Helen Foster e5381b67e9 MDL-48214 Merge English strings from the en_fix language pack 2014-11-13 11:32:24 +01:00
Paul Holden 309a919074 MDL-44657 forms: Form identifiers should only contain basic characters 2014-11-13 16:25:12 +08:00
Andrew Nicols 367a26d088 MDL-48196 phpunit: Set e-mail address for admin user at installation 2014-11-13 08:58:55 +08:00
Eugene Venter 8d4e07d86d MDL-48204 mod_wiki: admin.php - fix syntax error 2014-11-13 00:47:16 +01:00
Tim Hunt 89eb7cf302 MDL-48146 quiz settings: fix non-percent feedback boundaries 2014-11-12 15:46:55 +00:00
Dan Poltawski b37f9889d0 weekly release 2.8+ 2014-11-12 11:33:31 +00:00
Dan Poltawski c8900a5152 MDL-48174 tool_langimport: info about skipped update
So admins can work out why the task might not be having an effect.
2014-11-12 11:22:45 +00:00
Rajesh Taneja 4c4d53ebaf MDL-48174 core_lang: support for ->skiplangupgrade in lang cron task
Similar to upgrade_language_pack(), update_langpacks_task should
respect skiplangupgrade config. Also, this should be added to behat
whitelist, so it can be disabled during on-sync period, when lang
pack for master is not available.
2014-11-12 11:03:55 +00:00
David Monllao a26ce935c7 MDL-30968 mod_forum: No picture link to group when no groups mode 2014-11-12 07:43:08 +00:00
David Monllao 2a3e89465c MDL-33606 course: Adding section info to course_viewed log 2014-11-12 13:58:35 +08:00
Andrew Nicols 6d8019438f MDL-48194 testing: Adjust naming of testsuites in phpunit.xml
This will make it easier to run phpunit for a specific component by making
all testsuite names consistent, guessable, and in-line with the naming of
the parameter (testsuite vs. test suite).
2014-11-12 12:06:45 +08:00
Adam Olley b19e9ae457 MDL-42756 dock: Trigger actionmenu enhance when showing dock panel
Additionally fixes the styling for the actionmenu icon size in
bootstrapbase'd themes.
2014-11-12 14:11:33 +10:30
Frederic Massart c6a1e9bed3 MDL-46416 group: Use a revision number for group pictures 2014-11-12 11:29:22 +08:00
James Ballard 0df5893423 MDL-47391 Update pagelayout for default profile configuration 2014-11-12 12:34:27 +13:00
Frederic Massart dd818fdb44 MDL-39692 grade: Little code clean up of letter boundary deletion 2014-11-12 12:19:31 +13:00
Huy Hoang 1fd2bc4810 MDL-39692 grade: Ability to delete letter boundary 2014-11-12 12:19:31 +13:00
Yuliya Bozhko 3f3f7ce52a MDL-48115 badges: Fix strtoupper() output in badges
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-11-12 09:30:29 +13:00
Amanda Doughty 088c4fb280 MDL-30968 mod/forum Fixed group link 2014-11-12 09:00:16 +13:00
Dan Poltawski 0ed92e6a37 MDL-47502 statslib tests: improve test
While integrating I noticed some problems which already existed in this
test:
* The enrolment data generator was not used
* The student roleid was hardocded
* The role assignment was at site level..
2014-11-11 19:26:03 +00:00
Eugene Venter afc8bd9672 MDL-47502 test_statslib_cron_daily: fix provider
Fiddling with the database in the data provider causes "out of sync"
errors when running suite tests.
2014-11-11 19:12:46 +00:00
Damyon Wiese c2dd91bfef MDL-47975 assign: Stop gap fix for random time fails. 2014-11-11 19:06:38 +00:00
sam marshall b0ac83b82b MDL-48093 HTML 5 video: Firefox now supports .mp4 2014-11-11 19:00:12 +00:00
Dan Poltawski 272ad5b577 Merge branch 'MDL-48168_28' of git://github.com/timhunt/moodle into MOODLE_28_STABLE 2014-11-11 18:48:36 +00:00
David Balch 7805d03a9e MDL-46116 mod_imscp: Display first item with content on load. 2014-11-11 18:42:29 +00:00
Tim Hunt ecb40b963d MDL-47618 quiz statistics: fatal error with groups.
The problem was that the names of query placeholders were changing. The
fix was to do things ourself, rather than using get_in_or_equal.
2014-11-11 18:29:31 +00:00
David Balch b45e110c3a MDL-46116 mod_imscp: Don't create links on items without content. 2014-11-11 18:16:39 +00:00
Darko Miletic 928497310e MDL-39376 enrol: Optimized setting for ldap and database 2014-11-11 17:23:01 +00:00
David Mudrák 5755d70f2e MDL-48156 task: Skip the scheduled task only for really disabled plugins 2014-11-11 17:18:03 +00:00
Tim Hunt ff8aaa2dd4 MDL-47648 admin unit tests: fix file perms on mimetex.exe
This was causing the
core_admintree_testcase::test_admin_setting_configexecutable unit test
to fail.
2014-11-11 14:04:20 +00:00
Mathieu Petit-Clair 5ebde631c0 MDL-43628 assign: make submissionagreement usable on multilingual sites 2014-11-10 16:53:49 -05:00
Tim Hunt 21c633a8c6 MDL-48168 quiz editing: max grade should be editable after attempts
Note that there was a lot of legacy code left from Moodle 2.7 which is
no longer required, and I took this opportunity to delete it.
2014-11-10 19:00:33 +00:00
Eloy Lafuente (stronk7) 25fe23f5f5 MDL-48144 upgrade: add v2.8.0 sep lines 2014-11-10 18:09:20 +01:00
Eloy Lafuente (stronk7) 21db825b19 Moodle release 2.8 2014-11-08 23:30:59 +01:00
Eloy Lafuente (stronk7) 3789b47f16 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-11-08 23:30:53 +01:00
AMOS bot 7a6b9b1e90 Automatically generated installer lang files 2014-11-09 00:05:33 +08:00
Eloy Lafuente (stronk7) bea7509414 Merge branch 'MDL-48107_master' of https://github.com/markn86/moodle 2014-11-08 11:19:59 +01:00
Mark Nelson 8145ab3372 MDL-48107 tool_monitor: extended automated tests
Also adjusted them so they will pass with these changes.
2014-11-08 00:50:51 -08:00
Mark Nelson 884652378a MDL-48107 tool_monitor: prevent site rule removal when deleting a course 2014-11-08 00:49:00 -08:00
Mark Nelson cbc4ecc7f9 MDL-48107 tool_monitor: added total subs to the delete rule string
Also made some minor language string changes.
2014-11-08 00:26:56 -08:00
Eloy Lafuente (stronk7) 17cc9fcd84 Moodle release 2.8rc2 2014-11-07 16:59:39 +01:00
Damyon Wiese f2e5a435a6 MDL-47900 Event monitor: Fix name of cache lang string for event monitor
AMOS BEGIN
 MOV [cachedef_rules, tool_monitor],[cachedef_eventsubscriptions, tool_monitor]
AMOS END
2014-11-07 17:40:21 +08:00
Damyon Wiese d04803595c Merge branch 'MDL-47900_master' of https://github.com/markn86/moodle 2014-11-07 16:58:52 +08:00
Eloy Lafuente (stronk7) d79af819c6 Merge branch 'wip-mdl-48035' of https://github.com/rajeshtaneja/moodle 2014-11-07 09:37:32 +01:00
Damyon Wiese 3d4de122f2 Merge branch 'MDL-46986-master' of https://github.com/lameze/moodle 2014-11-07 16:08:20 +08:00
Simey Lameze 8c674e80ec MDL-46986 mod_assign: Change the asserting to false 2014-11-07 15:54:14 +08:00
John Okely a481e32f02 MDL-47949 mod_wiki: Validate parameters for page deletion 2014-11-07 15:29:40 +08:00
Marina Glancy 293f1b4d85 Merge branch 'MDL-47869-master' of git://github.com/lameze/moodle 2014-11-07 15:03:32 +08:00
Rajesh Taneja ea2b511d9a MDL-48035 mod_forum: Reverted string change in step to keep correct functionality 2014-11-07 13:43:19 +08:00
Marina Glancy 2f1d0ea663 Merge branch 'MDL-46986-master' of git://github.com/lameze/moodle 2014-11-07 11:54:13 +08:00
Mark Nelson c490ede369 MDL-47900 tool_monitor: expanded unit tests
Expanded the unit tests to ensure unnecessary events are not
saved in the DB and altered existing tests so they pass with
the introduction of this feature.
2014-11-06 18:46:45 -08:00
Mark Nelson 475635f52d MDL-47900 tool_monitor: created list of rules MUC 2014-11-06 18:46:44 -08:00
Damyon Wiese 419d1abdad MDL-48091 users: Revert "MDL-42875 users: Show only profile visible..."
This reverts commit a09a837f20.
2014-11-07 09:30:42 +08:00
Simey Lameze 274962a1e7 MDL-46986 mod_assign: Remove duplicate column identifier 2014-11-07 09:19:18 +08:00
Eloy Lafuente (stronk7) 415fc3d2f9 Merge branch 'MDL-47943-master' of https://github.com/dthies/moodle 2014-11-06 18:44:38 +01:00
Eloy Lafuente (stronk7) ed34ab47e1 Merge branch 'MDL-48035-master-enfix' of git://github.com/mudrd8mz/moodle 2014-11-06 17:40:50 +01:00
David Mudrák f7dd19f01d MDL-48035 Fix more Behat tests regressions after merging en_fix strings 2014-11-06 16:19:11 +01:00
Andrew Nicols a211c54388 MDL-48090 mod_forum: Optimise subquery out of discussion subs list 2014-11-06 13:39:44 +00:00
Eloy Lafuente (stronk7) 6fdd4633a7 Merge branch 'MDL-48035-master-enfix' of git://github.com/mudrd8mz/moodle 2014-11-06 11:14:52 +01:00
David Mudrák 6887e2e53e MDL-48035 Fix Behat tests regressions after merging en_fix strings 2014-11-06 10:54:27 +01:00
Dan Poltawski e323635e1b Merge branch 'MDL-47390-master-fixes' of git://github.com/andrewnicols/moodle 2014-11-06 09:14:48 +00:00
Dan Poltawski 4c37593dcd Merge branch 'MDL-47980-master-fixup' of https://github.com/jethac/moodle 2014-11-06 08:58:27 +00:00
Dan Poltawski 4aeebe34b4 Merge branch 'MDL-47922-master' of git://github.com/ankitagarwal/moodle 2014-11-06 08:53:55 +00:00
Andrew Nicols 2b0a7419c6 MDL-47390 mod_forum: Provide ID and Discussion ID for discussion unsub 2014-11-06 16:50:36 +08:00
Jetha Chan b7ee86966b MDL-47980 gradebook: fixed label for bulk insert select box 2014-11-06 16:37:23 +08:00
Marina Glancy f2db391f59 Merge branch 'MDL-47980-master' of git://github.com/jethac/moodle 2014-11-06 15:14:05 +08:00
Simey Lameze 7c2a2e1a93 MDL-47869 tool_monitor: Add sorting on event monitor pages 2014-11-06 14:53:10 +08:00
Damyon Wiese 527464a618 MDL-43430 ldap: whitespace fix 2014-11-06 12:05:32 +08:00
Damyon Wiese bd6ee5c58a Merge branch 'wip_master_mdl-43430' of https://github.com/iarenaza/moodle 2014-11-06 12:00:12 +08:00
Marina Glancy 253b93f720 Merge branch 'wip_MDL-48083_m28_rollback' of git://github.com/skodak/moodle 2014-11-06 11:42:10 +08:00
Damyon Wiese ce1b8779df Merge branch 'MDL-48061-master-fixes' of https://github.com/andrewnicols/moodle 2014-11-06 11:30:42 +08:00
Andrew Nicols 4ee412613b MDL-48061 mod_forum: posttext should concat 2014-11-06 11:29:25 +08:00
Damyon Wiese b0637c57ad Merge branch 'MDL-48061-master-fixes' of https://github.com/andrewnicols/moodle 2014-11-06 11:22:42 +08:00
Andrew Nicols a41cff4e23 MDL-48061 mod_forum: Correct variable name in HTML warning message 2014-11-06 11:05:44 +08:00
Petr Skoda 5cf50f96e7 MDL-48083 dml: Empty buffers on forced rollback 2014-11-06 15:52:37 +13:00
Andrew Nicols ddb4a31d54 MDL-48029 mod_forum: Check for subscription before enrolling 2014-11-06 10:42:09 +08:00
Jetha Chan dd01789b4f MDL-47980 gradebook: add labels and legends missing from single view 2014-11-06 10:40:36 +08:00
Ankit Agarwal e53a4b88d6 MDL-47922 tool_monitor: Update strings 2014-11-06 07:42:24 +05:30
Eloy Lafuente (stronk7) dc3fab74ae Merge branch 'wip-MDL-47174-master' of git://github.com/marinaglancy/moodle 2014-11-06 02:15:44 +01:00
Marina Glancy 8f94164df3 MDL-47174 events: new calendar event may have 0 timestart 2014-11-06 08:57:29 +08:00
Eloy Lafuente (stronk7) a376c72a05 Merge branch 'wip-mdl-45416' of https://github.com/rajeshtaneja/moodle 2014-11-06 00:57:45 +01:00
Eloy Lafuente (stronk7) ec070d2cf7 Merge branch '48026-28' of git://github.com/samhemelryk/moodle 2014-11-06 00:33:46 +01:00
John Okely 9aa9a1c70a MDL-47862 tool_monitor: Fix tool monitor navigation tree
Added event monitor rules link to the frontpage navigation tree, when
editing the frontpage rules. Added hack so that when viewing the site
context subscriptions, the link in navigation is correct, allowing the
breadcrumbs to appear
2014-11-06 12:27:51 +13:00
John Okely 8f6b6982fa MDL-47862 event_monitor: Fix context for capability check on subscription page 2014-11-06 12:27:51 +13:00
Eloy Lafuente (stronk7) 4723da1bff Merge branch 'MDL-47990' of git://github.com/timhunt/moodle 2014-11-06 00:22:32 +01:00
Eloy Lafuente (stronk7) 862b76f39b Merge branch 'MDL-48050-master' of git://github.com/damyon/moodle 2014-11-06 00:01:26 +01:00
Sam Hemelryk 12a312ac6a Merge branch 'MDL-48044-master' of git://github.com/andrewnicols/moodle 2014-11-06 11:55:46 +13:00
Eloy Lafuente (stronk7) 97100bea54 Merge branch 'MDL-48054-master' of git://github.com/andrewnicols/moodle 2014-11-05 21:34:37 +01:00
Dan Poltawski 62e965c9b8 Merge branch 'MDL-47466-master' of https://github.com/tehanuyor/moodle 2014-11-05 16:24:14 +00:00
Daniel Thies 8160d004ce MDL-47943 editor_atto: Save selection on mouseleave for Chrome 2014-11-05 09:34:20 -06:00
Dan Poltawski c293eb004b Merge branch 'MDL-47874' of git://github.com/stronk7/moodle 2014-11-05 14:27:12 +00:00
Dan Poltawski 5a6c9f1cfb Merge branch 'MDL-48021' of git://github.com/stronk7/moodle
Conflicts:
	admin/tool/monitor/version.php
	mod/lesson/version.php
2014-11-05 12:11:16 +00:00
Dan Poltawski 35d236c1ea Merge branch 'MDL-48047-master' of git://github.com/lameze/moodle 2014-11-05 12:05:58 +00:00
Dan Poltawski 90de57db26 Merge branch 'MDL-48068-master' of git://github.com/FMCorz/moodle 2014-11-05 12:03:48 +00:00
Dan Poltawski f3fd919187 Merge branch 'MDL-47981-master' of git://github.com/damyon/moodle 2014-11-05 12:00:19 +00:00
Dan Poltawski 7aedf52716 MDL-47922 tool_monitor: bump version 2014-11-05 11:42:37 +00:00
Dan Poltawski 7ea14bb819 Merge branch 'MDL-47922-master' of git://github.com/ankitagarwal/moodle 2014-11-05 11:18:22 +00:00
Dan Poltawski a0cba367bd Merge branch 'MDL-47982-master' of git://github.com/gurgus/moodle 2014-11-05 11:03:57 +00:00
Andrew Nicols 7a311adbba MDL-48019 mod_forum: Add sesskey checks when setting tracking prefs
This also removes set_url() and changes require_course_login to
require_login as guests cannot set tracking.
2014-11-05 10:35:12 +00:00
Dan Poltawski fb3e9ea25d Merge branch 'MDL-48067-master' of git://github.com/jethac/moodle 2014-11-05 10:15:41 +00:00
Damyon Wiese a75cc21442 Merge branch 'MDL-48061-master' of git://github.com/andrewnicols/moodle 2014-11-05 16:54:32 +08:00
Damyon Wiese ec57e8b3f4 Merge branch 'MDL-46500_master' of https://github.com/dmonllao/moodle 2014-11-05 16:52:07 +08:00
Marina Glancy 93a4f8b5fc Merge branch 'MDL-47390-master' of git://github.com/andrewnicols/moodle 2014-11-05 16:35:05 +08:00
Iñaki Arenaza cc22032502 MDL-43430 enrol_ldap: Enrolment lost if member of group with parenthesis
While testing the fix, it was found that ldap_stripslashes() was broken and
using a deprecated PCRE patter modifier, so it's also been fixed.

Thanks to Damyon Wiese, some units tests have been added to cover
ldap_addslashes() and ldap_stripslashes().
2014-11-05 09:01:27 +01:00
Iñaki Arenaza 21302343ee MDL-43430 enrol_ldap: Enrolment lost if member of group with parenthesis
The group names we get from ldap_find_user_groups() can contain invalid LDAP
filter characters. So we need to escape them for LDAP filter usage.
2014-11-05 09:00:17 +01:00
Iñaki Arenaza 9807737734 MDL-43430 enrol_ldap: Enrolment lost if member of group with parenthesis
As part of fixing MDL-43430, a typo has been detected in the
quoted alphanumeric characters (the '=' and '>' were transposed).
2014-11-05 09:00:17 +01:00
Damyon Wiese 2f1637f09b Merge branch '48025-28' of git://github.com/samhemelryk/moodle 2014-11-05 15:39:27 +08:00
Simey Lameze b52b1ee9a4 MDL-48047 gradebook: change the missing ID number to checkbox on XML export 2014-11-05 15:24:09 +08:00
Damyon Wiese b729370ebe Merge branch 'MDL-47893-master-fix' of https://github.com/zbdd/moodle 2014-11-05 15:22:55 +08:00
Damyon Wiese 086e5b7b9e Merge branch 'MDL-47360-master' of git://github.com/lameze/moodle 2014-11-05 15:12:56 +08:00
Frederic Massart 00d03b0b8a MDL-48068 tool_monitor: Link to course points to the right course 2014-11-05 15:06:27 +08:00
Simey Lameze 0194d87ec5 MDL-47360 tool_monitor: add more help link and default template message 2014-11-05 14:57:53 +08:00
Andrew Nicols 7122e1543a MDL-48054 mod_forum: Fix unit test failures
These sporadic unit test failures were happening because the post time and
subscription time sometimes differ depending on the amount of time it takes
to complete the different components of the test.

To reliably address these issues, the post creation, and the discussion
subscription times are manually updated by different factors to ensure a
more realistic state of affairs.
2014-11-05 14:49:02 +08:00
Zachary Durber 4fb6b62c42 MDL-47893 gradebook: Fix for bulk updating single view. 2014-11-05 14:44:15 +08:00
Damyon Wiese 5ab68de8f0 Merge branch 'wip-MDL-46262-master' of git://github.com/marinaglancy/moodle 2014-11-05 14:38:11 +08:00
Jetha Chan 088fcf90ca MDL-48067 user_menu: allow empty customusermenuitems setting 2014-11-05 14:37:33 +08:00
Damyon Wiese 225fa27fc2 MDL-47793 assign: trivial fix for inconsistent use of get_instance() 2014-11-05 14:27:58 +08:00
Damyon Wiese 43db479d51 Merge branch 'MDL-47793-m' of https://github.com/micaherne/moodle 2014-11-05 14:25:22 +08:00
Damyon Wiese 686150130e Merge branch 'MDL-47930-master' of git://github.com/andrewnicols/moodle 2014-11-05 14:18:07 +08:00
Damyon Wiese c5d4633fed Merge branch 'MDL-47902_scorm_inappropriate_default_values' of https://github.com/MorrisR2/moodle 2014-11-05 14:05:32 +08:00
Damyon Wiese 8a9fd2d4cf MDL-27930 lesson: Remove custom styling from timer 2014-11-05 13:58:38 +08:00
Damyon Wiese c86477aa88 Merge branch 'MDL-27930' of git://github.com/jmvedrine/moodle 2014-11-05 13:34:07 +08:00
Zachary Durber 5467cc051c MDL-48031 gradebook: Fix for bulk updating users in single view. 2014-11-05 13:20:40 +08:00
Ankit Agarwal f63c5b0413 MDL-47922 behat: Add a behat test 2014-11-05 10:19:45 +05:30
Ankit Agarwal 236a1f8d31 MDL-47922 tests: Enable tool monitor in various tests 2014-11-05 10:19:45 +05:30
Ankit Agarwal 5ff867362a MDL-47922 tool_monitor: Add a config to disable the tool 2014-11-05 10:19:44 +05:30
Andrew Nicols 6a5b087163 MDL-48061 mod_forum: Tidy up reply-by-email information in emails
* Add a reminder to remove the original message; and
* Remove the reply-to address from the text.
2014-11-05 11:20:59 +08:00
Rajesh Taneja e790a3ecc7 MDL-45416 enrol_ldap: Use null_progress_trace while running phpunit 2014-11-05 10:43:16 +08:00
Eloy Lafuente (stronk7) 8d3c518bd5 Merge branch 'MDL-48035-master-enfix' of git://github.com/mudrd8mz/moodle 2014-11-05 01:16:05 +01:00
Helen Foster ba033b861e MDL-48035 Merge English strings from the en_fix language pack 2014-11-04 21:55:26 +01:00
Eloy Lafuente (stronk7) de881693f7 MDL-48021 bump: Bump all versions to planned release
This bumps all versions to planned 2.8 release
(2014111000) version and all the dependencies to
current 2.8rc1 (2014110400)
2014-11-04 17:52:35 +01:00
Dan Poltawski f61619597b Merge branch 'MDL-47893-master' of git://github.com/zbdd/moodle 2014-11-04 16:50:47 +00:00
Dan Poltawski f820acf01e Merge branch 'MDL-47944-master' of git://github.com/andrewnicols/moodle 2014-11-04 16:30:17 +00:00
Jean-Michel Vedrine 50d70c5caf MDL-27930 Lesson: the count-down timer does not work 2014-11-04 15:12:42 +01:00
Eloy Lafuente (stronk7) 6ce4b8ea30 Moodle release 2.8rc1 2014-11-04 11:45:59 +01:00
Damyon Wiese 12938e894d MDL-48050 Libraries - fake HTTPS detection needs the correct port 2014-11-04 16:50:25 +08:00
Andrew Nicols 1008dd8ef0 MDL-47390 mod_forum: Correct check for groups when subscribing 2014-11-04 16:35:47 +08:00
Andrew Nicols da30d04408 MDL-47390 mod_forum: Add discussion unsub to email footer 2014-11-04 16:35:47 +08:00
Mark Nelson 4e86f45a3e MDL-47361 tool_monitor: added missing column
Also reworded a string as the fields have been renamed.
2014-11-04 00:15:41 -08:00
Andrew Nicols 548453ecde MDL-48044 mod_forum: Preload icons for discussion subscription toggles 2014-11-04 16:09:19 +08:00
Andrew Nicols a35ce611cf MDL-47944 mod_forum: Improve discussion subscription icon/link
* make the link text clickable
* changes the link text when unsubscribed to the action text "Subscribe"
2014-11-04 15:46:05 +08:00
Damyon Wiese 888d0822bd Merge branch 'MDL-47806' of github.com:mr-russ/moodle 2014-11-04 14:34:43 +08:00
Damyon Wiese 0c4a7f96cc Merge branch 'MDL-47810_master-fix-MDL-47758-changes' of git://github.com/dmonllao/moodle 2014-11-04 14:17:46 +08:00
Zachary Durber 50e30bd4e3 MDL-47893 gradebook: Progress bar and continues for grade saving.
When you save a grade you are notified of how many grades have
been updated and any warnings.
2014-11-04 13:57:03 +08:00
Damyon Wiese 7a056947e3 Merge branch 'MDL-45636-course_master' of https://github.com/eSrem/moodle 2014-11-04 13:47:51 +08:00
David Monllao 0907f49b4e MDL-47810 tool_monitor: Updating behat scenarios introduced in MDL-47758 2014-11-04 12:23:42 +08:00
Marina Glancy 1d9155872f Merge branch 'MDL-48006-master' of git://github.com/damyon/moodle 2014-11-04 10:47:09 +08:00
Eloy Lafuente (stronk7) 990ebf08c7 Merge branch 'MDL-47883-master-foundlangfile' of git://github.com/mudrd8mz/moodle 2014-11-04 02:03:11 +01:00
Eloy Lafuente (stronk7) b53c2a92d0 Merge branch 'wip-MDL-47976-master' of git://github.com/marinaglancy/moodle 2014-11-04 01:59:23 +01:00
Eloy Lafuente (stronk7) ddb5bc5fcd Merge branch '47969-28' of git://github.com/samhemelryk/moodle 2014-11-04 01:56:59 +01:00
Eloy Lafuente (stronk7) 882f915922 Merge branch '47968-28' of git://github.com/samhemelryk/moodle 2014-11-04 01:55:08 +01:00
Petr Skoda 76ae1f6068 MDL-47868 ws: verify upload areas 2014-11-04 01:48:17 +01:00
Petr Skoda 7ee4642bcb MDL-48013 calendar: force download of user files 2014-11-04 01:40:52 +01:00
Eloy Lafuente (stronk7) bebd3ce8fc Merge branch 'MDL-47207_master' of git://github.com/dmonllao/moodle 2014-11-04 01:20:51 +01:00
Eloy Lafuente (stronk7) 1ebcb0080b Merge branch '47917-28' of git://github.com/samhemelryk/moodle 2014-11-04 00:03:42 +01:00
Damyon Wiese edc89dfecb MDL-47927 LTI: Use PARAM_TEXT and p() for returned messages and errors 2014-11-04 11:46:57 +13:00
Frederic Massart 5d0b3b21d6 MDL-47965 tag: Enforcing security of tag auto completion 2014-11-04 11:28:17 +13:00
David Monllao babaf596e1 MDL-47924 mod_lti: Fixing missing sesskey checkings
Also fixing a missing capability checking.
2014-11-04 11:00:51 +13:00
Yuliya Bozhko d0053d29ed MDL-47190 Ensure badges cannot be awarded without a role
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-11-04 10:16:45 +13:00
Frederic Massart eb46bf2f4e MDL-47321 iplookup: Prevent guest users from using iplookup 2014-11-04 10:01:43 +13:00
Adrian Greeve c4a6c65c1b MDL-47697 mod_data: Fix group id change when editing.
When a teacher edits an entry in the database module
it would change the group ID to the one that the teacher
currently had selected.

Thanks to Steve Bond for providing a patch.
2014-11-04 09:58:11 +13:00
Juan Leyva 40afeb4044 MDL-45303 Web Services: forum_discussions not checking groups 2014-11-03 21:55:03 +01:00
Juan Leyva a0095e5a89 MDL-47766 web services: get_grades exposes hidden grades to students 2014-11-04 09:13:46 +13:00
John Okely c844af2569 MDL-47921 mod_lti: Add access control to mod/lti/launch.php 2014-11-04 09:09:26 +13:00
Dave Cooper 40a0465823 MDL-47050 core_wordlist: Updated wordlist to include only animals. 2014-11-04 09:03:08 +13:00
Dan Poltawski 712b72c0f0 Merge branch 'MDL-47864_master' of git://github.com/dmonllao/moodle 2014-11-03 15:20:58 +00:00
Dan Poltawski 971163afaa Merge branch 'MDL-47810_master' of git://github.com/dmonllao/moodle 2014-11-03 15:03:51 +00:00
Dan Poltawski a46b057572 Merge branch 'MDL-47983_master' of git://github.com/dmonllao/moodle 2014-11-03 15:01:59 +00:00
Dan Poltawski 5904a6abe3 MDL-47361 tool_monitor: exit after printing footer 2014-11-03 14:21:50 +00:00
Dan Poltawski e3d86c322b Merge branch 'MDL-47361_master' of https://github.com/markn86/moodle
Conflicts:
	admin/tool/monitor/edit.php
	admin/tool/monitor/lang/en/tool_monitor.php
2014-11-03 13:55:31 +00:00
Dan Poltawski 1a27142afe Merge branch 'MDL-47903-master' of git://github.com/andrewnicols/moodle
Conflicts:
	mod/forum/version.php
    mod/forum/db/upgrade.php
2014-11-03 12:28:33 +00:00
Andrew Nicols a6d7a81271 MDL-48020 mod_forum: Add missing sesskey check in AJAX subscription 2014-11-03 11:02:41 +00:00
Marina Glancy 8bd6b270b2 Merge branch 'MDL-47987-master' of git://github.com/andrewnicols/moodle 2014-11-03 17:21:55 +08:00
Damyon Wiese ac87cab989 Merge branch 'MDL-48010' of git://github.com/timhunt/moodle 2014-11-03 17:15:25 +08:00
Petr Skoda 1993cc02b6 MDL-47287 prevent web access to phpunit boostrap 2014-11-03 17:10:33 +08:00
Marina Glancy d9fb78c981 Merge branch 'wip-mdl-45204-m' of git://github.com/rajeshtaneja/moodle 2014-11-03 17:03:57 +08:00
David Monllao 88f64b5111 MDL-47810 tool_monitor: action_link when there is only 1 option
When the rule plugin is not a module you can subscribe
to it without having to select to which module instance
you want to subscribe, so there is no need to display
a drop down menu.
2014-11-03 15:22:24 +08:00
Andreas Grabs b7f75a9c05 MDL-47865 mod_feedback - XSS through $searchstring in mod/feedback/mapcourse.php 2014-11-03 14:56:10 +08:00
Damyon Wiese c3a0452a5b MDL-47926 LTI: Fix missing sesskey checks and add content type headers to redirect 2014-11-03 14:43:54 +08:00
Damyon Wiese 219ebf9bb4 Merge branch 'wip-MDL-45538-master' of git://github.com/marinaglancy/moodle
Conflicts:
	version.php
2014-11-03 14:10:43 +08:00
Damyon Wiese f6b7d7322a Merge branch 'MDL-26447_master' of https://github.com/crazyserver/moodle 2014-11-03 13:50:38 +08:00
David Monllao 5cfaaf2d7a MDL-47983 tool_monitor: Removing only-for-admins restriction 2014-11-03 13:22:19 +08:00
Mark Nelson 8ad2de40b1 MDL-47361 tool_monitor: altered behat tests so they pass 2014-11-02 20:50:16 -08:00
Damyon Wiese 520a32c3d4 Merge branch 'wip_MDL-47966_m28_defaultheaders' of https://github.com/skodak/moodle 2014-11-03 12:20:58 +08:00
Damyon Wiese c942fddf93 MDL-48006 Atto autosave: Never restore text that is empty. 2014-11-03 11:30:30 +08:00
Mark Nelson 7293e97162 MDL-47361 tooL_monitor: string and UI changes 2014-11-02 19:05:29 -08:00
Sam Hemelryk cf03313342 Merge branch 'MDL-47465-master' of git://github.com/ankitagarwal/moodle 2014-11-03 15:30:08 +13:00
Ankit Agarwal c4e3e12884 MDL-47465 tool_monitor: Ignore used events
An event that has already contributed to a notification should not contribute to another notification for the same subscription.
This needs to be done so we do not overwhelm the user.
2014-11-03 07:18:13 +05:30
Ankit Agarwal 1af956998e MDL-47465 tool_monitor: add a new column to subs 2014-11-03 07:18:13 +05:30
Sam Hemelryk 1b5b97fac5 MDL-47917 cachestore_memcached: fixed get_many ordering 2014-11-03 14:08:25 +13:00
Sam Hemelryk 84d5a89c84 MDL-48026 usermenu: convert menu nowrap from CSS to method 2014-11-03 13:44:58 +13:00
Sam Hemelryk 8a375d27f2 MDL-48026 mod_quiz: convert menu nowrap from CSS to method 2014-11-03 13:35:29 +13:00
Sam Hemelryk a2a9468f01 MDL-48026 output: action_menu no wrap improvement
Action menu output component has a new method set_nowrap_on_items
that sets a property to toggle nowrap on menu items.
That can be used to avoid problems when the menu appears within
an absolutely positioned or floated element.
2014-11-03 13:34:02 +13:00
Sam Hemelryk ac4ed127de MDL-47978 mod_quiz: more explicit selector for action menu change 2014-11-03 11:39:30 +13:00
Sam Hemelryk 968cc37437 Merge branch 'MDL-47978' of git://github.com/timhunt/moodle 2014-11-03 11:27:55 +13:00
Sam Hemelryk f836166a8a MDL-48025 user: fixed typo in user_search HTML 2014-11-03 10:08:03 +13:00
Sam Hemelryk 70739e6e30 MDL-47969 mod_survey: fixed HTML5 validation of index.php 2014-11-03 08:55:12 +13:00
Sam Hemelryk e014b6f2c4 MDL-47968 mod_forum: fixed search form HTML5 validation 2014-11-03 08:54:56 +13:00
Eloy Lafuente (stronk7) bacbb4e279 MDL-47874 dml: add support for replace_all_text to oracle
And, at the same time, fix the implementation so all databases
will be using sql_substr() instead of harcoded "SUBSTRING".
2014-11-02 18:26:18 +01:00
Marina Glancy 41107173e4 MDL-46262 availability: validation of fields without value
Thanks to Tomasz Pawlik | CKO USl for the patch
2014-11-01 16:58:14 +08:00
Tim Hunt f9476f4d0e MDL-48010 grade import from URL: don't corrupt the URL. 2014-10-31 19:52:33 +00:00
Tim Hunt b4a40e451d MDL-48008 gradeimport_xml: report errors usefully 2014-10-31 19:52:31 +00:00
Tim Hunt 262105faf9 MDL-47978 quiz editing: fix display of last add menu 2014-10-31 18:23:45 +00:00
Eloy Lafuente (stronk7) 6863c0de49 Merge branch 'MDL-47892-master' of git://github.com/lameze/moodle 2014-10-31 18:57:30 +01:00
Tim Hunt 58413f613e MDL-47963 quiz editing: fix failing unit tests
The unit tests were initialising the structure class in a different way
from real use. That was clearly silly, so I got rid of create_for,
leaving just the real create_for_quiz.
2014-10-31 17:22:38 +00:00
Dan Poltawski 1de9b5072a Merge branch 'MDL-47797' of git://github.com/timhunt/moodle 2014-10-31 16:48:30 +00:00
Tim Hunt 234c5337f7 MDL-47797 quesion preview: improve the behat script
Tests a few more buttons, and also verify more of the UI.
2014-10-31 15:52:55 +00:00
Tim Hunt 40459677a0 MDL-47797 question preview: show more technical info
It is helpful for developers creating question types (at least) to be
able to see this.
2014-10-31 15:52:54 +00:00
Dan Poltawski b4eaafd744 Merge branch 'MDL-47963' of git://github.com/timhunt/moodle 2014-10-31 13:14:59 +00:00
David Mudrák fb1f2b9b27 MDL-47883 admin: Fix missing string in the plugin validation 2014-10-31 12:54:22 +01:00
Dan Poltawski 9ebee5df8e on-demand release 2.8beta+ 2014-10-31 09:09:03 +00:00
Mark Nelson eb0aabde73 MDL-47758 tool_monitor: altered behat tests so they pass 2014-10-31 01:16:10 -07:00
Mark Nelson c4701daa75 MDL-47758 tool_monitor: prevent DB error when revisiting a delete URL 2014-10-31 01:16:10 -07:00
Rajesh Taneja 54957bdbf7 MDL-45204 phpunit: Fixed test_localcachedir test
make_localcache_directory is the first call to make
localcache, which is already created by reset. So deleting
existing localcache directory will pass this test
2014-10-31 16:07:47 +08:00
Dave Cooper c7ef2c4c63 MDL-47982 gradebook: Remove tabindex from all elements. 2014-10-31 16:06:46 +08:00
Mark Nelson a724ceb99f MDL-47919 tool_monitor: only use set_label() on valid object 2014-10-31 00:56:47 -07:00
Marina Glancy 2e7eca137c MDL-47976 tool_monitor: fix ordering in unittest 2014-10-31 15:25:54 +08:00
Simey Lameze ed9084f70b MDL-47892 tool_monitor: add count_rule_subscriptions method and unit tests 2014-10-31 15:10:19 +08:00
Simey Lameze 107b55bd74 MDL-47892 tool_monitor: disable plugin and event fields if theres subscriptions for the rule 2014-10-31 14:41:24 +08:00
Damyon Wiese d61dc26e12 MDL-47981 Grade single view: Prevent nasty scroll jumping. 2014-10-31 14:07:58 +08:00
David Monllao 0151ef57f5 MDL-47864 tool_monitor: Change edulevels
Considering that the most common use case
to manage rules is an admin CRUDing them.
2014-10-31 14:01:31 +08:00
David Monllao f5d3d0f498 MDL-47864 grade_report: Edulevels according to default user permissions 2014-10-31 14:01:30 +08:00
Andrew Nicols 2a9f525bcf MDL-47390 mod_forum: Correct check for groups when subscribing 2014-10-31 08:54:02 +08:00
Sam Hemelryk 1a14f8a6de MDL-47959 mod_quiz: fixed 0 questions bug 2014-10-31 13:35:25 +13:00
Andrew Nicols 4c34089889 MDL-47987 mod_forum: Users subscribe to discussions not forums
Correct language string which describes users subscribing to a discussion,
and use it when subscribing on post.
2014-10-31 07:51:48 +08:00
Sam Hemelryk 323ed3bbf0 Merge branch 'MDL-47875_master' of https://github.com/crazyserver/moodle 2014-10-31 11:15:12 +13:00
pau.ferrer-ocana 5ea0d026b0 MDL-47875 choice: chat module strings not required from Choice anymore
AMOS BEGIN
 CPY [chatintro,mod_chat],[description,mod_choice]
AMOS END
2014-10-30 22:41:23 +01:00
Sam Hemelryk 3ea5ff8941 Merge branch 'MDL-42875_master' of https://github.com/crazyserver/moodle 2014-10-31 10:27:46 +13:00
Tim Hunt 749606288e MDL-47990 qtype_multichoice: fix test response import/export 2014-10-30 18:19:45 +00:00
Dan Poltawski fca969b9bb Merge branch 'MDL-47972' of git://github.com/timhunt/moodle 2014-10-30 17:31:12 +00:00
Colin Chambers 77dca4d0a8 MDL-47972 mod_quiz: Fix new quiz on themes based on base. 2014-10-30 17:11:23 +00:00
David Monllao f31d564133 MDL-47950 course: Adding sesskey confirmation when duplicating activities 2014-10-30 16:58:45 +00:00
Dan Poltawski 0a92904c47 MDL-47918 forum: Coding style fix 2014-10-30 16:46:46 +00:00
Tim Hunt 6870a6b8d0 MDL-47963 quiz editing: block ajax edits once there are attempts 2014-10-30 16:24:55 +00:00
Dan Poltawski ebbf039d07 Merge branch 'MDL-47746-master' of git://github.com/zbdd/moodle 2014-10-30 15:39:46 +00:00
Dan Poltawski 665611454d Merge branch 'MDL-47896-master' of git://github.com/zbdd/moodle 2014-10-30 15:15:28 +00:00
Dan Poltawski fb9604d67c Merge branch 'MDL-47918-master' of git://github.com/andrewnicols/moodle 2014-10-30 14:31:38 +00:00
Dan Poltawski f976c8e468 Merge branch 'MDL-47959' of git://github.com/colchambers/moodle 2014-10-30 14:24:35 +00:00
Marina Glancy 08674d83c1 Merge branch 'MDL-25057-master' of git://github.com/andrewnicols/moodle 2014-10-30 17:14:09 +08:00
pau.ferrer-ocana afa0968d5d MDL-26447 gradebook: Default gradedisplaytype fixed for all locales 2014-10-30 09:43:43 +01:00
Dan Poltawski fe5c340197 Merge branch 'wip-MDL-47919-master2' of https://github.com/marinaglancy/moodle 2014-10-30 08:30:43 +00:00
Marina Glancy 89da9fa67b Merge branch 'MDL-47569_CC_Errors' of git://github.com/moodlerooms/moodle 2014-10-30 16:15:51 +08:00
Marina Glancy 61138e352d Merge branch '47970-28' of git://github.com/samhemelryk/moodle 2014-10-30 16:15:38 +08:00
Marina Glancy 9e432c22cd Merge branch 'MDL-47909-master' of git://github.com/andrewnicols/moodle 2014-10-30 16:15:10 +08:00
David Monllao 57a69e7151 MDL-46500 mod_data: Removing duplicate filemanager initialisations 2014-10-30 16:10:15 +08:00
Marina Glancy f1d3d8ccb3 Merge branch 'MDL-47310-master' of git://github.com/jethac/moodle 2014-10-30 14:22:48 +08:00
Marina Glancy 3dc7afc186 Merge branch 'MDL-47349-master' of git://github.com/andrewnicols/moodle 2014-10-30 14:19:52 +08:00
Marina Glancy 2f28c71186 Merge branch 'MDL-29873' of git://github.com/jmvedrine/moodle 2014-10-30 14:17:32 +08:00
Ben Kelada 848e04183f MDL-46500 filepicker: prevent error when element does not exist 2014-10-30 14:14:15 +08:00
Marina Glancy 376d0317f1 MDL-47919 tool_monitor: refer to fields by labels in behat 2014-10-30 14:03:10 +08:00
Zachary Durber 7c5721f915 MDL-47746 gradebook: Visual bug fix for Scales in Singleview. 2014-10-30 14:00:44 +08:00
Andrew Nicols 02cf3958d2 MDL-47909 mod_forum: Respect user autosubscribe setting on post
Re-appropriate the forum autosubscribe setting as a discussion
autosubscribe setting.

The setting was no longer used after the per-discussion changes. The
original plan had been to remove this setting, but there is some benefit to
respecting it for discussion subscriptions instead.
2014-10-30 13:36:06 +08:00
Jetha Chan 43cd76e848 MDL-47310 gradebook: accessibility improvements 2014-10-30 13:28:15 +08:00
Zachary Durber 70d0de18d6 MDL-47896 gradebook: Fix for non-overridden grades. 2014-10-30 13:26:44 +08:00
Andrew Nicols 611a5ef714 MDL-25057 mod_forum: Stop duplicating forum_read posts from cron
This also includes an upgrade script to delete the existing duplicates.
2014-10-30 13:23:29 +08:00
David Monllao b2b70eea49 MDL-47207 mod_forum: Unifying criteria 2014-10-30 12:50:17 +08:00
Andrew Nicols a54702b234 MDL-47903 mod_forum: Correct test fails related to caching and time
This adds a reset of the discussion and forum cache when running the mail
and maildigest tests.

These test fails were highlighted by the addition of new tests which
add similar post ids.
2014-10-30 12:02:35 +08:00
Andrew Nicols eb451c7981 MDL-47903 mod_forum: Add discussion subscription time
This helps us to only send notifications for messages the user should have
already seen.
2014-10-30 12:02:34 +08:00
Rajesh Taneja b7ff40301d MDL-47960 behat: Fixed message node navigation
in i_send_message_to_user, we should use navigation node
step, as there might be multiple links with same name.
2014-10-30 10:56:56 +08:00
Dan Poltawski 490d009a57 MDL-47960 messages: behat failures caused by user menu 2014-10-30 10:56:17 +08:00
Dan Poltawski e0a1801e27 MDL-47960 badges: behat failures caused by usermenu 2014-10-30 10:56:16 +08:00
Dan Poltawski 6469803f68 MDL-47960 behat: fix my private files navigation
Caused by the my private files link being in user menu too..
2014-10-30 10:56:16 +08:00
Sam Hemelryk 0025296f19 MDL-47970 mod_scorm: fixed HTML5 validation error 2014-10-30 14:56:15 +13:00
Andrew Nicols 41e62a9093 MDL-47349 gradereport: Use category title on report 2014-10-30 09:53:36 +08:00
Andrew Nicols 4e3af3cf42 MDL-47390 mod_forum: Add discussion unsub to email footer 2014-10-30 09:07:36 +08:00
Petr Skoda 3c98b7a5ad MDL-47966 Add default content type and encoding 2014-10-30 11:38:07 +13:00
Colin Chambers 6375e98cbb MDL-47959 Number of questions not updated dynamically in new quiz edit page 2014-10-29 16:26:49 +00:00
Dan Poltawski 4f82670250 Merge branch 'wip_MDL-40949_m28_pathsettings' of https://github.com/skodak/moodle 2014-10-29 13:04:46 +00:00
Dan Poltawski 5d5e545fc7 Merge branch 'MDL-47945-master' of git://github.com/jethac/moodle 2014-10-29 12:56:03 +00:00
Dan Poltawski b373c35071 Merge branch 'wip-MDL-47919-master' of git://github.com/marinaglancy/moodle 2014-10-29 12:42:55 +00:00
Dan Poltawski 290bcd3476 MDL-47368 fix trailing whitespace 2014-10-29 11:20:29 +00:00
Dan Poltawski 0af29b0383 Merge branch 'MDL-47368' of git://github.com/timhunt/moodle 2014-10-29 11:18:15 +00:00
Michael Aherne 48242bf33f MDL-47793 assign: Reset reveal identities 2014-10-29 11:18:06 +00:00
pau.ferrer-ocana a09a837f20 MDL-42875 users: Show only profile visible roles on participants list 2014-10-29 11:24:19 +01:00
Julien Boulen 9b45b74e8f MDL-47584 database SQL: add debug info on connection error notices 2014-10-29 16:59:56 +08:00
Damyon Wiese 60c1108c30 Merge branch 'wip-MDL-47647-master' of git://github.com/abgreeve/moodle 2014-10-29 16:18:03 +08:00
Marina Glancy 72dbe74e7e Merge branch 'MDL-47916-master' of git://github.com/jleyva/moodle 2014-10-29 16:15:07 +08:00
Damyon Wiese 520bcbb9ab Merge branch 'MDL-47946-master' of git://github.com/andrewnicols/moodle 2014-10-29 15:53:17 +08:00
Damyon Wiese e562a1b25b Merge branch 'MDL-46219' of https://github.com/dkns/moodle 2014-10-29 15:37:47 +08:00
Damyon Wiese 7154f954c7 Merge branch 'MDL-47755_master' of https://github.com/totara/openbadges 2014-10-29 15:31:58 +08:00
Marina Glancy 941de29601 MDL-45538 files: restore missing records in draft areas 2014-10-29 15:26:54 +08:00
Damyon Wiese 3c459b6300 Merge branch 'wip-MDL-47796-master' of git://github.com/abgreeve/moodle 2014-10-29 15:15:14 +08:00
Damyon Wiese 412430c392 Merge branch 'MDL-47805-master' of git://github.com/ankitagarwal/moodle 2014-10-29 14:46:06 +08:00
Damyon Wiese cf63799155 Merge branch 'MDL-47227_master' of https://github.com/crazyserver/moodle 2014-10-29 14:44:08 +08:00
Damyon Wiese 857c7b4986 Merge branch 'MDL-47201-master' of git://github.com/xow/moodle 2014-10-29 14:24:28 +08:00
Adrian Greeve 7e7715fb6b MDL-47796 mod_data: Fix display of group records.
When viewing entries as a teacher in separate group
mode, changing the group would result in random
entries being shown.
2014-10-29 13:52:29 +08:00
Jetha Chan 8744529ff6 MDL-47945 mod_forum: neighbour links at bottom of discussion 2014-10-29 13:46:46 +08:00
Damyon Wiese cf13ece570 Merge branch 'MDL-47898-master' of git://github.com/andrewnicols/moodle 2014-10-29 13:36:17 +08:00
Damyon Wiese e30a684a4b Merge branch 'master_MDL-33939' of https://github.com/danmarsden/moodle 2014-10-29 13:23:28 +08:00
Damyon Wiese 5bfca73e5d Merge branch 'wip-MDL-46517-master' of git://github.com/marinaglancy/moodle 2014-10-29 13:01:35 +08:00
Damyon Wiese d7c1945472 Merge branch 'wip-MDL-40343-master' of git://github.com/ds125v/moodle
Conflicts:
	mod/forum/styles.css
2014-10-29 12:53:21 +08:00
Andrea Bicciolo 087be6ca90 MDL-47201 Reports: Read from multiple log stores in outline report 2014-10-29 12:49:12 +08:00
Andrew Nicols 8271c89a94 MDL-47946 mod_forum: Correct strings in behat features
These are a regression from MDL-46215.
2014-10-29 12:01:41 +08:00
Andrew Nicols 0d7cb0f805 MDL-47930 mod_forum: Display all forum statuses correctly
It is possible for users with the mod/forum:managesubscriptions to
subscribe to forums with subscription disabled. This is handled by
forum_get_subscribe_link() already and should have been handled here all
along.
2014-10-29 11:52:54 +08:00
Damyon Wiese d9033c0e6d Merge branch 'MDL-47835_master' of git://github.com/dmonllao/moodle 2014-10-29 11:19:46 +08:00
David Monllao 3c26a30799 MDL-47835 block_recent_activity: Same entry keys order
insert_records() is sensitive to the order of the keys
assigned to the inserted objects (inserted as arrays in
this case). Now keys are assigned using the same order.
2014-10-29 10:54:11 +08:00
Marina Glancy a0ef87de1f MDL-46517 calendar: adjust display for DST
Thanks to Jo Matthews for providing a patch
2014-10-29 10:31:28 +08:00
Corey Wallis 91465b5095 MDL-46517 calendar: adjust dates for DST
Change-Id: I269382031e4ffa714396f3d9ce2315a5c96d929c
2014-10-29 10:31:28 +08:00
Damyon Wiese 4d0fe0ec94 Merge branch 'wip-MDL-36987-master' of git://github.com/marinaglancy/moodle 2014-10-29 10:20:47 +08:00
Petr Skoda 5aaac8b2d6 MDL-40949 admin: Fix $CFG->preventexecpath hints
This setting restricts all local paths, not just
executables.
2014-10-29 10:45:44 +13:00
Tim Hunt e3d3e1e652 MDL-47368 quiz editing: fix icon url generation. 2014-10-28 18:45:17 +00:00
Dan Poltawski 32a69a7d7a on-demand release 2.8beta+ 2014-10-28 12:32:50 +00:00
Dan Poltawski 3f80a7edce Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-10-28 12:32:48 +00:00
Dan Poltawski ac3d43b6ec Merge branch 'MDL-47877-master' of git://github.com/andrewnicols/moodle 2014-10-28 12:25:27 +00:00
Dan Poltawski 08f289c617 MDL-47703 fix trailing whitespace 2014-10-28 12:21:30 +00:00
Dan Poltawski 31d6d2ae41 Merge branch 'MDL-47703-master' of git://github.com/FMCorz/moodle 2014-10-28 11:40:27 +00:00
Tim Hunt 08ab7a3c10 MDL-47368 core JS: dragdrop click move fills the dom with divs
Every time you click the move icon, it builds a new dialogue with a list
of drop targets, but it never discards the old ones. Not only does this
fill the DOM with junk, but it also causes Behat tests to fail, since
the old dialogues come first, and are hidden, but contain links with the
same text that you are trying to click.
2014-10-28 11:32:44 +00:00
Colin Chambers a69f81f0d3 MDL-47368 Edit quiz: page should not reload so often
The approach is that we have a new JavaScript function
M.mod_quiz.resource_toolbox.reorganise_edit_page which, after a ajax
action, fixes up everything like page breaks, page and question numbers,
that might now be wrong.

We call that function instead of reloading the page.

Also, there are a lot more Behat tests to verify this works correctly.

AMOS BEGIN
 MOV [joinpages,mod_quiz],[removepagebreak,mod_quiz]
 MOV [splitpages,mod_quiz],[addpagebreak,mod_quiz]
AMOS END
2014-10-28 11:32:42 +00:00
Marina Glancy b5478757c6 Merge branch 'MDL-47889-master' of git://github.com/FMCorz/moodle 2014-10-28 17:55:06 +08:00
Marina Glancy 001652d743 Merge branch 'wip-mdl-47850-m' of git://github.com/rajeshtaneja/moodle 2014-10-28 17:26:57 +08:00
Marina Glancy cc37a58d06 MDL-47919 tool_monitor: adjustments to behat tests 2014-10-28 17:17:00 +08:00
Andrew Nicols 7545e84661 MDL-47877 mod_forum: Correct subscription options for forums
Test was the wrong way around when checking subscription state.
2014-10-28 15:57:12 +08:00
Marina Glancy 45b7a397bb Merge branch 'MDL-46215-master-fixes' of git://github.com/andrewnicols/moodle 2014-10-28 15:37:05 +08:00
Pau Ferrer Ocaña 912296ad30 MDL-47227 admin: Fix user bulk selection over 1000 2014-10-28 08:34:01 +01:00
Andrew Nicols 79b4fb1282 MDL-46215 mod_forum: Only add text on discussion view
Do not show the status text in the thread list.
2014-10-28 14:27:05 +08:00
Frederic Massart d9e879e5d1 MDL-47889 tool_monitor: Test handles random DB ordering
On Oracle, the subscriptions are not ordered in the same way
than in other DB engines, so we do not rely on that ordering
any more in the test.
2014-10-28 13:52:45 +08:00
Andrew Nicols 1d8e8494bf MDL-47918 mod_forum: Unsubscribe all - remove discussion subscriptions 2014-10-28 13:29:51 +08:00
Rajesh Taneja b159589d9b MDL-47850 message_airnotifier: Fixed airnotifier web service url 2014-10-28 13:24:03 +08:00
Sam Hemelryk db310f7737 Merge branch 'MDL-47870-master2' of git://github.com/ankitagarwal/moodle 2014-10-28 17:27:09 +13:00
Marina Glancy 7d79115f3d Merge branch '47914-28' of git://github.com/samhemelryk/moodle 2014-10-28 12:23:33 +08:00
Marina Glancy f173ae2014 Merge branch 'MDL-814-master' of git://github.com/danpoltawski/moodle 2014-10-28 12:23:23 +08:00
Ankit Agarwal d71e42d7e8 MDL-47870 tool_monitor: Fix event select dropdown 2014-10-28 09:49:08 +05:30
Damyon Wiese c5258dfa04 MDL-47559 User menu: version bump for new settings 2014-10-28 11:06:40 +08:00
Sam Hemelryk 45ad1693cd MDL-47183 post-integration fixes
* Fixed typo with context_module::instance
* Fixed use of $mod->get_context()
2014-10-28 15:59:59 +13:00
Damyon Wiese 5baf74a327 Merge branch 'MDL-47559-master' of git://github.com/jethac/moodle 2014-10-28 09:59:04 +08:00
Sam Hemelryk 77b31ba2ce Merge branch 'MDL-47183-master' of git://github.com/andrewnicols/moodle 2014-10-28 14:02:19 +13:00
Sam Hemelryk fc8977fbca MDL-47914 report_stats: better handling of user and mode 2014-10-28 11:52:41 +13:00
Juan Leyva f47eeafdfd MDL-47916 web services: Fixed invalid returned value type 2014-10-27 23:14:13 +01:00
Marina Glancy 960bb64a2e MDL-47585 stats: fixed incorrect user dropdown 2014-10-28 10:51:02 +13:00
Ray Morris 9f56cc3794 MDL-47902 mod_scorm: Inappropriate default values for SCORM 1.3 variables 2014-10-27 15:06:42 -05:00
Dan Poltawski f3206dfc36 MDL-814 forum: provide cancel button when posting
This is the way to clear atto drafts
2014-10-27 16:44:47 +00:00
AMOS bot 86bd173927 Automatically generated installer lang files 2014-10-28 00:05:34 +08:00
Dan Poltawski b5780fbd18 Merge branch 'MDL-46215-master' of git://github.com/andrewnicols/moodle 2014-10-27 14:51:04 +00:00
Jetha Chan b865a3e2d1 MDL-47559 user_menu: customusermenu setting 2014-10-27 20:04:45 +08:00
Andrew Nicols d5653c6968 MDL-47898 mod_quiz: Correct path when checking content_editable
Addresses a number of issues when using the text editor in a quiz using
secure mode.
2014-10-27 19:23:56 +08:00
Adrian Greeve afc3431413 MDL-47647 lib: Fix message unit test failure.
Messaging unit tests on Windows were failing because
of a comparison between two file paths. Part of the
path would have a forward slash instead of a backslash
and so would fail.
2014-10-27 16:35:06 +08:00
Dan Poltawski 7c636855e2 Merge branch 'MDL-47839-master' of git://github.com/FMCorz/moodle 2014-10-27 08:01:33 +00:00
Frederic Massart f2823ec4bc MDL-47839 core_grades: Minor styling improvements to setup/user report 2014-10-27 15:59:21 +08:00
Dan Poltawski 77733e6b89 Merge branch 'wip-mdl-47676-m' of https://github.com/rajeshtaneja/moodle 2014-10-27 07:47:07 +00:00
Dan Poltawski a1ac634692 Merge branch 'MDL-47734-master-fixes' of git://github.com/andrewnicols/moodle 2014-10-27 07:40:06 +00:00
Rajesh Taneja d6040f0366 MDL-47676 core_grades: reset is hidden in menu, using proper step 2014-10-27 15:21:11 +08:00
Damyon Wiese 837862579e Merge branch 'm28_MDL-47210_IIS_PATH_INFO_Ignored_In_Required_Login_Pluginfile_Redirect' of https://github.com/scara/moodle 2014-10-27 13:58:15 +08:00
Frederic Massart 37fc69a019 MDL-47703 core_grades: Behat test for (non) aggregated scales 2014-10-27 13:00:58 +08:00
Andrew Nicols 517e17826b MDL-46215 mod_forum: Improve style of subscription state
With the implementation of per-discussion subscription, the current
discussion's subscription state must be shown.

Since this state belongs to the discussion rather than the forum, it
should be shown accordingly.  This change therefore includes the addition
of the discussion name as a heading on the page.
2014-10-27 12:37:05 +08:00
Dave Cooper d7f9acc46a MDL-47833 core: Change default expiry for message inbound handlers 2014-10-27 11:53:33 +08:00
Marina Glancy f2bec5d9ba Merge branch 'MDL-47850-master' of git://github.com/jleyva/moodle 2014-10-27 11:52:35 +08:00
Marina Glancy a8668e161a Merge branch 'MDL-47882_scorm_loadsco_invalid_html' of git://github.com/MorrisR2/moodle 2014-10-27 11:52:18 +08:00
Damyon Wiese ae0711d861 MDL-47690 Course: Remove unused variable from unit tests. 2014-10-27 11:26:35 +08:00
Frederic Massart 8b5c454562 MDL-47703 core_grades: Prevent use of weights with non-aggregated scales 2014-10-27 11:23:54 +08:00
Andrew Nicols 2af57bdbc5 MDL-47734 core: Do not set scrolltop on fixed dialogues
Fixed position dialogues use a different xy positioning than standard
dialogues so cannot use the scrollTop positioning method.
2014-10-27 11:22:30 +08:00
Damyon Wiese d2dbc373f8 Merge branch 'MDL-47690-master' of git://github.com/jleyva/moodle 2014-10-27 11:11:53 +08:00
Damyon Wiese 2b97417296 Merge branch 'wip-MDL-30358-master' of git://github.com/marinaglancy/moodle 2014-10-27 10:30:44 +08:00
Matteo Scaramuccia ce1cc198bb MDL-47210 Files API: IIS, PATH_INFO ignored in required login redirect. 2014-10-26 08:03:27 +01:00
Ray Morris a53bf3a031 MDL-47882 SCORM: invalid HTML in loadSCO.php 2014-10-24 16:45:32 -05:00
Dan Poltawski 42b6b39136 Merge branch 'MDL-46088-master' of git://github.com/timhunt/moodle 2014-10-24 17:10:56 +01:00
Dan Poltawski 8d1c5eceb3 Merge branch 'MDL-47545-master' of git://github.com/jleyva/moodle 2014-10-24 16:40:06 +01:00
Juan Leyva 3ca3d259e5 MDL-47545 web services: Allow cross origin requests for file downloads 2014-10-24 17:10:44 +02:00
Dan Poltawski cb1bc5eb6b Merge branch 'MDL-46712-master' of git://github.com/jethac/moodle 2014-10-24 15:37:26 +01:00
Dan Poltawski f6dbc2bb9c Merge branch 'MDL-47782-master' of git://github.com/lameze/moodle
Conflicts:
	admin/tool/monitor/lang/en/tool_monitor.php
2014-10-24 15:25:42 +01:00
Dan Poltawski 22ef599c5d Merge branch 'MDL-47780_master' of https://github.com/markn86/moodle 2014-10-24 15:19:48 +01:00
Dan Poltawski 519fd3dd4c Merge branch 'wip-MDL-47760-master' of git://github.com/marinaglancy/moodle 2014-10-24 15:18:32 +01:00
Dan Poltawski d6eff32be0 Merge branch '46518-28' of git://github.com/samhemelryk/moodle 2014-10-24 15:16:55 +01:00
Dan Poltawski 0b03353433 Merge branch 'MDL-47804' of git://github.com/aolley/moodle 2014-10-24 15:14:53 +01:00
Dan Poltawski 7638a4366f Merge branch '47608-28' of git://github.com/samhemelryk/moodle 2014-10-24 15:12:59 +01:00
Frederic Massart 20942dd702 MDL-47397 assignfeedback_editpdf: Copy stamps to other students in team
During a team submission the stamps were attached to the user that
was graded and not to the other users. This could lead to errors when
generating the PDF for each user.
2014-10-24 15:09:06 +01:00
Frederic Massart 47ff1cd93b MDL-47397 assignfeedback_editpdf: Tests use reliable way to annotate PDF
The drag and drop step did not work, so we moved to using the stamps
to annotate the PDF. They do not rely on drag&drop and produce the same
effects.
2014-10-24 15:09:06 +01:00
Frederic Massart aad194b19a MDL-47397 editor_atto: Properly close confirm dialogue in Behat test 2014-10-24 15:09:06 +01:00
Dan Poltawski e29ec53238 Merge branch 'MDL-47778_master' of https://github.com/markn86/moodle 2014-10-24 14:53:21 +01:00
Andrew Nicols 71bc139d63 MDL-47802 mod_forum: Check for required subscription capabilities
Users must be able to both view, and manage their subscription in order to
subscribe or be subscribed to a discussion.
2014-10-24 14:44:21 +01:00
Andrew Nicols 0603df04da MDL-47802 mod_forum: Include discussion subscriptions when moving
Check for both forum, and discussion subscriptions when moving a discussion
to a different forum.
2014-10-24 14:44:21 +01:00
Zachary Durber 5b2571547f MDL-47873 gradebook: Fix for missing override checkboxes. 2014-10-24 14:39:20 +01:00
Dan Poltawski 6c6375e438 Merge branch 'MDL-47866-master' of git://github.com/andrewnicols/moodle
Conflicts:
	version.php
2014-10-24 14:34:09 +01:00
Dan Poltawski 7dc62ed3cb Merge branch 'wip-MDL-47676-master' of git://github.com/abgreeve/moodle 2014-10-24 14:30:44 +01:00
Dan Poltawski 1429a25cd8 Merge branch 'MDL-47734-master' of git://github.com/andrewnicols/moodle 2014-10-24 14:13:59 +01:00
Dan Poltawski d63a81c507 on-demand release 2.8beta+ 2014-10-24 11:15:32 +01:00
Damyon Wiese 4bb46504ee Merge branch 'wip-MDL-47542-master' of git://github.com/marinaglancy/moodle 2014-10-24 11:49:19 +02:00
Marina Glancy 079b2e5202 MDL-47542 core_grades: action menu for grade setup 2014-10-24 11:49:19 +02:00
Marina Glancy 4ea3258af9 Merge branch 'MDL-47813-master' of git://github.com/xow/moodle 2014-10-24 11:49:18 +02:00
John Okely 4809376f13 MDL-47813 tool_monitor: Fix rule manager unit tests in oracle 2014-10-24 11:49:18 +02:00
Damyon Wiese 996de187a5 MDL-47704 Grades: Behat fix - dropped items have no contribution
We see "-" instead of "0.00 %"
2014-10-24 11:49:17 +02:00
Damyon Wiese d8e98c3178 Merge branch 'MDL-47637-master-fixup' of https://github.com/FMCorz/moodle 2014-10-24 11:49:17 +02:00
Marina Glancy 681276aad2 Merge branch 'MDL-47838-master-fix3' of https://github.com/damyon/moodle 2014-10-24 11:49:16 +02:00
Frederic Massart 2eb60f110d MDL-47637 core_grades: Remove extra credit field in outcome test 2014-10-24 11:49:16 +02:00
Andrew Nicols 504d0a1821 MDL-47513 theme_base: Fix grader report when blocks are docked 2014-10-24 11:49:15 +02:00
Damyon Wiese 0ce4642864 MDL-47838 gradereport_singleview: Reuse get_element_header instead of rolling our own.
This means the grade.php / index.php is kept in one place.
2014-10-24 11:49:15 +02:00
Marina Glancy c785cc9893 Merge branch 'MDL-47340-master' of git://github.com/jethac/moodle 2014-10-24 11:49:11 +02:00
Damyon Wiese d700fa463e Merge branch 'MDL-47838-master' of git://github.com/zbdd/moodle 2014-10-24 11:48:25 +02:00
Damyon Wiese 0b9635cba4 Merge branch '46499-28' of git://github.com/samhemelryk/moodle 2014-10-24 11:48:24 +02:00
Zachary Durber 237f76ce14 MDL-47838 gradebook: Singleview fix for invalid links. 2014-10-24 11:48:24 +02:00
Sam Hemelryk fad1a02d21 MDL-46332 fixed whitespace 2014-10-24 11:48:23 +02:00
Sam Hemelryk a1428d4be6 Merge branch 'MDL-46332-grouping-remove-button-master' of git://github.com/DanBennettUK/moodle 2014-10-24 11:48:23 +02:00
Sam Hemelryk 065448834c Merge branch 'wip-MDL-47757-master' of git://github.com/abgreeve/moodle 2014-10-24 11:48:22 +02:00
Sam Hemelryk fc91acc813 Merge branch 'MDL-47738-master' of git://github.com/FMCorz/moodle 2014-10-24 11:48:22 +02:00
Sam Hemelryk 614820522f Merge branch 'm28_MDL-47632' of https://github.com/totara/moodle 2014-10-24 11:48:21 +02:00
Sam Hemelryk 7117571c34 Merge branch 'MDL-47555' of https://github.com/rlorenzo/moodle 2014-10-24 11:48:21 +02:00
Sam Hemelryk 1e97569713 Merge branch 'wip_MDL-47795_master' of git://github.com/gjb2048/moodle 2014-10-24 11:48:20 +02:00
gdharris ee19ae694a MDL-46853 calendar: fix import of no duration events 2014-10-24 11:48:20 +02:00
Dan Poltawski 0255780b9c Merge branch 'MDL-47791' of git://github.com/timhunt/moodle 2014-10-24 11:48:19 +02:00
Dan Poltawski a5f9fc6be3 Merge branch 'MDL-47815-master' of git://github.com/damyon/moodle 2014-10-24 11:48:19 +02:00
Damyon Wiese 8112670d62 MDL-47815 assign: Fix random unit test fails
This test was failing when it was run really slowly (looking at you oracle).
2014-10-24 11:48:18 +02:00
Dan Poltawski ad968a36d6 Merge branch 'MDL-47847-master' of git://github.com/jleyva/moodle 2014-10-24 11:48:17 +02:00
Juan Leyva 938728739b MDL-47847 Web Services: Add messaging functions to the mobile service 2014-10-24 11:48:17 +02:00
Dan Poltawski 0ca7a4b75b Merge branch '47752-28' of git://github.com/samhemelryk/moodle 2014-10-24 11:48:16 +02:00
Dan Poltawski 3456ac3ba0 Merge branch '47684-28' of git://github.com/samhemelryk/moodle 2014-10-24 11:48:16 +02:00
Dan Poltawski 276af2a44d Merge branch 'MDL-47513-master' of git://github.com/andrewnicols/moodle 2014-10-24 11:48:15 +02:00
Dan Poltawski f335c9a1f1 Merge branch 'MDL-47637-master' of git://github.com/FMCorz/moodle 2014-10-24 11:48:15 +02:00
Dan Poltawski 4ade5b11b2 Merge branch 'MDL-47814-master' of git://github.com/FMCorz/moodle 2014-10-24 11:48:14 +02:00
Frederic Massart 3e5a4c9047 MDL-47814 core_grades: Improved coverage of user_graded event tests
The tests needed to use the API in order to trigger the user_graded
event that occurs when the course final grade has changed.
2014-10-24 11:48:14 +02:00
Dan Poltawski 4fdd69373b Merge branch 'MDL-47767-master' of git://github.com/xow/moodle 2014-10-24 11:48:13 +02:00
John Okely 6a6dd57c90 MDL-47767 tool_monitor: Use renderers for links between subscription and rule managers 2014-10-24 11:48:13 +02:00
Dan Poltawski fc533908b0 Merge branch 'MDL-20367-master' of git://github.com/damyon/moodle 2014-10-24 11:48:12 +02:00
John Okely 220602b7f0 MDL-47767 tool_monitor: Add links between subscribe and rule manager 2014-10-24 11:48:12 +02:00
Dan Poltawski 1153177851 Merge branch 'MDL-47499-master' of git://github.com/damyon/moodle 2014-10-24 11:48:11 +02:00
Marina Glancy 2a9bc5909d Merge branch 'MDL-47808-master' of git://github.com/andrewnicols/moodle 2014-10-24 11:48:11 +02:00
Marina Glancy bb030ebc2a Merge branch 'MDL-47689-master' of git://github.com/gurgus/moodle 2014-10-24 11:48:10 +02:00
Dave Cooper 368f0bf8f6 MDL-47689 user: Add duplicate field check to avoid oracle db error. 2014-10-24 11:48:10 +02:00
Marina Glancy c3b545a92a Merge branch 'wip-MDL-47675-master' of git://github.com/abgreeve/moodle 2014-10-24 11:48:09 +02:00
Marina Glancy 13c9e9c043 Merge branch 'MDL-47759-master' of git://github.com/ankitagarwal/moodle 2014-10-24 11:48:08 +02:00
Damyon Wiese 578d905ec0 Merge branch '47077-28' of git://github.com/samhemelryk/moodle 2014-10-24 11:48:08 +02:00
Frederic Massart 5dd0cb7bce MDL-47762 gradereport_user: Hide contribution and weights when relevant
The contribution and weight columns should be hidden when the course
total is because they can be used to compute the hidden course total.
2014-10-24 11:48:07 +02:00
Damyon Wiese 444ff60526 Merge branch 'MDL-47153_master' of https://github.com/markn86/moodle 2014-10-24 11:48:07 +02:00
Marina Glancy 3824556c9a Merge branch 'MDL-47704-master' of git://github.com/damyon/moodle 2014-10-24 11:48:06 +02:00
Marina Glancy 65504187d8 Merge branch 'MDL-47763-master' of git://github.com/damyon/moodle 2014-10-24 11:48:06 +02:00
Damyon Wiese 2c89eeeb8e Merge branch 'wip-MDL-43245-master-lang' of git://github.com/abgreeve/moodle 2014-10-24 11:48:05 +02:00
Damyon Wiese edffadfd1c MDL-47763 Grades: Handle the case when a grade category is hidden.
This was breaking the contribution column, which needs to know the
weights of all the categories up the tree, whether they are visible or
not.
2014-10-24 11:48:05 +02:00
Marina Glancy 1e3dc6ed9c Merge branch 'MDL-47836-master' of git://github.com/damyon/moodle 2014-10-24 11:48:04 +02:00
Adrian Greeve 780ff300a8 MDL-43245 mod_lesson: Add string for essay grading permission. 2014-10-24 11:48:04 +02:00
Marina Glancy b7840d4783 Merge branch 'MDL-47819-master' of git://github.com/jethac/moodle 2014-10-24 11:48:03 +02:00
Damyon Wiese f01972d95e MDL-47836 Grades: Fix the url for the upgraded grades warning page url. 2014-10-24 11:48:03 +02:00
Dan Poltawski ea4361b3a5 Merge branch 'MDL-47713-master-fix1' of http://github.com/damyon/moodle 2014-10-24 11:48:02 +02:00
Jetha Chan edcca18f8d MDL-47819 user_menu: fixed showing up in popups 2014-10-24 11:48:02 +02:00
Damyon Wiese bdb319a5b1 Merge branch 'MDL-47740' of git://github.com/timhunt/moodle 2014-10-24 11:48:01 +02:00
Damyon Wiese a7c37934cc MDL-47713 Grades: Fix new behat test after conversion from points to %
The contribution to course total column was changed from points to % but
this new test was submitted using points. It just needs the numbers converted
to %.
2014-10-24 11:48:01 +02:00
Damyon Wiese 721c6d397c Merge branch 'MDL-43245' of git://github.com/jmvedrine/moodle 2014-10-24 11:48:00 +02:00
Jean-Michel Vedrine 5fc6a9e77b MDL-43245 Lesson: non editing teacher cannot grade lesson essay 2014-10-24 11:48:00 +02:00
Dan Poltawski 7a811fb63a Merge branch 'MDL-47713-master' of git://github.com/damyon/moodle 2014-10-24 11:47:59 +02:00
Damyon Wiese 96ef037856 Merge branch 'MDL-32616' of git://github.com/timhunt/moodle 2014-10-24 11:47:59 +02:00
Eloy Lafuente (stronk7) e739fbcf27 Merge branch 'wip-MDL-47812-master2' of git://github.com/marinaglancy/moodle 2014-10-24 11:05:54 +02:00
Juan Leyva a7b572e29d MDL-47850 message_airnotifier: Incorrect Airnotifier Web Service URL 2014-10-24 10:40:06 +02:00
Juan Leyva e13c152e82 MDL-47690 web services: Fixed invalid return parameter type in mod_url 2014-10-24 09:54:35 +02:00
Simey Lameze 7bd88b0039 MDL-47782 tool_monitor: Added context column on rule management page.
AMOS BEGIN
CPY [context,message],[context,tool_monitor]
AMOS END
2014-10-24 15:41:45 +08:00
Marina Glancy d4a9e66130 MDL-47812 mod_lti: execute upgrade script for all DBs 2014-10-24 14:00:30 +08:00
Ankit Agarwal a8ea7cccce MDL-47805 tool_monitor: More info in adhoc task 2014-10-24 11:24:53 +05:30
Adam Olley 4ac478a3ed MDL-47804 events: calendar_event_updated needs to accept a timestart == 0 2014-10-24 15:34:30 +10:30
Andrew Nicols 107e82f6a6 MDL-47866 gradereport_grader: Remove border radius from cells 2014-10-24 11:54:56 +08:00
Mark Nelson 5e83b20527 MDL-47778 tool_monitor: changes made to get_user_courses_select()
The changes -

1) Ensure courses exist before we loop to avoid PHP warning.
2) Checked that the number of courses to display do not exceed the max setting.
3) Used format_string() instead of format_text().
4) Used the course context instead of system context.
2014-10-23 20:20:41 -07:00
Sam Hemelryk 00b568bd09 MDL-46332 fixed whitespace 2014-10-24 14:34:36 +13:00
Adrian Greeve 65e274d76f MDL-47676 core_grades: Behat test for negative weights. 2014-10-24 08:43:16 +08:00
Adrian Greeve cd5c7965e0 MDL-47676 core_grades: Negative positive weight combo working.
The combination of negative and positive weights was not normalising
properly.
2014-10-24 08:43:16 +08:00
Sam Hemelryk 68085f2bd5 Merge branch 'MDL-46332-grouping-remove-button-master' of git://github.com/DanBennettUK/moodle 2014-10-24 12:02:14 +13:00
Sam Hemelryk 29a3060265 Merge branch 'wip-MDL-47757-master' of git://github.com/abgreeve/moodle 2014-10-24 11:58:36 +13:00
Sam Hemelryk 124932d223 Merge branch 'MDL-47738-master' of git://github.com/FMCorz/moodle 2014-10-24 11:23:04 +13:00
Sam Hemelryk ef54717024 Merge branch 'm28_MDL-47632' of https://github.com/totara/moodle 2014-10-24 11:19:43 +13:00
Sam Hemelryk ec998f7487 Merge branch 'MDL-47555' of https://github.com/rlorenzo/moodle 2014-10-24 11:17:00 +13:00
Sam Hemelryk 18f1797517 Merge branch 'wip_MDL-47795_master' of git://github.com/gjb2048/moodle 2014-10-24 09:58:53 +13:00
gdharris 04f7dcebe4 MDL-46853 calendar: fix import of no duration events 2014-10-24 09:55:11 +13:00
Dan Poltawski 89df18c73d Merge branch 'MDL-47791' of git://github.com/timhunt/moodle 2014-10-23 17:30:28 +01:00
Dan Poltawski f01242a3b4 Merge branch 'MDL-47815-master' of git://github.com/damyon/moodle 2014-10-23 17:28:36 +01:00
Dan Poltawski a92008ed25 Merge branch 'MDL-47847-master' of git://github.com/jleyva/moodle 2014-10-23 16:35:50 +01:00
Dan Poltawski aed3a3430f Merge branch '47752-28' of git://github.com/samhemelryk/moodle 2014-10-23 16:31:24 +01:00
Dan Poltawski 9a3385cb2d Merge branch '47684-28' of git://github.com/samhemelryk/moodle 2014-10-23 16:31:08 +01:00
Dan Poltawski 25bd390b4b Merge branch 'MDL-47513-master' of git://github.com/andrewnicols/moodle 2014-10-23 16:17:49 +01:00
Dan Poltawski 7b57a751ae Merge branch 'MDL-47637-master' of git://github.com/FMCorz/moodle 2014-10-23 16:16:07 +01:00
Dan Poltawski 98122f9ad4 Merge branch 'MDL-47814-master' of git://github.com/FMCorz/moodle 2014-10-23 16:13:11 +01:00
Juan Leyva 0c5481e43d MDL-47847 Web Services: Add messaging functions to the mobile service 2014-10-23 15:24:07 +02:00
Dan Poltawski cd9f037e04 Merge branch 'MDL-47767-master' of git://github.com/xow/moodle 2014-10-23 10:50:01 +01:00
Dan Poltawski 7ea782ab3c Merge branch 'MDL-20367-master' of git://github.com/damyon/moodle 2014-10-23 10:41:58 +01:00
Dan Poltawski ec007900c0 Merge branch 'MDL-47499-master' of git://github.com/damyon/moodle 2014-10-23 10:19:53 +01:00
Juan Leyva 5e28991e78 MDL-47545 web services: Allow cross origin requests 2014-10-23 11:17:41 +02:00
Marina Glancy 36594faebb Merge branch 'MDL-47808-master' of git://github.com/andrewnicols/moodle 2014-10-23 17:16:44 +08:00
Marina Glancy aeeccb1697 Merge branch 'MDL-47689-master' of git://github.com/gurgus/moodle 2014-10-23 17:09:32 +08:00
Marina Glancy d129a0ffe9 Merge branch 'wip-MDL-47675-master' of git://github.com/abgreeve/moodle 2014-10-23 16:57:56 +08:00
Marina Glancy d3312bb6ac Merge branch 'MDL-47759-master' of git://github.com/ankitagarwal/moodle 2014-10-23 16:35:59 +08:00
Damyon Wiese 99cc87e913 Merge branch '47077-28' of git://github.com/samhemelryk/moodle 2014-10-23 16:09:29 +08:00
Frederic Massart 67ba66e1d2 MDL-47762 gradereport_user: Hide contribution and weights when relevant
The contribution and weight columns should be hidden when the course
total is because they can be used to compute the hidden course total.
2014-10-23 16:04:11 +08:00
Damyon Wiese 2fd07711e9 Merge branch 'MDL-47153_master' of https://github.com/markn86/moodle 2014-10-23 15:47:10 +08:00
Marina Glancy 05599c47cb Merge branch 'MDL-47704-master' of git://github.com/damyon/moodle 2014-10-23 15:45:54 +08:00
Marina Glancy 41d58f6f4c Merge branch 'MDL-47763-master' of git://github.com/damyon/moodle 2014-10-23 15:42:46 +08:00
Damyon Wiese 3a3fe4bf37 Merge branch 'wip-MDL-43245-master-lang' of git://github.com/abgreeve/moodle 2014-10-23 15:38:35 +08:00
Marina Glancy 653f6c23cb Merge branch 'MDL-47836-master' of git://github.com/damyon/moodle 2014-10-23 15:23:52 +08:00
Marina Glancy 18ebeed5e9 Merge branch 'MDL-47819-master' of git://github.com/jethac/moodle 2014-10-23 15:21:28 +08:00
Dan Poltawski bcd015bea6 Merge branch 'MDL-47713-master-fix1' of http://github.com/damyon/moodle 2014-10-23 08:18:31 +01:00
Dave Cooper 17472f57b9 MDL-47689 user: Add duplicate field check to avoid oracle db error. 2014-10-23 15:10:31 +08:00
Adrian Greeve 1785e49f26 MDL-43245 mod_lesson: Add string for essay grading permission. 2014-10-23 15:05:32 +08:00
Andrew Nicols d247a50113 MDL-47734 core: Prevent jumping of YUI dialogues
When a YUI dialogue was opened, it was focusing on the boundingBox, with
the browser moving the scroll position to focus on the top of the
boundingBox. This caused a jump. This only happens when the dialogue is
modal and consequentially has a maskNode present as it changes the initial
positioning behaviour of the boundingBox.

To avoid this, when the maskNode is shown, the dialogue is position at 0,0
in the current viewport. For centered dialogues, the dialogue is
automatically re-positioned after the window has shown. For non-centered
dialogues, the original position is stored and the dialogue is restored to
that position after it has been displayed.

This should not interfere with use of the align function as this will be
called later in the proceedings, after the show has run.
2014-10-23 14:44:14 +08:00
Damyon Wiese 99e455c7ea Merge branch 'MDL-47740' of git://github.com/timhunt/moodle 2014-10-23 14:24:47 +08:00
Damyon Wiese 54420a98b1 Merge branch 'MDL-43245' of git://github.com/jmvedrine/moodle 2014-10-23 13:52:15 +08:00
Damyon Wiese ed60e0eac5 MDL-47713 Grades: Fix new behat test after conversion from points to %
The contribution to course total column was changed from points to % but
this new test was submitted using points. It just needs the numbers converted
to %.
2014-10-23 13:37:24 +08:00
Damyon Wiese f9c90d8751 MDL-47763 Grades: Handle the case when a grade category is hidden.
This was breaking the contribution column, which needs to know the
weights of all the categories up the tree, whether they are visible or
not.
2014-10-23 13:26:40 +08:00
Damyon Wiese 79bf093ee2 Merge branch 'MDL-32616' of git://github.com/timhunt/moodle 2014-10-23 12:02:22 +08:00
Jetha Chan beb7456e3e MDL-47819 user_menu: fixed showing up in popups 2014-10-23 11:58:11 +08:00
Damyon Wiese f3d7cdffda MDL-47836 Grades: Fix the url for the upgraded grades warning page url. 2014-10-23 11:31:55 +08:00
Andrew Nicols 4a8c380abb MDL-47513 Fix RTL issues with grade report 2014-10-23 11:15:35 +08:00
John Okely 66f5e82b66 MDL-47767 tool_monitor: Use renderers for links between subscription and rule managers 2014-10-23 10:33:15 +08:00
John Okely 0cafac69f2 MDL-47767 tool_monitor: Add links between subscribe and rule manager 2014-10-23 10:33:15 +08:00
Andrew Nicols 555837c5d4 MDL-47808 mod_forum: Correct maxeditingtime for unit tests
The maxeditingtime needs to be a negative value for unit tests to ensure
that the messages are actually sent out.

Whilst fixing this I also discovered that the create_discussion part of the
generator also creates the first post.
2014-10-23 08:43:29 +08:00
Jean-Michel Vedrine d3c4d50f1f MDL-43245 Lesson: non editing teacher cannot grade lesson essay 2014-10-22 18:00:49 +02:00
Dan Poltawski e6afd45f96 Merge branch 'MDL-47713-master' of git://github.com/damyon/moodle 2014-10-22 10:49:07 +01:00
Frederic Massart 40a603c79d MDL-47814 core_grades: Improved coverage of user_graded event tests
The tests needed to use the API in order to trigger the user_graded
event that occurs when the course final grade has changed.
2014-10-22 16:53:16 +08:00
Damyon Wiese d1020cd5d4 MDL-47815 assign: Fix random unit test fails
This test was failing when it was run really slowly (looking at you oracle).
2014-10-22 16:49:00 +08:00
Damyon Wiese b0c5a9c491 MDL-47713 Grades: Update all the behat tests to use % in contribution column 2014-10-22 16:20:15 +08:00
Damyon Wiese 8950e7f535 on-demand release 2.8beta+ 2014-10-22 15:06:37 +08:00
Damyon Wiese 6a196cf14d NOBUG: Fixed file access permissions 2014-10-22 15:06:36 +08:00
Damyon Wiese 2746fbe47c Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-10-22 15:06:33 +08:00
Frederic Massart 6aeebc259a MDL-47637 core_grades: Outcomes must not be weighted when non aggregated 2014-10-22 14:58:17 +08:00
Damyon Wiese 718f179c22 Merge branch 'MDL-47706-master' of git://github.com/andrewnicols/moodle 2014-10-22 14:50:53 +08:00
Marina Glancy fca97cbec4 MDL-47673 grades: unittest change caused by generator change
Unit test was introduced in MDL-40697 when the generator for quiz activity was setting grade=0
2014-10-22 14:14:49 +08:00
Andrew Nicols bedcf338dc MDL-47706 gradebook: Update pageload time between changes
Since MDL-38732 we reject changes if another change has been made more
recently. As a result, if process_data is called, and then we roll into the
next millisecond period before process_data is called again, the change is
rejected.

Different errors were seen because the millisecond rollover occurred at
different time within the test.

Different error conditions were seen because not all of the tests check for
an error from the call to process_data(), instead just checking that the
value had been updated correctly.
2014-10-22 12:56:07 +08:00
Russell Smith 34f5a2bc4f MDL-47806: Add footer function for command line output. 2014-10-22 14:32:15 +11:00
Damyon Wiese 7a61e645c3 MDL-46527 Grades: Webservice only returns first activity grade. 2014-10-22 11:21:51 +08:00
Damyon Wiese 53f26095c6 Merge branch 'MDL-46527-master' of git://github.com/jleyva/moodle 2014-10-22 10:45:57 +08:00
Mark Nelson 8a0c649637 MDL-47153 tool_monitor: altered unit tests to pass 2014-10-21 16:00:26 -07:00
Mark Nelson 11c2bf3f73 MDL-47153 tool_monitor: added subscription_criteria_met event 2014-10-21 16:00:18 -07:00
Mark Nelson 1adb0031c0 MDL-47153 tool_monitor: added subscription_deleted event 2014-10-21 15:48:10 -07:00
Mark Nelson 229f841907 MDL-47153 tool_monitor: added subscription_created event 2014-10-21 15:48:10 -07:00
Mark Nelson 91df5f7e37 MDL-47153 tool_monitor: added rule_deleted event 2014-10-21 15:48:09 -07:00
Mark Nelson 12b9969ef9 MDL-47153 tool_monitor: added rule_updated event 2014-10-21 15:48:09 -07:00
Mark Nelson e9da23369f MDL-47153 tool_monitor: added rule_created event 2014-10-21 14:19:16 -07:00
AMOS bot e15766c19c Automatically generated installer lang files 2014-10-22 00:07:37 +08:00
Gareth J Barnard a024eaa5fc MDL-47795 SCORM: SCORM report not a report. 2014-10-21 15:37:31 +01:00
Tim Hunt cda62a3829 MDL-47791 question editing: remove permission info from above the form
This information is not really meaningful for users, and takes up prime
real-estate, so we are removing it.
2014-10-21 15:03:20 +01:00
Tim Hunt a8de866712 MDL-47740 question engine: let qs update variant later if appropriate
Variant has two purposes. First to determine which version of the
question the student will see. Hence it is used to set up the state
of the quetsion when the question is started. Then the internal state of
the question is saved in the first step.

Once that has been done, the variant number is purely informative, and
just used to break down the statistics.

In some cases (the one I have in mind is qtype_opaque) then there is a
complex randomisation process, which may lead to several inital variant
numbers acutally giving the same version of the question. In this case
it is nice if the question can update the stored variant number, to make
the statistics more meaningful.
2014-10-21 11:43:57 +01:00
Juan Leyva a7888487f0 MDL-46527 grades: grade_get_grades external function rewritten 2014-10-21 12:10:01 +02:00
Mark Nelson 6c271ab5e6 MDL-47780 core: corrected docs for get_user_capability_course() 2014-10-21 00:52:54 -07:00
Marina Glancy b1b66a3d12 Merge branch 'MDL-47736_master_fix2' of git://github.com/markn86/moodle 2014-10-21 15:49:10 +08:00
Mark Nelson 7b62567e85 MDL-47736 editor_atto: added fix for IE 9 and 10 2014-10-21 00:46:35 -07:00
Marina Glancy fb32a64efc Merge branch 'MDL-47736_master_fix' of git://github.com/markn86/moodle 2014-10-21 14:34:05 +08:00
Mark Nelson 3c15d25bcf MDL-47736 editor_atto: exclude <br> from being restored 2014-10-20 23:24:08 -07:00
Damyon Wiese fc9150cb0e MDL-47713 Grades: Change contribution column to a percent of grademax 2014-10-21 13:50:18 +08:00
Damyon Wiese a6396272f8 Merge branch 'wip_MDL-41593_m28_preventexecdefault' of https://github.com/skodak/moodle 2014-10-21 13:11:27 +08:00
Marina Glancy e94925ddd2 Merge branch 'MDL-47728_master' of git://github.com/markn86/moodle 2014-10-21 11:56:31 +08:00
Yuliya Bozhko 1f258cd8ce MDL-47755 badges: Fix internal message output
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-10-21 16:25:13 +13:00
Damyon Wiese a9a02e9170 MDL-20367 Grades: Allow real numbers as grade boundaries
Patch by Huy Hoang (I just git-ified it).
2014-10-21 11:15:39 +08:00
Marina Glancy 8b2d85406a Merge branch 'MDL-47400-master-2' of git://github.com/andrewnicols/moodle 2014-10-21 10:55:54 +08:00
Andrew Nicols 82e3440aec MDL-47400 gradereport_history: Fix string notempty test for Oracle 2014-10-21 10:48:28 +08:00
Sam Hemelryk 56f9e921f4 MDL-46133 tool_monitor: version bump for events 2014-10-21 15:22:10 +13:00
Sam Hemelryk 258d9af845 Merge branch 'm28_MDL-36669_UFO_references_in_filelib' of https://github.com/scara/moodle 2014-10-21 15:17:53 +13:00
Sam Hemelryk 7a126c94a4 Merge branch 'MDL-47739-master' of git://github.com/FMCorz/moodle 2014-10-21 14:44:01 +13:00
Sam Hemelryk 28f1bd0106 Merge branch 'MDL-47695' of git://github.com/timhunt/moodle 2014-10-21 14:42:36 +13:00
Sam Hemelryk 263f8cff7e Merge branch 'MDL-46133_master' of https://github.com/markn86/moodle 2014-10-21 14:39:34 +13:00
Matteo Scaramuccia 8045696b37 MDL-36669 Filters: Remove the last ref to the UFO library. 2014-10-20 23:17:50 +02:00
Dan Poltawski 96b1223387 Merge branch 'MDL-38172' of git://github.com/jmvedrine/moodle 2014-10-20 18:28:44 +01:00
Dan Poltawski 83b49754d3 Merge branch 'MDL-47400-master' of git://github.com/andrewnicols/moodle 2014-10-20 18:12:38 +01:00
Dan Poltawski cf3fbf8a0e Merge branch 'MDL-47664-master' of git://github.com/andrewnicols/moodle 2014-10-20 17:49:02 +01:00
Dan Poltawski 6c75bcb5d6 Merge branch 'MDL-47651' of git://github.com/timhunt/moodle 2014-10-20 17:44:33 +01:00
Dan Poltawski fb45249754 Merge branch 'MDL-47666' of git://github.com/timhunt/moodle 2014-10-20 17:31:20 +01:00
Dan Poltawski 6366cc0774 Merge branch 'MDL-47711' of git://github.com/timhunt/moodle 2014-10-20 17:28:50 +01:00
Dan Poltawski 30fac84578 Merge branch 'MDL-47726' of git://github.com/timhunt/moodle 2014-10-20 17:26:36 +01:00
Dan Poltawski 670b0d0283 Merge branch 'MDL-47691' of git://github.com/timhunt/moodle 2014-10-20 17:24:22 +01:00
Dan Poltawski 22c4db3ede Merge branch 'MDL-47673' of git://github.com/timhunt/moodle 2014-10-20 17:20:26 +01:00
Tim Hunt a3d5068083 MDL-47726 availability: fix tests when there is a text custom field
This unit tests assumed that on a fresh install, there were no custom
user-profile fields. Given some third-party plugins, that assumption is
false.
2014-10-20 16:15:34 +01:00
Tim Hunt 97ef7ea2ce MDL-47695 quiz editing: descritions don't have a max mark!
So don't show the UI for editing it.

Also, don't show non-functional page split/join icons after the quiz has
been attempted.
2014-10-20 15:30:35 +01:00
Dan Poltawski 11c6debb0a Merge branch 'MDL-47588' of git://github.com/timhunt/moodle 2014-10-20 14:30:46 +01:00
Tim Hunt d69a6ad965 MDL-47711 behat: make it easier to copy the init.php command. 2014-10-20 12:11:28 +01:00
Tim Hunt 1c2e05c060 MDL-47691 quiz: only warn re overdue attempts if a Q has been answered
If a quiz is set to have a grace period when time has expired, we only
email studnets to warn them about their overdue attempt if they have put
in an answer to at least one question that is worth some marks.
2014-10-20 12:11:10 +01:00
Tim Hunt 0233e2a973 MDL-47673 quiz generator: default grade 100 & fix review options
The review option defaults need to be like what you get from the editing
form, no what is stored in the database, or they don't work!
2014-10-20 12:11:01 +01:00
Tim Hunt a20d675250 MDL-47666 DB auth & enrol: unit tests fail with custom DB drivers
Changed to used $DB->get_db_family, rather than hard-coding the list of
class names.
2014-10-20 12:10:52 +01:00
Tim Hunt a40eaaa28f MDL-47651 quiz responses: allow for qtypes without responses 2014-10-20 12:10:43 +01:00
Tim Hunt 6f336f3602 MDL-47588 question behat tests: don't close the preview window.
If you do. Chrome + Selenium2 gets stuck (on Windows at least). Selenium
must be trying to send commands ot a window that does not exist any
more.
2014-10-20 12:10:15 +01:00
Tim Hunt a92105fd3f MDL-47588 behat: fix switching back to the main window in Chrome
This fix is mostly based on what Colin Chambers found out. This commit
is a simplification of his work.

The problem is that the Chrome / Selenium 2 integration cannot swich to
a window with a blank name. The work-around applied here is, when we
switch away from an unnamed window, we set a name on it. Then we can use
that name to switch back.
2014-10-20 12:10:14 +01:00
Tim Hunt cf256c05d8 MDL-32616 question engine: set_max_mark_in_attempts MySQL perf
The MySQL (& Maria DB) query 'optimizer' was failing to handle this
query, so for that DB only, we give it an equivalent query that it can
get right.

With unit test.
2014-10-20 12:06:39 +01:00
Tim Hunt 7ad0e2e654 MDL-32616 question engine: move unit test to better name 2014-10-20 12:06:38 +01:00
Jetha Chan 6287692843 MDL-47340 action_menu: selector, RTL, consistency fixes 2014-10-20 17:09:16 +08:00
Marina Glancy 2d2661e3d7 Merge branch 'MDL-47503-master' of git://github.com/damyon/moodle 2014-10-20 17:08:20 +08:00
Marina Glancy 24c11785b3 Merge branch 'wip_MDL-47754_m28_installredir' of git://github.com/skodak/moodle 2014-10-20 17:02:28 +08:00
Dan Bennett f181e4ac45 MDL-46332 : Display of 'Remove' button in Add/Remove Groups in Grouping
Fixed styling of Add/Remove Groups in Grouping to now use the same
layout as the Group Members page.
This fixes the issue with buttons being unaligned and introduces
consistency between pages.
2014-10-20 09:48:50 +01:00
Ankit Agarwal 5875e287a5 MDL-47759 tool_monitor: Fix permissions issue 2014-10-20 13:45:51 +05:30
Damyon Wiese eafab79941 MDL-47503 Grades: Display the notice about upgraded grades on all grade report pages.
Moved this to the print_grade_page_head function and added an access check so it only
displays for teachers.
2014-10-20 16:15:51 +08:00
Andrew Nicols a07ec4565f MDL-47400 gradereport_history: Ensure float precision is enforced
Format floats according to the grade item config.
2014-10-20 15:42:31 +08:00
Marina Glancy f75f2ecdf4 Merge branch 'MDL-47489-master' of git://github.com/FMCorz/moodle 2014-10-20 15:19:57 +08:00
Marina Glancy d90f0cab6d Merge branch 'MDL-47736_master' of git://github.com/markn86/moodle 2014-10-20 15:06:43 +08:00
Marina Glancy 1d67a8f209 Merge branch 'MDL-47725-master' of git://github.com/FMCorz/moodle 2014-10-20 15:06:29 +08:00
Adrian Greeve c42d18183a MDL-47675 phpunit: Update unit tests to pass on MSSQL
Unit tests were failing on MSSQL. gc_collect_cycles() was
removed from the phpunit utils.php file to save time in running
the tests, but MSSQL doesn't clean up open files as well as
other databases.

This patch includes the garbage collection for the unit tests
that require it.
2014-10-20 14:26:11 +08:00
Frederic Massart 263bf1a10f MDL-47725 gradereport_user: Only hide grades when they were altered
The method blank_hidden_total_and_adjust_bounds() now checks for more
than just a grade change, and in that cause would hide the grade. We
added a condition to only hide the grade when it effectively changed,
not when its other properties have.
2014-10-20 14:19:02 +08:00
Marina Glancy b3729c99aa Merge branch 'MDL-38065-fix-master' of git://github.com/jmarthaler/moodle 2014-10-20 14:08:06 +08:00
Marina Glancy 82c662d347 MDL-47760 grades: dim category name if hidden 2014-10-20 14:02:25 +08:00
Frederic Massart 40f874ce29 MDL-47489 core_grades: Behat tests covering contributions with extra credit 2014-10-20 13:52:18 +08:00
Frederic Massart 8427dc3a23 MDL-47489 core_grades: Adjust weights of extra credit items for Simple 2014-10-20 13:52:18 +08:00
Frederic Massart e8ac04c191 MDL-47489 core_grades: Adjust weights of extra credit items for Mean 2014-10-20 13:52:17 +08:00
Mark Nelson e924e1b33a MDL-47736 editor_atto: only save/restore draft when necessary 2014-10-19 22:14:15 -07:00
Marina Glancy c57681ed49 Merge branch 'MDL-47737-master' of git://github.com/FMCorz/moodle 2014-10-20 12:43:52 +08:00
Damyon Wiese 47d6e6a7d3 MDL-47503 Grades: Completely remove aggregationsubcats
This setting is not compatible with combinations of aggregation methods
and the ways in which it does and does not work are not documented. It
was voted to remove it completely by the gradebook workshop, so I have
completely removed it and added a warning for all affected courses + restored
backups.
2014-10-20 12:03:18 +08:00
Frederic Massart 86974893c8 MDL-47489 core_grades: Adjust weights of extra credit items for Natural 2014-10-20 11:50:43 +08:00
Frederic Massart 74d0ca1543 MDL-47739 form: Calendar widget causes unintentional focus and scroll 2014-10-20 10:55:49 +08:00
Adrian Greeve 3275892c03 MDL-47757 events: Fixed doc block and missing string.
The language events were missing the @since tag and
the grade single view report was missing a language
string.
2014-10-20 09:55:09 +08:00
Mark Nelson 4afd26a618 MDL-47735 mod_forum: added 'My profile' -> 'Forum posts' behat test 2014-10-19 18:44:22 -07:00
Petr Skoda f1cac3d515 MDL-47754 install: fix redirect loop 2014-10-20 12:52:35 +13:00
Sam Hemelryk 5c28d15985 MDL-46518 navigation: site glossaries now expand properly 2014-10-20 11:18:36 +13:00
Sam Hemelryk c1db791e98 MDL-47608 cachestore_mongo: fixed unit test error
If you configured your site to run mongo unit tests and had
the mongo extension and backend installed but did not have the
mongo service running you would get a fatal error when running
the unit tests.
That problem has been fixed by checking the mongo test instance
is ready before returning it.
2014-10-20 11:03:57 +13:00
Sam Hemelryk d5ae34a5a7 MDL-47077 report_participation: fixed pagination in groups 2014-10-20 11:01:04 +13:00
Sam Hemelryk 30aca4a74b MDL-46499 navigation: better enrolled course limit
We now user $CFG->navcourselimit to limit the number of
courses shown in the navigation when browsing another users
full profile. Previously it showed all courses which caused
some slowdown.
2014-10-20 10:58:40 +13:00
Sam Hemelryk ed7605f481 MDL-47752 grading: fixed bugs with the modgrade element 2014-10-20 10:32:13 +13:00
Sam Hemelryk d28e0a2f76 MDL-47684 mod: better validation of rating options 2014-10-20 08:44:35 +13:00
Mark Nelson 0b0a08e7b0 MDL-47728 tool_monitor: added capability check before displaying link 2014-10-18 20:15:35 -07:00
Jean-Michel Vedrine 814e381a47 MDL-29873 Lesson: Essays not shown on grade page with SQL server 2014-10-18 19:40:20 +02:00
Mark Nelson c62ba9b8ca MDL-47735 core: prevented iteration of 'groupmembersonly'
The course module variable 'groupmembersonly' was removed in 2.8.
2014-10-17 18:23:35 -07:00
Jean-Michel Vedrine 28928667a0 MDL-38172 Lesson: Additional Info not displayed at end of lesson 2014-10-17 17:04:57 +02:00
Dan Poltawski b49de5d930 on-demand release 2.8beta+ 2014-10-17 16:02:28 +01:00
Dan Poltawski cd2cfb5783 Merge branch 'MDL-47363' of git://github.com/marinaglancy/moodle 2014-10-17 14:46:30 +01:00
Dan Poltawski 9f67037a5f on-demand release 2.8beta+ 2014-10-17 14:32:19 +01:00
Dan Poltawski 624926e42c NOBUG: Fixed file access permissions 2014-10-17 14:32:19 +01:00
Dan Poltawski f6aaa184ab Revert "MDL-47684 mod: better validation of rating options"
This reverts commit 8028df293a.
2014-10-17 14:27:49 +01:00
Frederic Massart 53cca2274e MDL-47737 editor_atto: Prevent false negative when saving draft on IE9 2014-10-17 20:48:43 +08:00
Frederic Massart 2ccbcf0169 MDL-47738 gradereport_history: User selector handles broke with 0 user
It was impossible to reopen the dialogue when the last search result
did not return any user.
2014-10-17 19:34:16 +08:00
Dan Poltawski 9b4a87f7e6 Merge branch 'MDL-47733-master' of git://github.com/FMCorz/moodle 2014-10-17 11:44:58 +01:00
Frederic Massart 5aafc6f425 MDL-47733 editor_atto: Do not prompt error when draft is empty 2014-10-17 18:19:11 +08:00
Dan Poltawski bef6e88b5d Merge branch 'MDL-45843-master-fix1' of http://github.com/damyon/moodle 2014-10-17 09:34:39 +01:00
Dan Poltawski e435f174d3 Revert "MDL-44548 mod_scorm: force an external sync to check for updated files."
This reverts commit 2d9a4a5f93.
2014-10-17 09:30:38 +01:00
Damyon Wiese 7c2977bc5b MDL-45843 LTI: Fixes for sloppy form handling 2014-10-17 16:24:26 +08:00
Eloy Lafuente (stronk7) d8e909dc10 Merge branch 'MDL-47655-master-fix1' of git://github.com/damyon/moodle 2014-10-17 09:37:55 +02:00
Marina Glancy a96ca70064 MDL-47290 Grades: added bold for course total 2014-10-17 15:22:32 +08:00
Barbara Ramiro 0947172dba MDL-47290 Grades: Minified CSS and applied coding style standards 2014-10-17 15:03:53 +08:00
Barbara Ramiro 601af6666d MDL-47290 Grades: Style for the Single view table 2014-10-17 15:01:20 +08:00
Barbara Ramiro d70e86b1bd MDL-47363 Grades: Style for the Setup grades 2014-10-17 14:59:09 +08:00
Barbara Ramiro 2c7a86eb7f MDL-47363 Grades: Style for the User report 2014-10-17 14:56:31 +08:00
Andrew Nicols 3fa0daa90f MDL-47664 phpunit: Do not use sequence number changes for Oracle
When resetting a sequence number, we call change_database_structure()
which in turns clears the MUC cache for databasemeta. This cache contains
information about the table, columns, etc.

After the cache is cleared, it must be re-filled, and it was discovered
that the get_columns() code which fills this cache can take a particularly
long time. Given that this is called for every table in Moodle, this can
add up to a significant period, and this is done on a per-testsuite basis.

On my SSD install this was taking approximately 40 seconds on each re-fill
of the cache.
2014-10-17 13:28:46 +08:00
Marina Glancy 3279fe928f MDL-18229 gradebook: missing 'use' in singleview 2014-10-17 12:25:44 +08:00
Zachary Durber f86233a41e MDL-18229 gradebook: Fixes for Singleview behat tests. 2014-10-17 11:56:39 +08:00
Mark Nelson 154423f6fb MDL-46133 tool_monitor: added unit tests 2014-10-16 20:42:38 -07:00
Mark Nelson ad6f25cd8e MDL-46133 tool_monitor: added event cleanup task 2014-10-16 20:42:25 -07:00
Jon Marthaler a4bd536688 MDL-38065 gradebook: Fix issue with hidden categories breaking rowspan.
Hidden subcategories break the rowspan in the gradebook; this fix corrects
the calculation of the rowspan.
2014-10-16 22:27:52 -05:00
Zachary Durber f548d49f01 MDL-18229 gradebook: Sesskey required for all actions. 2014-10-17 10:51:45 +08:00
Damyon Wiese 821ce4d63b MDL-47655 assign: Fix unit tests triggering debugging
Test was triggering notifications - so needs to use a message sink.
2014-10-17 09:45:02 +08:00
Zachary Durber 900944385d MDL-18229 gradebook: Fix for min/max grades and large numbers. 2014-10-17 09:40:01 +08:00
Dan Poltawski e2270952c5 Merge branch 'MDL-46599-master' of git://github.com/lameze/moodle 2014-10-16 17:30:27 +01:00
Dan Poltawski f931c9245e Merge branch 'MDL-47681-master' of git://github.com/FMCorz/moodle 2014-10-16 15:14:20 +01:00
Dan Poltawski 5763316186 Merge branch '47631-28' of git://github.com/samhemelryk/moodle 2014-10-16 15:02:24 +01:00
Dan Poltawski 73f94e88ff MDL-18229 gradereport_singleview: missing MOODLE_INTERNAL 2014-10-16 13:58:37 +01:00
Dan Poltawski 992159f450 MDL-18229 grade report: coding style fixes
global definitions must be at the top of functions.
2014-10-16 13:49:44 +01:00
Dan Poltawski d65eefdbf1 Merge branch 'MDL-18229-master' of git://github.com/zbdd/moodle 2014-10-16 13:44:48 +01:00
Dan Poltawski 01c3b4c50b Merge branch 'MDL-47564-master' of https://github.com/sammarshallou/moodle 2014-10-16 11:50:38 +01:00
Dan Poltawski afb5161f37 Merge branch 'master_MDL-44548' of https://github.com/danmarsden/moodle 2014-10-16 11:45:22 +01:00
Frederic Massart f8c8f980c7 MDL-47681 core_grades: Ignore weights of grade items 'none' or 'text'
It can happen that some grade items with the type 'None' have a max
grade different than 0, in which case we would have set a weight for
them which is wrong as they must not have any. This patch always
ignores the grade items 'None' and 'Text' when calculating the
weights and locks the weight UI fields for those items too.
2014-10-16 18:42:27 +08:00
Dan Poltawski 799190cd2d Merge branch 'MDL-47710' of git://github.com/timhunt/moodle 2014-10-16 11:35:19 +01:00
Marina Glancy c74ec3e619 MDL-36987 auth_manual: fix config for field locking
Thanks to Sergey for the patch
2014-10-16 18:16:50 +08:00
Dan Poltawski 7829a6d1ca Merge branch 'MDL-47392-master' of git://github.com/xow/moodle 2014-10-16 11:12:01 +01:00
Dan Poltawski 50c4e8e8b6 Merge branch 'MDL-47696' of https://github.com/willylee/moodle 2014-10-16 11:07:27 +01:00
Dan Poltawski 3370412306 Merge branch '47684-28' of git://github.com/samhemelryk/moodle 2014-10-16 11:02:03 +01:00
Tim Hunt 9abf2d1417 MDL-47710 qformat_gift: fix bahat fails due to different ids in exports 2014-10-16 11:00:32 +01:00
Dan Poltawski 5708376927 Merge branch 'MDL-47655-master' of git://github.com/damyon/moodle 2014-10-16 10:57:06 +01:00
Dan Poltawski 62b5979cb1 Merge branch 'MDL-47657-master' of git://github.com/gurgus/moodle 2014-10-16 10:52:40 +01:00
Dan Poltawski 42da111dbe Merge branch 'MDL-47707-master' of git://github.com/gurgus/moodle 2014-10-16 10:43:52 +01:00
Dan Poltawski bb48e33fda Merge branch 'MDL-47686-master' of git://github.com/damyon/moodle 2014-10-16 10:39:12 +01:00
Damyon Wiese ba0d27735a MDL-47704 Grades: Fix for set_usedinaggregation
Used in aggregation was not resetting previously set values
when recalculating an aggregation. This meant that items no longer
in the aggregation, were displayed with stale weights in the user report.
2014-10-16 17:14:02 +08:00
Dan Poltawski 387cb9586e Merge branch 'MDL-47576-master-fixup' of https://github.com/jethac/moodle 2014-10-16 10:03:08 +01:00
Dave Cooper b0001c15f2 MDL-47707 tool_monitor: Changed navigation position of event monitor.
This issue is part of the MDL-45758 epic.
2014-10-16 16:50:11 +08:00
Jetha Chan 8ef43cfde6 MDL-47576 user_menu: theme_base fixes 2014-10-16 16:18:38 +08:00
John Okely 044a298e6f MDL-47392 core_grades: Consolidate grade item weight setting location 2014-10-16 15:21:53 +08:00
Damyon Wiese 973840f7d5 MDL-47575 Whitespace fix. 2014-10-16 15:20:07 +08:00
Damyon Wiese 3fa81fabc3 Merge branch 'MDL-47575-master' of git://github.com/zbdd/moodle 2014-10-16 14:49:49 +08:00
Damyon Wiese bd71cb83df MDL-45758 Event monitor: Improve the help string. 2014-10-16 14:34:52 +08:00
Damyon Wiese 9e035dae1b MDL-47655 assign: Treat 'new' status as never submitted.
This fixes the recent activity callbacks to ignore submissions with a 'new' status.

The unit tests for recent activity were modified, because they were relying on the old behaviour of 'submitted' being the default status.

AMOS BEGIN
     CPY [submissionstatus_,mod_assign],[submissionstatus_new,mod_assign]
AMOS END
2014-10-16 13:56:07 +08:00
Damyon Wiese b8bd29da41 Merge branch 'event_monitor' of git://github.com/ankitagarwal/moodle 2014-10-16 13:20:45 +08:00
Zachary Durber 6deb0344c5 MDL-47575 gradebook: Show weights and contribution by default. 2014-10-16 13:11:47 +08:00
Damyon Wiese 8ae6df3798 Merge branch 'MDL-47667' of git://github.com/timhunt/moodle 2014-10-16 13:00:22 +08:00
Adrian Greeve b9cafe3b40 MDL-46599 gradebook: Added a time exported column to grade export via csv.
This will be useful for checking if a csv import is trying to overwrite
new grade updates.
2014-10-16 10:31:10 +08:00
Simey Lameze a5240a82a6 MDL-46599 gradebook: Add force import option on CSV file and direct importing 2014-10-16 10:22:45 +08:00
Simey Lameze ce8f9c9b87 MDL-46599 gradebook: Add last exported date column on ODS and XLS export formats 2014-10-16 10:22:20 +08:00
Sam Hemelryk 8028df293a MDL-47684 mod: better validation of rating options 2014-10-16 14:50:56 +13:00
Sam Hemelryk 2fdb4c6b00 Merge branch 'MDL-47594_master' of git://github.com/kordan/moodle 2014-10-16 11:04:53 +13:00
Sam Hemelryk edfeca582e Merge branch 'wip-MDL-47629-master' of https://github.com/kwiliarty/moodle 2014-10-16 10:31:20 +13:00
Sam Hemelryk b1b2999206 MDL-45843 mod_lti: bumped ltiservice dependency versions 2014-10-16 09:59:06 +13:00
spvickers e3f69b58a2 MDL-45843 mod_lti: introduced support to LTI 2.0
This commit introduces support to the LTI module for LTI 2.0.
As well as the initial commit the following changes were made
and then squashed into the single commit for integration:

* Fixed bug in services
  Fixed bug which limited characters allowed in values of template
  variables (e.g. vendor ID) in service endpoints.
  Changed language file to refer to tool registrations rather than
  tool proxies.

* Refactored service classes
  Moved classes relating to services into areas where Moodle will
  autoload them

* Ran code through code checker
  Removed all errors reported by the Code checker module
  excluding third-party OAuth.php file.

* UI improvements
  Mainly when adding an external tool to a course - fields which
  should not be changed for a selected tool are either hidden or
  disabled. Admin settings page now shows the Tool Registration
  name against a tool rather than the launch URL, and the
  registration URL replaces the GUID on the tool registrations
  page.

* Updated tool proxy registration
  Added check of tool proxy to ensure only offered capabilities
  and services are included.  Also check tool proxy when processing
  a service request.

* Code review changes
  Some fixes based on code review by Mark Nielsen and addition of
  some PHPDocs comments.

* Updates from code/PHPdocs checks
  Removed use of eval and corrected invalid PHPdocs for new
  functions/classes

* Corrected namespace error and incorrect string terminator

* Updates based on forum feedback
  Added dependencies and backup, restore and uninstall methods for
  ltiservice subplugins.
  Changed most uses of is_null to empty

* Updated custom parameters test
  Updated test_split_custom_parameters to include new function
  parameters.
  Corrected PHPdoc entry for lti_split_custom_parameters
  Fixed incorrect line separators in ltiservice.php

* Added require_capability to registrationreturn.php

* SQL and EOL updates
  Moved PHP variable in SQL into a named parameter
  Improved checks for end-of-line characters to include CR and LF
  on their own or together

* Check for semicolon separators
  Semicolon separators in custom parameters are changed to EOL
  characters when upgrading to the 2014100100 version.

* Remove unused file
  basiclti.js file not being used so removed.

* Adjust line lengths
  Split long lines in upgrade.php

* Added savepoint to upgrade.php
  savepoint omitted from earlier update to upgrade.php

* Updated namespaces and upgrade
  Service and resource classes moved into .../local/...
  Upgrade SQL moved into a function and unit test created

* Updated lti_tool_proxies table
  Added indices and foreign keys to lti_tool_proxies table

* Fixed formatting and documentation issues

* ltiservice class moved into local

* Replaced lti_scale_used comments
  Put back commented out code for lti_scale_used

* Removed redundant sesskey code

* Fixed namespace and path check
  Updated ltiservice namespace for move into local
  Added check for existence of $_SERVER['PATH_INFO']

* Updated upgrade code
  Added indices and keys to lti_tool_settings table when upgrading
  Fixed errors in upgradelib_test.php (thanks to jleyva)
  Update SQL to use Moodle functions

* Use of empty with class method
  PHP 5.4 does not like the use of empty with a class method so saved the
  value to a variable first.  PHP 5.5 seems to accept the use of a method
  with empty.

* Removed redundant indices
  Removed creation of indices for foreign keys on lti_tool_settings table
  from install.xml and upgrade.php

* Fixes based on feedback
  Minor changes and corrections based on review in JIRA

* Fixed bug in toolproxy service
  Corrected bug which failed to respond properly to an invalid request
  Also updated upgrade.txt file

* Improved admin navigation
  Added the manage tool registrations page as a separate entry on the
  admin menu (within a folder named LTI).  Made this entry the current
  position for the related pages.

* Updated PHPdocs with class names
  Added class names with namespaces to PHPdocs to replace generic
  references to "object"

* Changed object to iframe
  Use of object tag in register.php changed to use an iframe tag in line
  with the similar update made to view.php.

* Improved registration process
  A message is now displayed if the registration page has not been loaded
  in the iframe within 20 seconds.  If a user is returned to Moodle
  without a tool proxy being sent, the registration is moved back from
  pending to configured.

* Fixes for integration
  Removed comment - the template is the default path unless overridden, so
  get_path and get_template should both be defined.
  Added comment and intval to fix the issue with obtaining an error
  reason.
2014-10-16 09:33:33 +13:00
Dan Poltawski 529e38d141 Merge branch 'MDL-47576-master' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-10-15 16:59:06 +01:00
Dan Poltawski 33ccfc1f13 Merge branch 'MDL-47560-master' of git://github.com/gurgus/moodle 2014-10-15 16:56:43 +01:00
Willy Lee 8f16523082 MDL-47696 assign: allow 'not submitted' filter to get all other submission statuses 2014-10-15 08:16:37 -07:00
Dan Poltawski 560b04b408 Merge branch 'MDL-47243-master' of git://github.com/xow/moodle 2014-10-15 16:14:39 +01:00
Damyon Wiese b065b569af Merge branch 'wip-MDL-47613-master' of git://github.com/marinaglancy/moodle 2014-10-15 16:59:57 +08:00
Ankit Agarwal d6e0e275dd MDL-45758 tool_monitor: Update behat tests 2014-10-15 13:59:19 +05:30
Ankit Agarwal ffe9ed541c MDL-45758 tool_monitor: Update subscriptions management UI 2014-10-15 13:59:18 +05:30
Damyon Wiese 127b3915df MDL-47686 assign: Fix restoring from a mod_assignment backup.
This was only working for admins.
2014-10-15 15:56:30 +08:00
Dan Poltawski 22caa080f9 Merge branch 'MDL-38732-master-2nd' of git://github.com/FMCorz/moodle 2014-10-15 08:41:23 +01:00
Damyon Wiese 87ea3e7e37 Merge branch 'master_MDL-47431' of https://github.com/danmarsden/moodle 2014-10-15 14:52:42 +08:00
Dave Cooper d0d59df939 MDL-47657 mod_glossary: Fixed wrong error message on edit timeout. 2014-10-15 14:48:18 +08:00
John Okely 3087835ae3 MDL-47243 core_grades: Add behat tests for outcomes in Natural 2014-10-15 14:33:31 +08:00
John Okely 5e18456631 MDL-47243 core_grades: Allow extra credit on outcome grade items 2014-10-15 14:33:31 +08:00
John Okely c53708d9c0 MDL-47243 core_grades: Add weight settings to outcome edit page 2014-10-15 14:33:31 +08:00
John Okely cfa91962d1 MDL-47243 behat: Add data generators for gradeitems scales and outcomes 2014-10-15 14:33:26 +08:00
Damyon Wiese 1a847ddaf8 Merge branch 'MDL-47646' of git://github.com/timhunt/moodle 2014-10-15 14:26:49 +08:00
Ankit Agarwal 067e9599ac MDL-45758 tool_monitor: Update navigation nodes 2014-10-15 11:33:31 +05:30
Damyon Wiese b51c2c4f8c Merge branch 'wip-MDL-47572-master' of git://github.com/marinaglancy/moodle 2014-10-15 13:58:32 +08:00
Damyon Wiese 5d70f2303a Merge branch 'wip-MDL-47583-master' of git://github.com/marinaglancy/moodle 2014-10-15 13:46:28 +08:00
Frederic Massart e813b7286e MDL-38732 gradereport_grader: Undefined variable in unit tests 2014-10-15 12:22:35 +08:00
Marina Glancy bf8542ce3a MDL-30358 forms: strict validation is too strict 2014-10-15 11:57:01 +08:00
Dave Cooper c8eb1fae64 MDL-47560 Grades: Unset config when gradebook upgrade acknowledged. 2014-10-15 11:00:57 +08:00
Damyon Wiese e9e3c0dcfd Merge branch 'MDL-47575-master' of git://github.com/zbdd/moodle 2014-10-15 10:19:05 +08:00
Ankit Agarwal b9ba26b222 MDL-45758 tool_monitor: Update navigation to add callbacks
User settings node now checks for callbacks in various admin tools
2014-10-15 07:41:06 +05:30
Ankit Agarwal e8a925a60e MDL-45758 tool_monitor: Update js to get around chrome bug 2014-10-15 07:41:06 +05:30
Ankit Agarwal 75cae53b7b MDL-45758 tool_monitor: Peer review changes 2014-10-15 07:41:06 +05:30
Ankit Agarwal 758793d889 MDL-45758 tool_monitor: Fix lang strings for caps 2014-10-15 07:41:06 +05:30
Simey Lameze 77098e6dc1 MDL-45758 tool_monitor: Add behat tests to subscription management
Original issue - MDL-47148
2014-10-15 07:41:06 +05:30
Simey Lameze 9031b34da3 MDL-45758 tool_monitor: Behat tests for rule management
Original issue - MDL-47148
2014-10-15 07:41:06 +05:30
Ankit Agarwal 2161de73d8 MDL-45758 tool_monitor: Add tests for the observers
Original issue - MDL-47376
2014-10-15 07:41:06 +05:30
Ankit Agarwal e24e0d24b9 MDL-45758 tool_monitor: Add observers to handle user and module deletion
Original issue - MDL-47376
2014-10-15 07:41:06 +05:30
Ankit Agarwal 5833307eab MDL-45758 tool_monitor: Add unit tests for the universal observer
Original issue - MDL-46132
2014-10-15 07:41:06 +05:30
Ankit Agarwal bb550efc0d MDL-45758 tool_monitor: Add a universal event observer
This observer does the following task:-
1) It monitors all events and stores relevant data in a temporary table
2) It doesn't write the events straight away, it buffers them, so there is only one db write per request
3) It calculates and sees if there are subscriptions related to those events who need to be notified
4) If there are such cases, it schedules a adhoc task for the same

Original issue - MDL-46132
2014-10-15 07:41:06 +05:30
Ankit Agarwal 1ebfdaec04 MDL-45758 tool_monitor: Add a adhock task to send notifications
Original issue - MDL-46132
2014-10-15 07:41:05 +05:30
Ankit Agarwal 01d070e74b MDL-45758 tool_monitor: Modifiy manager classes to return instances
Original issue - MDL-46132
2014-10-15 07:41:05 +05:30
Ankit Agarwal d18c425d51 MDL-45758 tool_monitor: Add a new message provider
Original issue - MDL-46132
2014-10-15 07:41:05 +05:30
Simey Lameze 84be4f6af4 MDL-45758 tool_monitor: add missing alt on manage icons
Original issue - MDL-47460
2014-10-15 07:41:05 +05:30
Mark Nelson c47eb61a48 MDL-45758 tool_monitor: added help icon for rules
Original issue - MDL-47152
2014-10-15 07:41:05 +05:30
Mark Nelson 4e18940f83 MDL-45758 tool_monitor: added help icon for subscriptions
Original issue - MDL-47152
2014-10-15 07:41:05 +05:30
Mark Nelson d55f3e03b1 MDL-45758 tool_monitor: added help icon renderer
Original issue - MDL-47152
2014-10-15 07:41:05 +05:30
Mark Nelson 27b6839fe2 MDL-45758 core: edited get_formatted_help_string
Edited the api to accept string parameters

Original issue - MDL-47152
2014-10-15 07:41:05 +05:30
Mark Nelson 5b8aa8f700 MDL-45758 tool_monitor: fixed typo
Original issue - MDL-47152
2014-10-15 07:41:05 +05:30
Ankit Agarwal e1a6022802 MDL-45758 tool_monitor: Add unit tests for the course deleted observer
Original issue - MDL-46510
2014-10-15 07:41:05 +05:30
Ankit Agarwal 6a7de0d243 MDL-45758 tool_monitor: Add a course delete observer
Original issue - MDL-46510
2014-10-15 07:41:05 +05:30
Ankit Agarwal 044503e33d MDL-45758 tool_monitor: Add a UI page to manage subscriptions
Original issue - MDL-46111
2014-10-15 07:41:05 +05:30
Ankit Agarwal ac0e4dad7f MDL-45758 tool_monitor: Update subscription manager class
Update the class to support the subs renderable

Original issue - MDL-461111
2014-10-15 07:41:05 +05:30
Ankit Agarwal 58dcafb05a MDL-45758 tool_monitor: Add renderables for the subscription page
Original issue - MDL-46111
2014-10-15 07:41:05 +05:30
Ankit Agarwal 76b7ce41ab MDL-45758 tool_monitor: Add a renderer for the subscription page
Original issue - MDL-46111
2014-10-15 07:41:05 +05:30
Ankit Agarwal 3432c96d3a MDL-45758 tool_monitor: Create a subscription instance class
Original issue - MDL-46241
2014-10-15 07:41:04 +05:30
Ankit Agarwal 3870ad7a2f MDL-45758 tool_monitor: Handle rule managment
Original issue - MDL-46130
2014-10-15 07:41:04 +05:30
Ankit Agarwal 22f4231631 MDL-45758 tool_monitor: Display a rule managment interface
Original issue - MDL-46110
2014-10-15 07:41:04 +05:30
Ankit Agarwal 371d5e0b66 MDL-45758 tool_monitor: Create rendering code for manage rules page
Original issue - MDL-46110
2014-10-15 07:41:04 +05:30
Ankit Agarwal 58097ddf9b MDL-45758 tool_monitor: Add support for editing/creating a rule
Original issue - MDL-45938
2014-10-15 07:41:04 +05:30
Ankit Agarwal 2fd010b886 MDL-45758 tool_monitor: YUI module to handle event selection dropdown
Original issue - MDL-45938
2014-10-15 07:41:04 +05:30
Simey Lameze 48cc3a8d4d MDL-45758 tool_monitor: Initial version of rule form.
Original issue - MDL-45938
2014-10-15 07:41:04 +05:30
Ankit Agarwal 3d27d680a8 MDL-45758 tool_monitor: Polish the code for rule manager and unit tests
Original issue - MDL-45918
2014-10-15 07:41:04 +05:30
Simey Lameze 7bdbb4dc2d MDL-45758 tool_monitor: Rule manager class and data generators
This issue introduces rule manager class, data generators and unit tests
associated with them.

Original issue - MDL-45918
2014-10-15 07:41:04 +05:30
Ankit Agarwal c8a081cc6b MDL-45758 tool_monitor: Add a subscription manager class
Original issue - MDL-45919
2014-10-15 07:41:04 +05:30
Ankit Agarwal 3883eee06b MDL-45758 tool_monitor: Build the navigation tree for the tool
Original issue - MDL-46131
2014-10-15 07:41:04 +05:30
Ankit Agarwal eccf301acf MDL-45758 navigation: updates to navigation
This patch does the following:-
Start using proper key for course report node
Allow admin tools to hook into course navigation

Original issue - MDL-46131
2014-10-15 07:41:04 +05:30
Ankit Agarwal 5f68d9ee2b MDL-45758 tool_monitor: Implement a rule instance class
Original issue - MDL-45939
2014-10-15 07:41:04 +05:30
Ankit Agarwal f235cae41f MDL-45758 tool_monitor: Implement a class to generate list of events
Original issue - MDL-46109
2014-10-15 07:41:04 +05:30
Ankit Agarwal d0d6c72de2 MDL-45758 tool_monitor: Adding xml file defining the db tables
Original issue - MDL-45916
2014-10-15 07:41:03 +05:30
Ankit Agarwal 92b40de9de MDL-45758 tool_monitor: Add basic file structure of the report
Original issue - MDL-45916
2014-10-15 07:41:03 +05:30
Brian Barnes a87c17d14f MDL-47632 calendar: Fixed iCal link going blue after visiting it 2014-10-15 08:46:07 +13:00
Kevin Wiliarty 3d1c2898c1 MDL-47629 quiz review: display cloze feedback on top of "Check" button 2014-10-14 15:36:34 -04:00
Dan Poltawski 4f639ec86b Merge branch 'MDL-47463-master' of git://github.com/FMCorz/moodle 2014-10-14 19:11:57 +01:00
Dan Poltawski 1b07195b28 Merge branch 'MDL-38732-master-2nd' of git://github.com/FMCorz/moodle 2014-10-14 19:00:28 +01:00
Dan Poltawski 5a94eeb56d Merge branch 'MDL-47614-master' of git://github.com/andrewnicols/moodle 2014-10-14 18:47:30 +01:00
Dan Poltawski 050b930fa7 on-demand release 2.8beta+ 2014-10-14 18:00:47 +01:00
Dan Poltawski f47265d3a0 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-10-14 18:00:44 +01:00
Dan Poltawski df11019a82 MDL-46235/MDL-46971 mysql_compress_rows: fix typo 2014-10-14 16:36:47 +01:00
Yolanda Ordóñez Rufat c3f51a3c79 MDL-47466 calendar: fixed error ORA-01795 in calendar_get_events 2014-10-14 14:58:05 +02:00
Dan Poltawski 8a7b6d292d Merge branch 'wip-MDL-47617-master' of git://github.com/abgreeve/moodle 2014-10-14 13:17:36 +01:00
Dan Poltawski 3be2f6ac0b Merge branch 'MDL-47649' of git://github.com/timhunt/moodle 2014-10-14 13:14:19 +01:00
Helen Foster a1b152f5db MDL-47140 atto: improved wording of error message 2014-10-14 12:20:58 +01:00
Tim Hunt 01e7c3bf4e MDL-47667 profile unit tests: don't assume none by default.
E.g. if an add-on creates a user profile field on install, the test was
failing.
2014-10-14 12:09:51 +01:00
Marina Glancy acab649e06 Merge branch 'MDL-47189-master-2nd' of git://github.com/FMCorz/moodle 2014-10-14 18:34:14 +08:00
Tim Hunt a866538b9b MDL-47649 csvlib: must not leave files open
I added a destructor to csv_import_reader ensure the file is closed.

I also ensured that the gradeimport_csv unit tests did not hold onto a
reference to the csv_import_reader object while the phpunit framework
tries to tidy up moodledata.

Finally, to stop CiBoT complaining, I fixed up the PHP4-style
declarations in the CSV import class.
2014-10-14 10:36:25 +01:00
Frederic Massart da45dc0497 MDL-47189 my: Update test to check that existing blocks remain after add
Specifically checking for strings in the blocks because the tests
passed when looking for the string anywhere.
2014-10-14 16:03:12 +08:00
Frederic Massart 00fd3c1aad MDL-47189 my: Fix the addition of default blocks to my/ page
Fixing the upgrade script so that they attach the new blocks
to the right my_pages entry. An upgrade script has also been
added to fix the existing bad data.
2014-10-14 16:03:12 +08:00
Andrew Nicols 906de1b640 MDL-47614 gradereport: Apply a background colour
Apply the page background colour to the table for all bootstrap base
themes.

Whis will ensure that the table does not stand out strangely on a non-white
background.
2014-10-14 15:41:21 +08:00
Damyon Wiese f50395b402 Merge branch '46151-28' of git://github.com/samhemelryk/moodle 2014-10-14 15:34:25 +08:00
Jetha Chan f89a85f81c MDL-47576 user_menu: improved dropdown styles, added JS-less styles 2014-10-14 14:59:42 +08:00
Damyon Wiese 852ff0372f MDL-47499 tasks: Scheduled tasks custom schedule is reset on upgrade.
Add a unit test for reset_scheduled_tasks_for_component and make sure it doesn't clear
customised schedules for existing tasks.
2014-10-14 14:59:24 +08:00
Zachary Durber f4278326c0 MDL-47575 gradebook: Show weights and contribution by default. 2014-10-14 14:22:08 +08:00
Frederic Massart 09171b955e MDL-38732 gradereport_grader: Handle simultaneous graders 2014-10-14 13:52:42 +08:00
Zachary Durber 1b2c1ccb4c MDL-18229 gradebook: Fixes for bulk insert and checkboxes. 2014-10-14 13:18:45 +08:00
Adrian Greeve c1a27029fe MDL-47617 behat: Fixed behat sorting failure
Postgres and MySQL treat values that are null differently
when sorting. MySQL will sort null values above fields with
values and Postgres will be vice versa. I removed the checks
against the Admin User.

Oracle treats lower case values different to upper case values
and so I have modified the test so that all Names start with
an Uppercase letter.
2014-10-14 11:30:01 +08:00
Damyon Wiese 57fac09a40 MDL-18229 Grades: singleview report mega cleanup.
Fix all the things, including:
* Fix $PAGE->url
* Fix coding style.
* Add event for reportviewed
* Removed broken callback  gradereport_singleview_profilereport
* Removed vertical-align-middle
* Changed prefixes in css
* phpcs fixes
* moodlecheck fixes including phpdocs
* Move classes to use autoloading
* Remove all smelly code tricks like func_get_args, scandir etc (lots).
2014-10-14 10:26:46 +08:00
Zachary Durber 5f3decb5cb MDL-18229 gradebook: Additional fixes.
Random foo left in options. (test code)
Allowed editing link for Course total.
Fixes based on Apu's review.
2014-10-14 10:26:46 +08:00
Aparup Banerjee 0a55da571a MDL-18229 gradereport: updated index.php test to calculate navigation based on new class name 'gradereport_selectable_items' 2014-10-14 10:26:46 +08:00
Zachary Durber 8ec7b088ef MDL-18229 gradereport: Fixes and improvements from review.
Added pagination back in with some general fixes.

AMOS BEGIN
 CPY [override,mod_quiz],[override,gradereport_singleview]
AMOS END
2014-10-14 10:26:46 +08:00
Zachary Durber 2fd9718d8b MDL-18229 gradereport: Behat tests added. 2014-10-14 10:26:46 +08:00
Zachary Durber 7bd3932e76 MDL-18229 gradereport: Labels for table items added. 2014-10-14 10:26:46 +08:00
Zachary Durber 65c134f98a MDL-18229 gradebook: Updating code to Moodle standard. 2014-10-14 10:26:46 +08:00
Zachary Durber 92c61fee64 MDL-18229 gradebook: Links to Single view via icons on Grade Report. 2014-10-14 10:26:45 +08:00
Zachary Durber d124a60b33 MDL-18229 gradebook: Renaming of Single_view to Single view 2014-10-14 10:26:45 +08:00
Zachary Durber edd8b27923 MDL-18229 gradebook: Fix for loading activities.
Was using local variable iteminstance rather than cmid.
2014-10-14 10:26:45 +08:00
Zachary Durber 6a555b99f7 MDL-18229 gradebook: Linking activities and usernames correctly.
Activities to their course page and usernames to their
profile page as per standard.
2014-10-14 10:26:45 +08:00
Aparup Banerjee 7cdbf79dd9 MDL-47347 added basic navigation to top and bottom of gradereport_singleview
Part of MDL-18229
2014-10-14 10:26:45 +08:00
Zachary Durber 508f23f1e5 MDL-18229 gradebook: Single view navigation corrected.
Usernames link to user profiles.
Activities to their activity page.
2014-10-14 10:26:45 +08:00
Zachary Durber 4229e9fa8d MDL-18229 gradebook: Added filter icons for activities and users.
Corrected CSS for grades column, was far too large.
2014-10-14 10:26:45 +08:00
Zachary Durber 7bd4a361b3 MDL-18229 gradebook: Initial commit of LSUs Quick Edit Plugin
Renamed to Single View in MDL-47289.
2014-10-14 10:26:45 +08:00
Simey Lameze 372997907f MDL-46599 gradebook: Unit tests for last exported date and force import option 2014-10-14 09:30:04 +08:00
Dan Marsden 711910ec0d MDL-33939 gradingform_guide: use correct max grade for scales. 2014-10-14 08:42:30 +13:00
Sam Hemelryk c1fb8f6d2e MDL-46151 cachestore_memcache: now checks extension version for support 2014-10-14 08:27:45 +13:00
AMOS bot ad7f22c055 Automatically generated installer lang files 2014-10-14 00:05:32 +08:00
Tim Hunt 90048c7cfa MDL-47646 CURL redirect unit test: handle broken servers 2014-10-13 15:52:04 +01:00
Dan Poltawski ec72585d64 Merge branch 'MDL-47603' of git://github.com/timhunt/moodle 2014-10-13 13:33:56 +01:00
Frederic Massart 1d65db8b39 MDL-47463 core_grades: Behat checks the contribution of single item scales 2014-10-13 18:23:03 +08:00
Dan Poltawski bb29fe900e Merge branch 'wip-MDL-46819-master' of git://github.com/abgreeve/moodle 2014-10-13 11:02:59 +01:00
Dan Poltawski 42b0ce301d Merge branch 'wip-MDL-46546-master' of git://github.com/abgreeve/moodle 2014-10-13 10:57:17 +01:00
Dan Poltawski 7c50998039 Merge branch 'MDL-47140-master' of git://github.com/gurgus/moodle 2014-10-13 09:54:02 +01:00
Frederic Massart 21dd684207 MDL-47463 core_grades: Behat checks the contribution of scales 2014-10-13 16:01:32 +08:00
Frederic Massart 87e1e53c97 MDL-47463 core_grades: Handle course contribution of scales 2014-10-13 15:54:58 +08:00
Dave Cooper b6da971b4a MDL-47140 editor_atto: Improved error handling 2014-10-13 10:51:17 +08:00
Adrian Greeve a2809ae2c9 MDL-46546 core_grades: Notice display for bad import.
If the initial import of csv data is bad, a notification
will be displayed to the user.
2014-10-13 10:36:38 +08:00
Adrian Greeve 0cf122171b MDL-46819 core_grades: Negative weights are changed to 0
Negative weights in the natural aggregation are not currently permitted.
Any figure below zero is changed to a zero.
2014-10-13 08:19:24 +08:00
Sam Hemelryk 0e6d8ed261 MDL-47631 report_participation: fixed filtering by letter 2014-10-13 12:27:48 +13:00
Rex Lorenzo 6fa877e243 MDL-47555 core_availability: Issue with page layout & grade restriction
* Set pagelayout before getting section info, otherwise conditional activity renderers will default to the default 'base' layout.
2014-10-10 14:57:21 -07:00
Tim Hunt 84b45a24a1 MDL-47603 quiz edit: qbank popup preview icon needs new window
Also, ensure that clicking the + icon adds the question on the right
page.

Bit of this fix are a bit hacky, but we have to deal with the fact there
is not a good general solution to MDL-47604.
2014-10-10 13:40:16 +01:00
Dan Poltawski d3ff82257e Moodle release 2.8beta
jabber bot fighting edition.
2014-10-10 12:09:33 +01:00
Dan Poltawski 54f2db7226 NOBUG: Fixed file access permissions 2014-10-10 12:09:18 +01:00
Dan Poltawski fe272dee55 NOBUG: Fixed SVG browser compatibility 2014-10-10 12:09:15 +01:00
Dan Poltawski 0a96a3e0d6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-10-10 12:09:14 +01:00
Tim Hunt 8ac5c115e0 MDL-43089 quiz editing: don't pop up qbank on initial page load. 2014-10-10 11:00:12 +01:00
Marina Glancy d8773d64fc MDL-47613 wiki: allow searching several words
Thanks to Sandeep B for suggested solution
2014-10-10 16:35:13 +08:00
Dan Poltawski fd93980a1c Merge branch 'wip-MDL-46576-master-upgrade-fix' of https://github.com/abgreeve/moodle 2014-10-10 09:20:30 +01:00
Adrian Greeve 7970c21751 MDL-46576 core_grades: Fix upgrade to natural weight.
When upgrading from 'Sum of grades' to natural aggregation the
weights were no automatically assigned and the grade totals were
wrong. This has now been rectified.
2014-10-10 16:08:25 +08:00
Helen Foster 7c8edb452e MDL-40351 course overview block: improved strings 2014-10-10 08:30:58 +01:00
Andrew Nicols 72ece42858 MDL-46658 gradereport_grader: Remove max-width for RTL
For some reason, Safari behaves incorrectly when dealing with RTL content
where the table has a max-width of 100%.

This issue is a part of the MDL-25544 Epic.
2014-10-10 12:24:03 +08:00
Andrew Nicols 1bd4817ada MDL-46658 gradereport_grader: Fix minor RTL style issues
This issue is a part of the MDL-25544 Epic.
2014-10-10 11:20:44 +08:00
Andrew Nicols b55d37f08b MDL-46658 gradereport_grader: Style the ajax editing error
This issue is a part of the MDL-25544 Epic.
2014-10-10 10:29:16 +08:00
Dan Marsden 2d9a4a5f93 MDL-44548 mod_scorm: force an external sync to check for updated files.
also remove some globals no longer needed (not used in function or in required files.
2014-10-10 15:10:08 +13:00
Dan Marsden 6cdfe1a824 MDL-47431 advanced grading: correct use of frankenstyle names for consistency 2014-10-10 14:57:29 +13:00
Andrew Nicols 1e646afd3c MDL-47353 gradereport_grader: Only respect fixed headers
Even if the navbar is in a static header, it should only be respected if it
is fixed still.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-10 09:02:57 +08:00
Tim Hunt aec2a725a8 MDL-43089 quiz editing: fix some qbank popup JS issues. 2014-10-09 17:22:22 +01:00
AMOS bot e9c2a84708 Automatically generated installer lang files 2014-10-10 00:05:27 +08:00
Tim Hunt ad6a1455a4 MDL-43089 quiz editing: fix RTL
As part of this, I tweaked the LTR style a bit, in a way that is both an
improvement (I hope) and also to reduce the amount of RTL-specific code
required. (Thanks to Fred for spotting some of the problems.)

Also, I changed one course style in boostrapbase, where the RTL rule was
different from the LTR rule.

Finally, I saw some repeated RTL rules in the quiz styles.css, and so
eliminated the the duplicate rules.
2014-10-09 16:34:38 +01:00
Dan Poltawski 68cf8d118e Merge branch 'MDL-46481-master-fixup' of https://github.com/FMCorz/moodle 2014-10-09 12:16:43 +01:00
Frederic Massart fef943738d MDL-46481 backup: Ensure one-click backup is not displayed on restore 2014-10-09 18:45:32 +08:00
Dan Poltawski 15ba6a0ded Merge branch 'MDL-47556' of git://github.com/timhunt/moodle 2014-10-09 10:54:19 +01:00
Kordan f656df787f MDL-47594 core_accesslib: removed three useless lines of code 2014-10-09 11:04:36 +02:00
Marina Glancy 6fd0b781e1 MDL-36014 cohorts: fix error in SQL query 2014-10-09 15:33:49 +08:00
Dan Poltawski 0993f24df0 Merge branch 'MDL-47509' of https://github.com/stronk7/moodle 2014-10-09 07:13:18 +01:00
Dan Poltawski 0835816f9e Merge branch 'MDL-46647-master' of git://github.com/FMCorz/moodle 2014-10-09 07:05:09 +01:00
Damyon Wiese 2b187a479e MDL-46921 User: Add @core_user to new behat test. 2014-10-09 11:20:44 +08:00
Marina Glancy 8c2fc797a0 MDL-47583 atto_managefiles: correctly decode filename 2014-10-09 10:59:33 +08:00
Marina Glancy c84d8cc452 MDL-47583 tinymce_managefiles: correctly decode filename 2014-10-09 10:59:21 +08:00
Sam Hemelryk 71900d9202 Merge branch 'MDL-47194-master-fixes' of git://github.com/andrewnicols/moodle 2014-10-09 15:44:04 +13:00
Andrew Nicols 262abe63fd MDL-46284 tool_messageinbound: Fail with warning if handler disabled
If a handler is disabled, the user should be informed of this issue.

This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-09 10:40:38 +08:00
Damyon Wiese e6b00f032d Merge branch 'wip-MDL-46921-master' of git://github.com/abgreeve/moodle 2014-10-09 09:57:58 +08:00
Adrian Greeve 28127d8897 MDL-46921 lib: behat tests for alternate name sorting. 2014-10-09 08:19:49 +08:00
Adrian Greeve 95065006c6 MDL-46921 lib: Sorting on additional fields, admin, enrolment pages. 2014-10-09 08:19:49 +08:00
Adrian Greeve e622b1a14b MDL-46921 lib: Update get_all_user_name_fields() plus unit tests. 2014-10-09 08:07:44 +08:00
Adrian Greeve 143aacaea0 MDL-46921 lib: Add sorting on additional name fields
A thank you to Yishe Choden for creating a patch for this issue.
2014-10-09 08:07:44 +08:00
Sam Hemelryk b92a7dd0d8 Merge branch 'MDL-46984_master' of https://github.com/markn86/moodle 2014-10-09 09:16:40 +13:00
Sam Hemelryk 9ff13804e5 Merge branch 'MDL-46481-master' of https://github.com/FMCorz/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-10-09 08:51:40 +13:00
Dan Poltawski 66689366a0 Merge branch 'wip-MDL-47543-master' of git://github.com/marinaglancy/moodle
Conflicts:
	theme/bootstrapbase/less/moodle/grade.less
	theme/bootstrapbase/style/moodle.css
2014-10-08 15:49:58 +01:00
Dan Poltawski da88accb5f Merge branch 'wip-MDL-46547-master' of git://github.com/abgreeve/moodle 2014-10-08 15:33:46 +01:00
Dan Poltawski aeb47dd84a Merge branch 'MDL-47536' of git://github.com/stronk7/moodle 2014-10-08 15:24:14 +01:00
Damyon Wiese d55b326cbc Merge branch 'wip-mdl-46987' of https://github.com/rajeshtaneja/moodle 2014-10-08 22:00:20 +08:00
Dan Poltawski ea594eb10e Merge branch 'MDL-47084-master' of git://github.com/jleyva/moodle 2014-10-08 14:43:13 +01:00
Damyon Wiese 6b58a6a445 Merge branch 'MDL-46458-master' of git://github.com/jleyva/moodle
Conflicts:
	version.php
2014-10-08 21:14:39 +08:00
Marina Glancy a351493846 Merge branch 'MDL-47298-master' of git://github.com/FMCorz/moodle 2014-10-08 19:58:43 +08:00
Tim Hunt d7a2a11e67 MDL-47497 qformats gift and xml: basic test of export.
Really, this is just to test the new behat setps, as much as anything.

Note that the details of what is written to the export files is tested in
the unit tests.
2014-10-08 19:43:10 +08:00
Tim Hunt cb7db63b5d MDL-47497 behat: steps for basic download testing.
These steps were created by sam marshall and Jes Ackland-Snow at the Open
University. I just altered them to make them a bit more generic, and
submitted them to Moodle core, at the point when I wanted to reuse them
in another plugin.

This commit introduces two new steps:

Then following "XXX" should download "YY" bytes
Then following "XXX" should download between "YY" and "ZZ" bytes

At the moment, this only works for links with href attributes.
2014-10-08 19:43:09 +08:00
Marina Glancy 885b889dc0 MDL-47297 libraries: upgrade note about Google API update 2014-10-08 19:22:14 +08:00
Frederic Massart 28cdc0439f MDL-47297 repository_googledocs: Use the newer Google API 2014-10-08 19:15:09 +08:00
Frederic Massart 27bd4e4b86 MDL-47297 libraries: Update Google API to v1.0.5-beta 2014-10-08 19:15:00 +08:00
Dan Poltawski 8b2d52b88d Merge branch 'MDL-47389-master' of git://github.com/jleyva/moodle 2014-10-08 11:08:29 +01:00
Dan Poltawski 73c07a7c97 Merge branch 'MDL-45893-master-fixup' of https://github.com/FMCorz/moodle 2014-10-08 10:42:20 +01:00
Dan Poltawski f2b4b2ad3c MDL-46658 - fix trailing whitespace 2014-10-08 10:28:31 +01:00
Dan Poltawski e462093201 Merge branch 'MDL-46658-master' of git://github.com/andrewnicols/moodle
Conflicts:
	theme/bootstrapbase/less/moodle/grade.less
	theme/bootstrapbase/style/moodle.css
2014-10-08 10:26:13 +01:00
Frederic Massart dcb59c872c MDL-45893 my: Specifically follow My home from block in Behat tests 2014-10-08 16:59:41 +08:00
Damyon Wiese e5d5bfdc4f Merge branch 'MDL-38540' of git://github.com/jmvedrine/moodle 2014-10-08 16:46:12 +08:00
Dan Poltawski 7b2945b847 Merge branch 'MDL-46284-master-fix' of git://github.com/andrewnicols/moodle 2014-10-08 08:54:07 +01:00
Dan Poltawski 006c84f3e7 Merge branch 'MDL-40697_master_alt_usergraded' of https://github.com/markn86/moodle 2014-10-08 08:39:31 +01:00
Andrew Nicols a6019c2910 MDL-46284 tool_messageinbound: Handle checkboxes correctly
When a checkbox is not checked, it does not submit in the form, therefore
this must be an !empty() test instead of an (int) casting.

This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-08 15:19:17 +08:00
Marina Glancy 9f1088d482 MDL-47543 core_grades: behat changes, also MDL-47541 2014-10-08 15:03:37 +08:00
Marina Glancy eb84b77923 MDL-47543 core_grades: improve navigation menu in grade administration 2014-10-08 15:03:36 +08:00
Marina Glancy 2be0d5c3ed MDL-47541 core_grades: hints about aggregation settings on setup page
Also do not indicate 'Natural' aggregation method
2014-10-08 15:03:32 +08:00
Frederic Massart 70e7b634e4 MDL-46481 backup: Reposition one-click backup button 2014-10-08 13:45:24 +08:00
Jean-Michel Vedrine ce3cfc8f92 MDL-38540 Lesson: import images in question answers 2014-10-08 06:07:02 +02:00
Dan Poltawski c5d4fd7ddf MDL-38106 lesson: fix tests introduced in MDL-32870 2014-10-08 11:51:21 +08:00
Marina Glancy 54f7d2d7f4 MDL-47572 libraries: modify unittest to avoid random timing fail
Thanks to Nigel Cunningham
2014-10-08 11:32:10 +08:00
Mark Nelson ba8024665d MDL-40697 mod_*: fixed unit tests so they pass 2014-10-07 19:08:35 -07:00
Mark Nelson 828b71d845 MDL-40697 core: added unit test for grade_deleted event 2014-10-07 19:08:35 -07:00
Mark Nelson b310c9a1fe MDL-40697 core: added more unit tests for the user_graded event 2014-10-07 19:08:35 -07:00
Mark Nelson 2e0b3490f0 MDL-40697 core_grades: trigger the grade_deleted event 2014-10-07 19:08:35 -07:00
Mark Nelson acd25c133c MDL-40697 core_grades: trigger the user_graded event 2014-10-07 19:08:35 -07:00
Mark Nelson c09e6fa3e3 MDL-40697 core_grades: removed existing user_graded event triggers 2014-10-07 19:04:10 -07:00
Mark Nelson 3419a38980 MDL-40697 core_grades: changed user_graded event name 2014-10-07 19:04:10 -07:00
Mark Nelson b0f844388b MDL-40697 core: added grade_deleted event 2014-10-07 19:04:09 -07:00
Damyon Wiese 140f46a238 MDL-28484 Libraries: Update comments to suggest using new is_https() 2014-10-08 09:54:05 +08:00
Damyon Wiese 0d474cb2b4 Merge branch 'MDL-28484-master' of https://github.com/lucisgit/moodle 2014-10-08 09:53:53 +08:00
Sam Hemelryk ec39530d5f Merge branch 'wip_MDL-47477_m28_jqueryuitheme' of https://github.com/skodak/moodle 2014-10-08 14:35:02 +13:00
Andrew Nicols 7feac0aab6 MDL-46658 gradebook: Fix gradebook behat tests
This issue is a part of the MDL-25544 Epic.
2014-10-08 09:31:57 +08:00
Sam Hemelryk 6d3b83b9b4 Merge branch 'wip_MDL-47303_m28_jquery' of https://github.com/skodak/moodle 2014-10-08 14:31:40 +13:00
Sam Hemelryk 76d9337ced Merge branch 'MDL-47301-master' of git://github.com/FMCorz/moodle 2014-10-08 14:10:50 +13:00
Sam Hemelryk 9311301f44 Merge branch 'wip-MDL-47299-master' of git://github.com/marinaglancy/moodle 2014-10-08 14:07:57 +13:00
Eloy Lafuente (stronk7) 278432258f MDL-47509 Profile restriction: More oracle/text fixes
1) Get rid of "uid" that is a reserved word.
2) Add cross-db support for text columns in the get_condition_sql() method
   by adding a new, defaulting to false for BC param and intensively using
   the sql_compare_text() helper to build the correct sql fragments.
2014-10-08 01:45:29 +02:00
sam marshall 9634c60e7b MDL-47509 Profile restriction: Broken Oracle causes problem 2014-10-08 01:45:28 +02:00
Sam Hemelryk 252bd39983 Merge branch 'MDL-47470-master' of git://github.com/danpoltawski/moodle 2014-10-08 12:21:31 +13:00
Sam Hemelryk ba2f9a9695 Merge branch 'MDL-47132' of git://github.com/timhunt/moodle 2014-10-08 12:01:42 +13:00
Sam Hemelryk 13f60ffce1 Merge branch 'MDL-47474' of https://github.com/bostelm/moodle 2014-10-08 11:52:17 +13:00
Sam Hemelryk 28fffe1f9b Merge branch 'MDL-47481-master' of https://github.com/sammarshallou/moodle 2014-10-08 11:51:32 +13:00
Sam Hemelryk 15a4139506 Merge branch 'MDL-47484' of git://github.com/aolley/moodle 2014-10-08 11:40:49 +13:00
Sam Hemelryk c5057d3ecc Merge branch 'MDL-47496-master' of git://github.com/danpoltawski/moodle 2014-10-08 11:37:24 +13:00
Sam Hemelryk 0ebe4f74aa Merge branch 'wip-MDL-40351-master' of https://github.com/marinaglancy/moodle 2014-10-08 11:36:01 +13:00
Sam Hemelryk 2b17072b59 Merge branch 'MDL-46182' of https://github.com/NeillM/moodle 2014-10-08 11:28:19 +13:00
Sam Hemelryk c709fafc6e Merge branch 'MDL-47197-master' of git://github.com/andrewnicols/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
	version.php
2014-10-08 11:16:54 +13:00
Sam Hemelryk 70b370982f Merge branch 'MDL-47476' of git://github.com/timhunt/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2014-10-08 11:02:38 +13:00
Sam Hemelryk 0c1a1760fa Merge branch 'MDL-28075' of git://github.com/timhunt/moodle 2014-10-08 10:57:15 +13:00
Sam Hemelryk be8989065c Merge branch 'MDL-46391-master' of https://github.com/DmitryNefedov/moodle 2014-10-08 10:45:23 +13:00
Sam Hemelryk 93fad868d9 Revert "MDL-46978 gradebook: Edit grade item changes visibility of category"
This reverts commit bad2c9b14f.
2014-10-08 10:37:12 +13:00
Sam Hemelryk e90a0396e1 MDL-3714 mod_forum: pre-integration clean up 2014-10-08 09:39:44 +13:00
Sam Hemelryk 82d9aebc7d Merge branch 'MDL-3714-master' of git://github.com/andrewnicols/moodle 2014-10-08 09:39:01 +13:00
Mark Nielsen 292f663581 MDL-47569 backup: Do not close questions tag if never opened
This can happen when restoring quizzes that
do not have any questions.
2014-10-07 11:48:35 -07:00
Mark Nielsen 95dc1e42d5 MDL-47569 backup: Escape section summary for XML
This was causing the parsing of the XML
to fail because things like & were not
escaped.
2014-10-07 11:47:40 -07:00
Dan Poltawski 99675668b4 Merge branch 'MDL-45893-master-v3' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-10-07 16:52:07 +01:00
Jetha Chan 854a647e62 MDL-45893 user_menu: responsive approach; fixed minor issues 2014-10-07 23:31:47 +08:00
sam marshall c0d92241f1 MDL-47564 Availability: incorrect use of defined('PHP_UNIT') 2014-10-07 14:47:29 +01:00
Dan Poltawski 409318eeff Merge branch 'MDL-47518' of https://github.com/rlorenzo/moodle 2014-10-07 14:32:48 +01:00
Dan Poltawski c31f7c58c1 Merge branch '46481-28' of git://github.com/samhemelryk/moodle 2014-10-07 14:25:06 +01:00
Marina Glancy 850ac50a87 Merge branch 'MDL-32870' of git://github.com/jmvedrine/moodle 2014-10-07 17:16:56 +08:00
Dan Poltawski 08abbd61c2 Merge branch 'wip-MDL-35618-master' of git://github.com/marinaglancy/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-10-07 09:24:39 +01:00
Frederic Massart 26331e3d17 MDL-46647 core_grades: Adding tests for fetch_all_helper() 2014-10-07 15:23:05 +08:00
Damyon Wiese 4a813f3959 Merge branch 'wip-MDL-36014-master' of git://github.com/marinaglancy/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
	version.php
2014-10-07 12:34:34 +08:00
Sam Hemelryk 94cdabcdee Merge branch 'MDL-46284-master' of git://github.com/andrewnicols/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
	version.php
2014-10-07 16:28:50 +13:00
Eloy Lafuente (stronk7) eadcdee936 MDL-46647 grades: Fix fetch_all_helper() towards cross-db
That helper, used to fetch information from DB by all the grade_object
chidren classes was not behaving properly handling TEXT/CLOB columns.

Instead of creating a property within every class listing the
existing columns, it seems to be a better solution to instrospect
the database metadata (cached) to ensure the correct SQL is generated
in every case.
2014-10-07 10:44:08 +08:00
Marina Glancy 8dfd73e04a Merge branch 'MDL-38106-master' of git://github.com/danpoltawski/moodle 2014-10-07 10:25:29 +08:00
Sam Hemelryk 002ee6faab Merge branch 'MDL-36460-master' of git://github.com/andrewnicols/moodle 2014-10-07 15:16:54 +13:00
Marina Glancy 4e45c0319c MDL-31936 workshop: version bump 2014-10-07 10:15:54 +08:00
Marina Glancy ae66542027 Merge branch 'MDL-31936-master-workshop-reset' of git://github.com/mudrd8mz/moodle 2014-10-07 10:08:48 +08:00
Andrew Nicols 27f7487f82 MDL-47197 core: Private files handler
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-07 10:01:19 +08:00
Andrew Nicols 776b4acc81 MDL-46284 core: Add e-mail fetcher from IMAP
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-07 10:01:19 +08:00
Andrew Nicols 91223df61b MDL-3714 mod_forum: Add an inbound message handler
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-07 09:58:36 +08:00
Andrew Nicols 77c0a68db9 MDL-46284 core: Add e-mail fetcher from IMAP
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-07 09:58:35 +08:00
Petr Skoda 41186f4f80 MDL-41593 admin: use default setting if preventexecpath active
This resolves problems when installing Moodle
and addons when preventexecpath active.

Please note the admin_setting_configfile is still
incorrectly restricted - this will be resolved by
MDL-40949.
2014-10-07 11:30:08 +13:00
Tim Hunt 24cfc09881 MDL-47556 quiz: autosave should default to on for new installs 2014-10-06 23:17:25 +01:00
Sam Hemelryk 3ba4e595fb Merge branch 'MDL-46295-master' of git://github.com/damyon/moodle 2014-10-07 10:36:48 +13:00
David Mudrák 16d364b560 MDL-31936 workshop: Improve unit tests for the course reset support 2014-10-06 23:32:32 +02:00
Sam Hemelryk f46606936a Merge branch 'MDL-46978' of https://github.com/danielneis/moodle 2014-10-07 10:26:05 +13:00
Dan Poltawski 15b57a34df MDL-46576 grade: fix trailing whitespace 2014-10-06 18:11:25 +01:00
Dan Poltawski f5bacd6539 Merge branch 'wip-MDL-46576-master' of git://github.com/abgreeve/moodle
Conflicts:
	lib/upgrade.txt
    lib/db/upgrade.php
	version.php
2014-10-06 18:06:13 +01:00
Dan Poltawski fb991204a9 Merge branch 'MDL-46054-master' of git://github.com/jleyva/moodle 2014-10-06 16:01:26 +01:00
Tim Hunt 4d1fcfdf8a MDL-47547 quiz editing: minor fixes following MDL-47547
* Remove unnecessary skip links.
* Disable shortforms for form in pop-ups.
* Remove some CSS that was hurting display of the add menu.
2014-10-06 15:44:21 +01:00
Dan Poltawski 106486c7ad MDL-38106 lesson: don't require intro when upgraded 2014-10-06 14:54:53 +01:00
Dan Poltawski 9c054ebbe3 Merge branch 'MDL-45504' of git://github.com/stronk7/moodle 2014-10-06 14:00:20 +01:00
Dan Poltawski 816d082241 MDL-43089 question: fix shifter build issues 2014-10-06 13:53:26 +01:00
Marina Glancy b79d2e2c08 Merge branch 'wip_MDL-47538_m28_phpunitseq' of git://github.com/skodak/moodle 2014-10-06 20:40:13 +08:00
Marina Glancy 2891651959 Merge branch 'MDL-46210-master' of git://github.com/danpoltawski/moodle 2014-10-06 20:39:09 +08:00
Marina Glancy e286185334 Merge branch 'MDL-47221-master' of git://github.com/danpoltawski/moodle 2014-10-06 20:38:29 +08:00
Dan Poltawski 0892a5d65f MDL-43089 question: fix whitespace 2014-10-06 12:56:45 +01:00
Dan Poltawski 84f9d6f3df Merge branch 'MDL-43089-behat-fixup' of https://github.com/timhunt/moodle 2014-10-06 12:49:55 +01:00
Dan Poltawski 2eb24eb85a Merge branch 'MDL-43089' of git://github.com/mkassaei/moodle 2014-10-06 12:11:33 +01:00
Dan Poltawski d79fd5cd29 Merge branch 'MDL-47426' of git://github.com/timhunt/moodle 2014-10-06 08:54:09 +01:00
Gregory Faller 452beca98d MDL-46712: Center EditPDF window on browser resize / zoom 2014-10-06 14:44:51 +08:00
Petr Skoda ddffa9d6d3 MDL-47538 phpunit: fix invalid PHPUNIT_SEQUENCE_START constant 2014-10-06 17:31:15 +13:00
Andrew Nicols f67b5c995e MDL-47183: viewhiddenactivities should use the module context
Thanks to Paulo Matos for the forum part of this change.
2014-10-06 12:21:49 +08:00
Marina Glancy 9b65d0dd62 MDL-36014 cohorts: specify exact cohort names in unittest 2014-10-06 09:50:29 +08:00
Marina Glancy d512e5f833 MDL-40351 block_course_overview: minor corrections 2014-10-06 09:36:58 +08:00
Julien Boulen 076109dfbe MDL-40351 Blocks, My home: Course Categories on the My Home Page 2014-10-06 09:32:13 +08:00
Adrian Greeve 1464bcc8ed MDL-46547 gradebook: Update to print_grade_page_head
Upgrade to print_grade_page_head to include help messages in the
title of the page.
2014-10-06 09:14:04 +08:00
Adrian Greeve aa60bda9f4 MDL-46547 gradebook: grade import plugin for drag and drop.
This allows information to be dragged and dropped directly into a
form to be imported into the gradebook.
2014-10-06 09:14:04 +08:00
Adrian Greeve c3ba8429e1 MDL-46547 gradebook: Unit tests for new class importing csv files. 2014-10-06 09:14:04 +08:00
Adrian Greeve b0147a652c MDL-46547 gradebook: Moving gradebook csv import into a class.
This allows plugins such as drag and drop to use / extend the class
and saves on duplicating code.
2014-10-06 09:14:04 +08:00
Eloy Lafuente (stronk7) 37c99c3237 MDL-47536 timezones: update to 2014h (2296 rules) 2014-10-06 01:53:48 +02:00
Eloy Lafuente (stronk7) 2b9c1cc5a4 MDL-45504 environment: define 2.8 requirements
No changes from 2.7, so this is a simple copy of them.

The MyISAM case (MDL-46064) will be considered for 2.9.
2014-10-06 01:11:41 +02:00
Sam Hemelryk 7b08f6e888 Merge branch 'master_MDL-47316' of git://git.catalyst.net.nz/moodle-r2 2014-10-06 11:15:44 +13:00
Sam Hemelryk 79eefed3c8 Merge branch 'MDL-43472-master' of git://github.com/danpoltawski/moodle 2014-10-06 11:10:19 +13:00
Tim Hunt 2dee2330aa MDL-43089 behat: fix core_question tests that use quiz.
Unfortunately, using the quiz is the only way to test this, so no way to break the dependency.
2014-10-05 22:47:52 +01:00
Sam Hemelryk 127ef54082 Merge branch 'MDL-45374' of git://github.com/jleyva/moodle 2014-10-06 10:44:30 +13:00
Dan Poltawski 49bee6dc67 MDL-46210 langimport: behat tests
Behat tests for lang import. To run these tests you must define the
TOOL_LANGIMPORT_REMOTE_TESTS constant - because they rely on the
download.moodle.org infrastructure.
2014-10-05 14:40:47 +01:00
Dan Poltawski ed914e31c5 MDL-46210 langimport: logging for install/update/remove
Now that we have sceduled tasks updating the langpacks, its useful
to log which actions have occured.
2014-10-05 14:34:38 +01:00
Dan Poltawski a90674fc9c MDL-47496 lib: remove XML_Parser library
It has been flagged as deprecated for many years and no longer used.
2014-10-05 14:28:33 +01:00
Dan Poltawski ab7fa55694 MDL-47470 behat: fix 'I navigate to' exception
When a child page is not found
2014-10-05 14:28:15 +01:00
Dan Poltawski 16078807f8 MDL-47221 task: allow 'random' time definitions
When working against external services it can be advantageous to not
have automated tasks all hit the service at the exact same time from
many different installations.

This change allows the use of 'R' in hour/minute fields of the scheduled
task definition so a task will be installed with a 'random' hour/minute
value for these sort of occasions.

Note that the task will be installed in the database with a defined
time, this simply randomises the time chosen when loading from the
definiton.
2014-10-05 14:27:04 +01:00
Dan Poltawski 1028f6fab8 MDL-46210 langimport: task for updating langpacks
Now langpacks will be updated by scheduled task every day rather
than updating manually.
2014-10-05 14:25:45 +01:00
Dan Poltawski 816b3e0176 MDL-46210 langimport: Rearrange code
Factoring code into a controller class so that the update
can be put into a scheduled task (and be a bit tider).
2014-10-05 14:25:45 +01:00
Dan Poltawski 516ea6cf8b MDL-47221 task: allow 'random' time definitions
When working against external services it can be advantageous to not
have automated tasks all hit the service at the exact same time from
many different installations.

This change allows the use of 'R' in hour/minute fields of the scheduled
task definition so a task will be installed with a 'random' hour/minute
value for these sort of occasions.

Note that the task will be installed in the database with a defined
time, this simply randomises the time chosen when loading from the
definiton.
2014-10-05 14:25:44 +01:00
Dan Poltawski 5b17d81dce MDL-38106 lesson: behat now sets introduction 2014-10-05 14:12:59 +01:00
Sam Hemelryk 3973b67f61 MDL-46481 backup: removed collapsing and better lang string
Thanks Rex for the peer-review!
2014-10-05 16:21:38 +13:00
AMOS bot ec0a4686c2 Automatically generated installer lang files 2014-10-05 00:05:31 +08:00
Jean-Michel Vedrine 0abc18cf4d MDL-32870 Lesson: No HTML editor for questions answers and responses 2014-10-04 15:13:01 +02:00
Dan Poltawski 06b5e81bcd MDL-43472 course: behat tests for searching courses 2014-10-04 08:40:32 +01:00
Julien Boulen 0556eaa9b0 MDL-46984 core_course: added grouping name for activities with no link 2014-10-03 13:10:01 -07:00
Juan Leyva 7ea6ada343 MDL-47389 forum: Return discussions count in get_forums_by_courses ws 2014-10-03 16:39:02 +02:00
Juan Leyva ffb8abc290 MDL-45374 messages: Bump version number 2014-10-03 16:37:52 +02:00
Juan Leyva 193edf7f77 MDL-45374 messages: Created new API function message_get_messages 2014-10-03 16:37:13 +02:00
Juan Leyva 6ff4464b43 MDL-45374 messages: get_messages ws unit tests 2014-10-03 16:37:13 +02:00
Juan Leyva aff9da176a MDL-45374 messages: get_messages ws definition 2014-10-03 16:37:12 +02:00
Juan Leyva da1be050bc MDL-47084 forum: New moodle_url method make_webservice_pluginfile_url 2014-10-03 16:34:48 +02:00
Juan Leyva 694bf0c74b MDL-47084 forum: Return user picture URL in get_posts WS 2014-10-03 16:34:48 +02:00
Juan Leyva 48fb0250d2 MDL-47084 forum: Return attachments and pluginfiles in get_posts WS 2014-10-03 16:34:48 +02:00
Juan Leyva ef8a44dea0 MDL-46458 forum: get_forum_discussions deprecated 2014-10-03 16:34:00 +02:00
Juan Leyva 2ce8934b35 MDL-46458 forum: New WS get_forum_discussions_paginated services 2014-10-03 16:34:00 +02:00
Juan Leyva c258667257 MDL-46458 forum: New WS get_forum_discussions_paginated tests 2014-10-03 16:31:41 +02:00
Juan Leyva 7c51b40ab1 MDL-46458 forum: New WS get_forum_discussions_paginated 2014-10-03 16:31:41 +02:00
Willy Lee fe3999eca2 MDL-43472 course: Add bulk move to management search page 2014-10-03 06:46:18 -07:00
Daniel Neis Araujo d83891729a MDL-38106 mod_lesson: Add introduction field 2014-10-03 14:38:03 +01:00
Tony Butler 1e31f11852 MDL-28484 core_lib: Add function for https detection
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-10-03 13:02:29 +01:00
Marina Glancy 58b5b04d4b MDL-35618 enrol_cohort: remove enrolment button 2014-10-03 18:28:48 +08:00
Marina Glancy b654819297 MDL-35618 enrol_manual: Add possibility to manually enrol cohort members 2014-10-03 18:28:45 +08:00
Marina Glancy fbb250f8ef MDL-36014 cohorts: Support cohort visibility in Upload cohorts 2014-10-03 18:26:37 +08:00
Marina Glancy 80f98467f8 MDL-36014 cohorts: Allow teachers to view cohorts
Added property 'visible' for cohorts. Unsetting it hides the cohort from users in the course.

AMOS BEGIN
 CPY [visible,core_moodle],[visible,core_cohort]
AMOS END
2014-10-03 18:26:34 +08:00
Marina Glancy 78fb7110e0 MDL-36014 cohorts: fix string names
Cohort capabilities are defined in lang/en/roles.php, remove(rename) the capability-styled strings

AMOS BEGIN
 CPY [cohort:assign,core_assign],[assigncohorts,core_assign]
AMOS END
2014-10-03 17:56:22 +08:00
Neill Magill a2aac5147d MDL-46182 Inefficient query during Moodle upgrade on course_section table.
This part of the code is changing an index on the course_sections table to be unique, for this to happen in the upgrade script the index must be deleted and then the new version added.

Before this change the following was being done:

* The index is removed
* A query to delete records that were not unique on this index is performed
* The unique version of the index is added

After this change the following happens:

* A query to delete records that were not unique on this index is performed
* The index is removed
* The unique version of the index is added

When the original index is present the query uses it, which greatly improves the execution plan.

Before the change an upgrade on a site with around 387967 course_section records the upgrade would be stuck on the delete query for many hours, after the change the time can be measured in minutes.
2014-10-03 10:27:06 +01:00
Adrian Greeve 102c1c3671 MDL-46576 core_grades: Update upgrade scripts new version number 2014-10-03 17:06:42 +08:00
Marina Glancy d75a2367c3 MDL-47520 core_grades: added CSS classes to the setup page
Part of: MDL-46576
2014-10-03 17:06:41 +08:00
Damyon Wiese a9937aec06 MDL-47062 Grades: Add an upgrade step to warn about changes in upgrade.
Puts a notice on the grader report about the change in aggregation method
from "Sum of grades" to "Natural".

Part of: MDL-46576
2014-10-03 17:06:41 +08:00
David Mudrák 6073131713 MDL-31936 workshop: Generator able to create submissions and assessments
This is a basic implementation of the actual content generation in the workshop
generator. Note the we do not generate actual grading form data (which is what
the grading strategy plugins would do), just their results.
2014-10-03 10:49:06 +02:00
David Mudrák f2639dca1d MDL-31936 workshop: Add more options to the course reset form
This is built upon original work by Michael Hughes. We now have separate
settings for deleting workshop submissions, assessments and for resetting the
workshop phase.
2014-10-03 10:48:38 +02:00
David Mudrák 4a44c660e5 MDL-31936 workshop: Delete attachments on record removal
The methods workshop::delete_submission() and workshop::delete_assessment() did
not delete files (embedded and attachments) associated with the given
submission or assessment. This is fixed now.

Additionally, the delete_assessment() method now cleans-up records from the
table workshop_grades, too. This internal workshop API still does not give
workshop subplugins a chance to clean up their data, should they store them in
their own tables instead of the workshop_grades one. This should be improved in
the future yet.
2014-10-03 10:47:19 +02:00
David Mudrák 84f8b00166 MDL-31936 workshop: Fix overall feedback content processing order
This is unrelated to the issue but was spotted while testing it. The order of
format_text() and file_rewrite_pluginfile_urls() was incorrect and threw
debugging message. Fixed now.
2014-10-03 10:46:32 +02:00
David Mudrák e04a0f6b34 MDL-31936 course: Add missing file level docblock to the reset_form.php
Not related to the issue itself but spotted while working on the
workshop reset feature.  Assigning copyleft holder to Petr as the
original author of the file.
2014-10-03 10:45:23 +02:00
Michael Hughes 9c3b03f415 MDL-31936 workshop: Add unit tests for the workshop reset 2014-10-03 10:45:06 +02:00
Marina Glancy ccff58daee MDL-47299 libraries: upgrade PHPMailer to 5.2.8 2014-10-03 16:44:42 +08:00
Michael Hughes 6f760e0107 MDL-31936 workshop: Initial implementation of the course reset support 2014-10-03 10:44:40 +02:00
David Mudrák 5c29cc6e85 MDL-44536 workshop: Fix missing phpDoc for user report callbacks 2014-10-03 09:56:46 +02:00
Dave Cooper 3d8ef7c65d MDL-47353 gradereport_grader: Fix header offset logic for floating headers
This is necessary for themes with non-fixed navbars to work with the
grader report, otherwise headers will be hidden.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:46:02 +08:00
Andrew Nicols 6821f7310c MDL-46658 gradereport_grader: Make page CSS more specific 2014-10-03 15:44:41 +08:00
Andrew Nicols 325e81d309 MDL-47124 gradereport_grader: Update row/column sizes when showing/hiding quickedit fields
This makes use of Global YUI events to trigger the resized event handler.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:39 +08:00
Zachary Durber eede44b54e MDL-46936 gradereport_grader: Restore AJAX editing to gradereport
Removed id argument from AJAX code, no longer supplied.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:31 +08:00
Andrew Nicols 33bc816e89 MDL-47028 gradereport_grader: Add floating headers for other cells.
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:28 +08:00
Frederic Massart 457a113e5e MDL-47063 gradereport_grader: Styles applied for overridden grades 2014-10-03 15:44:24 +08:00
Frederic Massart 78ec0bb3af MDL-47026 gradereport_grader: Removing the tooltips
They are not serving the same purpose as the one they had before,
and they were overlapping with the content of the cell. Positioning
them somewhere else made them more confusing than helpful.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:23 +08:00
Frederic Massart 43998ad11c MDL-47025 gradereport_grader: Removing highlight feature
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:17 +08:00
Andrew Nicols bc782f1f4c MDL-47053 gradereport_grader: Add a floating Footer Title cell
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:13 +08:00
Frederic Massart 8a9335075e MDL-47027 gradereport_grader: Removed floating save changes button
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:07 +08:00
Frederic Massart d688ee6d33 MDL-47027 gradereport_grader: Styling when editing is turned on
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:04 +08:00
Frederic Massart b0cade1103 MDL-46988 gradereport_grader: Fix styling issues for RTL
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:04 +08:00
Frederic Massart 62e11d37c2 MDL-46950 gradereport_grader: Prettier styling for base and clean
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:04 +08:00
Frederic Massart 31819e8961 MDL-46950 gradereport_grader: Consolidate styling of the elements
The grader table has been made entirely standalone from core or
theme styling. The floating divs have to share the exact same
rules, and so it was a lot easier and more maintainable to just
style them both using the same selectors, entirely ignoring the
table default styles.

And because the selectors are unique for both the floating elements
and the table cells, a themer can easily re-use them to style both,
without having to dig around to find all the selectors to overwrite.

Working on this highlighted some issues with the positioning. Those
have been fixed within the same patch. And even though it is still
not 100% correct on IE, the result is pretty decent.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:44:01 +08:00
Frederic Massart 7dc48b4629 MDL-46962 gradereport_grader: Correct positioning when using RTL languages
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:49 +08:00
Frederic Massart 10ce95aae3 MDL-46951 gradereport_grader: Giving some love to IE
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:46 +08:00
Frederic Massart 1da29869aa MDL-46951 gradereport_grader: Handling of user cells when resizing
For some reason, the max-width/min-width/width of the table cell containing
the name of the users did not work, leading to very large columns but a very
narrow floating one. Handling the size of those columsn upon resize was
also necessary after with this fix.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:42 +08:00
Frederic Massart b6ad809581 MDL-46951 gradereport_grader: Disable floating behaviour when table is empty
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:37 +08:00
Frederic Massart f79776cb7f MDL-46951 gradereport_grader: Compatibility with base themes
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:32 +08:00
Frederic Massart 569c77e623 MDL-46951 gradereport_grader: Removing broken spinner logic
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:28 +08:00
Andrew Nicols 8c037a917b MDL-46663 gradereport_grader: Remove fixed column support
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:19 +08:00
Andrew Nicols 99b119c166 MDL-46663 gradereport_grader: Remove old scrollview code
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:18 +08:00
Andrew Nicols feb0014b84 MDL-46731 gradereport_grader: Move tooltips to YUI module
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:16 +08:00
Andrew Nicols d3eec1584a MDL-46774 gradereport_grader: Move row/column highlight code to YUI module
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:43:05 +08:00
Andrew Nicols 6ad1af094e MDL-47046 gradereport_grader: Update JS to meet coding style guidelines
This also moves the code into a set of separate files to allow for
additional components of the report to be migrated to the same YUI module,
adjusts some UI components, improves JS performance, and adds appropriate
documentation.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:42:03 +08:00
Jetha Chan 6da0e4cfff MDL-45893 user_menu: based on action_menu, new responsive approach 2014-10-03 15:12:59 +08:00
Alfonso Roman 2c4a3f7525 MDL-47045 gradereport_grader: Improve Grader report user interface
This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
2014-10-03 15:12:36 +08:00
Tim Hunt 16fa272e29 MDL-47132 quiz: move the remains of editlib.php to locallib.php 2014-10-03 07:54:47 +01:00
Tim Hunt 8aa5e0cf58 MDL-47132 quiz: move question bank extensions to classes/question/bank
While doing this code clean-up, I noticed that the question bank pop-up was
only showing the question name, whereas it should have been showing the
question name and the start of the question text, so I fixed that.
2014-10-03 07:54:46 +01:00
Marina Glancy 837b92897d MDL-47430 core_grades: rename strings in Behat tests 2014-10-03 13:55:25 +08:00
Marina Glancy ebfcb9eb90 MDL-47492 core_grades: Behat test for using scales and mingrade in gradebook 2014-10-03 13:55:25 +08:00
Marina Glancy 97329f1bc1 MDL-47492 behat: refer to table column indexes instead of names 2014-10-03 13:55:25 +08:00
Marina Glancy 165cdabacb MDL-47146 core_grades: fix class names (contd)
Part of: MDL-46576
2014-10-03 13:55:25 +08:00
Frederic Massart 3a1a6c6712 MDL-47430 core_grades: Adding behat test for alternative mingrade
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Frederic Massart 0b2e8ae07b MDL-47430 core_grades: Handle negative grademin with natural weighting
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Damyon Wiese 11c93e286b MDL-47110 Grades: Get the autoupdateweight behat tests to pass.
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Damyon Wiese e61f25a4f8 MDL-47110 Grades: Change how updated weights notifications are detected.
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Adrian Greeve f70da024c8 MDL-47110 core_grades: Update to auto_adjust_weights
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Marina Glancy 2f15decb37 MDL-47110 grades: more behat tests 2014-10-03 13:55:24 +08:00
Adrian Greeve 519429b24f MDL-47110 core_grades: Normalisation of grade weights.
This includes behat tests for this change.

Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Frederic Massart 8936e902ff MDL-47377 core_grades: Behat test to cover 0 weights 2014-10-03 13:55:24 +08:00
Frederic Massart 64055d50bc MDL-47377 core_grades: Handle items with a weight of 0
They do not contribute to the category/course total any more.

Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Damyon Wiese b96cc97606 MDL-47418 Grades: Fix debugging in behat test. 2014-10-03 13:55:24 +08:00
Marina Glancy 290ddb7317 MDL-47253 core_grades: display scale in Natural setup
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Marina Glancy 313e975349 MDL-47253 core_grades: set def aggregation method to Natural
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Damyon Wiese c529f4b30f MDL-47420 Grades: Get unit tests passing on natural grading branch
Part of: MDL-46576
2014-10-03 13:55:24 +08:00
Marina Glancy 663949e652 MDL-47417 core_grades: reset grademax when switching from Natural
in Natural aggregation method the grademax is automatically adjusted
when switching to another aggregation method it should be reset
to 100
2014-10-03 13:55:23 +08:00
Damyon Wiese 6077a4d43b MDL-47064 Grades: Final fix - set the grademax from the item, not the cat
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese ee07a54be0 MDL-47064 Grades: Peer review cleanups
Changes include:
 * Search for existing items to reduce DB queries in grade_category::aggregate_grades
 * Comments improvements
 * Move brackets to be part of lang string
 * Convert aggregationhints to be a class variable instead of passing it around

Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese 6070e53313 MDL-47064 Grades: Add comments to explain this tricky code.
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese 852fae0b71 MDL-47064 Grades: Fix contribution column for other types of aggregation
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese 85bb809494 MDL-47064 Grades: Add contribution to course total to behat test.
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese 446467f0d3 MDL-47064 Grades: Make the contribution to total column work
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Damyon Wiese 53771c404f MDL-47064 Grades: Fix the contributed weights column for students and teachers.
Part of: MDL-46576
2014-10-03 13:55:23 +08:00
Simey Lameze 3c46f7e1b9 MDL-47064 core_grades: fix the calculation of contribution towards total
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy 6bf696bba2 MDL-47146 core_grades: improve navigation on grade pages
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Frederic Massart 2917d45410 MDL-47146 core_grades: Behat test for Natural weights on setup screen
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Frederic Massart b0c91d7271 MDL-47146 core_grades: Improve labels of the fields on setup screen
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Frederic Massart 6c37563e00 MDL-47146 core_grades: Use a checkbox to override weights
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy 6723bc66e1 MDL-47146 core_grades: correcly align the select column
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy b79bf7a234 MDL-47146 core_grades: Removed unused setup columns
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy bfc8c1d4d6 MDL-47146 core_grades: change columns on setup page
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy 2e3ec2af02 MDL-47146 core_grades: change action buttons on setup screen
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy 513d2118dd MDL-47146 core_grades: fix navigation bar in grades setup pages
Part of: MDL-46576
2014-10-03 13:54:39 +08:00
Marina Glancy 912d19908a MDL-47146 core_grades: remove advanced mode in setup
Part of: MDL-46576
2014-10-03 13:54:38 +08:00
Marina Glancy 8faa560ca9 MDL-47146 core_grades: merge simple and full view in setup
Part of: MDL-46576
2014-10-03 13:54:38 +08:00
Marina Glancy ddb9c95f1f MDL-47146 core_grades: fix class names
Class names for grade categories were the same as for the columns in the table causing errors
when selecting All/None items

Part of: MDL-46576
2014-10-03 13:54:38 +08:00
Frederic Massart b4087c31bc MDL-47254 core_grades: Backup aggregationcoef2 and weightoverride
Part of: MDL-46576
2014-10-03 13:54:38 +08:00
Frederic Massart e8e1d0a396 MDL-47255 core_grades: Save aggregationcoef2 and weightoverride in history
Part of: MDL-46576
2014-10-03 13:54:38 +08:00
John Okely 351c8e08a9 MDL-47006 core_grades: Fix handing of weight to aggregationcoef
Part of MDL-46576.
2014-10-03 13:54:07 +08:00
John Okely d6447690bd MDL-47006 core_grades: Change category and item forms back to using
aggregationcoef and aggregationcoef2

Part of MDL-46576.
2014-10-03 13:54:07 +08:00
John Okely 61e521bb09 MDL-47006 core_grades: Add weightoverride to qualifies_for_regrading
Part of MDL-46576
2014-10-03 13:54:07 +08:00
John Okely 0281770091 MDL-47006 core_grades: Fix float formatting
Part of MDL-46576
2014-10-03 13:54:07 +08:00
John Okely d32b293eac MDL-46576 core_grades: MDL-47006 Change aggregationcoef2's comment 2014-10-03 13:54:07 +08:00
John Okely b6a1e366a7 MDL-46576 core_grades: MDL-47006 Refactor weightings code for readibility 2014-10-03 13:54:07 +08:00
Frederic Massart ded8ea8fd1 MDL-46824 core_grades: Only display 'Drop n lowest' when supported
Part of: MDL-46576
2014-10-03 13:54:07 +08:00
Frederic Massart 6dab372c89 MDL-46824 core_grades: More tests to cover drop lowest with Natural
Part of: MDL-46576
2014-10-03 13:54:07 +08:00
Frederic Massart 40544c9b58 MDL-46824 core_grades: Prevent user from using drop lowest/keep highest
Part of: MDL-46576
2014-10-03 13:54:06 +08:00
Frederic Massart 4272386a7d MDL-46824 core_grades: Control when drop lowest/keep highest is allowed
Part of: MDL-46576
2014-10-03 13:54:06 +08:00
Adrian Greeve dcfc196a0d MDL-47256 gradebook: Fixed up split in new field upgrade script.
Part of: MDL-46576
2014-10-03 13:54:06 +08:00
Frederic Massart ef1b3e56f7 MDL-47345 core_grades: Pre-regrade method is executed from children to parent
Part of: MDL-46576
2014-10-03 13:53:02 +08:00
Marina Glancy 022383d3af MDL-46139 grades: show aggregation details in the user report
Part of: MDL-46576
2014-10-03 13:53:02 +08:00
Marina Glancy b0e9b95911 MDL-46139 grades: adjust behat to check calculated weight
Part of: MDL-46576
2014-10-03 13:53:02 +08:00
Marina Glancy d06aec10c6 MDL-46576 grades: new behat step for changing grade settings 2014-10-03 13:53:01 +08:00
Damyon Wiese 90cc8ce7c4 MDL-47059 Grades: Update the grade_grade if the finalgrade/or the grademax has changed.
Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Damyon Wiese 1577229f93 MDL-47059 Grades: Make natural weights work with extra credit
Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Damyon Wiese 057063b1e6 MDL-47059 Grades: Make natural weights work with exclude empty grades
Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Damyon Wiese 5a59aeb14e MDL-47078 Grades: Allow users to have different max grades due to exclusions etc.
This is about making this work with natural weightings.

Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Damyon Wiese a2c13f686a MDL-47009 Grades: Improve natural weighting algorithm
It's still not perfect, but this is getting closer.

This is based on Johns work on MDL-47009 (just the algorithm). There are some additional
changes to scale the weights if they do not add up to 1.

Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Frederic Massart 825fba1c5b MDL-47274 core_grades: Correct totals when excluding hidden items
Part of: MDL-46576
2014-10-03 13:53:01 +08:00
Frederic Massart fcf6e01517 MDL-47056 core_grades: Prevent items being displayed as 'Error'
Before this patch we would be marking some items as 'needsupdate'
during an update. Leaving them aside and not effectively updating
them.

Part of: MDL-46576
2014-10-03 13:51:30 +08:00
Frederic Massart 32ee0f83ae MDL-47260 core_grades: Prevent notices when setting up other aggregation method
This partially reverts:

- 4927c3ff (MDL-47011)
- 6484d460 (MDL-47055)

Part of: MDL-46576
2014-10-03 13:51:30 +08:00
Marina Glancy ab17b4f3c8 MDL-46139 core_grades: adjust behat tests
Part of MDL-46576
2014-10-03 13:51:30 +08:00
Marina Glancy ae5ba1d74d MDL-46797 core_grades: adjust behat tests
Part of MDL-46576
2014-10-03 13:51:30 +08:00
Marina Glancy 79fbab4d04 MDL-46966 core_grades: adjust behat tests
Part of MDL-46797
2014-10-03 13:51:30 +08:00
Frederic Massart 276690035f MDL-47098 core_grades: Fields to adjust a category's weight 2014-10-03 13:51:29 +08:00
Andrew Davis 25bffb950d MDL-47055 core_grade: fixed extra credit handling on the full setup page 2014-10-03 13:51:29 +08:00
Frederic Massart ae93f35317 MDL-46827 core_grades: Allow reset of weights on categories 2014-10-03 13:51:29 +08:00
Barbara Ramiro c93cf01da7 MDL-46827 usability: New icon for reset actions 2014-10-03 13:51:29 +08:00
Jetha Chan 200e5173c0 MDL-47007 core_grade: weights now shown on edit screen as percentages 2014-10-03 13:51:29 +08:00
Andrew Davis b14c5870fb MDL-47055 core_grade: implemented support for extra credit within natural weighting 2014-10-03 13:51:29 +08:00
Mark Nelson 430b9ef507 MDL-47058 core_grades: allow alteration of weight
Part of MDL-46576
2014-10-03 13:51:29 +08:00
Mark Nelson 268085a187 MDL-47058 core_grades: removed unnecessary print_object call
Part of MDL-46576.
2014-10-03 13:51:29 +08:00
John Okely d57ea5996d MDL-46576 core_grade: Simplify code, remove obsolete calculations 2014-10-03 13:51:29 +08:00
John Okely 11eca362e2 MDL-46576: Fix natural weight maximums aggregation (MDL-47009) 2014-10-03 13:51:29 +08:00
John Okely aa7055290e MDL-46576: Update reports so that they display natural weights properly (MDL-47009) 2014-10-03 13:51:29 +08:00
Andrew Davis 64b03e5bd7 MDL-47011 core_grade: added ability to un-override grade_item weight 2014-10-03 13:49:41 +08:00
Andrew Davis f8259c2fbf MDL-46966 core_grade: altered the default value of grade_aggregations_visible so only natural is on by default 2014-10-03 13:49:41 +08:00
Andrew Davis 45da536113 MDL-47011 core_grade: added the ability to override grade_item weight 2014-10-03 13:49:41 +08:00
Andrew Davis a2f1f65db4 MDL-47011 core_grade: added naive natural weight calculation to gradebook 2014-10-03 13:49:22 +08:00
John Okely 677bc07377 MDL-46576 core_grades: Add weights to natural (MDL-47006) 2014-10-03 13:49:22 +08:00
John Okely b5e00814b3 MDL-46576 code_grade: Rename "Sum of grades" aggregation to "Natural" 2014-10-03 13:48:55 +08:00
Damyon Wiese 7eb0b9c44b MDL-46139 Grades: Add behat tests for the new columns in the user report 2014-10-03 13:48:55 +08:00
Damyon Wiese 8836ef8aa2 MDL-46139 Grades: Add new grade_grades aggregation columns to backup/restore. 2014-10-03 13:48:55 +08:00
Damyon Wiese a1740d7b48 MDL-46139 Grades: Change usedinaggregation column to 2 columns for status and weight. 2014-10-03 13:48:55 +08:00
Damyon Wiese dadc9d991d MDL-46139 Grades: Add contibution to course total column to user report 2014-10-03 13:47:42 +08:00
Damyon Wiese 65c2ac9334 MDL-46139 Grades: Show the aggregation details in the user report. 2014-10-03 13:47:42 +08:00
Damyon Wiese 9dd8088255 MDL-46139 Grades: Show the aggregation method in the alt text for the icon. 2014-10-03 13:47:42 +08:00
Damyon Wiese bfe969e8b3 MDL-46139 Grades: Add a column to grade_grades to record how a grade is aggregated 2014-10-03 13:47:42 +08:00
Damyon Wiese 2e19f5e8e7 MDL-46139 Grades: Language change "weight -> calculated weight" 2014-10-03 13:47:41 +08:00
Andrew Nicols c87b87e62f MDL-36460 mod_forum: Restrict forum subsription list based on availability info 2014-10-03 08:20:24 +08:00
Rex Lorenzo 7cd004e285 MDL-47518 report_log: Logfiles of single users no longer accessible
* Removing join on courseid if it is the SITEID.
2014-10-02 16:33:52 -07:00
Tim Hunt 50b5dde8d1 MDL-28075 question editing: tidy code
Remove an unnecessary else (the if, and else if, always end in a redirect)
and unindent that code.
2014-10-02 22:03:12 +01:00
Tim Hunt 04bf7ac857 MDL-28075 question editing: sort out nav bar when editing in a quiz
If you edited a question from the Edit quiz page in a quiz, the navigation
bar was far too long. This was due to some odd code that was trying too
hard to be clever.

Instead, editing a question is now always treated as being logically within
the question bank for the purposes of navigation. That is, even if the
returnurl will end up taking you back to where you where when you have finished.
2014-10-02 22:03:12 +01:00
Sam Hemelryk bae30ef320 MDL-46481 backup: behat tests for the quick backup button 2014-10-03 09:43:08 +13:00
Sam Hemelryk f3973676e8 MDL-46481 backup: implemented quick backup process (one click) 2014-10-03 09:43:08 +13:00
Colin Chambers e1a2d0d92d MDL-43089 quiz: improved interface for building quizzes
This commit is actually the joint work of Mahmoud Kassaei, Colin
Chambers and Tim Hunt from The Open University. We could only use one
persons name for the commit, and this time Colin gets the credit/blame.

The goal of this work was to increase usability, and also clean up
the page enough that it will be possible to add new features in future.

Display of mod/quiz/edit.php is now entirely generated by
mod_quiz\output\edit_renderer. This uses a helper class
mod_quiz\structure to provide details of the structure of the quiz, and
mod_quiz\repaginate to alter that structure. (Acutally, there are still
some modification methods on mod_quiz\structure. Expect that to be
cleaned up in future.)

The new code uses much more ajax, and there are new scripts
mod/quiz/edit_rest.php and mod/quiz/repaginate.php to handle this.
(Again, don't be surprised if those two scripts get merged in future.)
Also questionbank.ajax.php (which may, in future, be made more generic,
and moved into the core question bank code.)

Most of the new JavaScript code has intentionally copied the way things
are done when editing activities on the course page.

As a result of this, mod/quiz/editlib.php is now much shorter than it
was. (In future, expect the remaining code in here to move into
mod/quiz/classes.)
2014-10-02 17:22:23 +01:00
Tim Hunt a75fa4c068 MDL-47476 qformat_learnwise: rest in peace.
Learnwise was an old LMS that no longer exists. (Last reference found on
Google from 2009.) So we are removing the ability to import questions in
that format.
2014-10-02 17:16:16 +01:00
Tim Hunt 482ca72089 MDL-47426 assign local roles: rewrite query for better performance.
This is an extremely dangerous query, because it includes the user
table twice, along-side two other potentially large tables,
role_assignments and user_enrolments.

The solution is to rewrite the query so that:

1. The subquery is JOINed, not WHERE ... INed. Typically query
   optimisers handle the JOIN case better.

2. Before the join was role-assignments <-> users <-> subquery.
   That is, everything was linked to u.id.

   Now the linking is role-assignments <-> subquery <-> users,
   so the SELECT DISTINT eu1_u.id FROM {enrolled users} is central.
   That seems to send a strong hint to the query optimiser about
   a good order to execute the query.
2014-10-02 17:10:40 +01:00
Dan Poltawski 6597413d41 weekly release 2.8dev 2014-10-02 15:18:52 +01:00
Dan Poltawski 9438c6412e NOBUG: Fixed file access permissions 2014-10-02 15:18:51 +01:00
Dan Poltawski 356e857bbb Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-10-02 15:18:48 +01:00
sam marshall 80ee9add2d MDL-47481 Availability: Profile condition error if no users 2014-10-02 10:39:20 +01:00
Dan Poltawski 7e704313d2 Merge branch 'MDL-37707-master-fixup' of https://github.com/FMCorz/moodle 2014-10-02 09:48:25 +01:00
Dan Poltawski 2e8101f6e6 Merge branch 'MDL-46282-master-fix' of github.com:andrewnicols/moodle 2014-10-02 09:35:30 +01:00
Dan Poltawski be6779d0c4 Revert "MDL-32870 mod_lesson: added support for files to question answers and responses"
This reverts commit d92f768baa.
2014-10-02 09:09:16 +01:00
Sam Hemelryk 454034351b Revert "MDL-47395 added cli_error() visual cue"
This reverts commit eb60c78c77.
2014-10-02 17:39:49 +13:00
Sam Hemelryk 251089fe44 Merge branch 'MDL-47408-master' of https://github.com/DmitryNefedov/moodle 2014-10-02 17:30:47 +13:00
Dmitry Nefedov 66b864c797 MDL-47408 user: Add checking before adding blog's link.
Checking enableblogs  and bloglevel, userid, constant  BLOG_USER_LEVEL.
2014-10-02 12:17:14 +08:00
Andrew Nicols 390485058e MDL-46282 core: Correct deletion of message datakeys
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-10-02 11:50:34 +08:00
Willy Lee cc6b20fbc8 MDL-46295 course: add search box to all course listings, manage button when appropriate 2014-10-01 22:31:24 +08:00
Frederic Massart 776f66d8e0 MDL-47298 libraries: Update password_compat to latest version 2014-10-01 17:03:29 +08:00
Dan Poltawski 76e348d46d Revert "MDL-45893 user_menu: revised based on action_menu"
Was not yet ready for the prime time.

This reverts commit dc4bff329d.
This reverts commit a535004e5c.
This reverts commit c8398fb95a.
This reverts commit d24b8e52d3.

Conflicts:
	theme/bootstrapbase/less/moodle/modules.less
	theme/bootstrapbase/style/moodle.css
2014-10-01 08:58:22 +01:00
Dan Poltawski f2a8ecfae9 Merge branch 'MDL-47214-master' of github.com:andrewnicols/moodle 2014-10-01 08:37:43 +01:00
Andrew Nicols 84b02e6efd MDL-47214 core: IPs should be cleaned 2014-10-01 15:27:53 +08:00
Adam Olley 8180281b73 MDL-47484 atto_indent: Prevent loss of rangy markers in some cases 2014-10-01 13:53:23 +09:30
Frederic Massart 6849d15df5 MDL-37707 mod_assign: Prevent user from changing grouping in team submissions 2014-10-01 11:27:44 +08:00
Sam Hemelryk db89450d85 Merge branch 'master_MDL-47404' of https://github.com/danmarsden/moodle 2014-10-01 15:37:56 +13:00
Dan Marsden 9528f643d1 MDL-47404 filelib: Prevent flash from treating files as uploads
added to send_stored_file as well.
2014-10-01 15:05:56 +13:00
Eloy Lafuente (stronk7) ed3e85755c Merge branch '47428-28' of git://github.com/samhemelryk/moodle 2014-09-30 23:42:58 +02:00
Petr Skoda 366372c74e MDL-47477 libraries: use smoothness theme for jquery ui 2014-10-01 09:06:01 +13:00
Petr Skoda 5a53b77f71 MDL-47303 libraries: import latest jQuery library and friends 2014-10-01 09:04:20 +13:00
Sam Hemelryk db34f8cbdb Merge branch 'MDL-46282-master' of git://github.com/andrewnicols/moodle
Conflicts:
	version.php
2014-10-01 08:57:37 +13:00
zbdd 77218e4a52 MDL-42993 auth: spaces removed from usernames by default only
Functionality by default does not change with this patch.
However spaces are no longer stripped when cleaning usernames IF
$CFG->extendedusernamechars has been set.

Also included 2 trim statements where small issues were found with reading
external usernames in that  were not filtered for trailing whitespaces.
2014-10-01 08:24:54 +13:00
Henning Bostelmann ed8adc7cf5 MDL-47474 Calendar export: Fix user id in authorization check 2014-09-30 19:39:29 +01:00
Dan Poltawski a96e90e1c0 Merge branch 'MDL-46171-master-fix1' of http://github.com/damyon/moodle 2014-09-30 17:30:20 +01:00
Damyon Wiese 0cc1ee1f30 MDL-46171 dml: DML unit test for tricky SQL in assign upgrade
This tests a workaround for set_field_select where the set table and from table are the same.
2014-09-30 23:35:37 +08:00
Dan Poltawski 6315aa24f9 Merge branch 'MDL-46171-master-fix1' of http://github.com/damyon/moodle 2014-09-30 16:02:09 +01:00
Dan Poltawski 5990febb0c Merge branch 'MDL-45893-master-fix' of https://github.com/jethac/moodle 2014-09-30 14:35:29 +01:00
Jetha Chan dc4bff329d MDL-45893 user_menu: fix to hide user_pictures from screen readers 2014-09-30 21:18:17 +08:00
Damyon Wiese 93c51a1d0a MDL-46171 assign: Fix for the update script on MySQL. 2014-09-30 21:16:24 +08:00
Dan Poltawski f736c1b394 Merge branch '3034-28' of https://github.com/samhemelryk/moodle 2014-09-30 14:04:24 +01:00
Dan Poltawski a535004e5c MDL-45893 behat: quick fix for usermenu logout button
(This needs revisiting properly - I am not an xpath expert)
2014-09-30 13:54:07 +01:00
Yolanda Ordóñez Rufat a2ed10a5e7 MDL-47466 calendar: use get_in_or_equal() in function calendar_get_events to fix problem with ORA-01795 2014-09-30 13:23:33 +02:00
Dan Poltawski 8f97a5c66a Merge branch 'MDL-47385-master' of https://github.com/DmitryNefedov/moodle 2014-09-30 11:41:37 +01:00
Dan Poltawski ac24e87b74 MDL-47195 force an upgrade for classloader changes 2014-09-30 11:40:18 +01:00
Dan Poltawski 7cef39b534 Merge branch 'MDL-47195-master' of git://github.com/andrewnicols/moodle 2014-09-30 11:07:23 +01:00
Frederic Massart edb6a040cf MDL-47301 libraries: Patch Typo3 for Moodle's use 2014-09-30 17:32:35 +08:00
Frederic Massart 9e7cdcdd69 MDL-47301 libraries: Update Typo3 to v4.7.19 2014-09-30 17:19:23 +08:00
Dan Poltawski d62f99195a Merge branch 'm28_MDL-46127' of https://github.com/totara/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-09-30 09:55:03 +01:00
Dan Poltawski 73a37dff73 Merge branch 'MDL-47294-master' of git://github.com/FMCorz/moodle 2014-09-30 08:47:31 +01:00
Dan Poltawski 216b6aa7ee Merge branch 'MDL-47200-master' of git://github.com/jleyva/moodle
Conflicts:
	version.php
2014-09-30 08:35:19 +01:00
Dan Poltawski 53e9b39b18 Merge branch 'm28_MDL-47097' of https://github.com/totara/moodle 2014-09-30 08:30:59 +01:00
Dan Poltawski d452f49cf9 Merge branch 'MDL-32275-master' of git://github.com/gurgus/moodle 2014-09-30 08:29:02 +01:00
Dan Poltawski 0645eb6866 Merge branch 'MDL-46171-master' of git://github.com/damyon/moodle 2014-09-30 08:03:40 +01:00
Andrew Nicols 6c0bfb1449 MDL-46282 core: Add VERP API
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-09-30 14:22:30 +08:00
Sam Hemelryk 6caf85e6d6 Merge branch 'MDL-46084-master' of https://github.com/sbourget/moodle 2014-09-30 11:28:26 +13:00
Sam Hemelryk ff28497a1d Merge branch 'MDL-47419-master' of git://github.com/ankitagarwal/moodle 2014-09-30 10:35:47 +13:00
Sam Hemelryk c8398fb95a MDL-45893 user: fixed user menu for guest 2014-09-30 10:25:23 +13:00
Sam Hemelryk 2957fdddd5 Merge branch 'm28_MDL-47170' of https://github.com/totara/moodle 2014-09-30 10:03:06 +13:00
Sam Hemelryk 14aa5a408a MDL-46652 output: more thorough custom menu multilang tests 2014-09-30 09:54:08 +13:00
Sam Hemelryk 3cfbdd9e5a Merge branch 'MDL-46652-master' of git://github.com/jethac/moodle 2014-09-30 09:52:54 +13:00
Sam Hemelryk fc2856aab1 Merge branch 'MDL-47214-ClientIp-wrong-with-multiple-proxies' of https://github.com/mhughes2k/moodle 2014-09-30 08:48:20 +13:00
Daniel Neis Araujo bad2c9b14f MDL-46978 gradebook: Edit grade item changes visibility of category 2014-09-29 16:46:22 -03:00
Dan Poltawski 1c647a4473 Merge branch 'MDL-46920-master' of git://github.com/jethac/moodle 2014-09-29 16:25:41 +01:00
Juan Leyva 10c5fd10d7 MDL-46054 web_services: Fixed invalid parameter definitions 2014-09-29 16:03:23 +02:00
Marina Glancy bd132709c4 MDL-46054 web_services: wrong key in exception string 2014-09-29 16:03:22 +02:00
Marina Glancy dc14212b61 MDL-46054 web_services: bug fix in core_user_get_users
Thanks to Mikko Rantanen for the patch
2014-09-29 16:03:17 +02:00
Dan Poltawski 190ceae64b Merge branch 'MDL-47069-master-plugin-dependency' of git://github.com/mudrd8mz/moodle 2014-09-29 12:46:11 +01:00
Dan Poltawski e9eb00a0d7 Merge branch 'MDL-47163-master' of git://github.com/jleyva/moodle 2014-09-29 12:29:59 +01:00
Dan Poltawski 17382ec952 Merge branch 'MDL-47307-master' of git://github.com/FMCorz/moodle 2014-09-29 12:04:01 +01:00
Dan Poltawski c7ed7235c7 Merge branch 'MDL-47358-master' of git://github.com/FMCorz/moodle 2014-09-29 11:58:14 +01:00
Dan Poltawski 2633f23627 Merge branch 'MDL-47322-master' of https://github.com/sammarshallou/moodle 2014-09-29 11:12:29 +01:00
Dan Poltawski 156cd01e7b Merge branch 'wip_MDL-47333_m28_fonts' of https://github.com/skodak/moodle 2014-09-29 10:42:50 +01:00
Dmitry Nefedov b34eb03bb5 MDL-46391 messages: Display search button under contact list.
Add search button to only Message navigation -> Contacts section.
2014-09-29 17:30:54 +08:00
Dan Poltawski f03b612191 Merge branch 'MDL-45893-master-v2' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-09-29 10:30:42 +01:00
Sam Hemelryk 525b6ebeb9 Merge branch 'MDL-47033_master' of https://github.com/totara/openbadges 2014-09-29 15:18:03 +13:00
Sam Hemelryk fcf0cc04b3 Merge branch 'MDL-47295-master' of git://github.com/FMCorz/moodle 2014-09-29 15:17:24 +13:00
Sam Hemelryk 55f0eb8328 Merge branch 'wip_MDL-47300_m28_tcpdf' of https://github.com/skodak/moodle 2014-09-29 15:15:47 +13:00
Sam Hemelryk a9a09787e4 Merge branch 'wip-MDL-47398-master' of git://github.com/marinaglancy/moodle 2014-09-29 14:35:06 +13:00
Sam Hemelryk 71668d2efc Merge branch 'MDL-47408-master' of https://github.com/DmitryNefedov/moodle 2014-09-29 14:32:38 +13:00
Sam Hemelryk ddd0d4a56b Merge branch 'master_MDL-47404' of https://github.com/danmarsden/moodle 2014-09-29 14:23:18 +13:00
Sam Hemelryk b87711a0dc Merge branch 'MDL-36929_new_discussions' of https://github.com/andyjdavis/moodle 2014-09-29 14:21:39 +13:00
Sam Hemelryk 503324d241 Merge branch 'MDL-39190' of https://github.com/pauln/moodle 2014-09-29 14:19:52 +13:00
Sam Hemelryk a93039706c Merge branch 'MDL-20250_grade_settings2' of https://github.com/andyjdavis/moodle 2014-09-29 14:10:30 +13:00
Eloy Lafuente (stronk7) 9288030937 Merge branch 'MDL-47411-master-submodules' of git://github.com/mudrd8mz/moodle 2014-09-29 01:42:32 +02:00
Sam Hemelryk e0533f2633 Merge branch 'MDL-37707-master' of git://github.com/FMCorz/moodle 2014-09-29 11:35:23 +13:00
Sam Hemelryk cec3ac8baf Merge branch 'MDL-42974-master' of https://github.com/sammarshallou/moodle 2014-09-29 11:21:19 +13:00
Sam Hemelryk 51606b8e63 Merge branch 'MDL-47378-master' of git://github.com/danpoltawski/moodle 2014-09-29 11:19:06 +13:00
Jean-Michel Vedrine d92f768baa MDL-32870 mod_lesson: added support for files to question answers and responses 2014-09-29 11:00:28 +13:00
Brian Barnes 11edf09c61 MDL-46127 core_calendar: Removed tables when rendering a single event 2014-09-29 10:45:39 +13:00
Sam Hemelryk 29b72af1b2 Merge branch 'MDL-43566' of https://github.com/willylee/moodle 2014-09-29 09:51:35 +13:00
Sam Hemelryk d672e25b6c Merge branch 'MDL-47395' of git://github.com/nebgor/moodle 2014-09-29 09:11:25 +13:00
Sam Hemelryk 3604d399e3 Merge branch 'MDL-47381' of git://github.com/timhunt/moodle 2014-09-29 09:06:35 +13:00
Sam Hemelryk c8674e5ca5 Merge branch 'MDL-47380-master' of https://github.com/sammarshallou/moodle 2014-09-29 09:02:52 +13:00
Sam Hemelryk 50dfb7cf38 MDL-47252 mod_forum: fixed whitespace 2014-09-29 08:44:43 +13:00
Sam Hemelryk a038c1e0a3 Merge branch 'MDL-47252-master' of git://github.com/gurgus/moodle 2014-09-29 08:43:51 +13:00
Eloy Lafuente (stronk7) cfbd81253b MDL-47242 theme_bootstrapbase: Fixed whitespace (take2)
Seems that previous whitespace fix was not ok.
2014-09-28 18:27:40 +02:00
Juan Leyva feae0f9f42 MDL-47200 WebServices: Add core_files_get_files to the mob app service 2014-09-27 22:58:38 +02:00
Juan Leyva 29ad8f9746 MDL-47163 messages: Upgrade Mobile notifications to use Airnotifier v2 2014-09-27 22:55:56 +02:00
AMOS bot ca9fe684fe Automatically generated installer lang files 2014-09-28 00:09:28 +08:00
Dmitry Nefedov e2e1c98a7f MDL-47408 user: Add enableblogs checking before adding blog's link. 2014-09-27 15:23:13 +08:00
Michael Hughes ad2fc0d83f MDL-47214 General: Multiple IP addresses in X-Forwarded-For Fixed
Fixed getremoteaddr() function handle multiple IP addresses
Addressed point 2 on Dan's list
Stopped changing $CFG value after started test.
2014-09-26 16:28:57 +01:00
sam marshall 5298d02f6e MDL-42974 UI: Modal dialogs do not work in IE8 2014-09-26 15:47:36 +01:00
sam marshall 38584d1167 MDL-47380 Availability: Editing interface broken in IE8 2014-09-26 15:47:00 +01:00
sam marshall 06c0603825 MDL-47322 Availability: empty availability should be saved as null
As part of the unit test modifications for this change, I added the get_json
function to the availability conditions that didn't have it. (This is a function
for use in unit tests.)
2014-09-26 15:42:37 +01:00
Tim Hunt 02643dafe7 MDL-47381 qformat: Behat tests have wrong plugin type. 2014-09-26 11:46:06 +01:00
Dave Cooper e89682d822 MDL-32275 enrol: Last site access column now shows last course access 2014-09-26 10:51:47 +08:00
Andrew Davis 3f02391834 MDL-36929 mod_forum: added bolding of discussion titles on the recent activity page 2014-09-26 10:48:57 +08:00
Frederic Massart a3634cc382 MDL-47295 libraries: Re-apply removal of random seed initialisation
See MDL-41198.
2014-09-26 10:33:40 +08:00
Frederic Massart 6000b797ab MDL-47295 libraries: Update AdoDB to v5.19 2014-09-26 10:31:42 +08:00
Andrew Davis 0e99979638 MDL-20250 core_grade: added some settings to disable or hide gradebook functionality 2014-09-26 10:19:00 +08:00
Petr Skoda 64d1184600 MDL-47333 fix support for custom fonts in tcpdf 2014-09-26 13:58:30 +12:00
Marina Glancy f4f2045a7f MDL-47398 core_grades: fix grade category generator 2014-09-26 09:57:56 +08:00
Sam Hemelryk 3a6ef60a5b MDL-47428 language: fixed typo 2014-09-26 10:05:24 +12:00
David Mudrák a5d08dce93 MDL-47411 admin: Check if the plugin is a git submodule on uninstalling
Credit goes to PJ King. I was trying to add unit tests for this new
behaviour but it turned out there are many hard-coded dependencies and
it's not easy to make the whole machinery support alternative location
of testable (fake) plugins.
2014-09-25 21:17:53 +02:00
David Mudrák 2cdea9c7ac MDL-47069 admin: Add option to upload required ZIP at the check page
The plugins check page displays other plugins that the current one
depends on.  Previously, we always displayed the other plugin as a link
to the plugins directory. This did not work well in two scenarios:

* The admin wants/needs to upload the other plugin from the ZIP file
  (e.g. it is not available in the plugins directory),

* the other plugin is actually a standard plugin that is not supposed to
  be registered with the plugins directory.

This patch displays the Install or Upload or Check for updates links
next to the required plugin instead, as appropriate.
2014-09-25 16:54:21 +02:00
Stephen Bourget accc3ced1a MDL-46084 Calendar: Fix importing of full day events from Google 2014-09-25 09:42:10 -04:00
Dmitry Nefedov e5fc064876 MDL-47385 coursecat: Mistake line in phpdocs deleted. 2014-09-25 21:17:52 +08:00
Willy Lee 14cea3164f MDL-43566 course: add delete icon to search returns in course management listings 2014-09-25 05:56:11 -07:00
Dan Poltawski d07b0302a9 weekly release 2.8dev 2014-09-25 11:17:51 +01:00
Dan Poltawski 3f87d42707 NOBUG: Fixed SVG browser compatibility 2014-09-25 11:17:48 +01:00
Dan Poltawski ce0ce99c72 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-09-25 11:17:47 +01:00
Frederic Massart 16e7b52642 MDL-47294 repository_s3: Update S3 library to 0.5.1-dev 2014-09-25 14:11:09 +08:00
Jetha Chan d24b8e52d3 MDL-45893 user_menu: revised based on action_menu 2014-09-25 13:43:06 +08:00
Ankit Agarwal d31cc93876 MDL-47419 development: Add atlassian-ide-plugin.xml to .gitignore 2014-09-25 10:33:01 +05:30
Frederic Massart 189879851c MDL-47307 libraries: Update Markdown to v1.4.1 2014-09-25 10:53:34 +08:00
Sam Hemelryk cbb1677cb9 MDL-3034 mod_choice: minor tidy up 2014-09-25 14:03:52 +12:00
Dan Marsden 7f68cc6541 MDL-47404 filelib: Prevent flash from treating files as uploads
Flash treats files as uploads if filename is passed in content-disposition
this causes security to be enforced that causes issues with SCORM packages
2014-09-25 13:21:47 +12:00
Sam Hemelryk 587d709145 MDL-47242: Fixed whitespace 2014-09-25 12:19:18 +12:00
Michael Aherne 54bdf1d406 MDL-3034 choice Support multiple answers 2014-09-25 11:33:55 +12:00
Petr Skoda 041f2822bb MDL-47300 import latest TCPDF 6.0.093 2014-09-25 09:48:13 +12:00
Dan Poltawski 79cf14b327 MDL-47378 mod_assign: prevent debugging notice
Parameters come out of get_user_preferences as strings.
2014-09-24 15:41:04 +01:00
Aparup Banerjee eb60c78c77 MDL-47395 added cli_error() visual cue 2014-09-24 17:37:43 +08:00
Pavel Sokolov 5ae56c6e44 MDL-37707 mod_assign: Prevent user from switching to and from team submissions 2014-09-24 16:07:01 +08:00
Jetha Chan 5332483146 MDL-47242 theme_bootstrapbase: inverted color and RTL fixes 2014-09-24 15:53:42 +08:00
Frederic Massart a5e706e8fe MDL-47358 gradereport_history: Improved default natural sorting by time 2014-09-24 15:41:30 +08:00
Damyon Wiese c154b1f93d MDL-46171 assign: Peer review cleanups
* Remove hardcoded table names
* Remove some code that was left in after debugging
* Add some comments about grades with no submission
* Set submission->latest to 0 on restore (it will get fixed later)
* Changed get_records_sql to get_recordset_sql in restore.
2014-09-24 15:07:36 +08:00
Damyon Wiese 9e3eee671f MDL-46171 Assign: Always require a submission record if there is a grade
Also - update unit tests to match the new expectations.
2014-09-24 15:07:36 +08:00
Damyon Wiese ad030ab4a5 MDL-46171 assign: And here is the benefit of the new column - simplify the SQL 2014-09-24 15:07:36 +08:00
Damyon Wiese 1523f9e0fb MDL-46171 Assign: Update code so latest field on assign_submission table is always set correctly 2014-09-24 15:07:36 +08:00
Damyon Wiese 587341138f MDL-46171 Assign: Add "latest" column + index to submission table. 2014-09-24 15:07:36 +08:00
Andrew Nicols 7d1cfe4c80 MDL-47195 libraries: Add horde IMAP from Horde 5.2.1
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-09-24 14:59:13 +08:00
Andrew Nicols 4ba38f2abc MDL-47195 core: Add PSR-0 Autoloader
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-09-24 14:59:12 +08:00
Eloy Lafuente (stronk7) d3e70202fc Merge branch 'MDL-47248-master-rsssitelogo' of git://github.com/mudrd8mz/moodle 2014-09-24 01:37:22 +02:00
Eloy Lafuente (stronk7) aec2b1c2da Merge branch 'MDL-47224' of git://github.com/aolley/moodle 2014-09-24 01:26:52 +02:00
Marina Glancy cf10649795 MDL-45336 lesson: copied used strings from quiz
AMOS BEGIN
 CPY [false,mod_quiz],[false,mod_lesson]
 CPY [fractionsaddwrong,mod_quiz],[fractionsaddwrong,mod_lesson]
 CPY [fractionsnomax,mod_quiz],[fractionsnomax,mod_lesson]
 CPY [notenoughsubquestions,mod_quiz],[notenoughsubquestions,mod_lesson]
 CPY [true,mod_quiz],[true,mod_lesson]
AMOS END
2014-09-24 01:22:59 +02:00
Marina Glancy e0c22222b6 MDL-45336 questionbank: use core strings instead of quiz
AMOS BEGIN
 CPY [categories,mod_quiz],[categories,question]
 CPY [unusedcategorydeleted,mod_quiz],[unusedcategorydeleted,question]
 CPY [export,mod_quiz],[export,core_question]
 CPY [import,mod_quiz],[import,core_question]
AMOS END
2014-09-24 01:22:59 +02:00
Marina Glancy 8766d1981c MDL-45336 qtype_numerical: use own strings instead of mod_quiz
These strings have already been copied from mod_quiz to qtype_numerical but
in the qtype_numerical plugin code the translations from mod_quiz were used.
Even though the strings were already present we copy the translations.

AMOS BEGIN
 CPY [invalidnumericanswer,mod_quiz],[invalidnumericanswer,qtype_numerical]
 CPY [multiplier,mod_quiz],[qtype_numerical]
 CPY [invalidnumerictolerance,mod_quiz],[qtype_numerical]
AMOS END
2014-09-24 01:22:59 +02:00
Marina Glancy 5a0221f7c0 MDL-45336 question: moved used string from quiz plugin
AMOS BEGIN
 MOV [erroritemappearsmorethanoncewithdifferentweight,quiz_statistics],[erroritemappearsmorethanoncewithdifferentweight,question]
AMOS END
2014-09-24 01:22:58 +02:00
Marina Glancy 5639baa843 MDL-45336 scorm: copied used string from quiz
AMOS BEGIN
 CPY [deleteselected,quiz_overview],[deleteselected,mod_scorm]
AMOS END
2014-09-24 01:22:58 +02:00
Marina Glancy 634a5c0b81 MDL-45336 choice: removed unused code
function prepare_choice_show_results() is never called with the 5th argument,
forming of html has been moved to the renderer in MDL-20508, when function
choice_show_results() was transformed into prepare_choice_show_results() but
not all code was deleted from the funciton.
2014-09-24 01:22:58 +02:00
Marina Glancy 3a58e7ebc5 MDL-45336 backup: moved the string from quiz to core
AMOS BEGIN
 CPY [timetaken,mod_quiz],[timetaken,backup]
AMOS END
2014-09-24 01:22:58 +02:00
Eloy Lafuente (stronk7) 011ff9f8fb MDL-47180 qformat_webct: whitespace cleanup 2014-09-24 00:56:40 +02:00
Eloy Lafuente (stronk7) d50a73309b Merge branch 'MDL-47180' of git://github.com/jmvedrine/moodle 2014-09-24 00:40:40 +02:00
AMOS bot 54e7d715d2 Automatically generated installer lang files 2014-09-24 00:05:53 +08:00
Jean-Michel Vedrine 129f3c5190 MDL-47180 qformat_webct: Import of calculated questions broken 2014-09-23 14:45:07 +02:00
Dan Poltawski 4bcf64b053 Merge branch 'MDL-47240-master' of https://github.com/sammarshallou/moodle 2014-09-23 10:57:00 +01:00
Paul Nicholls cb4987f858 MDL-39190 Javascript: Pop-up calendar days of week wrong
The YUI2 calendar widget (still used via 2in3) uses midnight as the time
component of its Date objects, which triggers a Safari bug resulting in
11pm Saturday being returned instead of midnight Sunday when subtracting
days to get the last few days of the previous month.  This shows up ONLY
on the month after DST begins, if DST begins on the last Sunday of a given
month (and the Calendar widget is set to Sunday as the first day of the
week).  The fix/workaround of using noon instead of midnight is employed
by YUI3 and others.
2014-09-23 16:50:58 +12:00
Sam Hemelryk 4356012960 Merge branch 'MDL-46811-master' of git://github.com/danpoltawski/moodle 2014-09-23 16:36:05 +12:00
Sam Hemelryk 7fca0ced0a Merge branch 'MDL-47244-master' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/less/moodle/responsive.less
	theme/bootstrapbase/style/moodle.css
2014-09-23 16:32:09 +12:00
Sam Hemelryk b32e1778bb Merge branch 'wip-MDL-46937-master' of git://github.com/marinaglancy/moodle 2014-09-23 15:26:06 +12:00
Dave Cooper 12cf8140a2 MDL-47252 mod_forum: Ensure guest users can't subscribe to discussions 2014-09-23 10:52:55 +08:00
Jonathan Harker 81ba2632ed MDL-47316 mod_forum: Fix course overview performance
make more efficient use of mod_info cache by processing courses
 sequentially.

Change-Id: I03b808c8a7efc42879ec2689fbd2a9fe7a8f1103
2014-09-23 12:58:29 +12:00
Sam Hemelryk be91dff8bb Merge branch 'MDL-47242-master' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-09-23 12:23:08 +12:00
Eloy Lafuente (stronk7) db6c48bfc1 Merge branch 'MDL-47182-master' of git://github.com/danpoltawski/moodle 2014-09-23 01:52:10 +02:00
Eloy Lafuente (stronk7) ec2ee188fc Merge branch 'MDL-46313-master' of git://github.com/andrewnicols/moodle 2014-09-23 01:48:21 +02:00
Eloy Lafuente (stronk7) 4922a1d46a Merge branch 'MDL-46523-master' of git://github.com/jethac/moodle 2014-09-23 01:40:50 +02:00
Eloy Lafuente (stronk7) da483a72c8 Merge branch 'MDL-47269_master' of https://github.com/nadavkav/moodle 2014-09-23 01:28:29 +02:00
Eloy Lafuente (stronk7) 44af6d53a7 Merge branch 'MDL-47266' of git://github.com/timhunt/moodle 2014-09-23 01:12:16 +02:00
Tim Hunt 358f31672b MDL-37998 quiz settings: disableif rules should account for overrides.
Some form fields are disabled if only one attempt is allowed. However,
there may be an override allowing some students more attempts. We need
to account for that possiblity when setting up the disabled if rules.

Note the disabledIf is good for usability on this complex form, which is
why I don't just want to get rid of them.
2014-09-22 16:23:38 +01:00
Dan Poltawski 546acfbf67 Merge branch 'MDL-47238_guest' of https://github.com/andyjdavis/moodle 2014-09-22 16:13:20 +01:00
Dan Poltawski e79420eaf1 Merge branch 'MDL-47276' of git://github.com/timhunt/moodle 2014-09-22 16:08:19 +01:00
Dan Poltawski 490263ec68 Merge branch 'MDL-47270-core-component-classmap-ordering' of https://github.com/mpetrowi/moodle 2014-09-22 16:03:50 +01:00
Dan Poltawski bd75ef826e Merge branch 'wip-MDL-40356-master' of git://github.com/abgreeve/moodle 2014-09-22 15:02:51 +01:00
Dan Poltawski 96ab0104ea Merge branch 'MDL-40006' of git://github.com/timhunt/moodle 2014-09-22 11:55:47 +01:00
Dan Poltawski aebe5eeea0 Merge branch 'MDL-10971_cloze_shuffle_fix' of git://github.com/timhunt/moodle 2014-09-22 11:39:42 +01:00
Dan Poltawski 4c5b60a72c Merge branch 'MDL-46991-master' of https://github.com/sammarshallou/moodle 2014-09-22 10:57:20 +01:00
Nadav Kavalerchik f2ee054b52 MDL-47269 yui/src/dock: Invert dock reset blocks icon, in RTL mode 2014-09-22 11:41:17 +03:00
Frederic Massart 655e377c45 MDL-47358 gradereport_history: Display history even when there is no grader recorded 2014-09-22 16:28:35 +08:00
Rajesh Taneja 3bb8c9e356 MDL-46987 report_participation: Count duplicate logs as 1
Some of the actions generate more then 1 event.
Example: forum post create generate:
- post_created and
- accessible_uploaded
events which  gets logged at the same time.
Count them as 1 action and not 2, as it is
single action and report should show 1 and not 2
2014-09-22 15:21:34 +08:00
Andrew Davis 005fa74115 MDL-47238 core_user: added an error message if guests access user profiles and they aren't allowed to 2014-09-22 11:02:54 +08:00
Tim Hunt dc37223bff MDL-46088 quiz secure window: further Atto JS fixes. 2014-09-19 22:03:24 +01:00
Damyon Wiese d250083e03 MDL-46088 Quiz: Prevent alert when clicking in editor in secure popup 2014-09-19 22:03:24 +01:00
Tim Hunt 339554aa21 MDL-46088 Impossible to click on Atto in a Quiz in 'Secure' mode. 2014-09-19 22:03:23 +01:00
Tim Hunt 129a45687c MDL-47276 quiz: change default for When time expires for new installs 2014-09-19 21:59:46 +01:00
Tim Hunt 0d4075d514 MDL-40006 searchableselector does not work in IE or Safari.
This fix is a horrible hack, but one I have used for years in tool_editrolesbycap
https://github.com/moodleou/moodle-tool_editrolesbycap/blob/master/yui/capabilityformfield/capabilityformfield.js
and it seems to be reliable.

As an added bonus, I removed the use of YUI2 here.

Also, I fixed the related button in quiz to be GET not POST.
2014-09-19 21:59:34 +01:00
markv 94999731ce MDL-10971 question type multianswer: Respect quiz shuffle option 2014-09-19 11:39:22 +01:00
Adam Olley 12dce419f4 MDL-47224 qtype_calculated: Calculated qtype comment on datasetitems should follow formatting rules 2014-09-19 09:33:35 +09:30
sam marshall eedf5a5a1c MDL-47240 Modinfo: Section info accesses nonexisting property groupingid
This code wasn't actually used, so we should remove it.
2014-09-18 16:38:22 +01:00
sam marshall 5176504d3f MDL-46991 Availability: Conditional dates not updated on restore 2014-09-18 16:37:53 +01:00
Tim Hunt a7b0bd1331 MDL-47266 quiz: fix restore log message. 2014-09-18 11:04:28 +01:00
Marina Glancy daad1b4b97 MDL-46937 modinfo: Allow course format to overwrite section availability 2014-09-18 16:18:22 +08:00
Dan Poltawski 272fec367f weekly release 2.8dev 2014-09-18 07:41:00 +01:00
Dan Poltawski 727a43391a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-09-18 07:40:56 +01:00
Andrew Nicols 535364c8f5 MDL-46313 forum: Move discussiontoggle CSS to module 2014-09-18 10:42:55 +08:00
Jetha Chan 94e15b3514 MDL-46920 theme_bootstrapbase: fix dropdown to use data-target 2014-09-17 14:25:44 +08:00
Matt Petro be6f3c6e6b MDL-47270 core_component: make cache independent of filesystem ordering 2014-09-16 12:50:53 -04:00
Dan Poltawski d5fcf4b42c MDL-47182 admin: warn about delayed scheduled tasks
Rather than using module cron, use scheduled tasks to work out
if cron has been running recently.

This is not perfect, the admin could disble all tasks, or reschedule
them - but its not complex to compute.
2014-09-16 17:49:23 +01:00
Eloy Lafuente (stronk7) e1bb8035e6 Merge branch 'MDL-46613-master' of git://github.com/jleyva/moodle 2014-09-16 18:42:17 +02:00
Eloy Lafuente (stronk7) d3921f07b8 Merge branch 'wip-MDL-47079-master' of git://github.com/marinaglancy/moodle 2014-09-16 17:57:19 +02:00
Juan Leyva 10f1cfc18c MDL-46613 grades ws: Fixed external function declaration
Gradebook items with overridden grades was causing error as Web
Services response
2014-09-16 10:06:21 +02:00
Damyon Wiese ac7fac558e Merge branch 'MDL-47225-master' of git://github.com/andrewnicols/moodle 2014-09-16 15:15:57 +08:00
Damyon Wiese ffd9e5d269 MDL-44257 Message: Update phpdocs for email_to_user function 2014-09-16 15:08:08 +08:00
Andrew Nicols 96671c8c38 MDL-47225 core: Tidy up component normalisation tests 2014-09-16 15:07:11 +08:00
Andrew Nicols 7ace328737 MDL-47225 core: Add ability to normalize component names 2014-09-16 15:06:46 +08:00
Damyon Wiese c4006c851a Merge branch 'MDL-44257-master' of git://github.com/lameze/moodle 2014-09-16 14:58:48 +08:00
Jetha Chan 46629116cc MDL-46523 navigation: add body class when roleswitched and not in initial install 2014-09-16 13:41:41 +08:00
Matt Staroste 8af594ac87 MDL-46313 mod_forum: Replace subscription status icons 2014-09-16 11:23:52 +08:00
Adrian Greeve b3d5f7bc50 MDL-40356 lib: New setting to display full names.
This adds a new setting to display more name information for users
with the viewfullnames capability.
2014-09-16 11:01:42 +08:00
Adrian Greeve 795c5881ab MDL-40356 lib: Unit tests for the alternativefullnameformat setting. 2014-09-16 10:57:28 +08:00
Simey Lameze 99c2ee6f9b MDL-44257 lib: fix the attachment code to accept tempdir and dataroot.
Credit goes to Damyon, thanks.
2014-09-16 10:18:47 +08:00
Simey Lameze 9a2c52571e MDL-44257 message: added test to make sure the stored file still exists 2014-09-16 10:07:17 +08:00
Marina Glancy ea80c29a2c MDL-47079 user: behat test for deleting users 2014-09-16 09:43:48 +08:00
Eloy Lafuente (stronk7) 26115c284e Merge branch 'MDL-46588-master' of git://github.com/jleyva/moodle 2014-09-16 00:23:09 +02:00
David Mudrák b45444f591 MDL-47248 Use new Moodle logo for RSS feeds generated by Moodle
Themes can override this logo as any other core pix file. The new logo copied
from https://moodle.org/logo/ and resized to match the previous logo size
(140x35px).
2014-09-15 18:05:38 +02:00
Dan Poltawski 5ce0af436d Merge branch 'MDL-46195' of git://github.com/timhunt/moodle 2014-09-15 16:07:05 +01:00
Dan Poltawski 0908fb4221 Merge branch 'wip-MDL-46585-master' of git://github.com/marinaglancy/moodle 2014-09-15 13:00:24 +01:00
Dan Poltawski d1c9b792b0 Merge branch 'MDL-46331' of git://github.com/timhunt/moodle 2014-09-15 11:55:16 +01:00
Dan Poltawski 6576ab01b6 Merge branch 'MDL-46810' of git://github.com/timhunt/moodle 2014-09-15 11:25:27 +01:00
Dan Poltawski ffd24d9a61 Merge branch 'wip-MDL-47187-master' of git://github.com/marinaglancy/moodle 2014-09-15 11:08:24 +01:00
Dan Poltawski 91596eeacc Merge branch 'MDL-47206-master' of git://github.com/andrewnicols/moodle 2014-09-15 11:02:48 +01:00
Jetha Chan 1ee45d6824 MDL-47244 theme_bootstrapbase: fix custom_menu dividers under responsive layouts 2014-09-15 17:48:16 +08:00
Jetha Chan cb9c6a7dc6 MDL-47242 theme_bootstrapbase: fix nested custom_menu responsive display 2014-09-15 17:35:31 +08:00
Damyon Wiese dff9a97350 MDL-44447 Grade: Re-order lang strings 2014-09-15 17:02:43 +08:00
Damyon Wiese 952f37486d MDL-44447 Grade: Whitespace fix 2014-09-15 16:49:23 +08:00
Damyon Wiese 20a2e554f9 Merge branch 'MDL-44447-master' of git://github.com/lameze/moodle 2014-09-15 16:44:41 +08:00
Simey Lameze be289f57b2 MDL-44447 grade_export: Added multiple grade display types to grade export. 2014-09-15 16:42:07 +08:00
Damyon Wiese 5fe74c1bcf Merge branch 'MDL-47127-master' of git://github.com/ankitagarwal/moodle 2014-09-15 16:41:28 +08:00
Damyon Wiese 9c575e5b08 Merge branch 'MDL-47143' of git://github.com/timhunt/moodle 2014-09-15 16:13:33 +08:00
Damyon Wiese 96477b0f0d Merge branch 'MDL-47167' of git://github.com/timhunt/moodle 2014-09-15 15:41:39 +08:00
Damyon Wiese db074792b9 Merge branch 'MDL-46944-master-lti-iframe' of git://github.com/schmod/moodle 2014-09-15 15:08:31 +08:00
PJ King 62ffeb4f0c MDL-46652 custom_menu: fix for multi-language support breaks menu nesting
Fixed bug by building full menu structure, then removing hidden menu items and all associated children.
Refactored custom_menu_item class and convert_text_to_menu_nodes() to improve maintenance.
2014-09-15 15:04:46 +08:00
Damyon Wiese e8cf07fa51 Merge branch 'm28_MDL-47186' of https://github.com/totara/moodle 2014-09-15 14:16:59 +08:00
Damyon Wiese 7114249071 Merge branch 'MDL-46747' of git://github.com/timhunt/moodle 2014-09-15 14:03:39 +08:00
Damyon Wiese 8b1e5aa4ce Merge branch 'MDL-47209-master' of git://github.com/FMCorz/moodle 2014-09-15 13:50:43 +08:00
Damyon Wiese 7214b77a51 Merge branch 'wip-MDL-35468-master' of git://github.com/marinaglancy/moodle 2014-09-15 13:16:59 +08:00
Damyon Wiese 3a46c04459 Merge branch 'MDL-47208' of git://github.com/aolley/moodle 2014-09-15 12:25:32 +08:00
AMOS bot 45acbd070c Automatically generated installer lang files 2014-09-15 00:08:24 +08:00
Juan Leyva eac1383edb MDL-46588 web services: Fixed system context instanceid eq 0 case 2014-09-12 11:25:16 +02:00
Juan Leyva 60ac6e2915 MDL-46588 web services: Unit tests added 2014-09-12 11:25:16 +02:00
Juan Leyva 98dece220b MDL-46588 web services: Fixed invalid check of empty contextid in function get_context_from_params 2014-09-12 11:25:16 +02:00
Simey Lameze 68e50bc80b MDL-44257 message: check if the attachment exists before remove it
Credit goes to Mark Nielsen, thanks.
2014-09-12 16:36:07 +08:00
Andrew Nicols 9c7274e25f MDL-47206 core: Allow tool plugins to run tasks
This issue is a part of the MDL-47194 Task.
This issue is a part of the MDL-39707 Epic.
2014-09-12 11:47:56 +08:00
Marina Glancy 4b867a063a MDL-46585 lang: display debugging message when deprecated string is used 2014-09-12 10:24:43 +08:00
Marina Glancy 5076b96171 MDL-35468 cohorts: upload cohorts from csv file 2014-09-12 10:24:04 +08:00
Marina Glancy bd855fd572 MDL-35468 behat: escape user supplied strings in xpath 2014-09-12 10:23:55 +08:00
Marina Glancy c78cf06d9e MDL-46585 lang: 6 unused strings 'hidden' are deprecated
Strings are not used in the components where they are defined.
If they are used in other components they should be defined in appropriate locations
since the translation may depend on the subject that is being hidden.
2014-09-12 10:15:43 +08:00
Adam Olley 0151ca2b91 MDL-47208 core_availability: Return false when cm isnt in modinfo list
If a cm isn't in modinfo's cm list, then the user shouldn't be able to see that cm.
This fixes an issue where hidden activities would cause users to be unable to use moodle.
2014-09-12 09:14:56 +09:30
Tim Hunt 9cc01bf323 MDL-46747 questions: add More info link to qbehaviour help.
Thanks to Tony Gardner-Medwin for the suggestion.
2014-09-11 16:16:57 +01:00
Dan Poltawski 482abd0f70 weekly release 2.8dev 2014-09-11 15:44:24 +01:00
Dan Poltawski 6bceb3ba8a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-09-11 15:44:21 +01:00
Frederic Massart 385de04b10 MDL-47209 repository_skydrive: Use new oauth URLs 2014-09-11 15:16:31 +08:00
Marina Glancy a80f592298 MDL-46834 dndupload: check course dndupload cap on course level 2014-09-11 11:23:32 +08:00
Marina Glancy e0dfc380c6 Revert "Merge branch 'wip-MDL-40356-master' of git://github.com/abgreeve/moodle"
This reverts commit 4b5fd6eb6d, reversing
changes made to a788aade7c.
2014-09-11 10:54:40 +08:00
AMOS bot dc63722459 Automatically generated installer lang files 2014-09-11 00:05:38 +08:00
Andrew Schmadel a73b1ba23f MDL-46844 Embed LTI External Tools with an IFrame
Clears up weird browser issues that occur when embedding content with an
`<object>` tag.
2014-09-10 09:17:07 -04:00
Rajesh Taneja 54e6e19a47 MDL-46572 behat: Select user dialogue is not visible in phantomjs 2014-09-10 09:14:20 +01:00
Marina Glancy e6a0f10152 MDL-46834 dndupload: check course dndupload cap on course level 2014-09-10 15:00:35 +08:00
Marina Glancy 5b460d65cc MDL-47187 assign: fixed timing unittest failure 2014-09-10 11:58:00 +08:00
Brian Barnes 1d3972adcc MDL-47186 calendar: Changed month name to h2 from h1 2014-09-10 15:34:15 +12:00
Marina Glancy a3f234edfb Revert "Merge branch 'MDL-47012-m' of git://github.com/micaherne/moodle"
This reverts commit 0e88fe0227, reversing
changes made to de62e57a9b.
2014-09-10 11:18:52 +08:00
Marina Glancy 4525ff2cfb Merge branch 'MDL-46818-master-fixup' of https://github.com/FMCorz/moodle 2014-09-10 10:50:06 +08:00
Frederic Massart ef93efbf9d MDL-46818 core_grade: Prevent form checker to catch move fields 2014-09-10 10:43:16 +08:00
Andrew Nicols 83daad5ac9 MDL-47107 mod_forum: is_subscribed $cm input does not need to be a cm_info 2014-09-10 10:00:00 +08:00
Tim Hunt f41269f31d MDL-46331 GIFT question import was breaking content inside <pre>.
Also, adding a Behat tests to verify GIFT import works without errors
(but leaving the detailed testing for the unit tests).
2014-09-09 22:59:04 +01:00
Tim Hunt 21ed2330cf MDL-47167 XML question format: behat tests 2014-09-09 22:57:34 +01:00
Tim Hunt cebfc95361 MDL-46195 WebCT question import: Behat test 2014-09-09 22:55:00 +01:00
AMOS bot 3b8b94904b Automatically generated installer lang files 2014-09-10 00:05:28 +08:00
Dan Poltawski 59abbd9319 MDL-46811 update download.moodle.org url to https
https is now the prefferd protocol for this site
2014-09-09 16:17:32 +01:00
Dan Poltawski 4b5fd6eb6d Merge branch 'wip-MDL-40356-master' of git://github.com/abgreeve/moodle 2014-09-09 10:35:48 +01:00
Marina Glancy a788aade7c Merge branch 'MDL-46997-master' of git://github.com/damyon/moodle 2014-09-09 17:18:42 +08:00
Marina Glancy 0e88fe0227 Merge branch 'MDL-47012-m' of git://github.com/micaherne/moodle 2014-09-09 17:16:15 +08:00
Marina Glancy de62e57a9b Merge branch 'master_MDL-47076' of git://github.com/totara/moodle 2014-09-09 17:12:28 +08:00
Damyon Wiese b50b12b3f9 MDL-46997 Grades: fix sum of grades with hidden items with differing maxgrades 2014-09-09 17:11:59 +08:00
Damyon Wiese 0db54b5ba2 MDL-46997 Grades: Fix aggregation when hiding is excluded and items have nested dependencies
Includes a unit test for the dependency flattening function.
2014-09-09 17:11:59 +08:00
Damyon Wiese 15ace20460 MDL-46997 Grades: Improve the behat tests for grade aggregation
The tests now cover hidden grades in sub categories for all aggregation types. This change
includes a data generator for grade categories, with unit tests and behat tests for
the generator.
2014-09-09 17:11:59 +08:00
Marina Glancy ba41742ea2 MDL-47080 theme: call format_string on site shortname 2014-09-09 10:05:28 +01:00
Dan Poltawski fb385cb7af Merge branch 'MDL-46572_master' of https://github.com/markn86/moodle 2014-09-09 09:18:00 +01:00
Dan Poltawski 78f284b6ea Merge branch 'MDL-46696-master-fixup' of https://github.com/FMCorz/moodle 2014-09-09 08:46:01 +01:00
Dan Poltawski c35e9b73a5 Merge branch 'wip-MDL-46834-master' of git://github.com/marinaglancy/moodle 2014-09-09 08:06:40 +01:00
David Curry 927ea484ec MDL-47076 badges: Add checks to user fields during badges restoration
Change-Id: Iff6402d1da835ed57dc17d079adf1bbd2e76dd6c
2014-09-09 16:22:52 +12:00
Brian Barnes e02d3cf2a0 MDL-47170 tiny_mce: Fixed display of bullets in rtl languages 2014-09-09 15:37:23 +12:00
Frederic Massart f1272bbecd MDL-46696 backup: Handle older backups not containing grade history 2014-09-09 10:23:11 +08:00
Marina Glancy 588ff74f11 MDL-46834 dndupload: Hide dnd message when user cant upload files 2014-09-09 10:02:25 +08:00
Marina Glancy 7b22e2ab54 MDL-46834 filepicker: dnd upload should respect the current context id 2014-09-09 10:02:24 +08:00
Adrian Greeve 4112ef994a MDL-40356 lib: Unit tests for the alternativefullnameformat setting. 2014-09-09 09:23:19 +08:00
Adrian Greeve ea6f548081 MDL-40356 lib: Added a new setting to display more information from the fullname function. 2014-09-09 09:22:43 +08:00
Eloy Lafuente (stronk7) eb80a145c8 Merge branch 'm28_MDL-47054' of git://github.com/totara/moodle 2014-09-09 02:18:59 +02:00
Eloy Lafuente (stronk7) a02aef0c7c Merge branch 'MDL-47107-master' of git://github.com/andrewnicols/moodle 2014-09-09 02:15:26 +02:00
Eloy Lafuente (stronk7) 559f6d6d1b Merge branch 'MDL-46428_master3' of https://github.com/Syxton/moodle 2014-09-09 01:33:44 +02:00
Tim Hunt 57944b7a54 MDL-46195 fix error handling. 2014-09-08 22:27:36 +01:00
Dan Poltawski 99e221f844 Merge branch 'MDL-40451-master-random-glossary-block-title' of git://github.com/amandadoughty/moodle 2014-09-08 17:26:56 +01:00
Dan Poltawski 205cd43352 Merge branch 'wip-MDL-45602-master' of git://github.com/marinaglancy/moodle 2014-09-08 16:30:33 +01:00
Dan Poltawski a3b93be8f8 Merge branch 'MDL-46696-master' of git://github.com/FMCorz/moodle 2014-09-08 16:23:59 +01:00
Dan Poltawski 0072e5d559 Merge branch 'MDL-46586-master' of git://github.com/jleyva/moodle 2014-09-08 15:31:13 +01:00
Dan Poltawski 7b41ee2752 Merge branch 'wip-MDL-43739-master' of git://github.com/marinaglancy/moodle 2014-09-08 15:16:38 +01:00
Dan Poltawski 735c7ee41a Merge branch 'MDL-47122' of git://github.com/timhunt/moodle 2014-09-08 14:28:30 +01:00
Tim Hunt 16e246ac52 MDL-47122 question_engine_data_mapper: which methods are public.
That is, which may be used from outside the question engine.
2014-09-08 13:24:17 +01:00
Dan Poltawski 7f2c821420 Merge branch 'MDL-46982' of https://github.com/shashirepo/moodle 2014-09-08 12:22:27 +01:00
Dan Poltawski 45121f9b25 Merge branch 'MDL-47014' of git://github.com/jleyva/moodle 2014-09-08 12:19:24 +01:00
Dan Poltawski b93cd58dd3 Merge branch 'wip-MDL-46254-master' of git://github.com/marinaglancy/moodle 2014-09-08 12:14:51 +01:00
Juan Leyva 7cfe4419c2 MDL-47014 airnotifier: Missing require of filelib.php 2014-09-08 11:42:05 +02:00
Marina Glancy aea49eb5f9 Merge branch 'MDL-46818_master' of git://github.com/markn86/moodle 2014-09-08 14:04:33 +08:00
Marina Glancy 1302bb08f6 MDL-43739 block_course_overview: allow resorting of big number of courses
previously an exception was thrown if the user preference exceeds 1333 chars
2014-09-08 14:01:06 +08:00
Marina Glancy d619776bd5 MDL-46254 theme: apply filters to theme footnote 2014-09-08 13:55:55 +08:00
Marina Glancy cb1be3a7ae Merge branch 'MDL-46587-master' of git://github.com/jleyva/moodle 2014-09-08 13:48:37 +08:00
Marina Glancy 2eacde6be0 Merge branch 'MDL-46761' of git://github.com/timhunt/moodle 2014-09-08 13:48:26 +08:00
Marina Glancy 68044ce347 Merge branch 'MDL-46821-master' of git://github.com/ankitagarwal/moodle 2014-09-08 13:48:15 +08:00
Marina Glancy d281dffa8d Merge branch 'MDL-46564_master' of https://github.com/totara/openbadges 2014-09-08 13:48:06 +08:00
Marina Glancy 70fb279f56 Merge branch 'MDL-47060-master' of git://github.com/damyon/moodle 2014-09-08 12:57:41 +08:00
Marina Glancy 7fde166775 Merge branch 'MDL-44304-master' of git://github.com/damyon/moodle 2014-09-08 12:57:34 +08:00
Ankit Agarwal d3cd2a5043 MDL-47127 gradereport_user: Update 'datetill' string to make it more clear 2014-09-08 06:56:09 +05:30
Tim Hunt 0b62cc2ea5 MDL-46810 question CBM behaviours: improve the display of marks.
Thanks to Tony Gardner-Medwin for the suggestion.
2014-09-07 13:30:57 +01:00
Tim Hunt 96bdbe699d MDL-47143 questions: fix default for question_preview/marks setting. 2014-09-07 12:57:45 +01:00
Tim Hunt a7b4c96440 MDL-46761 fix PHPdocs on question_usage_by_activity::get_total_mark
Thanks to Tony Gardner-Medwin for spotting this.
2014-09-07 11:37:43 +01:00
Tim Hunt 38cde336ca MDL-46195 Fix fractionsaddwrong string component in lesson & qformat_webct.
I know. You should not refer to strings from other plugins, but

* qformat_webct is importing multichoice questions in that bit of code.
  I suppose a pedant would say that qformat_webct should declare dependencies
  on all the qtypes it relies on, but that would be silly.

* Lesson should be using the question engine, rather than doing its own thing.
2014-09-06 20:20:58 +01:00
Juan Leyva ff831a44ed MDL-46587 files: Invalid $itemid conversion in core_files_get_files Web Service 2014-09-05 13:46:18 +02:00
Juan Leyva b893dc2252 MDL-46586 files: Invalid return parameters definition in core_files_get_files external function 2014-09-05 13:31:14 +02:00
Marina Glancy 9cc66e866c MDL-45602 behat: add members to cohorts 2014-09-05 16:40:00 +08:00
Andrew Nicols 4238983e2a MDL-47107 mod_forum Optimise forum subscription checks
Supply a coursemodule where relevant to the forum subscription checks.
2014-09-05 15:06:15 +08:00
shashirepo 04e57ab0c7 MDL-46982 core: fixes wrong opening div tag 2014-09-05 10:19:24 +05:30
Tim Hunt 4040e2dd11 MDL-47122 use insert_records to improve question engine performance. 2014-09-04 23:15:27 +01:00
Yuliya Bozhko 369484bf87 MDL-47033 general: Fix incorrect use of 'course' layout
It should use 'incourse' layout in most cases

Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-09-05 09:25:43 +12:00
Syxton 60df67878b MDL-46428 course: Remove confirm when duplicating
A confirm dialog is given when Javascript is off but not when it is on.
This aligns the two so that they neither have a confirm when duplicating
an activity.
2014-09-04 15:19:17 -04:00
Eloy Lafuente (stronk7) 457f818026 weekly release 2.8dev 2014-09-04 19:54:47 +02:00
Eloy Lafuente (stronk7) 2728bb0919 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-09-04 19:54:36 +02:00
sam marshall 28f31f7d2d MDL-44725 Availability: Unit test for tree::get_user_list_sql 2014-09-04 10:25:01 +08:00
Brian Barnes ff1f2dc58c MDL-47097 theme: Fixed issue with dd's sliding up 2014-09-04 14:20:25 +12:00
Brian Barnes 595858537d MDL-47054 theme: fixed issue with the user rtl table 2014-09-04 09:32:12 +12:00
Eloy Lafuente (stronk7) 4191191735 Merge branch 'MDL-47031-master-enfix' of git://github.com/mudrd8mz/moodle 2014-09-03 19:25:38 +02:00
Amanda Doughty 48a3a4d621 MDL-40451 block/glossary_random Fixed missing header when adding new block 2014-09-03 14:01:54 +01:00
Marina Glancy 1f20801c35 Merge branch 'master_MDL-46639' of git://github.com/danmarsden/moodle 2014-09-03 16:58:25 +08:00
Dan Marsden 46e990a4ef MDL-46639 SCORM: incorrect setting of launch param, it is done in scorm_parse_aicc 2014-09-03 20:18:55 +12:00
Helen Foster 9447cdc206 MDL-47031 Merge English strings from the en_fix language pack 2014-09-03 10:02:56 +02:00
Damyon Wiese 3a7887baa4 MDL-47060 Atto: Autosave - play nicely with HTML source view.
There are 2 fixes here:
1. do not overwrite the changes to the HTML source when we do an autosave.
2. Move the Atto notifications alert to the containing div so it aligns properly for either view.
2014-09-03 15:00:02 +08:00
Yuliya Bozhko 2ffbf20715 MDL-46564 badges: Fix 'All' option in badges block
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-09-03 18:43:31 +12:00
Ankit Agarwal 201a8d41b2 MDL-46821 gradereport_user: Fix background color of user report 2014-09-03 12:09:55 +05:30
Marina Glancy 3b4db5bdf5 MDL-44725 dml: added sql_intersect() 2014-09-03 13:33:58 +08:00
Eloy Lafuente (stronk7) 5a249b20c4 Merge branch 'wip-MDL-30414-master' of https://github.com/mackensen/moodle 2014-09-03 01:08:17 +02:00
Eloy Lafuente (stronk7) 9bdb64681f Merge branch 'MDL-39929' of https://github.com/bostelm/moodle 2014-09-03 00:13:53 +02:00
sam marshall 78f753acea MDL-44725 Availability: Replace groupmembersonly - feedback (16)
There is one point where it restricted the list of users. I have
fixed this and also altered the (only) script that calls that function
so that it obtains a cm_info $cm rather than the old sort.

There were previously no Behat tests at all in this module. In order
to be confident that I didn't break it, I have implemented a Behat
test (which should also be useful in general as it does go through
other pages on the way to get to the relevant one).
2014-09-02 20:54:35 +08:00
Marina Glancy ed2ecd3e35 MDL-44725 workshop: correct module generation in unittests (15) 2014-09-02 13:03:37 +01:00
sam marshall 002ccdcf49 MDL-44725 Add Behat support for setting grouping condition (14)
Makes it possible to add a grouping condition when creating an
activity, using the Behat field type API. You can set the field
using a syntax 'Grouping: NAME' (at present, only groupings are
supported, obviously we could potentially extend this to add
support for other conditions if needed).

Tested in Firefox and Chrome in JS mode, and in non-JS mode.
2014-09-02 13:03:35 +01:00
sam marshall 61c3b60c03 MDL-44725 Update cm_info::create to allow 'false' param (13)
Currently cm_info::create allows the 'null' parameter, and
returns null (as a null $cm should still be null when treated
as a cm_info object).

Some unit tests relied on the value 'false' being treated
the same as null in this regard. This seems like a generally
safe assumption (given this is a function about changing
weakly typed data into a stronger type) so I modified the
function to accept anything PHP false, returning null.
2014-09-02 13:03:33 +01:00
sam marshall 45ab2d9ab6 MDL-44725 Availability: Replace groupmembersonly - workshop (12)
The availability restrictions that apply to user lists (group, grouping)
now apply in workshop:

* In user lists.
* When randomly allocating users (also now works as expected if you use
  group mode and a grouping with the activity).
2014-09-02 13:03:31 +01:00
sam marshall 1a7049af22 MDL-44725 Availability: Add SQL feature for user lists (11)
The previous API included a facility to filter a list of users
to include only those who are allowed to access an activity, i.e.
only people who belong to the required groups etc.

This change adds a new API function to return SQL that obtains
this list of users, so that it can be combined with other
queries.
2014-09-02 13:03:29 +01:00
sam marshall c13ac85db8 MDL-44725 Availability: Replace groupmembersonly - assign (10)
Updated code to restrict list of users. Also includes changes to
ensure that a cm_info object is available (required for availability
checks).

There is a tweak to upgradelib to reflect the different fields used.
(Note that upgradelib is not used during upgrade, but only when
converting assignments from the old assignment module.)
2014-09-02 13:03:27 +01:00
sam marshall c234c34085 MDL-44725 Availability: Replace groupmembersonly - quiz overrides (9)
This only affects the quiz overrides form, as groupmembersonly was
not used elsewhere. The change simply restricts the list of users
shown when selecting somebody for overrides.

Some additional code is needed to (efficiently) load the $cm object
as a cm_info so that the availability API can be used on it.
2014-09-02 13:03:23 +01:00
sam marshall 914027baf8 MDL-44725 Availability: Replace groupmembersonly - glossary (8)
No change to actual module, only unit tests.
2014-09-02 13:03:21 +01:00
sam marshall f9103882dc MDL-44725 Availability: Add utility API to make unit testing easier (7)
Previously there was no way in PHP to create the JSON values used for
availability, except by manually hard-coding them (the main code to
do this normally is in JavaScript).

This makes unit tests hard to read, so I have implemented static
functions tree::get_root_json and tree::get_nested_json which allow
for easier-to-read unit tests.
2014-09-02 13:03:19 +01:00
sam marshall 9c85baa8c5 MDL-44725 Availability: Replace groupmembersonly - FEATURE_xx (6)
Remove old FEATURE_GROUPMEMBERSONLY as no longer required.
2014-09-02 13:03:17 +01:00
sam marshall 48c79eb3e9 MDL-44725 Availability: Replace groupmembersonly - login (5)
Remove groupmembersonly option from require_login.

NOTE: This code, and another branch (both related to login when
accessing activities on the site course), are not actually
necessary because there is code above which already checks
$cm->uservisible.

NOTE: You can see this change more simply by doing
git diff --ignore-space-change; indent was altered.
2014-09-02 13:03:15 +01:00
sam marshall 4717a5fca6 MDL-44725 Availability: Replace groupmembersonly - forms (4)
Remove groupmembersonly option from module editing forms.
2014-09-02 13:03:13 +01:00
sam marshall dea081af23 MDL-44725 Availability: Replace groupmembersonly - backup (3)
Change backup and restore to not include the field, and to cope
correctly with 2.6 (and before) and 2.7 backups.
2014-09-02 13:03:11 +01:00
sam marshall 3d962d49cb MDL-44725 Availability: Replace groupmembersonly - core_availability (2)
Remove groupmembersonly usage in the core_availability API, and change
the update code (used in backup) so that it considers groupmembersonly
when restoring old backups.
2014-09-02 13:03:09 +01:00
sam marshall 061e6b2864 MDL-44725 Availability: Replace groupmembersonly - upgrade, core (1)
* Upgrades existing data so that the groupmembersonly option is
  replaced with equivalent data for the new availability API.
* Removes the database field and admin setting used for
  groupmembersonly.
* Changes core modinfo library to remove/deprecate groupmembersonly
  data and functions.
* Changes other core library files to remove groupmembersonly
  references.

Includes deprecation of several functions, listed in lib/upgrade.txt.
2014-09-02 13:03:07 +01:00
Henning Bostelmann 7faf78cbae MDL-39929 Assignment: provide file upload area for assignment description 2014-09-02 11:02:16 +01:00
Damyon Wiese 5474b8bfbb Merge branch 'wip-MDL-47052-master' of git://github.com/marinaglancy/moodle 2014-09-02 15:30:07 +08:00
Marina Glancy 66aee2c201 MDL-47052 report_participation: fixed bug when filtering by first letter 2014-09-02 15:00:41 +08:00
Mark Nelson 742d9165b7 MDL-46818 core_grades: added YUI form change validation 2014-09-01 23:02:13 -07:00
Michael de Raadt 8f2e80600b MDL-46619 Forum: link to the discussion only if users cannot see posts. 2014-09-02 10:06:35 +08:00
Michael de Raadt b53b69c134 MDL-46619 Forum: only output last poster's name if user can view it. 2014-09-02 10:06:23 +08:00
Marina Glancy d0143e0061 Merge branch 'MDL-45952_master2' of git://github.com/Syxton/moodle 2014-09-02 09:58:24 +08:00
Eloy Lafuente (stronk7) f9f715de75 Merge branch 'MDL-46633' of https://github.com/shashirepo/moodle 2014-09-02 02:12:14 +02:00
Eloy Lafuente (stronk7) 8e12ce67da Merge branch 'MDL-46979' of git://github.com/timhunt/moodle 2014-09-02 01:48:41 +02:00
Eloy Lafuente (stronk7) a46d0e11c0 Merge branch 'MDL-45909_install_master' of https://github.com/nadavkav/moodle 2014-09-02 01:46:09 +02:00
Eloy Lafuente (stronk7) f034d6d113 Merge branch 'MDL-43639_updatePassEveryLogin' of https://github.com/moodlerooms/moodle 2014-09-02 01:07:36 +02:00
Virgil Ashruf 118a9b4308 MDL-45636 course_rest: changed modcontext to coursecontext 2014-09-01 12:36:04 +02:00
Frederic Massart 167eb0335b MDL-46696 backup: Include grade history in backups 2014-09-01 17:29:24 +08:00
Michael Aherne 38b8d3e7f1 MDL-47012 core_enrol: remove desc and fix alias from ordering 2014-09-01 10:10:27 +01:00
Damyon Wiese 2dbbc58dad Merge branch 'MDL-46852-master' of git://github.com/FMCorz/moodle 2014-09-01 16:16:08 +08:00
Damyon Wiese 37b0059539 Merge branch 'wip-MDL-46540-master' of git://github.com/marinaglancy/moodle 2014-09-01 16:08:19 +08:00
Marina Glancy 6bb1f0bf4c MDL-46540 stats: missing include file
Thanks to Vadim Dvorovenko for finding a bug and providing a solution
2014-09-18 03:40:54 +08:00
Marina Glancy d0a9fa02e4 Merge branch 'MDL-46861' of https://github.com/Lightwork-Marking/moodle 2014-09-01 16:06:22 +08:00
Marina Glancy 7dc74ce75f Merge branch 'MDL-46451_restoreError' of git://github.com/moodlerooms/moodle 2014-09-01 16:05:51 +08:00
Damyon Wiese 49025fdda7 Merge branch 'MDL-46902_master' of git://github.com/markn86/moodle 2014-09-01 15:53:44 +08:00
Damyon Wiese c8336b9733 Merge branch 'MDL-46911' of https://github.com/bostelm/moodle 2014-09-01 15:42:01 +08:00
Damyon Wiese caffd84d44 Merge branch 'm28_MDL-46985_7ZIP_RAR_MIME_types_missing' of https://github.com/scara/moodle 2014-09-01 15:33:54 +08:00
Damyon Wiese e0e23395dd Merge branch 'master_MDL-46961' of https://github.com/danmarsden/moodle 2014-09-01 15:27:41 +08:00
Damyon Wiese aac31be316 Merge branch 'wip-mdl-46670' of https://github.com/rajeshtaneja/moodle 2014-09-01 15:22:16 +08:00
Damyon Wiese 0908474990 Merge branch 'MDL-45818_master' of git://github.com/markn86/moodle 2014-09-01 15:15:24 +08:00
Marina Glancy 181435d483 Merge branch 'master_MDL-46639' of git://github.com/danmarsden/moodle 2014-09-01 14:36:09 +08:00
Marina Glancy c1780a3d0b Merge branch 'MDL-46539-fix-28' of https://github.com/jmarthaler/moodle 2014-09-01 14:36:04 +08:00
Frederic Massart 5fbebc3c18 MDL-46852 mod_lesson: More accurate comparison of shortanswer answers 2014-09-01 14:24:23 +08:00
Damyon Wiese e698e24f1a Merge branch 'wip-MDL-39233-master' of git://github.com/marinaglancy/moodle 2014-09-01 13:35:50 +08:00
Damyon Wiese 37728346fb MDL-46619 Forum: whitespace fixes 2014-09-01 11:34:41 +08:00
Damyon Wiese 89a1fbe5ff Merge branch 'MDL-46619-visisble-authors-qanda' of https://github.com/amandadoughty/moodle 2014-09-01 11:00:07 +08:00
Dan Marsden 7383195cc7 MDL-46737 SCORM: correct dml syntax. 2014-09-01 10:54:59 +08:00
Rajesh Taneja 9e4e87b434 MDL-46670 report_participation: Look for records in legacy and current
Priority log store will have current information, so
make sure to get information and aggregate that with
legacy data
2014-09-01 10:24:01 +08:00
Matteo Scaramuccia cfa5bd1f3f MDL-46985 Added 7-Zip and RAR MIME types. 2014-08-31 22:33:28 +02:00
AMOS bot 695812b858 Automatically generated installer lang files 2014-09-01 00:05:40 +08:00
Mark Nelson cbfd685a7e MDL-45818 core_message: use system context if user no longer exists 2014-08-29 16:19:35 -07:00
Mark Nelson 2f6a0e5f70 MDL-46902 core_theme: described changes in theme/upgrade.txt 2014-08-29 14:27:07 -07:00
Mark Nelson 09fef88c64 MDL-46902 core_course: display meaningful message when no courses found 2014-08-29 14:15:31 -07:00
AMOS bot 652baac3b1 Automatically generated installer lang files 2014-08-30 00:05:27 +08:00
zbdd 7d908d3365 MDL-37312 backup: Keep course idnumber on same site course restore
When the course idnumber is set during a same site course restore,
retain the course idnumber if there are no duplicates.
2014-08-29 07:15:03 +00:00
Paul Charsley 352f3f4797 MDL-46861 added missing required field areaname 2014-08-29 09:42:54 +12:00
Mark Nelson 51e0392038 MDL-46572 gradereport_history: added basic functionality behat test
Part of MDL-46191
2014-08-28 13:06:45 -07:00
Rajesh Taneja 3c7bfae29c MDL-46572 behat: extended table head look up to check if header is link
Header can be a link, this step will now look if
header has a text or header link has the text

Part of MDL-46191
2014-08-28 13:06:45 -07:00
Nadav Kavalerchik dc942aae23 MDL-45909 install/css: Left align input form fields on Install pages, in RTL mode 2014-08-28 22:56:43 +03:00
Tim Hunt 5ff815508f MDL-46979 backup: remove duplicate string.
Thanks to Matt Sammarco for spotting this.
2014-08-28 20:45:52 +01:00
Syxton 829d4e3d41 MDL-45952 feedback: non-respondents in groupings
Fixes feedback non-respondents list to show only members in groups in
the selected grouping if "Available for group members only" is selected.
2014-08-28 15:37:38 -04:00
Eloy Lafuente (stronk7) 1446e02f69 weekly release 2.8dev 2014-08-28 19:11:58 +02:00
Eloy Lafuente (stronk7) 4678d1a9b3 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-08-28 19:11:47 +02:00
shashirepo b12c3878a7 MDL-46633 chat: Chat send button gets stuck 2014-08-28 14:45:59 +05:30
Frederic Massart a2bf889706 MDL-46191 gradereport_history: Missing filename when downloading data 2014-08-28 11:21:40 +08:00
Jon Marthaler abd0f0aec6 MDL-46539 assign calendar: Fix lastcron value for assign cron 2014-08-27 11:17:28 -05:00
AMOS bot d499bcb1d8 Automatically generated installer lang files 2014-08-28 00:05:29 +08:00
Charles Fulton b1931bf279 MDL-30414 block_private_files: convert button to inline link 2014-08-27 07:14:18 -07:00
Damyon Wiese 7c9e983b52 Merge branch 'MDL-46812-master-fixup' of https://github.com/FMCorz/moodle 2014-08-27 10:48:36 +08:00
Frederic Massart 981c2ee51c MDL-46812 gradereport_grader: Hide vertical scrollbar of scroller 2014-08-27 10:40:56 +08:00
Damyon Wiese c2dbaaef64 Merge branch 'wip-MDL-39888-master-v2' of git://github.com/abgreeve/moodle 2014-08-27 09:53:35 +08:00
Faisal Kaleem ae72469da9 MDL-46961 SCORM: JavaScript Hoisting issue. 2014-08-27 13:06:36 +12:00
Eloy Lafuente (stronk7) 934a22a333 Merge branch 'm28_MDL-46875' of https://github.com/totara/moodle 2014-08-27 01:41:58 +02:00
Mark Nielsen fe465d1d5b MDL-46451 mod_lti: Fix restoring old float grades
LTI's activity table used to have a float
field for the grade.  Now it is an integer
so we must restore the grade as an integer
so it matches the table schema.
2014-08-26 09:10:34 -07:00
Damyon Wiese 6d9a83c294 Revert "Merge branch 'MDL-46917-master' of git://github.com/andrewnicols/moodle"
This reverts commit acbcea5101, reversing
changes made to 91f31c097d.
2014-08-26 17:18:03 +08:00
Henning Bostelmann f09040d76a MDL-46911 Database activity: jump to correct place in list after (un)approve 2014-08-26 10:15:15 +01:00
Adrian Greeve 1899519c6b MDL-39888 mnet: Removed tab and links to the log report.
The link would include parameters which generates warnings
on the log report page.
2014-08-26 15:11:56 +08:00
Adrian Greeve 8bc663e85e MDL-39888 mnet: Removal of an old sql statement invloving the mdl_log table. 2014-08-26 15:11:56 +08:00
Marina Glancy cdd9c80f1a MDL-39233 mod_url: added unittest for get_course_content 2014-08-26 13:53:13 +08:00
Jason 1b126c0835 MDL-39233 mod_url: fix php notice 2014-08-26 13:47:46 +08:00
Damyon Wiese a4fa3604e7 MDL-46235 Admin: Fix typos in mysql_compressed_rows.php cli script 2014-08-26 12:32:44 +08:00
Damyon Wiese 112632ed58 Merge branch 'wip_MDL-46235_m28_innodbtext' of https://github.com/skodak/moodle 2014-08-26 12:28:47 +08:00
Damyon Wiese a564a66efa Merge branch 'MDL-46509' of https://github.com/danielneis/moodle 2014-08-26 11:45:43 +08:00
Damyon Wiese ab38cb2833 MDL-46842 assign: Fix for unit tests - previous patch was completely ignoring manually reopening attempts. 2014-08-26 10:30:14 +08:00
Brian Barnes 24af352b40 MDL-46875 tinymce: Fixed issue with full screen and spelling 2014-08-26 13:19:43 +12:00
Eloy Lafuente (stronk7) 7beb1d8ea3 Merge branch 'MDL-46477' of https://github.com/shashirepo/moodle 2014-08-26 02:23:56 +02:00
Eloy Lafuente (stronk7) db438e0c14 Merge branch 'm28_MDL-46716' of https://github.com/totara/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-08-26 02:16:50 +02:00
Eloy Lafuente (stronk7) fd6bfe5856 Merge branch 'MDL-46753-master' of git://github.com/lameze/moodle 2014-08-26 02:07:56 +02:00
Eloy Lafuente (stronk7) 863c536219 Merge branch 'master_MDL-46842' of https://github.com/greg-or/moodle-mod_assign 2014-08-26 01:58:08 +02:00
Eloy Lafuente (stronk7) af0646139c Merge branch 'MDL-46868' of git://github.com/timhunt/moodle 2014-08-26 01:40:00 +02:00
Eloy Lafuente (stronk7) d3ebc21fdf Merge branch 'MDL-46867' of git://github.com/timhunt/moodle 2014-08-26 01:37:34 +02:00
Eloy Lafuente (stronk7) 40f1dff05f Merge branch 'master_MDL-46816' of https://github.com/danmarsden/moodle 2014-08-26 00:09:51 +02:00
Eloy Lafuente (stronk7) f438b03fdc Merge branch 'wip-MDL-46874-master' of git://github.com/marinaglancy/moodle 2014-08-25 22:10:09 +02:00
Eloy Lafuente (stronk7) 56127f65af Merge branch 'm28_MDL-46900' of https://github.com/totara/moodle 2014-08-25 20:55:09 +02:00
Damyon Wiese acbcea5101 Merge branch 'MDL-46917-master' of git://github.com/andrewnicols/moodle 2014-08-25 16:54:47 +08:00
Marina Glancy 91f31c097d Merge branch 'MDL-46894' of git://github.com/timhunt/moodle 2014-08-25 16:52:21 +08:00
Marina Glancy b7e662bb13 Merge branch 'MDL-46916' of git://github.com/timhunt/moodle 2014-08-25 16:49:52 +08:00
Damyon Wiese a88770d7eb Merge branch 'MDL-46923_master' of git://github.com/markn86/moodle 2014-08-25 16:48:27 +08:00
Damyon Wiese 4da7f20610 Merge branch 'wip_MDL-43918_m28_cm' of https://github.com/skodak/moodle 2014-08-25 16:45:15 +08:00
Marina Glancy e55cecf05f Merge branch 'MDL46887_assignment_file_max_size' of git://github.com/Dave-B/moodle 2014-08-25 16:28:49 +08:00
Marina Glancy 8c1fb0f89e Merge branch 'MDL-46895' of git://github.com/colchambers/moodle 2014-08-25 16:27:49 +08:00
Rex Lorenzo f0d2cb3e90 MDL-46776 gradereport_grader: Improve Grader report user interface
* Adding assignments to test course generator to more easily test the grader report with large number of students and graded activities.
2014-08-25 16:17:47 +08:00
Dan Marsden d92c406a51 MDL-46639 mod_scorm: Fix load of simple AICC content
Thanks to Ian Wild for the report and suggested patch.
2014-08-25 19:59:44 +12:00
Marina Glancy cf2d4159b7 Merge branch 'MDL-46191-master' of git://github.com/FMCorz/moodle 2014-08-25 15:43:29 +08:00
Frederic Massart 07f827acd4 MDL-46191 gradereport_history: Final clean up for integration 2014-08-25 14:53:28 +08:00
Marina Glancy f0623ea70e Merge branch 'MDL-46450_master' of git://github.com/nadavkav/moodle 2014-08-25 14:45:22 +08:00
Marina Glancy 241d1d42cf Merge branch 'MDL-46904-master' of git://github.com/damyon/moodle 2014-08-25 14:45:05 +08:00
Damyon Wiese bb918c0e94 Merge branch 'wip-MDL-46812_master' of git://github.com/lazydaisy/moodle 2014-08-25 14:03:00 +08:00
Damyon Wiese b04dbae3fe Merge branch 'wip-MDL-46703-master' of git://github.com/marinaglancy/moodle 2014-08-25 13:49:05 +08:00
Marina Glancy 2ef3ecffb7 Merge branch 'MDL-46918' of git://github.com/timhunt/moodle 2014-08-25 12:01:10 +08:00
Petr Skoda a45d54b8cb MDL-46235 ddl: add support for large number of text fields in one database table 2014-08-25 12:40:57 +12:00
Petr Skoda b6f299bb69 MDL-43918 add more validation to $modulename parameter when fetching cms 2014-08-25 12:09:54 +12:00
Nadav Kavalerchik 51f2398ce7 MDL-46450 availability/info: Add links to module names inside restrict access availabilityinfo box 2014-08-24 23:39:20 +03:00
Colin Chambers 96fc865427 MDL-46895 qtype_calculated_find_formula_errors not defined causes Calculated question type test to fail 2014-08-22 13:55:44 +01:00
Ankit Agarwal 5bd36407af MDL-46907 gradereport_history: Refactor user_button class to remove js methods
Part of MDL-46191
2014-08-22 10:52:27 +08:00
Ankit Agarwal 9e7a84e5b2 MDL-46191 gradereport_history: Fix minor issues after the review
Part of MDL-46191
2014-08-22 10:38:27 +08:00
Frederic Massart 4870363dd2 MDL-46573 gradereport_history: Cross DB query relying on timemodified
Part of MDL-46191
2014-08-22 10:38:24 +08:00
Ankit Agarwal 950ac46e2a MDL-46678 gradereport_history: Write unit tests for get_graders api
Part of MDL-46191
2014-08-22 10:38:20 +08:00
Ankit Agarwal 9f3523767e MDL-46678 gradereport_history: Move hardcoded sql from index.php to an api
Part of MDL-46191
2014-08-22 10:38:17 +08:00
Frederic Massart 1f2ebf779f MDL-46571 gradereport_history: Unit tests for helper user methods
Part of MDL-46191
2014-08-22 10:35:31 +08:00
Frederic Massart cf6bc1b1a2 MDL-46571 gradereport_history: Unit tests for the table_sql results
Part of MDL-46191
2014-08-22 10:35:23 +08:00
Ankit Agarwal a347687b79 MDL-46649 gradereport_history: Add apis to get users and user count, also refactor users_ajax.php
Part of MDL-46191
2014-08-22 10:35:13 +08:00
Ankit Agarwal d21b664956 MDL-46649 gradereport_history: delete the old class grade_report_history
Part of MDL-46191
2014-08-22 10:35:08 +08:00
Frederic Massart 36dbb5757b MDL-46570 gradereport_history: Selected users are saved across page loads
Part of MDL-46191
2014-08-22 10:35:04 +08:00
Frederic Massart 4d43f77f58 MDL-46570 gradereport_history: Update the logic of button helper method
Part of MDL-46191
2014-08-22 10:34:58 +08:00
Frederic Massart a6ecebf7f9 MDL-46570 gradereport_history: Clean up of styling and minor inconsistencies
Part of MDL-46191
2014-08-22 10:34:46 +08:00
Frederic Massart adf2eb572e MDL-46570 gradereport_history: Styling for RTL languages
Part of MDL-46191
2014-08-22 10:34:35 +08:00
Frederic Massart 7478d85cfc MDL-46570 gradereport_history: Making the users list an ARIA widget
Part of MDL-46191
2014-08-22 10:34:28 +08:00
Frederic Massart 855e13784b MDL-46570 gradereport_history: Reworked search and load more mechanism
Part of MDL-46191
2014-08-22 10:34:23 +08:00
Frederic Massart 234f962dd5 MDL-46570 gradereport_history: Improving accessibility and selection mechanism
Part of MDL-46191
2014-08-22 10:34:17 +08:00
Frederic Massart 49bcd2dfae MDL-46570 gradereport_history: Convert to moodle dialogue
Part of MDL-46191
2014-08-22 10:34:11 +08:00
Frederic Massart 532e3dd7bc MDL-46570 gradereport_history: Adding JS documentation
Part of MDL-46191
2014-08-22 10:34:03 +08:00
Frederic Massart f6da1fd521 MDL-46570 gradereport_history: Simplifying the select/deselect buttons logic
Part of MDL-46191
2014-08-22 10:33:57 +08:00
Frederic Massart 1ecb0d0327 MDL-46570 gradereport_history: Convert to use templates and selectors
Part of MDL-46191
2014-08-22 10:33:51 +08:00
Frederic Massart b8908b0ac2 MDL-46570 gradereport_history: Safer use of language strings
Part of MDL-46191
2014-08-22 10:33:44 +08:00
Frederic Massart 51abd213ba MDL-46570 gradereport_history: Converting JS to namespace'd module
Part of MDL-46191
2014-08-22 10:33:39 +08:00
Mark Nelson 6668a9046f MDL-46574 gradereport_history: added report viewed event
Part of MDL-46191
2014-08-22 10:33:33 +08:00
Ankit Agarwal 2864abd876 MDL-46569 gradereport_history: Use table_sql for the report
Part of MDL-46191
This patch includes:-
- Convertion of the code to use new renderable/renderer apis
- Rewrote the code to remove all custom sorting, etc and use table sql instead
- Usernames are now clickable
- Grade items are now clickable
- Grade history is now displayed even if the grade item is deleted
- We are now using table sql for downloads so export in multiple formats is supported
- Feedback is now properly formatted
- Source fields are not capitilised anymore
- Paging is not shown on top of filters anymore
2014-08-22 10:33:23 +08:00
Ankit Agarwal 91737ef389 MDL-46569 gradereport_history: Create a helper class
Part of MDL-46191
2014-08-22 10:33:15 +08:00
Ankit Agarwal e1db69e957 MDL-46569 gradereport_history: Move class gradereport_history_filter_form to proper namespaced location
Part of MDL-46191
2014-08-22 10:33:06 +08:00
Ankit Agarwal f08bbff915 MDL-46569 gradereport_history: Move class gradereport_history_user_button to proper namespaced location
Part of MDL-46191
2014-08-22 10:32:59 +08:00
Ankit Agarwal 714ec903c7 MDL-46567 gradereport_history: Basic codestyle, phpdocs and other minor cleanups
Part of MDL-46191
This commit includes following changes:-
- Fix codestyle issues
- Remove readme file
- Fix and add file headers
- Fix and add missing phpdocs
2014-08-22 10:32:53 +08:00
Adam Olley e57791bf6c MDL-46567 gradereport_history: Basic readme.md
Part of MDL-46191
2014-08-22 10:32:44 +08:00
Adam Olley 94b26ab52b MDL-46567 gradereport_history: Extra version.php info
Part of MDL-46191
2014-08-22 10:32:11 +08:00
Luke Tucker d94d6e829a MDL-46567 gradereport_history: Move paging implementation to db layer
Part of MDL-46191
2014-08-22 10:31:56 +08:00
Matthew Tavella 6cbd548061 MDL-46567 gradereport_history: Fix bug with paging
Part of MDL-46191
2014-08-22 10:31:39 +08:00
Matthew Tavella f7744e915a MDL-46567 gradereport_history: Prevent duplicate username column from rendering
Part of MDL-46191
2014-08-22 10:31:30 +08:00
Adam Olley 56793e6ce5 MDL-46567 gradereport_history: Initial commit with basic structure of the report
Part of MDL-46191
2014-08-22 10:29:30 +08:00
Andrew Nicols 1b8f073de3 MDL-46917 atto: Focus on the editor when the form label is selected 2014-08-22 08:58:21 +08:00
Daniel Neis Araujo b5a289c4e8 MDL-46509 enrol: Require 'enrol/PLUGIN:config' capabilities to show/hide enrollment instances 2014-08-21 19:01:57 -03:00
Daniel Neis Araujo 0594336d92 MDL-46509 enrol: fix usage of incorrect capability check 2014-08-21 19:01:57 -03:00
Daniel Neis Araujo 85b030cc39 MDL-46509 enrol: fix usage of incorrect enrol plugin in capability check 2014-08-21 19:01:57 -03:00
Brian Barnes 4a222f026a MDL-46716 core_calendar: Replaced iCal image with stylised text 2014-08-22 09:44:58 +12:00
Dan Marsden f4774f44d1 MDL-46816 mod_asssign plagiarism: Remove unnecessary code. 2014-08-22 09:43:48 +12:00
Eloy Lafuente (stronk7) 52953ff948 MDL-46918 ddl: cover behavior with unit test 2014-08-21 18:33:23 +01:00
Tim Hunt 5dc266d980 MDL-46918 ddl: fix error when renaming table already exists 2014-08-21 18:33:22 +01:00
AMOS bot 79b1fcbc88 Automatically generated installer lang files 2014-08-22 00:05:26 +08:00
Tim Hunt 6d99e71847 MDL-46916 behat: improve question state test. 2014-08-21 14:16:31 +01:00
Tim Hunt ef03842ad3 MDL-46894 make Behat backup steps more robust. 2014-08-21 14:16:22 +01:00
Tim Hunt a6bbb92607 MDL-46868 glossary / filter: performance, check modinfo sooner.
Since we need to check modinfo anyway, do that as soon as possible so we
can get a performance win if there are no glossaries in the course.
2014-08-21 14:16:15 +01:00
Tim Hunt 062d04cffc MDL-46867 filter_glossary: don't use static for one-time JS. 2014-08-21 14:16:07 +01:00
Dan Poltawski cae945d272 MDL-46880 mod_forum: move cron to scheduled task
Note that this is a very basic conversion without doing any refactoring
to split the tasks up better. That will come in MDL-44734, this is about
being a safe backportable change to give admins better control over the
running of the forum cron task.
2014-08-21 13:45:43 +01:00
shashirepo ce72c045e6 MDL-46477 chat:hard coded string in mod/chat 2014-08-21 17:29:45 +05:30
Amanda Doughty a472912d73 MDL-46619 mod/forum author showing in Q and A forum 2014-08-21 12:32:08 +01:00
Mary Evans 8c97393ce5 MDL-46812 grade/report/grader: Need to tie up loose ends in Gradebook after MDL-43824
Squashed commit of the following:

commit 5881cccc95c135e1440ce0c5441a84b462941758
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Thu Aug 21 02:15:05 2014 +0100

    MDL-46812 grade/report/grader: Reset previous commit for left scroller.

commit 5abeb60470f02ab4c79c27b2a6f6187e75891e0b
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Thu Aug 21 01:29:41 2014 +0100

    MDL-46812 grade/report/grader: Added jsenabled css body class to rtl style.

commit a95d23d8b753a590d980e5427e8c74ba597c2b91
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Thu Aug 21 00:59:06 2014 +0100

    MDL-46812 theme_base; Removed more redundent CSS.

commit 3fb326e5b39738343e0b7c0d9c8da17adf5a09bb
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Wed Aug 20 13:24:59 2014 +0100

    MDL-46812 theme_base: Removed redundent grade/report/grader CSS in style/grade.css

commit c602e7e277f9ce1fed6d0eccf72c547432e130b6
Author: Mary Evans <lazydaisy@visible-expression.co.uk>
Date:   Thu Aug 14 12:50:14 2014 +0100

    MDL-46812 grade/report/grader: Need to tie up loose ends in Gradebook after MDL-43824

        1. fixed gradebook layout when JS is disabled
        2. added height and background color to scroller when JS is enabled
        3. removed redundent top margin in user-grades table
2014-08-21 11:13:56 +01:00
Mark Nelson 08678f6f45 MDL-46923 core_behat: fixed typos in function names 2014-08-20 22:09:29 -07:00
Damyon Wiese 720d22404b MDL-44304 assignfeedback_editpdf: Fix fatal error when viewing team assignments with editpdf responses. 2014-08-21 12:09:27 +08:00
Damyon Wiese 506df250af MDL-44304 assignfeedback_editpdf: Behat test for group submissions 2014-08-21 12:09:22 +08:00
Brian Barnes e5cb8da2f2 MDL-46900 theme: allowed more than 1 nav collapse element 2014-08-21 14:56:56 +12:00
Marina Glancy e609e6cf02 weekly release 2.8dev 2014-08-21 10:18:37 +08:00
Marina Glancy ea1a0ff85a NOBUG: Fixed file access permissions 2014-08-21 10:18:37 +08:00
Marina Glancy 5aec206c66 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-08-21 10:18:35 +08:00
AMOS bot 24eb45cc40 Automatically generated installer lang files 2014-08-21 00:05:27 +08:00
Gregory Faller 767fda9bce MDL-46842: Reopen assignment submissions when using offline grading worksheet 2014-08-20 19:13:49 +09:30
Damyon Wiese a0ac406055 MDL-46904 core_task: Gracefully handle rubbish entries in the tasks table. 2014-08-20 17:01:15 +08:00
Damyon Wiese 7c32b87bfd Merge branch 'MDL-45029-master' of git://github.com/lameze/moodle
Conflicts:
	course/modlib.php
2014-08-20 13:58:22 +08:00
Damyon Wiese f01330f6ca Merge branch 'MDL-46792-master' of git://github.com/xow/moodle 2014-08-20 12:10:13 +08:00
Mark Nelson 617dbe49ed MDL-46188 core_course: use correct hide/show icon 2014-08-20 12:04:35 +08:00
John Okely 248e23c335 MDL-46792 core_group: Add unit tests to ensure that group updates and grouping updates do not require names 2014-08-20 12:02:58 +08:00
Simey Lameze 78618bc677 MDL-45029 core_course: set aggregationcoef while creating a new course module 2014-08-20 11:56:11 +08:00
Damyon Wiese 391da2bf82 Merge branch 'MDL-45029-master' of git://github.com/lameze/moodle 2014-08-20 10:21:20 +08:00
uhunkler 6dccf359a0 MDL-46302 correct atto img float right
Correct the atto image "float right" margin CSS
2014-08-20 00:59:31 +02:00
Eloy Lafuente (stronk7) 1ca98142cd Merge branch 'MDL-46536_oauthSig' of https://github.com/moodlerooms/moodle 2014-08-19 20:27:52 +02:00
AMOS bot 35aa137dd8 Automatically generated installer lang files 2014-08-20 00:05:24 +08:00
Eloy Lafuente (stronk7) 36be1bf189 Merge branch 'MDL-46051_LTI_event' of https://github.com/moodlerooms/moodle 2014-08-19 15:59:03 +02:00
Michael Wheeler 3f4ac1eb9a Normalize request header names. 2014-08-19 15:39:46 +02:00
David Balch 6ba716c118 MDL-46887 mod_assign: Enforce module's maxbytes setting at submission. 2014-08-19 13:29:15 +01:00
Dan Poltawski ba774b42a2 MDL-46885 mod_forum: diverge version numbers
Before this patch the version number could dangerously clash with
27_STABLE increments - and miss the upgrade steps for MDL-1626
2014-08-19 13:04:01 +02:00
Marina Glancy 376a6f687c Merge branch 'wip-mdl-46327' of git://github.com/rajeshtaneja/moodle 2014-08-19 17:28:55 +08:00
Rajesh Taneja a9950b49c4 MDL-46327 phpunit: drop_table should be used, rather then drop_temp_table 2014-08-19 17:16:55 +08:00
Damyon Wiese 52ed065131 Merge branch 'MDL-46706-master' of https://github.com/sammarshallou/moodle
Conflicts:
	lib/tests/modinfolib_test.php
2014-08-19 17:13:05 +08:00
Simey Lameze 82f336aa84 MDL-45029 core_course: set aggregationcoef while creating a new course module 2014-08-19 17:06:49 +08:00
Marina Glancy 6ee21ea1d0 Merge branch 'MDL-18014-master' of git://github.com/damyon/moodle 2014-08-19 16:57:05 +08:00
Marina Glancy e913caab92 Merge branch 'MDL-46538_master' of git://github.com/lazydaisy/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-08-19 16:51:46 +08:00
Damyon Wiese aba9019832 Merge branch 'wip_MDL-46711_m28_memcachesrvs' of https://github.com/skodak/moodle 2014-08-19 16:31:06 +08:00
Marina Glancy 4cb61b6b4e Merge branch 'MDL-46281-master' of git://github.com/lucisgit/moodle 2014-08-19 16:26:35 +08:00
Damyon Wiese d32bc7d655 MDL-18014 Atto autosave: Atto requires $PAGE->url be set or debugging is triggered
2 quiz tests are creating forms with text editors manually - they need to ensure a valid
$PAGE->url is set so they don't trigger debugging warnings from $PAGE->url magic method
called by Atto.
2014-08-19 16:02:14 +08:00
Damyon Wiese fc9b567f32 Merge branch 'MDL-46772-master' of git://github.com/andrewnicols/moodle 2014-08-19 15:41:32 +08:00
Marina Glancy 816ddceceb Merge branch 'MDL-46829_master' of git://github.com/lazydaisy/moodle 2014-08-19 14:20:51 +08:00
Marina Glancy 7e4475d37c Merge branch 'MDL-46833-master' of git://github.com/lucisgit/moodle 2014-08-19 14:20:41 +08:00
Marina Glancy c86ae8660c Merge branch 'MDL-46846-master' of git://github.com/damyon/moodle 2014-08-19 14:20:31 +08:00
Damyon Wiese c97bb5df16 Merge branch 'MDL-41513_Scrollbar_not_working' of https://github.com/MorrisR2/moodle 2014-08-19 14:11:43 +08:00
Marina Glancy 2c0ee558e5 Merge branch 'wip-mdl-46817' of git://github.com/rajeshtaneja/moodle 2014-08-19 14:03:27 +08:00
Marina Glancy 04821cbbe7 Merge branch 'MDL-46469-master' of git://github.com/ankitagarwal/moodle 2014-08-19 14:01:48 +08:00
Damyon Wiese 32d3bfa2de Merge branch 'MDL-46792-master' of https://github.com/lucisgit/moodle 2014-08-19 13:57:50 +08:00
Ankit Agarwal 2eca9a23ae MDL-46469 scorm: Update report plugins to use namespaced classnames 2014-08-19 13:56:13 +08:00
Ankit Agarwal fd57607fdb MDL-46469 scorm: Support autoloading for report plugins 2014-08-19 13:56:13 +08:00
Marina Glancy 430529bde8 Merge branch 'MDL-18014-master' of git://github.com/damyon/moodle 2014-08-19 13:50:44 +08:00
Marina Glancy dd924ea9db Merge branch 'MDL-43197-master-2nd' of git://github.com/FMCorz/moodle 2014-08-19 13:25:32 +08:00
Damyon Wiese 9fb3fdd75f Merge branch 'MDL-46188' of https://github.com/shashirepo/moodle 2014-08-19 13:13:08 +08:00
Marina Glancy cff613f040 MDL-46874 gradereport: replace usage of class hidden with dimmed_text 2014-08-19 12:53:22 +08:00
Damyon Wiese 9eea856632 MDL-18014 Atto autosave: Add a timemodified field to the auto save drafts
Do not restore any draft older than 4 days to (sort of) sync with the draft file
lifetime.
2014-08-19 12:30:13 +08:00
Damyon Wiese 942501f318 MDL-18014 Atto autosave: When text is recovered, force it into the undo stack
This allows you to use "Undo" to go back to the unaltered text in the form.
2014-08-19 12:13:41 +08:00
Michael Wheeler 750688c741 MDL-46794 install: Fixed typo in config-dist.php 2014-08-19 11:27:40 +08:00
Marina Glancy 628b2a5cd3 Merge branch 'MDL-46796-master' of git://github.com/merrill-oakland/moodle 2014-08-19 11:24:41 +08:00
Marina Glancy b3194ab1b2 Merge branch 'master_MDL-46775' of git://github.com/totara/moodle 2014-08-19 11:21:22 +08:00
Marina Glancy 3377a87d69 Merge branch 'wip-mdl-46327' of git://github.com/rajeshtaneja/moodle 2014-08-19 10:48:11 +08:00
Marina Glancy efc815848d Merge branch 'wip-MDL-46791-master' of git://github.com/satrun77/moodle 2014-08-19 10:47:55 +08:00
Frederic Massart abbee05eb3 MDL-43197 gradereport_user: Parents/mentors can see all the relevant grades 2014-08-19 10:47:34 +08:00
Rajesh Taneja c1dc3f4793 MDL-46327 phpunit: Fixed oracle fail 2014-08-19 10:11:20 +08:00
Eloy Lafuente (stronk7) 14c38c2573 Merge branch 'wip-MDL-46691-master' of git://github.com/marinaglancy/moodle 2014-08-19 02:58:17 +02:00
James Henestofel acf2508614 MDL-42231 auth: custom profile fields to support numbers at the end.
For data mapping LDAP or CAS.  Change order of fieldname display checks to verify
custom profile fields first to allow custom field shortname to contain number at the end.
2014-08-19 02:41:41 +02:00
Eloy Lafuente (stronk7) d2e5f21625 Merge branch 'MDL-44894' of git://github.com/timhunt/moodle 2014-08-19 02:34:12 +02:00
Eloy Lafuente (stronk7) 652d886ae5 Merge branch 'wip_MDL-46552_m28_memcached' of https://github.com/skodak/moodle 2014-08-19 02:28:56 +02:00
Eloy Lafuente (stronk7) 6ea7fde09c Merge branch 'MDL-45874' of https://github.com/danielneis/moodle 2014-08-18 23:58:27 +02:00
Eloy Lafuente (stronk7) a00678e54b Merge branch 'wip-MDL-46826-master' of git://github.com/marinaglancy/moodle 2014-08-18 20:06:16 +02:00
Eloy Lafuente (stronk7) 6ba12477ec Merge branch 'wip-MDL-46589-master' of git://github.com/marinaglancy/moodle 2014-08-18 19:47:50 +02:00
Eloy Lafuente (stronk7) 64140f93ec Merge branch 'wip-MDL-46545-master' of git://github.com/marinaglancy/moodle 2014-08-18 19:40:13 +02:00
Eric Merrill 97531d3929 MDL-46766 auth_cas: Upgrading to phpCAS 1.3.3 2014-08-18 16:39:38 +08:00
Damyon Wiese d9ff93e36e Merge branch 'master_MDL-46669' of https://github.com/danmarsden/moodle 2014-08-18 16:21:54 +08:00
Ray Morris f893cb44e0 MDL-46669 mod_scorm: Extraneous quotes added to scorm API values 2014-08-18 16:20:42 +08:00
Damyon Wiese c84f1c6093 MDL-45887 mod_scorm: Note the coding style fixup issue in upgrade.txt 2014-08-18 15:11:59 +08:00
Simey Lameze 71ec01afa6 MDL-46753 auth_cas: Replace hardcoded logout_return_url to user defined URL.
Credit goes to Mitsuru Udagawa, thanks!
2014-08-18 12:51:44 +08:00
Rajesh Taneja 641459a8a5 MDL-46817 behat: Step to check if value exist/not in table column 2014-08-18 09:59:29 +08:00
nobelium 15838edb63 MDL-45887 mod_scorm : Fixing variable names 2014-08-17 22:15:04 +12:00
nobelium 4cb25b3605 MDL-45887 mod_scorm : Fixing coding standard violations 2014-08-17 22:15:04 +12:00
Dan Marsden 98c59aaab2 MDL-46760 mod_scorm: Fix js error when preview mode disabled 2014-08-17 22:14:15 +12:00
Marina Glancy 041a1de0a1 MDL-41284 stats: fix sql query from MDL-41284 2014-08-16 18:55:29 +08:00
Marina Glancy 017ae4c78d MDL-46703 mod_data: limit the width of select element when editing templates
Thanks to Hittesh for the provided solution
2014-08-16 13:36:20 +08:00
Marina Glancy fb71171fc6 MDL-46589 scheduled task does not send emails
Thanks to  Luděk Šulák  for the patch
2014-08-16 11:29:34 +08:00
Daniel Neis e0530c2f14 MDL-45874 Fix access to users reports in navigation when using separate groups 2014-08-15 17:04:50 -03:00
sam marshall d25c41fbc5 MDL-46706 Library: API to get cm_info more easily
Creates two new functions that make it easier to get cm_info
objects (both in modinfolib.php):

get_course_and_cm($cmid) - intended for use e.g. in modules;
efficiently loads $course and $cm (normally saves 1 query).

cm_info::from_mixed($cm) - for use in back-end API where we
are not sure whether a $cm is a real cm_info or a stdClass.
2014-08-15 18:24:11 +01:00
Tony Butler f84b9e65e4 MDL-46792 core_group: Check that $data->name is set before trimming
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-08-15 09:43:36 +01:00
Marina Glancy ba9390784d MDL-46691 mod_choice: apply filters to user input 2014-08-15 15:53:10 +08:00
Damyon Wiese 924cb72b4a MDL-46846 Grades export: Some settings were not parsed from the form correctly.
This was a regression from MDL-46548.

I also added to the behat test to cover this, and sped up the behat test while I was there.

I also restored the behaviour where usercustomfields was hardcoded to true for all
export types except XML - but the default was false.
2014-08-15 13:53:29 +08:00
Rajesh Taneja 7d1c6a6e62 MDL-46817 behat: Table selector support css
Previously table selector supported id and caption only.
But in few cases we don't have proper id, so added support
for css
2014-08-15 13:11:33 +08:00
Marina Glancy 73de21ffda MDL-46826 forum: add index on field forum_discussion.course 2014-08-15 13:06:23 +08:00
Ruslan Kabalin dfaedf0854 MDL-46833 mod_assign: Fix assignment view when available for group members only.
When assignment is "Available for group members only" and no users with
mod/assign:submit role permision is enrolled (students),
groups_filter_users_by_course_module_visible is causing error (as $users
array is empty). The patch resolves the issue.
2014-08-14 16:06:08 +01:00
shashirepo c285740896 MDL-46188 course:show/hide button disappears after action 2014-08-14 20:26:28 +05:30
Mary Evans fcd90243b6 MDL-46829 theme_base: Fixed regression in Base caused by MDL-54031.
So much for Peer Reviews.
2014-08-14 13:35:26 +01:00
Tony Butler 206541a12c MDL-46281 core_backup: Add class_exists check for backup_<mod>_activity_task
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-08-14 12:56:36 +01:00
Tim Hunt f276267d93 MDL-44894 question editing: fix validation with odd permissions
For users with edit permissions, but not add permissions, it was
impossible to save the editing form. The validation assuemd this value
was present, but it was not. Other code checks this field too, so I
added it rather than changing the validation and all the other uses.
2014-08-14 11:25:18 +01:00
Marina Glancy e1eb180806 weekly release 2.8dev 2014-08-14 14:52:07 +08:00
Marina Glancy 7d90b9b9f9 NOBUG: Fixed file access permissions 2014-08-14 14:52:07 +08:00
Marina Glancy 39db49c237 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-08-14 14:52:01 +08:00
Damyon Wiese c07f86ce26 MDL-18014 Atto autosave: Use the $PAGE->url to differentiate autosave instances 2014-08-14 13:23:05 +08:00
Damyon Wiese d8733567ee MDL-18014 Atto autosave: Redo version bump after rebase 2014-08-14 12:44:01 +08:00
Damyon Wiese 56579fb68b MDL-18014 Atto autosave: Change ajax script path to an attribute 2014-08-14 12:44:00 +08:00
Damyon Wiese e7a8977ef4 MDL-18014 Atto: Fix for error handling bug on autosave 2014-08-14 12:43:47 +08:00
Damyon Wiese f1018cd615 MDL-18014 Atto: Make notifications fade in/out. 2014-08-14 12:43:32 +08:00
Damyon Wiese a10c6ea8fc MDL-18014 Atto: Language change for auto save text.
Make this text shorter so it's less distracting.
2014-08-14 12:43:14 +08:00
Damyon Wiese 19549f8bed MDL-18014 Atto: Assorted coding style changes from peer review 2014-08-14 12:43:14 +08:00
Damyon Wiese 6bfd450a6d MDL-18014 Atto: Make the autosave frequency configurable 2014-08-14 12:43:04 +08:00
Damyon Wiese a108fbeecf MDL-18014 Atto: Add a notification when text is autosaved. 2014-08-14 12:42:55 +08:00
Damyon Wiese 8593521f4c MDL-18014 Atto autosave: Fix coding style issues 2014-08-14 12:42:46 +08:00
Damyon Wiese e3502577b8 MDL-18014 Atto: Reset auto save frequency to 60 seconds. 2014-08-14 12:42:45 +08:00
Damyon Wiese c195bbffab MDL-18014 Atto autosave: Correct detection of autosaving error when session expired 2014-08-14 12:42:37 +08:00
Damyon Wiese 8a5db5472e MDL-18014 Atto autosave: Show warning when the server cannot be contacted for autosave. 2014-08-14 12:42:27 +08:00
Damyon Wiese ddaeae21fd MDL-18014 Atto autosave: Change default autosave frequency to 60 seconds 2014-08-14 12:42:17 +08:00
Damyon Wiese 75c86d13c7 MDL-18014 Atto: Add notification support to Atto. 2014-08-14 12:42:06 +08:00
Damyon Wiese 2ba6706d12 MDL-18014 Atto: Autosave text every N seconds. 2014-08-14 12:41:55 +08:00
Andrew Nicols 7dfaa3aede MDL-46772 core: html_writer::table should respect tr attributes 2014-08-14 12:06:31 +08:00
Eloy Lafuente (stronk7) 3376dae082 MDL-45031 theme: fix tabs base line alignment by 1px.
Credit goes to Damyon Wiese, thanks!
2014-08-13 21:31:11 +02:00
AMOS bot 49913cbda9 Automatically generated installer lang files 2014-08-14 00:05:40 +08:00
Mark Nielsen 8a8fb3a627 MDL-46051 mod_lti: Not enough data passed to lti_extend_lti_services 2014-08-13 09:01:23 -07:00
Mark Nielsen e16146351f MDL-46051 mod_lti: Fixing errors in unknown_service_api_called class
Also adding unit tests.
2014-08-13 09:01:08 -07:00
Eric Merrill e75becf3b3 MDL-46796 caching: Fix missing property error for memcache(d) 2014-08-13 08:24:04 -04:00
Eloy Lafuente (stronk7) ccef4eec67 Merge branch 'MDL-45932-fixes' of git://github.com/danpoltawski/moodle 2014-08-13 12:03:17 +02:00
Dan Poltawski aa53347409 MDL-45932 enrol_imsenterprise: lang string fixes 2014-08-13 10:35:52 +01:00
Marina Glancy a2a4ad8928 MDL-46643 calendar: improved tab order of calendar detail pages 2014-08-13 16:29:45 +08:00
Marina Glancy fa386d6172 Merge branch 'MDL-45759-master-2' of git://github.com/andrewnicols/moodle 2014-08-13 16:23:12 +08:00
Andrew Nicols 5afbca2485 MDL-45759 mod_quiz: Correct behat test to reflect changes from a translation fix 2014-08-13 15:44:52 +08:00
Dan Poltawski 60127c84b5 Revert "Merge branch 'wip_MDL-46660_m28_memcache' of https://github.com/skodak/moodle"
This reverts commit 57fdca8cec, reversing
changes made to 62e30bfbcd.
2014-08-13 08:36:44 +01:00
Mohamed Alsharaf 6d0361ff25 MDL-46791 question: fixed incorrect 5th param for tag_set() 2014-08-13 13:57:12 +12:00
Marina Glancy 38a5c6861e Merge branch 'MDL-46565_master' of git://github.com/markn86/moodle 2014-08-13 09:25:38 +08:00
Eloy Lafuente (stronk7) 179eb9cabd Merge branch 'MDL-46697' of git://github.com/aolley/moodle 2014-08-13 02:08:07 +02:00
Eloy Lafuente (stronk7) 9ab115bbee Merge branch 'MDL-45031_M28' of git://github.com/lazydaisy/moodle 2014-08-13 00:34:03 +02:00
Eloy Lafuente (stronk7) b8475d375c Merge branch 'wip-MDL-46470-master' of git://github.com/marinaglancy/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-08-13 00:24:51 +02:00
Mark Nelson 67ab0ff089 MDL-46565 gradereport_*: moved report viewed event to bottom of page 2014-08-12 12:27:50 -07:00
Mark Nelson 44263d9c1c MDL-46565 gradereport_*: renamed event string names
This makes the strings more descriptive and consistent.

AMOS START
  MOV [eventreportviewed, gradereport_grader],[eventgradereportviewed, gradereport_grader]
  MOV [eventreportviewed, gradereport_outcomes],[eventgradereportviewed, gradereport_outcomes]
  MOV [eventreportviewed, gradereport_overview],[eventgradereportviewed, gradereport_overview]
  MOV [eventreportviewed, gradereport_user],[eventgradereportviewed, gradereport_user]
AMOS END
2014-08-12 12:19:18 -07:00
Ray Morris d6691fbee8 MDL-41513 mod_quiz: Scrollbar not working in Javascript Security Popup Quiz window in Chrome 2014-08-12 11:14:24 -05:00
Dan Poltawski 023d758513 Merge branch 'wip_MDL-46561_m28_sessexists' of https://github.com/skodak/moodle 2014-08-12 14:28:22 +01:00
Dan Poltawski 231520807e Merge branch 'MDL-37401' of git://github.com/nobelium/moodle 2014-08-12 13:58:38 +01:00
Dan Poltawski 70c16c5336 Merge branch 'MDL-45642' of git://github.com/timhunt/moodle 2014-08-12 11:34:05 +01:00
Dan Poltawski 134b1e4c90 Merge branch 'MDL-43824-master' of git://github.com/lazydaisy/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-08-12 11:06:53 +01:00
Dan Poltawski 57fdca8cec Merge branch 'wip_MDL-46660_m28_memcache' of https://github.com/skodak/moodle 2014-08-12 11:04:15 +01:00
Dan Poltawski 62e30bfbcd Merge branch 'master_MDL-46718' of https://github.com/greg-or/moodle-mod_assign 2014-08-12 11:02:18 +01:00
Marina Glancy 3cef86a42b Merge branch 'MDL-46308' of git://github.com/timhunt/moodle 2014-08-12 16:02:41 +08:00
Marina Glancy dc0f4b4f26 Merge branch 'MDL-21042_master' of git://github.com/markn86/moodle 2014-08-12 16:01:56 +08:00
Marina Glancy 2e6188a7f2 Merge branch 'MDL-46448_rating_ajax2' of git://github.com/andyjdavis/moodle 2014-08-12 15:22:19 +08:00
Marina Glancy 49b9144c87 Merge branch 'm28_MDL-46315' of git://github.com/totara/moodle 2014-08-12 15:01:30 +08:00
Marina Glancy e12ffe254e Merge branch 'MDL-46600_import_failed' of git://github.com/andyjdavis/moodle 2014-08-12 15:01:19 +08:00
Marina Glancy 7c27c681b1 Merge branch 'wip_MDL-46480_m28_footernan' of git://github.com/skodak/moodle 2014-08-12 15:01:10 +08:00
Marina Glancy 44c2bafc1f Merge branch 'MDL-46646-master' of git://github.com/andrewnicols/moodle 2014-08-12 13:32:33 +08:00
Marina Glancy ff195da1e3 Merge branch 'm28_MDL-46643' of git://github.com/totara/moodle 2014-08-12 13:31:25 +08:00
Marina Glancy 36e2b86dd3 Merge branch 'MDL-43740_manual_none' of git://github.com/andyjdavis/moodle 2014-08-12 13:29:15 +08:00
Andrew Nicols b21b32a4af MDL-46646 gradebook: Optimise generation of the grader report table
The grader report table makes use of various user preferences, and strings
which on every iteration. On a large gradebook, this can have a significant
impact upon performance.
The table also uses html_writer::tag to generate spans for
machine-generated content which becomes expensive on larger gradebooks.
2014-08-12 11:56:42 +08:00
Simon Coggins 754313fbb8 MDL-46775: Fix call to unavailable function when loading an invalid JS file 2014-08-12 14:06:37 +12:00
Mary Evans 0b181e9a4d MDL-45031 theme_base: Added style/tabs.css and updated config.php
also removed tabtree css from style/core.css to style/tabs.css.
2014-08-12 00:59:16 +01:00
Eloy Lafuente (stronk7) f414c5aa9e Merge branch 'MDL-46646_master' of https://github.com/Syxton/moodle 2014-08-12 01:53:23 +02:00
Eloy Lafuente (stronk7) 27e7715141 Merge branch 'MDL-46676_master' of https://github.com/ikawhero/moodle 2014-08-12 01:48:10 +02:00
Eloy Lafuente (stronk7) 0bf7e11a04 Merge branch 'MDL-46681' of git://github.com/timhunt/moodle 2014-08-12 01:44:13 +02:00
Mary Evans 6f0bab6888 MDL-43824 core/grade/report/grader: Fix for misalignment of static rows with scale grades. 2014-08-11 23:40:46 +01:00
Dan Poltawski c7a042bfcf Merge branch 'master_MDL-46524' of https://github.com/greg-or/moodle-mod_assign 2014-08-11 17:06:54 +01:00
Dan Poltawski 2f035def0f Merge branch 'MDL-45932-master' of https://github.com/StudiUM/moodle 2014-08-11 16:53:51 +01:00
Dan Poltawski c068b0814b Merge branch 'MDL-46496-master' of git://github.com/andrewnicols/moodle 2014-08-11 14:38:33 +01:00
Dan Poltawski d3014cca39 Merge branch 'master_MDL-44015' of https://github.com/greg-or/moodle-mod_assign 2014-08-11 14:31:02 +01:00
Dan Poltawski c5186b2251 Merge branch 'MDL-46688' of git://github.com/timhunt/moodle 2014-08-11 14:13:12 +01:00
Andrew Davis 93dbb21841 MDL-43740 core_grade: Thanks for Robert Russo for the patch. Removed the ability to set manual grade items to grade type "None" 2014-08-11 20:15:00 +08:00
Dan Poltawski 463d281377 Merge branch 'MDL-45759-master' of git://github.com/andrewnicols/moodle 2014-08-11 11:24:19 +01:00
Dan Poltawski 0bd41a9ccf Merge branch 'wip-MDL-30668-master' of git://github.com/marinaglancy/moodle 2014-08-11 10:41:40 +01:00
Marina Glancy e4c2a25866 Merge branch 'wip_MDL-46692_m28_forum' of git://github.com/skodak/moodle 2014-08-11 17:24:19 +08:00
Marina Glancy b832dde880 Merge branch 'MDL-35984-master' of git://github.com/damyon/moodle 2014-08-11 17:22:13 +08:00
Damyon Wiese d6caf63789 MDL-35984 Grades: Fix deprecation of grade_category::aggregate_values 2014-08-11 15:53:47 +08:00
Damyon Wiese 5232d3f2c9 MDL-35984 grade: Recalculate min/max for sum of grades when hidden grades are involved. 2014-08-11 15:53:47 +08:00
Damyon Wiese d2e9fc5845 MDL-35984 grade: Add behat tests for grade aggregations 2014-08-11 15:53:41 +08:00
Dan Poltawski ac7584c85b Merge branch 'MDL-46748-master' of git://github.com/damyon/moodle 2014-08-11 08:37:35 +01:00
Andrew Nicols 83d68fde48 MDL-45780 mod_quiz: Autosave should listen for textarea:change events too 2014-08-11 12:31:36 +08:00
Andrew Nicols 4dbc02f664 MDL-45780 editor_atto: Update the textarea more often
This change updates the frequency of the textarea update to additionally
update it:
* on keypress; and
* on content paste.
2014-08-11 12:31:36 +08:00
Damyon Wiese 0b51b466a1 MDL-46748 MathJax filter: Update setting default for https cdn url. 2014-08-11 12:02:35 +08:00
Damyon Wiese fa268b7ed6 MDL-46748 MathJax filter: Make misconfigured mathjax url less "fatal" for Atto. 2014-08-11 11:37:35 +08:00
Petr Skoda 67dabb5ace MDL-46660 muc: add env check to memcache driver 2014-08-11 08:57:19 +12:00
Nobelium 6a6709ec51 MDL-37401 mod_scorm : autocommit for scorm 2014-08-09 22:06:54 +00:00
Tim Hunt 013fa7a444 MDL-46308 qformat_xml: fix import of broken calculated questions.
Questions like this should not exist, of course. But they do, so we
should avoid generating errors in this case.
2014-08-08 17:58:44 +01:00
Tim Hunt 1fa2823de8 MDL-46688 weblib: improve the highlight function.
Thanks to Joseph Baxter for suggesting some of the test cases.
2014-08-08 17:51:58 +01:00
Tim Hunt bbea936991 MDL-45642 questions: add required index to question_attempts.
It is important to be able to tell which behaviours are in use, and
without this index, it requires a complete scan of this table, which can
be very big, to verify that a behaviour is unused.
2014-08-08 13:56:23 +01:00
Marina Glancy 9fe5a1b8f4 MDL-30668 gradereport_grader: split user preferences into individual courses
This solves the DB exception when users were trying to insert very large string in DB
2014-08-08 15:13:58 +08:00
Andrew Nicols c8f596147a MDL-46496 libraries: Add additional tests for jquery and jqueryUI
The additional tests add a clear example of the use of jquery UI images in
addition to working JavaScript.
2014-08-08 14:09:05 +08:00
Gregory Faller cfdd3e5cac MDL-46718: Return user to last accessed page when quick grading 2014-08-08 14:01:02 +09:30
Andrew Nicols 74ce46e4ae MDL-45759 javascript: Handle setting of the confirm button fields post-init 2014-08-08 08:25:43 +08:00
Petr Skoda 70a63f0eef MDL-46480 fix get_htmlelement_size() to deal with hidden or non-block elements 2014-08-08 10:28:11 +12:00
Tim Hunt aa4dcee761 MDL-46681 qtype_multichoice: disabled unused options
For questions set to 'One answer only', the 'Clear incorrect responses'
and 'Show the number of correct responses' hint options make not sense,
and are not used. Hence we disableIf them.
2014-08-07 14:20:06 +01:00
Marina Glancy 14cb870f46 weekly release 2.8dev 2014-08-07 13:14:54 +08:00
Marina Glancy d28f978649 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-08-07 13:14:52 +08:00
Petr Skoda e8b52671ae MDL-46711 session: add support for multiple servers to memcache session driver
Includes proper definition of object properties which fixes handling of timout default.
2014-08-07 15:39:27 +12:00
Paul Holden 3ae478ffd1 MDL-21042 report_security: don't display warning for riskbackup unnecessarily 2014-08-06 19:53:54 -07:00
Marina Glancy c293baee2e Merge branch 'wip-mdl-46175' of https://github.com/rajeshtaneja/moodle 2014-08-07 10:02:25 +08:00
Marina Glancy 4b9bcb5264 Merge branch 'MDL-32917-master-1' of https://github.com/andrewnicols/moodle 2014-08-07 10:01:24 +08:00
Rajesh Taneja cc41342290 MDL-46175 behat: Fixed lang changes in gradebook 2014-08-07 09:39:58 +08:00
Rajesh Taneja 0631009caf MDL-45897 behat: fixed behat for my home page 2014-08-07 09:39:07 +08:00
Andrew Nicols b6c56044f6 MDL-32917 calendar: Fix centering of calendar heading on IE10 2014-08-07 09:38:06 +08:00
Petr Skoda c6b5f18d06 MDL-46561 session: use full session validation in \core\session\manager::session_exists() 2014-08-07 08:59:24 +12:00
Andrew Davis c568d478db MDL-46448 core_rating: now only formats rating aggregate if user can see it 2014-08-06 18:28:56 +08:00
Shane Elliott 99c9798b32 MDL-46676 profilefield_datetime: Use moodle time API 2014-08-06 16:34:40 +08:00
Adam Olley 780d42d0c6 MDL-46697 gradebook: Only count active users when needed (and only id)
The code only needs the id column to perform its count. On courses with a lot of users
fetching the whole user record for them all easily adds up to several hundred MB of
memory.
2014-08-06 16:02:08 +09:30
Gregory Faller ce09177696 MDL-44015: EditPDF scrolls instead of drawing on iOS 2014-08-06 14:45:43 +09:30
Andrew Nicols 1fad754c58 MDL-44343 mod_glossary: Stop trying to pass deprecated unused variable for printing attachments 2014-08-06 12:04:36 +08:00
Marina Glancy 921390f103 MDL-46470 bootstrapbase: support linkedwhenselected attribute for tabs 2014-08-06 11:44:30 +08:00
Andrew Davis 23a62c47af MDL-46600 core_grades: made it explicit in the error message that a failed grade import means nothing was imported. 2014-08-06 10:58:59 +08:00
Mark Nelson 87f860cdd4 MDL-46565 gradereport_*: renamed report classes to match parent 2014-08-05 19:52:45 -07:00
Gregory Faller e4ebf7ef0f MDL-46524: Auto-create groups from existing group or grouping membership 2014-08-06 10:50:14 +09:30
Daniel Kosinski 43fb9ced67 MDL-46219 assignment: delete files when resetting assign activities 2014-08-05 23:31:20 +02:00
Petr Skoda d9b60e315e MDL-46692 forum: fix defaultpreference_trackforums to not depend on forum settings
Existence of admin settings must not depend on other settings,
especially not from other plugins.

In any case somebody should cleaup the preference mess and allow
plugins to setup user preferences instead of hardcoding everything in
core.
2014-08-06 09:08:06 +12:00
Dan Poltawski a43be9d8f2 Merge branch 'MDL-46548-master' of git://github.com/damyon/moodle 2014-08-05 19:24:32 +01:00
Dan Poltawski f851224256 Merge branch 'MDL-46175_strings' of https://github.com/andyjdavis/moodle 2014-08-05 19:14:15 +01:00
David Ligne 302b8abdd9 MDL-45932 enrol_imsenterprise: Implement Scheduled Task for IMS Enrolment plugin. 2014-08-05 13:41:09 -04:00
Syxton fc6a0fe294 MDL-46646 course: regression in behat tests
Newly introduced unit tests are failing because the timestamps used are
too large.  Example timestamps were 11 characters long instead of 10.
2014-08-05 08:43:13 -04:00
Eloy Lafuente (stronk7) 5013c189e9 Merge branch 'm28_MDL-46625' of https://github.com/totara/moodle 2014-08-05 13:04:11 +02:00
Damyon Wiese 0ab3362218 Merge branch 'wip_MDL-39840_m28_addonenv' of https://github.com/skodak/moodle 2014-08-05 16:22:36 +08:00
Petr Skoda 40cba608a6 MDL-39840 environment: add support for environment.xml in plugins
New features:

* environment.xml files in all types of plugins
* support for plugin strings via new optional plugin attribute in FEEDBACK
* support for class_name::method_name custom callbacks and classloader
2014-08-05 20:18:18 +12:00
Damyon Wiese 650f14e555 Merge branch 'wip-MDL-41639-master' of git://github.com/marinaglancy/moodle 2014-08-05 15:52:50 +08:00
Damyon Wiese fff702acfd Merge branch 'MDL-45897_my2' of https://github.com/andyjdavis/moodle 2014-08-05 12:06:36 +08:00
Brian Barnes ecf02bf5b5 MDL-46315 themes: Fixed display inconsistancy with help modals 2014-08-05 13:11:26 +12:00
Andrew Davis 7623260459 MDL-45897 blocks: added 3 new default blocks to /my 2014-08-05 08:44:21 +08:00
Eloy Lafuente (stronk7) 09e5495747 Merge branch 'MDL-46641-delete-activity-step' of https://github.com/rlorenzo/moodle 2014-08-05 02:24:48 +02:00
Petr Skoda fcbf5cbb01 MDL-46552 session: add support for multiple servers in memcached session driver 2014-08-05 11:34:57 +12:00
Eloy Lafuente (stronk7) 2f7000f94b Merge branch 'MDL-44149-master' of git://github.com/damyon/moodle 2014-08-04 17:10:38 +02:00
Damyon Wiese 9871a438f8 MDL-46548 grades: Reorder grade export form.
Move the list of grade items to the top, and leave them expanded by default.

Move the idnumber warning into the grade items section, now it is visible by default.
2014-08-04 16:24:47 +08:00
Damyon Wiese 8d395db4c3 MDL-46548 grades: Add upgrade.txt for gradeexport plugins 2014-08-04 16:18:33 +08:00
Damyon Wiese 8cd07ed02a MDL-46548 grades: Remove file upload tags 2014-08-04 16:18:32 +08:00
Damyon Wiese 8023a71b9a MDL-46548 grades: Add behat test for xml export 2014-08-04 16:18:32 +08:00
Damyon Wiese 26b0c96f5b MDL-46548 grades: Add behat test for csv export 2014-08-04 16:18:32 +08:00
Damyon Wiese ad5ab383e6 MDL-46548 behat: Prevent force file save as for some pages we want to test with behat. 2014-08-04 16:18:32 +08:00
Damyon Wiese 6c6d05a651 MDL-46548 grades: Add warning to export form when users with no idnumber are excluded. 2014-08-04 16:18:25 +08:00
Damyon Wiese 0672e056dc MDL-44149 Assign: Reopen attempts from quick grading (reopenuntilpass) 2014-08-04 15:52:53 +08:00
Marina Glancy da45b022f2 Merge branch 'MDL-32917-master' of git://github.com/andrewnicols/moodle 2014-08-04 15:13:30 +08:00
Andrew Davis 27dbf2628f MDL-46447 core_rate: made sure non-ajax files don't return JSON data 2014-08-04 15:12:50 +08:00
Marina Glancy 91a4788b17 Merge branch 'MDL-44794-master' of git://github.com/lameze/moodle 2014-08-04 14:24:04 +08:00
Marina Glancy 942aa06e91 Merge branch 'MDL-43506-master' of git://github.com/andrewnicols/moodle 2014-08-04 14:23:38 +08:00
Simey Lameze a0372a4019 MDL-44794 group: unit test for groups_get_user_groups method. 2014-08-04 11:59:06 +08:00
Simey Lameze 93d10d162c MDL-44794 group: unit test for get_groups method. 2014-08-04 11:59:06 +08:00
Marina Glancy 5fcdf22034 Merge branch 'MDL-44343-master' of git://github.com/andrewnicols/moodle 2014-08-04 11:23:10 +08:00
Marina Glancy d3bf99502c Merge branch 'MDL-46457' of git://github.com/aolley/moodle 2014-08-04 11:22:53 +08:00
Marina Glancy eb06c9e9e2 Merge branch 'MDL-46414-master' of git://github.com/sammarshallou/moodle 2014-08-04 11:22:36 +08:00
Andrew Nicols 0181759e39 MDL-44343 mod_glossary: Show File attachments underneath content 2014-08-04 10:55:14 +08:00
Andrew Nicols 03f07eb387 MDL-44343 mod_forum: Show File attachments underneath content 2014-08-04 10:55:13 +08:00
Andrew Nicols cbed1284f4 MDL-43506 Blocks: Remove various deprecated functions 2014-08-04 08:44:50 +08:00
Eloy Lafuente (stronk7) 1ad873c32f Merge branch 'MDL-46620-master' of https://github.com/merrill-oakland/moodle 2014-08-03 19:57:22 +02:00
Mark Nielsen b5bad169c2 MDL-43639: Prevent user updated event on every login
If auth plugin prevents local passwords, then user
is updated and event is triggered on every login.
2014-08-01 13:36:55 -07:00
Andrew Davis e54e51931d MDL-46175 core_grading: updated grading related strings 2014-08-01 10:28:57 +08:00
Brian Barnes 712e5f222f MDL-46643 calendar: improved tab order of calendar detail pages 2014-08-01 11:53:02 +12:00
Rex Lorenzo 84a1e50a9f MDL-46641 behat: Delete activity step does not work without actions menu open 2014-07-31 11:29:00 -07:00
AMOS bot 4683275d0c Automatically generated installer lang files 2014-08-01 00:05:31 +08:00
Damyon Wiese 97908a2225 MDL-46548 grades: Update xml grade export to support one step exports. 2014-07-31 17:00:14 +08:00
Damyon Wiese 9f5834ccc7 MDL-46548 grades: Update xls grade exporter to support one step exports. 2014-07-31 17:00:08 +08:00
Damyon Wiese 1cc43058a8 MDL-46548 grades: Update ods grade export to support one step exports. 2014-07-31 17:00:08 +08:00
Damyon Wiese cca51baa07 MDL-46548 grades: Add support for simplified one-step exports and update txt exporter
This ui change requires changes to the API so I have deprecated the old functions while maintaining
compatibility (if you don't mind lots of debugging).
2014-07-31 17:00:01 +08:00
Dan Poltawski d29fb4ac65 weekly release 2.8dev 2014-07-31 09:37:11 +01:00
Dan Poltawski d7e09cb9fb Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-07-31 09:37:08 +01:00
John Okely 56302d4868 MDL-46465 mod_chat: Fix more user icon links 2014-07-31 12:31:53 +08:00
John Okely 5eb1703c71 MDL-46465 mod_chat: Fix chat history user icon link 2014-07-31 10:46:09 +08:00
Brian Barnes 1c77e2aafa MDL-46625 theme: Added a way to target the current page 2014-07-31 13:27:14 +12:00
Eric Merrill 3388a4f59e MDL-46620 messages Make sure full message is used for read marking
message_mark_message_read needs to have the full message object,
otherwise data will be lost.
2014-07-30 15:56:52 -04:00
Mark Nielsen ff9d3d819a MDL-46536: OAuth signature fails with inconsistent new lines
When the LTI intro contains a single \n or
\r newline character then the OAuth signature
fails.  All newlines should be \r\n
2014-07-30 10:01:15 -07:00
Dan Poltawski c44012e09e Revert "Merge branch 'm28_MDL-46431' of https://github.com/totara/moodle"
This reverts commit 14a3ccc96d, reversing
changes made to 4709708d48.
2014-07-30 09:00:58 +01:00
Marina Glancy de9c82953f Revert "Merge branch 'MDL-46523-master' of git://github.com/jethac/moodle"
This reverts commit 68373c7821, reversing
changes made to 62d61619e8.
2014-07-30 15:28:55 +08:00
Damyon Wiese 016bbe2c2c MDL-44116 Atto: Improve new accessibility sniffs.
Check for empty text it row, column headers and captions on tables.
Link to "Entire document" text instead of repeating the entire document if the text is long and has no headings.
2014-07-30 12:06:20 +08:00
sam marshall 61f5302b85 MDL-46414 Conditional availability: Dropdowns not set correctly when editing in IE
In IE, you cannot set the value of a dropdown to an integer; it has to be a string.
This caused a bug in several parts of the conditional availability editing
interface.
2014-07-29 18:33:03 +01:00
AMOS bot 255f2f0b2c Automatically generated installer lang files 2014-07-30 00:05:28 +08:00
Dan Poltawski 37c2490aa3 Merge branch 'MDL-46591-master' of git://github.com/danpoltawski/moodle 2014-07-29 16:32:52 +01:00
Dan Poltawski ff7efc55ec MDL-46591 filter_tex: improved string
Thanks to German Valero for noticing this and Matteo Scaramuccia, Daniel
Thies and Helen Foser for refining it.
2014-07-29 16:29:42 +01:00
Dan Poltawski 2ac36ad587 Merge branch 'MDL-46236' of git://github.com/nobelium/moodle 2014-07-29 12:04:29 +01:00
Dan Poltawski 5d9fa99bff Merge branch 'MDL-46456' of https://github.com/aolley/moodle 2014-07-29 11:57:47 +01:00
AMOS bot a876217bf0 Automatically generated installer lang files 2014-07-29 16:02:17 +08:00
Dan Poltawski be5a27f2f5 Merge branch 'wip-MDL-46338-master' of git://github.com/marinaglancy/moodle 2014-07-29 08:50:37 +01:00
Sam Hemelryk efe3aefaf2 Merge branch 'wip-MDL-34189-master' of git://github.com/marinaglancy/moodle 2014-07-29 16:15:24 +12:00
Marina Glancy 05d311caa5 Merge branch 'MDL-46465_chat_style' of git://github.com/andyjdavis/moodle 2014-07-29 12:10:34 +08:00
Marina Glancy ef7c084b39 Merge branch 'm28_MDL-46325' of git://github.com/totara/moodle 2014-07-29 11:58:24 +08:00
Sam Hemelryk 6df4025b2c Merge branch 'MDL-43908-master' of https://github.com/lucisgit/moodle 2014-07-29 15:50:50 +12:00
Sam Hemelryk 6239a2358f Merge branch 'MDL-45041' of git://github.com/jleyva/moodle 2014-07-29 15:47:13 +12:00
Sam Hemelryk fe5bf6ee81 Merge branch 'MDL-46460' of git://github.com/jleyva/moodle 2014-07-29 15:44:31 +12:00
Marina Glancy d92e23cfe6 MDL-46338 enrol_self: Icon should indicate enrolment availability 2014-07-29 09:50:22 +08:00
Adam Olley 8ce862ed83 MDL-46457 mod_lti: Render lti description through standard format_module_intro 2014-07-29 10:38:43 +09:30
Sam Hemelryk 4a928b9dfc Merge branch 'MDL-44116-master' of git://github.com/damyon/moodle 2014-07-29 09:37:44 +12:00
Sam Hemelryk 964b220c83 Merge branch 'MDL-45044-master' of https://github.com/dthies/moodle 2014-07-29 08:46:49 +12:00
Sam Hemelryk 72655d0539 Merge branch 'MDL-46446_rating_style' of https://github.com/andyjdavis/moodle 2014-07-29 08:42:56 +12:00
Dan Poltawski 70acf8388b Merge branch 'MDL-46206-master' of git://github.com/jethac/moodle 2014-07-28 17:25:04 +01:00
Dan Poltawski 40864d30ac Merge branch 'MDL-45594_master' of git://github.com/markn86/moodle 2014-07-28 12:54:15 +01:00
Dan Poltawski 5a8f38d712 Merge branch 'wip-MDL-46503-master' of git://github.com/marinaglancy/moodle 2014-07-28 12:49:13 +01:00
Dan Poltawski d4a89aa500 Merge branch 'master_MDL-45715' of https://github.com/danmarsden/moodle 2014-07-28 12:47:30 +01:00
Dan Poltawski 14a3ccc96d Merge branch 'm28_MDL-46431' of https://github.com/totara/moodle 2014-07-28 12:01:24 +01:00
Dan Poltawski 4709708d48 Merge branch 'MDL-46459' of git://github.com/jleyva/moodle 2014-07-28 11:59:02 +01:00
Dan Poltawski dde5ae7cf7 Merge branch 'MDL-46463_rss_style' of https://github.com/andyjdavis/moodle 2014-07-28 11:52:09 +01:00
Dan Poltawski 733d20a0e8 Merge branch 'MDL-46433-master' of git://github.com/lameze/moodle 2014-07-28 11:49:37 +01:00
Dan Poltawski aba225fd3a Merge branch 'MDL-46504_master' of git://github.com/dmonllao/moodle 2014-07-28 10:45:17 +01:00
Dan Poltawski d8d240ee63 Merge branch 'MDL-46397' of git://github.com/nobelium/moodle 2014-07-28 10:41:05 +01:00
Marina Glancy 68373c7821 Merge branch 'MDL-46523-master' of git://github.com/jethac/moodle 2014-07-28 16:00:48 +08:00
Jetha Chan a9e05f49db MDL-46523 navigation: add body class when logged in as other role 2014-07-28 15:47:46 +08:00
Marina Glancy 274dc06881 MDL-34189 cohorts: Allow admin/manager to see all cohorts on one page 2014-07-28 15:02:27 +08:00
Nobelium bf4f65fbb6 MDL-46397 mod_scorm : binding cmi values with scoid 2014-07-28 05:37:21 +00:00
Andrew Davis c52b4db52d MDL-46465 mod_chat: assorted coding style fixes 2014-07-28 10:01:41 +08:00
Sam Hemelryk 62d61619e8 Merge branch 'wip_MDL-46449_m28_loginblock' of https://github.com/skodak/moodle 2014-07-28 13:25:13 +12:00
Sam Hemelryk 9834bce700 Merge branch 'MDL-46272-master' of https://github.com/lucisgit/moodle 2014-07-28 13:07:27 +12:00
Sam Hemelryk 8d4da7c010 Merge branch 'MDL-43390_master' of git://github.com/dmonllao/moodle 2014-07-28 12:22:40 +12:00
Sam Hemelryk 9894b272c5 Merge branch 'wip-MDL-46525-master' of git://github.com/marinaglancy/moodle 2014-07-28 12:13:44 +12:00
Sam Hemelryk cb2ca9b9cc Merge branch 'MDL-8501-master' of git://github.com/FMCorz/moodle 2014-07-28 12:10:03 +12:00
Sam Hemelryk db28260c29 Merge branch 'MDL-46506-master' of git://github.com/damyon/moodle 2014-07-28 08:46:03 +12:00
Sam Hemelryk 896506e4df Merge branch 'MDL-46207-master' of git://github.com/damyon/moodle 2014-07-28 08:37:42 +12:00
Mary Evans e8e1592972 MDL-46538 theme_base/theme_bootstrapbase: Removed incorrect RTL CSS mark-up. 2014-07-26 16:27:43 +01:00
Nobelium 98939a3c84 MDL-46236 mod_scorm : Setting lauch options for scorm in popup 2014-07-26 14:46:25 +00:00
Juan Leyva a1bacaf13d MDL-45041 Web Service: add_user_device doesn't store entries for different users using the same push key 2014-07-25 10:35:24 +02:00
Juan Leyva c03946bcce MDL-46460 Web Services: Invalid check of grades visibility for missing grades 2014-07-25 10:10:21 +02:00
Juan Leyva 253c3f36bb MDL-46459 Web Services: Incorrect return parameters get_grades external function 2014-07-25 09:27:45 +02:00
Damyon Wiese cbec30d4de MDL-46485 Assign: Fix when submitting to a group assignment from the default group 2014-07-25 15:18:40 +08:00
Damyon Wiese e2d2d8a175 MDL-46485 Assign: New unit test to show error with group submission 2014-07-25 15:18:34 +08:00
Marina Glancy bd56200e09 MDL-46525 enrol_cohort: fix JS error 2014-07-25 14:40:52 +08:00
Jason Fowler ae4086bd6e MDL-46206 Accessibility: Add aria role to footer image 2014-07-25 14:37:29 +08:00
Brian Barnes 3040963be3 MDL-46325 behat: Fixed issue where 'teacher1' didn't exist 2014-07-25 16:06:32 +12:00
Frederic Massart d9c767c76b MDL-8501 mod_forum: Behat test for neighbour discussions 2014-07-25 10:26:56 +08:00
Frederic Massart d78628783b MDL-8501 mod_forum: Adding links to navigate between discussions 2014-07-25 10:26:56 +08:00
Frederic Massart 826cb6f6a1 MDL-8501 mod_forum: Test coverage of neighbour discussions 2014-07-25 09:55:29 +08:00
Frederic Massart 8d3a5ba176 MDL-8501 mod_forum: New function to retrieve discussion neighbours 2014-07-25 09:55:29 +08:00
Marina Glancy 5f079af450 MDL-46503 behat: cohort generator allows to create cohort in category 2014-07-25 09:12:21 +08:00
Petr Skoda 1f5be49d65 MDL-46449 fix username prompt in login block when authloginviaemail enabled 2014-07-25 10:10:29 +12:00
Daniel Thies a275c52f62 MDL-45044 filter_tex: properly escape excutable pathnames for Windows 2014-07-24 15:01:17 -05:00
Tony Butler f33be9eb36 MDL-43908 mod_assign: Order submissions by course id then cm id
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-07-24 17:20:19 +01:00
Tony Butler 86dced433e MDL-43908 mod_assign: Remove redundant code and improve SQL query
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-07-24 17:20:19 +01:00
Tony Butler c681f7a083 MDL-43908 mod_assign: Prevent notifications for unavailable assignments
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-07-24 16:59:24 +01:00
Tony Butler ccd6839a7b MDL-43908 mod_assign: Defer notifications for unavailable assignments
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-07-24 16:59:24 +01:00
Dan Poltawski 40f0ad21a3 weekly release 2.8dev 2014-07-24 09:50:52 +01:00
Dan Poltawski 25f0ec805c Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-07-24 09:50:49 +01:00
Damyon Wiese 9f65f9c332 MDL-46506 Assign: fix php warning on grant extension page
This code was missed when the extensionduedate was moved to the userflags table.
2014-07-24 11:25:22 +08:00
David Monllao 03bdb0a7c2 MDL-46504 libraries: Fixing typo 2014-07-24 11:15:36 +08:00
Damyon Wiese 3169bb36aa MDL-46017 Assign: Restore can't rely allocated marker fields existing in backup 2014-07-24 10:50:20 +08:00
David Monllao 10ccdfb8cd MDL-43390 files: Only lock when locking is not prevented 2014-07-24 10:22:55 +08:00
Mark Nelson 068df636dd MDL-45594 core_message: added unit tests 2014-07-23 16:40:03 -07:00
Mark Nelson e6aae58d0d MDL-45594 core_message: ordered recent notifications by timecreated 2014-07-23 16:39:02 -07:00
Tim Hunt f68b11f7ad MDL-45594 simplify message_get_recent_conversations SQL
I am pretty sure that this new SQL is logically equivalent to
the original, and it passes Mark's unit tests. However, it is
hard to be 100% sure.
2014-07-23 16:39:02 -07:00
AMOS bot 8db9324914 Automatically generated installer lang files 2014-07-23 22:46:06 +00:00
Andrew Davis d28a6a5f4b MDL-46446 core_rating: fixed coding style problems 2014-07-23 19:30:53 +08:00
Simey Lameze 153b3ad002 MDL-46433 blog: fix error message when creating an external blog 2014-07-23 16:11:20 +08:00
Dan Poltawski a3fa656019 Revert "Merge branch 'MDL-45594_master_alt' of git://github.com/markn86/moodle"
This reverts commit fe43ab9b75, reversing
changes made to 3e2af22327.
2014-07-23 09:00:54 +01:00
Dan Poltawski 1911cf3c99 Merge branch 'MDL-46017-master' of git://github.com/damyon/moodle 2014-07-23 08:24:24 +01:00
Dan Marsden 5a96486b44 MDL-45715 assign: disable marking allocation if markingworkflow is not set. 2014-07-23 19:15:09 +12:00
Marina Glancy e7bc91579b MDL-41639 tool_uploaduser: Automatically create cohorts if not found 2014-07-23 14:56:52 +08:00
Damyon Wiese 6b78b55c15 MDL-35864 Enrol plugins: Add missing capability strings 2014-07-23 13:53:55 +08:00
Sam Hemelryk ed2de2ecc7 MDL-45724 cache: fixed warning structure bug 2014-07-23 15:24:59 +12:00
Andrew Davis 1502bf7734 MDL-46463 core_rss: coding style cleanup in /rss 2014-07-23 10:22:53 +08:00
AMOS bot aec0035b11 Automatically generated installer lang files 2014-07-22 22:49:02 +00:00
Dan Poltawski 919dc292b9 MDL-45965 assign: bump version 2014-07-22 17:23:45 +01:00
Dan Poltawski 406e47123d Merge branch 'MDL-45965_master' of https://github.com/Syxton/moodle 2014-07-22 17:09:48 +01:00
Dan Poltawski fce6c70d41 MDL-44925 fixup default settings in TeX filter 2014-07-22 17:06:02 +01:00
Dan Poltawski 82f88cabe9 MDL-35864 enrol: misc fixups
* Removed get_config_instance_capabilities() which was from
  older reviewed vrsions of the patch
* Added note to upgrade.txt
* Fixed deprecation note
* Bump versions
2014-07-22 17:02:21 +01:00
Dan Poltawski 12bdea2eb5 Merge branch 'MDL-35864' of https://github.com/danielneis/moodle 2014-07-22 16:32:26 +01:00
Dan Poltawski 02213adfd0 Merge branch 'MDL-37509-master' of git://github.com/damyon/moodle 2014-07-22 15:56:55 +01:00
Dan Poltawski afffcb9472 Merge branch 'MDL-44925-master' of https://github.com/dthies/moodle 2014-07-22 14:33:33 +01:00
Dan Poltawski 6442e5c7ed Merge branch 'MDL-34248_master' of https://github.com/markn86/moodle 2014-07-22 12:01:04 +01:00
Dan Poltawski 5f7ab6e949 Merge branch '45828-28' of git://github.com/samhemelryk/moodle 2014-07-22 09:33:01 +01:00
Dan Poltawski d28d270bca Merge branch '45724-28' of git://github.com/samhemelryk/moodle 2014-07-22 09:07:16 +01:00
Sam Hemelryk fe43ab9b75 Merge branch 'MDL-45594_master_alt' of git://github.com/markn86/moodle 2014-07-22 11:12:09 +12:00
Sam Hemelryk 3e2af22327 Merge branch 'MDL-43063-master' of git://github.com/lameze/moodle 2014-07-22 09:49:03 +12:00
Dan Poltawski 6188c8ebab Merge branch 'MDL-46386-master' of https://github.com/merrill-oakland/moodle 2014-07-21 14:11:39 +01:00
Eric Merrill 84f74ccff6 MDL-46386 question Whitelist the Atto editor from return blocking
Prevent the question engine from blocking return/enter key presses
from being sent to the Atto editor.
2014-07-21 09:08:01 -04:00
Dan Poltawski c7075c0c91 MDL-46285 coding style fix
(no double newlines)
2014-07-21 14:07:39 +01:00
Dan Poltawski f5fea4019a Merge branch 'MDL-46285-master' of git://github.com/jethac/moodle 2014-07-21 14:03:58 +01:00
Dan Poltawski 992207f75e MDL-46316 notes: coding style fixes
Line length issues Andrew missed off.
2014-07-21 12:41:22 +01:00
Dan Poltawski 087e7d8fb1 Merge branch 'MDL-46316_notes2' of https://github.com/andyjdavis/moodle 2014-07-21 12:31:51 +01:00
Dan Poltawski 65f00f063b Merge branch 'MDL-45847_master' of https://github.com/Syxton/moodle 2014-07-21 12:09:10 +01:00
Dan Poltawski 724d7abe8b Merge branch 'MDL-43151-master' of git://github.com/damyon/moodle 2014-07-21 10:20:55 +01:00
Dan Poltawski 1d3b11ec48 Merge branch '46335-28' of git://github.com/samhemelryk/moodle 2014-07-21 09:59:04 +01:00
Dan Poltawski f9075a7888 Merge branch 'MDL-46370_master' of https://github.com/moodlerooms/moodle 2014-07-21 09:54:56 +01:00
Damyon Wiese 2fef6e7060 MDL-46017 Assign: Fix restore of marking workflow data 2014-07-21 16:35:30 +08:00
Damyon Wiese ae7638f72a MDL-37509 Assign: Do not put description in calendar before it should be shown to students 2014-07-21 15:54:39 +08:00
Damyon Wiese e5b5b5be4d MDL-44116 Atto Accessbility checker: Additional sniffs. 2014-07-21 15:18:22 +08:00
Damyon Wiese fd57c17e2d MDL-46207 Tasks: Do not run tasks if their component is disabled.
This can be overridden on a per task basis by implementing:
get_run_if_component_disabled() in the scheduled task.
2014-07-21 15:01:54 +08:00
Damyon Wiese 3b775a0b8a MDL-43151 Assign: More validation in mod_form.
Add check to mod_form to prevent "reopen until pass" and "blind marking" both being on
2014-07-21 13:41:51 +08:00
Damyon Wiese 3db661cdae MDL-43151 assign: Use grade_grade->is_passed
Do not try and calculate this inside mod_assign - it's a gradebook thing only.
2014-07-21 13:22:22 +08:00
Adam Olley 9b3b8e51c9 MDL-46456 mod_lti: Fixed Y.one selector in mod_form.js 2014-07-21 12:58:13 +09:30
Simey Lameze feff774adb MDL-43063 core: fix phpdoc comment codechecker issue. 2014-07-21 10:08:41 +08:00
Brian Barnes a15691beeb MDL-46431 javascript_notifications: changed dialogue headings to h3's 2014-07-21 13:59:34 +12:00
Julien Boulen 36489c0b41 MDL-46206 Accessibility: Remove alt attribute for footer image 2014-07-21 08:19:23 +08:00
Sam Hemelryk 584539c0fc MDL-42909 course: fixed whitespace 2014-07-21 11:42:52 +12:00
Sam Hemelryk d90b055ab1 Merge branch 'MDL-42909-master' of git://github.com/phalacee/moodle 2014-07-21 11:35:47 +12:00
Sam Hemelryk 424033b780 Merge branch 'MDL40479_Grading_alert_colour' of https://github.com/Dave-B/moodle 2014-07-21 11:32:09 +12:00
Sam Hemelryk ce3d7d5da9 Merge branch 'm28_MDL-46406' of https://github.com/totara/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-07-21 11:14:30 +12:00
Sam Hemelryk 365e80ba76 Merge branch 'mdl-46427-master' of git://github.com/deraadt/moodle 2014-07-21 11:12:05 +12:00
Sam Hemelryk ce61d62c5e Merge branch 'MDL-46159-wip' of https://github.com/willylee/moodle 2014-07-21 10:55:08 +12:00
Sam Hemelryk 8d3a4d7597 Merge branch 'MDL-45339-master' of git://github.com/xow/moodle 2014-07-21 10:49:25 +12:00
Sam Hemelryk 69286e3b49 Merge branch 'master_MDL-46363' of https://github.com/danmarsden/moodle 2014-07-21 10:45:33 +12:00
Sam Hemelryk 915140c9b5 MDL-45724 cache: added cache API warnings to the admin notifications page 2014-07-21 09:48:33 +12:00
Sam Hemelryk 6e247996ea MDL-45828 cache: definitions now sorted in the admin UI 2014-07-21 09:25:22 +12:00
AMOS bot f61b21d6da Automatically generated installer lang files 2014-07-20 00:44:14 +00:00
AMOS bot 5aa771abd1 Automatically generated installer lang files 2014-07-19 00:41:42 +00:00
Michael de Raadt 846abed55f MDL-46427 Course: Correcting dimmed course link class on profile pages. 2014-07-18 15:30:33 +08:00
Jason Fowler 33b6b8c93e MDL-42909 Course: Fix title for move-targets 2014-07-18 14:42:00 +08:00
Andrew Davis ed6fc2620c MDL-46316 notes: coding style fixes 2014-07-18 13:43:17 +08:00
Mark Nelson 115e8964db MDL-34248 core_backup: used API instead of inserting into the log table directly 2014-07-17 18:11:26 -07:00
Jim Thorpe 18b19ff452 enrol_imsenterprise: MDL-46363 including course lib when create_course is
used
2014-07-18 11:28:12 +12:00
Sam Hemelryk a8266e2f1c MDL-46335 backup: fixed casting issue with setting labels
The issue was that clean_param took an int and returned a string
and the result was used in an exact comparison.
The type change mean the comparison failed.
The solution was to ensure the param was cast as a string.
2014-07-18 08:29:55 +12:00
Sam Hemelryk 727c21733e MDL-45724 cache: admin screen now shows store warnings
Implemented a means by which cache store instance can communicate
warnings due to things such as conflicting configurations etc.
2014-07-18 08:29:41 +12:00
John Okely 08b51dd06b MDL-45339 Libraries: Add a note to docblock of get_config, set_config, and unset_config to note they are used in lib/db/upgrade.php 2014-07-17 16:42:42 +08:00
Dan Poltawski ec36fafc0f weekly release 2.8dev 2014-07-17 09:22:43 +01:00
Dan Poltawski fcc7e4d9b3 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-07-17 09:22:40 +01:00
Sam Hemelryk e6330e5ba8 Merge branch 'MDL-37993-quiz-completion-pass-attempts' of git://github.com/MorrisR2/moodle
Conflicts:
	mod/quiz/lib.php
	mod/quiz/mod_form.php
	mod/quiz/tests/behat/completion_condition_passing_grade.feature
2014-07-17 15:16:07 +12:00
Brian Barnes 22f8a34998 MDL-46406 core_auth: Placed remember username before submit login form 2014-07-17 14:03:50 +12:00
Sam Hemelryk 68b1e63080 Revert "MDL-46226 core: pix_icon no longer sets title to the alt text"
This reverts commit 40ebfaeefd.
2014-07-17 13:57:29 +12:00
Sam Hemelryk 4ae7774d03 Revert "MDL-46226 fix unit tests"
This reverts commit ffd17daf0a.
2014-07-17 13:57:01 +12:00
AMOS bot 92141ef5a2 Automatically generated installer lang files 2014-07-17 00:52:42 +00:00
AMOS bot bf2fc356ba Automatically generated installer lang files 2014-07-17 00:52:42 +00:00
Ray Morris 349c930343 MDL-37993 Quiz: completion upon all passing grade or attempts exhausted
This patch adds completion options to Quiz similar to what is available in scorm.
One can have the quiz marked complete when either a passing grade is achieved or
all attempts are used up. This will allow a quiz to complete when the user "passes
or fails".  (Where "fail" means "using up all attempts without passing".)
2014-07-16 19:17:57 -05:00
Mark Nelson 3c05db790a MDL-45594 core_message: added unit tests 2014-07-16 17:05:39 -07:00
Mark Nelson 4bf64077f6 MDL-45594 core_message: ordered recent notifications by timecreated 2014-07-16 17:05:39 -07:00
Tim Hunt ac83a119c5 MDL-45594 simplify message_get_recent_conversations SQL
I am pretty sure that this new SQL is logically equivalent to
the original, and it passes Mark's unit tests. However, it is
hard to be 100% sure.
2014-07-16 17:05:39 -07:00
Sam Chaffee 0f5e439e4b MDL-46370 Ajax and Javascript - Fixes docked blocks not expanding when using dock on right 2014-07-16 12:06:35 -06:00
David Balch d9bfe3c5c1 MDL-40479 mod_assign PHPDoc: Fix error, improve consistency. 2014-07-16 08:58:21 +01:00
David Balch 153510ead8 MDL-40479 mod_assign: Fix the colour of grading success messages. 2014-07-16 08:57:48 +01:00
Eloy Lafuente (stronk7) 743960d3ab Merge branch 'wip-mdl-30431' of https://github.com/rajeshtaneja/moodle 2014-07-16 09:18:03 +02:00
Eloy Lafuente (stronk7) 9a363a1cd2 Merge branch 'MDL-35870' of git://github.com/nobelium/moodle 2014-07-16 09:04:55 +02:00
Nobelium 6f850a51a4 MDL-35870 mod_scorm: Fixing undefined scoid for popup mode 2014-07-16 11:51:03 +00:00
Rajesh Taneja 52f061db3e MDL-30431 behat: Use table id for wiki comments in behat 2014-07-16 14:56:08 +08:00
Eloy Lafuente (stronk7) b4b53e2ab0 Merge branch 'wip-mdl-44523' of https://github.com/rajeshtaneja/moodle 2014-07-16 08:52:28 +02:00
Rajesh Taneja f466584f69 MDL-30431 behat: Fixed wiki behat 2014-07-16 14:52:13 +08:00
Rajesh Taneja 5544234afc MDL-44523 Behat: Fixed event filter test with change in edulevel 2014-07-16 14:05:42 +08:00
Daniel Thies a57a336fd3 MDL-44925 Add SVG output option to TeX notation filter with PNG or MathJax for backup 2014-07-15 22:47:22 -04:00
Eloy Lafuente (stronk7) 248cae7600 MDL-30431 mod_wiki: whitespace fix 2014-07-16 01:19:45 +02:00
Eloy Lafuente (stronk7) 5b00ae7442 Merge branch 'MDL-30431_wiki_comments' of https://github.com/andyjdavis/moodle 2014-07-16 01:16:04 +02:00
Eloy Lafuente (stronk7) 83988eb1f7 MDL-46290 Completion: document the deprecation 2014-07-16 01:06:23 +02:00
Eloy Lafuente (stronk7) ffc2728203 Merge branch 'MDL-46290_remove_unused_get_incomplete_criteria' of https://github.com/MorrisR2/moodle 2014-07-16 00:57:47 +02:00
Sam Hemelryk 9a97cac457 Merge branch 'wip-mdl-45991' of https://github.com/rajeshtaneja/moodle 2014-07-16 09:04:01 +12:00
Eloy Lafuente (stronk7) c5e0735569 Merge branch 'MDL-35870' of git://github.com/nobelium/moodle 2014-07-15 18:30:29 +02:00
Nobelium 76c8fa4190 MDL-35870 mod_scorm : fix for debug.js.php not found error 2014-07-15 16:05:40 +00:00
Rajesh Taneja 2ced0cc53e MDL-45991 behat: fixed deprecated behat steps used 2014-07-15 16:10:29 +08:00
Mark Nelson c3359103cd MDL-34248 core_backup: added missing end quotation 2014-07-14 23:48:33 -07:00
Sam Hemelryk 6a91c41a49 Merge branch 'wip-MDL-37812-master' of git://github.com/marinaglancy/moodle 2014-07-15 12:07:05 +12:00
Eloy Lafuente (stronk7) 3b674f5d0a MDL-35870 mod_scorm : Bump version 2014-07-15 01:45:23 +02:00
Eloy Lafuente (stronk7) 714b25d07d MDL-35870 mod_scorm : whitespace fixes 2014-07-15 01:41:07 +02:00
Eloy Lafuente (stronk7) 857449d769 Merge branch 'MDL-35870' of git://github.com/nobelium/moodle 2014-07-15 01:06:53 +02:00
Sam Hemelryk 2c3d6f240f Merge branch 'MDL-46346_blog' of https://github.com/andyjdavis/moodle 2014-07-15 10:33:13 +12:00
Eloy Lafuente (stronk7) d1d9e833d8 Merge branch 'MDL-46080' of https://github.com/jonof/moodle 2014-07-14 23:29:07 +02:00
Sam Hemelryk 3c94f90cde MDL-37993 mod_quiz: fixed deprecated behat step 2014-07-15 09:10:17 +12:00
Sam Hemelryk 9b3b730c62 Merge branch 'MDL-37993-quiz-completion-pass-attempts' of git://github.com/MorrisR2/moodle 2014-07-15 08:48:55 +12:00
Sam Hemelryk 5c9ba23a68 Merge branch 'MDL-42179-003-master' of https://github.com/dbezborodovrp/moodle 2014-07-15 08:39:37 +12:00
Eloy Lafuente (stronk7) 8d0703d643 Merge branch 'master_MDL-31366' of git://github.com/danmarsden/moodle 2014-07-14 18:13:18 +02:00
Eloy Lafuente (stronk7) 8707dae4f8 Merge branch 'MDL-44523_master' of git://github.com/dmonllao/moodle 2014-07-14 18:06:52 +02:00
Syxton 83360c8d52 MDL-45965 assign: add notification capability
MDL-45965 assign: add notification capability

Adds a new capability that adds flexibility to what users receive grader
submission messages. Includes phpunit tests. Function is based off of
get_graders() but is separate because it is bad form to have a
capability that is dependent on another capabilities setting.
2014-07-14 11:14:27 -04:00
Ray Morris db3686d546 MDL-37993 Quiz: completion upon all passing grade or attempts exhausted
This patch adds completion options to Quiz similar to what is available in scorm.
One can have the quiz marked complete when either a passing grade is achieved or
all attempts are used up. This will allow a quiz to complete when the user "passes
or fails".  (Where "fail" means "using up all attempts without passing".)
2014-07-14 10:14:27 -05:00
Dan Poltawski c5afe577c9 Merge branch 'MDL-42752-master' of git://github.com/phalacee/moodle 2014-07-14 16:06:13 +01:00
Dan Poltawski ffd17daf0a MDL-46226 fix unit tests 2014-07-14 15:50:50 +01:00
Dan Poltawski 2df87a9d2a Merge branch 'MDL-46218_disabled2' of https://github.com/andyjdavis/moodle 2014-07-14 15:33:12 +01:00
Eloy Lafuente (stronk7) 39b803cf56 Merge branch 'm28_MDL-46197' of https://github.com/totara/moodle 2014-07-14 16:25:23 +02:00
Dan Poltawski 388debc7c5 Merge branch 'm28_MDL-46226' of https://github.com/totara/moodle 2014-07-14 15:13:32 +01:00
Jetha Chan e4a1efcbaa MDL-46285 core_renderers: optionally hide user_picture from screen readers 2014-07-14 21:01:29 +08:00
Dan Poltawski d3181cc8b5 Merge branch 'm28_MDL-46250' of https://github.com/totara/moodle 2014-07-14 13:12:43 +01:00
Dan Poltawski 080d86e39f Merge branch 'MDL-46286-master' of https://github.com/lucisgit/moodle 2014-07-14 12:33:59 +01:00
Damien Bezborodov 79397b56cb MDL-42179 mod_assign: Time remaining issue for group assignment 2014-07-14 13:41:44 +09:30
Sam Hemelryk ceeb287740 Merge branch 'MDL-42214_popup_blocked' of https://github.com/andyjdavis/moodle 2014-07-14 15:27:16 +12:00
Sam Hemelryk 628e818be2 Merge branch 'MDL-45991_master' of https://github.com/Syxton/moodle 2014-07-14 15:19:21 +12:00
Sam Hemelryk 1cae31e8c7 Merge branch 'MDL-46073_master' of https://github.com/totara/openbadges 2014-07-14 15:14:49 +12:00
Andrew Davis 2b6e53e8e2 MDL-46346 blog: coding style fixes 2014-07-14 10:45:33 +08:00
Andrew Davis e9fb99b15c MDL-46218 reshuffled access checks in blog and notes 2014-07-14 10:33:38 +08:00
Andrew Davis 727c69ca9e MDL-42214 core_message:prevented popup notifications of messages from blocked users 2014-07-14 09:49:47 +08:00
Sam Hemelryk 2cd64c93a0 Merge branch 'MDL-45765-master' of https://github.com/StudiUM/moodle 2014-07-14 12:09:29 +12:00
Sam Hemelryk eb5942ea9d Merge branch 'wip-MDL-46247-master' of https://github.com/mackensen/moodle 2014-07-14 11:55:02 +12:00
Andrew Davis 9e6cdc0ece MDL-30431 mod_wiki: clarified the logic around editing and deleting wiki comments and added behat tests 2014-07-14 07:49:23 +08:00
Sam Hemelryk 72c9c5fa13 MDL-46138 post integratino phpdoc fixes 2014-07-14 10:50:51 +12:00
Sam Hemelryk b7a9846a26 Merge branch 'MDL-46138-master' of git://github.com/damyon/moodle 2014-07-14 10:39:54 +12:00
Sam Hemelryk 080fdf0533 Merge branch 'wip-MDL-46280-master' of git://github.com/marinaglancy/moodle 2014-07-14 10:32:28 +12:00
Sam Hemelryk 8324084299 Merge branch 'MDL-22469-master' of https://github.com/StudiUM/moodle 2014-07-14 10:21:13 +12:00
Sam Hemelryk 94dab2abb3 Merge branch 'MDL-31089_master' of git://github.com/dmonllao/moodle 2014-07-14 10:12:16 +12:00
Tony Butler 817b202018 MDL-46286 lib_htmlpurifier: Add allowed URI scheme for RTMP
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-07-11 15:52:34 +01:00
David Monllao 8538c56281 MDL-31089 mod_forum: Filtering non-visible groups 2014-07-11 16:48:02 +08:00
Simey Lameze 17af896c4b MDL-45562 blog: fixed issues when creating/editing an external blog. 2014-07-11 15:11:28 +08:00
David Monllao 93d14b8ad1 MDL-44523 events: Changing edulevels to make them consistent with other events 2014-07-11 10:36:00 +08:00
Damyon Wiese ab57368a72 MDL-46138 tasks: The adhoc task is being too helpful with json_encoding/decoding. 2014-07-11 09:43:32 +08:00
Dan Marsden 9b4162fb1d MDL-31366 Feedback: decode htmlchars on output to excel 2014-07-11 13:28:16 +12:00
Brian Barnes 186f2f47dd MDL-46197 core_calendar: Added label text to durations in minutes field 2014-07-11 09:11:20 +12:00
Ray Morris 3120e06440 MDL-46290 Completion: Remove unused function get_incomplete_criteria(), it doesn't work 2014-07-10 15:42:01 -05:00
Brian Barnes 40ebfaeefd MDL-46226 core: pix_icon no longer sets title to the alt text 2014-07-11 08:41:11 +12:00
Syxton 9a4231e993 MDL-45847 resort: Add more course sorting options
MDL-45847 resort: Add more course sorting options

Add descending sort options and course timecreated sort options.
Includes behat and unit test changes.
2014-07-10 16:15:26 -04:00
Jean-Philippe Gaudreau b8ad1728d8 MDL-45765 Calendar import: Fix undefined variable in cron when updating calendar subscriptions 2014-07-10 16:09:28 -04:00
Gilles-Philippe Leblanc 886601cf45 MDL-22469 auth_cas: CAS module : parameter authCAS=NOCAS not properly handled 2014-07-10 15:58:02 -04:00
Syxton 55c9a15041 MDL-45991 groups: Auto-create ignore grouped users
MDL-45991 groups: Auto-create groups with ungrouped users only

When using auto-create groups, sometimes it is needed to only create
groups with users that are not already inside a course group.  This
patch creates a checkbox that will ignore users that are in already
existing groups.  It alters the groups_get_potential_members function so
that the eligible users are retrieved entirely though sql.
2014-07-10 15:44:21 -04:00
Eloy Lafuente (stronk7) 5fd0df97c5 weekly release 2.8dev 2014-07-10 19:15:18 +02:00
Eloy Lafuente (stronk7) 54064d8ac6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-07-10 19:15:06 +02:00
Nobelium ad88d3ed2a MDL-35870 mod_scorm : Adding phpdocs for new functions
get_scorm_default in scorm_12lib.php
get_scorm_default in scorm_13lib.php
get_scorm_default in aicclib.php
scorm_isset in locallib.php
scorm_empty in locallib.php
2014-07-10 15:40:39 +00:00
Nobelium 3ad5eeedcf MDL-35870 mod_scorm : Removing loaddatamodel.php 2014-07-10 14:17:32 +00:00
Ankit Agarwal 82b3260eab MDL-46148 qtype_calculated: low-level defence against bad formulas
This catches things like:
 * Malicious equations coming from backup files.
 * Malicious equations in old questions in the database.
2014-07-10 17:55:11 +08:00
Andrew Nicols f2946a5419 MDL-38990 mod_forum: Restrict ability to post to all groups in a forum
In order to post to all groups in a forum, you must have the
moodle/site:accessallgroups capability.

Thanks to Jakob Ackermann <jackermann@onlineschool.ca> for part of the fix
on this one.
2014-07-10 16:26:01 +08:00
Russell Smith 9462323b13 MDL-46193 phpunit: Replace value in component config.
There are two phpunit.xml build locations, one for overall
and another for individual components.  To reduce id changes
when running different components, we use the same initial ID
in all component files when building.
2014-07-10 09:53:23 +02:00
Damyon Wiese 539a25ff03 MDL-46148 questions: Added missing allow_commit for transaction 2014-07-10 11:35:47 +08:00
Damyon Wiese a77e8b7b7b Merge branch 'MDL-19270_master' of https://github.com/nadavkav/moodle
Conflicts:
	lib/graphlib.php
2014-07-10 09:57:06 +08:00
Tim Hunt 5c6c172033 MDL-46148 qtype_calculatedsimple: fix notice
... when adding a dataset with a formula error.
2014-07-09 13:47:48 +01:00
Tim Hunt 66de66fe6a MDL-46148 qtype_calculated: fix validation when importing.
In order to do this in a sane way, I cleaned up a lot of old mess,
inclduing:

1. Previously, qtype_calcuated used ->answeres when importing, and
->answer when saving the form. This was crazy, so I fixed it, and
stripped out the code that made the alternative variable name work.

2. Similarly, it could handle ->answer being either an array, such as
you would get form the HTML editor, or a simple string, which is what
you get form the form. I simplified that too.

3. Finally, I made import use a transaction around saving each
question, so we don't get half questions in the database when an error
occurs.
2014-07-09 13:35:09 +01:00
Nadav Kavalerchik 94e2dc1daf MDL-19270 - Quiz graph - Fix reverse display of Hebrew legend text in RTL mode 2014-07-09 14:57:31 +03:00
Tim Hunt 770d3ce426 MDL-46148 qtype_calculated: removed unused method. 2014-07-09 12:56:18 +01:00
David Mudrák db5a6e6560 MDL-46223 Fix frequently used comments in the marking guide
When the frequently used comment contains a character like >, re-use it
directly instead of its HTML entitiy.
2014-07-09 16:42:39 +08:00
David Mudrák 6c3264a22a MDL-46223 Improve the display of marking guide validation message 2014-07-09 16:42:37 +08:00
Dan Poltawski ebf709ded5 MDL-46227 fix typo 2014-07-09 08:22:45 +01:00
Dan Poltawski abc5f84539 MDL-44605 calendar: improved returnurl validation
Now we will only redirect to a local url (though sesskey was
already preventing this redirect from being open)
2014-07-09 01:05:51 +02:00
Eloy Lafuente (stronk7) b77130af5e Merge branch '41502-28' of git://github.com/samhemelryk/moodle 2014-07-09 00:51:22 +02:00
Eloy Lafuente (stronk7) fa4f0de6b1 MDL-42609 course: management default missing bits
With the previous commit in this issue, now the course management
UI defaults to show the "default category" courses.

But some bits were missing in order to make that default behavior
fully equivalent with the manual navigation to that category.

This patch:
  - Adds the missing categoryid url param, used by some of the options
    in the UI, like sorting, that was completely broken.
  - Sets the context to the default category, previously was being set to
    system context, incorrectly if now we are defaulting to a category.

That way everything is 100% the same than when we land to the category manually.
2014-07-08 21:21:25 +02:00
Eloy Lafuente (stronk7) 4c8914b777 Merge branch '42609-28' of git://github.com/samhemelryk/moodle 2014-07-08 20:31:25 +02:00
Eloy Lafuente (stronk7) 7a26204e18 Merge branch 'MDL-43849_master' of git://github.com/dmonllao/moodle 2014-07-08 20:28:58 +02:00
Willy Lee 4b07116a20 MDL-46159 course: Add search box to course management pages 2014-07-08 08:59:34 -07:00
Dan Poltawski 59ba5a5952 Merge branch 'MDL-45599-master-addons' of git://github.com/mudrd8mz/moodle 2014-07-08 15:31:50 +01:00
Dan Poltawski 8bdcbcaf7d Merge branch 'MDL-44492' of git://github.com/timhunt/moodle 2014-07-08 14:17:56 +01:00
Tim Hunt afbe4592ad MDL-44492 quiz: fix hilighting of graded attempt
In various places, when showing several attempts, we try to hilight the
most significant one (the one that gave the final grade if the quiz is
set to first/last/best attempt). That was not working because the table
zebra stripes were a more specific rule.

Also, the colour was inconsistent, not nice, and not very bootstrapy, so
I changed it.
2014-07-08 13:31:55 +01:00
Tim Hunt 6f885844fd MDL-44492 quiz reports: revert some style overrides.
But add one more. This makes Clean theme look a lot better.
2014-07-08 13:31:53 +01:00
Tim Hunt 750757cff1 MDL-44492 Rough unit test for the report SQL.
We really ought to test more cases, but this hits one of the most tricky cases.
2014-07-08 13:31:51 +01:00
Tim Hunt 8cacc71dd2 MDL-44492 quiz reports: make show only graded attempt work.
It needs to only affect finished attempts, and the wording needs to be
modified to make it clear that is what it does.
2014-07-08 13:31:49 +01:00
Frederic Massart cd6e149c86 MDL-45471 javascript: Escape content of exception dialogs 2014-07-08 12:59:59 +01:00
Nobelium 7b9036be25 MDL-35870 mod_scorm : Initializing scorm API using js_init_call 2014-07-08 11:22:37 +00:00
Nobelium 93ca0d54c0 MDL-35870 mod_scorm : Prevents scorm API reload 2014-07-08 11:22:37 +00:00
Nobelium 139f32c218 MDL-35870 mod_scorm : Separating js and php files 2014-07-08 11:22:36 +00:00
Dan Poltawski 79269b05f0 Merge branch 'MDL-45381_master' of git://github.com/markn86/moodle 2014-07-08 11:28:58 +01:00
Dan Poltawski 772d658f1d Merge branch 'MDL-45596-master' of git://github.com/FMCorz/moodle 2014-07-08 10:50:55 +01:00
Marina Glancy de5009f4a2 MDL-43948 forms: setting types to filemanager and editor elements 2014-07-08 10:47:29 +01:00
Dan Poltawski 55d6361f5a MDL-46231 navigation: en_fix behat changes 2014-07-08 08:34:53 +01:00
Dan Poltawski 4c8fab291b Merge branch 'MDL-46231-master-en_fix' of git://github.com/mudrd8mz/moodle 2014-07-08 08:32:32 +01:00
Helen Foster 272a071694 MDL-45599 Fix tiny grammatical errors in the plugin installer 2014-07-08 09:07:01 +02:00
Skylar Kelty 79a70e776e MDL-46227 Fix XSS in scheduled tasks 2014-07-08 13:37:13 +08:00
David Mudrák 18619d8440 MDL-46223 Improve the marking guide output 2014-07-08 13:22:50 +08:00
David Mudrák b9b2968e8a MDL-46223 Improve the rubric output 2014-07-08 13:22:50 +08:00
Marina Glancy 9f7379e9b4 MDL-37812 user: apply default values for user preferences when creating user 2014-07-08 12:35:44 +08:00
Marina Glancy 5e9cbe0edc MDL-37812 tool_uploaduser: apply default values for user preferences 2014-07-08 12:35:44 +08:00
Marina Glancy 747dac69f9 MDL-37812 user: added defaults for user preferences 2014-07-08 12:35:44 +08:00
Marina Glancy 7a0bf1bd1a MDL-37812 user: separate preferences into separate section in editform 2014-07-08 12:35:40 +08:00
Sam Hemelryk bed9a55344 MDL-46059 mod_lti: fixed invalid decimals attribute 2014-07-08 15:35:59 +12:00
Sam Hemelryk 961484d41e Merge branch 'wip-MDL-46059-master' of git://github.com/abgreeve/moodle 2014-07-08 15:15:12 +12:00
Marina Glancy 0c1a133ea0 MDL-46280 filter_activitynames: sort activities by length in reverse order 2014-07-08 10:54:04 +08:00
Sam Hemelryk 94b956d3ec Merge branch 'MDL-46016_master' of https://github.com/markn86/moodle 2014-07-08 14:27:47 +12:00
Sam Hemelryk 1c194014bf MDL-19270 core_text: added unit tests for strrev 2014-07-08 14:14:51 +12:00
Sam Hemelryk d320391099 Merge branch 'MDL-19270_master' of https://github.com/nadavkav/moodle 2014-07-08 13:53:40 +12:00
Sam Hemelryk 7044c6be1f Merge branch 'MDL-46200-master' of git://github.com/danpoltawski/moodle 2014-07-08 13:38:04 +12:00
Sam Hemelryk 189f9937ad Merge branch 'mdl45982-master' of https://github.com/tlock/moodle 2014-07-08 13:26:36 +12:00
Sam Hemelryk bac04a65bb Merge branch 'm28_MDL-46144' of https://github.com/totara/moodle 2014-07-08 13:10:30 +12:00
Sam Hemelryk 2f8cf35811 Merge branch 'MDL-46193' of git://github.com/mr-russ/moodle 2014-07-08 13:10:24 +12:00
Eloy Lafuente (stronk7) cc7a5d40d1 Merge branch '46208-28' of git://github.com/samhemelryk/moodle 2014-07-08 02:13:35 +02:00
Sam Hemelryk 95d294368f Merge branch 'MDL-46212' of git://github.com/timhunt/moodle
Conflicts:
	question/type/calculated/question.php
2014-07-08 11:43:09 +12:00
Sam Hemelryk cf9ae1134c Merge branch 'm28_MDL-46225' of https://github.com/totara/moodle 2014-07-08 10:36:10 +12:00
Sam Hemelryk a5dcdd4bd9 Merge branch 'MDL-46240-master' of git://github.com/danpoltawski/moodle 2014-07-08 10:34:28 +12:00
Eloy Lafuente (stronk7) 292803a4f9 Merge branch 'wip_MDL-45945_m28_mssqlcol' of https://github.com/skodak/moodle 2014-07-08 00:31:54 +02:00
Sam Hemelryk 03ecddb440 MDL-45678 cache: renamed new cache and better comments 2014-07-08 09:52:41 +12:00
Sam Hemelryk 207891d791 Merge branch 'MDL-45678-006-master' of https://github.com/dbezborodovrp/moodle 2014-07-08 09:42:35 +12:00
Sam Hemelryk a02656b75a Merge branch 'wip_MDL-46126_m28_passnulls' of https://github.com/skodak/moodle 2014-07-08 09:37:08 +12:00
Yuliya Bozhko 17f5e50f57 MDL-46073 badges: Make sure html tags are not used in badge description
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-07-08 09:34:51 +12:00
Sam Hemelryk 4264ed8454 Merge branch 'MDL-43347-master' of https://github.com/mackensen/moodle 2014-07-08 09:28:20 +12:00
Sam Hemelryk 744c77c057 Merge branch 'MDL-16474-master' of git://github.com/FMCorz/moodle 2014-07-08 08:29:45 +12:00
Adrian Greeve 005402f503 MDL-46201 events: Sanitization of username before returning the description. 2014-07-07 18:18:45 +01:00
Charles Fulton 65d7932ca3 MDL-46247 auth: Add new language for unauthorised external user 2014-07-07 10:16:09 -07:00
Yuliya Bozhko ea76b652fc MDL-46042 badges: Clean up external badge data
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-07-07 16:37:36 +01:00
Dan Poltawski e3541d3c1b Merge branch 'MDL-42393-master' of git://github.com/FMCorz/moodle 2014-07-07 16:27:29 +01:00
Osanda Malith Jayathissa ce5a785b09 MDL-45683 user: Escaping Skype ID used in profile 2014-07-07 16:05:06 +01:00
Marina Glancy 9dbf62d230 MDL-45760 make sure to check permission before setting header 2014-07-07 15:06:08 +01:00
Tim Hunt 88ec9f308d MDL-46148 qtype_calculated: validate formulas everywhere. 2014-07-07 14:33:34 +01:00
Tim Hunt 155bc75472 MDL-46148 qtype_calculated: function to validate equations in text. 2014-07-07 14:33:29 +01:00
Tim Hunt 29005a5418 MDL-46148 qtype_calculated: Remove unused function. 2014-07-07 14:33:24 +01:00
Tim Hunt 44f726a7b1 MDL-46148 qtype_calculated: unit tests + fixes for validation 2014-07-07 14:33:20 +01:00
Frederic Massart 595ef4772d MDL-45417 mod_imscp: Prevent entity injections from package content 2014-07-07 13:02:54 +01:00
Frederic Massart 78ed99ec7e MDL-45463 mod_lti: Prevent XML entity injections from provider 2014-07-07 13:01:02 +01:00
Ruslan Kabalin 1b28d1a70e MDL-46272 user_filters: Username field should be easier to find. 2014-07-07 11:59:01 +01:00
Marina Glancy e29bb97c07 MDL-45616 repositories: API changes to avoid serialized data in user input 2014-07-07 14:41:20 +08:00
Marina Glancy 56964b7948 MDL-45616 repositories: use json encoding instead of serialization 2014-07-07 14:41:20 +08:00
Marina Glancy 5ad3f3c61e MDL-45616 repositories: more clearly distinguish when we use source and when reference
Function repository::get_moodle_file() should always be called on packed reference and not on the source received from user.
Also added phpdocs to some other methods that were confusing source and reference
2014-07-07 14:41:20 +08:00
Dan Poltawski a332d6606a MDL-43848 message: remove unused strings 2014-07-07 13:37:11 +08:00
Dan Poltawski 20490cbb2b MDL-43848 messages: do not display message content in popups
The user is not in control of when these popups show up and it
may not be appropiate to have part of this content display whilst
in the presence of other users.
2014-07-07 13:37:10 +08:00
Brian Barnes ef56323c7f MDL-46250 core_filepicker: Changed headings to be heading tags instead of spans 2014-07-07 10:24:39 +12:00
Nadav Kavalerchik cdf8a0c262 MDL-19270 - Quiz graph - Fix reverse display of Hebrew legend text in RTL mode 2014-07-06 18:46:45 +03:00
Helen Foster 78231c9cf1 MDL-46231 Merge English strings from the en_fix language pack 2014-07-04 22:32:38 +02:00
Dan Poltawski 46fa062894 MDL-46200 fix missing space in failed login message 2014-07-04 14:49:13 +01:00
Dan Poltawski e1673b58ec MDL-46240 atto_collapse: fix icon url 2014-07-04 14:33:39 +01:00
David Mudrák d49db5b2de MDL-45599 Stop using the 'add-on' term
We now call them all as just 'plugins' for consistency. There where we need to
explicitly distinguish the source of the plugin, we say they are 'additional
plugins' on contrary to 'standards plugins' coming with the core.
2014-07-04 13:16:53 +02:00
David Mudrák 9313a478e9 MDL-45599 Remove string editingnoncorelangfile from core_admin
This string mentions 'add-on' and has been greylisted in AMOS since 2.0. The
usage of it was removed in 00b41d.
2014-07-04 13:16:53 +02:00
Adrian Greeve 991caba44d MDL-46059 mod_lti: Changed LTI table column grade to an int. 2014-07-04 15:12:46 +08:00
Russell Smith 529495f7ce MDL-46193 phpunit: Use random starting value on initialization. 2014-07-04 16:33:13 +10:00
Jason Fowler a34f0a4331 MDL-42752 File-picker: Fix tabbing to disabled icons 2014-07-04 14:08:16 +08:00
Damien Bezborodov eeb9ee8ebf MDL-45678 assignsubmission_comments: Improve performance for permissions checking 2014-07-04 14:24:31 +09:30
Petr Skoda ffda0ca360 MDL-46126 upgrade: fix bogus nulls in user.password before changing precission
Note: there is no need to deal with Oracle empty strings here
because only MySQL running in non-strict mode is affected.
2014-07-04 16:28:59 +12:00
Frederic Massart af2a1e4e33 MDL-45596 roles: Escape filter value before using it in form field 2014-07-04 11:49:11 +08:00
Petr Skoda b86912431e MDL-45945 mssql: force default database collation in all tables including temp table 2014-07-04 15:04:50 +12:00
AMOS bot 805d500256 Automatically generated installer lang files 2014-07-04 00:44:09 +00:00
Mark Nelson 91ad3ef1a2 MDL-46016 auth_shibboleth: updated misleading comment
Also generated a random string for the password field in case it is ever used.
2014-07-03 16:15:44 -07:00
Sam Hemelryk ddd2361e80 MDL-42609 course: management page now selected default category initially 2014-07-04 10:55:40 +12:00
Sam Hemelryk a67c56d007 MDL-41502 course: removed classes and files deprecated in 2.6 2014-07-04 10:27:40 +12:00
Sam Hemelryk c9ef35e1f3 MDL-46208 cachestore_mongo: fixed invalid collection name use 2014-07-04 08:11:27 +12:00
Tim Hunt f4fe3968a2 MDL-46212 questions: add {} whenver vars are put into "" strings
Having had one subtle bug cased be this, I decided to do a search and
fix all of these.
2014-07-03 14:02:39 +01:00
Tim Hunt 0e30442ca8 MDL-46212 question editing: extra answer fields notice.
It turns out that PHP does not interpret "$field[$key]" the way we were
expecting.
2014-07-03 13:56:11 +01:00
Dan Poltawski 4de51c25ae weekly release 2.8dev 2014-07-03 10:53:14 +01:00
Dan Poltawski 0c55700691 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-07-03 10:53:11 +01:00
Marina Glancy 9422f6ee42 MDL-46163 question/quiz: fix elements ids and their labels 2014-07-03 10:13:00 +01:00
David Monllao bfce1e4a1b MDL-43849 enrol_meta: Renaming methods according to what they test 2014-07-03 14:45:26 +08:00
David Monllao fd63568619 MDL-43849 mod_forum: Adding tests for observers 2014-07-03 14:45:17 +08:00
Brian Barnes 8d29ac9803 MDL-46225 core_admin: Changed heading to add a new user to a button 2014-07-03 09:01:29 +12:00
Tim Hunt 84deaaf8bb MDL-46163 quiz/questions: fix missing hidden fields.
I have done this by eliminating the duplication between the base class
and the subclass.

This was a regression introdcued by MDL-40313.
2014-07-02 14:32:53 +01:00
Dan Poltawski 9cafb3433f MDL-46163 question: fix missing ; 2014-07-02 07:22:15 +01:00
Marina Glancy 41dcab66d1 Merge branch '41663-28' of git://github.com/samhemelryk/moodle 2014-07-02 11:52:12 +08:00
Sam Hemelryk fe22c729ff Merge branch 'MDL-42071_MK3' of https://github.com/merrill-oakland/moodle 2014-07-02 15:13:18 +12:00
Sam Hemelryk ebdcb2924c MDL-41663 output: fix for methods with _renderable suffix 2014-07-02 14:59:31 +12:00
Eric Merrill 9043a10907 MDL-42071 caching Validate setservers correctly for php pre 5.5 2014-07-01 22:28:22 -04:00
AMOS bot 0d54006225 Automatically generated installer lang files 2014-07-02 00:44:32 +00:00
Eloy Lafuente (stronk7) fc8caadf43 Merge branch 'wip-mdl-45889' of https://github.com/rajeshtaneja/moodle 2014-07-02 00:21:21 +02:00
Eloy Lafuente (stronk7) 5c8ce898ab Merge branch 'MDL-45379' of https://github.com/totara/openbadges 2014-07-01 23:59:31 +02:00
Eloy Lafuente (stronk7) 6d84726b3a Merge branch '45209-28' of git://github.com/samhemelryk/moodle 2014-07-01 23:49:58 +02:00
Sam Hemelryk da6ddbf8e6 Merge branch 'wip-MDL-46147-master' of git://github.com/marinaglancy/moodle 2014-07-02 09:31:34 +12:00
Sam Hemelryk 4c92c676e3 Merge branch 'wip-MDL-45507_master' of git://github.com/lazydaisy/moodle 2014-07-02 09:21:29 +12:00
Eloy Lafuente (stronk7) 024d762da7 MDL-45961 user profile: track user on reset
It seems that redirect (after reset button) was also
missing the userid so the user track was lost.
2014-07-01 19:19:59 +02:00
Eloy Lafuente (stronk7) eb13ef2982 Merge branch 'MDL-45961' of https://github.com/NeillM/moodle 2014-07-01 19:13:43 +02:00
Dan Poltawski bbe04d27f2 Merge branch 'MDL-46063_master' of git://github.com/schach/moodle 2014-07-01 17:29:14 +01:00
Dan Poltawski c07969400a Merge branch 'MDL-46036_survey' of https://github.com/andyjdavis/moodle 2014-07-01 15:58:11 +01:00
Dan Poltawski e065becdd4 Merge branch 'MDL-42071_MK3' of https://github.com/merrill-oakland/moodle 2014-07-01 15:41:04 +01:00
Eric Merrill cd230b31b6 MDL-42071 caching Skip memcache(d) tests if no servers defined 2014-07-01 10:28:01 -04:00
Dan Poltawski 4a27b061bf Merge branch 'MDL-46107_master' of https://github.com/totara/openbadges 2014-07-01 14:20:44 +01:00
Dan Poltawski c4058e6e0c Merge branch 'MDL-46163_category_selector_renders_as_nested_form' of https://github.com/MorrisR2/moodle 2014-07-01 14:16:04 +01:00
Dan Poltawski 9b19282346 Merge branch 'MDL-46161_files_reference_index' of git://github.com/davosmith/moodle
Conflicts:
	lib/db/upgrade.php
	version.php
2014-07-01 13:37:56 +01:00
Dan Poltawski 2a957cda17 Merge branch 'MDL-46093' of git://github.com/timhunt/moodle 2014-07-01 10:53:59 +01:00
Dan Poltawski 99fbe16211 Merge branch 'wip_MDL-46099_m28_userglobal' of https://github.com/skodak/moodle 2014-07-01 10:39:14 +01:00
Dan Poltawski 5474aa7a6d Merge branch 'MDL-32450_master' of https://github.com/markn86/moodle 2014-07-01 10:37:50 +01:00
Dan Poltawski 2d8c48a995 Merge branch 'MDL-40457-question_bank_plugins_columns' of git://github.com/MorrisR2/moodle 2014-07-01 10:12:52 +01:00
Marina Glancy acbf4579d5 MDL-46147 modinfo: performance improvement for course page (check filterall) 2014-07-01 15:28:54 +08:00
Damyon Wiese 0d9805dc14 MDL-46147 modinfo: performance improvement for course page
This is a big win in a specific situation, ie filters enabled for content+headings,
and no activity descriptions visible on the course page.
2014-07-01 15:26:06 +08:00
Mark Nelson 05c0d19a5d MDL-45381 mod_forum: updated unit tests for subscription created/deleted events 2014-06-30 23:32:43 -07:00
Frederic Massart 23a2d6f7c5 MDL-42393 calendar: Preventing open/close loop in events overlay 2014-07-01 11:20:33 +08:00
Brian Barnes afeb71078b MDL-46144 core_calendar: Fixed linking of labels on calendar pages 2014-07-01 13:39:38 +12:00
Sam Hemelryk 21e57e82ed Merge branch 'MDL-42071_MK3' of https://github.com/merrill-oakland/moodle 2014-07-01 11:27:53 +12:00
Sam Hemelryk a0145560b9 Merge branch 'MDL-40805-master' of git://github.com/lameze/moodle 2014-07-01 09:06:12 +12:00
Petr Skoda 2e00d01db4 MDL-46099 session: fix use of references for session globals
This reverses the references used for global $USER and $SESSION,
the reason is that PHP does not allow references to references.
$USER is a reference to $GLOBALS['USER'] which means we cannot
put any references to it. Solution is to store the current user and session
objects in $GLOBALS['USER'] and $GLOBALS['SESSIOn'] are reference
them in $_SESSION.

This patch makes the session code behave the same way in CLI,
phpunit and normal web requests - this allows use to finally
unit test most aspects of the session code in Moodle.
2014-07-01 08:38:00 +12:00
Sam Hemelryk 03384ff9fd Merge branch 'MDL-46118_master' of git://github.com/dmonllao/moodle 2014-07-01 08:33:13 +12:00
Mark Nelson c9b0e9769a MDL-32450 editor_tinymce: documented removal of DragMath 2014-06-30 13:08:00 -07:00
Mark Nelson 07f8f2f559 MDL-32450 editor_tinymce: removed DragMath from the 'customtoolbar' setting 2014-06-30 13:07:33 -07:00
Dan Poltawski f74b3cd8bc Merge branch 'wip-mdl-45641' of https://github.com/rajeshtaneja/moodle 2014-06-30 15:12:30 +01:00
Dan Poltawski 9d8c363927 Merge branch 'MDL-42467_database' of https://github.com/andyjdavis/moodle 2014-06-30 15:08:59 +01:00
Dan Poltawski 973508d2e5 Merge branch 'MDL-45833_master' of git://github.com/dmonllao/moodle 2014-06-30 13:27:14 +01:00
Dan Poltawski edd605d913 Merge branch 'MDL-46044-master' of git://github.com/damyon/moodle 2014-06-30 11:45:29 +01:00
Heiko Schach 4c7a19eccc MDL-46063 feedback: Fix user pictures 2014-06-30 13:06:32 +03:00
Dan Poltawski 6f90b157f3 Merge branch 'MDL-41663-master' of git://github.com/damyon/moodle 2014-06-30 09:24:39 +01:00
Dan Poltawski cb1bf3f51a Merge branch 'MDL-40228-master' of git://github.com/FMCorz/moodle 2014-06-30 08:55:35 +01:00
Frederic Massart 3774d40f8c MDL-16474 scale: Allow scales with 1 item 2014-06-30 14:24:24 +08:00
Eric Merrill 7abaa5f46c MDL-42071 caching Support for clustered memcache caching
For stores where there is a very high rate of sets compared to gets, it
is beneficial to retrieve from the local server, skipping the network
overhead, at the expense of having to set many severs when a key is set.

This patch adds a memcache option to enable clustering. When on, only
one "server" is allowed, which will be where fetches are from, while
sets/updates/deletes/purges will occur to the all the servers in the
"set server" list.

To run unit tests, define TEST_CACHESTORE_MEMCACHE_TESTSERVERS with
multiple (return delimited) servers.
2014-06-29 23:02:31 -04:00
Eric Merrill 1c0518a625 MDL-42071 caching Support for clustered memcached caching
For stores where there is a very high rate of sets compared to gets, it
is beneficial to retrieve from the local server, skipping the network
overhead, at the expense of having to set many severs when a key is set.

This patch adds a memcached option to enable clustering. When on, only
one "server" is allowed, which will be where fetches are from, while
sets/updates/deletes/purges will occur to the all the servers in the
"set server" list.

To run unit tests, define TEST_CACHESTORE_MEMCACHED_TESTSERVERS with
multiple (return delimited) servers.
2014-06-29 23:02:06 -04:00
Ray Morris 17f229fae3 MDL-40457 Question Bank: Allow plugins to add columns to question bank view
Allows plugins to add columns to the question bank view by extending core_question\bank\column_base
Columns to display are set in $CFG->questionbankcolumns. Columns are namespaced and autoloaded to support this.
2014-06-29 21:28:52 -05:00
Mark Nelson f09561cbb5 MDL-45381 mod_forum: changed event URL for subscription created/deleted events 2014-06-29 18:37:44 -07:00
Mark Nelson e3e4ea97ff MDL-32450 upgrade: do not remove DragMath settings if the files still exist 2014-06-29 15:48:21 -07:00
Petr Skoda 1170df12a1 MDL-32450 delete Dragmath plugin and library because it is not compatible with GPL 2014-06-29 15:36:29 -07:00
AMOS bot 32b0fa38cb Automatically generated installer lang files 2014-06-29 00:42:43 +00:00
Tim Hunt 097dbfe11a MDL-46093 quiz review should default to showing everything on one page
... as long as the quiz is not too big. At the moment, that limit is
set to 50 questions.
2014-06-27 17:14:51 +01:00
Davo Smith 463882d085 MDL-46161 switch the field order of the index on mdl_files_reference to improve performance of file_storage::search_references 2014-06-27 11:34:37 +01:00
NeillM 6288c923f6 MDL-45961 Customise this page button on user profile page only works correctly for users own profile 2014-06-27 09:03:38 +01:00
Rajesh Taneja f1259a7679 MDL-45641 event: Ldap user_signup unit test added 2014-06-27 15:44:56 +08:00
Rajesh Taneja 9363073b22 MDL-45641 event: Manually trigger event where needed.
Some places, user_created_user and user_updated_user
events should be triggred after profile data is saved.
2014-06-27 15:44:56 +08:00
Rajesh Taneja a7466eb448 MDL-45641 event: Removed multiple user_updated event trigger
user_updated event was being triggred while
setting password, which is not correct. It now
trigger user_password_updated event. Few more
modifications done:
1. Correct event is being triggred.
2. Event is only triggred when password is chnaged.
3. Password is updated via single api.
4. Updated unit test
2014-06-27 15:44:56 +08:00
Rajesh Taneja 2b55cb1b18 MDL-45641 event: Option to trigger user event manually
On some pages full user data is not stored before user_created/
user_updated event is triggred. So giving option to trigger that
manually, so it can be triggred after all data is saved
2014-06-27 15:44:56 +08:00
Damyon Wiese 92d78aace8 MDL-46044 Assign: Add conditions to the inner query for performance 2014-06-27 14:58:58 +08:00
Damyon Wiese 6447021bc0 MDL-46044 Assign: Modify myhome query to only use the maxattempt from the submission
Using mismatches from the submissions/grades tables does not make much sense, we
should always only consider only the maxattempt from the submissions table.
2014-06-27 14:22:48 +08:00
Damyon Wiese 6c489d2cd0 MDL-46044 Assign: Move common setup to setUp method (share it for all of lib_test.php) 2014-06-27 14:15:31 +08:00
Damyon Wiese fc1dac2e1e MDL-46044 Assign: Fix print_overview function when there are multiple attempts 2014-06-27 14:15:31 +08:00
Damyon Wiese 5533e011ce MDL-46044 Assign: Update unit test to test multiple attempts on overview page 2014-06-27 14:15:31 +08:00
David Monllao fb9a2cddfb MDL-46118 report_log: No results limit when downloading 2014-06-27 11:35:12 +08:00
David Monllao c16970ead0 MDL-45833 event: Removing courseid as the context is higher than course context 2014-06-27 11:25:14 +08:00
Brian Barnes 9130250b0e fixed download button 2014-06-27 12:51:41 +12:00
Yuliya cd243d94cd MDL-45379 badges: removed unnecessary tables from renderers
Signed-off-by: Yuliya <yuliya.bozhko@gmail.com>
Signed-off-by: Brian Barnes <brian.barnes@totaralms.com>
2014-06-27 12:51:41 +12:00
Yuliya Bozhko d9fe7dbe78 MDL-46107 badges: Fix badges navigation and remove empty breadcrumbs on pages using Clean
Signed-off-by: Yuliya Bozhko <yuliya.bozhko@totaralms.com>
2014-06-27 12:45:25 +12:00
Sam Hemelryk b9f4c37879 MDL-45209 course: fixed navbar when creating,editing courses 2014-06-27 09:39:47 +12:00
Ray Morris 1c906d4945 MDL-46163 Question bank: Category selector renders as nested form 2014-06-26 12:09:38 -05:00
Charles Fulton 30cc5d70ce MDL-43347 grades: convert keep highest to text field 2014-06-26 07:33:07 -07:00
Eloy Lafuente (stronk7) 7a4832ecb9 weekly release 2.8dev 2014-06-26 10:35:37 +02:00
Eloy Lafuente (stronk7) 2d2864d606 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-06-26 10:35:27 +02:00
Eloy Lafuente (stronk7) 078379a9aa Revert " MDL-45044 filter_tex: properly escape excutable pathnames for Windows"
This reverts commit f0da509835.
2014-06-26 10:06:20 +02:00
Rajesh Taneja cbda1aa244 MDL-45889 behat: Allow admin config to set by shortname 2014-06-26 13:18:00 +08:00
Andrew Davis 4257ae82e8 MDL-46036 mod_survey: added logic to prevent user trying to download when there are no results 2014-06-26 11:11:15 +08:00
Marina Glancy d70fe4f8d9 Merge branch 'wip-mdl-46061' of git://github.com/rajeshtaneja/moodle 2014-06-26 10:26:59 +08:00
Rajesh Taneja d7a0b72160 MDL-46061 behat: Fixed blur event problem for atto_image
atto_image look for blur event after changing width/height
Added a new step to get focus off the element, so this can
work.
2014-06-26 09:59:49 +08:00
Charles Fulton 74dd7a3e84 MDL-43347 grades: consistent interface for drop lowest setting 2014-06-25 11:10:04 -07:00
Damyon Wiese 2b472c83b5 MDL-45983 Atto equation editor: Exclude phantomjs from this behat test because it's buggy 2014-06-25 15:04:20 +08:00
Damyon Wiese c33634c7e4 Merge branch 'wip-mdl-43835' of https://github.com/rajeshtaneja/moodle 2014-06-25 13:55:19 +08:00
David Monllao e20392edc0 MDL-42716 mod_assign: Lang str for the viewblinddetails capability 2014-06-25 13:20:41 +08:00
Rajesh Taneja 004d7e35b0 MDL-43835 behat: Use proper step for navigation expansion 2014-06-25 12:54:53 +08:00
Rajesh Taneja 6c396b6bb4 MDL-43835 behat: Added new step to set field with xpath defined 2014-06-25 12:54:52 +08:00
Rajesh Taneja 11f69d4165 MDL-43835 behat: Fixed backup behat test
Disabling section, disables all checkboxes in section,
So we don't have to unset them manually
2014-06-25 12:54:52 +08:00
Rajesh Taneja 955118d831 MDL-43835 behat: Fixed matches for select form field 2014-06-25 12:54:52 +08:00
Damyon Wiese 1a1d3665dc MDL-41663 Output: Allow subtype as a namespace level on it's own 2014-06-25 12:16:53 +08:00
Damyon Wiese 79046c2726 MDL-41663 Output: Unit tests for output factories search paths 2014-06-25 11:42:17 +08:00
Damyon Wiese d2bba1ee2b MDL-41663 Renderers - allow autoloaded renderers 2014-06-25 11:42:17 +08:00
Jonathon Fowler 60a601dbe0 MDL-46080 assign: fix offline grading worksheet marker column 2014-06-25 12:18:26 +10:00
Eloy Lafuente (stronk7) 7c74cfe45c MDL-46031 output: remove leftover line 2014-06-25 03:05:24 +02:00
Andrew Davis 607d581d89 MDL-42467 mod_data: added code to delete cached RSS feeds when database or glossary entries are deleted 2014-06-25 08:48:16 +08:00
AMOS bot de9b7ab5a4 Automatically generated installer lang files 2014-06-25 00:45:19 +00:00
AMOS bot a7a7dc4770 Automatically generated installer lang files 2014-06-25 00:45:19 +00:00
Eloy Lafuente (stronk7) 0518b6a26a Merge branch 'MDL-28420_master' of https://github.com/jrchamp/moodle 2014-06-25 02:07:34 +02:00
Eloy Lafuente (stronk7) eaa504cd67 Merge branch '43365-28' of git://github.com/samhemelryk/moodle 2014-06-25 01:35:17 +02:00
Eloy Lafuente (stronk7) 8b8c78946f Merge branch 'MDL-46079-master' of https://github.com/sammarshallou/moodle 2014-06-25 01:32:11 +02:00
Eloy Lafuente (stronk7) 025fa4fc74 Merge branch 'MDL-45645_LTIUsernameParam' of https://github.com/moodlerooms/moodle 2014-06-25 01:28:35 +02:00
Sam Hemelryk 78c12cdb0f MDL-43365 lib: converted text and plugin deprecated classes to new scheme
Four core library classes renamed for autoloading with deprecated stubs
have been converted to the new scheme for autoloading.
They are:

 * textlib
 * collatorlib
 * plugin_manager
 * plugininfo_base

These will be removed in 2.9 by MDL-46124
2014-06-25 09:30:38 +12:00
Sam Hemelryk 37e600076d MDL-43365 lib: added better means of renaming classes for autoloading
I've added a better means of renaming classes for autoloading and
handling the deprecation of the original class name.
This system records renamed classes in db/renamedclasses.php and
when a renamed class is requested a debugging notice is printed
and a class alias is created so that the calling code both works
and is informed of the deprecation.
2014-06-25 09:28:30 +12:00
Eloy Lafuente (stronk7) c45754d840 Merge branch 'MDL-45445_master' of https://github.com/markn86/moodle 2014-06-24 21:54:58 +02:00
Eloy Lafuente (stronk7) 85ee901b5e MDL-46045 whitespace fix 2014-06-24 21:50:05 +02:00
Eloy Lafuente (stronk7) 046930cfba Merge branch 'MDL-46045-master' of git://github.com/damyon/moodle 2014-06-24 21:48:30 +02:00
Eloy Lafuente (stronk7) e5d7c55151 Merge branch 'MDL-41258-master' of git://github.com/andrewnicols/moodle
Conflicts:
	mod/forum/tests/maildigest_test.php
2014-06-24 20:25:58 +02:00
Damyon Wiese dd6279788d Merge branch 'MDL-45652_master' of https://github.com/markn86/moodle 2014-06-24 16:58:04 +08:00
Marina Glancy 89d91403f9 Merge branch 'MDL-1626-master' of git://github.com/andrewnicols/moodle 2014-06-24 16:14:31 +08:00
Damyon Wiese 582abd9414 Merge branch 'MDL-10115-master' of git://github.com/xow/moodle 2014-06-24 16:03:21 +08:00
John Okely 3e40c056e8 MDL-10115 User profile: Use title to aid in the ellipsis link being understood by screen readers 2014-06-24 15:38:15 +08:00
Andrew Nicols ca14c76f3b MDL-1626 mod_forum: Correct SQL syntax when fetching subscriptions 2014-06-24 14:48:23 +08:00
Damyon Wiese 2ef26ad94f Merge branch 'wip_MDL-45985_m28_dbschema' of https://github.com/skodak/moodle 2014-06-24 14:19:20 +08:00
Damyon Wiese d9640a99ba Merge branch 'MDL-46022-master' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/less/moodle/modules.less
	theme/bootstrapbase/style/moodle.css
2014-06-24 14:10:51 +08:00
Damyon Wiese e9018b50a2 Merge branch 'MDL-46031' of git://github.com/timhunt/moodle 2014-06-24 14:05:54 +08:00
Marina Glancy 9cd5966168 Merge branch 'MDL-45933-master' of git://github.com/damyon/moodle 2014-06-24 13:52:30 +08:00
Marina Glancy 8d879f3928 Merge branch 'MDL-45983-master' of git://github.com/damyon/moodle 2014-06-24 13:51:30 +08:00
Marina Glancy bb9fd6b29d Merge branch 'MDL-41448-master' of git://github.com/damyon/moodle 2014-06-24 13:51:20 +08:00
Damyon Wiese c10fa5da47 MDL-41448 Assign: Add note to theme/upgrade.txt about CSS changes in mod_assign 2014-06-24 13:43:42 +08:00
Damyon Wiese e70f8d0a30 MDL-41448 assign: Fix all plugin styles - they should be restricted to mod assign pages. 2014-06-24 13:42:53 +08:00
Marina Glancy 5c5d182301 Merge branch 'MDL-46061-master' of git://github.com/FMCorz/moodle 2014-06-24 13:32:13 +08:00
Marina Glancy 245697d7bd Merge branch 'MDL-45044-master' of git://github.com/dthies/moodle 2014-06-24 13:28:51 +08:00
Damyon Wiese 2b48432da2 Merge branch 'wip-MDL-46038-master' of git://github.com/marinaglancy/moodle 2014-06-24 13:10:32 +08:00
Damyon Wiese b63bf750bd Merge branch 'MDL-46035_survey' of https://github.com/andyjdavis/moodle 2014-06-24 13:07:57 +08:00
Marina Glancy e28d6b29dc MDL-42716 assign: whitespace fix 2014-06-24 13:04:49 +08:00
Michael Hughes 323f221b11 MDL-42716 Assign: Implemented capability based viewing of blind details (squashed) 2014-06-24 12:27:10 +08:00
Andrew Nicols 035746504a MDL-1626 mod_forum: Update discussion subscriptions when moving discussions 2014-06-24 12:16:34 +08:00
Andrew Nicols ebfb73db7b MDL-1626 mod_forum: Update user interface to reflect per-discussion subscriptions
AMOS BEGIN
  MOV [forcessubscribe,mod_forum],[forcesubscribed,mod_forum]
AMOS END
2014-06-24 12:16:34 +08:00
Barbara Ramiro a42d781864 MDL-1626 mod_forum: Add icons for subscription status 2014-06-24 12:16:34 +08:00
Andrew Nicols 49566c8a67 MDL-1626 mod_forum: Make cron handle discussion subscriptions 2014-06-24 12:16:34 +08:00
Andrew Nicols e3bbfb52c4 MDL-1626 mod_forum: Add functions to change user discussion subscription state 2014-06-24 12:16:34 +08:00
Andrew Nicols 59075a4349 MDL-1626 mod_forum: Move subscription management to a separate class 2014-06-24 12:16:33 +08:00
Andrew Nicols 361a41d355 MDL-1626 mod_forum: Create new discussion subscription tracking table 2014-06-24 12:16:33 +08:00
Andrew Nicols dc0464801d MDL-1626 mod_forum: Add behat tests for existing functionality 2014-06-24 12:16:33 +08:00
Andrew Nicols a7a849038a MDL-1626 mod_forum: Add unit tests for forum cron mail behaviour 2014-06-24 12:16:33 +08:00
Damyon Wiese 95664d548f Merge branch 'MDL-46046-master' of git://github.com/FMCorz/moodle 2014-06-24 11:44:42 +08:00
Damyon Wiese 44a0b1e700 Merge branch 'MDL-46056-master' of git://github.com/mudrd8mz/moodle 2014-06-24 11:34:23 +08:00
Damyon Wiese 5d71e8b51a Merge branch 'wip-MDL-36003-master' of git://github.com/abgreeve/moodle 2014-06-24 11:23:21 +08:00
Simey Lameze f9f9d187f8 MDL-40805 auth_cas : Method postlogout_hook created to be executed after user_loggedout event trigger. 2014-06-24 11:00:32 +08:00
Damyon Wiese c32161a82c Merge branch 'MDL-44512-master' of git://github.com/jethac/moodle 2014-06-24 10:38:48 +08:00
Damyon Wiese f8793245e8 Merge branch 'MDL-44773-master' of git://github.com/FMCorz/moodle 2014-06-24 10:08:28 +08:00
Eloy Lafuente (stronk7) af03e18f48 Merge branch 'MDL-45721_master' of https://github.com/markn86/moodle 2014-06-24 00:56:31 +02:00
Eloy Lafuente (stronk7) b362c8f90d Merge branch 'MDL-39883-master' of git://github.com/ankitagarwal/moodle 2014-06-24 00:46:36 +02:00
Eloy Lafuente (stronk7) fbdb6497d6 Merge branch 'MDL-45958-master' of git://github.com/ankitagarwal/moodle 2014-06-24 00:17:27 +02:00
Eloy Lafuente (stronk7) 70465e7cb5 Merge branch 'MDL-45764_generalTool' of https://github.com/moodlerooms/moodle 2014-06-24 00:01:51 +02:00
Damyon Wiese 2dffa24f10 Merge branch 'MDL-45580-master' of git://github.com/FMCorz/moodle 2014-06-23 15:17:45 +08:00
Frederic Massart b4148e4688 MDL-45580 assignfeedback_editpdf: Save readonly version in backup 2014-06-23 14:46:18 +08:00
Damyon Wiese e3c82bc974 Merge branch '37145-28' of git://github.com/samhemelryk/moodle 2014-06-23 14:31:46 +08:00
Frederic Massart 7dbbb848c6 MDL-45580 assignfeedback_editpdf: Delete draft content on new submission 2014-06-23 14:17:24 +08:00
Frederic Massart 098f7dd438 MDL-45580 assignfeedback_editpdf: Store a readonly version of the PDF 2014-06-23 14:16:49 +08:00
Damyon Wiese 0faba5386c Merge branch 'MDL-38693-master' of git://github.com/jethac/moodle 2014-06-23 14:11:30 +08:00
Jerome Mouneyrac 5cba1029ca MDL-32917 port YUI2 Moodle calendar into a shifted YUI3 Calendar 2014-06-23 13:50:47 +08:00
Damyon Wiese 7fb32aaafc MDL-41746 External api: Allow multiple calls to validate_context at different levels
(Only from webservices)
2014-06-23 13:38:53 +08:00
Damyon Wiese 2404605ad4 Merge branch 'MDL-35453' of git://github.com/timhunt/moodle 2014-06-23 12:29:36 +08:00
Damyon Wiese 69377ddfab Merge branch 'MDL-46086' of git://github.com/timhunt/moodle 2014-06-23 12:26:00 +08:00
Damyon Wiese a51201a433 Merge branch 'MDL-43835' of https://github.com/mr-russ/moodle 2014-06-23 12:20:04 +08:00
Adrian Greeve 06dc1e7f56 MDL-36003 events: Added events for viewing grade reports. 2014-06-23 11:59:35 +08:00
Marina Glancy c436a90dfb Merge branch 'MDL-46013_uninstall_theme' of git://github.com/moodlerooms/moodle 2014-06-23 11:34:27 +08:00
Marina Glancy 47b933df3d Merge branch 'MDL-44124-master' of git://github.com/ankitagarwal/moodle 2014-06-23 11:33:50 +08:00
Sam Hemelryk 2c0eb5e696 MDL-37145 caching: noted recommendation for dedicated memcache servers
Several reports have been made about the unexpected purging of entire
memcached servers when MUC is configured to use Memcache and caches
get purged.
This is expected and occurs because the memcache extenions don't
provide isolated containers. Moodle data is stored along side any other
data in the cache and when caches get purged all data gets removed
whether it belongs to Moodle or not.

The docs cover this point and here I've added notes about this to both
config-dist.php and cache/README.md
2014-06-23 10:57:15 +12:00
AMOS bot f43d0debcd Automatically generated installer lang files 2014-06-21 00:43:30 +00:00
Tim Hunt 1c2e363c0e MDL-46086 quiz: fix unit test on Oracle 2014-06-20 22:25:21 +01:00
Daniel Neis ee9e079ddd MDL-35864 Require 'enrol/PLUGIN:config' capabilities to delete enrol instances 2014-06-20 13:08:18 -03:00
Tim Hunt 2ce9a94d96 MDL-35453 quiz reports: don't order by id.
We were using ORDER BY id even though there was a perfectly good
attempt column to order the attempts by one user at one quiz.

Also, Oracle was complaining:
Debug info: ORA-01799: a column may not be outer-joined to a subquery
2014-06-20 16:09:03 +01:00
sam marshall 9f7b688c63 MDL-46079 Restore: Can run out of memory in get_records call 2014-06-20 14:15:28 +01:00
Jetha Chan 328ef3df0e MDL-46022 custom_menu: add support for dividers 2014-06-20 15:53:11 +08:00
Frederic Massart 073be367e2 MDL-40228 backup: Settings were ignored during automated backups 2014-06-20 15:37:32 +08:00
Daniel Thies f0da509835 MDL-45044 filter_tex: properly escape excutable pathnames for Windows 2014-06-19 22:26:49 -05:00
Andrew Davis 19f2765be2 MDL-46035 mod_survey: a string change to make an error message always correct 2014-06-20 08:42:36 +08:00
Tim Hunt b8459bba14 MDL-46031 output: better handling of once-per-page items
In several places we only want to output a certain bit of HTML (e.g. the
contents on the mod chooser) once per page.

This used to be done with a static variable in the function, which
meant the logic was once per PHP-script execution, not once-per-page.
Now there is a new bit of API in page_requirements_manager to handle
this properly.
2014-06-19 18:50:04 +01:00
Jonathan Champ 29d4dfec34 MDL-28420 enrol_database: Allow use of remote hidden field to specify non-enrolled 'Other User' creation 2014-06-19 10:27:56 -04:00
Frederic Massart f756d3d492 MDL-46061 atto_image: Improved tests to cover sizing feature 2014-06-19 16:00:23 +08:00
Frederic Massart 91bc9570e1 MDL-46061 atto_image: Prevent error when image does not have a size 2014-06-19 16:00:22 +08:00
Jetha Chan a36f97f7c0 MDL-44512 themes: fix for custom menu submenu arrows on RTL languages 2014-06-19 15:12:56 +08:00
Damyon Wiese 7784c3ad18 weekly release 2.8dev 2014-06-19 14:12:07 +08:00
Damyon Wiese 7e18746f04 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-06-19 14:11:39 +08:00
Frederic Massart 680482d14a MDL-44773 atto_accessibilitychecker: Improved image test coverage 2014-06-19 13:38:12 +08:00
Damyon Wiese a084ac0db4 MDL-46045 Fix php tags (lowercase) everywhere 2014-06-19 11:05:16 +08:00
AMOS bot 126248941c Automatically generated installer lang files 2014-06-19 00:42:45 +00:00
David Mudrák 56c8eaf5d2 MDL-46056 Remove invalid string definition from the workshop module
The correct version of the string is defined above.
2014-06-19 00:43:47 +02:00
Frederic Massart 325f668670 MDL-46046 atto_accessibilityhelper: Remove dead code from the plugin 2014-06-18 16:52:06 +08:00
Frederic Massart 61ebeec143 MDL-44773 atto_accessibilitychecker: Set focus on clicked warnings 2014-06-18 16:44:24 +08:00
Marina Glancy 0b47bbfa32 MDL-45941 messaging: submit all necessary user fields to message_send 2014-06-18 16:37:27 +08:00
Ankit Agarwal dcbef3f4c2 MDL-39883 events: Trigger a module created event when duplicating a module 2014-06-18 15:40:31 +08:00
Ankit Agarwal e20d306969 MDL-39883 events: Create a new api create_from_cm for module create event 2014-06-18 15:39:02 +08:00
Damyon Wiese 1165b7ded7 MDL-45933 Assign: Prevent fatal error when there are no users in the grading table 2014-06-18 15:17:02 +08:00
Ankit Agarwal 29a05a56af MDL-44124 libraries: Allow rrules with only one part during rrule validation checks 2014-06-18 14:12:25 +08:00
Marina Glancy 009f0a7b79 MDL-46038 repositories: added forgotten global 2014-06-18 13:37:24 +08:00
Mark Nelson c5f0d9f50a MDL-45652 core_backup: display warning on restore destination form when necessary data is missing 2014-06-17 21:55:48 -07:00
Damyon Wiese 33efee99ff MDL-45884: Version bump for new setting. 2014-06-18 11:12:42 +08:00
Mark Nelson ef03fb19ae MDL-45721 core_backup: only trigger the course_restored event when restoring a course 2014-06-17 19:43:48 -07:00
AMOS bot 2852292f6a Automatically generated installer lang files 2014-06-18 00:42:21 +00:00
Eloy Lafuente (stronk7) 033b14dc33 Merge branch 'MDL-45978_master' of git://github.com/grabs/moodle 2014-06-17 11:54:33 +02:00
Russell Smith d2c58b95bb MDL-43835 phpunit: Correct unit tests.
When different ID's are set for each sequence a number
of unit test failures appear.  They have been corrected
to allow unit tests to pass with the new generator in place.
2014-06-17 19:08:01 +10:00
Eloy Lafuente (stronk7) f393b3ecb1 Merge branch 'MDL-44929-master' of git://github.com/andrewnicols/moodle 2014-06-17 11:04:11 +02:00
Andrew Nicols 908996b10e MDL-41258 Forum: Add additional unit tests for forum digest settings 2014-06-17 16:06:10 +08:00
Damyon Wiese aca670170a MDL-45983 Atto equation editor: Various bugs when editing an existing equation
(And a behat test for it).
2014-06-17 15:20:29 +08:00
Ankit Agarwal 0a3d81c261 MDL-45958 courselib: Refactor module duplication code to remove duplication 2014-06-17 14:46:05 +08:00
Marina Glancy 65f4667348 Merge branch 'wip_MDL-45941_m28_message' of git://github.com/skodak/moodle 2014-06-17 13:08:14 +08:00
Andreas Grabs ec4e78a80f MDL-45978 logging - added missing parameter id 2014-06-17 07:05:05 +02:00
Petr Skoda 4f4fb38cb5 MDL-45985 cli: add new cli tool for validation of database structure 2014-06-17 16:54:31 +12:00
Petr Skoda 4153a7483d MDL-45985 ddl: improve check_database_schema method in database_manager 2014-06-17 16:53:36 +12:00
Petr Skoda 349f98ad3e MDL-45941 implement support for message sending from DB transactions and fix other problems
This patch includes following fixes:
 - messages may be now sent when database transactions active
 - consistent return status on failure from message_send(), false is
   returned only when message not created in message(_read)? table,
   processor failure results in debugging message only and messages
   are not marked as read
 - message_sent is triggered always with id from message table
 - logic for marking messages as viewed was standardised
 - message_viewed event is triggered consistently
 - improved performance when fetching user preferences
 - full unit tests coverage for send_message() function
 - fixed multiple other smaller issues discovered by unit tests
2014-06-17 16:09:43 +12:00
Damyon Wiese e192e37f51 MDL-45582 EditPDF: whitespace fix 2014-06-17 10:27:19 +08:00
Damyon Wiese 177cc379ed MDL-45582 Editpdf: Prevent debugging when there is no pdf 2014-06-17 10:21:14 +08:00
Damyon Wiese fac23f93ec Merge branch 'master_MDL-45582' of git://github.com/greg-or/moodle-mod_assign 2014-06-17 10:20:39 +08:00
Eloy Lafuente (stronk7) 01dca76248 Merge branch 'MDL-45970' of git://github.com/timhunt/moodle 2014-06-17 01:15:21 +02:00
Eloy Lafuente (stronk7) 3a2421a56e Merge branch 'MDL-45611-master' of git://github.com/phalacee/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-06-17 01:11:25 +02:00
Eloy Lafuente (stronk7) cf7ac0aebf Merge branch 'wip-mdl-45719-master' of https://github.com/deraadt/moodle 2014-06-17 00:58:50 +02:00
Eloy Lafuente (stronk7) 8888451ed5 Merge branch 'MDL-45870-master' of git://github.com/FMCorz/moodle 2014-06-17 00:51:26 +02:00
Eloy Lafuente (stronk7) bfc66dd983 Merge branch 'MDL-45936_master' of https://github.com/markn86/moodle 2014-06-17 00:18:15 +02:00
Mark Nielsen f149e58990 MDL-46013 theme: Uninstall theme unconditionally unsets configs 2014-06-16 15:10:30 -07:00
Eloy Lafuente (stronk7) d519545a54 Merge branch '45884-28' of https://github.com/samhemelryk/moodle 2014-06-17 00:09:50 +02:00
Marina Glancy db8071a7f9 Merge branch 'MDL-45940-master' of git://github.com/damyon/moodle 2014-06-16 17:28:15 +08:00
Marina Glancy c126413655 Merge branch 'MDL-45901_Quiz_master' of git://github.com/nadavkav/moodle 2014-06-16 17:27:20 +08:00
Rajneel Totaram 8fb7520095 MDL-45967 admin lang: Fix typo 2014-06-16 17:26:34 +08:00
Marina Glancy 14422ae946 Merge branch 'MDL-43274-master' of git://github.com/xow/moodle 2014-06-16 17:23:53 +08:00
Gregory Faller 028c9d20b9 MDL-45582: Apply grades and feedback to entire group does not work with Annotate PDF feature 2014-06-16 18:09:21 +09:30
Damyon Wiese a3d7a82b64 Merge branch 'MDL-42531-alt' of https://github.com/jonof/moodle 2014-06-16 16:26:06 +08:00
John Okely fbd449509e MDL-43274 Course: Remove message about course logs from upgrade.txt 2014-06-16 16:25:27 +08:00
Damyon Wiese de06ce7ed3 MDL-45940 Assign: Improved access check
Call can_edit() instead of repeating a (slightly wrong) access check.
2014-06-16 16:20:11 +08:00
Damyon Wiese 070d5b17e1 MDL-31409 Grading form webservice: Whitespace fixes 2014-06-16 16:14:43 +08:00
Damyon Wiese be08fd134e Merge branch 'MDL-31861' of https://github.com/Lightwork-Marking/moodle 2014-06-16 16:13:38 +08:00
Marina Glancy 4a61670aed Merge branch 'MDL-35648' of git://github.com/danielneis/moodle 2014-06-16 14:02:38 +08:00
Marina Glancy 6581e387a0 Merge branch 'MDL-45935-master' of git://github.com/andrewnicols/moodle 2014-06-16 14:02:17 +08:00
John Okely 8b05f3a355 MDL-10115 User profile: Use moodle_url and html_writer::link for course links on user profiles 2014-06-16 13:22:18 +08:00
Damyon Wiese b3f297df31 Merge branch 'MDL-31998_master' of git://github.com/grabs/moodle 2014-06-16 12:04:02 +08:00
Damyon Wiese bf4c212284 Merge branch 'wip-mdl-46001' of https://github.com/rajeshtaneja/moodle 2014-06-16 11:24:29 +08:00
Rajesh Taneja 96b86e038e MDL-46001 atto_clear: modfied behat test to work on xvfb 2014-06-16 11:09:43 +08:00
Damyon Wiese 1df546a77e Merge branch 'MDL-45803_master' of https://github.com/markn86/moodle 2014-06-16 11:00:26 +08:00
Damyon Wiese 70b58992b8 Merge branch 'wip-MDL-45395-master' of git://github.com/abgreeve/moodle 2014-06-16 10:07:00 +08:00
John Okely bb8d6e1a81 MDL-43274 Course: Remove ability to delete logs on a course during reset 2014-06-16 09:10:05 +08:00
AMOS bot fe70d3a8df Automatically generated installer lang files 2014-06-15 00:42:34 +00:00
Mark Nelson e0e6d931f3 MDL-45936 auth_db: use core functions when creating/updating a user 2014-06-14 15:59:45 -07:00
Russell Smith fbb0c914b0 MDL-43835 phpunit: Create unique starting id's for sequences.
When all starting autoincrement ids are the same, it's difficult to detect coding and testing
errors that use the incorrect id in test calls.  The classic case is cmid vs instance id.
To reduce the chance of the coding error we start sequences at different values where possible.

OUBlog installation is the case that highlighted this as it inserts a sitewide course module
at install time and cmid <> instance id in most cases.
2014-06-14 00:29:26 +10:00
Nadav Kavalerchik c9976d96a5 MDL-45901 - Quiz - Display random questions (from category) on RTL mode. 2014-06-13 12:20:23 +03:00
Mark Nelson 3b0347712a MDL-45445 events: added '(optional)' to event params where applicable 2014-06-12 20:46:58 -07:00
Mark Nelson c446f41a85 MDL-45445 events: documented the additional validation 2014-06-12 20:46:58 -07:00
Mark Nelson d0c65a411f MDL-45445 events: added missing 'other' validation 2014-06-12 20:46:58 -07:00
Mark Nelson 943c61051f MDL-45445 events: added missing 'relateduserid' validation 2014-06-12 20:46:58 -07:00
Mark Nelson b448a5ac67 MDL-45445 events: trivial changes 2014-06-12 20:46:58 -07:00
Paul Charsley 0ff4ebb4a3 MDL-31861 add web service function save_definitions 2014-06-13 15:36:25 +12:00
AMOS bot 340df7eb34 Merge branch 'master' into install_master 2014-06-13 00:41:51 +00:00
Tim Lock 1dbc4f2894 MDL-45982: Implement displaying of non error messages from a provider. 2014-06-13 09:24:41 +09:30
Andreas Grabs 16ee970c94 MDL-31998 mod_feedback - Feedback depend questions bug 2014-06-13 01:45:23 +02:00
Sam Hemelryk 99f041ebfa MDL-45884 navigation: changed to positive setting phrasing 2014-06-13 10:16:25 +12:00
Sam Hemelryk aab6438ca1 MDL-45884 navigation: tidied up code and added behat tests 2014-06-13 10:16:25 +12:00
Syxton 4d378e9f70 MDL-45884 navigation: setting that allows sites to collapse My Courses by default 2014-06-13 10:16:25 +12:00
Tim Hunt 4175a57038 MDL-45970 quiz editing: fix display of random questions.
The pass by reference meant the function was clobbering the variable in
the calling function. Once that was change, it was not strictly
necessary to rename the variable in the function, but I did anyway for
clarity.

Thanks to Rajesh Taneja for finding the problem, and identifying which
bit of code was broken. I really just made the patch.
2014-06-12 19:45:33 +01:00
Eloy Lafuente (stronk7) 337075d17b weekly release 2.8dev 2014-06-12 18:58:54 +02:00
Eloy Lafuente (stronk7) 0272001830 Merge branch 'MDL-44871-master' of git://github.com/damyon/moodle 2014-06-12 11:38:10 +02:00
Eloy Lafuente (stronk7) 1a32e1d446 Merge branch 'MDL-42835-master' of http://github.com/damyon/moodle 2014-06-12 09:51:11 +02:00
John Okely 9594f50af3 MDL-10115 User profile: Allow full list of courses to be viewed on a user's profile 2014-06-12 14:43:14 +08:00
Rajesh Taneja c2c5d57790 MDL-45808 enrol_self: Fixed behat to observe the group key policy 2014-06-12 14:20:02 +08:00
Damyon Wiese c48c9bf02f MDL-42835 Scorm: Fix for JS error because no nodes are selected in the toc. 2014-06-12 13:57:34 +08:00
Damyon Wiese d27c8d924a MDL-44871 Atto: Add missing tags to behat tests @editor and @editor_atto 2014-06-12 11:14:21 +08:00
Adrian Greeve 4051685ba0 MDL-45395 lib: Removal of excel 5 spreadsheet creation files.
The excel 5 writer files were using OLE licensing which is GPL incompatible.
These classes are not used in core.
2014-06-12 10:41:42 +08:00
AMOS bot 4646299f34 Automatically generated installer lang files 2014-06-12 00:43:28 +00:00
Mark Nelson b4cfcf5e53 MDL-45803 mod_quiz: removed the quiz_fire_attempt_started function
Also commented in mod/quiz/upgrade.txt to inform developers.
2014-06-11 13:53:59 -07:00
Mark Nelson 62a3472e24 MDL-45803 mod_quiz: removed usage of the function quiz_fire_attempt_started_event 2014-06-11 13:53:03 -07:00
Damyon Wiese ca4f7f6105 MDL-45763 Question types: Allow saving '0' as question text. 2014-06-11 17:28:52 +08:00
Rajesh Taneja 49d82f905e MDL-44871 behat: Hack to make equation editor visible 2014-06-11 17:20:18 +08:00
Marina Glancy 84dc90034a MDL-39726 backup: fix SQL syntax for Oracle 2014-06-11 17:16:45 +08:00
Damyon Wiese 162e050c66 MDL-44871 Atto behat: Use one less page load to get to profile edit page 2014-06-11 16:29:38 +08:00
Damyon Wiese e3adee555b MDL-44871 Atto: Move custom select text step to atto specific step definition. 2014-06-11 15:29:20 +08:00
Damyon Wiese 7d8f825bbf MDL-44871 Atto behat tests: Modified the tests to work around focus bugs with workspaces
The main changes here are that the "select the text in" step was modified to select only the
first text node in the editor field, and to focus on it's parent instead of the entire editable div.

Some tests had to be modified to match the new behaviour, and another "real" bug was found in the table plugin.
2014-06-11 14:34:48 +08:00
Marina Glancy b9329e0cfe MDL-39726 backup: fix SQL syntax for Oracle 2014-06-11 12:14:16 +08:00
Marina Glancy 5528117324 MDL-45763 question: fix SQL syntax for Oracle 2014-06-11 12:13:19 +08:00
Frederic Massart 13a13c1178 MDL-45870 mod_assign: Behat test covering some outcome usage 2014-06-11 10:33:57 +08:00
Eloy Lafuente (stronk7) ea8541d0f9 Merge branch 'm28_MDL-29708_Typo_Extra_Slashes' of https://github.com/scara/moodle 2014-06-11 01:32:24 +02:00
Eloy Lafuente (stronk7) a834119d81 Merge branch 'MDL-45808-master' of git://github.com/FMCorz/moodle 2014-06-10 22:47:54 +02:00
Eloy Lafuente (stronk7) ffce783fcd Merge branch 'MDL-45579-master' of git://github.com/FMCorz/moodle 2014-06-10 20:56:14 +02:00
Eloy Lafuente (stronk7) ed16bf3724 Merge branch 'MDL-45418' of git://github.com/stronk7/moodle 2014-06-10 20:12:58 +02:00
Barbara Ramiro 1e2e5d83e9 MDL-45943: Replacement for publisher icons 2014-06-10 19:20:35 +02:00
Jason Fowler b5725a9727 MDL-45418 Files: Adding upgrade steps for publisher docs
Conflicts:
	lib/db/upgrade.php
	version.php
2014-06-10 19:18:35 +02:00
James McLean 855d8a2c49 MDL-45418 Files: Adding publisher docs to Filetypes 2014-06-10 19:09:27 +02:00
Marina Glancy 5adb8d86bd Merge branch 'MDL-45763-master' of git://github.com/merrill-oakland/moodle 2014-06-10 20:08:06 +08:00
Eric Merrill 516a3ddc76 MDL-45763 question: Correct random question text if set to true or false 2014-06-10 06:05:33 -04:00
Marina Glancy 4422b08068 Merge branch 'MDL-45813-scheduled_task' of git://github.com/mudrd8mz/moodle 2014-06-10 15:42:42 +08:00
Marina Glancy 410bb9a92c Merge branch 'MDL-20154-master' of git://github.com/merrill-oakland/moodle 2014-06-10 15:41:53 +08:00
Damyon Wiese 5d44ea3333 Merge branch '45524-28' of git://github.com/samhemelryk/moodle 2014-06-10 15:30:16 +08:00
Damyon Wiese 457a9fa6c5 MDL-44871 Behat: Add tests for Atto functionalities (some of them) 2014-06-10 14:42:00 +08:00
Marina Glancy 0b74d45c70 Merge branch 'wip-MDL45846' of git://github.com/jennymgray/moodle 2014-06-10 14:19:45 +08:00
Daniel Neis Araujo db282ba4fe MDL-45245 html_writer::select_time does not respect 5th parameter "attributes" 2014-06-10 14:19:04 +08:00
Damyon Wiese 79b1aa8ac3 Merge branch 'wip-MDL-44309-master' of https://github.com/deraadt/moodle 2014-06-10 14:06:19 +08:00
Damyon Wiese 850833378d Merge branch 'MDL-45761-master' of https://github.com/merrill-oakland/moodle 2014-06-10 14:01:23 +08:00
Damyon Wiese dc92753a3a Merge branch 'MDL-45767_returnInstanceid' of https://github.com/moodlerooms/moodle 2014-06-10 13:34:01 +08:00
Damyon Wiese 5262686e5f Merge branch 'MDL-45729-master' of http://github.com/damyon/moodle 2014-06-10 13:28:04 +08:00
Damyon Wiese 2d8d99ab5b Merge branch 'MDL-45763-master' of https://github.com/merrill-oakland/moodle 2014-06-10 12:42:09 +08:00
Andrew Nicols 87a37ebe6b MDL-45935 tests: Specify step names during backup/restore tests 2014-06-10 12:10:45 +08:00
Jonathon Fowler c462c35b95 MDL-42531 assign: refactor batch operations to use forms properly
Avoids a lot of ugly optional_param() use. Also fixes the
non-functional cancel buttons.
2014-06-10 14:06:41 +10:00
Damyon Wiese 5ba4ca894a MDL-45729 assign: Fix for assign unit tests
Check the user in the params, not the $USER
2014-06-10 11:39:20 +08:00
Michael de Raadt d7f87343ce MDL-45719 mod_lti - Pass language strings to inline JS to allow for escaping 2014-06-10 11:35:48 +08:00
Jason Fowler 05562aaf6f MDL-45611 Questions: Fixing the layout of the 'points box' 2014-06-10 10:42:28 +08:00
Eloy Lafuente (stronk7) 3150271c22 Merge branch 'MDL-45789_master' of https://github.com/markn86/moodle 2014-06-10 01:16:27 +02:00
Eloy Lafuente (stronk7) d1b183b94b Merge branch 'MDL-45804_master' of https://github.com/markn86/moodle 2014-06-10 01:14:21 +02:00
Eloy Lafuente (stronk7) 2975f1a0cc Merge branch 'MDL-42782-master' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-06-10 01:08:45 +02:00
Mark Nelson 400afba6ab MDL-45803 mod_quiz: prevented the attempt_started event from being triggered twice 2014-06-09 15:59:41 -07:00
Mark Nelson 546a2c95f4 MDL-45803 mod_quiz: added attempt snapshot for the attempt and preview started events 2014-06-09 15:59:26 -07:00
Eloy Lafuente (stronk7) 0a87b6809f Merge branch 'MDL-42835' of git://github.com/nobelium/moodle 2014-06-10 00:36:33 +02:00
Graham Bowman 09fdd221ca MDL-45729 assign: conditional submission summary
Only show the submission summary if user has assign:submit capability.

Amended to fix some whitespace and the commit message.
2014-06-09 22:07:15 +02:00
Eloy Lafuente (stronk7) 3566ea16a8 Merge branch 'MDL-45574-master' of https://github.com/sammarshallou/moodle 2014-06-09 20:18:06 +02:00
Eloy Lafuente (stronk7) 61e11664c8 Merge branch 'wip-MDL-44501-master' of git://github.com/abgreeve/moodle 2014-06-09 18:59:16 +02:00
Jenny Gray d6bc210687 MDL-45846 Libraries custom user agent device detection unit test added 2014-06-09 13:56:42 +01:00
Eloy Lafuente (stronk7) d663c5abc5 Merge branch 'wip-mdl-45769' of https://github.com/rajeshtaneja/moodle 2014-06-09 13:25:01 +02:00
Marina Glancy 8c46fc33dc Merge branch 'MDL-45560-master' of git://github.com/andrewnicols/moodle 2014-06-09 17:23:54 +08:00
Marina Glancy 3f445e4e23 Merge branch 'MDL-45634-master' of git://github.com/FMCorz/moodle 2014-06-09 17:23:42 +08:00
Andrew Nicols 2eb60257a7 MDL-44929 Javascript: Import YUI 3.17.2 2014-06-09 16:25:17 +08:00
David Mudrák dc561732b5 MDL-45813 Fix variable name in scheduled task 2014-06-09 09:46:13 +02:00
Jetha Chan 717158700f MDL-38693 themes: amended z-indexes
Amended #dock z-index level from 11000 to 5000 across all themes; amended z-index style of #page-header in Overlay theme such that elements no longer occlude TinyMCE.
2014-06-09 14:32:28 +08:00
Rajesh Taneja 9e4c31accc MDL-45769 behat: use final versions of symfony and behat 2014-06-09 09:56:52 +08:00
Rajesh Taneja ddfbdf0924 MDL-45769 Behat: Fixed behat, was failing because of xpath chaining 2014-06-09 09:56:39 +08:00
Damyon Wiese d78fa6c10a Merge branch 'MDL-39726-master' of https://github.com/merrill-oakland/moodle 2014-06-09 09:51:58 +08:00
Damyon Wiese 589291889d Merge branch 'MDL-45714-master' of https://github.com/merrill-oakland/moodle 2014-06-09 08:53:48 +08:00
Mary Evans 430b74c3d0 MDL-45507 theme_bootstrapbase: Fix regression for theme based custom menu
in renderers/core_renderer.php.
2014-06-08 23:51:33 +01:00
Sam Hemelryk 36bb73449c MDL-45524 navigation: fixed non-expandable node behat tests 2014-06-09 09:34:05 +12:00
Sam Hemelryk cbd063f4c3 MDL-44711 navigation: improved expandable course calculation 2014-06-09 09:34:05 +12:00
Matteo Scaramuccia 8436e8590f MDL-29708 Fixed file_exception() arguments in rename(). 2014-06-07 09:53:11 +02:00
Matteo Scaramuccia ad3ade7681 MDL-29708 Fixed extra slashes in $string['storedfilenotcreated']. 2014-06-07 09:53:09 +02:00
sam marshall e974eef932 MDL-45574 Backup progress: Can time out with large number of files
When there are many files inside a single resource, it's possible
for the backup to time out because it does not report progress
while adding entries to the backup_ids table.
2014-06-06 10:41:40 +01:00
Jenny Gray ccbb60d188 MDL-45846 Libraries Reinstate custom user agent device detection 2014-06-06 09:10:32 +01:00
Mark Nelson 6e311b5fb3 MDL-45789 mod_wiki: removed undefined "$this->other['itemid']" from the comments_viewed event description 2014-06-05 21:08:27 -07:00
Daniel Neis e4401d04af MDL-35648 adding missing distinct selector in sql on participation report 2014-06-05 20:42:06 -03:00
Nobelium 6a761d016c MDL-42835 mod_scorm: Close tree nodes using TreeView API 2014-06-05 22:30:05 +00:00
Eric Merrill 828a4e9f6e MDL-20154 quiz: Remove unused random questions
When a random question is removed from a quiz, and it is not
in use elsewhere, it should be deleted.
2014-06-05 11:06:26 -04:00
Eloy Lafuente (stronk7) e7ea6b9a24 weekly release 2.8dev 2014-06-05 16:58:30 +02:00
Eloy Lafuente (stronk7) f1a23d593e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-06-05 16:58:18 +02:00
Eric Merrill c1d0d73718 MDL-20154 questions: question_delete_question should not check perms
By Moodle convention, library functions should not implement permission
checks, they are to be handled by the invoking code.
2014-06-05 09:56:35 -04:00
Eric Merrill 98f52b7dc0 MDL-45761 assign Set inline comment format properly when plugin is empty
If a plugin says it is empty, skip it for for building the inline
comment.

If not format was found in any plugins, set to FORMAT_HTML, which is
the default for feedback anyways.
2014-06-05 08:56:24 -04:00
Frederic Massart 78f69e51fc MDL-45870 mod_assign: Outcomes are saved for each group member 2014-06-05 15:56:13 +08:00
Michael de Raadt cae7b8882a MDL-44309 Administration - correcting inproperly assigned column classes in environment table 2014-06-05 10:59:34 +08:00
Mark Nielsen 24fc6deec3 MDL-45764 mod_lti: Fix adding General Tool
This error only occurs when a ltisource
plugin is present that implements the
get_types callback.
2014-06-04 08:08:59 -07:00
Eric Merrill d6441d1e5e MDL-39726 backup: Move question files by context, not one at a time
Use question category contexts to send file to the file pool in bulk.
Questions are only restored in whole category chunks, so this is safe
to do.
2014-06-04 09:14:49 -04:00
Damyon Wiese c9be25abb3 Merge branch 'MDL-41665_master' of https://github.com/markn86/moodle 2014-06-04 16:15:32 +08:00
Adrian Greeve f3998ce41e MDL-44501 mod_data: Only attempt to export files when a file exists.
The error only occurs when portfolios are enabled and there is only one field which is
a file field.
2014-06-04 15:27:50 +08:00
Mark Nelson e2cd4f5b95 MDL-41665 mod_scorm: fixed broken report URLs 2014-06-04 00:17:41 -07:00
Frederic Massart 9d4762c9b5 MDL-45808 group: Observe the group key policy upon group creation 2014-06-04 15:16:22 +08:00
Frederic Massart 6685e0487f MDL-45579 group: Behat tests to cover group enrolment key rules 2014-06-04 15:11:42 +08:00
Marina Glancy b60e8bb8fa Merge branch 'MDL-18162-master-2' of git://github.com/andrewnicols/moodle 2014-06-04 12:58:03 +08:00
Andrew Nicols df7a4d6569 MDL-45625 mod_forum: Correct typo in upgrade notes 2014-06-04 11:56:54 +08:00
Andrew Nicols d9b196d9b6 MDL-18162 mod_forum: Correct @param type in phpdoc to use stdClass 2014-06-04 11:25:38 +08:00
Damyon Wiese ddf831be20 Merge branch 'MDL-45568_master' of git://github.com/markn86/moodle 2014-06-04 10:20:53 +08:00
Marina Glancy 6526c48909 Merge branch 'MDL-40851-master' of git://github.com/andrewnicols/moodle 2014-06-04 10:08:10 +08:00
Marina Glancy 0313897108 Merge branch 'wip-mdl-44839' of git://github.com/rajeshtaneja/moodle
Conflicts:
	lib/phpunit/bootstrap.php
2014-06-04 10:07:03 +08:00
Mark Nelson 336f1567bb MDL-45568 events: fixed the description for the 'course_module_completion_updated' event 2014-06-03 17:25:53 -07:00
Sam Hemelryk 0591c2056d Merge branch 'MDL-44486-master' of git://github.com/andrewnicols/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-06-04 09:51:37 +12:00
Eloy Lafuente (stronk7) 71fa28477b Merge branch 'MDL-44620_master' of git://github.com/dmonllao/moodle 2014-06-03 18:11:28 +02:00
Andrew Nicols 052933f4ea MDL-40851 mod_forum: Final deprecation of forum_shorten_post 2014-06-03 23:15:47 +08:00
Dan Poltawski 1051166f78 Merge branch '45333-28' of git://github.com/samhemelryk/moodle 2014-06-03 15:25:59 +01:00
Dan Poltawski ed3f8591ed Merge branch 'master_MDL-40371' of git://github.com/danmarsden/moodle
Conflicts:
	mod/scorm/lib.php
2014-06-03 15:19:22 +01:00
Dan Poltawski 0eb40618ba Merge branch 'MDL-44054' of git://github.com/timhunt/moodle 2014-06-03 12:58:34 +01:00
Dan Poltawski 09da421d92 Merge branch '45513-28-defines' of git://github.com/samhemelryk/moodle 2014-06-03 12:20:41 +01:00
Jason Fowler 2270803ed2 MDL-42953 Themes: Fixing CSS for headers of central blocks 2014-06-03 12:13:00 +02:00
Rajesh Taneja 1bce3a70d9 MDL-44839 admin: Moved all system executable paths to config
AMOS BEGIN
 MOV ['gspath','assignfeedback_editpdf'],['pathtogs','admin']
 MOV ['gspath_help','assignfeedback_editpdf'],['pathtogs_help','admin']
AMOS END
2014-06-03 17:33:49 +08:00
Marina Glancy 3d9ea145c2 Merge branch 'MDL-41313-master' of git://github.com/andrewnicols/moodle 2014-06-03 17:32:36 +08:00
Damyon Wiese d47bd7962b Merge branch 'MDL-45592_master' of git://github.com/grabs/moodle 2014-06-03 16:58:05 +08:00
Frederic Massart 624458a940 MDL-45579 group: Prevent duplicate enrolment keys in course groups 2014-06-03 15:38:06 +08:00
Damyon Wiese 45e02c9a73 Merge branch 'MDL-45627-master' of git://github.com/andrewnicols/moodle 2014-06-03 15:12:52 +08:00
Damyon Wiese 96c9b2feb3 Merge branch 'MDL-45630_master' of https://github.com/markn86/moodle 2014-06-03 15:00:27 +08:00
Damyon Wiese 0fe6999ace Merge branch 'MDL-45658_master' of https://github.com/markn86/moodle 2014-06-03 14:52:33 +08:00
Damyon Wiese 5d759c9563 Merge branch 'MDL-45677_master' of https://github.com/markn86/moodle 2014-06-03 14:37:55 +08:00
Damyon Wiese 5bbcdbeb96 Merge branch 'MDL-41665' of git://github.com/nobelium/moodle 2014-06-03 13:16:22 +08:00
Gregory Faller 556483d47d MDL-44098: Late submissions with extension calculate period of lateness incorrectly 2014-06-03 12:40:36 +08:00
Frederic Massart 097f7eca38 MDL-45634 editor_atto: Adding type button to toolbar buttons
This prevents the browser to assume that those buttons are submit
buttons. In which case the submit action was stolen and the form
could not be submitted pressing the 'enter' key.
2014-06-03 12:09:17 +08:00
Damyon Wiese c792d01c78 Merge branch 'MDL-45781' of git://github.com/timhunt/moodle 2014-06-03 11:57:22 +08:00
Jetha Chan bd77886b41 MDL-42782 usability: fix for extreme course page indenting 2014-06-03 11:15:59 +08:00
Sam Hemelryk 7ca6b26d8f Merge branch 'MDL-18162-master' of git://github.com/andrewnicols/moodle 2014-06-03 15:00:26 +12:00
Eric Merrill 1f3b23569e MDL-45714 backup: Less aggressive removal of old backup dirs
The old 4 hour standard was too aggressive and can cause backup files
to be removed while they were still in use. Now the same as cron,
1 week.
2014-06-02 21:47:04 -04:00
Eloy Lafuente (stronk7) bd29ed2770 Merge branch 'master_MDL-45726' of https://github.com/danmarsden/moodle 2014-06-03 02:20:48 +02:00
Mark Nelson be8fe65404 MDL-45804 mod_workshop: fixed objecttable specified for the submission_reassessed event 2014-06-02 16:33:54 -07:00
Sam Hemelryk 24df080cdc Merge branch 'master_MDL-45212' of git://github.com/totara/moodle 2014-06-03 10:18:58 +12:00
Sam Hemelryk 984dd8b75c MDL-45625: fixed whitespace 2014-06-03 10:15:56 +12:00
Sam Hemelryk 8c68421e3d Merge branch 'MDL-45625-master' of git://github.com/andrewnicols/moodle 2014-06-03 09:05:38 +12:00
Sam Hemelryk f36ccdbb40 Merge branch 'MDL-41708-master' of git://github.com/andrewnicols/moodle 2014-06-03 09:02:11 +12:00
Sam Hemelryk 58e70de193 Merge branch 'MDL-33763-master' of git://github.com/ankitagarwal/moodle 2014-06-03 08:57:31 +12:00
Eric Merrill a871a7a757 MDL-45763 question Random qtype should use '0' or '1' question text.
Some time ago, it when from using '0' for no-subcategories to blank.
Change to properly define '0' or '1', update old questions, and make
sure to fix newly restored questions.
2014-06-02 15:31:23 -04:00
Eloy Lafuente (stronk7) 4df54b06f1 Merge branch 'MDL-35514_master' of https://github.com/markn86/moodle 2014-06-02 18:19:52 +02:00
Eloy Lafuente (stronk7) 5c7d164ff4 Merge branch 'MDL-44902_LTI_Addtions' of https://github.com/moodlerooms/moodle
Conflicts:
	mod/lti/version.php
2014-06-02 16:33:39 +02:00
Eloy Lafuente (stronk7) 17c9a3ccbf Merge branch 'MDL-34737-master' of git://github.com/andrewnicols/moodle 2014-06-02 11:53:33 +02:00
Mark Nelson 1ea5f1e2d3 MDL-45630 events: removed unnecessary 'the' from event descriptions 2014-05-31 15:27:11 -07:00
Tim Hunt 67014b5d23 MDL-45781 quiz autosave: detect and report when the session is lost.
and also other errors.
2014-05-30 16:26:23 +01:00
AMOS bot 4b6e43dca8 Automatically generated installer lang files 2014-05-30 01:24:10 +00:00
AMOS bot b4ac089766 Automatically generated installer lang files 2014-05-30 01:24:10 +00:00
Nobelium 27b8872cb3 MDL-41665 scorm : Rewriting using html_writer 2014-05-29 21:54:00 +00:00
Ciaran Irvine 005141f3d0 MDL-45726 SCORM: Correct check for forcenewattempt 2014-05-30 09:48:16 +12:00
Sam Chaffee a8e99c6f72 MDL-45767: Fixed DB error when returning to course from external tool
The instance ID is not always returned from the external
tool provider.
2014-05-29 14:01:15 -07:00
Sam Hemelryk 90395bbfa1 MDL-45333 output: navbar is now wrapped in a <nav> tag 2014-05-30 08:41:29 +12:00
Sam Hemelryk eefb680d8e MDL-45513 cache: implemented defines for unit testing alternative caches 2014-05-30 08:41:07 +12:00
Sam Hemelryk 79a8ea653c MDL-45513 cache: added support to unit tests for alt cache stores 2014-05-30 08:41:07 +12:00
Andreas Grabs c2ebf60636 MDL-45592 mod_feedback - unwanted linebreak after import or duplicating a feedback 2014-05-29 17:16:26 +02:00
Tim Hunt 7076b30972 MDL-44054 quiz_statistics fix lang string concatenation. 2014-05-29 14:44:21 +01:00
Eloy Lafuente (stronk7) 8e478c99d3 weekly on-sync release 2.8dev 2014-05-29 12:52:03 +02:00
Eloy Lafuente (stronk7) 607c34de11 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-05-29 12:51:58 +02:00
Brian King 6a97697a2a MDL-40371 Upgrade-until-22: remove obsolete _upgrade_grades functions 2014-05-29 19:43:37 +12:00
Damyon Wiese 3f86b023ef MDL-45654 Cron: Fix for unit test that was causing integer overflow in 32 bit php 2014-05-29 12:10:19 +08:00
Sam Hemelryk f65427b660 Merge branch 'wip-mdl-45698' of https://github.com/rajeshtaneja/moodle 2014-05-29 14:27:56 +12:00
Rajesh Taneja 0a69b98018 MDL-45698 behat: Fixed behat and symfony versions 2014-05-29 09:45:55 +08:00
Rajesh Taneja a9e2d4c03a MDL-45698 behat: Added extra setting, to avoid timout issue 2014-05-29 09:44:03 +08:00
Sam Hemelryk 20f29d2c89 MDL-45654 cron: fixed dataprovider timestamp issue 2014-05-29 11:53:36 +12:00
Sam Hemelryk 69ab6b4713 Merge branch 'wip-mdl-45565' of https://github.com/rajeshtaneja/moodle 2014-05-29 08:12:32 +12:00
Andrew Nicols 2ee1ad4462 MDL-45560 report_log: Close sessions before download only
If the session is closed too early, then preferences made in the body of
the page will not be saved to the session.
2014-05-29 00:58:48 +08:00
Andrew Nicols 3a4ff0a899 MDL-18162 mod_forum: Correct phpdoc for forum_clean_search_terms 2014-05-28 09:35:48 +08:00
Eloy Lafuente (stronk7) f94891cc00 MDL-45503 upgrade: add v2.7.0 sep lines 2014-05-28 01:13:42 +02:00
Dan Poltawski a64528d88c Merge branch 'MDL-45544-master' of git://github.com/lameze/moodle 2014-05-27 07:49:58 +01:00
Rajesh Taneja 3c4b599d9b MDL-45565 phpunit: Changed testsuite_name, so as to avoid class collision 2014-05-27 09:43:52 +08:00
Dan Poltawski 1ce76b900b Merge branch 'MDL-45676_master' of https://github.com/markn86/moodle 2014-05-26 12:02:40 +01:00
Dan Poltawski c6e3d67934 Merge branch 'MDL-45675_master' of https://github.com/markn86/moodle 2014-05-26 11:58:50 +01:00
Dan Poltawski 6ca4f19a9f Merge branch 'MDL-45682-master' of git://github.com/andrewnicols/moodle 2014-05-26 11:23:59 +01:00
Rajesh Taneja 6b8e46ad04 MDL-45565 core_message: Reset internal users in phpunit 2014-05-26 15:42:12 +08:00
Marina Glancy 87c1a30b1f Merge branch 'MDL-45661-master' of git://github.com/damyon/moodle 2014-05-26 14:40:56 +08:00
Marina Glancy 8a564deb07 Merge branch 'MDL-44482-master' of git://github.com/jethac/moodle 2014-05-26 14:40:48 +08:00
Jetha Chan 101ec5fd3b MDL-44482 mod_lti: use localized dates
Fixed an issue where LTI external tools had creation datestamps of NaN/NaN/NaN under particular non-English languages.
2014-05-26 14:03:02 +08:00
Simey Lameze b0ad512f95 MDL-45544 events: Add event user_profile_viewed trigger to user/profile.php. 2014-05-26 12:51:40 +08:00
Damyon Wiese ea1cd97ec7 Merge branch 'wip-MDL-45688-master' of git://github.com/marinaglancy/moodle 2014-05-26 12:46:29 +08:00
Damyon Wiese 4e2bf2381f MDL-45661 Assign: Clean bad data from DB after MDL-42526 2014-05-26 12:36:21 +08:00
Damyon Wiese 2562653a27 Merge branch '45499-28' of git://github.com/samhemelryk/moodle 2014-05-26 12:04:42 +08:00
Andrew Nicols 362659725b MDL-45682 editor_atto: Ensure that the current editor is active when saving selections 2014-05-26 12:02:02 +08:00
Marina Glancy 9e41209bba Merge branch 'MDL-45629_master' of git://github.com/markn86/moodle 2014-05-26 11:58:50 +08:00
Marina Glancy 0251be5bcc Merge branch 'MDL-44014-master' of git://github.com/andrewnicols/moodle 2014-05-26 11:58:43 +08:00
Ankit Agarwal 963402c2ba MDL-33763 notes: Fix issue with incorrect node highlighting in the nav tree 2014-05-26 10:40:10 +08:00
Mark Nelson 476999c722 MDL-45675 mod_data: initialise options as an empty array to avoid error when there are none 2014-05-25 19:28:07 -07:00
Sam Hemelryk c2182d24a4 Merge branch 'MDL-45650_master' of https://github.com/markn86/moodle 2014-05-26 13:59:08 +12:00
Sam Hemelryk 1912b5aa92 Merge branch 'MDL-45192_master' of git://github.com/dmonllao/moodle 2014-05-26 13:23:02 +12:00
Sam Hemelryk 36c95fe075 Merge branch 'MDL-45660' of git://github.com/timhunt/moodle 2014-05-26 11:52:32 +12:00
Sam Hemelryk 837ab70b85 Merge branch 'MDL-45686' of git://github.com/jmvedrine/moodle 2014-05-26 10:55:11 +12:00
Sam Hemelryk 3b31276bc8 Merge branch 'MDL-45635-master' of git://github.com/andrewnicols/moodle 2014-05-26 10:36:11 +12:00
Sam Hemelryk bba9c3bcf8 Merge branch 'master_MDL-45623' of git://github.com/totara/moodle 2014-05-26 09:58:48 +12:00
Sam Hemelryk bde2e4c599 Merge branch 'MDL-45607_master' of https://github.com/markn86/moodle 2014-05-26 09:53:41 +12:00
Sam Hemelryk c5eef789b9 Merge branch 'MDL-42526-master' of git://github.com/jamiepratt/moodle 2014-05-26 09:02:39 +12:00
Sam Hemelryk b8b47a15da MDL-45499 admin: fixed error when displaying page settings 2014-05-26 09:01:16 +12:00
Sam Hemelryk 953eb35c84 Merge branch 'MDL-45654-master' of https://github.com/rtcn2/moodle 2014-05-26 08:58:03 +12:00
Jean-Michel Vedrine 8974442b72 MDL-45686 qtype_multichoice get_num_selected_choices return wrong result 2014-05-25 09:11:33 +02:00
Marina Glancy 3e6adca945 MDL-45688 added missing library requirement 2014-05-24 18:33:00 +08:00
Rajesh Taneja 66d212fef0 MDL-45565 core_message: Added unit tests. 2014-05-23 16:46:58 +08:00
Andrew Nicols 0d1d542332 MDL-45635 javascript: Make core dialogue translatable 2014-05-23 16:01:48 +08:00
Mark Nelson f5928e7893 MDL-45677 mod_assign: removed treatment of an array as an object 2014-05-22 22:16:57 -07:00
Mark Nelson 1f386b13c7 MDL-45676 mod_data: added missing additional name fields 2014-05-22 21:59:52 -07:00
Rajesh Taneja 25bd63b713 MDL-45565 core_message: Fixed strangers array
Strangers get mixed with noreply user and support user,
if  noreply/support users real user.
To avoid duplication use userid as array index. Also,
avoid fetching data again for noreply and support users,
if they are real users, then data is already feteched.
2014-05-23 11:56:38 +08:00
AMOS bot 363f258e8d Automatically generated installer lang files 2014-05-23 00:52:40 +00:00
Tim Hunt 8b431dca97 MDL-45660 question statistics: make comparison more robust. 2014-05-22 17:30:34 +01:00
Eloy Lafuente (stronk7) 3e511ca50b weekly on-sync release 2.8dev 2014-05-22 17:03:23 +02:00
Eloy Lafuente (stronk7) 9ba9ea30a2 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-05-22 17:03:19 +02:00
Mark Nielsen 041d22ea09 MDL-44014 Navigation: Set the correct context when retrieved via AJAX 2014-05-22 15:04:33 +08:00
James Pratt fdb6811224 MDL-42526 mod_assignment : fix record insert with assigment.id 0 2014-05-22 12:10:07 +07:00
Marina Glancy 4b7af5040d Merge branch 'MDL-45239-master-3' of git://github.com/andrewnicols/moodle 2014-05-22 12:59:56 +08:00
Andrew Nicols b791ee3d89 MDL-34737 Course: Modchooser should use coursebase to determine the section class 2014-05-22 12:30:32 +08:00
Andrew Nicols 39de876c04 MDL-45625 mod_forum: Deprecate many old forum functions
This also moves these to their own file to help manage the deprecation process.
2014-05-22 12:23:49 +08:00
Andrew Nicols 2c549f7802 MDL-45239 editor_atto: On Android do not restore focus in the callbackWrapper
It seems that Android automatically focuses the cursor in the last position
when the content editable region is programatically re-focused.

Whilst this does not cause an issue on it's own, when combined with the
behaviour of the dictionary auto-completion to restore focus on the start
of the word when a word has not yet been finished, this was causing us to
change focus when pressing buttons.
2014-05-22 12:19:43 +08:00
Andrew Nicols ae14a50114 MDL-45536 atto_html: Update the textarea size when switching to HTML view 2014-05-22 11:20:35 +08:00
Mark Nelson 81512b9856 MDL-45658 events: included enrolment method in the user_enrolment_deleted/updated event descriptions 2014-05-21 20:00:48 -07:00
AMOS bot bdc5ab9dc1 Automatically generated installer lang files 2014-05-22 01:07:56 +00:00
Mark Nielsen e9033d11e1 MDL-44902: Update admin settings support for ltisource plugins 2014-05-21 11:10:08 -07:00
Mark Nielsen d3496e3ff6 MDL-44902: Remove custom LTI hook API 2014-05-21 11:05:45 -07:00
Mark Nielsen b28b8953d5 MDL-44902: Removing LTI submission.js
This was used in grade.php which has
been deprecated.
2014-05-21 11:03:43 -07:00
Mark Nielsen 26ad0f1e0d MDL-44902: Removing LTI styles for submission.php
This file no longer exists.
2014-05-21 11:02:55 -07:00
Rod Norfor 75b70ab6cd MDL-45654 cron: fix non-empty directories deletion
Remove errors when attempting to delete non-empty directories when
child directories do not get removed since the mtime was updated when
files were removed from the child directory.
2014-05-21 17:15:30 +01:00
Sam Hemelryk 37d39fe348 MDL-44711 course: fixed navigation expansion in course tests 2014-05-21 20:58:16 +12:00
Mark Nelson 82d0e3749d MDL-45650 events: ensure correct objectid passed when triggering user_profile_viewed event 2014-05-21 00:25:17 -07:00
Marina Glancy 65ae0a1bde MDL-45469 profile: make sure profile fields can be initialised without arguments 2014-05-21 11:40:43 +08:00
Dan Poltawski 627a4619f5 Merge branch 'wip-MDL-45371-master' of git://github.com/marinaglancy/moodle 2014-05-21 10:03:05 +08:00
Sam Chaffee 435c709c84 MDL-45645 mod_lti Add custom LTI request parameter ext_user_username 2014-05-20 15:34:21 -06:00
Marina Glancy f06daff29d MDL-45320 behat: change to block selector 2014-05-20 20:43:37 +08:00
Marina Glancy deeaed4332 MDL-45320 block_html: behat tests 2014-05-20 20:43:37 +08:00
Marina Glancy 3ee51425c7 MDL-45320 behat: Step definitions for blocks 2014-05-20 20:43:36 +08:00
David Monllao 28c86221ac MDL-45294 behat: Updating block references to aria label value
Also improving moodle selectors xpath expressions
readability.
2014-05-20 20:43:36 +08:00
David Monllao 02a61c6461 MDL-45294 behat: Supporting an aria-label as a block ref 2014-05-20 20:43:36 +08:00
Dan Poltawski be38640dfa Merge branch '44711-28-r2' of git://github.com/samhemelryk/moodle 2014-05-20 20:32:14 +08:00
Sam Hemelryk 487e68b432 MDL-44711 block_navigation: fixed typo in behat tests 2014-05-20 23:39:29 +12:00
Damyon Wiese 84f08cfa9d MDL-45606 Unit test fix for MySQL and added a comment about the removed code. 2014-05-20 18:01:32 +08:00
Dan Poltawski 2eb4176242 Merge branch 'MDL-45496-m' of https://github.com/micaherne/moodle 2014-05-20 15:54:25 +08:00
Frederic Massart a71ece3757 MDL-45563 message: Inverting IDs in description of event message_viewed 2014-05-20 15:51:07 +08:00
Damyon Wiese 4e8a350c35 Merge branch 'MDL-45618' of git://github.com/timhunt/moodle 2014-05-20 14:59:48 +08:00
Mark Nelson 9d4b3d42fc MDL-45629 mod_assign: removed use of '$this->objectid' in the submission_status_viewed event 2014-05-19 23:51:09 -07:00
Marina Glancy 78ee646dd9 Merge branch 'MDL-45525-27' of git://github.com/jethac/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-05-20 14:28:36 +08:00
Marina Glancy 143eef0e37 Merge branch 'MDL-45536-master' of git://github.com/andrewnicols/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-05-20 14:25:10 +08:00
Marina Glancy fdece45b06 Merge branch 'wip-MDL-45512-master' of git://github.com/abgreeve/moodle 2014-05-20 14:21:56 +08:00
Marina Glancy 4cc89d51eb Merge branch 'MDL-43669-m' of git://github.com/micaherne/moodle 2014-05-20 14:12:38 +08:00
Marina Glancy 4d46c88b9f Merge branch 'MDL-44333' of git://github.com/timhunt/moodle 2014-05-20 14:10:03 +08:00
Dan Poltawski 287a42e49a Merge branch 'MDL-45571_master' of https://github.com/markn86/moodle 2014-05-20 14:06:42 +08:00
Damyon Wiese 702c08cbee Merge branch 'master_MDL-45583' of github.com:danmarsden/moodle 2014-05-20 13:31:06 +08:00
Damyon Wiese 5dc3d0ca2b Merge branch 'MDL-45323-master' of git://github.com/lameze/moodle 2014-05-20 13:27:48 +08:00
Dan Poltawski 959599a929 Merge branch 'MDL-45501-master' of git://github.com/ankitagarwal/moodle 2014-05-20 13:23:35 +08:00
Frederic Massart 2236a5655b MDL-45566 message: Send blocking events when user is not in contact list 2014-05-20 13:17:58 +08:00
Damyon Wiese c186e87ab7 Merge branch 'MDL-45476-master' of git://github.com/phalacee/moodle 2014-05-20 13:06:09 +08:00
Andrew Nicols 2789afa842 MDL-45627 mod_fourm: Move subscriber classes to separate class files 2014-05-20 13:03:02 +08:00
Andrew Nicols 6add5fb752 MDL-41313 mod_forum: Remove deprecated post_form.php 2014-05-20 12:41:11 +08:00
Frederic Massart 93f05f049d MDL-45545 csslib: Chunking handles commas in media query definitions 2014-05-20 12:21:45 +08:00
Marina Glancy 497974f3e8 MDL-45469 Move profile tests to the location recognised by phpunit 2014-05-20 11:58:35 +08:00
Dan Poltawski c51ad7cbe2 Merge branch 'wip-MDL-45466-master' of git://github.com/marinaglancy/moodle 2014-05-20 11:51:53 +08:00
Sam Hemelryk 46921d74a6 Merge branch 'MDL-44323-master' of git://github.com/danpoltawski/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-05-20 15:42:32 +12:00
Dan Poltawski c3c424a05c MDL-44027 groups: remove some junk html 2014-05-20 15:40:37 +12:00
Dan Poltawski 3bd9c97774 Merge branch 'MDL-45605-master' of git://github.com/damyon/moodle 2014-05-20 10:51:16 +08:00
Frederic Massart 885650c70c MDL-45546 mod_forum: Login the user before getting its context 2014-05-20 10:25:07 +08:00
Dan Poltawski 06a689b761 Merge branch '44711-28' of git://github.com/samhemelryk/moodle 2014-05-20 10:15:11 +08:00
Sam Hemelryk 37fddc545c Merge branch 'MDL-45603-master' of https://github.com/merrill-oakland/moodle 2014-05-20 13:59:23 +12:00
Marina Glancy f0085cd6ab Merge branch 'MDL-45469-master' of git://github.com/sammarshallou/moodle 2014-05-20 09:52:25 +08:00
Dan Poltawski 0c722830d9 Merge branch 'MDL-44449' of git://github.com/timhunt/moodle 2014-05-20 09:50:43 +08:00
Dan Poltawski 93b9ded2de Merge branch 'MDL-45550-master' of https://github.com/sammarshallou/moodle 2014-05-20 09:30:19 +08:00
Sam Hemelryk 7be0b69893 Merge branch 'MDL-45479-master' of git://github.com/andrewnicols/moodle 2014-05-20 13:09:34 +12:00
Damyon Wiese cf229a526c Merge branch '44974-28' of git://github.com/samhemelryk/moodle 2014-05-20 08:49:56 +08:00
Sam Hemelryk 00a8c0d956 Merge branch 'MDL-45543-master' of git://github.com/ankitagarwal/moodle 2014-05-20 12:07:12 +12:00
Sam Hemelryk 4dc5c77f33 Merge branch 'MDL-45477-master' of https://github.com/sammarshallou/moodle 2014-05-20 11:58:12 +12:00
Sam Hemelryk a3abb19716 Merge branch 'MDL-45535-master' of https://github.com/sammarshallou/moodle 2014-05-20 11:55:35 +12:00
Sam Hemelryk 58a3ed7df3 Merge branch 'MDL-44953-master' of git://github.com/FMCorz/moodle 2014-05-20 11:43:13 +12:00
Frederic Massart e722133aee MDL-45474 atto_undo: Remove notice when undo stack is empty 2014-05-20 10:47:32 +12:00
Sam Hemelryk 08480b7a0f Merge branch 'MDL-37838-master' of git://github.com/danpoltawski/moodle 2014-05-20 10:42:09 +12:00
Simon Coggins 9811cb650c MDL-45623: Fix assigned users count on role delete confirmation page 2014-05-20 10:01:00 +12:00
Sam Hemelryk d57e3f8201 Merge branch 'MDL-45380-master' of git://github.com/FMCorz/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2014-05-20 08:52:54 +12:00
Sam Hemelryk adb5d8a5d6 Merge branch 'MDL-45135-master' of git://github.com/danpoltawski/moodle 2014-05-20 08:47:16 +12:00
Tim Hunt 5bcfd504df MDL-45618 Fix @since PHPdoc tags. 2014-05-19 17:03:04 +01:00
Tim Hunt 35cbe84bf7 MDL-44449 quiz access rules should have a delete hook.
So they can clean up their settings when the quiz is deleted.

See
https://github.com/moodleou/moodle-quizaccess_honestycheck/commit/babf149c2cc6dd734c272cd332b2032cc19db7d8
for an example of using this.
2014-05-19 16:59:04 +01:00
Damyon Wiese 495243f35c Merge branch 'MDL-45130-master' of git://github.com/FMCorz/moodle 2014-05-19 21:20:10 +08:00
Damyon Wiese e9e12c97fe Merge branch 'MDL-45472-master' of git://github.com/andrewnicols/moodle 2014-05-19 20:52:19 +08:00
Damyon Wiese e1a83b8327 Merge branch 'MDL-45447-master' of git://github.com/FMCorz/moodle 2014-05-19 20:18:59 +08:00
Damyon Wiese cc3dfc2c5f Merge branch 'MDL-43833' of git://github.com/timhunt/moodle 2014-05-19 20:11:50 +08:00
Damyon Wiese 2b3a371239 Merge branch 'MDL-45527-27' of git://github.com/FMCorz/moodle 2014-05-19 20:04:50 +08:00
Damyon Wiese 0cce8af367 Merge branch 'MDL-45455' of git://github.com/timhunt/moodle 2014-05-19 19:54:42 +08:00
Dan Poltawski c1e3f99249 Merge branch 'MDL-45432-master' of https://github.com/lucisgit/moodle 2014-05-19 18:43:15 +08:00
sam marshall abdbfc76fc MDL-45469 Conditional availability: Restrict by text area broken
It has never worked, because the data for text area fields is not
loaded into the $USER object.

Changing it so that the dropdown list does not include these types
of field.
2014-05-19 11:37:51 +01:00
Marina Glancy f50bf62da6 Merge branch 'MDL-45478-master' of git://github.com/sammarshallou/moodle 2014-05-19 17:29:27 +08:00
Michael Aherne 8561492010 MDL-43669 messaging Enable sending email only from no-reply address 2014-05-19 09:24:26 +01:00
Andrew Nicols 1ce043614f MDL-45239 editor_atto: The editor cannot be active if it is not the active element
FireFox thinks that you can have an active selection on an element which
currently does not have focus. How this can be the case is a mystery.

Conflicts:
	lib/editor/atto/yui/build/moodle-editor_atto-editor/moodle-editor_atto-editor-min.js
2014-05-19 16:15:09 +08:00
Andrew Nicols 17f253faeb MDL-45468 editor_atto: Check that the common ancestor is within the editor
Conflicts:
	lib/editor/atto/yui/build/moodle-editor_atto-editor/moodle-editor_atto-editor-min.js
2014-05-19 16:14:03 +08:00
Marina Glancy cca6e78d87 MDL-45371 behat: Tests for block glossary_random 2014-05-19 15:18:04 +08:00
Dan Poltawski 18b12e7b60 Merge branch 'MDL-41109-master' of git://github.com/andrewnicols/moodle 2014-05-19 15:07:36 +08:00
Dan Poltawski 457bc31715 Merge branch 'wip-MDL-34914-master' of git://github.com/marinaglancy/moodle 2014-05-19 14:58:49 +08:00
Marina Glancy 69d570c130 MDL-45466 forum: performance improvement for mass (un)subscriptions 2014-05-19 13:37:05 +08:00
Damyon Wiese 9febfdc56d MDL-32543 upgrade: Increment the version bump
Conflicts:
	version.php
2014-05-19 13:03:27 +08:00
Damyon Wiese fc6b66c913 Merge branch 'MDL-32543' of https://github.com/danielneis/moodle
Conflicts:
	version.php
2014-05-19 13:02:48 +08:00
Damyon Wiese 50f0658804 Merge branch 'MDL-23566' of https://github.com/aolley/moodle 2014-05-19 12:45:21 +08:00
Frederic Massart 2507b7e060 MDL-45537 mod_assign: Requiring locallib for class assign 2014-05-19 12:40:17 +08:00
Marina Glancy 1de6c62dc7 Merge branch 'wip-MDL-45483-master' of https://github.com/kwiliarty/moodle 2014-05-19 12:37:10 +08:00
Damyon Wiese b3eea60ecb Merge branch 'MDL-45533-27' of git://github.com/FMCorz/moodle 2014-05-19 12:25:56 +08:00
Damyon Wiese 634c982104 Merge branch 'MDL-44634-master' of https://github.com/dbezborodovrp/moodle 2014-05-19 12:08:24 +08:00
Mark Nelson 99627fb3d1 MDL-45607 events: changed the context passed to the user_profile_viewed event 2014-05-18 20:54:13 -07:00
Damyon Wiese 726b011050 MDL-45605 Phpunit: Do not call gc_collect_cycles as part of reset.
This takes 25% of the time in running tests and there is no benefit. The
behaviour of destructors is the same before/after the patch.
2014-05-19 10:37:16 +08:00
Sam Hemelryk da4887a2d9 Merge branch 'MDL-45561-master' of git://github.com/jethac/moodle 2014-05-19 13:37:12 +12:00
Sam Hemelryk 12890c57f2 MDL-44974 admin: repositioned call to initialise renderer 2014-05-19 08:41:29 +12:00
Sam Hemelryk 817d39b8aa MDL-44711 navigation: better handling of course expansion exception 2014-05-19 08:41:14 +12:00
Eric Merrill e39099ac36 MDL-45603 cache Fix the mappingsonly option to work as advertised. 2014-05-17 23:48:33 -04:00
Tim Hunt 1c65d09f17 MDL-44333 quiz reports: use consitent name for user pref
The Marks for each question setting was not being saved properly as a
user preference.
2014-05-17 14:52:43 +01:00
Marina Glancy 88de944a21 MDL-34914 cohorts: more understandable filter of user list by cohort 2014-05-16 17:09:07 +08:00
Andrew Nicols cc8bd704ae MDL-41708 mod_forum: Show attachments in lexical order
This matches the order in which they're shown in the file manager.
2014-05-16 16:17:48 +08:00
Andrew Nicols 679af35722 MDL-41109 dndupload: Add missing error string 2014-05-16 13:45:30 +08:00
Andrew Nicols 531c263a86 MDL-45536 theme: Use width auto for inputs and textareas specifying them 2014-05-16 12:09:40 +08:00
Mark Nelson 10dbb4bae0 MDL-45571 events: included enrolment method in the 'user_enrolment_created' event description 2014-05-15 14:48:26 -07:00
Tim Hunt 6f988b712d MDL-45455 quiz cron must rollback transaction on error. 2014-05-15 15:09:58 +01:00
Tim Hunt 69d8094f83 MDL-43833 quiz reports: persist states settings between pages. 2014-05-15 15:09:12 +01:00
Jetha Chan 1e0b920cba MDL-45561 themes: horizontal scroll in RTL base 2014-05-15 15:50:26 +08:00
Damyon Wiese a929fd50f9 weekly on-sync release 2.8dev 2014-05-15 15:29:23 +08:00
Damyon Wiese ccce0d49e2 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2014-05-15 15:29:20 +08:00
Simey Lameze 1468444f42 MDL-45323 grade: Unit test for grade_get_grade_items_for_activity() 2014-05-15 15:00:56 +08:00
Simey Lameze 3a34659252 MDL-45323 grade: Fix query errors on grade_get_grade_for_activity method. 2014-05-15 15:00:03 +08:00
Ankit Agarwal 9d59d9e39e MDL-45501 availability: Add uninstall support for conditional plugins 2014-05-15 14:04:52 +08:00
Damyon Wiese 2ffff04be7 MDL-41383 Filepicker: whitespace fix 2014-05-15 13:32:13 +08:00
Jetha Chan 05bb4d1320 MDL-41383: RTL fix for base when zoomed out 2014-05-15 13:28:26 +08:00
Dan Poltawski 376a17e4ae MDL-44323 admin: use correct css class for warning
The notifyproblem notification is consistent with the rest of
the warnings we report.
2014-05-15 12:00:11 +08:00
Frederic Massart 9389ff572b MDL-45533 editor_atto: Default paragraph is removed from empty Atto 2014-05-15 11:10:54 +08:00
Andrew Nicols f366221309 MDL-45479 atto_image: Improve the preview area
This changes the preview area:
* to show the image at the requested size; and
* to fix the scaling issues.
2014-05-15 10:36:41 +08:00
Damien Bezborodov 5d49b2b21d MDL-44634 Regression: link to user profile in comments block fails due to double URI encoding 2014-05-15 11:39:24 +09:30
Damien Bezborodov a9af43be51 MDL-44634 Regression: link to user profile in comments block fails due to double URI encoding 2014-05-15 10:48:50 +09:30
sam marshall fbe79e4937 MDL-45535 CSS chunking breaks media rules if CSS invalid (IE)
Invalid CSS with extra } symbols, which previously (by fluke)
worked, was broken by recent chunking improvements. This change
makes the chunking code robust against this (stupid) situation.
2014-05-14 12:08:27 +01:00
sam marshall 3f8527aa1e MDL-45550 Conditional availability: Missing lang string for save settings error 2014-05-14 11:47:53 +01:00
sam marshall 2164bd723a MDL-45477 Behat: List of steps takes too long to load, times out
Increase time limit to 300 seconds (5 minutes).
2014-05-14 11:06:51 +01:00
Marina Glancy 363c49f4c8 Merge branch 'MDL-36670' of git://github.com/jleyva/moodle 2014-05-14 16:34:52 +08:00
Ankit Agarwal 5cad8d353d MDL-45543 availability: Use correct namespace for global classes 2014-05-14 15:31:08 +08:00
Damyon Wiese 9bced5c0e2 Merge branch 'MDL-41383-master-basefix' of https://github.com/jethac/moodle 2014-05-14 15:04:20 +08:00
Jetha Chan 92061d3890 MDL-41383 theme: filepicker zoom resiliency (base)
Fixed an issue that broke the file picker on base when initial zoom level is less than 100%.
2014-05-14 14:46:20 +08:00
Juan Leyva a4496bdde9 MDL-36670 logging: action parameter length restricted to 40 chars 2014-05-13 16:05:39 +02:00
David Monllao b28b374f2e MDL-45192 behat: Replacing specific-selector steps by a generic one
Having a I click on we can use all our selectors rather
than having multiple steps for the same purpose. This
step allow us to manage JS native dialogues without
having to fail a scenario.

Credit for Mohamed Alsharaf.
2014-05-13 20:21:49 +07:00
Mohamed Alsharaf bcad873102 MDL-45192 assign: added behat script & new definitions to handle alert dialog
The behat script is to test the batch action to lock and unlock submissions.
The new definitions are to prevent the "unexpected alert open" error in Selenium.
2014-05-13 20:10:53 +07:00
David Monllao ee9f6db7a2 MDL-44620 behat: Automate MDLQA-7
- MDLQA-7: By default, a new course contains a Latest
News block which displays a specific number of recent
discussions from the news forum
2014-05-13 17:25:26 +07:00
David Monllao d46979ec3a MDL-44620 behat: Automates MDLQA-6
- MDLQA-6: By default, a new course contains a news
forum in which only teachers can post and subscription
is forced
2014-05-13 17:24:33 +07:00
Frederic Massart da6b4b9bf9 MDL-45527 task: Already deleted unconfirmed users are ignored 2014-05-13 17:11:18 +08:00
Damyon Wiese 4c77165ed6 Merge branch 'MDL-41383-27' of git://github.com/jethac/moodle 2014-05-13 16:00:10 +08:00
Albert Gasset 1c1647af59 MDL-35514 mod_forum: Fixed warning message to students in forums with groups 2014-05-13 00:24:32 -07:00
Eric Merrill 81d48fb907 MDL-45523 quiz Cleanup duplicate question instances. 2014-05-13 14:47:12 +08:00
Eric Merrill 6794a98f6c MDL-45522 quiz Check that sumgrade is valid before saving. 2014-05-13 14:35:43 +08:00
Jetha Chan 8bb2d47619 MDL-45525 themes: minor forum improvements
Fixed an RTL style that wasn't kicking in properly.
2014-05-13 14:31:44 +08:00
Adrian Greeve 6f1b3e9f38 MDL-45512 comments: Added full date to comment details. 2014-05-13 10:38:58 +08:00
Jason Fowler 1d20cf37cb MDL-45476 Quiz: Fixing atto on multiple choice pages 2014-05-13 08:06:04 +08:00
Daniel Neis Araujo d277c441da MDL-32543 Make sure the action and url fields of log table have correct sizes 2014-05-12 12:05:25 -03:00
Dan Poltawski 11a325c673 MDL-37838 block_courseoverview: fix pluaralisation logic
Note that this kind of handling of plurals is extremely limited, see:

https://moodle.org/mod/forum/discuss.php?d=85897
http://search.cpan.org/~petdance/Locale-Maketext-1.12/lib/Locale/Maketext/TPJ13.pod

However, this is a simple fix to the existing logic
2014-05-12 17:42:14 +08:00
Jetha Chan b993411de1 MDL-41383 theme: filepicker zoom resiliency
Fixed an issue that broke the file picker on bootstrapbase when zooming in and out.
2014-05-12 17:16:58 +08:00
Dan Poltawski d3934a4ffe MDL-45135 mod_glossary: fix RTL alignment of table
Tablelib has a specific 'hook' to allow alignment to be corrected for
RTL languages, but needs to be specified direction in lowercase.
2014-05-12 17:08:06 +08:00
Damyon Wiese 281e37eb0e Merge branch 'MDL-45502' of git://github.com/stronk7/moodle 2014-05-12 17:00:08 +08:00
Frederic Massart c32290337b MDL-44953 theme_more: Removing odd-looking text-shadow 2014-05-12 16:51:14 +08:00
Marina Glancy 912a0fd050 Merge branch 'wip-mdl-45514' of git://github.com/rajeshtaneja/moodle 2014-05-12 16:24:31 +08:00
Frederic Massart 4d2b346997 MDL-45130 editor_atto: Remove debugging messages for missing plugins
This is no longer required as the toolbar configuration prevents
missing plugins from being set. However, even if we do not output
any notice, we ignore missing plugins to prevent errors in case
one was uninstalled but left in the editor toolbar.
2014-05-12 16:08:14 +08:00
Frederic Massart 2c47e5005b MDL-45380 theme_bootstrapbase: Restore config override highlight 2014-05-12 15:42:17 +08:00
Andrew Nicols 72704adf03 MDL-44486 core: Rewrite JavaScript progressbar 2014-05-12 15:29:47 +08:00
Rajesh Taneja 20503d1572 MDL-45514 behat: Fixed should_not_exist timout param 2014-05-12 14:12:10 +08:00
AMOS bot 010114963b Automatically generated installer lang files 2014-05-12 00:39:42 +00:00
Eloy Lafuente (stronk7) e443e016b2 MDL-45502 Bump release to 2.8 dev branch 2014-05-11 03:44:22 +02:00
AMOS bot a7b1d935cf Automatically generated installer lang files 2014-05-11 00:47:33 +00:00
Eloy Lafuente (stronk7) 730d717183 weekly back-to-dev release 2.8dev 2014-05-11 00:16:23 +02:00
Michael Aherne 8bf91fb893 MDL-45496 core Added space to logged in as line 2014-05-09 16:30:05 +01:00
Kevin Wiliarty 7a98bbab51 MDL-45483 mod_forum: corrects values for maxattachments in forum settings 2014-05-09 00:52:42 -04:00
sam marshall 4133822ea5 MDL-45478 Conditional availability: Custom user restriction missing
There was an error in the JavaScript and custom user field
restrictions did not show correctly when editing the form.

Behat tests didn't cover custom user fields, so I added a
scenario.
2014-05-08 11:57:57 +01:00
Andrew Nicols 83e8f495f2 MDL-45472 AJAX: Whitelist prototype values form JS Error in exception dialogue 2014-05-08 16:44:11 +08:00
Tony Butler b887c262bc MDL-45432 mod_assign Declare character encoding in onlinetext export
Signed-off-by: Tony Butler <tonyjbutler@gmail.com>
2014-05-07 13:07:04 +01:00
Frederic Massart ba4e81d249 MDL-45447 editor_atto: Highlight collapse and html icons when toggled 2014-05-07 17:44:06 +08:00
Adam Olley c3af87ac64 MDL-23566 mod_lesson: Float answers so paragraphs line up correctly next to the inputs 2014-05-07 15:44:36 +09:30
Mark Nielsen 2f44cd1802 MDL-44902: Bumping mod/lti version number
This bump is to update the site with changes
to the db/access.php file.
2014-05-01 11:56:06 -07:00
Mark Nielsen 85fc655667 MDL-44902: Deprecating mod/lti/grade.php 2014-05-01 11:56:06 -07:00
Mark Nielsen 8fa50fdd34 MDL-44902: Several additions to External Tool (LTI)
* LTI service related changes:
** Fixing exceptions in OAuth library.
** Added new launch option, Existing window: replaces entire page with the LTI object.
** The LTI tool ID used to perform the launch is now sent with the LTI launch parameters.  This is sent back to Moodle on subsequent requests.
** Added $CFG->mod_lti_forcessl to force SSL on all LTI launches.
** Added new LTI launch parameter: tool_consumer_instance_name.  Default value is site full name, but can be customized with $CFG->mod_lti_institution_name.
** The LTI grade service endpoints now set the affected user to the session.  This was required for event listeners.
** Fix the grade deletion service.  Was deleting the grade item instead of just the grade.
** Send error response when LTI instance does not accept grades and grades are being sent.
** Added a method for writing incoming LTI requests to disk for debugging.  Disabled by default.
* Changes for ltisource plugins:
** Can now to plug into backup/restore.
** Can now have settings.php files.
** Can now hook into the LTI launch and edit parameters.
* Several grade changes:
** Added standard_grading_coursemodule_elements to LTI instance edit form.  This means LTI instances can be configured with a grade.
** No longer assumes that grade is out of 100.
** Replaced modl/lti:grade capability with mod/lti:view.
* JS on mod/lti/view.php for resizing the content object has been converted to YUI3.
* Fixed misspellings in language file.
* Added hooks for log post and view actions.
* Bug fix for lti_get_url_thumbprint() when the URL is missing a schema.
2014-05-01 11:56:05 -07:00
Simon Coggins e205a159e3 MDL-45212 scorm: Disable sorting on unsortable columns in SCORM reports 2014-04-22 14:11:52 +12:00
David Scotson fbfc7d252c MDL-40343 forum: indent less when mobile, nested
Changes the indenting of forum replies to be relative to the width of
the parent container, so the indent decreases as threads get nested
deeper. Also reduces the indent size automatically for smaller screen
sizes.
2014-02-04 16:34:49 +00:00
5229 changed files with 374830 additions and 117997 deletions
+3
View File
@@ -0,0 +1,3 @@
--errors=errors,duplicate-properties
--warnings=known-properties,display-property-grouping,empty-rules,important
--exclude-list=vendor/,lib/editor/tinymce/,lib/yuilib/,theme/bootstrapbase/style/
+1
View File
@@ -35,3 +35,4 @@ composer.lock
/lib/yuilib/*/build/*/*-coverage.js
# lib/yuilib/version/module/module-coverage.js
/lib/yuilib/*/*/*-coverage.js
atlassian-ide-plugin.xml
+4 -4
View File
@@ -142,14 +142,14 @@ function print_auth_lock_options($auth, $user_fields, $helptext, $retrieveopts,
$fieldname = $field;
if ($fieldname === 'lang') {
$fieldname = get_string('language');
} elseif (preg_match('/^(.+?)(\d+)$/', $fieldname, $matches)) {
$fieldname = get_string($matches[1]) . ' ' . $matches[2];
} elseif ($fieldname == 'url') {
$fieldname = get_string('webpage');
} elseif (!empty($customfields) && in_array($field, $customfields)) {
// If custom field then pick name from database.
$fieldshortname = str_replace('profile_field_', '', $fieldname);
$fieldname = $customfieldname[$fieldshortname]->name;
} elseif (preg_match('/^(.+?)(\d+)$/', $fieldname, $matches)) {
$fieldname = get_string($matches[1]) . ' ' . $matches[2];
} elseif ($fieldname == 'url') {
$fieldname = get_string('webpage');
} else {
$fieldname = get_string($fieldname);
}
+19 -20
View File
@@ -17,7 +17,7 @@
/**
* This file is used to display a categories sub categories, external pages, and settings.
*
* @since 2.3
* @since Moodle 2.3
* @package admin
* @copyright 2011 Sam Hemelryk
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
@@ -97,27 +97,26 @@ foreach ($settingspage->children as $childpage) {
$outputhtml .= $OUTPUT->heading(html_writer::link($childpage->url, $childpage->visiblename), 3);
} else if ($childpage instanceof admin_settingpage) {
$outputhtml .= $OUTPUT->heading(html_writer::link(new moodle_url('/'.$CFG->admin.'/settings.php', array('section' => $childpage->name)), $childpage->visiblename), 3);
// If its a settings page and has settings lets display them.
if (!empty($childpage->settings)) {
$outputhtml .= html_writer::start_tag('fieldset', array('class' => 'adminsettings'));
foreach ($childpage->settings as $setting) {
if (empty($setting->nosave)) {
$savebutton = true;
}
$fullname = $setting->get_full_name();
if (array_key_exists($fullname, $adminroot->errors)) {
$data = $adminroot->errors[$fullname]->data;
} else {
$data = $setting->get_setting();
}
$outputhtml .= html_writer::tag('div', '<!-- -->', array('class' => 'clearer'));
$outputhtml .= $setting->output_html($data);
}
$outputhtml .= html_writer::end_tag('fieldset');
}
} else if ($childpage instanceof admin_category) {
$outputhtml .= $OUTPUT->heading(html_writer::link(new moodle_url('/'.$CFG->admin.'/category.php', array('category' => $childpage->name)), get_string('admincategory', 'admin', $childpage->visiblename)), 3);
} else {
continue;
}
if (!empty($childpage->settings)) {
$outputhtml .= html_writer::start_tag('fieldset', array('class' => 'adminsettings'));
foreach ($childpage->settings as $setting) {
if (empty($setting->nosave)) {
$savebutton = true;
}
$fullname = $setting->get_full_name();
if (array_key_exists($fullname, $adminroot->errors)) {
$data = $adminroot->errors[$fullname]->data;
} else {
$data = $setting->get_setting();
}
$outputhtml .= html_writer::tag('div', '<!-- -->', array('class' => 'clearer'));
$outputhtml .= $setting->output_html($data);
}
$outputhtml .= html_writer::end_tag('fieldset');
}
}
if ($savebutton) {
+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/>.
/**
* Validate that the current db structure matches the install.xml files.
*
* @package core
* @copyright 2014 Totara Learning Solutions Ltd {@link http://www.totaralms.com/}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Petr Skoda <petr.skoda@totaralms.com>
*/
define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir.'/clilib.php');
$help = "Validate database structure
Options:
-h, --help Print out this help.
Example:
\$ sudo -u www-data /usr/bin/php admin/cli/check_database_schema.php
";
list($options, $unrecognized) = cli_get_params(
array(
'help' => false,
),
array(
'h' => 'help',
)
);
if ($options['help']) {
echo $help;
exit(0);
}
if (empty($CFG->version)) {
echo "Database is not yet installed.\n";
exit(2);
}
$dbmanager = $DB->get_manager();
$schema = $dbmanager->get_install_xml_schema();
if (!$errors = $dbmanager->check_database_schema($schema)) {
echo "Database structure is ok.\n";
exit(0);
}
foreach ($errors as $table => $items) {
cli_separator();
echo "$table\n";
foreach ($items as $item) {
echo " * $item\n";
}
}
cli_separator();
exit(1);
+1 -9
View File
@@ -201,17 +201,9 @@ if (defined('COMPONENT_CLASSLOADER')) {
require($CFG->dirroot.'/version.php');
$CFG->target_release = $release;
$_SESSION = array();
$_SESSION['SESSION'] = new stdClass();
$_SESSION['SESSION']->lang = $CFG->lang;
$_SESSION['USER'] = new stdClass();
$_SESSION['USER']->id = 0;
$_SESSION['USER']->mnethostid = 1;
\core\session\manager::init_empty_session();
global $SESSION;
global $USER;
$SESSION = &$_SESSION['SESSION'];
$USER = &$_SESSION['USER'];
global $COURSE;
$COURSE = new stdClass();
+202
View File
@@ -0,0 +1,202 @@
<?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/>.
/**
* MySQL table row compression tool tool.
*
* @package core
* @copyright 2014 Totara Learning Solutions Ltd {@link http://www.totaralms.com/}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Petr Skoda <petr.skoda@totaralms.com>
*/
define('CLI_SCRIPT', true);
require(dirname(__FILE__).'/../../config.php');
require_once($CFG->libdir . '/clilib.php');
if ($DB->get_dbfamily() !== 'mysql') {
cli_error('This script is used for MySQL databases only.');
}
$engine = strtolower($DB->get_dbengine());
if ($engine !== 'innodb' and $engine !== 'xtradb') {
cli_error('This script is for MySQL servers using InnoDB or XtraDB engines only.');
}
list($options, $unrecognized) = cli_get_params(
array('help' => false, 'info' => false, 'list' => false, 'fix' => false, 'showsql' => false),
array('h' => 'help', 'i' => 'info', 'l' => 'list', 'f' => 'fix', 's' => 'showsql')
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
$help =
"Script for detection of row size problems in MySQL InnoDB tables.
By default InnoDB storage table is using legacy Antelope file format
which has major restriction on database row size.
Use this script to detect and fix database tables with potential data
overflow problems.
Options:
-i, --info Show database information
-l, --list List problematic tables
-f, --fix Attempt to fix all tables (requires SUPER privilege)
-s, --showsql Print SQL statements for fixing of tables
-h, --help Print out this help
Example:
\$ sudo -u www-data /usr/bin/php admin/cli/mysql_compressed_rows.php -l
";
/** @var mysql_sql_generator $generator */
$generator = $DB->get_manager()->generator;
$info = $DB->get_server_info();
$filepertable = $DB->get_record_sql("SHOW VARIABLES LIKE 'innodb_file_per_table'");
$filepertable = $filepertable ? $filepertable->value : '';
$fileformat = $DB->get_record_sql("SHOW VARIABLES LIKE 'innodb_file_format'");
$fileformat = $fileformat ? $fileformat->value : '';
$prefix = $DB->get_prefix();
$database = $CFG->dbname;
if (!empty($options['info'])) {
echo "Database version: " . $info['description'] . "\n";
echo "Database name: $database\n";
echo "Database engine: " . $DB->get_dbengine() . "\n";
echo "innodb_file_per_table: $filepertable\n";
echo "innodb_file_format: $fileformat\n";
exit(0);
} else if (!empty($options['list'])) {
$problem = false;
foreach ($DB->get_tables(false) as $table) {
$columns = $DB->get_columns($table, false);
$size = $generator->guess_antolope_row_size($columns);
$format = $DB->get_row_format($table);
if ($size <= $generator::ANTELOPE_MAX_ROW_SIZE) {
continue;
}
echo str_pad($prefix . $table, 32, ' ', STR_PAD_RIGHT);
echo str_pad($format, 11, ' ', STR_PAD_RIGHT);
if ($format === 'Compact' or $format === 'Redundant') {
$problem = true;
echo " (needs fixing)\n";
} else if ($format !== 'Compressed' and $format !== 'Dynamic') {
echo " (unknown)\n";
} else {
echo "\n";
}
}
if ($problem) {
exit(1);
}
exit(0);
} else if (!empty($options['fix'])) {
$fixtables = array();
foreach ($DB->get_tables(false) as $table) {
$columns = $DB->get_columns($table, false);
$size = $generator->guess_antolope_row_size($columns);
$format = $DB->get_row_format($table);
if ($size <= $generator::ANTELOPE_MAX_ROW_SIZE) {
continue;
}
if ($format === 'Compact' or $format === 'Redundant') {
$fixtables[$table] = $table;
}
}
if (!$fixtables) {
echo "No changes necessary\n";
exit(0);
}
if ($filepertable !== 'ON') {
try {
$DB->execute("SET GLOBAL innodb_file_per_table=1");
} catch (dml_exception $e) {
echo "Cannot enable GLOBAL innodb_file_per_table setting, use --showsql option and execute the statements manually.";
throw $e;
}
}
if ($fileformat !== 'Barracuda') {
try {
$DB->execute("SET GLOBAL innodb_file_format=Barracuda");
} catch (dml_exception $e) {
echo "Cannot change GLOBAL innodb_file_format setting, use --showsql option and execute the statements manually.";
throw $e;
}
}
if (!$DB->is_compressed_row_format_supported(false)) {
echo "MySQL server is not compatible with compressed row format.";
exit(1);
}
foreach ($fixtables as $table) {
$DB->change_database_structure("ALTER TABLE {$prefix}$table ROW_FORMAT=Compressed");
echo str_pad($prefix . $table, 32, ' ', STR_PAD_RIGHT) . " ... Compressed\n";
}
exit(0);
} else if (!empty($options['showsql'])) {
$fixtables = array();
foreach ($DB->get_tables(false) as $table) {
$columns = $DB->get_columns($table, false);
$size = $generator->guess_antolope_row_size($columns);
$format = $DB->get_row_format($table);
if ($size <= $generator::ANTELOPE_MAX_ROW_SIZE) {
continue;
}
if ($format === 'Compact' or $format === 'Redundant') {
$fixtables[$table] = $table;
}
}
if (!$fixtables) {
echo "No changes necessary\n";
exit(0);
}
echo "Copy the following SQL statements and execute them using account with SUPER privilege:\n\n";
echo "USE $database;\n";
echo "SET SESSION sql_mode=STRICT_ALL_TABLES;\n";
echo "SET GLOBAL innodb_file_per_table=1;\n";
echo "SET GLOBAL innodb_file_format=Barracuda;\n";
foreach ($fixtables as $table) {
echo "ALTER TABLE {$prefix}$table ROW_FORMAT=Compressed;\n";
}
echo "\n";
exit(0);
} else {
echo $help;
die;
}
+3 -3
View File
@@ -45,7 +45,7 @@ admin_externalpage_setup('environment', '', $extraurlparams);
// Handle the 'updatecomponent' action
if ($action == 'updatecomponent' && confirm_sesskey()) {
// Create component installer and execute it
if ($cd = new component_installer('http://download.moodle.org',
if ($cd = new component_installer('https://download.moodle.org',
'environment',
'environment.zip')) {
$status = $cd->install(); //returns COMPONENT_(ERROR | UPTODATE | INSTALLED)
@@ -53,7 +53,7 @@ if ($action == 'updatecomponent' && confirm_sesskey()) {
case COMPONENT_ERROR:
if ($cd->get_error() == 'remotedownloaderror') {
$a = new stdClass();
$a->url = 'http://download.moodle.org/environment/environment.zip';
$a->url = 'https://download.moodle.org/environment/environment.zip';
$a->dest = $CFG->dataroot . '/';
print_error($cd->get_error(), 'error', $PAGE->url, $a);
die();
@@ -102,7 +102,7 @@ if ($contents = load_environment_xml()) {
}
// Get the results of the environment check.
list($envstatus, $environment_results) = check_moodle_environment($version);
list($envstatus, $environment_results) = check_moodle_environment($version, ENV_SELECT_NEWER);
// Display the page.
$output = $PAGE->get_renderer('core', 'admin');
+123
View File
@@ -1136,4 +1136,127 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="2.8" requires="2.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="5.5.31" />
<VENDOR name="mysql" version="5.5.31" />
<VENDOR name="postgres" version="9.1" />
<VENDOR name="mssql" version="10.0" />
<VENDOR name="oracle" version="10.2" />
</DATABASE>
<PHP version="5.4.4" 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="zlib" level="required">
</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="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+14 -7
View File
@@ -378,9 +378,6 @@ if (!$cache and moodle_needs_upgrading()) {
if (!$PAGE->headerprinted) {
// means core upgrade or installation was not already done
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
if (!$confirmplugins) {
$strplugincheck = get_string('plugincheck');
@@ -398,6 +395,9 @@ if (!$cache and moodle_needs_upgrading()) {
redirect($PAGE->url);
}
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
$deployer = \core\update\deployer::instance();
if ($deployer->enabled()) {
$deployer->initialize($PAGE->url, $PAGE->url);
@@ -421,6 +421,8 @@ if (!$cache and moodle_needs_upgrading()) {
// Make sure plugin dependencies are always checked.
$failed = array();
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
$reloadurl = new moodle_url('/admin/index.php', array('cache' => 0));
echo $output->unsatisfied_dependencies_page($version, $failed, $reloadurl);
die();
@@ -553,7 +555,8 @@ if (isset($SESSION->pluginuninstallreturn)) {
// Print default admin page with notifications.
$errorsdisplayed = defined('WARN_DISPLAY_ERRORS_ENABLED');
$lastcron = $DB->get_field_sql('SELECT MAX(lastcron) FROM {modules}');
// We make the assumption that at least one schedule task should run once per day.
$lastcron = $DB->get_field_sql('SELECT MAX(lastruntime) FROM {task_scheduled}');
$cronoverdue = ($lastcron < time() - 3600 * 24);
$dbproblems = $DB->diagnose();
$maintenancemode = !empty($CFG->maintenance_enabled);
@@ -587,10 +590,14 @@ $availableupdatesfetch = $updateschecker->get_last_timefetched();
$buggyiconvnomb = (!function_exists('mb_convert_encoding') and @iconv('UTF-8', 'UTF-8//IGNORE', '100'.chr(130).'€') !== '100€');
//check if the site is registered on Moodle.org
$registered = $DB->count_records('registration_hubs', array('huburl' => HUB_MOODLEORGHUBURL, 'confirmed' => 1));
// Check if there are any cache warnings.
$cachewarnings = cache_helper::warnings();
admin_externalpage_setup('adminnotifications');
/* @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
echo $output->admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed,
$cronoverdue, $dbproblems, $maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered);
echo $output->admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed, $cronoverdue, $dbproblems,
$maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered, $cachewarnings);
+1 -1
View File
@@ -18,7 +18,7 @@
/**
* This file contains functions used by the admin pages
*
* @since 2.1
* @since Moodle 2.1
* @package admin
* @copyright 2011 Andrew Davis
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+1 -1
View File
@@ -1,4 +1,4 @@
<?PHP
<?php
// Allows the admin to configure mnet stuff
-9
View File
@@ -34,21 +34,12 @@ if (!defined('MOODLE_INTERNAL')) {
}
$strmnetservices = get_string('mnetservices', 'mnet');
$strmnetlog = get_string('mnetlog', 'mnet');
$strmnetedithost = get_string('reviewhostdetails', 'mnet');
$logurl = $CFG->wwwroot.
'/report/log/index.php?chooselog=1&amp;showusers=1&amp;showcourses=1&amp;host_course='.$mnet_peer->id.
'%2F1&amp;user='.'0'.
'&amp;date=0'.
'&amp;modid=&amp;modaction=0&amp;logformat=showashtml';
$tabs = array();
if (isset($mnet_peer->id) && $mnet_peer->id > 0) {
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'services.php?hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
if ($mnet_peer->application->name == 'moodle' && $mnet_peer->id != $CFG->mnet_all_hosts_id) {
$tabs[] = new tabobject('mnetlog', $logurl, $strmnetlog, $strmnetlog, false);
}
$tabs[] = new tabobject('mnetprofilefields', 'profilefields.php?hostid=' . $mnet_peer->id, get_string('profilefields', 'mnet'), get_string('profilefields', 'mnet'), false);
} else {
$tabs[] = new tabobject('mnetdetails', '#', $strmnetedithost, $strmnetedithost, false);
+47 -19
View File
@@ -303,12 +303,13 @@ class core_admin_renderer extends plugin_renderer_base {
* @param bool $buggyiconvnomb warn iconv problems
* @param array|null $availableupdates array of \core\update\info objects or null
* @param int|null $availableupdatesfetch timestamp of the most recent updates fetch or null (unknown)
* @param string[] $cachewarnings An array containing warnings from the Cache API.
*
* @return string HTML to output.
*/
public function admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed,
$cronoverdue, $dbproblems, $maintenancemode, $availableupdates, $availableupdatesfetch,
$buggyiconvnomb, $registered) {
$buggyiconvnomb, $registered, array $cachewarnings = array()) {
global $CFG;
$output = '';
@@ -321,6 +322,7 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->cron_overdue_warning($cronoverdue);
$output .= $this->db_problems($dbproblems);
$output .= $this->maintenance_mode_warning($maintenancemode);
$output .= $this->cache_warnings($cachewarnings);
$output .= $this->registration_warning($registered);
//////////////////////////////////////////////////////////////////////////////////////////////////
@@ -595,6 +597,19 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning($dbproblems);
}
/**
* Renders cache warnings if there are any.
*
* @param string[] $cachewarnings
* @return string
*/
public function cache_warnings(array $cachewarnings) {
if (!count($cachewarnings)) {
return '';
}
return join("\n", array_map(array($this, 'warning'), $cachewarnings));
}
/**
* Render an appropriate message if the site in in maintenance mode.
* @param bool $maintenancemode
@@ -1024,19 +1039,28 @@ class core_admin_renderer extends plugin_renderer_base {
}
foreach ($plugin->get_other_required_plugins() as $component => $requiredversion) {
$ok = true;
$otherplugin = $pluginman->get_plugin_info($component);
$actions = array();
if (is_null($otherplugin)) {
$ok = false;
} else if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
$ok = false;
}
// The required plugin is not installed.
$class = 'requires-failed requires-missing';
$installurl = new moodle_url('https://moodle.org/plugins/view.php', array('plugin' => $component));
$uploadurl = new moodle_url('/admin/tool/installaddon/');
$actions[] = html_writer::link($installurl, get_string('dependencyinstall', 'core_plugin'));
$actions[] = html_writer::link($uploadurl, get_string('dependencyupload', 'core_plugin'));
} else if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
// The required plugin is installed but needs to be updated.
$class = 'requires-failed requires-outdated';
if (!$otherplugin->is_standard()) {
$updateurl = new moodle_url($this->page->url, array('sesskey' => sesskey(), 'fetchupdates' => 1));
$actions[] = html_writer::link($updateurl, get_string('checkforupdates', 'core_plugin'));
}
if ($ok) {
$class = 'requires-ok';
} else {
$class = 'requires-failed';
// Already installed plugin with sufficient version.
$class = 'requires-ok';
}
if ($requiredversion != ANY_VERSION) {
@@ -1044,11 +1068,11 @@ class core_admin_renderer extends plugin_renderer_base {
} else {
$str = 'otherplugin';
}
$componenturl = new moodle_url('https://moodle.org/plugins/view.php?plugin='.$component);
$componenturl = html_writer::tag('a', $component, array('href' => $componenturl->out()));
$requires[] = html_writer::tag('li',
get_string($str, 'core_plugin',
array('component' => $componenturl, 'version' => $requiredversion)),
html_writer::div(get_string($str, 'core_plugin',
array('component' => $component, 'version' => $requiredversion)), 'component').
html_writer::div(implode(' | ', $actions), 'actions'),
array('class' => $class));
}
@@ -1370,7 +1394,7 @@ class core_admin_renderer extends plugin_renderer_base {
* configuration and how it suits Moodle needs.
*
* @param boolean $result final result of the check (true/false)
* @param array $environment_results array of results gathered
* @param environment_results[] $environment_results array of results gathered
* @return string HTML to output.
*/
public function environment_check_table($result, $environment_results) {
@@ -1382,9 +1406,10 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('name'),
get_string('info'),
get_string('report'),
get_string('plugin'),
get_string('status'),
);
$servertable->colclasses = array('centeralign name', 'centeralign status', 'leftalign report', 'centeralign info');
$servertable->colclasses = array('centeralign name', 'centeralign info', 'leftalign report', 'leftalign plugin', 'centeralign status');
$servertable->attributes['class'] = 'admintable environmenttable generaltable';
$servertable->id = 'serverstatus';
@@ -1394,9 +1419,10 @@ class core_admin_renderer extends plugin_renderer_base {
$othertable->head = array(
get_string('info'),
get_string('report'),
get_string('plugin'),
get_string('status'),
);
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'aligncenter status');
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'alignleft plugin', 'aligncenter status');
$othertable->attributes['class'] = 'admintable environmenttable generaltable';
$othertable->id = 'otherserverstatus';
@@ -1412,6 +1438,7 @@ class core_admin_renderer extends plugin_renderer_base {
$type = $environment_result->getPart();
$info = $environment_result->getInfo();
$status = $environment_result->getStatus();
$plugin = $environment_result->getPluginName();
$error_code = $environment_result->getErrorCode();
// Process Report field
$rec = new stdClass();
@@ -1488,7 +1515,8 @@ class core_admin_renderer extends plugin_renderer_base {
if (!empty($info)){
$linkparts[] = $info;
}
if (empty($CFG->docroot)) {
// Plugin environments do not have docs pages yet.
if (empty($CFG->docroot) or $environment_result->plugin) {
$report = get_string($stringtouse, 'admin', $rec);
} else {
$report = $this->doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec));
@@ -1514,9 +1542,9 @@ class core_admin_renderer extends plugin_renderer_base {
// Add the row to the table
if ($environment_result->getPart() == 'custom_check'){
$otherdata[$messagetype][] = array ($info, $report, $status);
$otherdata[$messagetype][] = array ($info, $report, $plugin, $status);
} else {
$serverdata[$messagetype][] = array ($type, $info, $report, $status);
$serverdata[$messagetype][] = array ($type, $info, $report, $plugin, $status);
}
}
}
+2 -2
View File
@@ -176,7 +176,7 @@ if ($roleid) {
// Show UI for assigning a particular role to users.
// Print a warning if we are assigning system roles.
if ($context->contextlevel == CONTEXT_SYSTEM) {
echo $OUTPUT->box(get_string('globalroleswarning', 'core_role'));
echo $OUTPUT->notification(get_string('globalroleswarning', 'core_role'));
}
// Print the form.
@@ -251,7 +251,7 @@ if ($roleid) {
// Print a warning if we are assigning system roles.
if ($context->contextlevel == CONTEXT_SYSTEM) {
echo $OUTPUT->box(get_string('globalroleswarning', 'core_role'));
echo $OUTPUT->notification(get_string('globalroleswarning', 'core_role'));
}
// Print instruction.
+10 -2
View File
@@ -74,8 +74,16 @@ abstract class core_role_capability_table_base {
public function display() {
if (count($this->capabilities) > self::NUM_CAPS_FOR_SEARCH) {
global $PAGE;
$PAGE->requires->strings_for_js(array('filter', 'clear'), 'moodle');
$PAGE->requires->js_init_call('M.core_role.init_cap_table_filter', array($this->id, $this->context->id));
$jsmodule = array(
'name' => 'rolescapfilter',
'fullpath' => '/admin/roles/module.js',
'strings' => array(
array('filter', 'moodle'),
array('clear', 'moodle'), ),
'requires' => array('node', 'cookie', 'escape')
);
$PAGE->requires->js_init_call('M.core_role.init_cap_table_filter', array($this->id, $this->context->id), false,
$jsmodule);
}
echo '<table class="' . implode(' ', $this->classes) . '" id="' . $this->id . '">' . "\n<thead>\n";
echo '<tr><th class="name" align="left" scope="col">' . get_string('capability', 'core_role') . '</th>';
@@ -48,11 +48,12 @@ class core_role_potential_assignees_below_course extends core_role_assign_user_s
$fields = 'SELECT ' . $this->required_fields_sql('u');
$countfields = 'SELECT COUNT(u.id)';
$sql = " FROM {user} u
LEFT JOIN {role_assignments} ra ON (ra.userid = u.id AND ra.roleid = :roleid AND ra.contextid = :contextid)
WHERE u.id IN ($enrolsql)
$wherecondition
AND ra.id IS NULL";
$sql = " FROM ($enrolsql) enrolled_users_view
JOIN {user} u ON u.id = enrolled_users_view.id
LEFT JOIN {role_assignments} ra ON (ra.userid = enrolled_users_view.id AND
ra.roleid = :roleid AND ra.contextid = :contextid)
WHERE ra.id IS NULL
$wherecondition";
$params['contextid'] = $this->context->id;
$params['roleid'] = $this->roleid;
+2 -1
View File
@@ -75,7 +75,8 @@ switch ($action) {
$a->id = $roleid;
$a->name = $roles[$roleid]->name;
$a->shortname = $roles[$roleid]->shortname;
$a->count = $DB->count_records('role_assignments', array('roleid'=>$roleid));
$a->count = $DB->count_records_select('role_assignments',
'roleid = ?', array($roleid), 'COUNT(DISTINCT userid)');
$formcontinue = new single_button(new moodle_url($baseurl, $optionsyes), get_string('yes'));
$formcancel = new single_button(new moodle_url($baseurl), get_string('no'), 'get');
+1 -1
View File
@@ -51,7 +51,7 @@ M.core_role.init_cap_table_filter = function(Y, tableid, contextid) {
marginRight : 'auto'
});
// Create the capability search input.
this.input = Y.Node.create('<input type="text" id="'+this.table.get('id')+'capabilitysearch" value="'+filtervalue+'" />');
this.input = Y.Node.create('<input type="text" id="'+this.table.get('id')+'capabilitysearch" value="'+Y.Escape.html(filtervalue)+'" />');
// Create a label for the search input.
this.label = Y.Node.create('<label for="'+this.input.get('id')+'">'+M.str.moodle.filter+' </label>');
// Create a clear button to clear the input.
-1
View File
@@ -139,7 +139,6 @@ if (optional_param('savechanges', false, PARAM_BOOL) && confirm_sesskey()) {
array(
'context' => $context,
'objectid' => $roleid,
'courseid' => $courseid
)
);
+1 -1
View File
@@ -132,7 +132,7 @@ if ($courseid == SITEID) {
$PAGE->set_heading($course->fullname.': '.$fullname);
}
echo $OUTPUT->header();
echo $OUTPUT->heading($title, 3);
echo $OUTPUT->heading($title);
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthnormal');
// Display them.
+12
View File
@@ -23,6 +23,17 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) { // sp
$temp->add(new admin_setting_configcheckbox('allowuserblockhiding', new lang_string('allowuserblockhiding', 'admin'), new lang_string('configallowuserblockhiding', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('allowblockstodock', new lang_string('allowblockstodock', 'admin'), new lang_string('configallowblockstodock', 'admin'), 1));
$temp->add(new admin_setting_configtextarea('custommenuitems', new lang_string('custommenuitems', 'admin'), new lang_string('configcustommenuitems', 'admin'), '', PARAM_TEXT, '50', '10'));
$temp->add(new admin_setting_configtextarea(
'customusermenuitems',
new lang_string('customusermenuitems', 'admin'),
new lang_string('configcustomusermenuitems', 'admin'),
'messages,message|/message/index.php|message
myfiles,moodle|/user/files.php|download
mybadges,badges|/badges/mybadges.php|award',
PARAM_TEXT,
'50',
'10'
));
$temp->add(new admin_setting_configcheckbox('enabledevicedetection', new lang_string('enabledevicedetection', 'admin'), new lang_string('configenabledevicedetection', 'admin'), 1));
$temp->add(new admin_setting_devicedetectregex('devicedetectregex', new lang_string('devicedetectregex', 'admin'), new lang_string('devicedetectregex_desc', 'admin'), ''));
$ADMIN->add('themes', $temp);
@@ -122,6 +133,7 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) { // sp
$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));
$temp->add(new admin_setting_configcheckbox('navexpandmycourses', new lang_string('navexpandmycourses', 'admin'), new lang_string('navexpandmycourses_desc', 'admin'), 1));
$sortoptions = array(
'sortorder' => new lang_string('sort_sortorder', 'admin'),
'fullname' => new lang_string('sort_fullname', 'admin'),
-1
View File
@@ -11,7 +11,6 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
//TODO: Re-enable cc-import once re-implemented in 2.0.x
//$temp->add(new admin_setting_configcheckbox('enableimsccimport', new lang_string('enable_cc_import', 'imscc'), new lang_string('enable_cc_import_description', 'imscc'), 0));
$temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', new lang_string('enablesafebrowserintegration', 'admin'), new lang_string('configenablesafebrowserintegration', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('enablegroupmembersonly', new lang_string('enablegroupmembersonly', 'admin'), new lang_string('configenablegroupmembersonly', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('dndallowtextandlinks', new lang_string('dndallowtextandlinks', 'admin'), new lang_string('configdndallowtextandlinks', 'admin'), 0));
// The CSS optimiser setting. When changed we need to reset the theme caches in order to ensure they are regenerated through the optimiser.
+9 -6
View File
@@ -68,6 +68,10 @@ if (has_capability('moodle/grade:manage', $systemcontext)
$temp->add(new admin_setting_special_gradelimiting());
$temp->add(new admin_setting_configcheckbox('grade_report_showmin',
get_string('minimum_show', 'grades'),
get_string('minimum_show_help', 'grades'), '1'));
$temp->add(new admin_setting_special_gradepointmax());
$temp->add(new admin_setting_special_gradepointdefault());
@@ -92,11 +96,9 @@ if (has_capability('moodle/grade:manage', $systemcontext)
GRADE_AGGREGATE_MODE =>new lang_string('aggregatemode', 'grades'),
GRADE_AGGREGATE_SUM =>new lang_string('aggregatesum', 'grades'));
$defaultvisible = array(GRADE_AGGREGATE_MEAN, GRADE_AGGREGATE_WEIGHTED_MEAN, GRADE_AGGREGATE_WEIGHTED_MEAN2,
GRADE_AGGREGATE_EXTRACREDIT_MEAN, GRADE_AGGREGATE_MEDIAN, GRADE_AGGREGATE_MIN,
GRADE_AGGREGATE_MAX, GRADE_AGGREGATE_MODE, GRADE_AGGREGATE_SUM);
$defaultvisible = array(GRADE_AGGREGATE_SUM);
$defaults = array('value'=>GRADE_AGGREGATE_WEIGHTED_MEAN2, 'forced'=>false, 'adv'=>false);
$defaults = array('value' => GRADE_AGGREGATE_SUM, 'forced' => false, 'adv' => false);
$temp->add(new admin_setting_gradecat_combo('grade_aggregation', new lang_string('aggregation', 'grades'), new lang_string('aggregation_help', 'grades'), $defaults, $options));
$temp->add(new admin_setting_configmultiselect('grade_aggregations_visible', new lang_string('aggregationsvisible', 'grades'),
@@ -110,8 +112,6 @@ if (has_capability('moodle/grade:manage', $systemcontext)
$defaults = array('value'=>0, 'forced'=>false, 'adv'=>true);
$temp->add(new admin_setting_gradecat_combo('grade_aggregateoutcomes', new lang_string('aggregateoutcomes', 'grades'),
new lang_string('aggregateoutcomes_help', 'grades'), $defaults, $options));
$temp->add(new admin_setting_gradecat_combo('grade_aggregatesubcats', new lang_string('aggregatesubcats', 'grades'),
new lang_string('aggregatesubcats_help', 'grades'), $defaults, $options));
$options = array(0 => new lang_string('none'));
for ($i=1; $i<=20; $i++) {
@@ -125,6 +125,9 @@ if (has_capability('moodle/grade:manage', $systemcontext)
$defaults['forced'] = false;
$temp->add(new admin_setting_gradecat_combo('grade_droplow', new lang_string('droplow', 'grades'),
new lang_string('droplow_help', 'grades'), $defaults, $options));
$temp->add(new admin_setting_configcheckbox('grade_overridecat', new lang_string('overridecat', 'grades'),
new lang_string('overridecat_help', 'grades'), 1));
}
$ADMIN->add('grades', $temp);
+1 -1
View File
@@ -358,7 +358,7 @@ if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext))
2 => get_string('showmarkandmax', 'question'),
);
$settings->add(new admin_setting_configselect('question_preview/marks',
get_string('marks', 'question'), '', 1, $marksoptions));
get_string('marks', 'question'), '', 2, $marksoptions));
$settings->add(new admin_setting_configselect('question_preview/markdp',
get_string('decimalplacesingrades', 'question'), '', 2, array(0, 1, 2, 3, 4, 5, 6, 7)));
+1
View File
@@ -11,6 +11,7 @@ $temp = new admin_settingpage('systempaths', new lang_string('systempaths','admi
$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'), ''));
$temp->add(new admin_setting_configexecutable('pathtogs', new lang_string('pathtogs', 'admin'), new lang_string('pathtogs_help', 'admin'), '/usr/bin/gs'));
$ADMIN->add('server', $temp);
+41
View File
@@ -24,6 +24,44 @@ if ($hassiteconfig
$ADMIN->add('accounts', new admin_externalpage('editusers', new lang_string('userlist','admin'), "$CFG->wwwroot/$CFG->admin/user.php", array('moodle/user:update', 'moodle/user:delete')));
$ADMIN->add('accounts', new admin_externalpage('userbulk', new lang_string('userbulk','admin'), "$CFG->wwwroot/$CFG->admin/user/user_bulk.php", array('moodle/user:update', 'moodle/user:delete')));
$ADMIN->add('accounts', new admin_externalpage('addnewuser', new lang_string('addnewuser'), "$securewwwroot/user/editadvanced.php?id=-1", 'moodle/user:create'));
// "User default preferences" settingpage.
$temp = new admin_settingpage('userdefaultpreferences', new lang_string('userdefaultpreferences', 'admin'));
if ($ADMIN->fulltree) {
$choices = array();
$choices['0'] = new lang_string('emaildisplayno');
$choices['1'] = new lang_string('emaildisplayyes');
$choices['2'] = new lang_string('emaildisplaycourse');
$temp->add(new admin_setting_configselect('defaultpreference_maildisplay', new lang_string('emaildisplay'),
'', 2, $choices));
$choices = array();
$choices['0'] = new lang_string('textformat');
$choices['1'] = new lang_string('htmlformat');
$temp->add(new admin_setting_configselect('defaultpreference_mailformat', new lang_string('emailformat'), '', 1, $choices));
$choices = array();
$choices['0'] = new lang_string('emaildigestoff');
$choices['1'] = new lang_string('emaildigestcomplete');
$choices['2'] = new lang_string('emaildigestsubjects');
$temp->add(new admin_setting_configselect('defaultpreference_maildigest', new lang_string('emaildigest'),
new lang_string('emaildigest_help'), 0, $choices));
$choices = array();
$choices['1'] = new lang_string('autosubscribeyes');
$choices['0'] = new lang_string('autosubscribeno');
$temp->add(new admin_setting_configselect('defaultpreference_autosubscribe', new lang_string('autosubscribe'),
'', 1, $choices));
$choices = array();
$choices['0'] = new lang_string('trackforumsno');
$choices['1'] = new lang_string('trackforumsyes');
$temp->add(new admin_setting_configselect('defaultpreference_trackforums', new lang_string('trackforums'),
'', 0, $choices));
}
$ADMIN->add('accounts', $temp);
$ADMIN->add('accounts', new admin_externalpage('profilefields', new lang_string('profilefields','admin'), "$CFG->wwwroot/user/profile/index.php", 'moodle/site:config'));
$ADMIN->add('accounts', new admin_externalpage('cohorts', new lang_string('cohorts', 'cohort'), $CFG->wwwroot . '/cohort/index.php', array('moodle/cohort:manage', 'moodle/cohort:view')));
@@ -152,6 +190,9 @@ if ($hassiteconfig
'institution' => new lang_string('institution'),
)));
$temp->add(new admin_setting_configtext('fullnamedisplay', new lang_string('fullnamedisplay', 'admin'), new lang_string('configfullnamedisplay', 'admin'), 'language', PARAM_TEXT, 50));
$temp->add(new admin_setting_configtext('alternativefullnameformat', new lang_string('alternativefullnameformat', 'admin'),
new lang_string('alternativefullnameformat_desc', 'admin'),
'language', PARAM_RAW, 50));
$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'));
+3 -2
View File
@@ -80,7 +80,8 @@ class behat_admin extends behat_base {
// Single element settings.
try {
$fieldxpath = "//*[self::input | self::textarea | self::select][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]" .
"[@id=//label[contains(normalize-space(.), $label)]/@for]";
"[@id=//label[contains(normalize-space(.), $label)]/@for or " .
"@id=//span[contains(normalize-space(.), $label)]/preceding-sibling::label[1]/@for]";
$fieldnode = $this->find('xpath', $fieldxpath, $exception);
$formfieldtypenode = $this->find('xpath', $fieldxpath . "/ancestor::div[@class='form-setting']" .
@@ -89,7 +90,7 @@ class behat_admin extends behat_base {
} catch (ElementNotFoundException $e) {
// Multi element settings, interacting only the first one.
$fieldxpath = "//descendant::label[.= $label]/ancestor::div[contains(concat(' ', normalize-space(@class), ' '), ' form-item ')]" .
$fieldxpath = "//*[label[.= $label]|span[.= $label]]/ancestor::div[contains(concat(' ', normalize-space(@class), ' '), ' form-item ')]" .
"/descendant::div[@class='form-group']/descendant::*[self::input | self::textarea | self::select][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'hidden')]";
$fieldnode = $this->find('xpath', $fieldxpath);
@@ -0,0 +1,27 @@
@core @core_admin
Feature: Set admin settings value
In order to set admin settings value
As an admin
I need to set admin setting value and verify it is applied
Background:
Given the following "courses" exist:
| fullname | shortname | category |
| Course fullname | C_shortname | 0 |
And I log in as "admin"
And I should see "Course fullname"
And I should not see "C_shortname Course fullname"
Scenario: set admin value with full name
Given I set the following administration settings values:
| Display extended course names | 1 |
When I press "Save changes"
And I am on homepage
Then I should see "C_shortname Course fullname"
Scenario: set admin value with short name
Given I set the following administration settings values:
| courselistshortnames | 1 |
When I press "Save changes"
And I am on homepage
Then I should see "C_shortname Course fullname"
+3 -3
View File
@@ -24,7 +24,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->component = 'tool_assignmentupgrade';
$plugin->dependencies = array('mod_assign' => 2014050800);
$plugin->dependencies = array('mod_assign' => 2014110400);
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->component = 'tool_availabilityconditions';
+5
View File
@@ -27,6 +27,11 @@ 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');
// This page usually takes an exceedingly long time to load, so we need to
// increase the time limit. At present it takes about a minute on some
// systems, but let's allow room for expansion.
core_php_time_limit::raise(300);
$filter = optional_param('filter', '', PARAM_ALPHANUMEXT);
$type = optional_param('type', false, PARAM_ALPHAEXT);
$component = optional_param('component', '', PARAM_ALPHAEXT);
@@ -185,6 +185,12 @@ Feature: Set up contextual data for tests
| url | Test url name | Test url description | C1 | url1 |
| wiki | Test wiki name | Test wiki description | C1 | wiki1 |
| workshop | Test workshop name | Test workshop description | C1 | workshop1 |
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
And the following "activities" exist:
| activity | name | intro | course | idnumber | grade |
| assign | Test assignment name with scale | Test assignment description | C1 | assign1 | Test Scale 1 |
When I log in as "admin"
And I follow "Course 1"
Then I should see "Test assignment name"
@@ -214,6 +220,10 @@ Feature: Set up contextual data for tests
And I should see "Test workshop name"
And I follow "Test assignment name"
And I should see "Test assignment description"
And I follow "C1"
And I follow "Test assignment name with scale"
And I follow "Edit settings"
And the field "Type" matches value "Scale"
@javascript
Scenario: Add relations between users and groups
@@ -252,3 +262,169 @@ Feature: Set up contextual data for tests
And the "members" select box should contain "Student 1"
And I set the field "groups" to "Group 2 (1)"
And the "members" select box should contain "Student 2"
Scenario: Add cohorts and cohort members with data generator
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
And the following "users" exist:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@asd.com |
| student2 | Student | 2 | student2@asd.com |
And the following "cohorts" exist:
| name | idnumber |
| System cohort A | CHSA |
And the following "cohorts" exist:
| name | idnumber | contextlevel | reference |
| System cohort B | CHSB | System | |
| Cohort in category | CHC | Category | CAT1 |
| Empty cohort | CHE | Category | CAT1 |
And the following "cohort members" exist:
| user | cohort |
| student1 | CHSA |
| student2 | CHSB |
| student1 | CHSB |
| student1 | CHC |
When I log in as "admin"
And I navigate to "Cohorts" node in "Site administration > Users > Accounts"
Then the following should exist in the "cohorts" table:
| Name | Cohort size |
| System cohort A | 1 |
| System cohort B | 2 |
And I should not see "Cohort in category"
And I follow "Courses"
And I follow "Cat 1"
And I follow "Cohorts"
And I should not see "System cohort"
And the following should exist in the "cohorts" table:
| Name | Cohort size |
| Cohort in category | 1 |
| Empty cohort | 0 |
Scenario: Add grade categories with data generator
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "grade categories" exist:
| fullname | course |
| Grade category 1 | C1 |
And the following "grade categories" exist:
| fullname | course | gradecategory |
| Grade sub category 2 | C1 | Grade category 1 |
When I log in as "admin"
And I follow "Courses"
And I follow "Course 1"
And I navigate to "Grades" node in "Course administration"
Then I should see "Grade category 1"
And I should see "Grade sub category 2"
Scenario: Add a bunch of grade items
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "grade categories" exist:
| fullname | course |
| Grade category 1 | C1 |
And the following "grade categories" exist:
| fullname | course | gradecategory |
| Grade sub category 2 | C1 | Grade category 1 |
And the following "grade items" exist:
| itemname | course |
| Test Grade Item 1 | C1 |
And the following "grade items" exist:
| itemname | course | gradecategory |
| Test Grade Item 2 | C1 | Grade category 1 |
| Test Grade Item 3 | C1 | Grade sub category 2 |
When I log in as "admin"
And I follow "Course 1"
And I follow "Grades"
And I expand "Setup" node
And I follow "Categories and items"
Then I should see "Test Grade Item 1"
And I follow "Edit Test Grade Item 1"
And I expand all fieldsets
And I should see "Course 1"
And I press "Cancel"
And I should see "Grade category 1"
And I should see "Test Grade Item 2"
And I follow "Edit Test Grade Item 2"
And I expand all fieldsets
And I should see "Grade category 1"
And I press "Cancel"
And I should see "Grade sub category 2"
And I should see "Test Grade Item 3"
And I follow "Edit Test Grade Item 3"
And I expand all fieldsets
And I should see "Grade sub category 2"
And I press "Cancel"
Scenario: Add a bunch of scales
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
When I log in as "admin"
And I follow "Course 1"
And I follow "Grades"
And I follow "Scales"
Then I should see "Test Scale 1"
And I should see "Disappointing, Good, Very good, Excellent"
Scenario: Add a bunch of outcomes
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
And the following "grade outcomes" exist:
| fullname | shortname | scale |
| Grade outcome 1 | OT1 | Test Scale 1 |
And the following "grade outcomes" exist:
| fullname | shortname | course | scale |
| Grade outcome 2 | OT2 | C1 | Test Scale 1 |
When I log in as "admin"
And I set the following administration settings values:
| Enable outcomes | 1 |
And I follow "Home"
And I follow "Course 1"
And I follow "Outcomes"
Then I should see "Grade outcome 1" in the "#addoutcomes" "css_element"
And I should see "Grade outcome 2" in the "#removeoutcomes" "css_element"
And I follow "Edit outcomes"
And the following should exist in the "generaltable" table:
| Full name | Short name | Scale |
| Grade outcome 2 | OT2 | Test Scale 1 |
Scenario: Add a bunch of outcome grade items
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "scales" exist:
| name | scale |
| Test Scale 1 | Disappointing, Good, Very good, Excellent |
And the following "grade outcomes" exist:
| fullname | shortname | course | scale |
| Grade outcome 1 | OT1 | C1 | Test Scale 1 |
And the following "grade categories" exist:
| fullname | course |
| Grade category 1 | C1 |
And the following "grade items" exist:
| itemname | course | outcome | gradecategory |
| Test Outcome Grade Item 1 | C1 | OT1 | Grade category 1 |
When I log in as "admin"
And I set the following administration settings values:
| Enable outcomes | 1 |
And I follow "Home"
And I follow "Course 1"
And I follow "Grades"
And I expand "Setup" node
And I follow "Categories and items"
Then I should see "Test Outcome Grade Item 1"
And I follow "Edit Test Outcome Grade Item 1"
And the field "Outcome" matches value "Grade outcome 1"
And I expand all fieldsets
And "//div[contains(@class, 'fitem')]/div[contains(@class, 'fitemtitle')]/div[contains(@class, fstaticlabel) and contains(., 'Grade category')]/../../div[contains(@class, 'felement') and contains(., 'Grade category 1')]" "xpath_element" should exist
And I press "Cancel"
@@ -159,6 +159,7 @@ Feature: Verify that all form fields values can be get and set
And I add a "Lesson" to section "1"
And I set the following fields to these values:
| Name | Test lesson |
| Description | Test lesson description |
| available[enabled] | 1 |
And I set the field "deadline[enabled]" to "1"
# Checkbox (AJAX) - Checking "the field matches value" before saving.
@@ -11,6 +11,7 @@ Feature: Forms manipulation
When I set the field "First name" to "Field value"
And I set the field "Text editor" to "Plain text area"
And I set the field "Unmask" to "1"
And I expand all fieldsets
Then the field "First name" matches value "Field value"
And the "Text editor" select box should contain "Plain text area"
And the field "Unmask" matches value "1"
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014050800; // Requires this Moodle version
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014110400; // Requires this Moodle version
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
+6
View File
@@ -45,5 +45,11 @@ function xmldb_tool_customlang_upgrade($oldversion) {
// Moodle v2.6.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.7.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.8.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics).
@@ -36,6 +36,10 @@ class tool_generator_course_backend extends tool_generator_backend {
* @var array Number of sections in course
*/
private static $paramsections = array(1, 10, 100, 500, 1000, 2000);
/**
* @var array Number of assignments in course
*/
private static $paramassignments = array(1, 10, 100, 500, 1000, 2000);
/**
* @var array Number of Page activities in course
*/
@@ -179,6 +183,7 @@ class tool_generator_course_backend extends tool_generator_backend {
// Make course.
$this->course = $this->create_course();
$this->create_users();
$this->create_assignments();
$this->create_pages();
$this->create_small_files();
$this->create_big_files();
@@ -318,6 +323,26 @@ class tool_generator_course_backend extends tool_generator_backend {
$this->end_log();
}
/**
* Creates a number of Assignment activities.
*/
private function create_assignments() {
// Set up generator.
$assigngenerator = $this->generator->get_plugin_generator('mod_assign');
// Create assignments.
$number = self::$paramassignments[$this->size];
$this->log('createassignments', $number, true);
for ($i = 0; $i < $number; $i++) {
$record = array('course' => $this->course);
$options = array('section' => $this->get_target_section());
$assigngenerator->create_instance($record, $options);
$this->dot($i, $number);
}
$this->end_log();
}
/**
* Creates a number of Page activities.
*/
@@ -71,6 +71,7 @@ $string['pluginname'] = 'Development data generator';
$string['progress_checkaccounts'] = 'Checking user accounts ({$a})';
$string['progress_coursecompleted'] = 'Course completed ({$a}s)';
$string['progress_createaccounts'] = 'Creating user accounts ({$a->from} - {$a->to})';
$string['progress_createassignments'] = 'Creating assignments ({$a})';
$string['progress_createbigfiles'] = 'Creating big files ({$a})';
$string['progress_createcourse'] = 'Creating course {$a}';
$string['progress_createforum'] = 'Creating forum ({$a} posts)';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->component = 'tool_generator';
+2 -2
View File
@@ -25,8 +25,8 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014050800; // Requires this Moodle version
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014110400; // Requires this Moodle version
$plugin->component = 'tool_health'; // Full name of the plugin (used for diagnostics)
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014050800; // Requires this Moodle version
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014110400; // Requires this Moodle version
$plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
@@ -28,20 +28,20 @@ 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'] = 'The add-on installer is disabled on this site.';
$string['installaddon'] = 'Install add-on!';
$string['installaddons'] = 'Install add-ons';
$string['installexception'] = 'Oops... An error occurred while trying to install the add-on. Turn debugging mode on to see details of the error.';
$string['installfromrepo'] = 'Install add-ons from the 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 full name, URL and Moodle version will be sent as well, to make the installation process easier for you.';
$string['installfromzip'] = 'Install add-on from ZIP file';
$string['installfromzip_help'] = 'An alternative to installing an add-on directly from the Moodle plugins directory is to upload a ZIP package of the add-on. The ZIP package should have the same structure as a package downloaded from the Moodle plugins directory.';
$string['acknowledgementtext'] = 'I understand that it is my responsibility to have full backups of this site prior to installing additional plugins. I accept and understand that plugins (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'] = 'The plugin installer is disabled on this site.';
$string['installaddon'] = 'Install plugin!';
$string['installaddons'] = 'Install plugins';
$string['installexception'] = 'Oops... An error occurred while trying to install the plugin. Turn debugging mode on to see details of the error.';
$string['installfromrepo'] = 'Install plugins from the Moodle plugins directory';
$string['installfromrepo_help'] = 'You will be redirected to the Moodle plugins directory to search for and install a plugin. Note that your site full name, URL and Moodle version will be sent as well, to make the installation process easier for you.';
$string['installfromzip'] = 'Install plugin from ZIP file';
$string['installfromzip_help'] = 'An alternative to installing a plugin directly from the Moodle plugins directory is to upload a ZIP package of the plugin. The ZIP package should have the same structure as a package downloaded from the Moodle plugins directory.';
$string['installfromzipfile'] = 'ZIP package';
$string['installfromzipfile_help'] = 'The plugin ZIP package must contain just one directory, named to match the plugin. The ZIP will be extracted into an appropriate location for the plugin type. If the package has been downloaded from the Moodle plugins directory then it will have this structure.';
$string['installfromziprootdir'] = 'Rename the root directory';
$string['installfromziprootdir_help'] = 'Some ZIP packages, such as those generated by Github, may contain an incorrect root directory name. If so, the correct name may be entered here.';
$string['installfromzipsubmit'] = 'Install add-on from the ZIP file';
$string['installfromzipsubmit'] = 'Install plugin from the ZIP file';
$string['installfromziptype'] = 'Plugin type';
$string['installfromziptype_help'] = 'Choose the correct type of plugin you are about to install. Warning: The installation procedure can fail badly if an incorrect plugin type is specified.';
$string['permcheck'] = 'Make sure the plugin type root location is writable by the web server process.';
@@ -49,54 +49,55 @@ $string['permcheckerror'] = 'Error while checking for write permission';
$string['permcheckprogress'] = 'Checking for write permission ...';
$string['permcheckresultno'] = 'Plugin type location <em>{$a->path}</em> is 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 on this site. However, this plugin is <strong>already installed</strong> on the 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 on 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 an add-on from the Moodle plugins directory on this site. Unfortunately the request is not valid and so 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 on this site. However, the plugin type location <strong>{$a->typepath}</strong> is <strong>not writable</strong>. You need to give write access for the web server user to the plugin type location, then press the continue button to repeat the check.';
$string['remoterequestpluginfoexception'] = 'Oops... An error occurred 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 details of the error.';
$string['validation'] = 'Add-on package validation';
$string['pluginname'] = 'Plugin installer';
$string['remoterequestalreadyinstalled'] = 'There is a request to install plugin {$a->name} ({$a->component}) version {$a->version} from the Moodle plugins directory on this site. However, this plugin is <strong>already installed</strong> on the site.';
$string['remoterequestconfirm'] = 'There is a request to install plugin <strong>{$a->name}</strong> ({$a->component}) version {$a->version} from the Moodle plugins directory on this site. If you continue, the plugin ZIP package will be downloaded for validation. Nothing will be installed yet.';
$string['remoterequestinvalid'] = 'There is a request to install a plugin from the Moodle plugins directory on this site. Unfortunately the request is not valid and so the plugin cannot be installed.';
$string['remoterequestpermcheck'] = 'There is a request to install plugin {$a->name} ({$a->component}) version {$a->version} from the Moodle plugins directory on this site. However, the location <strong>{$a->typepath}</strong> is <strong>not writable</strong>. You need to give write access for the web server user to the location, then press the continue button to repeat the check.';
$string['remoterequestpluginfoexception'] = 'Oops... An error occurred while trying to obtain information about the plugin {$a->name} ({$a->component}) version {$a->version}. The plugin cannot be installed. Turn debugging mode on to see details of the error.';
$string['validation'] = 'Plugin 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 an incorrect root directory name. You need 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_componentmismatchname'] = 'Plugin name mismatch';
$string['validationmsg_componentmismatchname_help'] = 'Some ZIP packages, such as those generated by Github, may contain an incorrect root directory name. You need to fix the name of the root directory to match the declared plugin name.';
$string['validationmsg_componentmismatchname_info'] = 'The plugin declares its name is \'{$a}\' but that does not match the name of the root directory.';
$string['validationmsg_componentmismatchtype'] = 'Plugin type mismatch';
$string['validationmsg_componentmismatchtype_info'] = 'You have selected the type \'{$a->expected}\' but the plugin 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_foundlangfile'] = 'Found language file';
$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_maturity_help'] = 'The plugin can declare its maturity level. If the maintainer considers the plugin 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 is missing the expected English language file {$a}.';
$string['validationmsg_missingexpectedlangenfile_info'] = 'The given plugin type is missing the expected 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_missingversion'] = 'Plugin 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_onedir_help'] = 'The ZIP package must contain just one root directory that holds the plugin 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_pluginversion'] = 'Plugin version';
$string['validationmsg_release'] = 'Plugin 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 add-on name';
$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 an incorrect root directory name. You need to fix the name of the root directory to match the add-on name.';
$string['validationmsg_rootdir'] = 'Name of the plugin to be installed';
$string['validationmsg_rootdir_help'] = 'The name of the root directory in the ZIP package forms the name of the plugin to be installed. If the name is not correct, you may wish to rename the root directory in the ZIP prior to installing the plugin.';
$string['validationmsg_rootdirinvalid'] = 'Invalid plugin name';
$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 an incorrect root directory name. You need to fix the name of the root directory to match the plugin 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_targetexists_help'] = 'The directory that the plugin is to be installed to must not yet exist.';
$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'] = 'A serious problem was detected and so it is not safe to install the add-on. See the validation log messages for details.';
$string['validationresult0_help'] = 'A serious problem was detected and so it is not safe to install the plugin. See the validation log messages for 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['validationresult2_help'] = 'No serious problems were detected. You can continue with the plugin installation. See the validation log messages for more details and eventual warnings.';
$string['validationresult1_help'] = 'The plugin package has been validated and no serious problems were detected.';
$string['validationresultinfo'] = 'Info';
$string['validationresultmsg'] = 'Message';
$string['validationresultstatus'] = 'Status';
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'tool_installaddon';
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->maturity = MATURITY_STABLE;
@@ -0,0 +1,237 @@
<?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/>.
/**
* Lang import controller
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_langimport;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/filelib.php');
require_once($CFG->libdir.'/componentlib.class.php');
/**
* Lang import controller
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class controller {
/** @var array list of informational messages */
public $info;
/** @var array list of error messages */
public $errors;
/** @var \lang_installer */
private $installer;
/** @var array languages available on the remote server */
public $availablelangs;
/**
* Constructor.
*/
public function __construct() {
make_temp_directory('');
make_upload_directory('lang');
$this->info = array();
$this->errors = array();
$this->installer = new \lang_installer();
$this->availablelangs = $this->installer->get_remote_list_of_languages();
}
/**
* Install language packs provided
*
* @param string|array $langs array of langcodes or individual langcodes
* @param bool $updating true if updating the langpacks
* @return int false if an error encountered or
* @throws \moodle_exception when error is encountered installing langpack
*/
public function install_languagepacks($langs, $updating = false) {
global $CFG;
$this->installer->set_queue($langs);
$results = $this->installer->run();
$updatedpacks = 0;
foreach ($results as $langcode => $langstatus) {
switch ($langstatus) {
case \lang_installer::RESULT_DOWNLOADERROR:
$a = new \stdClass();
$a->url = $this->installer->lang_pack_url($langcode);
$a->dest = $CFG->dataroot.'/lang';
$this->errors[] = get_string('remotedownloaderror', 'error', $a);
throw new \moodle_exception('remotedownloaderror', 'error', $a);
break;
case \lang_installer::RESULT_INSTALLED:
$updatedpacks++;
if ($updating) {
event\langpack_updated::event_with_langcode($langcode)->trigger();
$this->info[] = get_string('langpackupdated', 'tool_langimport', $langcode);
} else {
$this->info[] = get_string('langpackinstalled', 'tool_langimport', $langcode);
event\langpack_imported::event_with_langcode($langcode)->trigger();
}
break;
case \lang_installer::RESULT_UPTODATE:
$this->info[] = get_string('langpackuptodate', 'tool_langimport', $langcode);
break;
}
}
return $updatedpacks;
}
/**
* Uninstall language pack
*
* @param string $lang language code
* @return bool true if language succesfull installed
*/
public function uninstall_language($lang) {
global $CFG;
$dest1 = $CFG->dataroot.'/lang/'.$lang;
$dest2 = $CFG->dirroot.'/lang/'.$lang;
$rm1 = false;
$rm2 = false;
if (file_exists($dest1)) {
$rm1 = remove_dir($dest1);
}
if (file_exists($dest2)) {
$rm2 = remove_dir($dest2);
}
if ($rm1 or $rm2) {
$this->info[] = get_string('langpackremoved', 'tool_langimport', $lang);
event\langpack_removed::event_with_langcode($lang)->trigger();
return true;
} else { // Nothing deleted, possibly due to permission error.
$this->errors[] = 'An error has occurred, language pack is not completely uninstalled, please check file permissions';
return false;
}
}
/**
* Updated all install language packs with the latest found on servre
*
* @return bool true if languages succesfully updated.
*/
public function update_all_installed_languages() {
global $CFG;
if (!$availablelangs = $this->installer->get_remote_list_of_languages()) {
$this->errors[] = get_string('cannotdownloadlanguageupdatelist', 'error');
return false;
}
$md5array = array(); // Convert to (string)langcode => (string)md5.
foreach ($availablelangs as $alang) {
$md5array[$alang[0]] = $alang[1];
}
// Filter out unofficial packs.
$currentlangs = array_keys(get_string_manager()->get_list_of_translations(true));
$updateablelangs = array();
foreach ($currentlangs as $clang) {
if (!array_key_exists($clang, $md5array)) {
$noticeok[] = get_string('langpackupdateskipped', 'tool_langimport', $clang);
continue;
}
$dest1 = $CFG->dataroot.'/lang/'.$clang;
$dest2 = $CFG->dirroot.'/lang/'.$clang;
if (file_exists($dest1.'/langconfig.php') || file_exists($dest2.'/langconfig.php')) {
$updateablelangs[] = $clang;
}
}
// Filter out packs that have the same md5 key.
$neededlangs = array();
foreach ($updateablelangs as $ulang) {
if (!$this->is_installed_lang($ulang, $md5array[$ulang])) {
$neededlangs[] = $ulang;
}
}
// Clean-up currently installed versions of the packs.
foreach ($neededlangs as $packindex => $pack) {
if ($pack == 'en') {
continue;
}
// Delete old directories.
$dest1 = $CFG->dataroot.'/lang/'.$pack;
$dest2 = $CFG->dirroot.'/lang/'.$pack;
if (file_exists($dest1)) {
if (!remove_dir($dest1)) {
$noticeerror[] = 'Could not delete old directory '.$dest1.', update of '.$pack
.' failed, please check permissions.';
unset($neededlangs[$packindex]);
continue;
}
}
if (file_exists($dest2)) {
if (!remove_dir($dest2)) {
$noticeerror[] = 'Could not delete old directory '.$dest2.', update of '.$pack
.' failed, please check permissions.';
unset($neededlangs[$packindex]);
continue;
}
}
}
try {
$updated = $this->install_languagepacks($neededlangs, true);
} catch (\moodle_exception $e) {
return false;
}
if ($updated) {
$this->info[] = get_string('langupdatecomplete', 'tool_langimport');
} else {
$this->info[] = get_string('nolangupdateneeded', 'tool_langimport');
}
return true;
}
/**
* checks the md5 of the zip file, grabbed from download.moodle.org,
* against the md5 of the local language file from last update
* @param string $lang language code
* @param string $md5check md5 to check
* @return bool true if installed
*/
public function is_installed_lang($lang, $md5check) {
global $CFG;
$md5file = $CFG->dataroot.'/lang/'.$lang.'/'.$lang.'.md5';
if (file_exists($md5file)) {
return (file_get_contents($md5file) == $md5check);
}
return false;
}
}
@@ -0,0 +1,115 @@
<?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 langimport langpack imported event.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_langimport\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_langimport langpack imported event class.
*
* @property-read array $other {
* Extra information about event.
*
* - string langcode: the langpage pack code.
* }
*
* @package tool_langimport
* @since Moodle 2.8
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langpack_imported extends \core\event\base {
/**
* Create instance of event.
*
* @param string $langcode
* @return langpack_updated
*/
public static function event_with_langcode($langcode) {
$data = array(
'context' => \context_system::instance(),
'other' => array(
'langcode' => $langcode,
)
);
return self::create($data);
}
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['crud'] = 'c';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The language pack '{$this->other['langcode']}' was installed.";
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('langpackinstalledevent', 'tool_langimport');
}
/**
* Returns relevant URL.
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/langimport/');
}
/**
* Custom validation.
*
* @throws \coding_exception
*/
protected function validate_data() {
parent::validate_data();
if (!isset($this->other['langcode'])) {
throw new \coding_exception('The \'langcode\' value must be set');
}
// We can't use PARAM_LANG here as the string manager might not be aware of langpack yet.
$cleanedlang = clean_param($this->other['langcode'], PARAM_SAFEDIR);
if ($cleanedlang !== $this->other['langcode']) {
throw new \coding_exception('The \'langcode\' value must be set to a valid language code');
}
}
}
@@ -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/>.
/**
* The langimport langpack removed event.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_langimport\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_langimport langpack removed event class.
*
* @property-read array $other {
* Extra information about event.
*
* - string langcode: the langpage pack code.
* }
*
* @package tool_langimport
* @since Moodle 2.8
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langpack_removed extends \core\event\base {
/**
* Create instance of event.
*
* @param string $langcode
* @return langpack_updated
*/
public static function event_with_langcode($langcode) {
$data = array(
'context' => \context_system::instance(),
'other' => array(
'langcode' => $langcode,
)
);
return self::create($data);
}
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['crud'] = 'd';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The language pack '{$this->other['langcode']}' was removed.";
}
/**
* Returns relevant URL.
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/langimport/');
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('langpackremovedevent', 'tool_langimport');
}
/**
* Custom validation.
*
* @throws \coding_exception
*/
protected function validate_data() {
parent::validate_data();
if (!isset($this->other['langcode'])) {
throw new \coding_exception('The \'langcode\' value must be set');
}
// We can't use PARAM_LANG here as it queries installed strings.
$cleanedlang = clean_param($this->other['langcode'], PARAM_SAFEDIR);
if ($cleanedlang !== $this->other['langcode']) {
throw new \coding_exception('The \'langcode\' value must be set to a valid language code');
}
}
}
@@ -0,0 +1,115 @@
<?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 langimport langpack updated event.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_langimport\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_langimport langpack updated event class.
*
* @property-read array $other {
* Extra information about event.
*
* - string langcode: the langpage pack code.
* }
*
* @package tool_langimport
* @since Moodle 2.8
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langpack_updated extends \core\event\base {
/**
* Create instance of event.
*
* @param string $langcode
* @return langpack_updated
*/
public static function event_with_langcode($langcode) {
$data = array(
'context' => \context_system::instance(),
'other' => array(
'langcode' => $langcode,
)
);
return self::create($data);
}
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['crud'] = 'u';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The language pack '{$this->other['langcode']}' was updated.";
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('langpackupdatedevent', 'tool_langimport');
}
/**
* Returns relevant URL.
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/langimport/');
}
/**
* Custom validation.
*
* @throws \coding_exception
*/
protected function validate_data() {
parent::validate_data();
if (!isset($this->other['langcode'])) {
throw new \coding_exception('The \'langcode\' value must be set');
}
$cleanedlang = clean_param($this->other['langcode'], PARAM_LANG);
if ($cleanedlang !== $this->other['langcode']) {
throw new \coding_exception('The \'langcode\' value must be set to a valid language code');
}
}
}
@@ -0,0 +1,71 @@
<?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/>.
/**
* A scheduled task for updating langpacks.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_langimport\task;
/**
* A scheduled task for updating langpacks.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class update_langpacks_task extends \core\task\scheduled_task {
/**
* Get a descriptive name for this task (shown to admins).
*
* @return string
*/
public function get_name() {
return get_string('updatelangs', 'tool_langimport');
}
/**
* Run langpack update
*/
public function execute() {
global $CFG;
if (!empty($CFG->skiplangupgrade)) {
mtrace('Langpack update skipped. ($CFG->skiplangupgrade set)');
return;
}
$controller = new \tool_langimport\controller();
if ($controller->update_all_installed_languages()) {
foreach ($controller->info as $message) {
mtrace($message);
}
return true;
} else {
foreach ($controller->errors as $message) {
mtrace($message);
}
return false;
}
}
}
+38
View File
@@ -0,0 +1,38 @@
<?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/>.
/**
* Definition of langimport tasks
*
* @package tool_langimport
* @category task
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$tasks = array(
array(
'classname' => 'tool_langimport\task\update_langpacks_task',
'blocking' => 0,
'minute' => 'R',
'hour' => '4',
'day' => '*',
'month' => '*',
'dayofweek' => '*'
)
);
+15 -166
View File
@@ -17,7 +17,7 @@
/**
* Fetches language packages from download.moodle.org server
*
* Language packages are available at http://download.moodle.org/langpack/
* Language packages are available at https://download.moodle.org/langpack/
* in ZIP format together with a file languages.md5 containing their hashes
* and meta info.
* Locally, language packs are saved into $CFG->dataroot/lang/
@@ -28,10 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(dirname(dirname(dirname(dirname(__FILE__)))) . '/config.php');
require(__DIR__.'/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/filelib.php');
require_once($CFG->libdir.'/componentlib.class.php');
admin_externalpage_setup('toollangimport');
@@ -65,37 +63,17 @@ define('UPDATE_ALL_LANG', 5);
get_string_manager()->reset_caches();
$notice_ok = array();
$notice_error = array();
$controller = new tool_langimport\controller();
if (($mode == INSTALLATION_OF_SELECTED_LANG) and confirm_sesskey() and !empty($pack)) {
core_php_time_limit::raise();
make_temp_directory('');
make_upload_directory('lang');
$installer = new lang_installer($pack);
$results = $installer->run();
foreach ($results as $langcode => $langstatus) {
switch ($langstatus) {
case lang_installer::RESULT_DOWNLOADERROR:
$a = new stdClass();
$a->url = $installer->lang_pack_url($langcode);
$a->dest = $CFG->dataroot.'/lang';
print_error('remotedownloaderror', 'error', 'index.php', $a);
break;
case lang_installer::RESULT_INSTALLED:
$notice_ok[] = get_string('langpackinstalled', 'tool_langimport', $langcode);
break;
case lang_installer::RESULT_UPTODATE:
$notice_ok[] = get_string('langpackuptodate', 'tool_langimport', $langcode);
break;
}
}
$controller->install_languagepacks($pack);
}
if ($mode == DELETION_OF_SELECTED_LANG and !empty($uninstalllang)) {
if ($uninstalllang == 'en') {
$notice_error[] = 'English language pack can not be uninstalled';
// TODO.
$controller->errors[] = 'English language pack can not be uninstalled';
} else if (!$confirm and confirm_sesskey()) {
echo $OUTPUT->header();
@@ -106,120 +84,13 @@ if ($mode == DELETION_OF_SELECTED_LANG and !empty($uninstalllang)) {
die;
} else if (confirm_sesskey()) {
$dest1 = $CFG->dataroot.'/lang/'.$uninstalllang;
$dest2 = $CFG->dirroot.'/lang/'.$uninstalllang;
$rm1 = false;
$rm2 = false;
if (file_exists($dest1)){
$rm1 = remove_dir($dest1);
}
if (file_exists($dest2)){
$rm2 = remove_dir($dest2);
}
if ($rm1 or $rm2) {
$notice_ok[] = get_string('langpackremoved', 'tool_langimport');
} else { //nothing deleted, possibly due to permission error
$notice_error[] = 'An error has occurred, language pack is not completely uninstalled, please check file permissions';
}
$controller->uninstall_language($uninstalllang);
}
}
if ($mode == UPDATE_ALL_LANG) {
core_php_time_limit::raise();
$installer = new lang_installer();
if (!$availablelangs = $installer->get_remote_list_of_languages()) {
print_error('cannotdownloadlanguageupdatelist', 'error');
}
$md5array = array(); // (string)langcode => (string)md5
foreach ($availablelangs as $alang) {
$md5array[$alang[0]] = $alang[1];
}
// filter out unofficial packs
$currentlangs = array_keys(get_string_manager()->get_list_of_translations(true));
$updateablelangs = array();
foreach ($currentlangs as $clang) {
if (!array_key_exists($clang, $md5array)) {
$notice_ok[] = get_string('langpackupdateskipped', 'tool_langimport', $clang);
continue;
}
$dest1 = $CFG->dataroot.'/lang/'.$clang;
$dest2 = $CFG->dirroot.'/lang/'.$clang;
if (file_exists($dest1.'/langconfig.php') || file_exists($dest2.'/langconfig.php')){
$updateablelangs[] = $clang;
}
}
// then filter out packs that have the same md5 key
$neededlangs = array(); // all the packs that needs updating
foreach ($updateablelangs as $ulang) {
if (!is_installed_lang($ulang, $md5array[$ulang])) {
$neededlangs[] = $ulang;
}
}
make_temp_directory('');
make_upload_directory('lang');
// clean-up currently installed versions of the packs
foreach ($neededlangs as $packindex => $pack) {
if ($pack == 'en') {
continue;
}
// delete old directories
$dest1 = $CFG->dataroot.'/lang/'.$pack;
$dest2 = $CFG->dirroot.'/lang/'.$pack;
$rm1 = false;
$rm2 = false;
if (file_exists($dest1)) {
if (!remove_dir($dest1)) {
$notice_error[] = 'Could not delete old directory '.$dest1.', update of '.$pack.' failed, please check permissions.';
unset($neededlangs[$packindex]);
continue;
}
}
if (file_exists($dest2)) {
if (!remove_dir($dest2)) {
$notice_error[] = 'Could not delete old directory '.$dest2.', update of '.$pack.' failed, please check permissions.';
unset($neededlangs[$packindex]);
continue;
}
}
}
// install all needed language packs
$installer->set_queue($neededlangs);
$results = $installer->run();
$updated = false; // any packs updated?
foreach ($results as $langcode => $langstatus) {
switch ($langstatus) {
case lang_installer::RESULT_DOWNLOADERROR:
$a = new stdClass();
$a->url = $installer->lang_pack_url($langcode);
$a->dest = $CFG->dataroot.'/lang';
print_error('remotedownloaderror', 'error', 'index.php', $a);
break;
case lang_installer::RESULT_INSTALLED:
$updated = true;
$notice_ok[] = get_string('langpackinstalled', 'tool_langimport', $langcode);
break;
case lang_installer::RESULT_UPTODATE:
$notice_ok[] = get_string('langpackuptodate', 'tool_langimport', $langcode);
break;
}
}
if ($updated) {
$notice_ok[] = get_string('langupdatecomplete', 'tool_langimport');
} else {
$notice_ok[] = get_string('nolangupdateneeded', 'tool_langimport');
}
unset($installer);
$controller->update_all_installed_languages();
}
get_string_manager()->reset_caches();
@@ -239,9 +110,7 @@ foreach ($installedlangs as $installedlang => $unused) {
}
}
$installer = new lang_installer();
if ($availablelangs = $installer->get_remote_list_of_languages()) {
if ($availablelangs = $controller->availablelangs) {
$remote = true;
} else {
$remote = false;
@@ -251,18 +120,18 @@ if ($availablelangs = $installer->get_remote_list_of_languages()) {
echo $OUTPUT->box_end();
}
if ($notice_ok) {
$info = implode('<br />', $notice_ok);
if ($controller->info) {
$info = implode('<br />', $controller->info);
echo $OUTPUT->notification($info, 'notifysuccess');
}
if ($notice_error) {
$info = implode('<br />', $notice_error);
if ($controller->errors) {
$info = implode('<br />', $controller->errors);
echo $OUTPUT->notification($info, 'notifyproblem');
}
if ($missingparents) {
foreach ($missingparents as $l=>$parent) {
foreach ($missingparents as $l => $parent) {
$a = new stdClass();
$a->lang = $installedlangs[$l];
$a->parent = $parent;
@@ -306,7 +175,7 @@ echo html_writer::end_tag('td');
// list of available languages
$options = array();
foreach ($availablelangs as $alang) {
if (!empty($alang[0]) and trim($alang[0]) !== 'en' and !is_installed_lang($alang[0], $alang[1])) {
if (!empty($alang[0]) and trim($alang[0]) !== 'en' and !$controller->is_installed_lang($alang[0], $alang[1])) {
$options[$alang[0]] = $alang[2].' ('.$alang[0].')';
}
}
@@ -331,23 +200,3 @@ echo html_writer::end_tag('table');
echo $OUTPUT->box_end();
echo $OUTPUT->footer();
die();
////////////////////////////////////////////////////////////////////////////////
// Local functions /////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/**
* checks the md5 of the zip file, grabbed from download.moodle.org,
* against the md5 of the local language file from last update
* @param string $lang
* @param string $md5check
* @return bool
*/
function is_installed_lang($lang, $md5check) {
global $CFG;
$md5file = $CFG->dataroot.'/lang/'.$lang.'/'.$lang.'.md5';
if (file_exists($md5file)){
return (file_get_contents($md5file) == $md5check);
}
return false;
}
@@ -27,17 +27,21 @@ $string['install'] = 'Install selected language pack(s)';
$string['installedlangs'] = 'Installed language packs';
$string['langimport'] = 'Language import utility';
$string['langimportdisabled'] = 'Language import feature has been disabled. You have to update your language packs manually at the file-system level. Do not forget to purge string caches after you do so.';
$string['langpackinstalled'] = 'Language pack {$a} was successfully installed';
$string['langpackremoved'] = 'Language pack was uninstalled';
$string['langpackupdateskipped'] = 'Update of {$a} language pack skipped';
$string['langpackuptodate'] = 'Language pack {$a} is up-to-date';
$string['langpackinstalled'] = 'Language pack \'{$a}\' was successfully installed';
$string['langpackinstalledevent'] = 'Language pack installed';
$string['langpackremoved'] = 'Language pack \'{$a}\' was uninstalled';
$string['langpackremovedevent'] = 'Language pack uninstalled';
$string['langpackupdateskipped'] = 'Update of \'{$a}\' language pack skipped';
$string['langpackuptodate'] = 'Language pack \'{$a}\' is up-to-date';
$string['langpackupdated'] = 'Language pack \'{$a}\' was successfully updated';
$string['langpackupdatedevent'] = 'Language pack updated';
$string['langupdatecomplete'] = 'Language pack update completed';
$string['missingcfglangotherroot'] = 'Missing configuration value $CFG->langotherroot';
$string['missinglangparent'] = 'Missing parent language <em>{$a->parent}</em> of <em>{$a->lang}</em>.';
$string['nolangupdateneeded'] = 'All your language packs are up to date, no update is needed';
$string['pluginname'] = 'Language packs';
$string['purgestringcaches'] = 'Purge string caches';
$string['remotelangnotavailable'] = 'Because Moodle cannot connect to download.moodle.org, it is not possible for language packs to be installed automatically. Please download the appropriate ZIP file(s) from <a href="http://download.moodle.org/langpack/">download.moodle.org/langpack</a>, copy them to your {$a} directory and unzip them manually.';
$string['remotelangnotavailable'] = 'Because Moodle cannot connect to download.moodle.org, it is not possible for language packs to be installed automatically. Please download the appropriate ZIP file(s) from <a href="https://download.moodle.org/langpack/">download.moodle.org/langpack</a>, copy them to your {$a} directory and unzip them manually.';
$string['uninstall'] = 'Uninstall selected language pack';
$string['uninstallconfirm'] = 'You are about to completely uninstall language pack {$a}, are you sure?';
$string['updatelangs'] = 'Update all installed language packs';
@@ -0,0 +1,81 @@
<?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 steps definitions for Language import tool
*
* @package tool_langimport
* @category test
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @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');
use Moodle\BehatExtension\Exception\SkippedException;
/**
* Steps definitions related with the Language import tool
*
* @package tool_langimport
* @category test
* @copyright 2014 Dan Poltawski <dan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class behat_tool_langimport extends behat_base {
/**
* This step looks to see if the remote language import tests should be run (indicated by
* setting TOOL_LANGIMPORT_REMOTE_TESTS in config.php.
*
* @Given /^remote langimport tests are enabled$/
*/
public function remote_langimport_tests_are_enabled() {
if (!defined('TOOL_LANGIMPORT_REMOTE_TESTS')) {
throw new SkippedException('To run the remote langimport tests you must '.
'define TOOL_LANGIMPORT_REMOTE_TESTS in config.php');
}
}
/**
* Downloads a langpack and fakes it being outdated
*
* @param string $langcode The language code (e.g. en)
* @Given /^outdated langpack \'([^\']*)\' is installed$/
*/
public function outdated_langpack_is_installed($langcode) {
global $CFG;
require_once($CFG->libdir.'/componentlib.class.php');
// Download the langpack.
$dir = make_upload_directory('lang');
$installer = new lang_installer($langcode);
$result = $installer->run();
if ($result[$langcode] !== lang_installer::RESULT_INSTALLED) {
throw new coding_exception("Failed to install langpack '$langcode'");
}
$path = "$dir/$langcode/$langcode.md5";
if (!file_exists($path)) {
throw new coding_exception("Failed to find '$langcode' checksum");
}
file_put_contents($path, '000000');
}
}
@@ -0,0 +1,59 @@
@tool @tool_langimport
Feature: Manage language packs
In order to support different languages
As an administrator
I need to be able to add, update and remove language packs
Background:
Given remote langimport tests are enabled
# The pirate language pack is used for testing because its small to download.
Scenario: Install language pack
Given I log in as "admin"
And I navigate to "Language packs" node in "Site administration > Language"
When I set the field "Available language packs" to "English - Pirate (en_ar)"
And I press "Install selected language pack(s)"
Then I should see "Language pack 'en_ar' was successfully installed"
And the "Installed language packs" select box should contain "English - Pirate (en_ar)"
And I navigate to "Live logs" node in "Site administration > Reports"
And I should see "The language pack 'en_ar' was installed."
And I log out
Scenario: Update language pack
Given outdated langpack 'en_ar' is installed
And I log in as "admin"
And I navigate to "Language packs" node in "Site administration > Language"
When I press "Update all installed language packs"
Then I should see "Language pack 'en_ar' was successfully updated"
And I should see "Language pack update completed"
And I navigate to "Live logs" node in "Site administration > Reports"
And I should see "The language pack 'en_ar' was updated."
And I log out
Scenario: Try to uninstall language pack
Given I log in as "admin"
And I navigate to "Language packs" node in "Site administration > Language"
And I set the field "Available language packs" to "English - Pirate (en_ar)"
And I press "Install selected language pack(s)"
When I set the field "Installed language packs" to "English - Pirate (en_ar)"
And I press "Uninstall selected language pack"
And I press "Continue"
Then I should see "Language pack 'en_ar' was uninstalled"
And the "Installed language packs" select box should not contain "English - Pirate (en_ar)"
And the "Available language packs" select box should contain "English - Pirate (en_ar)"
And I navigate to "Live logs" node in "Site administration > Reports"
And I should see "The language pack 'en_ar' was removed."
And I should see "Language pack uninstalled"
And I log out
Scenario: Try to uninstall English language pack
Given I log in as "admin"
And I navigate to "Language packs" node in "Site administration > Language"
When I set the field "Installed language packs" to "English (en)"
And I press "Uninstall selected language pack"
Then I should see "English language pack can not be uninstalled"
And I navigate to "Live logs" node in "Site administration > Reports"
And I should not see "Language pack uninstalled"
And I log out
+102
View File
@@ -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/>.
/**
* Tests for langimport events.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
defined('MOODLE_INTERNAL') || die();
/**
* Test class for langimport events.
*
* @package tool_langimport
* @copyright 2014 Dan Poltawski
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class tool_langimport_events_testcase extends advanced_testcase {
/**
* Setup testcase.
*/
public function setUp() {
$this->setAdminUser();
$this->resetAfterTest();
}
public function test_langpack_updated() {
global $CFG;
$event = \tool_langimport\event\langpack_updated::event_with_langcode($CFG->lang);
// Trigger and capture the event.
$sink = $this->redirectEvents();
$event->trigger();
$events = $sink->get_events();
$event = reset($events);
$this->assertInstanceOf('\tool_langimport\event\langpack_updated', $event);
$this->assertEquals(context_system::instance(), $event->get_context());
}
public function test_langpack_updated_validation() {
$this->setExpectedException('coding_exception', 'The \'langcode\' value must be set to a valid language code');
\tool_langimport\event\langpack_updated::event_with_langcode('broken langcode');
}
public function test_langpack_installed() {
$event = \tool_langimport\event\langpack_imported::event_with_langcode('fr');
// Trigger and capture the event.
$sink = $this->redirectEvents();
$event->trigger();
$events = $sink->get_events();
$event = reset($events);
$this->assertInstanceOf('\tool_langimport\event\langpack_imported', $event);
$this->assertEquals(context_system::instance(), $event->get_context());
}
public function test_langpack_installed_validation() {
$this->setExpectedException('coding_exception', 'The \'langcode\' value must be set to a valid language code');
\tool_langimport\event\langpack_imported::event_with_langcode('broken langcode');
}
public function test_langpack_removed() {
$event = \tool_langimport\event\langpack_removed::event_with_langcode('fr');
// Trigger and capture the event.
$sink = $this->redirectEvents();
$event->trigger();
$events = $sink->get_events();
$event = reset($events);
$this->assertInstanceOf('\tool_langimport\event\langpack_removed', $event);
$this->assertEquals(context_system::instance(), $event->get_context());
}
public function test_langpack_removed_validation() {
$this->setExpectedException('coding_exception', 'The \'langcode\' value must be set to a valid language code');
\tool_langimport\event\langpack_removed::event_with_langcode('broken langcode');
}
}
+2 -2
View File
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014050800; // Requires this Moodle version
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014110400; // Requires this Moodle version
$plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
@@ -72,7 +72,7 @@ trait buffered_writer {
$entry['other'] = serialize($entry['other']);
$entry['origin'] = $PAGE->requestorigin;
$entry['ip'] = $PAGE->requestip;
$entry['realuserid'] = \core\session\manager::is_loggedinas() ? $_SESSION['USER']->realuser : null;
$entry['realuserid'] = \core\session\manager::is_loggedinas() ? $GLOBALS['USER']->realuser : null;
$this->buffer[] = $entry;
$this->count++;
+5 -2
View File
@@ -213,11 +213,14 @@ class manager implements \core\log\manager {
* @param string $info Additional description information
* @param int $cm The course_module->id if there is one
* @param int|\stdClass $user If log regards $user other than $USER
* @param string $ip Override the IP, should only be used for restore.
* @param int $time Override the log time, should only be used for restore.
*/
public function legacy_add_to_log($courseid, $module, $action, $url = '', $info = '', $cm = 0, $user = 0) {
public function legacy_add_to_log($courseid, $module, $action, $url = '', $info = '',
$cm = 0, $user = 0, $ip = null, $time = null) {
$this->init();
if (isset($this->stores['logstore_legacy'])) {
$this->stores['logstore_legacy']->legacy_add_to_log($courseid, $module, $action, $url, $info, $cm, $user);
$this->stores['logstore_legacy']->legacy_add_to_log($courseid, $module, $action, $url, $info, $cm, $user, $ip, $time);
}
}
}
+6
View File
@@ -43,5 +43,11 @@ function xmldb_tool_log_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2014040600, 'tool', 'log');
}
// Moodle v2.7.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.8.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
+1 -1
View File
@@ -23,7 +23,7 @@
*/
$string['actlogshdr'] = 'Available log stores';
$string['configlogplugins'] = 'Please enable all required plugins and arrange then in appropriate order.';
$string['configlogplugins'] = 'Please enable all required plugins and arrange them in appropriate order.';
$string['logging'] = 'Logging';
$string['managelogging'] = 'Manage log stores';
$string['reportssupported'] = 'Reports supported';
@@ -33,5 +33,11 @@ function xmldb_logstore_database_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2014041700, 'logstore', 'database');
}
// Moodle v2.7.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.8.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -130,8 +130,7 @@ class logstore_database_store_testcase extends advanced_testcase {
array('context' => context_module::instance($module2->cmid), 'other' => array('sample' => 6, 'xx' => 9)));
$event2->trigger();
$_SESSION['SESSION'] = new \stdClass();
$this->setUser(0);
\core\session\manager::init_empty_session();
$this->assertFalse(\core\session\manager::is_loggedinas());
$logs = $DB->get_records('logstore_standard_log', array(), 'id ASC');
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'logstore_database'; // Full name of the plugin (used for diagnostics).
@@ -143,8 +143,10 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader {
* @param string $info Additional description information
* @param int $cm The course_module->id if there is one
* @param int|\stdClass $user If log regards $user other than $USER
* @param string $ip Override the IP, should only be used for restore.
* @param int $time Override the log time, should only be used for restore.
*/
public function legacy_add_to_log($courseid, $module, $action, $url, $info, $cm, $user) {
public function legacy_add_to_log($courseid, $module, $action, $url, $info, $cm, $user, $ip = null, $time = null) {
// Note that this function intentionally does not follow the normal Moodle DB access idioms.
// This is for a good reason: it is the most frequently used DB update function,
// so it has been optimised for speed.
@@ -172,9 +174,9 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader {
}
}
$remoteaddr = getremoteaddr();
$remoteaddr = (is_null($ip)) ? getremoteaddr() : $ip;
$timenow = time();
$timenow = (is_null($time)) ? time() : $time;
if (!empty($url)) { // Could break doing html_entity_decode on an empty var.
$url = html_entity_decode($url, ENT_QUOTES, 'UTF-8');
} else {
@@ -185,6 +187,11 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader {
// database so that it doesn't cause a DB error. Log a warning so that
// developers can avoid doing things which are likely to cause this on a
// routine basis.
if (\core_text::strlen($action) > 40) {
$action = \core_text::substr($action, 0, 37) . '...';
debugging('Warning: logged very long action', DEBUG_DEVELOPER);
}
if (!empty($info) && \core_text::strlen($info) > 255) {
$info = \core_text::substr($info, 0, 252) . '...';
debugging('Warning: logged very long info', DEBUG_DEVELOPER);
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'logstore_legacy'; // Full name of the plugin (used for diagnostics).
@@ -111,5 +111,11 @@ function xmldb_logstore_standard_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2014041500, 'logstore', 'standard');
}
// Moodle v2.7.0 release upgrade line.
// Put any upgrade step following this.
// Moodle v2.8.0 release upgrade line.
// Put any upgrade step following this.
return true;
}
@@ -95,8 +95,7 @@ class logstore_standard_store_testcase extends advanced_testcase {
$event2->trigger();
logstore_standard_restore::hack_executing(0);
$_SESSION['SESSION'] = new \stdClass();
$this->setUser(0);
\core\session\manager::init_empty_session();
$this->assertFalse(\core\session\manager::is_loggedinas());
$logs = $DB->get_records('logstore_standard_log', array(), 'id ASC');
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'logstore_standard'; // Full name of the plugin (used for diagnostics).
+2 -2
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014051200; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014050800; // Requires this Moodle version.
$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).
@@ -0,0 +1,106 @@
<?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/>.
/**
* Form to edit handlers.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @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 edit handlers.
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_messageinbound_edit_handler_form extends moodleform {
public function definition() {
$mform = $this->_form;
$handler = $this->_customdata['handler'];
// Set up the options for formatting text for descriptions, etc.
$formatoptions = new stdClass();
$formatoptions->trusted = false;
$formatoptions->noclean = false;
$formatoptions->smiley = false;
$formatoptions->filter = false;
$formatoptions->para = true;
$formatoptions->newlines = false;
$formatoptions->overflowdiv = true;
// General information about the handler.
$mform->addElement('header', 'general', get_string('general'));
$mform->addElement('static', 'name', get_string('name', 'tool_messageinbound'),
$handler->name);
$mform->addElement('static', 'classname', get_string('classname', 'tool_messageinbound'));
$description = format_text($handler->description, FORMAT_MARKDOWN, $formatoptions);
$mform->addElement('static', 'description', get_string('description', 'tool_messageinbound'),
$description);
// Items which can be configured.
$mform->addElement('header', 'configuration', get_string('configuration'));
$options = array(
HOURSECS => get_string('onehour', 'tool_messageinbound'),
DAYSECS => get_string('oneday', 'tool_messageinbound'),
WEEKSECS => get_string('oneweek', 'tool_messageinbound'),
YEARSECS => get_string('oneyear', 'tool_messageinbound'),
0 => get_string('noexpiry', 'tool_messageinbound'),
);
$mform->addElement('select', 'defaultexpiration', get_string('defaultexpiration', 'tool_messageinbound'), $options);
$mform->addHelpButton('defaultexpiration', 'defaultexpiration', 'tool_messageinbound');
if ($handler->can_change_validateaddress()) {
$mform->addElement('checkbox', 'validateaddress', get_string('requirevalidation', 'tool_messageinbound'));
$mform->addHelpButton('validateaddress', 'validateaddress', 'tool_messageinbound');
} else {
if ($handler->validateaddress) {
$text = get_string('yes');
} else {
$text = get_string('no');
}
$mform->addElement('static', 'validateaddress_fake', get_string('requirevalidation', 'tool_messageinbound'), $text);
$mform->addElement('hidden', 'validateaddress');
$mform->addHelpButton('validateaddress_fake', 'fixedvalidateaddress', 'tool_messageinbound');
$mform->setType('validateaddress', PARAM_INT);
}
if ($handler->can_change_enabled()) {
$mform->addElement('checkbox', 'enabled', get_string('enabled', 'tool_messageinbound'));
} else {
if ($handler->enabled) {
$text = get_string('yes');
} else {
$text = get_string('no');
}
$mform->addElement('static', 'enabled_fake', get_string('enabled', 'tool_messageinbound'), $text);
$mform->addHelpButton('enabled', 'fixedenabled', 'tool_messageinbound');
$mform->addElement('hidden', 'enabled');
$mform->setType('enabled', PARAM_INT);
}
$this->add_action_buttons(true, get_string('savechanges'));
}
}
@@ -0,0 +1,998 @@
<?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 Mail Pickup Manager.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_messageinbound;
defined('MOODLE_INTERNAL') || die();
/**
* Mail Pickup Manager.
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class manager {
/**
* @var string The main mailbox to check.
*/
const MAILBOX = 'INBOX';
/**
* @var string The mailbox to store messages in when they are awaiting confirmation.
*/
const CONFIRMATIONFOLDER = 'tobeconfirmed';
/**
* @var string The flag for seen/read messages.
*/
const MESSAGE_SEEN = '\seen';
/**
* @var string The flag for flagged messages.
*/
const MESSAGE_FLAGGED = '\flagged';
/**
* @var string The flag for deleted messages.
*/
const MESSAGE_DELETED = '\deleted';
/**
* @var Horde_Imap_Client_Socket A reference to the IMAP client.
*/
protected $client = null;
/**
* @var \core\message\inbound\address_manager A reference to the Inbound Message Address Manager instance.
*/
protected $addressmanager = null;
/**
* @var stdClass The data for the current message being processed.
*/
protected $currentmessagedata = null;
/**
* Retrieve the connection to the IMAP client.
*
* @return bool Whether a connection was successfully established.
*/
protected function get_imap_client() {
global $CFG;
if (!\core\message\inbound\manager::is_enabled()) {
// E-mail processing not set up.
mtrace("Inbound Message not fully configured - exiting early.");
return false;
}
mtrace("Connecting to {$CFG->messageinbound_host} as {$CFG->messageinbound_hostuser}...");
$configuration = array(
'username' => $CFG->messageinbound_hostuser,
'password' => $CFG->messageinbound_hostpass,
'hostspec' => $CFG->messageinbound_host,
'secure' => $CFG->messageinbound_hostssl,
);
$this->client = new \Horde_Imap_Client_Socket($configuration);
try {
$this->client->login();
mtrace("Connection established.");
return true;
} catch (\Horde_Imap_Client_Exception $e) {
$message = $e->getMessage();
mtrace("Unable to connect to IMAP server. Failed with '{$message}'");
return false;
}
}
/**
* Shutdown and close the connection to the IMAP client.
*/
protected function close_connection() {
if ($this->client) {
$this->client->close();
}
$this->client = null;
}
/**
* Get the current mailbox information.
*
* @return \Horde_Imap_Client_Mailbox
*/
protected function get_mailbox() {
// Get the current mailbox.
$mailbox = $this->client->currentMailbox();
if (isset($mailbox['mailbox'])) {
return $mailbox['mailbox'];
} else {
throw new \core\message\inbound\processing_failed_exception('couldnotopenmailbox', 'tool_messageinbound');
}
}
/**
* Execute the main Inbound Message pickup task.
*/
public function pickup_messages() {
if (!$this->get_imap_client()) {
return false;
}
// Restrict results to messages which are unseen, and have not been flagged.
$search = new \Horde_Imap_Client_Search_Query();
$search->flag(self::MESSAGE_SEEN, false);
$search->flag(self::MESSAGE_FLAGGED, false);
mtrace("Searching for Unseen, Unflagged email in the folder '" . self::MAILBOX . "'");
$results = $this->client->search(self::MAILBOX, $search);
// We require the envelope data and structure of each message.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->envelope();
$query->structure();
// Retrieve the message id.
$messages = $this->client->fetch(self::MAILBOX, $query, array('ids' => $results['match']));
mtrace("Found " . $messages->count() . " messages to parse. Parsing...");
$this->addressmanager = new \core\message\inbound\address_manager();
foreach ($messages as $message) {
$this->process_message($message);
}
// Close the client connection.
$this->close_connection();
return true;
}
/**
* Process a message received and validated by the Inbound Message processor.
*
* @param stdClass $maildata The data retrieved from the database for the current record.
* @return bool Whether the message was successfully processed.
*/
public function process_existing_message(\stdClass $maildata) {
// Grab the new IMAP client.
if (!$this->get_imap_client()) {
return false;
}
// Build the search.
$search = new \Horde_Imap_Client_Search_Query();
// When dealing with Inbound Message messages, we mark them as flagged and seen. Restrict the search to those criterion.
$search->flag(self::MESSAGE_SEEN, true);
$search->flag(self::MESSAGE_FLAGGED, true);
mtrace("Searching for a Seen, Flagged message in the folder '" . self::CONFIRMATIONFOLDER . "'");
// Match the message ID.
$search->headerText('message-id', $maildata->messageid);
$search->headerText('to', $maildata->address);
$results = $this->client->search(self::CONFIRMATIONFOLDER, $search);
// Build the base query.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->envelope();
$query->structure();
// Fetch the first message from the client.
$messages = $this->client->fetch(self::CONFIRMATIONFOLDER, $query, array('ids' => $results['match']));
$this->addressmanager = new \core\message\inbound\address_manager();
if ($message = $messages->first()) {
mtrace("--> Found the message. Passing back to the pickup system.");
// Process the message.
$this->process_message($message, true, true);
// Close the client connection.
$this->close_connection();
mtrace("============================================================================");
return true;
} else {
// Close the client connection.
$this->close_connection();
mtrace("============================================================================");
throw new \core\message\inbound\processing_failed_exception('oldmessagenotfound', 'tool_messageinbound');
}
}
/**
* Tidy up old messages in the confirmation folder.
*
* @return bool Whether tidying occurred successfully.
*/
public function tidy_old_messages() {
// Grab the new IMAP client.
if (!$this->get_imap_client()) {
return false;
}
// Open the mailbox.
mtrace("Searching for messages older than 24 hours in the '" .
self::CONFIRMATIONFOLDER . "' folder.");
$this->client->openMailbox(self::CONFIRMATIONFOLDER);
$mailbox = $this->get_mailbox();
// Build the search.
$search = new \Horde_Imap_Client_Search_Query();
// Delete messages older than 24 hours old.
$search->intervalSearch(DAYSECS, \Horde_Imap_Client_Search_Query::INTERVAL_OLDER);
$results = $this->client->search($mailbox, $search);
// Build the base query.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->envelope();
// Retrieve the messages and mark them for removal.
$messages = $this->client->fetch($mailbox, $query, array('ids' => $results['match']));
mtrace("Found " . $messages->count() . " messages for removal.");
foreach ($messages as $message) {
$this->add_flag_to_message($message->getUid(), self::MESSAGE_DELETED);
}
mtrace("Finished removing messages.");
$this->close_connection();
return true;
}
/**
* Process a message and pass it through the Inbound Message handling systems.
*
* @param Horde_Imap_Client_Data_Fetch $message The message to process
* @param bool $viewreadmessages Whether to also look at messages which have been marked as read
* @param bool $skipsenderverification Whether to skip the sender verificiation stage
*/
public function process_message(
\Horde_Imap_Client_Data_Fetch $message,
$viewreadmessages = false,
$skipsenderverification = false) {
global $USER;
// We use the Client IDs several times - store them here.
$messageid = new \Horde_Imap_Client_Ids($message->getUid());
mtrace("- Parsing message " . $messageid);
// First flag this message to prevent another running hitting this message while we look at the headers.
$this->add_flag_to_message($messageid, self::MESSAGE_FLAGGED);
if ($this->is_bulk_message($message, $messageid)) {
mtrace("- The message has a bulk header set. This is likely an auto-generated reply - discarding.");
return;
}
// Record the user that this script is currently being run as. This is important when re-processing existing
// messages, as cron_setup_user is called multiple times.
$originaluser = $USER;
$envelope = $message->getEnvelope();
$recipients = $envelope->to->bare_addresses;
foreach ($recipients as $recipient) {
if (!\core\message\inbound\address_manager::is_correct_format($recipient)) {
// Message did not contain a subaddress.
mtrace("- Recipient '{$recipient}' did not match Inbound Message headers.");
continue;
}
// Message contained a match.
$senders = $message->getEnvelope()->from->bare_addresses;
if (count($senders) !== 1) {
mtrace("- Received multiple senders. Only the first sender will be used.");
}
$sender = array_shift($senders);
mtrace("-- Subject:\t" . $envelope->subject);
mtrace("-- From:\t" . $sender);
mtrace("-- Recipient:\t" . $recipient);
// Grab messagedata including flags.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->structure();
$messagedata = $this->client->fetch($this->get_mailbox(), $query, array(
'ids' => $messageid,
))->first();
if (!$viewreadmessages && $this->message_has_flag($messageid, self::MESSAGE_SEEN)) {
// Something else has already seen this message. Skip it now.
mtrace("-- Skipping the message - it has been marked as seen - perhaps by another process.");
continue;
}
// Mark it as read to lock the message.
$this->add_flag_to_message($messageid, self::MESSAGE_SEEN);
// Now pass it through the Inbound Message processor.
$status = $this->addressmanager->process_envelope($recipient, $sender);
if (($status & ~ \core\message\inbound\address_manager::VALIDATION_DISABLED_HANDLER) !== $status) {
// The handler is disabled.
mtrace("-- Skipped message - Handler is disabled. Fail code {$status}");
// In order to handle the user error, we need more information about the message being failed.
$this->process_message_data($envelope, $messagedata, $messageid);
$this->inform_user_of_error(get_string('handlerdisabled', 'tool_messageinbound', $this->currentmessagedata));
return;
}
// Check the validation status early. No point processing garbage messages, but we do need to process it
// for some validation failure types.
if (!$this->passes_key_validation($status, $messageid)) {
// None of the above validation failures were found. Skip this message.
mtrace("-- Skipped message - it does not appear to relate to a Inbound Message pickup. Fail code {$status}");
// Remove the seen flag from the message as there may be multiple recipients.
$this->remove_flag_from_message($messageid, self::MESSAGE_SEEN);
// Skip further processing for this recipient.
continue;
}
// Process the message as the user.
$user = $this->addressmanager->get_data()->user;
mtrace("-- Processing the message as user {$user->id} ({$user->username}).");
cron_setup_user($user);
// Process and retrieve the message data for this message.
// This includes fetching the full content, as well as all headers, and attachments.
if (!$this->process_message_data($envelope, $messagedata, $messageid)) {
mtrace("--- Message could not be found on the server. Is another process removing messages?");
return;
}
// When processing validation replies, we need to skip the sender verification phase as this has been
// manually completed.
if (!$skipsenderverification && $status !== 0) {
// Check the validation status for failure types which require confirmation.
// The validation result is tested in a bitwise operation.
mtrace("-- Message did not meet validation but is possibly recoverable. Fail code {$status}");
// This is a recoverable error, but requires user input.
if ($this->handle_verification_failure($messageid, $recipient)) {
mtrace("--- Original message retained on mail server and confirmation message sent to user.");
} else {
mtrace("--- Invalid Recipient Handler - unable to save. Informing the user of the failure.");
$this->inform_user_of_error(get_string('invalidrecipientfinal', 'tool_messageinbound', $this->currentmessagedata));
}
// Returning to normal cron user.
mtrace("-- Returning to the original user.");
cron_setup_user($originaluser);
return;
}
// Add the content and attachment data.
mtrace("-- Validation completed. Fetching rest of message content.");
$this->process_message_data_body($messagedata, $messageid);
// The message processor throws exceptions upon failure. These must be caught and notifications sent to
// the user here.
try {
$result = $this->send_to_handler();
} catch (\core\message\inbound\processing_failed_exception $e) {
// We know about these kinds of errors and they should result in the user being notified of the
// failure. Send the user a notification here.
$this->inform_user_of_error($e->getMessage());
// Returning to normal cron user.
mtrace("-- Returning to the original user.");
cron_setup_user($originaluser);
return;
} catch (\Exception $e) {
// An unknown error occurred. The user is not informed, but the administrator is.
mtrace("-- Message processing failed. An unexpected exception was thrown. Details follow.");
mtrace($e->getMessage());
// Returning to normal cron user.
mtrace("-- Returning to the original user.");
cron_setup_user($originaluser);
return;
}
if ($result) {
// Handle message cleanup. Messages are deleted once fully processed.
mtrace("-- Marking the message for removal.");
$this->add_flag_to_message($messageid, self::MESSAGE_DELETED);
} else {
mtrace("-- The Inbound Message processor did not return a success status. Skipping message removal.");
}
// Returning to normal cron user.
mtrace("-- Returning to the original user.");
cron_setup_user($originaluser);
mtrace("-- Finished processing " . $message->getUid());
// Skip the outer loop too. The message has already been processed and it could be possible for there to
// be two recipients in the envelope which match somehow.
return;
}
}
/**
* Process a message to retrieve it's header data without body and attachemnts.
*
* @param Horde_Imap_Client_Data_Envelope $envelope The Envelope of the message
* @param Horde_Imap_Client_Data_Fetch $messagedata The structure and part of the message body
* @param string|Horde_Imap_Client_Ids $messageid The Hore message Uid
* @return \stdClass The current value of the messagedata
*/
private function process_message_data(
\Horde_Imap_Client_Data_Envelope $envelope,
\Horde_Imap_Client_Data_Fetch $basemessagedata,
$messageid) {
// Get the current mailbox.
$mailbox = $this->get_mailbox();
// We need the structure at various points below.
$structure = $basemessagedata->getStructure();
// Now fetch the rest of the message content.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->imapDate();
// Fetch the message header.
$query->headerText();
// Retrieve the message with the above components.
$messagedata = $this->client->fetch($mailbox, $query, array('ids' => $messageid))->first();
if (!$messagedata) {
// Message was not found! Somehow it has been removed or is no longer returned.
return null;
}
// The message ID should always be in the first part.
$data = new \stdClass();
$data->messageid = $messagedata->getHeaderText(0, \Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->getValue('Message-ID');
$data->subject = $envelope->subject;
$data->timestamp = $messagedata->getImapDate()->__toString();
$data->envelope = $envelope;
$data->data = $this->addressmanager->get_data();
$data->headers = $messagedata->getHeaderText();
$this->currentmessagedata = $data;
return $this->currentmessagedata;
}
/**
* Process a message again to add body and attachment data.
*
* @param \Horde_Imap_Client_Data_Fetch $basemessagedata The structure and part of the message body
* @param string|\Horde_Imap_Client_Ids $messageid The Hore message Uid
* @return \stdClass The current value of the messagedata
*/
private function process_message_data_body(
\Horde_Imap_Client_Data_Fetch $basemessagedata,
$messageid) {
global $CFG;
// Get the current mailbox.
$mailbox = $this->get_mailbox();
// We need the structure at various points below.
$structure = $basemessagedata->getStructure();
// Now fetch the rest of the message content.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->fullText();
// Fetch all of the message parts too.
$typemap = $structure->contentTypeMap();
foreach ($typemap as $part => $type) {
// The body of the part - attempt to decode it on the server.
$query->bodyPart($part, array(
'decode' => true,
'peek' => true,
));
$query->bodyPartSize($part);
}
$messagedata = $this->client->fetch($mailbox, $query, array('ids' => $messageid))->first();
// Store the data for this message.
$contentplain = '';
$contenthtml = '';
$attachments = array(
'inline' => array(),
'attachment' => array(),
);
$plainpartid = $structure->findBody('plain');
$htmlpartid = $structure->findBody('html');
foreach ($typemap as $part => $type) {
// Get the message data from the body part, and combine it with the structure to give a fully-formed output.
$stream = $messagedata->getBodyPart($part, true);
$partdata = $structure->getPart($part);
$partdata->setContents($stream, array(
'usestream' => true,
));
if ($part === $plainpartid) {
$contentplain = $this->process_message_part_body($messagedata, $partdata, $part);
} else if ($part === $htmlpartid) {
$contenthtml = $this->process_message_part_body($messagedata, $partdata, $part);
} else if ($filename = $partdata->getName($part)) {
if ($attachment = $this->process_message_part_attachment($messagedata, $partdata, $part, $filename)) {
// The disposition should be one of 'attachment', 'inline'.
// If an empty string is provided, default to 'attachment'.
$disposition = $partdata->getDisposition();
$disposition = $disposition == 'inline' ? 'inline' : 'attachment';
$attachments[$disposition][] = $attachment;
}
}
// We don't handle any of the other MIME content at this stage.
}
// The message ID should always be in the first part.
$this->currentmessagedata->plain = $contentplain;
$this->currentmessagedata->html = $contenthtml;
$this->currentmessagedata->attachments = $attachments;
return $this->currentmessagedata;
}
/**
* Process the messagedata and part data to extract the content of this part.
*
* @param $messagedata The structure and part of the message body
* @param $partdata The part data
* @param $part The part ID
* @return string
*/
private function process_message_part_body($messagedata, $partdata, $part) {
// This is a content section for the main body.
// Get the string version of it.
$content = $messagedata->getBodyPart($part);
if (!$messagedata->getBodyPartDecode($part)) {
// Decode the content.
$partdata->setContents($content);
$content = $partdata->getContents();
}
// Convert the text from the current encoding to UTF8.
$content = \core_text::convert($content, $partdata->getCharset());
// Fix any invalid UTF8 characters.
// Note: XSS cleaning is not the responsibility of this code. It occurs immediately before display when
// format_text is called.
$content = clean_param($content, PARAM_RAW);
return $content;
}
/**
* Process a message again to add body and attachment data.
*
* @param $messagedata The structure and part of the message body
* @param $partdata The part data
* @param $filename The filename of the attachment
* @return \stdClass
*/
private function process_message_part_attachment($messagedata, $partdata, $part, $filename) {
global $CFG;
// For Antivirus, the repository/lib.php must be included as it is not autoloaded.
require_once($CFG->dirroot . '/repository/lib.php');
// If a filename is present, assume that this part is an attachment.
$attachment = new \stdClass();
$attachment->filename = $filename;
$attachment->type = $partdata->getType();
$attachment->content = $partdata->getContents();
$attachment->charset = $partdata->getCharset();
$attachment->description = $partdata->getDescription();
$attachment->contentid = $partdata->getContentId();
$attachment->filesize = $messagedata->getBodyPartSize($part);
if (empty($CFG->runclamonupload) or empty($CFG->pathtoclam)) {
mtrace("--> Attempting virus scan of '{$attachment->filename}'");
// Store the file on disk - it will need to be virus scanned first.
$itemid = rand(1, 999999999);;
$directory = make_temp_directory("/messageinbound/{$itemid}", false);
$filepath = $directory . "/" . $attachment->filename;
if (!$fp = fopen($filepath, "w")) {
// Unable to open the temporary file to write this to disk.
mtrace("--> Unable to save the file to disk for virus scanning. Check file permissions.");
throw new \core\message\inbound\processing_failed_exception('attachmentfilepermissionsfailed',
'tool_messageinbound');
}
fwrite($fp, $attachment->content);
fclose($fp);
// Perform a virus scan now.
try {
\repository::antivir_scan_file($filepath, $attachment->filename, true);
} catch (\moodle_exception $e) {
mtrace("--> A virus was found in the attachment '{$attachment->filename}'.");
$this->inform_attachment_virus();
return;
}
}
return $attachment;
}
/**
* Check whether the key provided is valid.
*
* @param $status The Message to process
* @param $messageid The Hore message Uid
* @return bool
*/
private function passes_key_validation($status, $messageid) {
// The validation result is tested in a bitwise operation.
if ((
$status & ~ \core\message\inbound\address_manager::VALIDATION_SUCCESS
& ~ \core\message\inbound\address_manager::VALIDATION_UNKNOWN_DATAKEY
& ~ \core\message\inbound\address_manager::VALIDATION_EXPIRED_DATAKEY
& ~ \core\message\inbound\address_manager::VALIDATION_INVALID_HASH
& ~ \core\message\inbound\address_manager::VALIDATION_ADDRESS_MISMATCH) !== 0) {
// One of the above bits was found in the status - fail the validation.
return false;
}
return true;
}
/**
* Add the specified flag to the message.
*
* @param $messageid
* @param string $flag The flag to add
*/
private function add_flag_to_message($messageid, $flag) {
// Get the current mailbox.
$mailbox = $this->get_mailbox();
// Mark it as read to lock the message.
$this->client->store($mailbox, array(
'ids' => new \Horde_Imap_Client_Ids($messageid),
'add' => $flag,
));
}
/**
* Remove the specified flag from the message.
*
* @param $messageid
* @param string $flag The flag to remove
*/
private function remove_flag_from_message($messageid, $flag) {
// Get the current mailbox.
$mailbox = $this->get_mailbox();
// Mark it as read to lock the message.
$this->client->store($mailbox, array(
'ids' => $messageid,
'delete' => $flag,
));
}
/**
* Check whether the message has the specified flag
*
* @param $messageid
* @param string $flag The flag to check
* @return bool
*/
private function message_has_flag($messageid, $flag) {
// Get the current mailbox.
$mailbox = $this->get_mailbox();
// Grab messagedata including flags.
$query = new \Horde_Imap_Client_Fetch_Query();
$query->flags();
$query->structure();
$messagedata = $this->client->fetch($mailbox, $query, array(
'ids' => $messageid,
))->first();
$flags = $messagedata->getFlags();
return in_array($flag, $flags);
}
/**
* Attempt to determine whether this message is a bulk message (e.g. automated reply).
*
* @param \Horde_Imap_Client_Data_Fetch $message The message to process
* @param string|\Horde_Imap_Client_Ids $messageid The Hore message Uid
* @return boolean
*/
private function is_bulk_message(
\Horde_Imap_Client_Data_Fetch $message,
$messageid) {
$query = new \Horde_Imap_Client_Fetch_Query();
$query->headerText(array('peek' => true));
$messagedata = $this->client->fetch($this->get_mailbox(), $query, array('ids' => $messageid))->first();
// Assume that this message is not bulk to begin with.
$isbulk = false;
// An auto-reply may itself include the Bulk Precedence.
$precedence = $messagedata->getHeaderText(0, \Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->getValue('Precedence');
$isbulk = $isbulk || strtolower($precedence) == 'bulk';
// If the X-Autoreply header is set, and not 'no', then this is an automatic reply.
$autoreply = $messagedata->getHeaderText(0, \Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->getValue('X-Autoreply');
$isbulk = $isbulk || ($autoreply && $autoreply != 'no');
// If the X-Autorespond header is set, and not 'no', then this is an automatic response.
$autorespond = $messagedata->getHeaderText(0, \Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->getValue('X-Autorespond');
$isbulk = $isbulk || ($autorespond && $autorespond != 'no');
// If the Auto-Submitted header is set, and not 'no', then this is a non-human response.
$autosubmitted = $messagedata->getHeaderText(0, \Horde_Imap_Client_Data_Fetch::HEADER_PARSE)->getValue('Auto-Submitted');
$isbulk = $isbulk || ($autosubmitted && $autosubmitted != 'no');
return $isbulk;
}
/**
* Send the message to the appropriate handler.
*
*/
private function send_to_handler() {
try {
mtrace("--> Passing to Inbound Message handler {$this->addressmanager->get_handler()->classname}");
if ($result = $this->addressmanager->handle_message($this->currentmessagedata)) {
$this->inform_user_of_success($this->currentmessagedata, $result);
// Request that this message be marked for deletion.
return true;
}
} catch (\core\message\inbound\processing_failed_exception $e) {
mtrace("-> The Inbound Message handler threw an exception. Unable to process this message. The user has been informed.");
mtrace("--> " . $e->getMessage());
// Throw the exception again, with additional data.
$error = new \stdClass();
$error->subject = $this->currentmessagedata->envelope->subject;
$error->message = $e->getMessage();
throw new \core\message\inbound\processing_failed_exception('messageprocessingfailed', 'tool_messageinbound', $error);
} catch (\Exception $e) {
mtrace("-> The Inbound Message handler threw an exception. Unable to process this message. User informed.");
mtrace("--> " . $e->getMessage());
// An unknown error occurred. Still inform the user but, this time do not include the specific
// message information.
$error = new \stdClass();
$error->subject = $this->currentmessagedata->envelope->subject;
throw new \core\message\inbound\processing_failed_exception('messageprocessingfailedunknown',
'tool_messageinbound', $error);
}
// Something went wrong and the message was not handled well in the Inbound Message handler.
mtrace("-> The Inbound Message handler reported an error. The message may not have been processed.");
// It is the responsiblity of the handler to throw an appropriate exception if the message was not processed.
// Do not inform the user at this point.
return false;
}
/**
* Handle failure of sender verification.
*
* This will send a notification to the user identified in the Inbound Message address informing them that a message has been
* stored. The message includes a verification link and reply-to address which is handled by the
* invalid_recipient_handler.
*
* @param $recipient The message recipient
*/
private function handle_verification_failure(
\Horde_Imap_Client_Ids $messageids,
$recipient) {
global $DB, $USER;
if (!$messageid = $this->currentmessagedata->messageid) {
mtrace("---> Warning: Unable to determine the Message-ID of the message.");
return false;
}
// Move the message into a new mailbox.
$this->client->copy(self::MAILBOX, self::CONFIRMATIONFOLDER, array(
'create' => true,
'ids' => $messageids,
'move' => true,
));
// Store the data from the failed message in the associated table.
$record = new \stdClass();
$record->messageid = $messageid;
$record->userid = $USER->id;
$record->address = $recipient;
$record->timecreated = time();
$record->id = $DB->insert_record('messageinbound_messagelist', $record);
// Setup the Inbound Message generator for the invalid recipient handler.
$addressmanager = new \core\message\inbound\address_manager();
$addressmanager->set_handler('\tool_messageinbound\message\inbound\invalid_recipient_handler');
$addressmanager->set_data($record->id);
$eventdata = new \stdClass();
$eventdata->component = 'tool_messageinbound';
$eventdata->name = 'invalidrecipienthandler';
$userfrom = clone $USER;
$userfrom->customheaders = array();
// Adding the In-Reply-To header ensures that it is seen as a reply.
$userfrom->customheaders[] = 'In-Reply-To: ' . $messageid;
// The message will be sent from the intended user.
$eventdata->userfrom = \core_user::get_noreply_user();
$eventdata->userto = $USER;
$eventdata->subject = $this->get_reply_subject($this->currentmessagedata->envelope->subject);
$eventdata->fullmessage = get_string('invalidrecipientdescription', 'tool_messageinbound', $this->currentmessagedata);
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = get_string('invalidrecipientdescriptionhtml', 'tool_messageinbound', $this->currentmessagedata);
$eventdata->smallmessage = $eventdata->fullmessage;
$eventdata->notification = 1;
$eventdata->replyto = $addressmanager->generate($USER->id);
mtrace("--> Sending a message to the user to report an verification failure.");
if (!message_send($eventdata)) {
mtrace("---> Warning: Message could not be sent.");
return false;
}
return true;
}
/**
* Inform the identified sender of a processing error.
*
* @param string $error The error message
*/
private function inform_user_of_error($error) {
global $USER;
// The message will be sent from the intended user.
$userfrom = clone $USER;
$userfrom->customheaders = array();
if ($messageid = $this->currentmessagedata->messageid) {
// Adding the In-Reply-To header ensures that it is seen as a reply and threading is maintained.
$userfrom->customheaders[] = 'In-Reply-To: ' . $messageid;
}
$messagedata = new \stdClass();
$messagedata->subject = $this->currentmessagedata->envelope->subject;
$messagedata->error = $error;
$eventdata = new \stdClass();
$eventdata->component = 'tool_messageinbound';
$eventdata->name = 'messageprocessingerror';
$eventdata->userfrom = $userfrom;
$eventdata->userto = $USER;
$eventdata->subject = self::get_reply_subject($this->currentmessagedata->envelope->subject);
$eventdata->fullmessage = get_string('messageprocessingerror', 'tool_messageinbound', $messagedata);
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = get_string('messageprocessingerrorhtml', 'tool_messageinbound', $messagedata);
$eventdata->smallmessage = $eventdata->fullmessage;
$eventdata->notification = 1;
if (message_send($eventdata)) {
mtrace("---> Notification sent to {$USER->email}.");
} else {
mtrace("---> Unable to send notification.");
}
}
/**
* Inform the identified sender that message processing was successful.
*
* @param stdClass $messagedata The data for the current message being processed.
* @param mixed $handlerresult The result returned by the handler.
*/
private function inform_user_of_success(\stdClass $messagedata, $handlerresult) {
global $USER;
// Check whether the handler has a success notification.
$handler = $this->addressmanager->get_handler();
$message = $handler->get_success_message($messagedata, $handlerresult);
if (!$message) {
mtrace("---> Handler has not defined a success notification e-mail.");
return false;
}
// Wrap the message in the notification wrapper.
$messageparams = new \stdClass();
$messageparams->html = $message->html;
$messageparams->plain = $message->plain;
$messagepreferencesurl = new \moodle_url("/message/edit.php", array('id' => $USER->id));
$messageparams->messagepreferencesurl = $messagepreferencesurl->out();
$htmlmessage = get_string('messageprocessingsuccesshtml', 'tool_messageinbound', $messageparams);
$plainmessage = get_string('messageprocessingsuccess', 'tool_messageinbound', $messageparams);
// The message will be sent from the intended user.
$userfrom = clone $USER;
$userfrom->customheaders = array();
if ($messageid = $this->currentmessagedata->messageid) {
// Adding the In-Reply-To header ensures that it is seen as a reply and threading is maintained.
$userfrom->customheaders[] = 'In-Reply-To: ' . $messageid;
}
$messagedata = new \stdClass();
$messagedata->subject = $this->currentmessagedata->envelope->subject;
$eventdata = new \stdClass();
$eventdata->component = 'tool_messageinbound';
$eventdata->name = 'messageprocessingsuccess';
$eventdata->userfrom = $userfrom;
$eventdata->userto = $USER;
$eventdata->subject = self::get_reply_subject($this->currentmessagedata->envelope->subject);
$eventdata->fullmessage = $plainmessage;
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = $htmlmessage;
$eventdata->smallmessage = $eventdata->fullmessage;
$eventdata->notification = 1;
if (message_send($eventdata)) {
mtrace("---> Success notification sent to {$USER->email}.");
} else {
mtrace("---> Unable to send success notification.");
}
return true;
}
/**
* Return a formatted subject line for replies.
*
* @param $subject string The subject string
* @return string The formatted reply subject
*/
private function get_reply_subject($subject) {
$prefix = get_string('replysubjectprefix', 'tool_messageinbound');
if (!(substr($subject, 0, strlen($prefix)) == $prefix)) {
$subject = $prefix . ' ' . $subject;
}
return $subject;
}
}
@@ -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/>.
/**
* A Handler to re-process messages which previously failed sender
* verification.
*
* @package task_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_messageinbound\message\inbound;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot . '/repository/lib.php');
/**
* A Handler to re-process messages which previously failed sender
* verification.
*
* This may happen if the user did not use their registerd e-mail address,
* the verification hash used had expired, or if some erroneous content was
* introduced into the content hash.
*
* @package task
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class invalid_recipient_handler extends \core\message\inbound\handler {
/**
* Do not allow changes to the address validation setting.
*/
public function can_change_validateaddress() {
return false;
}
/**
* Return a description for the current handler.
*
* @return string
*/
public function get_description() {
return get_string('invalid_recipient_handler', 'tool_messageinbound');
}
/**
* Return a name for the current handler.
* This appears in the admin pages as a human-readable name.
*
* @return string
*/
public function get_name() {
return get_string('invalid_recipient_handler_name', 'tool_messageinbound');
}
/**
* Process a message received and validated by the Inbound Message processor.
*
* @param $messagedata The Inbound Message record
* @param $messagedata The message data packet.
* @return bool Whether the message was successfully processed.
*/
public function process_message(\stdClass $record, \stdClass $data) {
global $DB;
if (!$maildata = $DB->get_record('messageinbound_messagelist', array('id' => $record->datavalue))) {
// The message requested couldn't be found. Failing here will alert the user that we failed.
throw new \core\message\inbound\processing_failed_exception('oldmessagenotfound', 'tool_messageinbound');
}
mtrace("=== Request to re-process message {$record->datavalue} from server.");
mtrace("=== Message-Id:\t{$maildata->messageid}");
mtrace("=== Recipient:\t{$maildata->address}");
$manager = new \tool_messageinbound\manager();
return $manager->process_existing_message($maildata);
}
}
@@ -0,0 +1,53 @@
<?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/>.
/**
* A scheduled task to handle cleanup of old, unconfirmed e-mails.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_messageinbound\task;
defined('MOODLE_INTERNAL') || die();
/**
* A scheduled task to handle cleanup of old, unconfirmed e-mails.
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class cleanup_task extends \core\task\scheduled_task {
/**
* Get a descriptive name for this task (shown to admins).
*
* @return string
*/
public function get_name() {
return get_string('taskcleanup', 'tool_messageinbound');
}
/**
* Execute the main Inbound Message pickup task.
*/
public function execute() {
$manager = new \tool_messageinbound\manager();
return $manager->tidy_old_messages();
}
}
@@ -0,0 +1,53 @@
<?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/>.
/**
* A scheduled task to handle Inbound Message e-mail pickup.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_messageinbound\task;
defined('MOODLE_INTERNAL') || die();
/**
* A scheduled task to handle Inbound Message e-mail pickup.
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class pickup_task extends \core\task\scheduled_task {
/**
* Get a descriptive name for this task (shown to admins).
*
* @return string
*/
public function get_name() {
return get_string('taskpickup', 'tool_messageinbound');
}
/**
* Execute the main Inbound Message pickup task.
*/
public function execute() {
$manager = new \tool_messageinbound\manager();
return $manager->pickup_messages();
}
}
@@ -0,0 +1,34 @@
<?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/>.
/**
* Handlers for tool_messageinbound.
*
* @package task
* @category tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$handlers = array(
array(
'classname' => '\tool_messageinbound\message\inbound\invalid_recipient_handler',
'enabled' => true,
'validateaddress' => false,
),
);
+35
View File
@@ -0,0 +1,35 @@
<?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/>.
/**
* Message Providers for task_messageinbound.
*
* @package task
* @category messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$messageproviders = array (
// Invalid recipient handler.
'invalidrecipienthandler' => array(),
// A generic message processing error.
'messageprocessingerror' => array(),
// A generic message processing success message.
'messageprocessingsuccess' => array(),
);
+47
View File
@@ -0,0 +1,47 @@
<?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 Manager tasks.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$tasks = array(
array(
'classname' => '\tool_messageinbound\task\pickup_task',
'blocking' => 0,
'minute' => '*',
'hour' => '*',
'day' => '*',
'dayofweek' => '*',
'month' => '*'
),
array(
'classname' => '\tool_messageinbound\task\cleanup_task',
'blocking' => 0,
'minute' => '55',
'hour' => '1',
'day' => '*',
'dayofweek' => '*',
'month' => '*'
),
);
+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/>.
/**
* Inbound Message Settings pages.
*
* @package tool_messageinbound
* @copyright 2014 Andrew NIcols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/tablelib.php');
admin_externalpage_setup('messageinbound_handlers');
$classname = optional_param('classname', '', PARAM_RAW);
$pageurl = new moodle_url('/admin/tool/messageinbound/index.php');
if (empty($classname)) {
$renderer = $PAGE->get_renderer('tool_messageinbound');
$records = $DB->get_recordset('messageinbound_handlers', null, 'enabled desc', 'classname');
$instances = array();
foreach ($records as $record) {
$instances[] = \core\message\inbound\manager::get_handler($record->classname);
}
echo $OUTPUT->header();
echo $renderer->messageinbound_handlers_table($instances);
echo $OUTPUT->footer();
} else {
// Retrieve the handler and its record.
$handler = \core\message\inbound\manager::get_handler($classname);
$record = \core\message\inbound\manager::record_from_handler($handler);
$formurl = new moodle_url($PAGE->url, array('classname' => $classname));
$mform = new tool_messageinbound_edit_handler_form($formurl, array(
'handler' => $handler,
));
if ($mform->is_cancelled()) {
redirect($PAGE->url);
} else if ($data = $mform->get_data()) {
// Update the record from the form.
$record->defaultexpiration = (int) $data->defaultexpiration;
if ($handler->can_change_validateaddress()) {
$record->validateaddress = !empty($data->validateaddress);
}
if ($handler->can_change_enabled()) {
$record->enabled = !empty($data->enabled);
}
$DB->update_record('messageinbound_handlers', $record);
redirect($PAGE->url);
}
// Add the breadcrumb.
$pageurl->param('classname', $handler->classname);
$PAGE->navbar->add($handler->name, $pageurl);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('editinghandler', 'tool_messageinbound', $handler->name));
$mform->set_data($record);
$mform->display();
echo $OUTPUT->footer();
}
@@ -0,0 +1,112 @@
<?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 component 'tool_messageinbound', language 'en'
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['classname'] = 'Class name';
$string['component'] = 'Component';
$string['configmessageinboundhost'] = 'The address of the server that Moodle should check mail against. To specify a non-default port, you can use the [server]:[port], for example mail.example.com:587 format. If you leave this field blank, Moodle will use the default port for the type of mail server you specify.';
$string['defaultexpiration'] = 'Default address expiry period';
$string['defaultexpiration_help'] = 'When an email address is generated by the handler, it can be set to automatically expire after a period of time, so that it can no longer be used. It is advisable to set an expiry period.';
$string['description'] = 'Description';
$string['domain'] = 'Email domain';
$string['edit'] = 'Edit';
$string['edithandler'] = 'Edit settings for the {$a} handler';
$string['editinghandler'] = 'Editing {$a}';
$string['enabled'] = 'Enabled';
$string['fixedvalidateaddress'] = 'Validate sender address';
$string['fixedvalidateaddress_help'] = 'You cannot change the address validation for this handler. This may be because the handler requires a specific setting.';
$string['fixedenabled_help'] = 'You cannot change the state of this handler. This may be because the handler is required by other handlers.';
$string['handlerdisabled'] = 'The email handler you tried to contact has been disabled. Unable to process message at this time.';
$string['incomingmailconfiguration'] = 'Incoming mail configuration';
$string['incomingmailserversettings'] = 'Incoming mail server settings';
$string['incomingmailserversettings_desc'] = 'Moodle is capable of connecting to appropriately configured IMAP servers. You can specify the settings used to connect to your IMAP server here.';
$string['invalid_recipient_handler'] = 'If a valid message is received but the sender cannot be authenticated, the message is stored on the email server and the user is contacted using the email address in their user profile. The user is given the chance to reply to confirm the authenticity of the original message.
This handler processes those replies.
It is not possible to disable sender verification of this handler because the user may reply from an incorrect email address if their email client configuration is incorrect.';
$string['invalid_recipient_handler_name'] = 'Invalid recipient handler';
$string['invalidrecipientdescription'] = 'The message "{$a->subject}" could not be authenticated, since it was sent from a different email address than in your user profile. For the message to be authenticated, you need to reply to this message.';
$string['invalidrecipientdescriptionhtml'] = 'The message "{$a->subject}" could not be authenticated, since it was sent from a different email address than in your user profile. For the message to be authenticated, you need to reply to this message.';
$string['invalidrecipientfinal'] = 'The message "{$a->subject}" could not be authenticated. Please check that you are sending your message from the same email address as in your profile.';
$string['mailbox'] = 'Mailbox name';
$string['mailboxconfiguration'] = 'Mailbox configuration';
$string['mailboxdescription'] = '[mailbox]+subaddress@[domain]';
$string['mailsettings'] = 'Mail settings';
$string['message_handlers'] = 'Message handlers';
$string['messageprocessingerror'] = 'You recently sent an email "{$a->subject}" but unfortunately it could not be processed.
The details of the error are shown below.
{$a->error}';
$string['messageprocessingerrorhtml'] = '<p>You recently sent an email "{$a->subject}" but unfortunately it could not be processed.</p>
<p>The details of the error are shown below.</p>
<p>{$a->error}</p>';
$string['messageprocessingfailed'] = 'The email "{$a->subject}" could not be processed. The error is as follows: "{$a->message}".';
$string['messageprocessingfailedunknown'] = 'The email "{$a->subject}" could not be processed. Contact your administrator for further information.';
$string['messageprocessingsuccess'] = '{$a->plain}
If you do not wish to receive these notifications in the future, you can edit your personal messaging preferences by opening {$a->messagepreferencesurl} in your browser.';
$string['messageprocessingsuccesshtml'] = '{$a->html}
<p>If you do not wish to receive these notifications in the future, you can <a href="{$a->messagepreferencesurl}">edit your personal messaging preferences</a>.</p>';
$string['messageinbound'] = 'Message Inbound';
$string['messageinboundenabled'] = 'Enable incoming mail processing';
$string['messageinboundenabled_desc'] = 'Incoming mail processing must be enabled in order for messages to be sent with the appropriate information.';
$string['messageinboundgeneralconfiguration'] = 'General configuration';
$string['messageinboundgeneralconfiguration_desc'] = 'Inbound message processing allows you to receive and process email within Moodle. This has applications such as sending email replies to forum posts or adding files to a user\'s private files.';
$string['messageinboundhost'] = 'Incoming Mail Server';
$string['messageinboundhostpass'] = 'Password';
$string['messageinboundhostpass_desc'] = 'This is the password your service provider will have provided to log in to your email account with.';
$string['messageinboundhostssl'] = 'Use SSL';
$string['messageinboundhostssl_desc'] = 'Some mail servers support an additional level of security by encrypting communication between Moodle and your server. We recommend using this SSL encryption if your server supports it.';
$string['messageinboundhosttype'] = 'Server type';
$string['messageinboundhostuser'] = 'Username';
$string['messageinboundhostuser_desc'] = 'This is the username your service provider will have provided to log in to your email account with.';
$string['messageinboundmailboxconfiguration_desc'] = 'When messages are sent out, they fit into the format address+data@example.com. To reliably generate addresses from Moodle, please specify the address that you would normally use before the @ sign, and the domain after the @ sign separately. For example, the Mailbox name in the example would be "address", and the E-mail domain would be "example.com". You should use a dedicated e-mail account for this purpose.';
$string['messageprovider:invalidrecipienthandler'] = 'Message to confirm that an inbound message came from you';
$string['messageprovider:messageprocessingerror'] = 'Warning when an inbound message could not be processed';
$string['messageprovider:messageprocessingsuccess'] = 'Confirmation that a message was successfully processed';
$string['noencryption'] = 'Off - No encryption';
$string['noexpiry'] = 'No expiry';
$string['oldmessagenotfound'] = 'You tried to manually authenticate a message, but the message could not be found. This could be because it has already been processed, or because the message expired.';
$string['oneday'] = 'One day';
$string['onehour'] = 'One hour';
$string['oneweek'] = 'One week';
$string['oneyear'] = 'One year';
$string['pluginname'] = 'Inbound message configuration';
$string['replysubjectprefix'] = 'Re:';
$string['requirevalidation'] = 'Validate sender address';
$string['name'] = 'Name';
$string['ssl'] = 'SSL (Auto-detect SSL version)';
$string['sslv2'] = 'SSLv2 (Force SSL Version 2)';
$string['sslv3'] = 'SSLv2 (Force SSL Version 3)';
$string['taskcleanup'] = 'Cleanup of unverified incoming email';
$string['taskpickup'] = 'Incoming email pickup';
$string['tls'] = 'TLS (TLS; started via protocol-level negotiation over unencrypted channel; RECOMMENDED way of initiating secure connection)';
$string['tlsv1'] = 'TLSv1 (TLS direct version 1.x connection to server)';
$string['validateaddress'] = 'Validate sender email address';
$string['validateaddress_help'] = 'When a message is received from a user, Moodle attempts to validate the message by comparing the email address of the sender with the email address in their user profile.
If the sender does not match, then the user is sent a notification to confirm that they really did send the email.
If this setting is disabled, then the email address of the sender is not checked at all.';
+109
View File
@@ -0,0 +1,109 @@
<?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_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Implements the plugin renderer
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_messageinbound_renderer extends plugin_renderer_base {
/**
* Render a table listing all of the Inbound Message handlers.
*
* @param array $handlers - list of all messageinbound handlers.
* @return string HTML to output.
*/
public function messageinbound_handlers_table(array $handlers) {
global $CFG;
$table = new html_table();
$handlername = new html_table_cell(get_string('name', 'tool_messageinbound') . "\n" .
html_writer::tag('span', get_string('classname', 'tool_messageinbound'), array('class' => 'handler-function')));
// Prepare some of the rows with additional styling.
$enabled = new html_table_cell(get_string('enabled', 'tool_messageinbound'));
$enabled->attributes['class'] = 'state';
$edit = new html_table_cell(get_string('edit', 'tool_messageinbound'));
$edit->attributes['class'] = 'edit';
$table->head = array(
$handlername,
get_string('description', 'tool_messageinbound'),
$enabled,
$edit,
);
$table->attributes['class'] = 'admintable generaltable messageinboundhandlers';
$yes = get_string('yes');
$no = get_string('no');
$data = array();
// Options for description formatting.
$descriptionoptions = new stdClass();
$descriptionoptions->trusted = false;
$descriptionoptions->noclean = false;
$descriptionoptions->smiley = false;
$descriptionoptions->filter = false;
$descriptionoptions->para = true;
$descriptionoptions->newlines = false;
$descriptionoptions->overflowdiv = true;
$editurlbase = new moodle_url('/admin/tool/messageinbound/index.php');
foreach ($handlers as $handler) {
$handlername = new html_table_cell($handler->name . "\n" .
html_writer::tag('span', $handler->classname, array('class' => 'handler-function')));
$handlername->header = true;
$editurl = new moodle_url($editurlbase, array('classname' => $handler->classname));
$editlink = $this->action_icon($editurl, new pix_icon('t/edit',
get_string('edithandler', 'tool_messageinbound', $handler->classname)));
// Prepare some of the rows with additional styling.
$enabled = new html_table_cell($handler->enabled ? $yes : $no);
$enabled->attributes['class'] = 'state';
$edit = new html_table_cell($editlink);
$edit->attributes['class'] = 'edit';
// Add the row.
$row = new html_table_row(array(
$handlername,
format_text($handler->description, FORMAT_MARKDOWN, $descriptionoptions),
$enabled,
$edit,
));
if (!$handler->enabled) {
$row->attributes['class'] = 'disabled';
}
$data[] = $row;
}
$table->data = $data;
return html_writer::table($table);
}
}
+87
View File
@@ -0,0 +1,87 @@
<?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/>.
/**
* Inbound Message Settings.
*
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
if ($hassiteconfig) {
$category = new admin_category('messageinbound', new lang_string('incomingmailconfiguration', 'tool_messageinbound'));
// Create a settings page for all of the mail server settings.
$settings = new admin_settingpage('messageinbound_mailsettings', new lang_string('mailsettings', 'tool_messageinbound'));
$settings->add(new admin_setting_heading('messageinbound_generalconfiguration',
new lang_string('messageinboundgeneralconfiguration', 'tool_messageinbound'),
new lang_string('messageinboundgeneralconfiguration_desc', 'tool_messageinbound'), ''));
$settings->add(new admin_setting_configcheckbox('messageinbound_enabled',
new lang_string('messageinboundenabled', 'tool_messageinbound'),
new lang_string('messageinboundenabled_desc', 'tool_messageinbound'), 0));
// These settings are used when generating a Inbound Message address.
$settings->add(new admin_setting_heading('messageinbound_mailboxconfiguration',
new lang_string('mailboxconfiguration', 'tool_messageinbound'),
new lang_string('messageinboundmailboxconfiguration_desc', 'tool_messageinbound'), ''));
$settings->add(new admin_setting_configtext('messageinbound_mailbox',
new lang_string('mailbox', 'tool_messageinbound'),
null, '', PARAM_RAW));
$settings->add(new admin_setting_configtext('messageinbound_domain',
new lang_string('domain', 'tool_messageinbound'),
null, '', PARAM_RAW));
// These settings are used when checking the incoming mailbox for mail.
$settings->add(new admin_setting_heading('messageinbound_serversettings',
new lang_string('incomingmailserversettings', 'tool_messageinbound'),
new lang_string('incomingmailserversettings_desc', 'tool_messageinbound'), ''));
$settings->add(new admin_setting_configtext('messageinbound_host',
new lang_string('messageinboundhost', 'tool_messageinbound'),
new lang_string('configmessageinboundhost', 'tool_messageinbound'), '', PARAM_RAW));
$options = array(
'' => get_string('noencryption', 'tool_messageinbound'),
'ssl' => get_string('ssl', 'tool_messageinbound'),
'sslv2' => get_string('sslv2', 'tool_messageinbound'),
'sslv3' => get_string('sslv3', 'tool_messageinbound'),
'tls' => get_string('tls', 'tool_messageinbound'),
'tlsv1' => get_string('tlsv1', 'tool_messageinbound'),
);
$settings->add(new admin_setting_configselect('messageinbound_hostssl',
new lang_string('messageinboundhostssl', 'tool_messageinbound'),
new lang_string('messageinboundhostssl_desc', 'tool_messageinbound'), 'ssl', $options));
$settings->add(new admin_setting_configtext('messageinbound_hostuser',
new lang_string('messageinboundhostuser', 'tool_messageinbound'),
new lang_string('messageinboundhostuser_desc', 'tool_messageinbound'), '', PARAM_NOTAGS));
$settings->add(new admin_setting_configpasswordunmask('messageinbound_hostpass',
new lang_string('messageinboundhostpass', 'tool_messageinbound'),
new lang_string('messageinboundhostpass_desc', 'tool_messageinbound'), ''));
$category->add('messageinbound', $settings);
// Link to the external page for Inbound Message handler configuration.
$category->add('messageinbound', new admin_externalpage('messageinbound_handlers',
new lang_string('message_handlers', 'tool_messageinbound'),
"$CFG->wwwroot/$CFG->admin/tool/messageinbound/index.php"));
// Add the category to the admin tree.
$ADMIN->add('server', $category);
}
+11
View File
@@ -0,0 +1,11 @@
#page-admin-tool-messageinbound-index .handler-function {
display: block;
padding: 0 0.5em;
color: #888;
font-size: 0.75em;
}
#page-admin-tool-messageinbound-index .state,
#page-admin-tool-messageinbound-index .edit {
text-align: center;
}
@@ -15,18 +15,15 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Version information for the calculated question type.
* Plugin version info
*
* @package qformat_learnwise
* @copyright 2011 The Open University
* @package tool_messageinbound
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'qformat_learnwise';
$plugin->version = 2014051200;
$plugin->requires = 2014050800;
$plugin->maturity = MATURITY_STABLE;
$plugin->version = 2014111000;
$plugin->requires = 2014110400;
$plugin->component = 'tool_messageinbound';
@@ -0,0 +1,77 @@
<?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 tool_monitor rule created event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor rule created event class.
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class rule_created extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['objecttable'] = 'tool_monitor_rules';
$this->data['crud'] = 'c';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventrulecreated', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The user with id '$this->userid' created the event monitor rule with id '$this->objectid'.";
}
/**
* Get URL related to the action
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/monitor/edit.php', array('ruleid' => $this->objectid,
'courseid' => $this->courseid));
}
}
@@ -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/>.
/**
* The tool_monitor rule deleted event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor rule deleted event class.
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class rule_deleted extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['objecttable'] = 'tool_monitor_rules';
$this->data['crud'] = 'd';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventruledeleted', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The user with id '$this->userid' deleted the event monitor rule with id '$this->objectid'.";
}
/**
* Get URL related to the action
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/monitor/managerules.php', array('courseid' => $this->courseid));
}
}
@@ -0,0 +1,77 @@
<?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 tool_monitor rule updated event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor rule updated event class.
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class rule_updated extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['objecttable'] = 'tool_monitor_rules';
$this->data['crud'] = 'u';
$this->data['edulevel'] = self::LEVEL_OTHER;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventruleupdated', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The user with id '$this->userid' updated the event monitor rule with id '$this->objectid'.";
}
/**
* Get URL related to the action
*
* @return \moodle_url
*/
public function get_url() {
return new \moodle_url('/admin/tool/monitor/edit.php', array('ruleid' => $this->objectid,
'courseid' => $this->courseid));
}
}
@@ -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 tool_monitor subscription created event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor subscription created event class.
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class subscription_created extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['objecttable'] = 'tool_monitor_subscriptions';
$this->data['crud'] = 'c';
$this->data['edulevel'] = self::LEVEL_TEACHING;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventsubcreated', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The user with id '$this->userid' created the event monitor subscription with id '$this->objectid'.";
}
}
@@ -0,0 +1,86 @@
<?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 tool_monitor subscription criteria met event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor subscription criteria met event class.
*
* @property-read array $other {
* Extra information about event.
*
* - string subscriptionid: id of the subscription.
* }
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class subscription_criteria_met extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['crud'] = 'c';
$this->data['edulevel'] = self::LEVEL_TEACHING;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventsubcriteriamet', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The criteria for the subscription with id '{$this->other['subscriptionid']}' was met.";
}
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data() {
parent::validate_data();
if (!isset($this->other['subscriptionid'])) {
throw new \coding_exception('The \'subscriptionid\' value must be set in other.');
}
}
}
@@ -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 tool_monitor subscription deleted event.
*
* @package tool_monitor
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\event;
defined('MOODLE_INTERNAL') || die();
/**
* The tool_monitor subscription deleted event class.
*
* @package tool_monitor
* @since Moodle 2.8
* @copyright 2014 Mark Nelson <markn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class subscription_deleted extends \core\event\base {
/**
* Init method.
*
* @return void
*/
protected function init() {
$this->data['objecttable'] = 'tool_monitor_subscriptions';
$this->data['crud'] = 'd';
$this->data['edulevel'] = self::LEVEL_TEACHING;
}
/**
* Return localised event name.
*
* @return string
*/
public static function get_name() {
return get_string('eventsubdeleted', 'tool_monitor');
}
/**
* Returns description of what happened.
*
* @return string
*/
public function get_description() {
return "The user with id '$this->userid' deleted the event monitor subscription with id '$this->objectid'.";
}
}
+221
View File
@@ -0,0 +1,221 @@
<?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/>.
/**
* Event documentation
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor;
defined('MOODLE_INTERNAL') || die();
/**
* Class for returning event information.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class eventlist {
/**
* Return all of the core event files.
*
* @return array Core events.
*/
protected static function get_core_eventlist() {
global $CFG;
// Disable developer debugging as deprecated events will fire warnings.
// Setup backup variables to restore the following settings back to what they were when we are finished.
$debuglevel = $CFG->debug;
$debugdisplay = $CFG->debugdisplay;
$debugdeveloper = $CFG->debugdeveloper;
$CFG->debug = 0;
$CFG->debugdisplay = false;
$CFG->debugdeveloper = false;
$eventinformation = array();
$directory = $CFG->libdir . '/classes/event';
$files = self::get_file_list($directory);
// Remove exceptional events that will cause problems being displayed.
if (isset($files['unknown_logged'])) {
unset($files['unknown_logged']);
}
foreach ($files as $file => $location) {
$classname = '\\core\\event\\' . $file;
// Check to see if this is actually a valid event.
if (method_exists($classname, 'get_static_info')) {
$ref = new \ReflectionClass($classname);
// Ignore abstracts.
if (!$ref->isAbstract() && $file != 'manager') {
$eventinformation[$classname] = $classname::get_name();
}
}
}
// Now enable developer debugging as event information has been retrieved.
$CFG->debug = $debuglevel;
$CFG->debugdisplay = $debugdisplay;
$CFG->debugdeveloper = $debugdeveloper;
return $eventinformation;
}
/**
* This function returns an array of all events for the plugins of the system.
*
* @param bool $withoutcomponent Return an eventlist without associated components.
*
* @return array A list of events from all plug-ins.
*/
protected static function get_non_core_eventlist($withoutcomponent = false) {
global $CFG;
// Disable developer debugging as deprecated events will fire warnings.
// Setup backup variables to restore the following settings back to what they were when we are finished.
$debuglevel = $CFG->debug;
$debugdisplay = $CFG->debugdisplay;
$debugdeveloper = $CFG->debugdeveloper;
$CFG->debug = 0;
$CFG->debugdisplay = false;
$CFG->debugdeveloper = false;
$noncorepluginlist = array();
$plugintypes = \core_component::get_plugin_types();
foreach ($plugintypes as $plugintype => $notused) {
$pluginlist = \core_component::get_plugin_list($plugintype);
foreach ($pluginlist as $plugin => $directory) {
$plugindirectory = $directory . '/classes/event';
foreach (self::get_file_list($plugindirectory) as $eventname => $notused) {
$plugineventname = '\\' . $plugintype . '_' . $plugin . '\\event\\' . $eventname;
// Check that this is actually an event.
if (method_exists($plugineventname, 'get_static_info') && $plugin != 'monitor') { // No selfie here.
$ref = new \ReflectionClass($plugineventname);
if (!$ref->isAbstract() && $plugin != 'legacy') {
if ($withoutcomponent) {
$noncorepluginlist[$plugineventname] = $plugineventname::get_name();
} else {
$noncorepluginlist[$plugintype . '_' . $plugin][$plugineventname] = $plugineventname::get_name();
}
}
}
}
}
}
// Now enable developer debugging as event information has been retrieved.
$CFG->debug = $debuglevel;
$CFG->debugdisplay = $debugdisplay;
$CFG->debugdeveloper = $debugdeveloper;
return $noncorepluginlist;
}
/**
* Returns a list of files with a full directory path in a specified directory.
*
* @param string $directory location of files.
* @return array full location of files from the specified directory.
*/
protected static function get_file_list($directory) {
global $CFG;
$directoryroot = $CFG->dirroot;
$finalfiles = array();
if (is_dir($directory)) {
if ($handle = opendir($directory)) {
$files = scandir($directory);
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
// Ignore the file if it is external to the system.
if (strrpos($directory, $directoryroot) !== false) {
$location = substr($directory, strlen($directoryroot));
$name = substr($file, 0, -4);
$finalfiles[$name] = $location . '/' . $file;
}
}
}
}
}
return $finalfiles;
}
/**
* Get a list of events present in the system.
*
* @param bool $withoutcomponent Return an eventlist without associated components.
*
* @return array list of events present in the system.
*/
public static function get_all_eventlist($withoutcomponent = false) {
if ($withoutcomponent) {
$return = array_merge(self::get_core_eventlist(), self::get_non_core_eventlist($withoutcomponent));
array_multisort($return, SORT_NATURAL);
} else {
$return = array_merge(array('core' => self::get_core_eventlist()),
self::get_non_core_eventlist($withoutcomponent = false));
}
return $return;
}
/**
* Return list of plugins that have events.
*
* @param array $eventlist a list of events present in the system {@link eventlist::get_all_eventlist}.
*
* @return array list of plugins with human readable name.
*/
public static function get_plugin_list($eventlist = array()) {
if (empty($eventlist)) {
$eventlist = self::get_all_eventlist();
}
$plugins = array_keys($eventlist);
$return = array();
foreach ($plugins as $plugin) {
if ($plugin === 'core') {
$return[$plugin] = get_string('core', 'tool_monitor');
} else if (get_string_manager()->string_exists('pluginname', $plugin)) {
$return[$plugin] = get_string('pluginname', $plugin);
} else {
$return[$plugin] = $plugin;
}
}
return $return;
}
/**
* validate if the given event belongs to the given plugin.
*
* @param string $plugin Frankenstyle name of the plugin.
* @param string $eventname Full qualified event name.
* @param array $eventlist List of events generated by {@link eventlist::get_all_eventlist}
*
* @return bool Returns true if the selected event belongs to the selected plugin, false otherwise.
*/
public static function validate_event_plugin($plugin, $eventname, $eventlist = array()) {
if (empty($eventlist)) {
$eventlist = self::get_all_eventlist();
}
if (isset($eventlist[$plugin][$eventname])) {
return true;
}
return false;
}
}
@@ -0,0 +1,253 @@
<?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/>.
/**
* Observer class containing methods monitoring various events.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor;
defined('MOODLE_INTERNAL') || die();
/**
* Observer class containing methods monitoring various events.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class eventobservers {
/** @var array $buffer buffer of events. */
protected $buffer = array();
/** @var int Number of entries in the buffer. */
protected $count = 0;
/** @var eventobservers a reference to a self instance. */
protected static $instance;
/**
* Course delete event observer.
* This observer monitors course delete event, and when a course is deleted it deletes any rules and subscriptions associated
* with it, so no orphan data is left behind.
*
* @param \core\event\course_deleted $event The course deleted event.
*/
public static function course_deleted(\core\event\course_deleted $event) {
$rules = rule_manager::get_rules_by_courseid($event->courseid, 0, 0, false);
foreach ($rules as $rule) {
rule_manager::delete_rule($rule->id, $event->get_context());
}
}
/**
* The observer monitoring all the events.
*
* This observers puts small event objects in buffer for later writing to the database. At the end of the request the buffer
* is cleaned up and all data dumped into the tool_monitor_events table.
*
* @param \core\event\base $event event object
*/
public static function process_event(\core\event\base $event) {
if (!get_config('tool_monitor', 'enablemonitor')) {
return; // The tool is disabled. Nothing to do.
}
if (empty(self::$instance)) {
self::$instance = new static();
// Register shutdown handler - this is useful for buffering, processing events, etc.
\core_shutdown_manager::register_function(array(self::$instance, 'process_buffer'));
}
self::$instance->buffer_event($event);
if (PHPUNIT_TEST) {
// Process buffer after every event when unit testing.
self::$instance->process_buffer();
}
}
/**
* Api to buffer events to store, to reduce db queries.
*
* @param \core\event\base $event
*/
protected function buffer_event(\core\event\base $event) {
// If there are no subscriptions for this event do not buffer it.
if (!\tool_monitor\subscription_manager::event_has_subscriptions($event->eventname, $event->courseid)) {
return;
}
$eventdata = $event->get_data();
$eventobj = new \stdClass();
$eventobj->eventname = $eventdata['eventname'];
$eventobj->contextid = $eventdata['contextid'];
$eventobj->contextlevel = $eventdata['contextlevel'];
$eventobj->contextinstanceid = $eventdata['contextinstanceid'];
if ($event->get_url()) {
// Get link url if exists.
$eventobj->link = $event->get_url()->out();
} else {
$eventobj->link = '';
}
$eventobj->courseid = $eventdata['courseid'];
$eventobj->timecreated = $eventdata['timecreated'];
$this->buffer[] = $eventobj;
$this->count++;
}
/**
* This method process all events stored in the buffer.
*
* This is a multi purpose api. It does the following:-
* 1. Write event data to tool_monitor_events
* 2. Find out users that need to be notified about rule completion and schedule a task to send them messages.
*/
public function process_buffer() {
global $DB;
$events = $this->flush(); // Flush data.
$select = "SELECT COUNT(id) FROM {tool_monitor_events} ";
$now = time();
$messagestosend = array();
$allsubids = array();
// Let us now process the events and check for subscriptions.
foreach ($events as $eventobj) {
$subscriptions = subscription_manager::get_subscriptions_by_event($eventobj);
$idstosend = array();
foreach ($subscriptions as $subscription) {
$starttime = $now - $subscription->timewindow;
$starttime = ($starttime > $subscription->lastnotificationsent) ? $starttime : $subscription->lastnotificationsent;
if ($subscription->courseid == 0) {
// Site level subscription. Count all events.
$where = "eventname = :eventname AND timecreated > :starttime";
$params = array('eventname' => $eventobj->eventname, 'starttime' => $starttime);
} else {
// Course level subscription.
if ($subscription->cmid == 0) {
// All modules.
$where = "eventname = :eventname AND courseid = :courseid AND timecreated > :starttime";
$params = array('eventname' => $eventobj->eventname, 'courseid' => $eventobj->courseid,
'starttime' => $starttime);
} else {
// Specific module.
$where = "eventname = :eventname AND courseid = :courseid AND contextinstanceid = :cmid
AND timecreated > :starttime";
$params = array('eventname' => $eventobj->eventname, 'courseid' => $eventobj->courseid,
'cmid' => $eventobj->contextinstanceid, 'starttime' => $starttime);
}
}
$sql = $select . "WHERE " . $where;
$count = $DB->count_records_sql($sql, $params);
if (!empty($count) && $count >= $subscription->frequency) {
$idstosend[] = $subscription->id;
// Trigger a subscription_criteria_met event.
// It's possible that the course has been deleted since the criteria was met, so in that case use
// the system context. Set it here and change later if needed.
$context = \context_system::instance();
// We can't perform if (!empty($subscription->courseid)) below as it uses the magic method
// __get to return the variable, which will always result in being empty.
$courseid = $subscription->courseid;
if (!empty($courseid)) {
if ($coursecontext = \context_course::instance($courseid, IGNORE_MISSING)) {
$context = $coursecontext;
}
}
$params = array(
'userid' => $subscription->userid,
'courseid' => $subscription->courseid,
'context' => $context,
'other' => array(
'subscriptionid' => $subscription->id
)
);
$event = \tool_monitor\event\subscription_criteria_met::create($params);
$event->trigger();
}
}
if (!empty($idstosend)) {
$messagestosend[] = array('subscriptionids' => $idstosend, 'event' => $eventobj);
$allsubids = array_merge($allsubids, $idstosend);
}
}
if (!empty($allsubids)) {
// Update the last trigger flag.
list($sql, $params) = $DB->get_in_or_equal($allsubids, SQL_PARAMS_NAMED);
$params['now'] = $now;
$sql = "UPDATE {tool_monitor_subscriptions} SET lastnotificationsent = :now WHERE id $sql";
$DB->execute($sql, $params);
}
// Schedule a task to send notification.
if (!empty($messagestosend)) {
$adhocktask = new notification_task();
$adhocktask->set_custom_data($messagestosend);
$adhocktask->set_component('tool_monitor');
\core\task\manager::queue_adhoc_task($adhocktask);
}
}
/**
* Protected method that flushes the buffer of events and writes them to the database.
*
* @return array a copy of the events buffer.
*/
protected function flush() {
global $DB;
// Flush the buffer to the db.
$events = $this->buffer;
$DB->insert_records('tool_monitor_events', $events); // Insert the whole chunk into the database.
$this->buffer = array();
$this->count = 0;
return $events;
}
/**
* Observer that monitors user deleted event and delete user subscriptions.
*
* @param \core\event\user_deleted $event the event object.
*/
public static function user_deleted(\core\event\user_deleted $event) {
$userid = $event->objectid;
subscription_manager::delete_user_subscriptions($userid);
}
/**
* Observer that monitors course module deleted event and delete user subscriptions.
*
* @param \core\event\course_module_deleted $event the event object.
*/
public static function course_module_deleted(\core\event\course_module_deleted $event) {
$cmid = $event->contextinstanceid;
subscription_manager::delete_cm_subscriptions($cmid);
}
}
@@ -0,0 +1,124 @@
<?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 an adhoc task to send notifications.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor;
defined('MOODLE_INTERNAL') || die();
/**
* Adhock class, used to send notifications to users.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class notification_task extends \core\task\adhoc_task {
/**
* Send out messages.
*/
public function execute() {
foreach ($this->get_custom_data() as $data) {
$eventobj = $data->event;
$subscriptionids = $data->subscriptionids;
foreach ($subscriptionids as $id) {
if ($message = $this->generate_message($id, $eventobj)) {
mtrace("Sending message to the user with id " . $message->userto->id . " for the subscription with id $id...");
message_send($message);
mtrace("Sent.");
}
}
}
}
/**
* Generates the message object for a give subscription and event.
*
* @param int $subscriptionid Subscription instance
* @param \stdClass $eventobj Event data
*
* @return false|\stdClass message object
*/
protected function generate_message($subscriptionid, \stdClass $eventobj) {
try {
$subscription = subscription_manager::get_subscription($subscriptionid);
} catch (\dml_exception $e) {
// Race condition, someone deleted the subscription.
return false;
}
$user = \core_user::get_user($subscription->userid);
if (empty($user)) {
// User doesn't exist. Should never happen, nothing to do return.
return false;
}
$context = \context_user::instance($user->id, IGNORE_MISSING);
if ($context === false) {
// User context doesn't exist. Should never happen, nothing to do return.
return false;
}
$template = $subscription->template;
$template = $this->replace_placeholders($template, $subscription, $eventobj, $context);
$msgdata = new \stdClass();
$msgdata->component = 'tool_monitor'; // Your component name.
$msgdata->name = 'notification'; // This is the message name from messages.php.
$msgdata->userfrom = \core_user::get_noreply_user();
$msgdata->userto = $user;
$msgdata->subject = $subscription->get_name($context);
$msgdata->fullmessage = format_text($template, $subscription->templateformat, array('context' => $context));
$msgdata->fullmessageformat = $subscription->templateformat;
$msgdata->fullmessagehtml = format_text($template, $subscription->templateformat, array('context' => $context));
$msgdata->smallmessage = '';
$msgdata->notification = 1; // This is only set to 0 for personal messages between users.
return $msgdata;
}
/**
* Replace place holders in the template with respective content.
*
* @param string $template Message template.
* @param subscription $subscription subscription instance
* @param \stdclass $eventobj Event data
* @param \context $context context object
*
* @return mixed final template string.
*/
protected function replace_placeholders($template, subscription $subscription, $eventobj, $context) {
$template = str_replace('{link}', $eventobj->link, $template);
if ($eventobj->contextlevel == CONTEXT_MODULE && !empty($eventobj->contextinstanceid)
&& (strpos($template, '{modulelink}') !== false)) {
$cm = get_fast_modinfo($eventobj->courseid)->get_cm($eventobj->contextinstanceid);
$modulelink = $cm->url;
$template = str_replace('{modulelink}', $modulelink, $template);
}
$template = str_replace('{rulename}', $subscription->get_name($context), $template);
$template = str_replace('{description}', $subscription->get_description($context), $template);
$template = str_replace('{eventname}', $subscription->get_event_name(), $template);
return $template;
}
}
@@ -0,0 +1,211 @@
<?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/>.
/**
* Renderable class for manage rules page.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\output\managerules;
defined('MOODLE_INTERNAL') || die;
require_once($CFG->libdir . '/tablelib.php');
/**
* Renderable class for manage rules page.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class renderable extends \table_sql implements \renderable {
/**
* @var int course id.
*/
public $courseid;
/**
* @var \context_course|\context_system context of the page to be rendered.
*/
protected $context;
/**
* @var bool Does the user have capability to manage rules at site context.
*/
protected $hassystemcap;
/**
* Sets up the table_log parameters.
*
* @param string $uniqueid unique id of form.
* @param \moodle_url $url url where this table is displayed.
* @param int $courseid course id.
* @param int $perpage Number of rules to display per page.
*/
public function __construct($uniqueid, \moodle_url $url, $courseid = 0, $perpage = 100) {
parent::__construct($uniqueid);
$this->set_attribute('id', 'toolmonitorrules_table');
$this->set_attribute('class', 'toolmonitor managerules generaltable generalbox');
$this->define_columns(array('name', 'description', 'course', 'plugin', 'eventname', 'filters', 'manage'));
$this->define_headers(array(
get_string('rulename', 'tool_monitor'),
get_string('description'),
get_string('course'),
get_string('area', 'tool_monitor'),
get_string('event', 'tool_monitor'),
get_string('frequency', 'tool_monitor'),
get_string('manage', 'tool_monitor'),
)
);
$this->courseid = $courseid;
$this->pagesize = $perpage;
$systemcontext = \context_system::instance();
$this->context = empty($courseid) ? $systemcontext : \context_course::instance($courseid);
$this->hassystemcap = has_capability('tool/monitor:managerules', $systemcontext);
$this->collapsible(false);
$this->sortable(false);
$this->pageable(true);
$this->is_downloadable(false);
$this->define_baseurl($url);
}
/**
* Generate content for name column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the column field.
*/
public function col_name(\tool_monitor\rule $rule) {
return $rule->get_name($this->context);
}
/**
* Generate content for description column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the column field.
*/
public function col_description(\tool_monitor\rule $rule) {
return $rule->get_description($this->context);
}
/**
* Generate content for course column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the context column field.
*/
public function col_course(\tool_monitor\rule $rule) {
$coursename = $rule->get_course_name($this->context);
$courseid = $rule->courseid;
if (empty($courseid)) {
return $coursename;
} else {
return \html_writer::link(new \moodle_url('/course/view.php', array('id' => $courseid)), $coursename);
}
}
/**
* Generate content for plugin column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the column field.
*/
public function col_plugin(\tool_monitor\rule $rule) {
return $rule->get_plugin_name();
}
/**
* Generate content for eventname column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the column field.
*/
public function col_eventname(\tool_monitor\rule $rule) {
return $rule->get_event_name();
}
/**
* Generate content for filters column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the filters column field.
*/
public function col_filters(\tool_monitor\rule $rule) {
return $rule->get_filters_description();
}
/**
* Generate content for manage column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the manage column field.
*/
public function col_manage(\tool_monitor\rule $rule) {
global $OUTPUT, $CFG;
$manage = '';
// We don't need to check for capability at course level since, user is never shown this page,
// if he doesn't have the capability.
if ($this->hassystemcap || ($rule->courseid != 0)) {
// There might be site rules which the user can not manage.
$editurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/edit.php', array('ruleid' => $rule->id,
'courseid' => $rule->courseid, 'sesskey' => sesskey()));
$copyurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/managerules.php',
array('ruleid' => $rule->id, 'action' => 'copy', 'courseid' => $this->courseid, 'sesskey' => sesskey()));
$deleteurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/managerules.php', array('ruleid' => $rule->id,
'action' => 'delete', 'courseid' => $rule->courseid, 'sesskey' => sesskey()));
$icon = $OUTPUT->render(new \pix_icon('t/edit', get_string('editrule', 'tool_monitor')));
$manage .= \html_writer::link($editurl, $icon, array('class' => 'action-icon'));
$icon = $OUTPUT->render(new \pix_icon('t/copy', get_string('duplicaterule', 'tool_monitor')));
$manage .= \html_writer::link($copyurl, $icon, array('class' => 'action-icon'));
$icon = $OUTPUT->render(new \pix_icon('t/delete', get_string('deleterule', 'tool_monitor')));
$manage .= \html_writer::link($deleteurl, $icon, array('class' => 'action-icon'));
} else {
$manage = get_string('nopermission', 'tool_monitor');
}
return $manage;
}
/**
* Query the reader. Store results in the object for use by build_table.
*
* @param int $pagesize size of page for paginated displayed table.
* @param bool $useinitialsbar do you want to use the initials bar.
*/
public function query_db($pagesize, $useinitialsbar = true) {
$total = \tool_monitor\rule_manager::count_rules_by_courseid($this->courseid);
$this->pagesize($pagesize, $total);
$rules = \tool_monitor\rule_manager::get_rules_by_courseid($this->courseid, $this->get_page_start(),
$this->get_page_size());
$this->rawdata = $rules;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
}
}
}
@@ -0,0 +1,99 @@
<?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/>.
/**
* Renderer class for manage rules page.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\output\managerules;
defined('MOODLE_INTERNAL') || die;
/**
* Renderer class for manage rules page.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class renderer extends \plugin_renderer_base {
/**
* Get html to display on the page.
*
* @param renderable $renderable renderable widget
*
* @return string to display on the mangerules page.
*/
protected function render_renderable(renderable $renderable) {
$o = $this->render_table($renderable);
$o .= $this->render_add_button($renderable->courseid);
return $o;
}
/**
* Get html to display on the page.
*
* @param renderable $renderable renderable widget
*
* @return string to display on the mangerules page.
*/
protected function render_table(renderable $renderable) {
$o = '';
ob_start();
$renderable->out($renderable->pagesize, true);
$o = ob_get_contents();
ob_end_clean();
return $o;
}
/**
* Html to add a button for adding a new rule.
*
* @param int $courseid course id.
*
* @return string html for the button.
*/
protected function render_add_button($courseid) {
global $CFG;
$button = \html_writer::tag('button', get_string('addrule', 'tool_monitor'));
$addurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/edit.php', array('courseid' => $courseid));
return \html_writer::link($addurl, $button);
}
/**
* Html to add a link to go to the subscription page.
*
* @param moodle_url $manageurl The url of the subscription page.
*
* @return string html for the link to the subscription page.
*/
public function render_subscriptions_link($manageurl) {
echo \html_writer::start_div();
$a = \html_writer::link($manageurl, get_string('managesubscriptions', 'tool_monitor'));
$link = \html_writer::tag('span', get_string('managesubscriptionslink', 'tool_monitor', $a));
echo $link;
echo \html_writer::end_div();
}
}
@@ -0,0 +1,110 @@
<?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/>.
/**
* Renderer class for manage subscriptions page.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\output\managesubs;
defined('MOODLE_INTERNAL') || die;
/**
* Renderer class for manage subscriptions page.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class renderer extends \plugin_renderer_base {
/**
* Get html to display on the page.
*
* @param subs $renderable renderable widget
*
* @return string to display on the mangesubs page.
*/
protected function render_subs(subs $renderable) {
$o = $this->render_table($renderable);
return $o;
}
/**
* Get html to display on the page.
*
* @param rules $renderable renderable widget
*
* @return string to display on the mangesubs page.
*/
protected function render_rules(rules $renderable) {
$o = $this->render_course_select($renderable);
if (!empty($renderable->totalcount)) {
$o .= $this->render_table($renderable);
}
return $o;
}
/**
* Get html to display on the page for select dropdown..
*
* @param rules $renderable renderable widget
*
* @return string to display on the mangesubs page.
*/
protected function render_course_select(rules $renderable) {
if ($select = $renderable->get_user_courses_select()) {
return $this->render($select);
}
}
/**
* Get html to display on the page.
*
* @param rules|subs $renderable renderable widget
*
* @return string to display on the mangesubs page.
*/
protected function render_table($renderable) {
$o = '';
ob_start();
$renderable->out($renderable->pagesize, true);
$o = ob_get_contents();
ob_end_clean();
return $o;
}
/**
* Html to add a link to go to the rule manager page.
*
* @param moodle_url $ruleurl The url of the rule manager page.
*
* @return string html for the link to the rule manager page.
*/
public function render_rules_link($ruleurl) {
echo \html_writer::start_div();
$a = \html_writer::link($ruleurl, get_string('managerules', 'tool_monitor'));
$link = \html_writer::tag('span', get_string('manageruleslink', 'tool_monitor', $a));
echo $link;
echo \html_writer::end_div();
}
}
@@ -0,0 +1,230 @@
<?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/>.
/**
* Renderable class to display a set of rules in the manage subscriptions page.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\output\managesubs;
defined('MOODLE_INTERNAL') || die;
require_once($CFG->libdir . '/tablelib.php');
/**
* Renderable class to display a set of rules in the manage subscriptions page.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class rules extends \table_sql implements \renderable {
/**
* @var int course id.
*/
public $courseid;
/**
* @var int total rules present.
*/
public $totalcount = 0;
/**
* @var \context_course|\context_system context of the page to be rendered.
*/
protected $context;
/**
* Sets up the table_log parameters.
*
* @param string $uniqueid unique id of form.
* @param \moodle_url $url url where this table is displayed.
* @param int $courseid course id.
* @param int $perpage Number of rules to display per page.
*/
public function __construct($uniqueid, \moodle_url $url, $courseid = 0, $perpage = 100) {
parent::__construct($uniqueid);
$this->set_attribute('class', 'toolmonitor subscriberules generaltable generalbox');
$this->define_columns(array('name', 'description', 'course', 'plugin', 'eventname', 'filters', 'select'));
$this->define_headers(array(
get_string('rulename', 'tool_monitor'),
get_string('description'),
get_string('course'),
get_string('area', 'tool_monitor'),
get_string('event', 'tool_monitor'),
get_string('frequency', 'tool_monitor'),
''
)
);
$this->courseid = $courseid;
$this->pagesize = $perpage;
$systemcontext = \context_system::instance();
$this->context = empty($courseid) ? $systemcontext : \context_course::instance($courseid);
$this->collapsible(false);
$this->sortable(false);
$this->pageable(true);
$this->is_downloadable(false);
$this->define_baseurl($url);
$total = \tool_monitor\rule_manager::count_rules_by_courseid($this->courseid);
$this->totalcount = $total;
}
/**
* Generate content for name column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the rule name.
*/
public function col_name(\tool_monitor\rule $rule) {
return $rule->get_name($this->context);
}
/**
* Generate content for description column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the description.
*/
public function col_description(\tool_monitor\rule $rule) {
return $rule->get_description($this->context);
}
/**
* Generate content for course column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the course name.
*/
public function col_course(\tool_monitor\rule $rule) {
$coursename = $rule->get_course_name($this->context);
$courseid = $rule->courseid;
if (empty($courseid)) {
return $coursename;
} else {
return \html_writer::link(new \moodle_url('/course/view.php', array('id' => $this->courseid)), $coursename);
}
}
/**
* Generate content for plugin column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the plugin name.
*/
public function col_plugin(\tool_monitor\rule $rule) {
return $rule->get_plugin_name();
}
/**
* Generate content for eventname column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the event name.
*/
public function col_eventname(\tool_monitor\rule $rule) {
return $rule->get_event_name();
}
/**
* Generate content for filters column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the filters.
*/
public function col_filters(\tool_monitor\rule $rule) {
return $rule->get_filters_description();
}
/**
* Generate content for select column.
*
* @param \tool_monitor\rule $rule rule object
* @return string html used to display the select field.
*/
public function col_select(\tool_monitor\rule $rule) {
global $OUTPUT;
$options = $rule->get_subscribe_options($this->courseid);
$text = get_string('subscribeto', 'tool_monitor', $rule->get_name($this->context));
if ($options instanceof \single_select) {
$options->set_label($text, array('class' => 'accesshide'));
return $OUTPUT->render($options);
} else if ($options instanceof \moodle_url) {
// A \moodle_url to subscribe.
$icon = $OUTPUT->pix_icon('t/add', $text);
$link = new \action_link($options, $icon);
return $OUTPUT->render($link);
} else {
return $options;
}
}
/**
* Query the reader. Store results in the object for use by build_table.
*
* @param int $pagesize size of page for paginated displayed table.
* @param bool $useinitialsbar do you want to use the initials bar.
*/
public function query_db($pagesize, $useinitialsbar = true) {
$total = \tool_monitor\rule_manager::count_rules_by_courseid($this->courseid);
$this->pagesize($pagesize, $total);
$rules = \tool_monitor\rule_manager::get_rules_by_courseid($this->courseid, $this->get_page_start(),
$this->get_page_size());
$this->rawdata = $rules;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
}
}
/**
* Gets a list of courses where the current user can subscribe to rules as a dropdown.
*
* @return \single_select|bool returns the list of courses, or false if the select box
* should not be displayed.
*/
public function get_user_courses_select() {
global $DB;
// If the number of courses on the site exceed the maximum drop down limit do not display the select box.
$numcourses = $DB->count_records('course');
if ($numcourses > COURSE_MAX_COURSES_PER_DROPDOWN) {
return false;
}
$orderby = 'visible DESC, sortorder ASC';
$options = array(0 => get_string('site'));
if ($courses = get_user_capability_course('tool/monitor:subscribe', null, true, 'fullname', $orderby)) {
foreach ($courses as $course) {
$options[$course->id] = format_string($course->fullname, true,
array('context' => \context_course::instance($course->id)));
}
}
$url = new \moodle_url('/admin/tool/monitor/index.php');
$select = new \single_select($url, 'courseid', $options, $this->courseid);
$select->set_label(get_string('selectacourse', 'tool_monitor'));
return $select;
}
}
@@ -0,0 +1,197 @@
<?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/>.
/**
* Renderable class to display a set of subscriptions in the manage subscriptions page.
*
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_monitor\output\managesubs;
defined('MOODLE_INTERNAL') || die;
require_once($CFG->libdir . '/tablelib.php');
/**
* Renderable class to display a set of subscriptions in the manage subscriptions page.
*
* @since Moodle 2.8
* @package tool_monitor
* @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class subs extends \table_sql implements \renderable {
/**
* @var int course id.
*/
public $courseid;
/**
* @var \context_course|\context_system context of the page to be rendered.
*/
protected $context;
/**
* Sets up the table_log parameters.
*
* @param string $uniqueid unique id of form.
* @param \moodle_url $url url where this table is displayed.
* @param int $courseid course id.
* @param int $perpage Number of rules to display per page.
*/
public function __construct($uniqueid, \moodle_url $url, $courseid = 0, $perpage = 100) {
parent::__construct($uniqueid);
$this->set_attribute('class', 'toolmonitor subscriptions generaltable generalbox');
$this->define_columns(array('name', 'description', 'course', 'plugin', 'instance', 'eventname',
'filters', 'unsubscribe'));
$this->define_headers(array(
get_string('rulename', 'tool_monitor'),
get_string('description'),
get_string('course'),
get_string('area', 'tool_monitor'),
get_string('moduleinstance', 'tool_monitor'),
get_string('event', 'tool_monitor'),
get_string('frequency', 'tool_monitor'),
get_string('unsubscribe', 'tool_monitor')
)
);
$this->courseid = $courseid;
$this->pagesize = $perpage;
$systemcontext = \context_system::instance();
$this->context = empty($courseid) ? $systemcontext : \context_course::instance($courseid);
$this->collapsible(false);
$this->sortable(false);
$this->pageable(true);
$this->is_downloadable(false);
$this->define_baseurl($url);
}
/**
* Generate content for name column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the rule name.
*/
public function col_name(\tool_monitor\subscription $sub) {
return $sub->get_name($this->context);
}
/**
* Generate content for description column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the description.
*/
public function col_description(\tool_monitor\subscription $sub) {
return $sub->get_description($this->context);
}
/**
* Generate content for course column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the course name.
*/
public function col_course(\tool_monitor\subscription $sub) {
$coursename = $sub->get_course_name($this->context);
$courseid = $sub->courseid;
if (empty($courseid)) {
return $coursename;
} else {
return \html_writer::link(new \moodle_url('/course/view.php', array('id' => $courseid)), $coursename);
}
}
/**
* Generate content for plugin column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the plugin name.
*/
public function col_plugin(\tool_monitor\subscription $sub) {
return $sub->get_plugin_name();
}
/**
* Generate content for instance column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the instance name.
*/
public function col_instance(\tool_monitor\subscription $sub) {
return $sub->get_instance_name();
}
/**
* Generate content for eventname column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the event name.
*/
public function col_eventname(\tool_monitor\subscription $sub) {
return $sub->get_event_name();
}
/**
* Generate content for filters column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the filters.
*/
public function col_filters(\tool_monitor\subscription $sub) {
return $sub->get_filters_description();
}
/**
* Generate content for unsubscribe column.
*
* @param \tool_monitor\subscription $sub subscription object
* @return string html used to display the unsubscribe field.
*/
public function col_unsubscribe(\tool_monitor\subscription $sub) {
global $OUTPUT, $CFG;
$deleteurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/index.php', array('subscriptionid' => $sub->id,
'action' => 'unsubscribe', 'courseid' => $this->courseid, 'sesskey' => sesskey()));
$icon = $OUTPUT->render(new \pix_icon('t/delete', get_string('deletesubscription', 'tool_monitor')));
return \html_writer::link($deleteurl, $icon, array('class' => 'action-icon'));
}
/**
* Query the reader. Store results in the object for use by build_table.
*
* @param int $pagesize size of page for paginated displayed table.
* @param bool $useinitialsbar do you want to use the initials bar.
*/
public function query_db($pagesize, $useinitialsbar = true) {
$total = \tool_monitor\subscription_manager::count_user_subscriptions();
$this->pagesize($pagesize, $total);
$subs = \tool_monitor\subscription_manager::get_user_subscriptions($this->get_page_start(), $this->get_page_size());
$this->rawdata = $subs;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
}
}
}

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