Compare commits

...

1219 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 779085b75d Moodle release 2.0.6 2011-11-27 23:49:08 +01:00
Eloy Lafuente (stronk7) 4ad8c6e350 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-27 23:39:44 +01:00
Eloy Lafuente (stronk7) e16d680905 Merge branch 'dropbox-api-bump-for-20_STABLE' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-27 23:18:39 +01:00
AMOS bot 34292e766b Automatically generated installer lang files 2011-11-26 00:31:12 +00:00
Eloy Lafuente (stronk7) 433248cc8d weekly release 2.0.5+ 2011-11-25 11:09:20 +01:00
Eloy Lafuente (stronk7) 0c8697540c Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-25 11:04:58 +01:00
Dan Poltawski 3342f9278b MDL-29960 repository/dropbox - update to use 1.0 API version 2011-11-25 10:03:58 +00:00
AMOS bot 8bf9c37f0e Automatically generated installer lang files 2011-11-25 00:30:52 +00:00
Sam Hemelryk b40a326061 Merge branch 'MDL-26431-20' of git://github.com/totara/moodle into MOODLE_20_STABLE 2011-11-25 12:45:07 +13:00
Sam Hemelryk e1a236015c Merge branch 'MDL-29115_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-11-25 11:59:42 +13:00
Mary Evans 11e45d05f8 MDL-28625 - removed ul/ol styles from canvas/text.css 2011-11-25 11:18:30 +13:00
Aaron Barnes c99142aa86 MDL-26431 course completion report columns not lining up 2011-11-25 09:57:53 +13:00
Aparup Banerjee 4e3676afef Merge branch 'MDL-30288_override_checkbox_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-24 16:15:04 +08:00
Andrew Davis 8815d83999 MDL-30288 gradebook: prevented grade grade feedback being wrapped in a text to html div tag which was causing it to look like feedback had been edited when it hadn't 2011-11-24 15:32:47 +08:00
AMOS bot 032ca9883e Automatically generated installer lang files 2011-11-24 00:31:13 +00:00
Eloy Lafuente (stronk7) 2a71a2648e Merge branch 'wip-mdl-30375-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-23 13:29:03 +01:00
Ankit Kumar Agarwal 0c6182c125 MDL-30398 Validations added for password field 2011-11-23 13:20:37 +01:00
Eloy Lafuente (stronk7) 25641ce2da Merge branch 'MDL-29060_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-23 11:49:17 +01:00
Eloy Lafuente (stronk7) 8a2ac4cb74 Merge branch 'wip-mdl-28947-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-23 11:38:32 +01:00
Andrew Robert Nicols 8c10f16d34 MDL-30165: Make repository file extension check case insensitive 2011-11-23 11:23:55 +01:00
Dan Marsden ad4ac9daa5 SCORM MDL-25757 fix for saving of duplicate CMI values - thanks to Evan Irving-Pease for the patch 2011-11-23 11:09:31 +01:00
Jamie Pratt 6b7080c841 MDL-28562 "automatic naming of file in convert_image not working"
there is an obvious typo in the code causing the problem. The use of
an equality check instead of the intended assignment.
2011-11-23 12:40:31 +08:00
Aparup Banerjee 1fee8759bc Merge branch 'wip-MDL-20627-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-23 11:14:47 +08:00
Mary Evans c172ee6210 MDL-29778 Fix to make user selector arrow visible 2011-11-23 15:55:30 +13:00
Kordan 54d7e72ddd MDL-29830 theme_base: Fix overflow problems with navigation items 2011-11-23 15:47:44 +13:00
Rajesh Taneja 3ee4fb3f95 MDL-30375 Blocks: Comments block will show blank textbox rather then hiding and 'add a comment' will be visible if it's empty 2011-11-23 10:47:09 +08:00
Rossiani Wijaya e6155dfa67 MDL-29115 lesson mod: fixed the display of 'try again' button so it relates to lesson setting 2011-11-23 10:33:33 +08:00
Eloy Lafuente (stronk7) ec4b3cbcae Merge branch 'MDL-30042-MOODLE_20_STABLE-1' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-23 03:07:45 +01:00
Eloy Lafuente (stronk7) d112ae914f Merge branch 'MDL-27045_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-23 03:02:40 +01:00
Sam Hemelryk 1ee341b3d1 Merge branch 'MDL-30192_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-11-23 14:20:34 +13:00
Sam Hemelryk d019d13ea1 Merge branch 'MDL-29904-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-23 13:58:15 +13:00
AMOS bot 866e90c3d4 Automatically generated installer lang files 2011-11-23 00:31:08 +00:00
Eloy Lafuente (stronk7) 731e021f9c Merge branch 'MDL-30402-install-string_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-11-23 01:08:17 +01:00
Mary Evans e88330b84c MDL-30164 FIX for missing gap between icon and text in reports 2011-11-23 12:59:11 +13:00
Mary Evans 39009f1633 MDL-30196 changed reference from Serenity to Sky High in theme_sky_high.php 2011-11-23 12:50:30 +13:00
Petr Skoda ce5ee449e3 MDL-30303 fix media playback from URLs with ? query parts
Credit for the rawurlencode() fix goes to Eloy.
2011-11-23 12:18:02 +13:00
David Mudrak d53fd52df8 MDL-30402 Removing hard-coded English string from the CLI installer 2011-11-22 10:05:51 +01:00
Aparup Banerjee d31ebf3462 Merge branch 'MDL-30194-m20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-22 16:19:48 +08:00
Aparup Banerjee 31550708b4 Merge branch 'wip-mdl-29396-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-22 16:11:06 +08:00
Rajesh Taneja b25603680e MDL-29396 core: ip blocking will be bypassed for cli scripts - Thanks Petr 2011-11-22 16:10:19 +08:00
Aparup Banerjee f50e703e21 Merge branch 'MDL-27703_user_report_sql_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-22 14:25:28 +08:00
Sam Hemelryk f68144c177 Merge branch 'MDL-28629_MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-11-22 18:28:11 +13:00
Rajesh Taneja f129c975b9 MDL-28947 lib: print_object cleans html special chars before printing 2011-11-22 09:30:07 +08:00
AMOS bot b7867ebe98 Automatically generated installer lang files 2011-11-22 00:30:58 +00:00
Sam Hemelryk 63526f3e9b Merge branch 'MDL-30392_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-11-22 12:59:52 +13:00
Eloy Lafuente (stronk7) 2f4fe2f195 MDL-30392 DML - Fix old-style delete_records() call 2011-11-22 00:44:44 +01:00
Andrew Robert Nicols cf4b3493e2 MDL-30174 Assignment : Only increment submission offset if the current assignment was not saved 2011-11-22 02:21:44 +08:00
Andrew Robert Nicols 71dda1f97d MDL-30173 Assignment : Convert to use moodle_url and add missing filter param 2011-11-22 02:05:01 +08:00
Aparup Banerjee e239fd37b8 Merge branch 'MDL-29814_blank_emails2_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-22 01:22:20 +08:00
Aparup Banerjee 6c5fe9f7e9 Merge branch 'wip-MDL-30289-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-21 14:10:07 +08:00
Aparup Banerjee 36d22219bc Merge branch 'MDL-30279-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-21 11:53:21 +08:00
Andrew Robert Nicols f7aef5c648 MDL-29591 Check for permission before overwriting course idnumber when restoring 2011-11-21 02:34:32 +01:00
Charles Fulton 26303bd017 MDL-30289 forum - set page context when pruning a discussion 2011-11-21 09:14:49 +08:00
Mary Evans 50f0c58e69 MDL-30236 removed outlawed javasript from theme_anomaly 2011-11-21 13:28:52 +13:00
Mary Evans 689a6891bf MDL-29904-M21 FIX to add pagelayout=>report 2011-11-20 20:31:07 +00:00
Tim Hunt fef14d0fc8 MDL-29060 q export: writefiles should be public write_files & belongs to XML format. 2011-11-20 12:05:18 +00:00
Andrew Davis 878ff40575 MDL-29814 message: made html personal messages also store a plain text version as a fallback 2011-11-19 15:39:24 +08:00
AMOS bot 0d52d3366c Merge branch 'MOODLE_20_STABLE' into install_20_STABLE 2011-11-19 00:31:10 +00:00
Eloy Lafuente (stronk7) fcf11d558a MDL-30192 restore - prevent any extra info to be created for deleted users 2011-11-18 13:04:17 +01:00
adrian@moodle.com 905617c12f MDL-20627 user - Fixed viewing permission of email when sending group messages. 2011-11-18 14:53:56 +08:00
Eloy Lafuente (stronk7) f28832d5c0 weekly release 2.0.5+ 2011-11-18 01:32:16 +01:00
AMOS bot 05b49c8b6d Automatically generated installer lang files 2011-11-18 00:31:02 +00:00
Eloy Lafuente (stronk7) 5acc2fba63 MDL-29350 Prevent memory/time problems if there are zillions of combinations 2011-11-17 20:23:49 +01:00
Eloy Lafuente (stronk7) da7ab34762 Merge branch 'MDL-29350-MOODLE_20_STABLE-2' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-17 20:18:38 +01:00
Tim Hunt 4dd114b834 MDL-27045 formslib: fix disabledif for advcheckbox
This is based on earlier work by Henning Bostelmann and Tom Potts.
2011-11-17 18:01:51 +00:00
Charles Fulton 797e49da80 MDL-30279 show full date and time for all wiki revisions 2011-11-17 09:11:54 +05:30
Tony Levi 165e476948 MDL-24577: Fix mark all posts in this discussion read doesn't work completely correct 2011-11-17 14:59:41 +13:00
Eloy Lafuente (stronk7) 991ee3344a Merge branch 'MDL-29743_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-17 01:23:08 +01:00
Sam Hemelryk 5174eeebe3 Merge branch 'MDL-29893-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-17 13:10:53 +13:00
Mary Evans 96b7f2d7db MDL-30283-M20 FIX coding errors 2011-11-16 14:18:15 +00:00
Ankit Kumar Agarwal 6eaf677b26 MDL-29893 Fixing issues with password generation function 2011-11-16 11:44:01 +05:30
Henning Bostelmann fc73d9e7b4 MDL-29350 Prevent duplication of groupings when copying activities
This patch also includes a database upgrade to correct data produced as a
result of this bug.
2011-11-15 11:06:00 +00:00
Tim Hunt ed39308f60 MDL-29743 quiz: Finish attempt link didn't save responses in some brosers.
Thanks to Brandon Browning for identifying the problem. It is quite subtle why this typo would have this effect. You need to look at the implementation of the preventDefault method in lib/yui/3.4.1/build/event-base/event-base.js.

Conflicts:

	mod/quiz/module.js
2011-11-15 10:54:48 +00:00
Eloy Lafuente (stronk7) 2450fc50ed weekly release 2.0.5+ 2011-11-15 11:08:51 +01:00
Eloy Lafuente (stronk7) 9fdd6c8bc8 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-15 10:55:39 +01:00
AMOS bot d7a7519fd4 Automatically generated installer lang files 2011-11-15 00:55:26 +00:00
Sam Hemelryk c0e1de9b00 Merge branch 'MDL-28670_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-11-14 17:51:06 +13:00
Aparup Banerjee 94846c2e39 MDL-28670 webservice : (review) changes improving performance 2011-11-14 11:26:24 +08:00
Sam Hemelryk 06b4c6e13a Merge branch 'wip-MDL-30010-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-14 12:14:47 +13:00
AMOS bot 036b35f682 Automatically generated installer lang files 2011-11-13 15:14:42 +01:00
AMOS bot 98ea2e451a Automatically generated installer lang files 2011-11-13 00:55:28 +00:00
Jerome Mouneyrac 794e40ec36 MDL-28629 more checks during web service authentication 2011-11-11 17:21:38 +08:00
Aparup Banerjee eff6d318ff Merge branch 'wip-mdl-29638-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-11 17:02:51 +08:00
andrew 327120be6a MDL-27703 gradebook: altered an sql query in the user report. join with no on clause causes an error in some DBs 2011-11-11 14:26:07 +08:00
Aparup Banerjee 483f992801 MDL-27037 wiki : fixed whitespace. 2011-11-11 13:27:27 +08:00
Aparup Banerjee 7ba8da8a13 Merge branch 'm20_MDL-27037_wiki_visiblegroups_functionality' of https://github.com/mayankgupta/moodle into MOODLE_20_STABLE 2011-11-11 13:14:52 +08:00
Aparup Banerjee 4342686ce6 Merge branch 'wip-MDL-26712-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-11 11:27:01 +08:00
Eloy Lafuente (stronk7) c8a5dfe0bd Merge branch 'MDL-29035-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-11 02:44:00 +01:00
Eloy Lafuente (stronk7) 1739fe7331 Merge branch 'MDL-22351-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-11 02:34:32 +01:00
Stephen Bourget d83c73053d MDL-29529 Assignment: Fix regression caused by MDL-27638 2011-11-11 01:23:20 +01:00
Andrew Robert Nicols f6d6e5446d MDL-30042: Sanitize httpwwwroot in mnet jump 2011-11-10 10:18:03 +00:00
Eloy Lafuente (stronk7) 3d99c7ef99 Merge branch 'MDL-28426_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-10 01:34:05 +01:00
Eloy Lafuente (stronk7) 81a95b0185 Merge branch 'MDL-30158-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-10 00:23:02 +01:00
Eloy Lafuente (stronk7) cc13ca3111 NOBUG: Whitespace cleanup 2011-11-09 16:29:33 +01:00
Eloy Lafuente (stronk7) 14db36e6d1 MDL-27542 calendar export: deleting remaining debugging 2011-11-09 16:00:41 +01:00
Eloy Lafuente (stronk7) 6733ba320d Merge branch 'MDL-27542b_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-11-09 15:57:09 +01:00
Aparup Banerjee 41752c58bc Merge branch 'MDL-29620-workshop-sequence_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-11-09 17:55:28 +08:00
Sun Zhigang e293df9442 MDL-29656 Fix bad string reference 2011-11-09 16:45:27 +08:00
Dan Poltawski 1803769098 MDL-29696 mod/data - fixed page continuing after footer. 2011-11-09 15:43:48 +08:00
Sun Zhigang 94eaa78a25 MDL-29722 - No default guest enrol instance for requested courses 2011-11-09 15:24:59 +08:00
Jason Fowler 3cbecebfa4 MDL-30194 - Lib - Fixing phpdoc for clean_param 2011-11-09 14:56:57 +08:00
Aparup Banerjee bca9d87c4e Merge branch 'MDL-29977-mnet-masquerade_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-11-09 13:38:07 +08:00
Dan Poltawski 52a29f890e MDL-29812 partcipiant report - breaks when filtering by user 2011-11-09 11:17:40 +08:00
Aparup Banerjee 8935486dc4 Merge branch 'wip-MDL-24200-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-09 11:05:15 +08:00
Dan Poltawski 2eb04f8ad3 MDL-29803 report/logs - don't retrieve all users uncessarily
Also remove uncessary retrieval of idnumber

Helps display the main logs page on large sites without running out of
memory

Conflicts:

	course/report/log/lib.php
2011-11-09 00:48:47 +01:00
Aparup Banerjee ce8e567302 Merge branch 'wip-mdl-27521-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-08 15:18:54 +08:00
Aparup Banerjee 3fa32485c9 MDL-30154 Repositories : fixed whitespace. 2011-11-08 11:31:24 +08:00
Aparup Banerjee 3555da1d3c Merge branch 'MDL-30154_20_wip' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-11-08 11:31:15 +08:00
Ankit Kumar Agarwal d90316ff6c MDL-30158 Questions Cleaning up blackboard/format.php 2011-11-08 07:45:48 +05:30
Sam Hemelryk 7352bbbc6a Merge branch 'MDL-25823_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-11-08 13:09:29 +13:00
Mark Nielsen d9f049c913 MDL-30059: Assignment Submission Notification Should Use Teacher's Timezone Rather Than Server Time 2011-11-08 12:53:08 +13:00
Sam Hemelryk 7f5380be08 Merge branch 'MDL-29420-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-08 12:00:42 +13:00
Rossiani Wijaya d3826329f6 MDL-27542 calendar export: fixed the following:
1. changing auth token to use user id instead of username
2. add fall back checking for old url
3. remove yui functionality to generate calendar url
4. fixed usercontext instance
2011-11-07 17:08:19 +08:00
Jason Fowler 35271f566f MDL24200 - Admin Users - Changing the submit button to just a button to prevent it from taking focus when entering text. (Patch provided by Hubert Chathi) 2011-11-07 15:41:37 +08:00
Aparup Banerjee b062b305f1 MDL-28670 webservice : added dimming of service name in security keys page if webservice is disabled or not on authorised list to access webservice. 2011-11-07 14:23:31 +08:00
Sam Hemelryk 0737e258b6 MDL-28292 block_html: white space fix 2011-11-07 12:33:42 +13:00
Sam Hemelryk fb3bf9a0d2 Merge branch 'wip-MDL-28292-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-07 12:24:15 +13:00
Mary Evans 7b1009233f MDL-30010 FIX for pagelayout problems when moving blocks 2011-11-06 22:46:18 +00:00
Sam Hemelryk 57b290b458 Merge branch 'MDL-29955_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-11-07 11:41:18 +13:00
Andreas Grabs 15f5066c93 MDL-30154 - WebDAV-Repository fails on some WebDAV-Server 2011-11-06 22:13:09 +01:00
David Mudrak 562c3f715f MDL-29620 workshop table id sequence reset after the upgrade 2011-11-04 13:57:40 +01:00
David Mudrak 0d7887f554 MDL-29977 MNet does not allow to start a remote session when masquerading as another user 2011-11-04 09:33:58 +01:00
Ankit Kumar Agarwal 93661834d8 MDL-29420 Global Search Fixing string issue 2011-11-04 12:37:32 +05:30
Mary Evans 7946da5f3c wip-MDL-22351 convert Anomaly CSS to readable format 2011-11-04 02:49:12 +00:00
Roger Moore 537114c6cc MDL-28426 question export should write answer and feedback format to the file. 2011-11-03 10:31:22 +00:00
Jason Fowler d153f01a53 MDL-28292 - Blocks - Patch supplied by Chris Follin to fix blocks with empty titles that disappear when docked 2011-11-03 16:35:05 +08:00
Rajesh Taneja 2b2fd42abc MDL-25937 Forms Library: Filepicker will respect disable if 2011-11-03 13:38:47 +08:00
Rajesh Taneja 3709584065 MDL-25937 Froms Library: Added server side validation for filepicker and filemanager 2011-11-03 13:38:47 +08:00
Jason Fowler 602c77f68c MDL-26712 Themes - Correcting text dimming for hidden labels 2011-11-03 13:22:55 +08:00
Ankit Kumar Agarwal ce77d3ea8c MDL-29035 Backups making email match case-insensitive when restoring backups 2011-11-03 10:37:45 +05:30
Rossiani Wijaya 9e232387f5 MDL-25823 lesson mod: fixed true and false question feedback. 2011-11-03 12:15:55 +08:00
AMOS bot a3bee9b1d3 Automatically generated installer lang files 2011-11-03 00:55:40 +00:00
Eloy Lafuente (stronk7) 919e659ba6 weekly release 2.0.5+ 2011-11-02 19:54:36 +01:00
Eloy Lafuente (stronk7) 8a79a37526 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-02 19:48:57 +01:00
Eloy Lafuente (stronk7) 3db86da7bb Merge branch 'm20_MDL-29213' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-11-01 19:55:52 +01:00
Aparup Banerjee a4276fe096 Merge branch 'w43_MDL-30005_m20_uri' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-11-01 15:28:25 +08:00
Petr Skoda 494268cd48 MDL-30005 regression fix for non http/ftp urls 2011-11-01 07:58:05 +01:00
Aparup Banerjee d14031e9ae Merge branch 'w43_MDL-29990_m20_navcontinue' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-11-01 12:16:42 +08:00
Aparup Banerjee ace896cda7 Merge branch 'MDL-29787_M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-01 12:07:57 +08:00
Sam Hemelryk 16d1e22c10 Merge branch 'w43_MDL-29980_m20_flowcss' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-11-01 16:54:03 +13:00
Gerwood Stewart 9fee0258a4 MDL-27521 Updates the can_finalize and can_unfinalize methods to deal with passing a submission object that isn't one (in this case is a Boolean value). This will result in both methods now returning false. Kick on effect is that it corrects the bug described in MDL-27521 by removing the button if it isn't possible to finalize the submission. 2011-11-01 11:45:10 +08:00
Sam Hemelryk 3a7d4b4b3d Merge branch 'MDL-29197-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-01 16:11:04 +13:00
Sam Hemelryk 2b7b20dea9 Merge branch 'MDL-25760_M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-01 15:58:28 +13:00
AMOS bot d555b33e55 Automatically generated installer lang files 2011-11-01 00:55:25 +00:00
Sam Hemelryk 0bc3cbc276 Merge branch 'w43_MDL-29925_m20_calendar' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-11-01 09:37:55 +13:00
Aparup Banerjee 4b25984a20 Merge branch 'w43_MDL-29966_m20_grouploading' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-10-31 16:06:03 +08:00
Rossiani Wijaya 25713708d6 MDL-29955: filestorage/file_types: add support for .aac, .f4v, .m4v and .webm 2011-10-31 15:33:50 +08:00
Aparup Banerjee 230c61f562 MDL-30005 URL : fixed typos 2011-10-31 15:20:08 +08:00
Aparup Banerjee 44aba13a35 Merge branch 'MOODLE_20_STABLE' of git://git.moodle.org/integration into MOODLE_20_STABLE 2011-10-31 15:19:43 +08:00
Sam Hemelryk f909700aff Merge branch 'MDL-29810-20' of git://github.com/bostelm/moodle into MOODLE_20_STABLE 2011-10-31 17:09:41 +13:00
Dan Marsden 11fd3b45bb MDL-29213 SCORM - fix for bug with flash player and IE 9 2011-10-31 15:00:37 +13:00
Mary Evans 306beb581d MDL-29197 FIX for content displacment when clicking anchor elements in course page 2011-10-31 01:51:24 +00:00
Sam Hemelryk 6cedec7615 Merge branch 'MDL-30006-workshop-grades_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-10-31 13:05:35 +13:00
Sam Hemelryk f672031f54 Merge branch 'm20_MDL-28559' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-10-31 13:00:25 +13:00
Petr Skoda 27a8ee7404 MDL-30005 bump up version after lang string change 2011-10-30 23:55:37 +01:00
Petr Skoda eb4e049654 MDL-30005 fix general URI support in URL module
The recent change completely removed support for general URIs and enforced strict URL validation which was breaking backwards compatibility and was not user friendly at all.

This patch finally adds full URI support with basic validation and fixes some older xhtml strict issues.

Please note we do not try to explain the difference between URL and URI to our users. Also keep in mind that mod/url has XSS risk and does not do any security validation of the data.
2011-10-30 23:55:30 +01:00
David Mudrak e4829fa696 MDL-30006 Workshop / Number of errors grading: force graders to actually answer the form
QuickForms do not distinguish non-checked radio from the checked radio
with the value "0". So we map the database grade value "0" to a value
"-1" when displaying the form and vice versa when saving the form. This
allowed us to have none radios checked by default and force the grader
to actually answer the form themselves, using the 'required' rule.
2011-10-30 20:05:27 +01:00
David Mudrak 1fd94ee7d7 MDL-30006 Workshop / Accumulative grading: force graders to actually pick a grade
This patch introduces a new hidden field with the value "-1". The grade
selectors are compared with this values and must be greater than it.
This should fit well for numerical grades with the range 0..x and scale
items with the range 1..x.
2011-10-30 18:57:57 +01:00
Petr Skoda 7704977132 MDL-29990 fix syntax error 2011-10-29 10:01:14 +02:00
Petr Skoda ae7cc577b7 MDL-29925 improve redirect url cleanup 2011-10-28 19:33:38 +02:00
Petr Skoda e3b2cd8543 MDL-29966 fix invalid group loading image
Credit goes to Alexander Bias.
2011-10-28 15:50:28 +02:00
Petr Skoda a944c3dc97 MDL-29980 fix rules typo
Credit goes to Paul Nicholls.
2011-10-28 15:36:32 +02:00
Mary Evans 9a5d24911b MDL-25760 FIX for highlighted current topic section 2011-10-28 01:34:12 +01:00
Mary Evans a6887331c2 MDL-29787 FIX to remove sprite hover image from single menu item 2011-10-28 00:35:17 +01:00
Henning Bostelmann 3be42c9e85 MDL-29810 Assignment grading: don't include teachers in list of students 2011-10-27 22:20:04 +01:00
Eloy Lafuente (stronk7) e1fe0c5189 weekly release 2.0.5+ 2011-10-27 18:54:42 +02:00
Eloy Lafuente (stronk7) 46fe9a9701 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-10-27 18:49:26 +02:00
AMOS bot 8167bfc973 Automatically generated installer lang files 2011-10-27 00:55:39 +00:00
Eloy Lafuente (stronk7) 512d5310db MDL-29912 course search - oracle inabilities with concats, empties, nulls and type-restrictions 2011-10-27 13:00:10 +13:00
Dan Marsden 5c5dbec7de MDL-28559 - hide send for marking button from people that are enrolled but don't have capability to submit files - displays the same way as teachers/admins - keeps ability to display previously submitted files if they exist 2011-10-26 10:59:53 +13:00
Sam Hemelryk d6261cf8c6 Merge branch 'MDL-29569_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-10-26 10:43:59 +13:00
Dan Poltawski 9485c9e4df MDL-26568 block_online_users - reporting incorrect number of users
When over 50 users were online the count used in the listing was incorrect
2011-10-25 23:35:40 +02:00
Stephen Bourget a558511b85 MDL-29368 Assignment: Fixed a fatal error caused by a missing include 2011-10-25 19:19:54 +02:00
Rossiani Wijaya 4d5dc3104b MDL-29569: lesson_mod: in matching type questions, fixed and set default value for scoring and fixed jump page setting when response text is set to empty 2011-10-25 12:12:54 +08:00
Sam Hemelryk abd481c63e Merge branch 'MDL-28324_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-10-25 15:44:40 +13:00
Sam Hemelryk 88507c0063 Merge branch 'wip-MDL-29231-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-10-25 15:19:33 +13:00
Petr Skoda 7a03cfd525 MDL-29444 use iframe embedding in IE
iframe is back in HTML 5, we can safely use it in IE for all text documents because object embedding has multiple problems
2011-10-25 14:32:22 +13:00
Tim Hunt 9ccf5668e7 MDL-28324 Two minor ouput glitches in the statistics report.
Fixes thanks to Jean-Michel Vedrine.
2011-10-24 22:16:46 +01:00
Eloy Lafuente (stronk7) 9bec13184c Merge branch 'w42_MDL-29867_m20_author' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-10-24 23:15:04 +02:00
Aparup Banerjee 2db9576147 Merge branch 'MDL-29542_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-10-24 17:05:49 +08:00
Aparup Banerjee 1e898eefe3 Merge branch 'MDL-29619-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-10-24 14:49:54 +08:00
Jason Fowler 647153cd4f MDL-29231 - Course, Resource - Fix so that the correct icon is displayed for courses that have had two or more files uploaded to them - Thanks Michael D for the patch 2011-10-24 14:26:25 +08:00
Petr Skoda 3765f9a4bc MDL-29867 fix invalid file author 2011-10-22 20:22:58 +02:00
Andreas Grabs fe6d0cf80d MDL-29806 - When a Feedback activity is restore the "Site after submit" URL is not updated and shows "$@PAGEVIEWBYID*15463@$" 2011-10-21 23:08:18 +02:00
Ankit Kumar Agarwal b216ddbe68 MDL-29619 Validate urls before generating output 2011-10-21 14:23:52 +05:30
Rossiani Wijaya e6aebbff8d MDL-29542 lesson module: changing qtype param type to INT 2011-10-21 12:42:50 +08:00
Eloy Lafuente (stronk7) 22df4905ca emergency release 2.0.5+ 2011-10-20 00:55:20 +02:00
Eloy Lafuente (stronk7) 150c09677c MDL-29496 course search - emergency regression fix 2011-10-20 00:49:43 +02:00
Eloy Lafuente (stronk7) 885ce5ff89 weekly release 2.1.2+ 2011-10-19 18:46:20 +02:00
Eloy Lafuente (stronk7) 87187e0ef9 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-10-19 18:41:53 +02:00
Sam Hemelryk 537cfab964 MDL-26953 theme_nonzero: Quick fix to incorrect left position 2011-10-19 16:27:18 +13:00
Eloy Lafuente (stronk7) 2092307aba Merge branch 'wip-MDL-29496-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-10-18 11:02:30 +02:00
Eloy Lafuente (stronk7) 64696ae4cc MDL-29496 unittests - verify COALESCE() cross-db compatibility 2011-10-18 16:01:47 +08:00
Sam Hemelryk 13df91ba6d Merge branch 'MDL-28170_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-17 18:51:40 +13:00
Sam Hemelryk d951bc52ac Merge branch 'MDL-26953-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-10-17 17:36:52 +13:00
Sam Hemelryk 9bb0bf92ab Merge branch 'MDL-29781-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-10-17 15:17:14 +13:00
Sam Hemelryk 14c31e1829 Merge branch 'MDL-26893-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-10-17 13:55:41 +13:00
Eloy Lafuente (stronk7) fcc0927953 MDL-28170 environment - add new 2.2 section
nothing changes from 2.1 as far as it was agreed that this will be
the last version supporting 1.9 upgrade. See issue for details.
2011-10-17 02:13:09 +02:00
Aparup Banerjee 8558498fb4 MDL-27351 Quiz : updated string to reflect validation looking for embedded questions. 2011-10-16 19:22:53 +02:00
Aparup Banerjee beb0f4a229 MDL-28436 webservice : fixed missing field in query 2011-10-16 19:13:42 +02:00
Eloy Lafuente (stronk7) bfe60efbb7 MDL-29191 wiki - avoid one more username leak 2011-10-16 19:02:56 +02:00
Sun Zhigang ff6c9d2f86 MDL-29191 - Show creator's fullname instead of username 2011-10-16 18:52:16 +02:00
Stephen Bourget b629bbec9f MDL-29698 Assignment: Fix broken logentry 2011-10-16 18:25:45 +02:00
Eloy Lafuente (stronk7) 3065bfa1e1 Merge branch 'MDL-28483-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-10-16 17:38:37 +02:00
Petr Skoda a1195a463d MDL-29773 prevent negative unix timestamps in the files table 2011-10-16 16:52:12 +02:00
Petr Skoda 4a50c000ab MDL-29773 use db debuginfo when file record insertion fails 2011-10-16 16:52:12 +02:00
Mary Evans b9edb6a853 MDL-29781 FIX for side-post-only layout 2011-10-14 20:44:51 +01:00
Mary Evans 456a4de803 MDL-26953 FIX for side-post-only layout 2011-10-14 02:33:57 +01:00
AMOS bot 694e29989f Automatically generated installer lang files 2011-10-14 00:55:32 +00:00
Ankit Kumar Agarwal 503581b5d0 MDL-28483 URL adding validation checks and changing field externalurl to not-null 2011-10-13 09:10:07 +05:30
Mary Evans 93149694d8 MDL-26983 FIX for side-post-only layout 2011-10-13 02:51:24 +01:00
Eloy Lafuente (stronk7) 9cdadbcad4 weekly release 2.0.5+ 2011-10-12 23:49:46 +02:00
Sam Hemelryk 79175f2019 MDL-29224 navigation Fixed bug caused because in 20 and 21 onclick events get added to extra rather than onclick 2011-10-12 19:46:53 +13:00
Aparup Banerjee f36e320c7e Merge branch 'wip-MDL-27278-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-11 11:26:07 +08:00
Aparup Banerjee 5775674f8c Merge branch 'wip-MDL-28582-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-11 09:28:02 +08:00
Sam Hemelryk 2f92290515 Merge branch 'MDL-29454_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-10-11 10:44:53 +13:00
Aparup Banerjee 422d1ed274 Merge branch 'wip-MDL-29224-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-10 23:15:16 +08:00
Aparup Banerjee c868308b89 Merge branch 'wip-MDL-29672-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-10 22:47:27 +08:00
Eloy Lafuente (stronk7) a2f5969b3d MDL-29564 Assignment: whitespace fix 2011-10-10 13:10:31 +02:00
Sam Hemelryk 787fc502ad Merge branch 'MDL-16553-20' of git://github.com/bostelm/moodle into MOODLE_20_STABLE 2011-10-10 17:57:18 +13:00
Sam Hemelryk 3974508f3f MDL-29690 mod_choice: Fixed regression from merge conflict 2011-10-10 16:48:57 +13:00
Jason Fowler 27d0976f6c MDL-29496 Search, Course - Code applied from patch to allow courses with a blank summary to be found in searchs - Thanks to Andrew Nicols for the patch 2011-10-10 11:37:46 +08:00
Dan Poltawski 1a7541517c MDL-29661 - lib/googleapi.php - Switch to SSL urls
I am not sure why I did not use these in the first instance, I don't
think Google supported SSL in the first versions of their API.

They do now, and it seems that this week they stopped supporting non-ssl
requests.
2011-10-10 16:28:58 +13:00
Sam Hemelryk 9f46908ac4 Merge branch 'MDL-29668_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-10 12:09:06 +13:00
Sam Hemelryk dbd95c2aca Merge branch 'MDL-29677_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-10 12:02:26 +13:00
Stephen Bourget d783eff54b MDL-29564 Assignment: Fixed a fatal error caused by a missing include 2011-10-10 11:54:39 +13:00
Dan Marsden 470e0cea2b MDL-29690 fix usage of select all/deselect all in choice reports 2011-10-10 11:40:59 +13:00
Sam Hemelryk bcc892d151 MDL-28582 course-report: Added a nothing to display notification to the outline and complete activity reports 2011-10-10 10:35:33 +13:00
Sam Hemelryk d86419ad87 MDL-29672 user: Fixed user edit page for non-admin users 2011-10-10 10:28:33 +13:00
Sam Hemelryk 00cc7f5cc9 MDL-27278 navigation: Admin users can now set the home page preference like normal users 2011-10-10 10:17:50 +13:00
Eloy Lafuente (stronk7) 3d765bc299 Moodle release 2.0.5 2011-10-09 00:52:59 +02:00
Eloy Lafuente (stronk7) 8f24208eb9 MDL-29668 xmldb editor - fix PHP generation for foreign-unique keys 2011-10-08 21:52:23 +02:00
Henning Bostelmann 5458ff4d23 MDL-16553 Assignment, student view: show response files when no grade available 2011-10-07 23:23:27 +01:00
Tim Hunt becf8f8a23 MDL-29454 qtype admin page does not work in some browsers.
The problem is that they were using input type=image, but they trying to
process that using optional_param. With input type=image, Firefox sends
inputname.x and inputname.y POST data, not inputname.

This fix is done by back-porting the working code from Moodle 2.1, so
the changes are bigger than the minimal changes required to fix this,
but that will make back-porting any future bug-fixes will be easier.
2011-10-07 19:26:50 +01:00
Tim Hunt 0b45720b6e MDL-29454 Fix coding style before trying to do the real fix.
All the changes here should be whitespace, /// -> // or adding boilerplate comment.
2011-10-07 19:26:48 +01:00
Eloy Lafuente (stronk7) 2c600c42fa MDL-29677 unit tests - missing global was causing tons of incorrect debugging info 2011-10-07 01:24:54 +02:00
Eloy Lafuente (stronk7) 9e4b400c67 weekly release 2.0.4+ 2011-10-07 00:11:54 +02:00
Eloy Lafuente (stronk7) 9a31f96622 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-10-07 00:05:23 +02:00
Sam Hemelryk 739328d149 MDL-29224 navigation: Navigation now respects a modules onclick event when preparing navigation nodes 2011-10-06 19:33:01 +13:00
Aparup Banerjee 8e6e5adb5b Merge branch 'wip-MDL-28615-m20-squashed' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-05 14:54:31 +08:00
Eloy Lafuente (stronk7) 51acffb94a Merge branch 'MDL-28469_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-10-05 01:15:06 +02:00
Eloy Lafuente (stronk7) 74126d6d3e Merge branch 'wip-MDL-25697-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-05 01:10:40 +02:00
Sam Hemelryk c9cfe78950 MDL-28615 forum: Fixed up a couple of minor regressions 2011-10-05 11:09:38 +13:00
Eloy Lafuente (stronk7) d5ca7b11b7 Merge branch 'MDL-27857-assignment-portfolio_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-10-04 12:48:30 +02:00
Eloy Lafuente (stronk7) 33091e7e58 Merge branch 'MDL-19575-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-10-04 12:13:09 +02:00
Sam Hemelryk 019e897604 Merge branch 'MDL-29621_20_wip' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-10-04 17:58:07 +13:00
Sam Hemelryk bdf95827b5 MDL-28615 forum: Fixed missing context regression 2011-10-04 16:36:52 +13:00
Sam Hemelryk c03a8543f0 Merge branch 'MDL-28725_wiki_section2_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-10-04 16:21:48 +13:00
Andreas Grabs fdd6b2fa57 MDL-29621 - XHTML not welformed when creating Feedback questions 2011-10-03 18:46:22 +02:00
Tim Hunt 2602c1ce44 MDL-28469 quiz settings pages should be pagelayout admin. 2011-10-03 16:39:34 +01:00
David Mudrak f5edf4eba4 MDL-27857 Export to portfolio support in the assignment module improved
Portfolio API code in the assignment module expected that the current
user is the author of the submission. Therefore the "Export to
portfolio" button did not work when the submission was viewed by a
teacher (eg at the page with the list of all submissions in the Advanced
upload assignment).

This patch introduces a new callback argument 'submissionid' that holds
explicit ID of the submission the export deals with. With it available,
we do not need to expect the current user is the author of the
submission.

The patch also cleans some strings used for portfolio callback
exceptions.

Backported from MOODLE_21_STABLE, resolved conflicts in:

	mod/assignment/lib.php
	mod/assignment/renderer.php
2011-10-03 11:15:17 +02:00
David Mudrak ee281f15a7 MDL-27857 Typo in the phpDocs fixed 2011-10-03 10:27:05 +02:00
David Mudrak 490057db33 MDL-27857 Assignment does not use form tag to render portfolio export control widget
When this code was used as a part of the grading screen, the default
PORTFOLIO_ADD_FULL_FORM widget led to nested form elements. This patch replaces
the form widget with a plain text link that can be embedded safely.

Backported from MOODLE_21_STABLE with a conflict resolved in mod/assignment/renderer.php
2011-10-03 10:26:01 +02:00
Aparup Banerjee 6dd8588504 MDL-26486 Lesson : fixed whitespace 2011-10-03 16:03:15 +08:00
Aparup Banerjee e2c3a02bb8 Merge branch 'MDL-26486_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-10-03 16:03:03 +08:00
Andrew Davis (andyjdavis) 5dd5818c9a MDL-27640 rating: altered the return url provided by mod_data to ratings 2011-10-03 15:27:58 +08:00
Aparup Banerjee 1f6a502674 Merge branch 'wip-MDL-27867-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-10-03 14:31:44 +08:00
Aparup Banerjee 067a949f46 MDL-29541 Administration : fixed whitespace 2011-10-03 14:05:05 +08:00
Aparup Banerjee 4824e2deff Merge branch 'wip-mdl-29244-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-10-03 13:52:52 +08:00
Rajesh Taneja 95a14f5d55 MDL-29244 Users: Fixed filter for selecting users who never logged in and course roles dropdown show all revelent roles 2011-10-03 13:47:58 +08:00
Sam Hemelryk 77738c4562 Merge branch 'MDL-29296_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-10-03 17:09:35 +13:00
Sam Hemelryk e93dd0d650 Merge branch 'wip-mdl-29539-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-10-03 15:10:05 +13:00
Sam Hemelryk 98b723b1ce MDL-28566 theme_base: removed MDL comment 2011-10-03 15:00:43 +13:00
Sam Hemelryk d6a7cac991 Merge branch 'MDL-28566-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-10-03 14:38:14 +13:00
Sam Hemelryk ec9b8fb68d Merge branch 'MDL-29323-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-10-03 14:30:26 +13:00
Sam Hemelryk 8bd76f9e65 Merge branch 'wip-MDL-25454-MOODLE_20_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_20_STABLE 2011-10-03 14:23:59 +13:00
AMOS bot 4dbfb1becc Automatically generated installer lang files 2011-10-03 00:55:34 +00:00
Sam Hemelryk c06645a539 Merge branch 'MDL-29567_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-03 13:23:37 +13:00
Sam Hemelryk 85906b4ae5 Merge branch 'MDL-29566_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-03 12:50:10 +13:00
Sam Hemelryk 424cb3b0ef Merge branch 'MDL-29618_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-10-03 12:28:27 +13:00
Eloy Lafuente (stronk7) ab37ff5952 MDL-29618 backup - back to handling enrolments properly. Regession of MDL-26841, my fault, grrr 2011-10-03 00:47:51 +02:00
Sam Hemelryk b38867187f MDL-28615 forum: Revised enrol_sharing_course to use the new enrol_get_shared_courses and fixed permission checking in forum_user_can_see_post 2011-10-03 11:31:17 +13:00
Kordan 1cef86131d MDL-29403 fix for M20 2011-09-30 11:14:00 +02:00
Mary Evans 14b0fea807 MDL-29323-FIX invalid border style 2011-09-30 03:08:51 +01:00
AMOS bot 9fb272baaa Automatically generated installer lang files 2011-09-30 00:55:25 +00:00
Marina Glancy 44e9ca744e MDL-25454: using the faster way to check if record exists in db 2011-09-29 17:07:39 +08:00
Andrew Davis (andyjdavis) a80c9b9816 MDL-28725 wiki: added urlencode around the section variable when it is being used to construct URLs 2011-09-29 16:53:16 +08:00
Andrew Davis (andyjdavis) 3f1ef9ec5a MDL-28725 wiki: added missing string
AMOS BEGIN
 CPY [invalidsection,core_admin],[invalidsection,mod_wiki]
AMOS END
2011-09-29 16:53:07 +08:00
Rossiani Wijaya d754f1b012 MDL-26486 lesson mod: fixed grade report error on matching and shortanswers questions. 2011-09-29 13:10:35 +08:00
Ankit Kumar Agarwal 4ca24885a5 MDL-19575 Global Search Adding capability checks to the search and stat pages 2011-09-29 09:18:23 +05:30
Marina Glancy d69c84b185 MDL-25454 before skipping course backup make sure that there are no change entries in it's log during the last month. Store the nextstarttime even for courses that were not backed up 2011-09-29 10:01:50 +08:00
Rajesh Taneja 87fccbc271 MDL-29539 HTML Editor: Fixed XHTML formatting for editor 2011-09-29 09:35:52 +08:00
Sam Hemelryk dbde930a58 MDL-28615 mod_forum: Fixed the users page that shows all of the users posts 2011-09-29 14:21:26 +13:00
Sam Hemelryk 63cca18b3a MDL-25697 theme_base: Improved the alignment of the activity editing icons on the course frontpage 2011-09-29 14:15:13 +13:00
AMOS bot 18c99c67fa Automatically generated installer lang files 2011-09-29 00:55:45 +00:00
Eloy Lafuente (stronk7) 00b4aadafe MDL-29567 postgresql - handle negative defaults in numerical cols properly 2011-09-29 01:22:54 +02:00
Eloy Lafuente (stronk7) 13e183dd84 MDL-29567 unit tests - add some tests to cover negative defaults in numerical cols 2011-09-29 01:22:51 +02:00
Eloy Lafuente (stronk7) b558672db4 MDL-29566 mysql - length / decimal specs in float columns are optional 2011-09-29 00:31:30 +02:00
Eloy Lafuente (stronk7) 627282714b MDL-29566 unit tests - add some tests to cover get_columns() with number/float columns 2011-09-29 00:31:21 +02:00
Sam Hemelryk 199e7e9f85 MDL-27867 course: Course and category theme selectors no longer show theme's that should be hidden from the selector 2011-09-29 10:48:16 +13:00
Mary Evans 20b76253fb MDL-28566 - Fix for participants user details 2011-09-28 15:36:12 +01:00
Eloy Lafuente (stronk7) 690ef509de weekly release 2.0.4+ 2011-09-28 11:08:56 +02:00
Eloy Lafuente (stronk7) 0442a23878 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-09-28 11:04:44 +02:00
AMOS bot df50b954c6 Automatically generated installer lang files 2011-09-28 00:55:26 +00:00
Aparup Banerjee 38be5071c8 Merge branch 'MDL-29230_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-09-27 15:01:45 +08:00
Aparup Banerjee 041d4b3fab Merge branch 'MDL-25241_forum_search_ratings_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-09-27 11:27:26 +08:00
Sam Hemelryk a53366f7ab Merge branch 'm20_MDL-29519' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-09-27 14:17:36 +13:00
Sam Hemelryk bacfad505d Merge branch 'MDL-29411_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-27 11:17:59 +13:00
Eloy Lafuente (stronk7) fff222f460 Merge branch 'w38_MDL-29535_m20_filters' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-09-26 23:57:51 +02:00
Petr Skoda 60df5b0c05 MDL-29535 fix support for custom filter settings in contrib filters 2011-09-26 23:51:08 +02:00
Eloy Lafuente (stronk7) d2175fceaa Merge branch 'MDL-29462_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-26 22:42:43 +02:00
Eloy Lafuente (stronk7) aa114967bb Merge branch 'MDL-28202_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-26 22:37:51 +02:00
Eloy Lafuente (stronk7) e60ca6985b Merge branch 'MDL-29201_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-26 22:22:04 +02:00
Eloy Lafuente (stronk7) b506a6f08e Merge branch 'MDL-29528_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-26 21:45:15 +02:00
Tim Hunt 5751edbcb1 MDL-29411 questiontext images not displayed in randomsamatch generated questions. 2011-09-26 13:52:02 +01:00
Tim Hunt 7c144c47e5 MDL-29528 qtype multichoice and caclulated combined feedback format overwritten during upgrade.
Conflicts:

	question/type/multichoice/backup/moodle1/lib.php
2011-09-26 13:40:56 +01:00
Rossiani Wijaya 5f32139fde MDL-29296 lesson mod: fixed regression for continue button on last lesson page. 2011-09-26 16:30:43 +08:00
Aparup Banerjee 30a7869e49 Merge branch 'wip-MDL-29487-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-09-26 16:01:47 +08:00
Aparup Banerjee f2b7714f6b Merge branch 'MDL-29464_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-26 14:50:09 +08:00
Aparup Banerjee d0830107cb Merge branch 'MDL-29333_rating_ajax_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-09-26 14:08:30 +08:00
AMOS bot 953560c9c4 Merge branch 'MOODLE_20_STABLE' into install_20_STABLE 2011-09-26 00:55:37 +00:00
Dan Marsden b2f46deb0b MDL-29519 move plagiarism cron to after event queue 2011-09-26 13:17:11 +13:00
Sam Hemelryk 5ea58ff4e1 Merge branch 'MDL-29336-numerrors-mapping-20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-09-26 12:36:18 +13:00
Sam Hemelryk 3603e0856a Merge branch 'MDL-29139_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-09-26 10:45:57 +13:00
Sam Hemelryk 91c578c06d Merge branch 'MDL-29190_20_wip' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-09-26 10:39:41 +13:00
Eloy Lafuente (stronk7) 7608f458e3 weekly release 2.0.4+ (emergency) 2011-09-25 17:27:31 +02:00
Eloy Lafuente (stronk7) 78d1df7fd5 MDL-29512 Revert "MDL-25937 Froms Library: Added server side validation for filepicker and filemanager"
This reverts commit 59bc05c4a2.
2011-09-25 17:16:01 +02:00
Eloy Lafuente (stronk7) bdf1df7058 MDL-29512 Revert "MDL-25937 Forms Library: Added Javascript validation for filepicker and filemanager. Also fixed disbledif rule check for both"
This reverts commit 312a8e0436.
2011-09-25 17:15:47 +02:00
AMOS bot 6c6a05e561 Automatically generated installer lang files 2011-09-25 00:55:26 +00:00
Andreas Grabs 0972d40ad9 MDL-29190 - XHTML not well formed in show_nonrespondents.php 2011-09-23 18:51:50 +02:00
Sam Hemelryk 58d7e8cf60 MDL-29487 enrol: Fixed typo in enrol_sharing_course 2011-09-23 18:18:20 +12:00
Rossiani Wijaya ebc788d13e MDL-29230 lesson_module: fixed question's answer to have 0 value. 2011-09-23 14:17:51 +08:00
Kyle Temkin 9d19a2bcd8 MDL-28202 qtype_calculated fix edge case in the rounding code. 2011-09-22 12:14:59 +01:00
Tony Levi c538ea951f MDL-29201: questions: Fix regraded essay questions not being placed into correct state 2011-09-22 11:48:09 +01:00
Andrew Davis (andyjdavis) 1239f5a5c4 MDL-25241 forum: reimplemented the display of ratings on the forum search page 2011-09-22 15:27:54 +08:00
Aparup Banerjee 47147e2ff5 MDL-29139 Forms Library : fixed missing require_once 2011-09-22 14:55:46 +08:00
David Mudrak c418df9c94 MDL-29336 Saving grade mapping table in the Workshop
The Workshop module using the "Number of errors" grading strategy did
not save all items in the grade mapping table. If some assessment form
fields have weight > 1, the number of possible errors is greater that
the number of the assessment form fields. The previous code deleted all
mappings where the number of errors was greater than the number of
fields.

In this patch, the maximum number of possible errors is calculated as a
sum of weights of all fields. Only mappings over this maximum are
deleted now.
2011-09-22 05:31:03 +02:00
Andrew Davis (andyjdavis) 6ec18f437b MDL-29333 rating: refactored the ratings ajax 2011-09-22 11:03:05 +08:00
Tim Hunt 2d56b929c0 MDL-29464 quiz add random question popup does not update sumgrades. 2011-09-21 16:40:47 +01:00
Tim Hunt 8dce32bb7b MDL-29462 html_to_text('0') gives '', not '0'.
Conflicts:

	lib/simpletest/testweblib.php
2011-09-21 16:40:18 +01:00
Eloy Lafuente (stronk7) 51e1e3d536 weekly release 2.0.4+ 2011-09-21 17:12:24 +02:00
Eloy Lafuente (stronk7) 0ca9b41b50 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-09-21 17:04:56 +02:00
AMOS bot 5e2f228709 Automatically generated installer lang files 2011-09-21 00:55:25 +00:00
Eloy Lafuente (stronk7) 387bde00c2 Merge branch 'MDL-26567_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-21 00:11:35 +02:00
Tim Hunt b9bed21722 MDL-26567 no grade category option on the quiz settings form.
Also, refine the standard_grading_coursemodule_elements method to add a
help string.

AMOS BEGIN
 CPY [gradecategory,grades],[gradecategoryonmodform,grades]
AMOS END
2011-09-20 12:21:36 +01:00
Eloy Lafuente (stronk7) eebe41c9d3 Merge branch 'wip-mdl-29079-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-20 09:51:44 +02:00
Aparup Banerjee 5e90b425fb Merge branch 'MDL-26890-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-09-20 13:18:24 +08:00
Ankit Kumar Agarwal 1a17422d24 MDL-26890 Forums Check on filesize if the file is added to the forum from private area 2011-09-20 10:20:58 +05:30
Rajesh Taneja 722bbfc81f MDL-29079 Administration: Added space on both sides of locked checkbox and for rtl language space will be applied accordingly 2011-09-20 11:51:25 +08:00
Aparup Banerjee 3ee798f85f Merge branch 'wip-mdl-28726-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-20 10:21:45 +08:00
Sam Hemelryk 5e51b68a18 Merge branch 'MDL-26841_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-09-20 12:13:29 +12:00
Sam Hemelryk 0243159817 Merge branch 'MDL-29392_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-09-20 11:59:03 +12:00
Eloy Lafuente (stronk7) 2bc77f9cc9 Merge branch 'wip-mdl-29079-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-20 00:18:03 +02:00
Eloy Lafuente (stronk7) 439de8cf42 Merge branch 'MDL-29126_export_separator_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-09-19 23:36:35 +02:00
Eloy Lafuente (stronk7) c1beb0fa2d Merge branch 'MDL-27298_forum_rating_participants' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-09-19 23:33:55 +02:00
M Kassaei 30721d4913 MDL-29392 grade/report/index.php should use $CFG->grade_profilereport 2011-09-19 11:33:18 +01:00
Eloy Lafuente (stronk7) aed1ff8d29 MDL-26841 backup - prevent any enrolments info to be handled in IMPORT/HUB operations 2011-09-19 11:25:02 +02:00
Rajesh Taneja facb211577 MDL-29079 Administration: Added space between checkboxes on general backup setting page 2011-09-19 13:37:48 +08:00
Sam Hemelryk f6b9535c4b Merge branch 'wip-mdl-25937-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-19 17:00:23 +12:00
Aparup Banerjee 3a5dd161c2 Merge branch 's13_MDL-28509_youtube_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-09-19 12:18:14 +08:00
Dongsheng Cai 54b3f85625 MDL-28509 repository : fixed youtube repository search keyword 2011-09-19 11:53:42 +08:00
Mark Johnson c865e54938 MDL-28509 repository_youtube Enable selection of sort order 2011-09-19 11:53:24 +08:00
Petr Skoda e157c695c9 MDL-29406 fix greedy config settings cleanup 2011-09-19 13:33:16 +12:00
Tim Hunt 1d469cae30 MDL-29360 quiz comment.php has broken JS for the Cancel button.
This swtichest it to more modern YUI3 approach.
2011-09-16 12:08:16 +01:00
Rajesh Taneja 7039fa8d96 MDL-28726 wiki-2.0: Fixed XSS in wiki comments 2011-09-16 11:11:32 +08:00
Rajesh Taneja 312a8e0436 MDL-25937 Forms Library: Added Javascript validation for filepicker and filemanager. Also fixed disbledif rule check for both 2011-09-16 09:18:57 +08:00
Rajesh Taneja 59bc05c4a2 MDL-25937 Froms Library: Added server side validation for filepicker and filemanager 2011-09-16 09:18:57 +08:00
Eloy Lafuente (stronk7) 3df2ab8d98 weekly release 2.0.4+ 2011-09-16 01:39:32 +02:00
Eloy Lafuente (stronk7) 77962f179e Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-09-16 01:34:52 +02:00
AMOS bot ce7582df1f Automatically generated installer lang files 2011-09-15 00:55:25 +00:00
Aparup Banerjee 29134ecc9e MDL-26257 Authentication : fixed typo 2011-09-14 16:12:03 +08:00
Petr Skoda 2d1e165183 MDL-29295 do not use strtok in dml and ddl layers
This prevents clobbering of internal pointer when code calling DML
uses strtok too. Unit test added to prevent future uses.
2011-09-14 00:21:50 +02:00
Aparup Banerjee f3f329d1be MDL-26257 Authentication : whitespace/style fixes 2011-09-13 19:19:28 +08:00
Aparup Banerjee e2ea315c5b Merge branch 'MDL-26257-20' of git://github.com/bostelm/moodle into MOODLE_20_STABLE 2011-09-13 19:17:03 +08:00
Aparup Banerjee 25c976527b Revert "MDL-29188 multilang Reviewed the uses of section name and ensured things were being formatted consistently"
This reverts commit 64e085e1d1.
2011-09-13 16:29:59 +08:00
Aparup Banerjee 06a8b8482d Merge branch 'wip-MDL-29188-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-09-13 13:35:15 +08:00
Sam Hemelryk 62920e80ba Merged branch 'MDL-22232_easier_turn_off_notifications_20' from git://github.com/andyjdavis/moodle.git with conflict resolution 2011-09-12 20:27:41 +12:00
Sam Hemelryk 5fbc1470b1 Merge branch 'MDL-29211_M20' of git://github.com/kordan/moodle into MOODLE_20_STABLE 2011-09-12 19:49:46 +12:00
kordan f196ac57ca MDL-29211 fox for MOODLE_20_STABLE 2011-09-12 09:36:40 +02:00
Sun Zhigang 479af9ed9f MDL-29112 trigger event mod_deleted after deleting mod through AJAX 2011-09-12 17:36:20 +12:00
Sam Hemelryk 52c00a59c6 Merge branch 'MDL-28724_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-09-12 17:26:44 +12:00
Petr Skoda 42a349855f MDL-29131 fix multiple groups issues on the recent activity report 2011-09-12 17:09:06 +12:00
Aparup Banerjee 1fc6a6046a MDL-28724 wiki : Fixed bugs in wiki forms 2011-09-12 12:31:56 +08:00
Sam Hemelryk 13b7a5d4e5 Merge branch 'MDL-27635_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-09-12 14:39:42 +12:00
Sam Hemelryk f4aea09ea4 Merge branch 'w36_MDL-29312_m20_cookieless' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-09-12 14:31:03 +12:00
Rossiani Wijaya b086b19faa MDL-27635 hub component: fixed default value for 'secret' field in 'registration_hubs' table 2011-09-12 10:17:39 +08:00
Sam Hemelryk ef9d05cd99 Merge branch 'MDL-28488_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-09-12 13:21:01 +12:00
kordan e60fc41fdb MDL-29056 theme-formal_white fix for the report pagelayout that was preventing horizontal scroll 2011-09-12 13:03:21 +12:00
Eloy Lafuente (stronk7) d561fa9527 MDL-28488 backup - conditionaly apply defaults based on mode
Some modes of backup cannot be preloaded with general backup
settings because they may conflict with the definitions required/set
by the mode (for example, import backups are, by definition, without
users always, so we cannot apply one default in the opposite direction).

So, after the patch, current general_backup setting will be only applied
to general backups, import/hub modes won't be using any default and
automated backup defaults should be loaded here (TODO)
2011-09-11 22:00:08 +02:00
Eloy Lafuente (stronk7) 53c074a81c MDL-28488 backup - '[backup|restore]:configure cap does not control import mode anymore 2011-09-11 21:59:58 +02:00
Eloy Lafuente (stronk7) a31173a6a6 MDL-28488 backup - fixup some strings and delete legacy ones 2011-09-11 21:59:48 +02:00
Eloy Lafuente (stronk7) f850a316f7 MDL-28488 backup - make backup and import capabilities independent
Before this change, in order to perform one course import it was
necessary to have both the backupcourse and the backuptargetimport
capabilities. After agreement now each one will control its own
backup mode. Same applies for restore.
2011-09-11 21:59:29 +02:00
Petr Skoda f0a75425cb MDL-29312 prevent cookieless mode for security reasons 2011-09-11 10:09:14 +02:00
AMOS bot 43426f3bf8 Automatically generated installer lang files 2011-09-11 00:55:45 +00:00
Henning Bostelmann 42d4cf091e MDL-26257 Shibboleth auth: run logout handler only if logged in via Shibboleth 2011-09-08 11:56:20 +01:00
Andrew Davis (andyjdavis) c841c104f0 MDL-27298 forum: corrected a query in forum_get_participants() 2011-09-08 12:05:35 +08:00
AMOS bot 57ee29839a Automatically generated installer lang files 2011-09-08 00:55:35 +00:00
Sam Hemelryk 64e085e1d1 MDL-29188 multilang Reviewed the uses of section name and ensured things were being formatted consistently 2011-09-08 09:28:05 +12:00
Eloy Lafuente (stronk7) 4f65f98942 weekly release 2.0.4+ 2011-09-07 17:53:24 +02:00
Eloy Lafuente (stronk7) f3266ff658 Merge branch 'wip-MDL-28043-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-09-06 13:56:25 +02:00
Eloy Lafuente (stronk7) bede2a2a34 Merge branch 'wip-mdl-28987-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-06 02:00:12 +02:00
Sam Hemelryk c2731a79e2 MDL-28043 user Fixed context hack in pluginfile for user pics leading to init of page, theme and output for redirect 2011-09-06 11:29:56 +12:00
Eloy Lafuente (stronk7) 85ae284e59 Merge branch 'wip-mdl-23520-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-09-06 01:28:28 +02:00
Eloy Lafuente (stronk7) 029a753b91 Merge branch 'wip-MDL-29006-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-09-06 00:38:55 +02:00
Eloy Lafuente (stronk7) cba00bdb69 MDL-29072 Import course - whitespace fixes 2011-09-05 10:43:32 +02:00
Rajesh Taneja 39f5ddeeb7 MDL-28987 Forms Library: Removed onBlur validation. Now the validation will occur on form submit only 2011-09-05 14:34:07 +08:00
Iñaki Arenaza 556c446f32 MDL-27689 Vague README-LDAP file in auth/ldap
README-LDAP referes to a file that was renamed (to auth.php) in Moodle
1.8 and no longer exists. Make clear what file we are referring to.
2011-09-05 13:32:16 +08:00
Aparup Banerjee 70e16becad Merge branch 'wip-MDL-26811-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-09-05 13:22:25 +08:00
Aparup Banerjee 146ada0aa6 Merge branch 'MDL-29198_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-09-05 12:53:56 +08:00
Rajesh Taneja 11dd2fdb74 MDL-28987 Forms Library: Added tinyMCE onblur event callback for required tinymce fields 2011-09-05 12:23:29 +08:00
Rajesh Taneja 98b8818735 MDL-28987 Forms Library: Added tinyMCE save for tinymce editor validation 2011-09-05 12:23:23 +08:00
Adam Olley 52ed7bb7e3 MDL-28987: Affix [text] to editor element in JS validation and add blur event 2011-09-05 12:23:17 +08:00
Sam Hemelryk f364f5628f Merge branch 'MDL-29018_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-09-05 16:08:13 +12:00
Sam Hemelryk 2c90eef264 Merge branch 'MDL-28689_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-09-05 16:03:12 +12:00
Rossiani Wijaya 55b0567707 MDL-29018 lesson module statistics: fixed statistics diplay for whole the class 2011-09-05 11:14:21 +08:00
Rossiani Wijaya 08aaea9856 MDL-28689 chat module: add input.png file. This is a simple fix by copying the file from bubbles themes. Proper fix should be done in the future 2011-09-05 11:06:27 +08:00
Henning Bostelmann 1749c7aa31 MDL-29072 Import course: Use correct capability for course selection 2011-09-05 13:41:42 +12:00
Sam Hemelryk b1e71dac7d Merge branch 'MDL-27975_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-09-05 13:37:13 +12:00
Eloy Lafuente (stronk7) a2c3c37cb6 MDL-28080 DML unit tests - cover tweak_param_names() and the new 30 chars limit exception 2011-09-01 20:00:17 +02:00
Eloy Lafuente (stronk7) a4c5837ad7 MDL-28080 oracle - avoid tweak_param_names() tweaking too much :-P
Sometimes the (oracle only) tweak_param_names() method was causing
placeholders having > 28 chars length to exceed the 30 chars limit
imposed by Oracle. With this commit the tweak is performed by
replacement for such long placeholders and, at the same time, the
tweak has been commented out from insert/update because it is not
necessary there (placeholders are safe column name always)
2011-09-01 20:00:17 +02:00
Tim Hunt a167057d58 MDL-28080 coding_exception for over-long placeholder names. 2011-09-01 20:00:16 +02:00
Rossiani Wijaya 14d8d6b7bb MDL-27975 community block: fixed string typo 2011-09-01 17:11:39 +08:00
Eloy Lafuente (stronk7) 687e61cdea MDL-29198 DB - make delete_records transactional safe when needed 2011-09-01 11:08:58 +02:00
Andrew Davis (andyjdavis) e186fee5e3 MDL-22232 messaging: updated upgrade code to reduce server load during upgrade 2011-09-01 16:47:39 +08:00
Andrew Davis (andyjdavis) 1e7cd615c1 MDL-29126 gradebook: made text export with tabs as separator work 2011-09-01 15:42:53 +08:00
Rajesh Taneja 92a3823994 MDL-23520 mod-wiki-2.0: Added delete page and version feature as it was in 1.9 2011-08-31 13:54:24 +08:00
Sam Hemelryk 8068301cd7 MDL-29006 block_html Added formatted to title printed on editing form when a hard freeze is in effect 2011-08-31 11:47:03 +12:00
Eloy Lafuente (stronk7) 15141ad25f weekly release 2.0.4+ 2011-08-31 01:34:16 +02:00
Eloy Lafuente (stronk7) 724641e59a Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-08-31 01:29:52 +02:00
Aparup Banerjee 832ea65890 MDL-29005 blocks : clarified comment 2011-08-30 11:24:05 +08:00
Aparup Banerjee 311c3e9365 Merge branch 'MDL-29005_MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-08-30 11:23:57 +08:00
Eloy Lafuente (stronk7) 65ab1ffa5b MDL-28489 site news forum - support multilang filter 2011-08-30 11:07:08 +12:00
Eloy Lafuente (stronk7) b7424c7693 Merge branch 'MDL-29141_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-29 13:02:27 +02:00
Eloy Lafuente (stronk7) 081d16475b Merge branch 'wip-MDL-24202-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-08-29 10:31:34 +02:00
Andrew Davis (andyjdavis) b15713760e MDL-22232 messaging: added some Javascript to the messaging preferences screen to make it awesomer 2011-08-29 15:58:26 +08:00
Sam Hemelryk f24f704630 MDL-24202 navigation Fixed bug caused by navigation overriding a CFG setting 2011-08-29 13:45:56 +12:00
Eloy Lafuente (stronk7) 22a35ffaaf Merge branch 'MDL-26302_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-29 03:23:45 +02:00
Sam Hemelryk 96083d8068 Merge branch 'MDL-26819_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-08-29 13:05:38 +12:00
Sam Hemelryk 31bb03f6e1 Merge branch 'dev_MDL-27289_boxnet_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-08-29 12:55:00 +12:00
Eloy Lafuente (stronk7) 00f706d1f5 Merge branch 'MDL-29064_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-29 02:53:08 +02:00
Sam Hemelryk d3e5802d97 Merge branch 'MDL-29135-mnet-login_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-08-29 12:25:16 +12:00
David Mudrak 6b27edcc47 MDL-29148 MNet - improved handling of a verification function return code 2011-08-29 01:48:16 +02:00
Eloy Lafuente (stronk7) 28883e9b45 Merge branch 'MDL-25872-20' of git://github.com/bostelm/moodle into MOODLE_20_STABLE 2011-08-29 01:22:58 +02:00
Iñaki Arenaza e79edb11ee MDL-28402 LDAP configuration values being stored in lower case, causing misconfiguration
It looks like array_change_key_case() does not work recursively, so we
were not actually lowercasing the expiration attribute key. As the
configuration setting is always lowercase they didn't match.
2011-08-29 01:09:18 +02:00
Eloy Lafuente (stronk7) d5d16e1f9c MDL-26819 quiz statistics - use cross-db GROUP BY expression 2011-08-28 22:23:32 +02:00
David Mudrak a1e52c70e5 MDL-27107 auth_mnet - consider all incoming roaming users as confirmed
The 'confirmed' field can't be optional. If the identity provider did
not export it, the new remote user would be created with 'confirmed' set
to default zero and as such could be a subject of scheduled deletion.
2011-08-28 02:28:12 +02:00
David Mudrak b9720b8869 MDL-29135 Reworded login prompt with SSO over MNet enabled 2011-08-27 18:25:09 +02:00
AMOS bot 3f4a67b330 Automatically generated installer lang files 2011-08-27 00:55:45 +00:00
Henning Bostelmann 62da28c64d MDL-25872 View assignment submissions: show only students, not teachers
Fixing incorrect capability reference mod/assignment:view to ...:submit
2011-08-26 17:34:42 +01:00
Tim Hunt 1179c92d0b MDL-29141 question bank show question text checkbox does not match state. 2011-08-26 17:31:23 +01:00
M Kassaei 3388d2f9f9 MDL-27631 question bank Show question text in the question list when top level category is used 2011-08-26 17:30:20 +01:00
Eloy Lafuente (stronk7) 58609afebb weekly release 2.0.4+ 2011-08-26 15:07:04 +02:00
Eloy Lafuente (stronk7) 6a10905864 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-08-26 14:57:03 +02:00
Andrew Davis (andyjdavis) 87a4bba39c MDL-22232 messaging: miscelaneous fixes after integration review 2011-08-26 15:59:31 +08:00
Sam Hemelryk 179b60aea6 MDL-26811 upgrade Fixed up default handling causing exception on upgrade of used site in MSSQL 2011-08-26 14:58:55 +12:00
Eloy Lafuente (stronk7) d52f9563d1 Merge branch 'MDL-27823_bulk_messaging_2_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-08-25 10:47:31 +02:00
Eloy Lafuente (stronk7) de8c58715a Merge branch 'MDL-28650-MOODLE_20_STABLE' of https://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-08-25 01:16:38 +02:00
Jerome Mouneyrac 2771063982 MDL-29005 display enrollable courses total and downloadable courses total instead of courses/sites total 2011-08-24 14:53:51 +08:00
Aparup Banerjee acb05b5d4d Revert "MDL-28509 repository_youtube Enable selection of sort order"
This reverts commit 919304d4bf.
2011-08-24 14:43:36 +08:00
Eloy Lafuente (stronk7) d45e517538 Merge branch 'w33_MDL-29022_m20_idnumber' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-24 03:52:26 +02:00
Aaron Barnes df40fa5f66 MDL-28248 completion: Incorrect SQL for finding enrol start date 2011-08-24 12:06:12 +12:00
Sun Zhigang 02e5cdbeb8 MDL-29019 enrol - fix a typo 2011-08-24 01:31:47 +02:00
Petr Skoda 029e7f5eae MDL-29000 multiple password reset issues
* stop abusing get_complete_user_data()
* fix case-sensitiveness in password reset for PG
* do not allow reset of disabled accounts
* propose a solution for non-unique emails
2011-08-24 01:09:23 +02:00
Petr Skoda 9a529b0753 MDL-28981 fix forum_user_can_post() call params 2011-08-24 00:53:45 +02:00
Tony Levi 3c0b7e9468 MDL-27228: Fix label 'eye' does not match show/hide setting 2011-08-23 23:36:43 +02:00
Aparup Banerjee ce7519c27e Merge branch 'MDL-28723-plugin-tables_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-08-24 01:30:09 +08:00
Eloy Lafuente (stronk7) 0a2be338a8 MDL-28962 enrol imsenterprise - whitespace fix 2011-08-23 18:44:10 +02:00
Eloy Lafuente (stronk7) d3ff99e745 Merge branch 'm20_MDL-28962' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-23 18:43:56 +02:00
Eloy Lafuente (stronk7) 91d77b17bd Merge branch 'MDL-28397-20' of https://github.com/totara/moodle into MOODLE_20_STABLE 2011-08-23 17:31:45 +02:00
Sam Hemelryk 142af01f32 MDL-25636 block_html Fixed up missing format config if block restored from early 2.0 backup 2011-08-23 18:43:54 +08:00
Petr Skoda 6551049f07 MDL-28935 use weekdays as calendar table headings 2011-08-23 10:05:28 +02:00
Jason Ilicic ed246c21db MDL-28935 Add days of week to monthly calendar view 2011-08-23 10:05:22 +02:00
Tim Hunt e5073fe305 MDL-29064 qtype multianswer, question text should be a required field. 2011-08-23 08:41:18 +01:00
Aparup Banerjee 9ef338d744 Merge branch 'MDL-28509_20_STABLE' of git://github.com/marxjohnson/moodle into MOODLE_20_STABLE 2011-08-23 14:58:00 +08:00
Eloy Lafuente (stronk7) 68e22328b5 Merge branch 'm20_MDL-28999' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-23 02:50:21 +02:00
Petr Skoda 9986fe8d0d MDL-29016 allow distributions to set dataroot permissions 2011-08-23 02:43:17 +02:00
Eloy Lafuente (stronk7) 13c04d1701 Merge branch 'w33_MDL-29031_m20_oldblock' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-23 02:05:33 +02:00
Eloy Lafuente (stronk7) bf3e4e030f Merge branch 'MDL-28226_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-23 01:42:48 +02:00
Adam Olley f22a7de23f MDL-28481: Send headers before any possible output 2011-08-23 01:37:32 +02:00
Eloy Lafuente (stronk7) f9356f85ce Merge branch 'w33_MDL-28936_m20_msgstrlen' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-23 01:20:37 +02:00
Tom Cubanski 3c94cc716e MDL-26302 quiz editing: top move button on the order and paging tab does not work.
It is strange that processes the submission already handles the submitted data from this change to the HTML.
2011-08-22 23:58:12 +01:00
Aparup Banerjee 5a80cab06d Merge branch 'wip-mdl-28580-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-23 01:54:22 +08:00
Andrew Davis (andyjdavis) b1f400ae6f MDL-27823 messaging: preventing html tags from being output to the UI 2011-08-22 15:33:30 +08:00
Aaron Barnes 551fa5f4dd MDL-28397 completion: Activity completion criteria not showing grading
requirement

Credit goes to Evan Irving-Pease for the patch
2011-08-22 14:56:35 +12:00
Andrew Davis (andyjdavis) bec1c29d84 MDL-22232 messaging: reimplementing support for "emailstop" in 2.0 stable 2011-08-22 09:51:17 +08:00
Petr Skoda 89f5428879 MDL-29031 remove blocks cleanup todo 2011-08-21 17:46:54 +02:00
Petr Skoda 84c656a557 MDL-27248 remove forgotten unique sortorder index from the course table 2011-08-21 17:34:26 +02:00
Petr Skoda 367f1a7300 MDL-29022 do not require idnumber in ext courses - backport from MDL-29020 2011-08-20 11:36:21 +02:00
Petr Skoda 725ef19f1f MDL-28936 fix invalid >200 comparison and utf-8 incompatibility
Credit for discovery goes to Jason Ilicic.
2011-08-19 18:46:38 +02:00
Rajesh Taneja 12acab953b MDL-28580 Administration: Added sanity check to grab wrong usage of upgrade_main_savepoint 2011-08-19 07:48:24 +00:00
Dan Marsden 1425c0b449 MDL-28999 SCORM add missing yui2 require 2011-08-19 10:22:41 +12:00
Tim Hunt 4f24a95cdd MDL-28226 wrong final quiz grade when regrading with first/last attempt graded.
This is an intermitted problem that depends on the order the DB returns
rows in the absence of an order-by. At any rate, adding an explicit
order-by fixes it.

Also inprove a PHP doc comment and some code to make the API clearer.
2011-08-18 13:47:46 +01:00
Jerome Mouneyrac f4a57f80ef MDL-28650 add a page in the administration to the full web service API (API documentation). 2011-08-18 13:31:50 +08:00
Dan Marsden feb6542872 MDL-28962 enrol imsenterprise - incorrect conversion of new dml syntax - thanks to Patrick Gagnon for report and fix. 2011-08-18 13:40:42 +12:00
AMOS bot 1c59b0ad97 Automatically generated installer lang files 2011-08-18 00:55:29 +00:00
Eloy Lafuente (stronk7) 9e47a85a24 weekly release 2.0.4+ 2011-08-18 02:43:23 +02:00
Eloy Lafuente (stronk7) a25ae4ff1b Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-08-18 02:38:59 +02:00
Eloy Lafuente (stronk7) 14f9c0cbcd Merge branch 'm20_MDL-28971' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-18 01:43:05 +02:00
Dan Marsden c9a0802794 MDL-28971 - SCORM_TOC_DISABLED is not available in 2.0 - only available in 2.1 and higher 2011-08-17 20:45:19 +12:00
Dongsheng Cai 078bd6815c MDL-27289, upgrade box.net repository plugin to use new box.net authentication process 2011-08-17 11:44:49 +08:00
Eloy Lafuente (stronk7) c7cce21d67 Merge branch 'wip-mdl-27219-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-17 03:00:59 +02:00
Eloy Lafuente (stronk7) be3aba207e Merge branch 'MDL-28737_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-17 02:52:25 +02:00
Eloy Lafuente (stronk7) c2a64d94ff Revert "MDL-25757 SCORM fix issue with duplicate cmi values being saved"
This reverts commit 230a4ab6a2.
2011-08-17 02:29:28 +02:00
Eloy Lafuente (stronk7) 780cdcea5f Merge branch 'MDL-27752_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-08-17 01:02:39 +02:00
sam marshall 4cc5500d0e MDL-28643 Fix debugging message when deleting activity with grade completion 2011-08-17 00:46:06 +02:00
Eloy Lafuente (stronk7) c2fe54c236 Merge branch 'm20_MDL-28649' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-17 00:35:07 +02:00
Tim Hunt 104524f504 MDL-28654 fix path for TinyMCE in lib/thirdpartylibs.xml. 2011-08-17 00:10:51 +02:00
Eloy Lafuente (stronk7) 664a07f74e Merge branch 'm20_MDL-28721' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-16 23:44:32 +02:00
David Mudrak a0e1c31535 MDL-28723 Make sure that the arrays used by print_plugin_tables() are correctly initialized
This covers a very rare and unexpected case when no mods or no blocks
are installed. Credit goes to Aparup Banerjee for spotting this.
2011-08-16 13:59:56 +02:00
Eloy Lafuente (stronk7) bf479611db Merge branch 'wip-MDL-26754-MOODLE_20_STABLE' of github.com:marinaglancy/moodle into MOODLE_20_STABLE 2011-08-16 13:17:12 +02:00
Eloy Lafuente (stronk7) 1f52e72526 Merge branch 'MDL-23872_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-08-16 11:52:12 +02:00
Rajesh Taneja 03af3e075d MDL-27219 chat: Beep will not display user fullname if user is not in chat 2011-08-16 16:36:34 +08:00
Eloy Lafuente (stronk7) 9a287f8a49 Merge branch 'MDL-28931_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-08-16 03:06:31 +02:00
Eloy Lafuente (stronk7) 76a07a1da5 Merge branch 'wip-mdl-27728-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-16 02:15:18 +02:00
Eloy Lafuente (stronk7) 46894c5058 Merge branch 'MDL-27030_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-16 02:08:04 +02:00
Eloy Lafuente (stronk7) 52dd1d84a3 MDL-27896 filters/editor - fix whitespace 2011-08-16 02:02:12 +02:00
Eloy Lafuente (stronk7) 75e815fe72 Merge branch 'wip-mdl-27896-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-16 02:01:48 +02:00
Eloy Lafuente (stronk7) 8634bb229e Merge branch 'm20_MDL-25757' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-16 00:39:41 +02:00
Petr Skoda 7431abde3c Merge branch 'MDL-28465_rating_aggregation_split' into MOODLE_20_STABLE 2011-08-15 20:26:19 +02:00
Eloy Lafuente (stronk7) eac56e02bc Merge branch 'm20_MDL-28603' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-15 20:02:56 +02:00
Dan Poltawski 5a52740940 MDL-28605 repsitory/local - Prevent server running out of memory
Removing useless code..
2011-08-15 19:58:34 +02:00
Eloy Lafuente (stronk7) 6e4ece5640 Merge branch 'MDL-28939_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-15 19:35:22 +02:00
Tim Hunt e84cef850a MDL-28939 Bad lang string reference in grade/import/csv. 2011-08-15 15:12:29 +01:00
Tim Hunt cf93bcd37d MDL-28639 question import should set timemodified and modified by.
Thanks to Jean-Michel Vedrine for the fix.
2011-08-15 14:57:57 +01:00
Eloy Lafuente (stronk7) b5e0ee6f4a MDL-28931 timezone - update to 2011h (2200 rules) 2011-08-14 18:06:34 +02:00
Dan Marsden 230a4ab6a2 MDL-25757 SCORM fix issue with duplicate cmi values being saved 2011-08-13 13:25:05 +12:00
Tim Hunt 41977bb4cc MDL-28737 advcheckboxes toggle state every submit if checkbox_controller present. 2011-08-12 19:15:18 +01:00
Rajesh Taneja 1d34dc5aa3 MDL-27896 course - Rectified wrong use of itemid for preparing draft file area 2011-08-12 16:52:25 +08:00
Rajesh Taneja 2c01ba7bb7 MDL-27896 editor - parent context will be respected by editor in case context is not created. 2011-08-12 16:52:12 +08:00
Rajesh Taneja 5b5bef12f0 MDL-27896 editor - added sanity check to pick wrong context passed to editor creation 2011-08-12 16:51:59 +08:00
Rajesh Taneja 88a7dcab1e MDL-27896 context - Fixed editor context to observe filter status 2011-08-12 16:51:21 +08:00
Dan Marsden aa1e13ed2e MDL-28603 SCORM fix regression with ADL scorm 1.2 tests 2011-08-12 17:25:59 +12:00
Rajesh Taneja 6a008b485e MDL-27728 Moodleforms: Added validation for element before checking element values 2011-08-12 10:56:14 +08:00
AMOS bot 659b8d8dc6 Automatically generated installer lang files 2011-08-12 00:55:35 +00:00
Dan Marsden 0dd1a7cb66 MDL-28649 SCORM start new attempt if set when skipview used. 2011-08-12 12:55:14 +12:00
Dan Marsden 07d9ba8e9b MDL-28721 SCORM - disable hidenav setting if hidetoc not set to display toc to the left 2011-08-12 11:07:49 +12:00
Eloy Lafuente (stronk7) 9d228de05a weekly release 2.0.4+ 2011-08-12 00:20:15 +02:00
Eloy Lafuente (stronk7) c8028c9371 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-08-12 00:13:30 +02:00
Marina Glancy a2cfc3e460 MDL-26754: Removed unnecessary include 2011-08-11 13:41:30 +08:00
sam marshall 8b805ced71 MDL-27491 Add 'complete on view' support to wiki, survey 2011-08-10 23:07:16 +02:00
Eloy Lafuente (stronk7) 55ffbabe6d Merge branch 'm20_MDL-28295' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-10 22:59:47 +02:00
Daren Chandisingh e39ee61705 MDL-23872 Forms Library : Updated MoodleQuickForm to honour setConstant(), prevents injection. 2011-08-10 15:23:48 +08:00
Sam Hemelryk 3e7ff59eb4 Merge branch 'MDL-20501_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-08-10 14:10:41 +08:00
Dan Marsden cca2289111 MDL-28295 SCORM change mangement of pop-up windows, load full SCORM API in existing window - this fixes an issue with IE 7 and httpreq communication 2011-08-10 14:35:00 +12:00
Eloy Lafuente (stronk7) e8a165d2a3 Merge branch 'MDL-27550-workshop-feedback_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-08-10 02:49:28 +02:00
Eloy Lafuente (stronk7) fcda253026 Merge branch 'w31_MDL-27597_m20_catlike' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-10 02:37:32 +02:00
Dan Poltawski 3728b69f31 MDL-23967 admin/cron.php - warn about use on CLI
Admins now need to use the explicit CLI script
2011-08-10 02:06:31 +02:00
Dan Poltawski c8e7fdd9af MDL-28059 weblib - don't strip mailto: anchors 2011-08-10 01:59:35 +02:00
Eloy Lafuente (stronk7) 2bdfe77686 Merge branch 'wip-MDL-28407-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-08-10 01:12:11 +02:00
Eloy Lafuente (stronk7) 1b8b39cbde Merge branch 'MDL-28565_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-08-09 10:16:14 +02:00
Eloy Lafuente (stronk7) c874785067 Merge branch 'MDL-28604_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-09 09:43:23 +02:00
AMOS bot cbf4d62ccd Automatically generated installer lang files 2011-08-09 00:55:27 +00:00
Tony Levi 6ad6368adc MDL-27030: Fix quiz overview report showing incorrect grades on regraded attempts 2011-08-08 23:47:42 +01:00
Aparup Banerjee 58cbfde495 MDL-28565 General - updated lang files License link to docs.moodle.org/dev/License 2011-08-08 17:10:32 +08:00
Aparup Banerjee a743d4a77c MDL-28565 General - updated License and Credits links
to docs.moodle.org/dev/License and docs.moodle.org/dev/Credits
2011-08-08 17:02:31 +08:00
Sagie Maoz f3a2907f15 MDL-26721 automated backups - Fix typo
Causing the 'role assignment' backup inclusion to be tied to the users

Signed-off-by: Dan Poltawski <dan.poltawski@luns.net.uk>
2011-08-08 15:38:36 +08:00
Dan Poltawski a873af4dfe MDL-28569 blocks/rss_client - RSS feed autodiscovery fails with ampersands
Simpliepie is quoting urls and we need the url to be unescaped
2011-08-08 14:10:44 +08:00
Sam Hemelryk 47a6e69179 Merged branch 'MDL-28575_MOODLE_20_STABLE' of git://github.com/kordan/moodle.git with conflict resolution 2011-08-08 14:00:08 +08:00
Sam Hemelryk 4ecd7134e5 Merge branch 'MDL-28587_MOODLE_20_STABLE' of git://github.com/kordan/moodle into MOODLE_20_STABLE 2011-08-08 13:45:05 +08:00
Rossiani Wijaya 269255473f MDL-27752_m20 Calendar export: fixed typo in url parameter 2011-08-08 12:06:46 +08:00
Sam Hemelryk 3bbbd26ee6 Merge branch 'MDL-28406_block_duplicate_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-08-08 11:19:18 +08:00
Sam Hemelryk 81c77993e3 Merge branch 'w31_MDL-27586_m20_browser' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-08 10:47:21 +08:00
Sam Hemelryk 6aec498812 Merge branch 'w31_MDL-27685_m20_pglike' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-08 10:25:55 +08:00
Sam Hemelryk 11909e87a0 Merge branch 'w31_MDL-28382_m20_iis' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-08 10:21:05 +08:00
Sam Hemelryk 48db633522 Merge branch 'w31_MDL-28450_m20_defgroup' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-08-08 10:09:56 +08:00
Petr Skoda 1a6bfd3c1e MDL-28382 work around or detect REQUEST_URI IIS bug 2011-08-07 14:48:44 +02:00
Petr Skoda e4ff5b5d74 MDL-27685 fix pg LIKE escape trouble 2011-08-07 13:23:36 +02:00
Petr Skoda 4e86cbabb0 MDL-28450 prefer member group for default 2011-08-07 13:09:00 +02:00
Petr Skoda 5bdd8b8e7a MDL-27586 fix file_browser access control 2011-08-06 16:41:18 +02:00
Petr Skoda fd526f38ce MDL-28473 fix $instanceids troubles in blocks upgrade
Credit goes to Mateusz Wójcik.
2011-08-05 22:10:44 +02:00
Petr Skoda 56eff94252 MDL-27597 fix invalid results of get_categories when shallow is false 2011-08-05 20:16:22 +02:00
Andrew Davis (andyjdavis) b6cbbb862c MDL-28465 rating: altered one of the get_ratings() queries to avoid possible future duplicate first column problems 2011-08-05 13:48:38 +08:00
Andrew Davis (andyjdavis) 0683e9c5be MDL-28406 blocks: added JS to prevent the addition of duplicate blocks 2011-08-05 11:36:58 +08:00
Sam Hemelryk 3b7127a9b7 MDL-28407 Fixed up calendar preferences form handling 2011-08-05 09:35:09 +08:00
Tim Hunt 6740639cef MDL-28604 Question bank display forgets sort order 2011-08-04 14:04:23 +01:00
Marina Glancy dcaa0b4e21 MDL-26754 Display blocks in 'manage blocks' alphabetically sorted 2011-08-04 14:14:39 +08:00
AMOS bot 190cae0e09 Automatically generated installer lang files 2011-08-04 00:55:44 +00:00
Petr Skoda 4b85dc13ac weekly release 2.0.4+ 2011-08-03 18:01:36 +02:00
kordan 761a9abd02 MDL-28587 fix for MOODLE_20_STABLE 2011-08-03 15:22:54 +02:00
Sam Hemelryk 763fc56f9a Revert "MDL-28284 don't load filepicker module for every page"
This reverts commit e336ad1b80.
2011-08-03 18:20:45 +08:00
kordan 43424771b6 MDL-28575 fix for MOODLE_20_STABLE 2011-08-02 23:44:13 +02:00
David Mudrak 4ac89c85d4 MDL-27550 workshop: fixed XHTML strictness of H3 and A combo
H3 is block level element while A is in-line element in XHTML.
Credit goes to Sam Hemelryk for spotting this during the peer-review.
2011-08-02 23:28:52 +02:00
David Mudrak d98c8aedb2 MDL-27550 workshop: rendering links to the submission and the assessment page
This usability improvement helps to provide feedback quickly during the
grading evaluation phase.
2011-08-02 23:14:45 +02:00
David Mudrak a6a58c3485 MDL-27550 workshop: students do not see peer-assessment that are not graded yet 2011-08-02 23:14:45 +02:00
David Mudrak 6e6b96d57b MDL-27550 workshop: display the feedback for the submission reviewer when the workshop is closed 2011-08-02 23:14:45 +02:00
David Mudrak c9f31ba3a3 MDL-27550 workshop: assessments are now displayed via proper rendering subsystem
AMOS BEGIN
 MOV [assessmentbyknown,mod_workshop],[assessmentbyfullname,mod_workshop]
AMOS END
2011-08-02 23:14:45 +02:00
David Mudrak 3675dbc32b MDL-27550 workshop: display the feedback for the submission author when the workshop is closed
The method user_picture::fields() was not available when these SQL
statements were originally written. Now instead of hard-coding the list
of returned fields, the user_picture is asked for the list.

Together with this change, methods workshop::get_submission_by_id()
and workshop::get_submission_by_author() now return the information
about the user who provided the feedback and overwrote the grade.
2011-08-02 23:14:44 +02:00
Petr Skoda b8a5c64e95 Merge branch 'wip-mdl-27658-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-02 15:14:00 +02:00
Dan Marsden 984c6bd358 MDL-28410 Choice - allow single answer choice to be created 2011-08-02 15:06:15 +02:00
Dan Marsden 1389810600 MDL-28535 SCORM remove old IE 6 related warning about zlib 2011-08-02 14:42:24 +02:00
Sam Hemelryk 0f68bcbc52 Merge branch 'MDL-28508_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-08-02 17:47:13 +08:00
Andrew Robert Nicols 033be70faa MDL-28515 Add cli install options for fullname and shortname 2011-08-02 17:08:04 +08:00
Sam Hemelryk c440ddfb58 Merge branch 'MDL-28340_advanced_search_other_users_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-08-02 16:59:08 +08:00
Sam Hemelryk 6a60e3f282 Merge branch 'wip-mdl-28504-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-08-02 16:52:22 +08:00
Sam Hemelryk f15c1b78ab Merge branch 'wip-MDL-19907-M00DLE_20_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_20_STABLE 2011-08-02 16:44:33 +08:00
Sam Hemelryk 0b1bc0a771 MDL-27122 admin Improved block protection help string 2011-08-02 16:37:04 +08:00
Sam Hemelryk 43b2bb6cd9 Merge branch 'wip-MDL-27122-MOODLE_20_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_20_STABLE 2011-08-02 16:36:16 +08:00
Sam Hemelryk 7d5f92870e Merge branch 'wip-MDL-27754-MOODLE_20_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_20_STABLE 2011-08-02 14:09:57 +08:00
Sam Hemelryk e99d784ffe Merge branch 's11_MDL-28284_filepicker_module_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-08-02 13:41:36 +08:00
Sam Hemelryk 25f8084ba0 Merge branch 'MDL-28510_20_STABLE' of git://github.com/marxjohnson/moodle into MOODLE_20_STABLE 2011-08-02 13:38:00 +08:00
unknown 187c395673 Merge branch 'm20_MDL-27876' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-08-02 13:27:00 +08:00
Piers Harding 902b6d7df4 MDL-27876 SCORM auto-adjust the stage height 2011-08-02 17:14:06 +12:00
Sam Hemelryk d5addee28f Merge branch 'MDL-28487-typo_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-08-02 12:22:57 +08:00
Sam Hemelryk a8562f6c01 Merged branch 'm20_MDL-28548' of git://github.com/danmarsden/moodle.git with comment changes 2011-08-02 11:49:21 +08:00
Marina Glancy e29521960d MDL-27754 fixed typo in language string 2011-08-02 08:51:24 +08:00
Marina Glancy 914cbfa714 MDL-27122 Allow admin to change CFG->undeletableblocktypes on 'Manage blocks' settings page. Instances of protected block types will be undeletable only from site context 2011-08-02 08:51:17 +08:00
Marina Glancy 54641661e1 MDL-19907 rewrote validation for required fields in forms, including support for editor field. Added parameter to use strict (no spaces) required fields validation 2011-08-02 08:50:51 +08:00
Rossiani Wijaya b7342c4c7b MDL-20501 survey module: fix text alignment for right to left language. Change undefined string to 2011-08-01 17:30:12 +08:00
Sam Hemelryk e8e1ad9100 Moodle 2.0.4 release 2011-08-01 16:55:04 +08:00
Andrew Davis (andyjdavis) 8c598be92d MDL-28465 rating: split the get_ratings() query into two 2011-08-01 15:35:40 +08:00
Rajesh Taneja dcb368720a MDL-27658 javascript: Typo fixed for toUpperCase 2011-08-01 12:55:01 +08:00
Rajesh Taneja 9d9e5bc707 MDL-28504 filter: Typo in css fixed 2011-08-01 10:24:15 +08:00
Dan Marsden e8ce08c331 MDL-28548 allow backup to contain info from multiple plagiarism plugins. 2011-08-01 10:29:23 +12:00
Sam Hemelryk f84058a263 weekly release 2.0.3+ (emergency) 2011-07-29 12:22:29 +08:00
Andrew Davis (andyjdavis) 3b81d3b0e2 MDL-28340 messaging: fixed a display issue when you search for and tried to view a conversation between two other users 2011-07-29 11:56:28 +08:00
Sam Hemelryk 03e29fff56 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-07-29 10:13:30 +08:00
Sam Hemelryk 3765c3f098 MDL-28503 comment-caps Slight improvement to allow frontpage and guest users to view comments by default 2011-07-29 09:44:18 +08:00
Mark Johnson b3ebbd4fc8 MDL-28510 repository_youtube Use smaller thumbnails in search results 2011-07-28 13:44:53 +01:00
Mark Johnson 919304d4bf MDL-28509 repository_youtube Enable selection of sort order 2011-07-28 13:12:02 +01:00
Tim Hunt 01ae3d20da MDL-28508 bad string trunction in Aiken format. 2011-07-28 12:19:34 +01:00
Sam Hemelryk 15125314eb MDL-28503 Removed the ability for plugins to override comment capabilities and the defaults associated with it 2011-07-28 13:41:20 +08:00
AMOS bot 44e6b8ff57 Automatically generated installer lang files 2011-07-28 00:55:21 +00:00
David Mudrak 8684284e49 MDL-28487 Fixed typo in media filter help string 2011-07-27 14:42:05 +02:00
Petr Skoda c46c673568 weekly release 2.0.3+ 2011-07-26 11:08:28 +02:00
Petr Skoda aa79f99d53 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-07-26 11:07:40 +02:00
AMOS bot ef65eefff8 Automatically generated installer lang files 2011-07-26 00:55:29 +00:00
Tim Hunt df390ba9f0 MDL-28218 allow testclient.php to find the necessary form for services defined in plugins. 2011-07-25 20:05:31 +02:00
Petr Skoda 2a41529f68 Merge branch 'MDL-28437_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-25 19:55:46 +02:00
Petr Skoda e9adc8f6eb Merge branch 'MDL-28453_MOODLE_20_STABLE' into MOODLE_20_STABLE 2011-07-25 16:30:52 +02:00
Aparup Banerjee 22edb9944a MDL-28453 backup - made temporary restoration courses hidden by default. 2011-07-25 16:46:22 +08:00
Tim Hunt ceedbe876d MDL-28437 Question bank pages should all use General type: admin. 2011-07-25 08:59:25 +01:00
Sam Hemelryk 213eaa94f6 Merge branch 'MDL-28107_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-25 15:14:39 +08:00
Dan Poltawski 2acfb396ec MDL-28232 - Course log text export is missing a new line 2011-07-25 12:57:39 +08:00
Michael Aherne 936f6706c2 MDL-27538 Added deprecation details to functions now in $DB 2011-07-25 11:31:40 +08:00
Sam Hemelryk 2e3a96e192 Merge branch 'w29_MDL-22584_m20_monsterpaths' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 11:18:45 +08:00
Sam Hemelryk 417fdfab6b Merge branch 'w29_MDL-27464_m20_continue' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 11:04:02 +08:00
Sam Hemelryk 77c9ae457d Merge branch 'w29_MDL-27653_m20_usercasting' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:59:30 +08:00
Sam Hemelryk a8fd6146e7 Merge branch 'w29_MDL-27796_m20_httphost' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:55:12 +08:00
Sam Hemelryk 538e680d39 Merge branch 'w29_MDL-27994_m20_creatorcaps' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:45:51 +08:00
Sam Hemelryk ec5f521a59 Merge branch 'w29_MDL-28145_m20_renderer' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:40:00 +08:00
Sam Hemelryk 100308ce24 Merge branch 'w29_MDL-28182_m20_userdel' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:37:05 +08:00
Sam Hemelryk f6fc3616de Merge branch 'w29_MDL-28384_m20_nullurl' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 10:15:05 +08:00
Sam Hemelryk 9a8343cdde Merge branch 'w29_MDL-28432_m20_cohortconfig' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 09:53:02 +08:00
Sam Hemelryk a4e3607a21 Merge branch 'w29_MDL-28440_m20_jssemicol' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-25 09:45:53 +08:00
Mary Evans 27a2c6bffd fix for MDL-27768 removed reference to gradient-sb image 2011-07-25 09:40:17 +08:00
Petr Skoda b6481ac993 MDL-27653 fix incorrect int | object detection 2011-07-24 15:06:07 +02:00
Petr Skoda 2abbe6e2a3 MDL-27994 course creator role is for creating courses only!
The course creator role is designed to be used to create courses, nothing else - that is create new course, create new course from backup + view hidden courses and categories.
2011-07-24 14:25:50 +02:00
Petr Skoda 3687ab70bc MDL-28384 convert empty log urls to ''
The problem is that the log table does not allow nulls, credit goes to Troy Williams.
2011-07-24 14:09:11 +02:00
Petr Skoda 201159335f MDL-27464 continuation link sometimes links off-site
This code was manually merged from MOODLE_19_STABLE, credit goes to Matt Meisberger.
2011-07-23 13:31:20 +02:00
Petr Skoda c3ceb8d218 MDL-28440 add missing semicolon causing JS issues
Credit goes to Mark Nielsen.
2011-07-23 11:50:22 +02:00
Petr Skoda 9df28ce5a3 MDL-22584 deal with oversized dir and file names during upgrade 2011-07-23 11:41:28 +02:00
Petr Skoda 784c24fde1 MDL-28145 fix renderer typo in comments 2011-07-22 23:44:49 +02:00
Petr Skoda cf264063c1 MDL-27796 ignore missing HTTP_HOST header 2011-07-22 23:34:34 +02:00
Petr Skoda 3f51ad2a70 MDL-28182 always use full user object when deleting users 2011-07-22 22:50:17 +02:00
Petr Skoda 6b0b96c581 MDL-28432 use enrol/cohort and enrol/manual capabilities correctly in cohort enrol UI and fix input validation in ajax 2011-07-22 10:11:08 +02:00
Rossiani Wijaya 8190a2911f MDL-28107 course enrolment icon: Fixed logged in user enrolment icons 2011-07-22 13:17:49 +08:00
Dongsheng Cai e336ad1b80 MDL-28284 don't load filepicker module for every page 2011-07-21 17:28:24 +08:00
Petr Skoda ac30618786 weekly release 2.0.3+ 2011-07-19 15:22:21 +02:00
Petr Skoda e9889abe38 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-07-19 15:18:09 +02:00
Petr Skoda c0e1e425be MDL-27696 initialise arrays
Credit goes to David Mudrak.
2011-07-19 15:05:22 +02:00
Petr Skoda 517d606401 MDL-27696 do not use placeholders in GROUP BY because pg does no like that 2011-07-19 10:55:02 +02:00
Petr Skoda f3cbcc623d MDL-27889 use new recaptcha google urls in lang packs 2011-07-19 10:24:57 +02:00
Petr Skoda be36e2ad1d MDL-27889 use new recaptcha google urls in lang packs 2011-07-19 10:18:31 +02:00
AMOS bot aff1c65c3d Automatically generated installer lang files 2011-07-19 00:55:41 +00:00
Petr Skoda d96d964425 Merge branch 'wip-MDL-28040-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:34:42 +02:00
Petr Skoda 4f76e7ddf7 Merge branch 'wip-MDL-28184-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:29:19 +02:00
Petr Skoda 393d636e25 Merge branch 'wip-MDL-28205-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:25:56 +02:00
Petr Skoda 2b98c3d5e0 Merge branch 'wip-MDL-28137-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:23:21 +02:00
Petr Skoda 2bd3fc4d03 Merge branch 'wip-MDL-27771-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:20:26 +02:00
Petr Skoda 6b43f50c41 Merge branch 'wip-MDL-27696-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:18:24 +02:00
Petr Skoda 533a766447 Merge branch 'wip-MDL-27305-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 15:15:18 +02:00
Petr Skoda 59f3144e0a Merge branch 'wip-MDL-25870-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-07-18 14:58:38 +02:00
Sam Hemelryk ef5a198d1c Merge branch 'wip-MDL-27756-MOODLE_20_STABLE' of github.com:marinaglancy/moodle into MOODLE_20_STABLE 2011-07-18 22:20:13 +10:00
Sam Hemelryk 60e7f2b113 Merge branch 'MDL-27555_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-18 21:51:39 +10:00
Sam Hemelryk 68bc5b7b68 Merge branch 'w28_MDL-27804_m20_csvauth' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-18 20:19:51 +10:00
Sam Hemelryk 45222fc50f Merge branch 'w28_MDL-28253_m20_managerupgrade' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-18 20:10:30 +10:00
Sam Hemelryk 78092d6742 Merge branch 'w28_MDL-28313_m20_enroldb' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-18 20:04:32 +10:00
Sam Hemelryk a3fe5348ab Merge branch 'w28_MDL-28348_m20_meta' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-18 19:39:56 +10:00
Sam Hemelryk e3f6f30896 Merge branch 'w28_MDL-28350_m20_wsra' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-18 19:29:01 +10:00
Petr Skoda 50296e134b Merge branch 'wip-MDL-25125-MOODLE_20_STABLE' of github.com:marinaglancy/moodle into MOODLE_20_STABLE 2011-07-18 09:36:20 +02:00
Sam Hemelryk a6c44179e5 Merge branch 'w28_MDL-28363_m20_dimmed' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-07-19 00:48:11 +10:00
Sam Hemelryk ab93b02919 Merge branch 'MDL-28298-workshop-constant_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-07-19 00:40:22 +10:00
Sam Hemelryk 07ea543a1c Merge branch 'MDL-28325-enrol-help_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-07-19 00:35:16 +10:00
Petr Skoda 768dd79e1f MDL-28348 fix spelling and some whitespace issues 2011-07-17 20:42:44 +02:00
Petr Skoda c7f51d2dfe MDL-28348 fix fatal error caused by unenrolling of incorrect enrol instance 2011-07-17 20:42:43 +02:00
Petr Skoda ebbc9e717f MDL-28348 prevent circular references in meta handler for enrolments 2011-07-17 20:42:43 +02:00
Petr Skoda 617027cf84 MDL-28348 fix meta sync when unassigning roles 2011-07-17 20:42:42 +02:00
Petr Skoda 21dc44b4df MDL-28363 make dimmed selectors more specific to prevent overriding from other themes 2011-07-16 21:05:48 +02:00
AMOS bot 922817560c Automatically generated installer lang files 2011-07-16 00:55:24 +00:00
Petr Skoda 4b9cb37191 MDL-28350 prevent bogus role assignment via externallib 2011-07-15 12:30:20 +02:00
Petr Skoda a4673317a7 MDL-27804 allow changing of only auth in csv user uploads 2011-07-15 11:10:38 +02:00
Petr Skoda deba736fbc MDL-28313 fix incorrect enrol database settings upgrade 2011-07-14 22:36:05 +02:00
Petr Skoda badddcab36 MDL-28253 use unique name for new manager role 2011-07-14 13:36:27 +02:00
Marina Glancy be1f4ab759 MDL-27756 Improving move_course() performance 2011-07-14 11:04:37 +08:00
Marina Glancy 01bb865997 MDL-25125 fix YUI bug with overriding styles 2011-07-14 10:02:43 +08:00
AMOS bot 79f544a45f Automatically generated installer lang files 2011-07-14 00:55:24 +00:00
Dan Marsden eadbd73918 MDL-28300 SCORM Fix check for SCORM 2004 thanks to Silvia Bastos for report/patch 2011-07-14 11:02:32 +12:00
David Mudrak bf9f318ead MDL-28325 Enrolment: added help to the duration, start date and end date setting
The patch also fixes one typo in enrol_manual detected while working on
this.
2011-07-13 22:36:00 +02:00
AMOS bot c015236f00 Removing oc_ES that was generated by an accident instead of proper oc_es 2011-07-13 15:36:08 +02:00
Sam Hemelryk 7a3156d001 weekly release 2.0.3+ 2011-07-13 20:24:18 +08:00
Sam Hemelryk b22eb6a987 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-07-13 20:09:42 +08:00
David Mudrak c7c83663e1 MDL-28298 workshop: do not use a constant without explicit inclusion of the library
Instead of including whole formslib just to get the constant defined, I
decided to hard-code the value and put the reference to the comment so
that eventual grep would spot it. Of course that is is not nice at all
but it's lesser of two evils imho.
2011-07-13 10:23:10 +02:00
Sam Hemelryk 49d85b7cfa MDL-28184 navigation: Tidied up handling of coursenode when adding course essentials 2011-07-13 14:59:59 +08:00
Sam Hemelryk bc5d53c15c MDL-27771 filter-text: Fixed typo contninue 2011-07-13 14:53:18 +08:00
Chris Follin 95f780c200 MDL-27305 forum: Added missing item to forum_get_view_actions 2011-07-13 14:23:18 +08:00
Sam Hemelryk 3656becc4a MDL-25870 enrol-manual: Fixed pagination of AJAX search results for users when changing search 2011-07-13 14:03:08 +08:00
Sam Hemelryk 89ba1d6c2b MDL-28137 unit tests: Fixed up problem with block manager tests when running unit tests after turning editing on 2011-07-13 13:45:23 +08:00
Sam Hemelryk cca30c4795 MDL-28205 RSS: Fixed up notice and set better pagelayout type on manage feeds page 2011-07-13 10:31:50 +08:00
Sam Hemelryk c78b71efb6 MDL-27696 datalib Fixed up misused params in get_logs_usercourse 2011-07-13 10:29:36 +08:00
Sam Hemelryk 35a5d3b2fc MDL-28040 navigation: Fixed up error with navigation when dealing with categories that have a lower sort order than the parent. 2011-07-13 10:01:08 +08:00
AMOS bot 40638405ea Automatically generated installer lang files 2011-07-13 00:55:34 +00:00
Eloy Lafuente (stronk7) a53760ef5a Merge branch 'm20_MDL-28017' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-07-12 16:31:40 +02:00
Eloy Lafuente (stronk7) 1193e6b023 MDL-28210 messaging: all includes but config.php must use $CFG-based abosolute paths 2011-07-12 12:23:51 +02:00
Eloy Lafuente (stronk7) 8c5b86e044 Merge branch 'MDL-28210_messaging_constants_20_2' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-07-12 12:23:19 +02:00
Sam Hemelryk 6bc177e912 MDL-27809 navigation: Fixed up a couple of minor issues after peer-review 2011-07-12 16:04:12 +08:00
Sam Hemelryk 1f7907dac3 MDL-27809 navigation: Reworked the caching within navigation and improved the ordering of events in order to reduce the use of session without serious impact on serverload 2011-07-12 16:04:03 +08:00
Andrew Davis (andyjdavis) 25c53e2b9f MDL-28210 messaging: Fixed requires problems in /message/discussion.php 2011-07-12 10:56:33 +08:00
AMOS bot 83fcca9346 Automatically generated installer lang files 2011-07-12 00:55:27 +00:00
Dan Marsden ab837e6113 MDL-28017 SCORM add unset_config for old config var 2011-07-12 09:51:32 +12:00
Eloy Lafuente (stronk7) 96651cf9ed Merge branch 'MDL-28251_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-11 20:29:01 +02:00
Eloy Lafuente (stronk7) 583c465a3a Merge branch 'm20_MDL-26942' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-07-11 19:48:54 +02:00
Eloy Lafuente (stronk7) 24f90eedb9 Merge branch 'MDL-27755_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-11 19:44:41 +02:00
Eloy Lafuente (stronk7) 0d81404f9a Merge branch 'MDL-27741_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-11 19:36:16 +02:00
Dan Poltawski 7ba9375e84 MDL-23580 course overview - remove debugging junk 2011-07-11 16:47:43 +02:00
Eloy Lafuente (stronk7) 15ffa46a1a Merge branch 'MDL-27483_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-11 16:27:04 +02:00
Eloy Lafuente (stronk7) 38bc3c281a Merge branch 'MDL-27931_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-07-11 15:58:33 +02:00
Rossiani Wijaya 9bb6e09468 MDL-27741 forum subscribe link: Removed 'no' string in social course format to display a subscribe link if user is not enrolled 2011-07-11 17:00:33 +08:00
Sam Hemelryk 77de688b82 Merge branch 'wip-mdl-27954-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-07-11 16:02:00 +08:00
Sam Hemelryk dd8e618917 Merge branch 'MDL-28227_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-11 14:54:48 +08:00
Dan Marsden ea819f2205 MDL-28017 SCORM - remove admin setting incorrectly added as it was never used. 2011-07-11 15:44:19 +12:00
Sam Hemelryk 05deeaacdb Merge branch 'm20_MDL-27947' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-07-11 11:32:04 +08:00
Sam Hemelryk 19dd687377 Merge branch 'mod_url_decode_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-07-11 11:04:35 +08:00
Sam Hemelryk f2c12522c3 Merge branch 'backup_groups_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-07-11 10:57:33 +08:00
Rajesh Taneja 79a80529f8 MDL-27954 mod_database - fixed search navigation link 2011-07-11 10:31:47 +08:00
AMOS bot 70a649e40c Automatically generated installer lang files 2011-07-11 00:55:22 +00:00
Eloy Lafuente (stronk7) 38a94e0d39 MDL-28156 restore - fix some notices restoring empty courses 2011-07-10 13:12:05 +02:00
Eloy Lafuente (stronk7) 327c88b76b MDL-28156 restore - support restoring files without grade items 2011-07-10 00:53:43 +02:00
Eloy Lafuente (stronk7) b229f563e5 MDL-27438 backup - on course backups add course gropus and groupings 2011-07-09 19:29:21 +02:00
Eloy Lafuente (stronk7) 7769615e76 MDL-27018 restore - decode links missing url->externalurl support 2011-07-09 13:36:14 +02:00
Dan Marsden 056d2682a1 MDL-27947 - fix TOC display on skipview - use correct org in TOC title 2011-07-09 11:50:15 +12:00
Dan Marsden a103d27e06 SCORM MDL-26942 - merge scorm_get_toc into a single global function 2011-07-09 11:15:13 +12:00
AMOS bot d9c90952bb Automatically generated installer lang files 2011-07-08 12:34:55 +02:00
Eloy Lafuente (stronk7) 89b2800f75 weekly release 2.0.3+ 2011-07-08 11:23:10 +02:00
Rossiani Wijaya e12559481f MDL-28251 DB activity module: fixed the argument type error for html_table_row from string to array 2011-07-08 16:54:38 +08:00
Eloy Lafuente (stronk7) 6761018805 Merge branch 'MDL-28015-workshop-sql_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-07-08 01:19:22 +02:00
Eloy Lafuente (stronk7) 9948122905 Merge branch 'MDL-28168-custommenu_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-07-08 00:58:24 +02:00
David Mudrak 308e53f572 MDL-28015 workshop - fixed unique list of columns in ORDER BY clause
MSSQL requires that the columns in the ORDER BY clause list must be
unique. The patch populates the list of fields by combining an array of
explicit sort definition with an array of implicit (default) sort
definition.
2011-07-07 15:02:34 +02:00
David Mudrak 3367e3ee1e MDL-28168 Revert "MDL-27073 Support multi-language content in custom menu"
This reverts commit 87e0230d0a.
2011-07-07 11:26:01 +02:00
Eloy Lafuente (stronk7) c1979ef02d Merge branch 'fix_import_search_course' of git://github.com/hit-moodle/moodle into MOODLE_20_STABLE 2011-07-07 10:38:44 +02:00
Tony Levi 25a5bd96f9 MDL-27483: Fix quiz repaginate enter in a endless loop 2011-07-07 16:19:56 +09:30
Rossiani Wijaya 536c7aa882 MDL-27755 course search: Add course id and shortname to search fields 2011-07-07 11:05:06 +08:00
Sun Zhigang 534eebdd35 MDL-27833 Backup - Fix can't search courses with non-latin characters during importing
PARAM_ALPHANUMEXT filter out all non-latin characters, including
Chinese, Japanese and etc. Use PARAM_NOTAGS instead.
2011-07-07 09:27:48 +08:00
Eloy Lafuente (stronk7) e317113746 Merge branch 'm20_MDL-28110' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-07-07 03:02:26 +02:00
Tony Levi ac473cb811 MDL-28227: Regrade sometimes grades user attempts for any quiz not selected quiz 2011-07-07 10:01:46 +09:30
Eloy Lafuente (stronk7) fea115dab3 Merge branch 'MDL-27989_MOODLE_20_STABLE' of git://github.com/kordan/moodle into MOODLE_20_STABLE 2011-07-07 02:23:33 +02:00
Dan Poltawski 46306d8a25 MDL-26285 block_rss_client - do not disable with enablerssfeeds
This setting was used in 1.9 and below to control feed generation only, not
for RSS consumption.
2011-07-07 02:12:09 +02:00
Petr Skoda 2c9b8852f0 MDL-27375 add missing lowercasing of external column names
Credit goes to Gail Preuninger.
2011-07-07 01:41:04 +02:00
Petr Skoda 413b73ffe3 MDL-28117 include repo lib when hacking file_picker renderer 2011-07-07 01:34:35 +02:00
Dan Poltawski 5bda351ef7 MDL-27329 course report - correct use of wrong fullname
We are refering to users in this column of the course report not
course full name.

Conflicts:

	course/lib.php
2011-07-07 00:26:26 +02:00
Dan Poltawski e5180a491c MDL-28100 - page resource was not using context for text filtering 2011-07-07 00:12:54 +02:00
Dan Poltawski 5d7b69cd80 MDL-27279 lang/en/xmldb - Fix Typo in confirmcheckforeignkeys 2011-07-07 00:02:04 +02:00
Eloy Lafuente (stronk7) 4bd293ee63 Merge branch 'MDL-27040_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-06 19:26:56 +02:00
Rossiani Wijaya 8252cd2848 MDL-27931 admin bulk user upload: convert city as required field. Credit goes to Charles Fulton for supplying the patch. 2011-07-06 16:17:01 +08:00
Dan Poltawski a35be2f5ef MDL-27855 navigation - only display participants link with permissions 2011-07-06 13:19:59 +08:00
Sam Hemelryk 668a9eb90b Merge branch 'MDL-27716_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-06 12:11:14 +08:00
Dan Poltawski 606e175133 MDL-27168 completionstatus block - Use localized strings 2011-07-06 12:03:59 +08:00
Dan Poltawski 2e214b26f3 MDL-26626 course competion block - fix hardcoded string 2011-07-06 11:30:33 +08:00
Dan Poltawski c24ad72ba0 MDL-26611 Roles Language - remove reference to 'legacy role type' 2011-07-06 11:10:47 +08:00
Sam Hemelryk ed26ad33ca Merge branch 'MDL-28135_MOODLE_20_STABLE' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-07-06 11:05:11 +08:00
Petr Skoda 9a380fbb53 MDL-28147 do not double cache theme css/js 2011-07-06 03:15:44 +02:00
Petr Skoda 6893e10840 MDL-28161 precreate htmlpurifier dir when resetting caches
Conflicts:

	lib/moodlelib.php
2011-07-06 02:59:16 +02:00
Eloy Lafuente (stronk7) c18a7f9d94 Merge branch 'MDL-28185_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-07-05 17:58:25 +02:00
Eloy Lafuente (stronk7) 07ca3c6816 Merge branch 'MDL-26618_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-05 17:48:30 +02:00
Eloy Lafuente (stronk7) 9315fd7200 MDL-28185 upgrade - fix oracle problem upgrading blocks 2011-07-05 15:38:37 +02:00
Kordan 10bc60a163 addition to previous fix for MDL-27989 in MOODLE_20_STABLE 2011-07-05 11:24:09 +02:00
Kordan 0f9a1467e2 MDL-27989 fix for MOODLE_20_STABLE 2011-07-05 10:13:35 +02:00
Aparup Banerjee 8b3405e8f2 MDL-28135 general Updated broken and typo docs links 2011-07-05 15:43:34 +08:00
Aparup Banerjee c5b7c1f627 MDL-28135 general Updated the Copyright notice to point to docs.moodle.org/dev/Releases instead of en/Release 2011-07-05 15:43:23 +08:00
Aparup Banerjee cc56539e51 MDL-28135 general Updated doc links related to Release notes to docs.moodle.org/dev/Releases now 2011-07-05 15:43:13 +08:00
Aparup Banerjee ae8da34929 MDL-28135 general Updating all hardcoded "docs.moodle.org/en/Development:" type doc links to "docs.moodle.org/dev/"
- cherry-picked and resolved conflicts
2011-07-05 15:39:56 +08:00
Rossiani Wijaya 0a6604e525 MDL-27555 assignment module: remove 'submitted' option from optional setting for offline assignment type. 2011-07-05 14:39:59 +08:00
Iñaki Arenaza 385e9d72ec MDL-24666 sync_users.php can throw db exception on sites upgraded from 1.x
From 2.0 on we lowercase all the settings related to LDAP attributes
to cope with differences in LDAP servers when returning attribute
names as array indices (some lowercase them, some leave them as
specified in the query, some normalize them, etc.).

But we only lowercase them when saving the settings page. So on sites
that have been migrated from 1.x, it may happen that we still have
mixed-case attribute names. And this is fatal for the user_attribute
setting, as we might not detect it in the returned array from LDAP and
it will be empty (and the db layer throws and exception).

So we just make sure the attribute name is lowercased (and trimmed,
in case it's got some white space around it).
2011-07-04 21:38:53 +02:00
Tim Hunt ae912070ea MDL-27040 get_users_by_capability generates u.id IN () when no uesrs have accessallgroups 2011-07-04 19:01:06 +01:00
Joseph Rezeau 988f1a05e7 MDL-27716 qtype_multianswer make the work 'Close' in the overlib popup translatable. 2011-07-04 15:53:09 +01:00
Tim Hunt b8369f5e9f MDL-26618 Moving sticky blocks on other pages does not work in Oracle.
This was due to some missing $DB->sql_empty() in a query affecting the
block_positions table.
2011-07-04 14:24:36 +01:00
Eloy Lafuente (stronk7) 020f0ffc5b weekly release 2.0.3+ 2011-07-02 00:01:29 +02:00
Eloy Lafuente (stronk7) 087a329eef Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-07-01 23:37:36 +02:00
Sam Hemelryk 39025fe177 Merge branch 's11_MDL-28121_split_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-07-01 15:08:59 +08:00
Dan Marsden 473afcbfec SCORM MDL-28110 fix string name 2011-07-01 14:24:52 +12:00
Eloy Lafuente (stronk7) 1dcb107bd4 Merge branch 'MDL-28132_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-07-01 01:38:44 +02:00
Tim Hunt 7cf9937724 MDL-28132 truncate very long category names before using them in random question names. 2011-06-30 19:34:44 +01:00
Eloy Lafuente (stronk7) f6c6bb4d39 Merge branch 'MDL-28115_20stable' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-06-30 17:12:31 +02:00
Rossiani Wijaya 814bce6575 MDL-28115 lesson module: fixed undefined variable for multiple answer, disabled numberical input text during review and fixed bug for essay answer during review process. 2011-06-30 19:11:15 +08:00
Dongsheng Cai f12c714e6f MDL-28121, fixed deprecated split() function 2011-06-30 17:35:33 +08:00
Dan Marsden 74e78f3ad8 SCORM MDL-28110 set default for forcejavascript to yes - add string explaining what it does. 2011-06-30 19:40:01 +12:00
Sam Hemelryk 4a7e2298a3 Merge branch 'MDL-24684_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-30 10:50:10 +08:00
Eloy Lafuente (stronk7) 910c941fa8 MDL-24684 backup - basic protection against time/memory limits 2011-06-30 03:43:50 +02:00
AMOS bot bfb0183f6d Automatically generated installer lang files 2011-06-30 00:55:15 +00:00
Eloy Lafuente (stronk7) add39c57dd Merge branch 'MDL-28044_MOODLE_20_STABLE' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-06-30 02:01:44 +02:00
Eloy Lafuente (stronk7) 1b024a0b51 Merge branch 'MDL-15587-stable' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-06-30 01:54:44 +02:00
Eloy Lafuente (stronk7) 9d12edfcae Merge branch 'm20_MDL-28016' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-06-30 01:11:28 +02:00
Sam Hemelryk 746f1ac85c MDL-27988 backup grade: Calculated grade items calculation references now corrected and idnumber restore improved 2011-06-29 18:42:34 +02:00
Eloy Lafuente (stronk7) 8277c39c76 Merge branch 'MDL-27955_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-06-29 15:59:57 +02:00
Eloy Lafuente (stronk7) fb654f651f Merge branch 'wip-mdl-27964-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-06-29 15:12:50 +02:00
Rossiani Wijaya 494f645bf4 MDL-27955 lesson module (m20): fixed error for reviewing lesson and update string to continue or finish reviewing 2011-06-29 18:34:54 +08:00
Dan Marsden a26a8c6a6f SCORM MDL-28016 - fix redirect call to use proper moodle_url 2011-06-29 20:32:36 +12:00
Rajesh Taneja 27beb68c4b MDL-27964 lesson - Quick fix added for importing question files in lesson module 2011-06-29 14:09:20 +08:00
Rajesh Taneja 8254083dc9 MDL-27964 lesson - Old file picker is replaced with new filepicker, currently all imported questions will be saved in /temp/questionimport/ where questionbank files are saved. 2011-06-29 14:08:30 +08:00
Aparup Banerjee 9b7ac1ea57 MDL-28044 general - updated print_error() link to point to new versioned docs link. 2011-06-29 10:57:14 +08:00
AMOS bot b214520d8b Automatically generated installer lang files 2011-06-29 00:55:20 +00:00
Sam Hemelryk abfe9dbe6e Merge branch 'MDL-28023_assignment_jabber_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-06-28 17:05:41 +08:00
Sam Hemelryk 8c75bb5976 Merge branch 's11_MDL-27866_pix_url_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-06-28 10:17:48 +08:00
Sam Hemelryk e78632643c Merge branch 'MDL-28014_stable' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-06-28 10:13:15 +08:00
sam marshall f114cff65f MDL-28021 Completion system can create inconsistent database rows
This change includes:

(1) update deletes older versions of inconsistent rows
(2) update drops one index and replaces it with a new unique index
(3) fixed to ensure that when it decides whether to insert or update
    it uses current database state and not cached info
(4) unit tests updated to test #3
2011-06-27 15:26:54 +02:00
Andrew Davis (andyjdavis) 3c18677ad1 MDL-28023_assignment_jabber assignment: added context url to improve the jabber notifications 2011-06-27 11:11:34 +08:00
Andrew Davis (andyjdavis) 1a199937f0 MDL-28023 assignment: assignment wasnt supplying all the data necessary to produce a meaningful jabber notification 2011-06-27 11:11:19 +08:00
AMOS bot b39029f718 Automatically generated installer lang files 2011-06-27 00:55:14 +00:00
Eloy Lafuente (stronk7) 7cb1a84978 Merge branch 'MDL-27922_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-06-27 00:55:29 +02:00
AMOS bot 8f7c097a09 Automatically generated installer lang files 2011-06-26 00:55:14 +00:00
Andreas Grabs 5dc47fbbc6 MDL-15587 - Course Participation report for a feedback activity 2011-06-24 23:11:10 +02:00
Rossiani Wijaya bac9a5e95e MDL-27922 lesson mod: fixed string for activity link 2011-06-24 16:48:46 +08:00
Eloy Lafuente (stronk7) 4a8d589d41 Merge branch 'MDL-27827_stable' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-06-24 00:23:03 +02:00
Eloy Lafuente (stronk7) ffd06a7394 Merge branch 's11_MDL-27999_wiki_preview_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-06-24 00:14:41 +02:00
Eloy Lafuente (stronk7) ba55e33828 Merge branch 'wip-MDL-27958-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-06-23 23:58:21 +02:00
Andreas Grabs 3fcd1d05b9 MDL-28014 - unpropitious use of bcmod() 2011-06-23 21:20:49 +02:00
Andreas Grabs 29f02f10f0 MDL-27827 - Missing messageprovider:message language string 2011-06-23 20:31:17 +02:00
Eloy Lafuente (stronk7) ff555b58be emergency release 2.0.3+ 2011-06-23 18:23:51 +02:00
stabijoh 42d1a03acc MDL-27998 canvas theme - fix font sizes 2011-06-23 17:29:45 +02:00
Eloy Lafuente (stronk7) 80a90f8d71 weekly release 2.0.3+ 2011-06-23 11:27:12 +02:00
Eloy Lafuente (stronk7) 4a225b69bb Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-06-23 11:24:19 +02:00
Eloy Lafuente (stronk7) 727242750d Merge branch 's10_MDL-27341_flickr_plugin_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-06-23 11:16:34 +02:00
Dongsheng Cai 454efc509f MDL-26677 flickr repo - fix undefined index usewatermarks 2011-06-23 17:14:30 +08:00
Eloy Lafuente (stronk7) 1bef145b49 Merge branch 'MDL-27920_grade_export_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-06-23 10:19:13 +02:00
Andrew Davis (andyjdavis) 1a20976561 MDL-27920 gradebook: fixes following integration review 2011-06-23 16:02:04 +08:00
Andrew Davis (andyjdavis) 2558ce3593 MDL-27920 gradebook: export was always excluding course totals and xml export was failing 2011-06-23 16:01:52 +08:00
Dongsheng Cai ab14ec06d2 MDL-27999 mod wiki, fixed broken image in preview 2011-06-23 13:53:12 +08:00
Sam Hemelryk d072124ba4 MDL-27958 Added missing set_context call which would cause errors for all contexts below course 2011-06-23 12:17:55 +08:00
Sam Hemelryk d9c19266c8 Merge branch 'MDL-27169_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-23 10:44:32 +08:00
Eloy Lafuente (stronk7) cf93662ffe MDL-26677 repositories - clean one debugging var_dump() 2011-06-23 02:06:16 +02:00
Eloy Lafuente (stronk7) 177f14d6f6 Merge branch 's10_MDL-27341_flickr_plugin_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-06-23 02:05:45 +02:00
Eloy Lafuente (stronk7) bdcea1a221 Merge branch 'MDL-27196-hardcodedstrings_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-23 00:26:09 +02:00
Eloy Lafuente (stronk7) 25ebb1df63 MDL-27169 filepicker - add explicit enctype to the js upload form. Credit goes to J Ross Nicoll, thanks! 2011-06-22 19:32:01 +02:00
David Mudrak 39af096daf MDL-27196 workshop - hardcoded strings in the random allocator 2011-06-22 18:02:48 +02:00
David Mudrak 0ff186d7d7 MDL-27196 workshop - hardcoded string in the number of errors strategy form 2011-06-22 18:02:44 +02:00
Eloy Lafuente (stronk7) 26a92149cc Merge branch 'wip-mdl-26281-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-06-22 14:28:36 +02:00
Eloy Lafuente (stronk7) 38961259de Merge branch 'MDL-27969-randomallocator-20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-22 14:16:41 +02:00
Eloy Lafuente (stronk7) 528cde2db2 Merge branch 'MDL-27073_multilang-custommenu_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-22 14:12:11 +02:00
David Mudrak 0ca33a3835 MDL-27969 workshop - prevent PHP notices in the random allocator
When generating the output of the allocation results, the names of
reviewers and authors are obtained based on the current state of assigned
roles and the 'musthavesubmission' setting. Therefore, when we want to
display information about a re-used allocation, the name of the author
or the name of the author may not be available.

In case of reviewers, we first try to reload the list including the
users without own submission. If it does not help, we just display the
id of the user instead of the name. In case of authors, we just display
the id the user. I can't see much point of eventual fetching the user
record from the database just to populate the list that almost no-one
reads anyway.
2011-06-22 12:15:47 +02:00
Rajesh Taneja 2a02a3f0de MDL-26281 Lesson - Fixed short answer with apostrophe and other html formats 2011-06-22 17:20:25 +08:00
Sam Hemelryk 8445c4724c Merge branch 'MDL-27966_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-22 17:16:00 +08:00
Sam Hemelryk 3e6c1d4d55 Merge branch 'MDL-25811_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-22 17:10:53 +08:00
Eloy Lafuente (stronk7) 2c85a824fc Merge branch 's10_MDL-27341_flickr_json_error_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-06-22 03:07:26 +02:00
Eloy Lafuente (stronk7) 6ce26b03e7 Merge branch 'MDL-27860_2.0' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-06-22 03:00:41 +02:00
AMOS bot ae18165edd Automatically generated installer lang files 2011-06-22 00:55:18 +00:00
Eloy Lafuente (stronk7) 5def8d573d Merge branch 'MDL-26948_2.0' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-06-22 02:36:05 +02:00
Eloy Lafuente (stronk7) 41c5f54940 MDL-27966 timezones - updated to 2011g version + fix minor notice 2011-06-21 16:25:18 +02:00
AMOS bot 39b5360e69 Automatically generated installer lang files 2011-06-21 00:55:16 +00:00
Rossiani Wijaya 6409d38377 MDL-27906 calendar event: fixed retrieving coursemodule by replacing get_coursemodule_from_id() to get_coursemodule_from_instance() 2011-06-20 15:13:59 +08:00
Dongsheng Cai 945df69ff3 MDL-27866, set page context for $OUTPUT->pix_url 2011-06-20 13:53:06 +08:00
AMOS bot 16aae71dcd Automatically generated installer lang files 2011-06-20 00:55:14 +00:00
Eloy Lafuente (stronk7) 371e83db2d MDL-25811 automated backups - clean running status after 90 mins of inactivity 2011-06-18 22:12:57 +02:00
Tim Hunt f4bc50d2bb MDL-27860 count quiz attempts properly when checking if a new attempt is allowed. 2011-06-18 18:33:55 +01:00
AMOS bot b32484d582 Automatically generated installer lang files 2011-06-18 00:55:20 +00:00
Tim Hunt 6750bec6c9 MDL-26948 quiz navigation fake block should have an id to allow styling. 2011-06-17 17:26:34 +01:00
David Mudrak 6a8787828e MDL-27073 Support multi-language content in custom menu 2011-06-17 17:05:10 +02:00
Dongsheng Cai 466b23caf7 MDL-27341, fixed flickr public plugin should check
search text, tag and nsid before searching photos
2011-06-17 12:13:42 +08:00
Dongsheng Cai a4d6717aec MDL-26677 fixed undefined index usewatermarks in flickr plugin 2011-06-17 12:11:22 +08:00
Eloy Lafuente (stronk7) cc50a2fbc4 weekly release 2.0.3+ 2011-06-16 19:09:49 +02:00
Eloy Lafuente (stronk7) 3345c20e29 fix permissions 2011-06-16 19:06:33 +02:00
Eloy Lafuente (stronk7) c06e87a410 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-06-16 19:04:49 +02:00
Eloy Lafuente (stronk7) db005da178 Merge branch 'MDL-24355-MOODLE_20_STABLE2' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-06-16 10:39:48 +02:00
Andrew Davis (andyjdavis) cfc9f55ca6 MDL-24355 tag: minor clean up of tags changes 2011-06-16 10:35:29 +08:00
Sam Hemelryk 15f0d2ed37 MDL-24355 Fixed up deletion of tag correlations when deleting tags 2011-06-16 10:07:58 +08:00
Sam Hemelryk a370e4e4fa MDL-24355 Added code to delete any tag correlations that wern't just identified 2011-06-16 10:07:41 +08:00
Eloy Lafuente (stronk7) a9e0bc82fb Merge branch 'wip-mdl-27863-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-06-15 11:30:15 +02:00
Rajesh Taneja ec05915767 MDL-27863 moodlelib: - fixed testcase faliure in MDL-27577 2011-06-15 16:38:29 +08:00
Eloy Lafuente (stronk7) b5e8919b7c Merge branch 'm20_MDL-27858' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-06-15 01:18:33 +02:00
Eloy Lafuente (stronk7) 397262e292 Merge branch 'MDL-27848_for_MOODLE_20_STABLE' of git://github.com/kordan/moodle into MOODLE_20_STABLE 2011-06-15 00:55:08 +02:00
Dan Marsden ea1e93b265 SCORM MDL-27858 - fix typo 2011-06-15 10:33:15 +12:00
AMOS bot 29e42725a4 Automatically generated installer lang files 2011-06-14 18:25:59 +02:00
Eloy Lafuente (stronk7) 91c59dbd8e MDL-27759 backport some improvs from master + whitespace fix 2011-06-14 17:07:03 +02:00
Eloy Lafuente (stronk7) 87c8b752ca Merge branch 'wip-MDL-27759-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-06-14 17:01:56 +02:00
Eloy Lafuente (stronk7) 4fcc689dfc Merge branch 'wip-MDL-27825-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-06-14 12:30:55 +02:00
Eloy Lafuente (stronk7) 27f31cc626 Merge branch 'MDL-27525_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-06-14 12:12:57 +02:00
Kordan 9660303cc2 MDL-27835_for_MOODLE_20_STABLE fix 2011-06-14 11:45:31 +02:00
Sam Hemelryk 9abec7278b MDL-27825 Improved check of themedesignermode to prevent errors if it isn't set 2011-06-14 15:49:33 +08:00
Kordan ba7c14c1a7 MDL-27834 for MOODLE_20_STABLE fix 2011-06-14 09:54:53 +08:00
Sam Hemelryk 97161e5008 Merge branch 'MDL-27286_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-14 09:48:57 +08:00
AMOS bot 25041083d5 Automatically generated installer lang files 2011-06-14 00:55:09 +00:00
Eloy Lafuente (stronk7) a1c5868475 MDL-27822 rename new methods 2011-06-14 00:35:07 +02:00
Tim Hunt d4e94648cf MDL-27822 old module version should be available in restore_activity_structure_step::define_structure() 2011-06-14 00:34:50 +02:00
Eloy Lafuente (stronk7) b651e7bb74 MDL-27286 recent files repo - fix for oracle and cleanup 2011-06-13 18:55:19 +02:00
Eloy Lafuente (stronk7) d527599fcd whitespace fixes 2011-06-13 10:29:18 +02:00
Sam Hemelryk c1d93d47e9 Merged branch 'MDL-26960-for-20_STABLE' of git://git.luns.net.uk/moodle with changes 2011-06-13 15:09:16 +08:00
Sam Hemelryk 6160c1721c Merge branch 'm20_MDL-27404' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-06-13 14:54:06 +08:00
Sam Hemelryk 71472b0a82 Merge branch 'MDL-16168-CAS-crash-if-no-LDAP-20' of https://github.com/iarenaza/moodle into MOODLE_20_STABLE 2011-06-13 11:32:55 +08:00
Sam Hemelryk ba3721d463 Merge branch 'MDL-27757-20' of git://github.com/srynot4sale/moodle into MOODLE_20_STABLE 2011-06-13 11:18:48 +08:00
Sam Hemelryk 1a1f7b0eec Merge branch 'MDL-27783-20STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-06-13 11:14:02 +08:00
Rossiani Wijaya 0c60b1113e MDL-27525 mod_wiki: Fixed typing error for the variable and assign the value contextid to use mod context id 2011-06-13 11:08:32 +08:00
Sam Hemelryk 79121602c4 Merged branch 'MDL-27801_MOODLE_20_STABLE' of git://github.com/kordan/moodle.git with changes 2011-06-13 10:35:55 +08:00
Rajesh Taneja ba16180449 MDL-27759 user webservice - added new PARAM for timezone PARAM_TIMEZONE, to validate timezone input in webservice while deling with user information 2011-06-13 10:23:46 +08:00
Dan Marsden 01765239b0 MDL-27404 SCORM fix for IE 6 - thanks to Howard Miller 2011-06-13 11:31:48 +12:00
Marina Glancy d65a2b2262 MDL-26430 fixed appearance of one html form within another 2011-06-10 13:15:13 +08:00
Aaron Barnes 4754c0edd1 MDL-27757 lib/completionlib.php: Load "enablecompletion" property if required 2011-06-10 13:54:45 +12:00
kordan ec441b6dd0 MDL-27801 fix for MOODLE_20_STABLE 2011-06-09 22:05:32 +02:00
Dan Poltawski df01a82082 messaging: MDL-26960 Check correct users permissions
When on message profile page, the incorrect capability was checked
2011-06-09 16:01:15 +01:00
Jerome Mouneyrac 00338d8b94 MDL-27783 enabled status of a built-in service should never been updated on upgrade. It is only used during the installation. If a dev really needs to change the status, he can do it in lib/db/upgrade.php 2011-06-09 16:59:35 +08:00
Eloy Lafuente (stronk7) 57e034c094 weekly release 2.0.3+ 2011-06-09 03:42:48 +02:00
Eloy Lafuente (stronk7) c5b9fe0dda Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-06-09 03:38:54 +02:00
Eloy Lafuente (stronk7) 07511dbe6d Merge branch 'wip-MDL-27638-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-06-09 01:23:30 +02:00
Eloy Lafuente (stronk7) df70dfe4ee Merge branch 'wip-mdl-27577-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-06-09 01:10:27 +02:00
Eloy Lafuente (stronk7) f872b32778 Merge branch 'wip-MDL-27676-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-06-09 00:36:33 +02:00
Iñaki Arenaza beb807e033 MDL-16168 auth/cas CAS crashes if no LDAP is set up
Pending fix for Moodle 2.x. Credit goes to Ivan Dackiewicz.
2011-06-08 19:45:14 +02:00
Sam Hemelryk 98d17b5bad MDL-27676 Requests for a users profile pic that doesnt exist now redirect to the requested f1/f2 rather than just f1 2011-06-08 18:06:22 +08:00
Sam Hemelryk bca840b4bc Merged branch 'MDL-27695_MOODLE_20_STABLE' of git://github.com/nebgor/moodle.git with changes 2011-06-08 16:32:18 +08:00
Sam Hemelryk 80406e9dd8 Merge branch 'MDL-27737_2.0' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-06-08 13:52:39 +08:00
Sam Hemelryk f4c5e50440 Merged branch 'MDL-25775_stable' of git://github.com/grabs/moodle.git 2011-06-08 13:51:10 +08:00
Sam Hemelryk 1382f8a549 Merged branch 'MDL-27118-MOODLE_20_STABLE' of git://github.com/epsd/moodle.git 2011-06-08 13:43:51 +08:00
Aparup Banerjee c372808e97 MDL-27695 Documentation : updated the moodle docs link at the footer of pages to point to new docs url 2011-06-08 13:43:44 +08:00
Sam Hemelryk f279137a86 Merge branch 'MDL-27294-MOODLE_20_STABLE' of git://github.com/epsd/moodle into MOODLE_20_STABLE 2011-06-08 13:39:29 +08:00
Sam Hemelryk 0ad12999d7 MDL-27704 Fixed typo in theme/fusion/style/core.css 2011-06-08 13:36:27 +08:00
Mary Evans a390156411 MDL-27704_master Fix for Overlapping problems in Fusion theme 2011-06-08 13:35:30 +08:00
kordan b84a272faf MDL-27588 Fixed up several bugs with the formal_white theme
-> MDL-26934 has been fixed
-> MDL-27474 has been fixed
-> one more option to have blocks column with different background colours
-> one more option to use custom font size
-> version.php, and b/install.php to handle upgrades
-> increased the font size in the table with plugin list shown at upgrade time
-> minor fixes in IE7 when images from remote web sites are shown in the header
-> conformed the dock background colour to the block background colour to avoid unpleasant color combinations
-> conformed a.link, a.visited and a.active colours in tabs
-> conformed a.link, a.visited and a.active colours in the navigation block
-> deleted an awful box border from enrolment page
-> right aligned commands for resources and activities in the course page
-> increased the width of field item title column in mform
-> increased the padding-top to the help popup box messages
-> user menu restyled to fix some minor tweaks in IE7
-> minor repair to tabs to improve its look
-> restyling of the docked item panel header to look like all the other blocks
-> reduced the distance between elements in headermenu to look better even when only headings are shown in the header
-> links wherever and always black
-> the "search courses" field in the navigation bar does not force extra height
-> some unpleasant generalbox border duplicating some other border have been removed
-> some unpleasant margin/padding in notices and mtables has been removed
2011-06-08 13:14:36 +08:00
Sam Hemelryk f2ba68efc1 Merged branch 'MDL-27692' of git://github.com/MaryE/moodle.git 2011-06-08 13:04:57 +08:00
Sam Hemelryk 629ea4957b Merge branch 'MDL-25477-MOODLE_20_STABLE' of git://github.com/epsd/moodle into MOODLE_20_STABLE 2011-06-08 11:31:14 +08:00
Sam Hemelryk 4c1db5b4ea Merged branch 's9_MDL-26392_wiki_files_20' from git://github.com/dongsheng/moodle.git with fixes 2011-06-07 16:31:38 +08:00
Sam Hemelryk 7ea0f8e519 Merge branch 'MDL-27734-workshop-example-weight_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-07 16:25:14 +08:00
Sam Hemelryk ece057943d Merge branch 'MDL-27733-workshop-deadlines_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-07 16:22:49 +08:00
Sam Hemelryk edb8d49d35 Merge branch 'MDL-27732-glossary-introformat_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-06-07 16:14:52 +08:00
Sam Hemelryk 8c23e3f5ff Merge branch 'admin_whitespace_cleanup_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-06-07 16:11:33 +08:00
AMOS bot 30a39ee2b7 Automatically generated installer lang files 2011-06-07 00:55:09 +00:00
Tim Hunt c3a68f4496 MDL-27737 numerical qtype upgrade bug 2.0dev -> 2.0. 2011-06-06 18:13:31 +01:00
Andreas Grabs d230fb7bcd MDL-25775 - Site policy page blank 2011-06-06 18:12:14 +02:00
David Mudrak 0f37e97dc6 MDL-27734 Fixed weights of the example submission assessments 2011-06-06 17:27:32 +02:00
David Mudrak c33e534dce MDL-27733 workshop: keep the phase deadlines during the 1.9 => 2.0 upgrade 2011-06-06 15:40:56 +02:00
David Mudrak 65814f90c1 MDL-27732 Include the introformat field in the glossary module backups 2011-06-06 15:16:46 +02:00
Eloy Lafuente (stronk7) 3a1380d81a MDL-27724 wiki - update commented upgrade step to avoid future problems 2011-06-05 19:46:46 +02:00
Eloy Lafuente (stronk7) 743010f779 MDL-27723 whitespace cleanup of admin directory 2011-06-05 19:34:12 +02:00
AMOS bot 5a1a6fc1f0 Automatically generated installer lang files 2011-06-05 00:55:09 +00:00
Dongsheng Cai b0022f8d91 MDL-26392 WIKI added file managment support to wiki editor 2011-06-03 11:24:50 +08:00
Mary Evans 838f1bcdf4 MDL-27692-fixes_bullets_not_numbers_in_ordered_list_in_topic_sectio_in_course_page_view 2011-06-03 03:03:38 +01:00
Rajesh Taneja 014fba4928 MDL-27577 moodlelib - fixed dst offset in userdate, usergetdate and make_timestamp functions 2011-06-03 09:59:52 +08:00
AMOS bot 32eadaf080 Automatically generated installer lang files 2011-06-03 00:55:27 +00:00
Eloy Lafuente (stronk7) dba24103ea weekly release 2.0.3+ 2011-06-02 23:37:12 +02:00
Eloy Lafuente (stronk7) 0a770d5c6c Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-06-02 23:28:02 +02:00
AMOS bot 29775a8e89 Automatically generated installer lang files 2011-06-02 00:55:11 +00:00
Sam Hemelryk f2855813c7 MDL-27638 Removed buggy status line from query as it is being calculated in php anyway 2011-05-31 17:03:17 +08:00
Eloy Lafuente (stronk7) b5e1c2e748 Merge branch 'MDL-25191-m20' of git://github.com/sammarshallou/moodle into MOODLE_20_STABLE 2011-05-31 01:01:24 +02:00
Sam Hemelryk 98c1207c46 Merge branch 'wip-mdl-27603-MOODLE_20_STABLE' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-05-30 17:22:41 +08:00
Sam Hemelryk 3466a42f31 Merge branch 'MDL-25512' of git://github.com/MaryE/moodle.git 2011-05-30 13:07:24 +08:00
Rajesh Taneja 3fc24f1238 MDL-27603 enrol_user - changed modifier to modifierid which is used in database 2011-05-30 10:20:24 +08:00
Sam Hemelryk 2e8ab7269c Merge branch 'MDL-27636_20stable' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-05-30 09:33:19 +08:00
Sam Hemelryk 72ca02b0b2 Merge branch 'MDL-27009' of git://github.com/aolley/moodle into MOODLE_20_STABLE 2011-05-30 09:04:34 +08:00
Mary Evans 22a7afd577 wip-MDL-25512 Correct CSS rules in Canvas theme to align with YUI3 CSS Fonts 2011-05-30 00:12:27 +01:00
Adam Olley c281550ce5 MDL-25191: Properly destroy all elements of the modinfo cache 2011-05-27 13:31:36 +01:00
AMOS bot 4a94bae470 Automatically generated installer lang files 2011-05-26 00:55:15 +00:00
Eloy Lafuente (stronk7) 92480bc82b MDL-27636 restore - add support for after_restore() to plugins. Credit goes to Mark Nielsen. Thanks! 2011-05-26 02:39:43 +02:00
Eloy Lafuente (stronk7) 2ff8943027 MDL-27541 course reports - allow teachers to view individual reports 2011-05-26 01:31:43 +02:00
Eloy Lafuente (stronk7) da63c93657 weekly release 2.0.3+ 2011-05-26 00:25:27 +02:00
Eloy Lafuente (stronk7) 4e184a9ce6 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-05-26 00:14:02 +02:00
Eloy Lafuente (stronk7) 36420f78c1 Merge branch 'MDL-27625_20stable' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-05-25 16:38:48 +02:00
Eloy Lafuente (stronk7) 93e980d52b MDL-27625 rating - consider RATING_UNSET_RATING a valid rating value 2011-05-25 16:14:07 +02:00
sam marshall 9e5855cb1a MDL-27532 Add backup support for course report per-course data 2011-05-23 12:16:13 +02:00
Sam Hemelryk f9ba5c5222 Merge branch 'm20_MDL-25177_choice_windowfix' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-05-23 11:34:29 +08:00
Sam Hemelryk f79dd3b57d Merge branch 'MDL-27530_stable' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2011-05-23 11:25:25 +08:00
AMOS bot f5eec88fb6 Automatically generated installer lang files 2011-05-22 21:22:44 +02:00
AMOS bot f5a4f25375 Automatically generated installer lang files 2011-05-19 11:45:22 +02:00
Dan Marsden d714350a11 MDL-25177 Choice - fix typo for form creation causing pop-up window - thanks to Jason Hardin for fix 2011-05-19 13:03:04 +12:00
Sam Hemelryk a021f72a34 weekly release 2.0.3+ 2011-05-18 18:12:56 +08:00
Sam Hemelryk 32af9814f1 MDL-27161 Improved the 2 new strings in assignment 2011-05-18 17:30:06 +08:00
Sam Hemelryk bcb785fa9e MDL-26704 Fixed up variable typo 2011-05-18 15:33:41 +08:00
Eloy Lafuente (stronk7) 733bd07b8b MDL-27192 Global scope does not need global usage 2011-05-17 18:50:16 +02:00
Eloy Lafuente (stronk7) 19ab387d06 Merge branch 'wip-MDL-27192_MOODLE_20_STABLE' of git://github.com/jason-platts/moodle into MOODLE_20_STABLE 2011-05-17 18:49:49 +02:00
Jason Platts 02a03f4fe2 MDL-27192 Page context error on calendar export with custom user
profile fields
2011-05-17 15:24:39 +01:00
Eloy Lafuente (stronk7) 75c92b6306 MDL-27161: whitespace fix 2011-05-17 14:57:32 +02:00
Eloy Lafuente (stronk7) e56ac08a5c Merge branch 'MDL-27386_m20_b' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-05-17 14:28:55 +02:00
stabijoh 0cf31e061b MDL-27294 fix for fusion and overlay zoom text issue 2011-05-17 07:32:01 -04:00
Eloy Lafuente (stronk7) 65150b26cd MDL-26704 gradebook: adding TODO comment to avoid forgetting 2011-05-17 12:00:50 +02:00
Eloy Lafuente (stronk7) e1ad9ae4f5 Merge branch 'MDL-26704_user_outline_report' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-05-17 12:00:10 +02:00
Andreas Grabs ffa12b8397 MDL-27530 The webdav-repository loads empty files 2011-05-16 15:32:17 +02:00
Eloy Lafuente (stronk7) 890c7fae4e Merge branch 'MDL-26436_close_recordsets3' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-05-16 09:26:29 +02:00
Andrew Davis (andyjdavis) 9f2e9b535d MDL-26436 message: reviewed use of recordsets in messaging 2011-05-16 14:00:09 +08:00
Sam Hemelryk c7d4a92ccf Merge branch 'MDL-27161_m20' of git://github.com/rwijaya/moodle.git 2011-05-16 12:32:12 +08:00
Sam Hemelryk 5bd0e7af9f Merge branch 'MDL-27387_rating_scale_validation' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-05-16 12:16:26 +08:00
Sam Hemelryk 794fb0e565 Merge branch 'MDL-26075_stable' of git://github.com/grabs/moodle 2011-05-16 12:10:58 +08:00
Glenn Ansley 998b74a160 MDL-27494 choice - fixing incorrectly named column in backup 2011-05-16 03:25:46 +02:00
Eloy Lafuente (stronk7) 9ae0b69f59 Merge branch 'MDL-26436_close_recordsets2' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-05-16 02:46:52 +02:00
Rossiani Wijaya f4dc83e6e6 MDL-27161: fixed optional setting for 'require grading' to prevent page lock out 2011-05-13 14:10:45 +08:00
Sam Hemelryk ca2b2eb8af MDL-27456 Fixed typo in comment/lib.php after last refatoring 2011-05-13 11:18:48 +08:00
Andreas Grabs 5399e053d1 MDL-26075 Sending Message through Feedback Component throws an error 2011-05-12 17:10:06 +02:00
Rossiani Wijaya 6ef4ef1ee5 MDL-27161: fixed optional setting for 'require grading' to prevent page lock out 2011-05-12 16:53:55 +08:00
Andrew Davis (andyjdavis) f5a1b068cc MDL-27387 rating: prevent the submission of ratings outside of the range allowed by the current scale 2011-05-12 10:44:46 +08:00
Andrew Davis (andyjdavis) b9d64ab18f MDL-27460 roles: now closing a record set that wasnt being closed 2011-05-12 10:37:33 +08:00
Eloy Lafuente (stronk7) 39d106ee76 weekly release 2.0.3+ 2011-05-11 15:22:32 +02:00
Andrew Davis (andyjdavis) 07373d91a8 MDL-26704 gradebook: added some intelligence to the dates displayed on the user outline activity report 2011-05-10 11:02:22 +08:00
Sam Hemelryk 633fcef536 Merge branch 'MDL-27140_m20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-05-10 09:54:15 +08:00
Eloy Lafuente (stronk7) dde17843e0 MDL-27140 weeks course format - incorrect roll of dates on hidden sections
Credit goes to Nikhil Gupta, big thanks!
2011-05-09 18:17:35 +02:00
Eloy Lafuente (stronk7) 2430319b52 Merge branch 'MDL-27401-m20' of git://github.com/sammarshallou/moodle into MOODLE_20_STABLE 2011-05-09 17:47:47 +02:00
sam marshall adabef8bf6 MDL-27401 Unit test errors in lib/simpletest/testpagelib_moodlepage.php 2011-05-09 11:17:03 +01:00
Andreas Grabs 22ea14df25 MDL-27422 The excel export fails in some conditions. 2011-05-09 17:47:21 +08:00
Sam Hemelryk 6867fc94b7 Merge branch 'MDL-27325_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-05-09 10:52:22 +08:00
Sam Hemelryk 8385249f5b Merge branch 'MDL-27367-20' of git://github.com/srynot4sale/moodle into MOODLE_20_STABLE 2011-05-09 10:22:20 +08:00
Eloy Lafuente (stronk7) 30dc7311ad Merge branch 'wip-MDL-27400-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-05-09 02:13:26 +02:00
Eloy Lafuente (stronk7) 9784520acb Merge branch 'MDL-27372_MOODLE_20_STABLE' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-05-09 01:55:39 +02:00
Eloy Lafuente (stronk7) d015c2352f Merge branch 'MDL-27391-m20' of git://github.com/sammarshallou/moodle into MOODLE_20_STABLE 2011-05-09 01:01:44 +02:00
Eloy Lafuente (stronk7) 35fa620a2e MDL-27325 Adding some extreme, but 32bits safe, float tests 2011-05-06 16:07:02 +02:00
Eloy Lafuente (stronk7) 15516e6445 MDL-27325 Now also testing update_record and set_field 2011-05-06 16:07:02 +02:00
Eloy Lafuente (stronk7) 280a641232 MDL-27325 mysql: Avoid some implicit casting from float to varchar/text 2011-05-06 16:07:02 +02:00
Tim Hunt 14dac82376 MDL-27325 New DB unit tests to demonstrate the problem. 2011-05-06 16:07:01 +02:00
Eloy Lafuente (stronk7) 06ede85e1f Moodle 2.0.3 release 2011-05-06 15:09:21 +02:00
Sam Hemelryk 31a43cca97 MDL-27400 Fixed up typo in blocklib.php 2011-05-06 16:29:01 +08:00
Tim Hunt 8ad8b7dba8 MDL-27394 Moodle 2.0 backup and restore may randomise the order of multichoice/numerical/shortanswer answers 2011-05-06 00:18:50 +02:00
sam marshall a09897b4b1 MDL-26778 Completion unit tests broken by earlier change 2011-05-05 12:21:10 +01:00
Aparup Banerjee 5e00f29019 MDL-27372 moved blog comments to end of body of blog entry. we now see the entire blog entry without comments in the way. 2011-05-05 15:29:42 +08:00
Sam Hemelryk 36f0835e72 Merge branch 's9_MDL-27382_dropbox_get_file_fix_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-05-05 13:26:46 +08:00
Sam Hemelryk 259b9d05f3 Merge branch 's9_MDL-27381_overwrite_dialog_safari_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-05-05 13:23:22 +08:00
Sam Hemelryk da20cd7b43 Merge branch 's9_MDL-26854_spam_comments_20_2' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-05-05 11:46:05 +08:00
Dongsheng Cai acb4688d29 MDL-26854 Added comments block lib.php, it contains comments callbacks 2011-05-05 11:25:19 +08:00
Jerome Mouneyrac 471952fe82 MDL-26250 Create a web service function that enrols users to a certain course 2011-05-05 11:00:00 +08:00
Dongsheng Cai 0d738689bd MDL-27381 fixed 'overwrite files' dialog zindex in safari 2011-05-05 10:43:17 +08:00
Sam Hemelryk 7390fdde63 Merge branch 's9_MDL-26854_spam_comments_20_2' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-05-05 10:42:58 +08:00
Sam Hemelryk 1374c61bb4 Merge branch 'MDL-26838_ratings_bad_data3' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-05-05 10:19:54 +08:00
Dongsheng Cai 98d9209a34 MDL-27382 repository dropbox plugin, fixed bug of
file downloading path
2011-05-05 09:57:34 +08:00
Eloy Lafuente (stronk7) 8351ce1bd0 weekly release 2.0.2+ 2011-05-05 00:37:10 +02:00
Eloy Lafuente (stronk7) b911ab236c Merge branch 'MDL-25594-20' of git://github.com/srynot4sale/moodle into MOODLE_20_STABLE 2011-05-04 16:09:44 +02:00
Dongsheng Cai b4730465e6 MDL-26854 COMMENT
1. added pluginname_comment_validate callback to comments api
2. change permission callback defaults to false
3. Tidied up serveal areas of comments and implemented callback to
ignore system permissions for view (credits to Sam Hemelryk)

AMOS BEGIN
    MOV [modulerejectcomment,error],[callbackrejectcomment,error]
AMOS END
2011-05-04 17:59:19 +08:00
Eloy Lafuente (stronk7) 78cc7bee62 Merge branch 'MDL-26788_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-05-04 11:21:02 +02:00
Dongsheng Cai 5d6eafcf10 MDL-26388 Recent repository plugin should return draft url 2011-05-04 17:03:36 +08:00
Dongsheng Cai 090e19328e MDL-26388 Recent repository plugin should return draft url 2011-05-04 15:48:11 +08:00
Andrew Davis (andyjdavis) 34b5e856b0 MDL-26838 rating: multiple fixes after a review of rating validation code 2011-05-04 15:33:35 +08:00
Sam Hemelryk c44a5d5946 Merge branch 's10_MDL-27330_dropbox_authorization_url_20' of github.com:dongsheng/moodle into MOODLE_20_STABLE 2011-05-04 13:56:59 +08:00
Aaron Barnes b7d7679112 MDL-25594 completion: Remove unused column from query
Which is also a reserved word.
2011-05-04 13:01:27 +12:00
Aaron Barnes 90061a6d95 MDL-26190 completion blocks: Completion blocks shouldn't ever be blank 2011-05-04 12:53:02 +12:00
stabijoh c9c031fc90 MDL-25477 fix for Anomoly theme doesn't display bullets for unordered lists in descriptions or labels 2011-05-03 07:06:55 -04:00
Dongsheng Cai 64a17788aa MDL-27330 repository dropbox plugin
Dropbox changed authorization URL, and added a few error check code
2011-05-03 17:42:57 +08:00
Sam Hemelryk 0baa1eee59 Merged MDL-26388 Fixed whitespace 2011-05-03 16:28:38 +08:00
Sam Hemelryk 9f6eeb4abf Merged MDL-25805 Renamed property and function to be a little more descriptive 2011-05-03 15:43:20 +08:00
Sam Hemelryk 6a48b42ae8 Merge branch 'MDL-25805_MOODLE_20_STABLE' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-05-03 15:42:26 +08:00
Sam Hemelryk 2dd90f136c Merge branch 'MDL-26628' of git://github.com/srynot4sale/moodle into MOODLE_20_STABLE 2011-05-03 11:00:15 +08:00
Sam Hemelryk e6647397b9 Merged MDL-27251 Fixed up whitespace, Fixed broken string, reworded new strings 2011-05-03 10:54:44 +08:00
Aparup Banerjee 07fa10d725 MDL-25840 blog - fixed broken image file image attachment display 2011-05-03 01:14:16 +02:00
Eloy Lafuente (stronk7) 98032d512d Merge branch 'MDL-27293-customlang-timeout_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-05-02 16:19:40 +02:00
Aparup Banerjee 389235fb00 MDL-25805 Roles propagated ugly hack for parent seeing child activities into navigation lib to display nav node. 2011-05-02 20:21:51 +08:00
Eloy Lafuente (stronk7) 656237dd55 Merge branch 'MDL-26714_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-05-02 12:26:22 +02:00
Sam Hemelryk e3cc5b1a7f Merged changes and fixed whitespace issues for MDL-23188 2011-05-02 15:00:54 +08:00
Sam Hemelryk 0742ea86b2 Merge branch 'MDL-26955-themedir-plugindirectory_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-05-02 14:23:06 +08:00
Sam Hemelryk 41f79b5c07 Merge branch 'MDL-27116-themedir-config_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-05-02 14:12:45 +08:00
Sam Hemelryk ed85c0acd2 Merge branch 'MDL-27155_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-05-02 14:09:26 +08:00
Sam Hemelryk 9c39028179 Merge branch 'MDL-27246-cutomlang-version_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-05-02 12:14:05 +08:00
Dongsheng Cai 9fb4a6300b MDL-26388, pop up a dialog when attaching a file already being used in draft area. 2011-05-02 10:27:50 +08:00
Tim Hunt 44c9dc6e7b MDL-27340 tablelib.php fix a notice when is false. 2011-05-01 17:37:54 +01:00
Andrew Davis (andyjdavis) 4af7c9d188 MDL-26838 rating: remove logged in users ability to sidestep rating validity checks 2011-05-01 18:44:12 +08:00
Tim Hunt 847dee60ce MDL-27155 qtype_numerical problem with GIFT import. 2011-04-29 14:16:10 +01:00
stabijoh b7551bdf23 MDL-27118 Text in a highlighted topic box is white on white in the Leatherbound theme. 2011-04-29 07:44:56 -04:00
Rossiani Wijaya e0be8fd6a3 MDL-26788 - grading in lesson containing essays 2011-04-29 18:17:36 +08:00
Tim Hunt 55e03d1233 MDL-26714 qtype_multianswer regression from the previous commit for numerical subquestions. 2011-04-28 23:32:14 +01:00
stabijoh e391f907af MDL-23188 implement custom menu where possible in core themes, 20 stable version 2011-04-27 08:44:53 -04:00
David Mudrak bef867a96c MDL-26955 get_plugin_directory() respects $CFG->themedir
If $CFG->themedir is set (it is not usually) and the given theme is not
found in the standard location, then it is expected to be in the custom
$CFG->themedir directory.

Credit goes to Urs Hunkler for the idea of the patch.
2011-04-27 14:03:53 +02:00
David Mudrak 4207d47742 MDL-27116 theme_config::find_theme_location() respects $CFG->themedir
Credit goes to Jai Gupta for the idea of the patch.
2011-04-27 14:03:10 +02:00
David Mudrak bd7193c7ac MDL-27293 report customlang has extra execution time and displays a progress bar during the checkout
Initial checkout of strings into the translator table may take a long time. The
maximum execution time is increased to one hour and a progress bar is
displayed so the user is informed on what is going on.
2011-04-27 14:01:59 +02:00
David Mudrak 77e4a16c4f MDL-27246 customlang report stores the versions in a char field rather than integer 2011-04-27 14:01:38 +02:00
Petr Skoda 7daba2713e weekly release 2.0.2+ 2011-04-27 12:08:04 +02:00
Aaron Barnes 03b1be3005 MDL-26628 completion report: Fix hard coded strings in Completion report 2011-04-27 15:33:45 +12:00
Aparup Banerjee 5c8511ecf7 MDL-27251 Files API - added timeout re-calculation as an optional argument. added setting for minimum Kbps for large files fetched from internet where the passed in timeout maybe too low.
allowed turning off the http HEAD request timeout calculation with zero (or negative) bitrate

	This was added in to allow servers that have a problem with
	HEAD requests to carry on with the given timeout without re-calculations.
	See PULL-651 for the discussion.

	the optional argument to force recalculation of timeout has been forced within scorm/locallib.php

	timeout re-calculation only increments timeout.
2011-04-27 11:02:21 +08:00
Eloy Lafuente (stronk7) 52435228c5 Merge branch 'w17_MDL-27253_m20_swfsize' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-26 11:15:01 +02:00
Eloy Lafuente (stronk7) c9dc3e5564 Merge branch 'w17_MDL-27263_m20_loggedintypo' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-26 11:06:31 +02:00
Petr Skoda ffaf18a8c1 MDL-27253 add default swf size and allow #d=100x50 URL resizing in mod/url 2011-04-21 20:36:06 +02:00
Petr Skoda f5fddc6081 MDL-27263 fix already logged in error message typo 2011-04-21 20:35:33 +02:00
stabijoh 9d5a4e2b7c MDL-27252 themes, fix for nonzero current highlight 2011-04-20 13:19:12 -04:00
Eloy Lafuente (stronk7) ba9103b2c6 weekly release 2.0.2+ 2011-04-20 13:36:41 +02:00
Eloy Lafuente (stronk7) 79196c9ed5 Fix permissions 2011-04-20 11:09:11 +02:00
Aparup Banerjee a572cfe5bd MDL-26580 adding precautionary upgrade_set_timeout() calls to some loops which may timeout in very edge cases 2011-04-19 17:58:03 +08:00
Aparup Banerjee 92d7776478 MDL-26580 adding some upgrade_set_timeout() calls to 2010080901 upgrade block, upgrades on questions were timing out 2011-04-19 17:57:56 +08:00
Sam Hemelryk 2715f96932 Merged with small fix branch MDL-26516_m20_calevent_wip4 from git://github.com/rwijaya/moodle.git 2011-04-19 16:29:49 +08:00
John Stabinger 6919d9f790 Fixes for MDL-27138, add correct page headers and footer 2011-04-19 11:03:33 +08:00
Sam Hemelryk 8be0517692 MDL-26835 Fixed up styles being used for suspended users in the grader report. 2011-04-19 10:47:14 +08:00
Sam Hemelryk a4b65c11b9 Merged with conflict resolution branch MDL-26835_MASTER_grader_highlight_suspended_users from git://github.com/andyjdavis/moodle.git 2011-04-19 10:46:54 +08:00
Sam Hemelryk 64e711f04b MDL-25999 Fixed URL bug with admin bookmark changes 2011-04-19 10:26:46 +08:00
Sam Hemelryk e6cf40de78 Merge branch 'MDL-25999_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-04-19 10:26:30 +08:00
Rossiani Wijaya 174f5a0189 MDL-26516: fix calendar event type (user overides) 2011-04-18 18:12:25 +08:00
Eloy Lafuente (stronk7) dd56fd7c64 MDL-26167 lib/form: minor coding tweaks 2011-04-18 11:45:02 +02:00
Eloy Lafuente (stronk7) 436f83f8ff Merge branch 'MDL-26167-stable' of git://github.com/agwells/moodle into MOODLE_20_STABLE 2011-04-18 11:44:02 +02:00
Rossiani Wijaya d03f904759 MDL-25999: update Admin Bookmarks block to work properly in 2.0 2011-04-18 17:23:36 +08:00
Eloy Lafuente (stronk7) 15a6af91f5 Merge branch 'w16_MDL-17344_m20_uploadprof' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-18 11:07:42 +02:00
Andrew Davis (andyjdavis) 0a23dec07a MDL-26835 gradebook: grader report now marks suspended students 2011-04-18 14:25:16 +08:00
Sam Hemelryk 6f8081bef4 MDL-26958 PULL-675 Merged changes and removed border colour style 2011-04-18 10:57:27 +08:00
Andrew Davis (andyjdavis) c643d3ae06 MDL-27153 gradebook - fixed an SQL error in grade export 2011-04-18 02:17:09 +02:00
Eloy Lafuente (stronk7) 507ccf1c4b MDL-27148 whitespace fix 2011-04-18 01:47:11 +02:00
Eloy Lafuente (stronk7) 60bc533ee8 Merge branch 'w16_MDL-27148_m20_stringinc' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-18 01:44:10 +02:00
Eloy Lafuente (stronk7) 42f2b8d0dd Merge branch 'w16_MDL-27217_m20_tinyset' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-18 01:13:49 +02:00
Eloy Lafuente (stronk7) 84047d1fc9 Merge branch 'w16_MDL-27220_m20_tagprofile' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-18 01:08:10 +02:00
Petr Skoda b79ac7e0d6 Merge branch 'm20_MDL-26880_SCORM2004_tracking_fix' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-04-17 17:16:48 +02:00
Petr Skoda 241ceba38c Merge branch 'm20_MDL-24734_gradefix' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-04-17 17:09:59 +02:00
Petr Skoda 8e49e0833c Merge branch 'm20_MDL-18392_slash_cleanup' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-04-17 17:04:09 +02:00
Petr Skoda f6bf9c932d Merge branch 'MDL-27198-m20' of git://github.com/sammarshallou/moodle into MOODLE_20_STABLE 2011-04-17 16:40:10 +02:00
Petr Skoda 1fb2369b09 Merge branch 'wip-MDL-26013-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-17 16:22:34 +02:00
Petr Skoda 4de0925820 Merge branch 'wip-MDL-27145-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-17 16:13:08 +02:00
Petr Skoda 81f2a1686a MDL-27217 use correct editor name in editor settings page
Credit goes to Franck Bellemain.
2011-04-17 11:18:00 +02:00
Petr Skoda 5f509554a5 MDL-27220 add missing tag lib include 2011-04-17 11:07:57 +02:00
Dan Marsden edd5d0693d SCORM MDL-24734 - fix display of grade information on view.php page - also fixes some XHTML in the same function. 2011-04-16 19:32:11 +12:00
Mary Evans d59a75a841 MDL-26958 Core Themes:adding css patch to base theme so hidden elements are dimmed
This patch also fixes MDL-27160 - the same bug which affects many CORE themes like Binarus and Nonzeo. This patch also a small element of a patch supplied by Thomas Lake in Tracker MDL-26958 (most of which already exists in Base theme).
2011-04-15 00:49:22 +01:00
Aaron Wells 9b482d1cbe MDL-26167 lib/form: Altering Javascript so that "disabledIf" will disable the "Choose" button for a filepicker 2011-04-15 10:02:34 +12:00
sam marshall ca090f3262 MDL-27198 Accessibility: For labels, completion/editing icons must appear after content 2011-04-14 17:28:53 +01:00
Petr Skoda 12db898084 MDL-27148 use new get_in_or_equal() param prefix instead of start 2011-04-14 15:13:28 +02:00
Petr Skoda c79345c0f0 MDL-27148 fix unit tests to accept arbitrary named params format from get_in_or_equal 2011-04-14 15:12:21 +02:00
Petr Skoda d691571218 MDL-27148 use static counter instead of incrementing parameter name 2011-04-14 14:44:50 +02:00
Petr Skoda 4e1bb6e10c MDL-17344 fix case and unicode related profile field issues in user upload
This fixes issue with uppercase and non-ascii profile fields and closes the iterator properly when field not found. Please note that profile fields with upper case letters must be specified exactly in CSV file headers. includes improved docs and parameter typo fix (credit for the parameter typo discovery goes to Aparup Banerjee)
2011-04-14 13:18:42 +02:00
Nadav Kavalerchik a7e920fbfb CSS MDL-26013 Fixed several display bugs when using right to left languages 2011-04-14 15:59:03 +08:00
Matteo Scaramuccia 7a725d6b59 PULL-498 - Fixed potential issues about UTF-8 and multilang filter by adopting pure ASCII chars, the SCO primary key 2011-04-14 10:26:41 +12:00
Matteo Scaramuccia 489c6ef357 MDL-26880 - Fixed missing of activity id
Moved errorCode as global, to allow GetLastError() to work
Applied MDL-17891 mechanism against AJAX failures, "true if true, false otherwise"
Limited what added to log when in debug, to be compliant with mdl_log.action as VARCHAR(40)
2011-04-14 10:26:18 +12:00
Dan Marsden dbb6157aa1 Merge remote branch 'moodle/MOODLE_20_STABLE' into m20_MDL-18392_slash_cleanup 2011-04-14 09:15:17 +12:00
Petr Skoda 50467e50c9 weekly release 2.0.2+ 2011-04-13 22:08:30 +02:00
Petr Skoda 85a91fb98e Merge branch 'MDL-24355_emergency_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-04-13 16:49:29 +02:00
Eloy Lafuente (stronk7) 75454e2567 MDL-24355 tags - fix correlation sql to be cross-db 2011-04-13 16:37:37 +02:00
Petr Skoda 06c09f30e3 Revert "MDL-25840 fixed image files link not rendered correctly when attached as file (instead of inline)."
The reason is failed testing. This reverts commit 3d0e3ade75.
2011-04-13 15:07:22 +02:00
Dan Marsden 26daa23d9d SCORM MDL-18392 - remove old call to stripslashes 2011-04-13 20:00:59 +12:00
Matteo Scaramuccia 74a2ee73ed SCORM MDL-18392 MDL-26282 - Fixed calls to add/strip slashes 2011-04-13 19:58:44 +12:00
Petr Skoda fca41d2589 MDL-25718 fix incorrect 'no grade' test and improve coding style 2011-04-12 10:07:05 +02:00
Petr Skoda 6de6a45a10 Merge branch 'MDL-25718_enrol_grades_alternative2' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-04-12 09:55:28 +02:00
Sam Hemelryk 0f1fac1f1f form-dateselector MDL-27145 Fixed up error resulting from incorrectly required 'optional' argument on create event 2011-04-12 14:15:51 +08:00
andyjdavis 692134ecd4 enrol MDL-25718 added ability to recover grades when enrolling users 2011-04-12 11:05:02 +08:00
Eloy Lafuente (stronk7) d7706bac2c Merge branch 'MDL-26778-m20' of git://github.com/sammarshallou/moodle into MOODLE_20_STABLE 2011-04-11 17:54:21 +02:00
Eloy Lafuente (stronk7) 391e054c03 Merge branch 'w15_MDL-26577_m20_groupscleanup' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 16:02:10 +02:00
Eloy Lafuente (stronk7) 71f2316fe6 Merge branch 'w15_MDL-26805_m20_userpol' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 15:18:31 +02:00
Petr Skoda 16d610019a Merge branch 'wip-MDL-27024-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-11 14:13:34 +02:00
Petr Skoda 4f5791da64 Merge branch 'wip-MDL-26599-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-11 14:10:38 +02:00
sam marshall c5e3a242b1 MDL-26778 Change to completion should immediately affect nav block
Includes change so that updating completion resets the cache, and a debugging
warning if any module calls the completion viewed thing after it's already
printed navigation (which will mean navigation obviously doesn't update right
away). All existing modules that currently update after printing navigation
were updated.
2011-04-11 12:40:50 +01:00
Petr Skoda 13ad1eaf37 Merge branch 'MDL-25840_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-04-11 13:30:44 +02:00
Petr Skoda 7ca448fa83 MDL-26805 cleanup default role selections
Frontpage role selection now allows only guest and frontpage roles. Default forntpage role is selected duuring install. Unused nodefaultuserrolelists option was removed completely. Coding style improvements.
2011-04-11 13:08:35 +02:00
Eloy Lafuente (stronk7) 37efb4f1ee Merge branch 's9_MDL-27098_filemanager_strings_20' of git://github.com/dongsheng/moodle into MOODLE_20_STABLE 2011-04-11 11:20:31 +02:00
Dongsheng Cai 81bd2292bc MDL-27098
1. Fixed add file language string
2. Fixed hard-coded 'moving' string
3. Fixed hard-coded 'Files' string
2011-04-11 17:10:30 +08:00
Eloy Lafuente (stronk7) 8fa13d155d Merge branch 'w15_MDL-25826_m20_htmlpurifier' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 11:08:23 +02:00
Sam Hemelryk 465846f082 Merge branch 'MDL-25746_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-04-11 15:38:48 +08:00
Aparup Banerjee f68815ffcf MDL-25746 fixed db tempate page layout to prevent hidden content layers 2011-04-11 15:16:54 +08:00
Sam Hemelryk 67b5d74b2c Merge branch 'MDL-27034_xhprof_table_sql_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-04-11 14:34:57 +08:00
Aparup Banerjee 3d0e3ade75 MDL-25840 fixed image files link not rendered correctly when attached as file (instead of inline). 2011-04-11 14:24:22 +08:00
Sam Hemelryk 7d1fb2f6ec Merged branch 'MDL-26185_m20' of git://github.com/andyjdavis/moodle.git and fixed conflicts 2011-04-11 11:54:50 +08:00
Sam Hemelryk 227e54d65a Merge branch 'MDL-27063' of git://github.com/MaryE/moodle into MOODLE_20_STABLE 2011-04-11 11:38:21 +08:00
Sam Hemelryk ee6181b1e7 comment MDL-27024 Removed last check within comment.js for block_comment env 2011-04-11 10:43:25 +08:00
Sam Hemelryk 3962c89bbf comment MDL-27024 Fixed bug that arose when a comment section didnt require pagination but the JS still looked for pageination HTML in the page 2011-04-11 10:43:21 +08:00
Sam Hemelryk 59137c2c5b comment MDL-27024 Removed last reference to the comment block within the comment API and used the options properly 2011-04-11 10:43:17 +08:00
Sam Hemelryk b83e494d6f comment MDL-27024 Fixed up whitespace issues 2011-04-11 10:43:12 +08:00
Sam Hemelryk 3b2164bdca comment MDL-27024 made notoggle and autoload into proper options to remove comment block conditions from comment API 2011-04-11 10:43:06 +08:00
Sam Hemelryk aa54d70440 comment MDL-27024 Cleaned up HTML output in comment class 2011-04-11 10:43:01 +08:00
Sam Hemelryk d2d4bccec1 comment MDL-27024 Cleaned up use of undefined property $this->link 2011-04-11 10:42:56 +08:00
Sam Hemelryk f3a3c59f48 mod-lesson MDL-26599 Fixed echo causing incorrect nesting. 2011-04-11 10:27:58 +08:00
Eloy Lafuente (stronk7) 3d62a46b26 Merge branch 'w15_MDL-27094_m20_assval' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 01:32:15 +02:00
Eloy Lafuente (stronk7) 9aacfedb22 Merge branch 'w15_MDL-27007_m20_userupload' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 01:23:04 +02:00
Eloy Lafuente (stronk7) 12b734434b Merge branch 'w15_MDL-26910_m20_httpd' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-11 00:17:23 +02:00
Eloy Lafuente (stronk7) f9068e531c Merge branch 'w15_MDL-27121_m20_phpreq' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-04-10 23:55:11 +02:00
Eloy Lafuente (stronk7) 96506c474a Merge branch 'MDL-26319_MOODLE_20_STABLE' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-04-10 23:49:59 +02:00
Tony Levi 0d66e33da5 MDL-27084: mod/feedback fix bad syntax in database query 2011-04-10 23:43:56 +02:00
Petr Skoda 934fa3ed6c MDL-27094 fix incorrect assignment form validation method name
Credit goes to H. Hanna
2011-04-10 21:01:53 +02:00
Petr Skoda 6743d6c520 MDL-26910 add HTTPD server name whitelisting 2011-04-10 13:59:17 +02:00
Petr Skoda cf76e10e4a MDL-26577 fix several groups and groupings issues
The current group in verified on each page which prevents problems when group settings are changed. The default group for course level is now using correct grouping id which solves problems when activity and course are using different grouping. The grouping is now displayed in group selector if user has access to all groups.
2011-04-10 13:28:02 +02:00
Mary Evans c800e31213 MDL-27063 tt styled incorrectly in canvas theme 2011-04-10 00:48:35 +01:00
Petr Skoda 23580ddacb MDL-27121 fix incorrect check_moodle_environment() version parameter
This prevents Moodle 2.0 from using environment info for 2.1 in the installer and CLI upgrade.
2011-04-09 17:42:53 +02:00
Petr Skoda 827fcdb347 MDL-27007 fix incorrectly suspended user enrolment when uploading users
This bug surfaced after the recent change in enrol API, credit goes to Chaim Schendowich and Micky Fokken.
2011-04-09 12:09:53 +02:00
Petr Skoda 60aaf1dc77 MDL-25826 add more HTMLPurifier integration tests 2011-04-09 11:51:55 +02:00
Petr Skoda fd8fa6f9d0 MDL-25826 integrate HTMLPurifier 4.3.0 and improve performance
The new HTMLPurifier finally caches the schema properly eliminating both extra CPU cycles and disk writes. The repeated dir exists tests might cause problems on NFS shares.
2011-04-09 11:51:49 +02:00
Petr Skoda 8adf19eda8 MDL-25826 import HTMLPurifier 4.3.0 2011-04-09 11:51:35 +02:00
Mayank Gupta 95fa6fddca MDL-27037, wiki does not support visiblegroups functionality 2011-04-08 23:40:36 +05:30
Andrew Davis (andyjdavis) a6e29ac6a3 message MDL-26185 fixed the logic around email addy in user profile Vs in messaging preferences 2011-04-07 15:39:03 +08:00
Aparup Banerjee 52e184904f MDL-26319 moved cancel_backup() from backup_ui to cancel_process() in base_ui and renamed callers. fix for method inheritance in restore_ui. 2011-04-07 10:40:45 +08:00
Eloy Lafuente (stronk7) b8d80c062e MDL-27034 profiling - xhprof_table_sql improvement 2011-04-07 00:46:33 +02:00
Petr Skoda eb9d692f8b weekly release 2.0.2+ 2011-04-06 14:55:57 +02:00
Petr Skoda a805d653d1 MDL-26804 fix undefined CFG langcache property during install
Sorry, I have committed fix for this in master incorrectly with MDL-26914.
2011-04-06 10:56:30 +02:00
Sam Hemelryk fe4a0cfe63 PULL-574 MDL-26185 Reverted changes due failed testing + review 2011-04-06 16:35:24 +08:00
Petr Skoda d0e3447e43 revert MDL-26577 added session cleaning to groups_get_activity_group() that fixes an issue with dirty session data. refactored session cleaning into one function, added caching to reduce queries.
(reverse-merged from commit 77335e76e9) This change was causing fatal errors on the course level, I am going to fix it myself.
2011-04-05 18:35:01 +02:00
Sam Hemelryk f046221272 messaging MDL-26185 Last minute fix of bug during integration, empty user preference causing error 2011-04-05 16:53:03 +08:00
Petr Skoda 42a50a0a45 Merge branch 'MDL-26577_groups_api_refactor_take2_m20' of git://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-04-05 10:21:21 +02:00
Aparup Banerjee 77335e76e9 MDL-26577 added session cleaning to groups_get_activity_group() that fixes an issue with dirty session data. refactored session cleaning into one function, added caching to reduce queries. 2011-04-05 12:23:56 +08:00
Eloy Lafuente (stronk7) ddf3e875f3 Merge branch 'wip-MDL-26560-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-04 23:16:53 +02:00
Eloy Lafuente (stronk7) 91fa7abf3d Merge branch 'wip-MDL-26858-MOODLE_20_STABLE' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-04-04 21:50:22 +02:00
Eloy Lafuente (stronk7) b060e5b0b8 Merge branch 'MDL-26931-blog-post-order_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-04-04 12:02:17 +02:00
Andrew Davis (andyjdavis) f9c8746704 gradebook MDL-20946 fixed average calculation where users have multiple gradeable roles 2011-04-04 11:27:09 +02:00
Petr Skoda c629aeabe3 MDL-25651 fix incorrect indentation 2011-04-04 10:01:30 +02:00
Petr Skoda 27614a5e5d Merge branch 'wip-MDL-25651_MOODLE_20_STABLE' of git://github.com/jennymgray/moodle into MOODLE_20_STABLE 2011-04-04 09:59:04 +02:00
Sam Hemelryk ba32fc0042 enrolments MDL-26560 Fixed panel.user bug with role assignments dialogue 2011-04-04 14:50:15 +08:00
Sam Hemelryk 87b05ba3e0 enrolments MDL-26858 Added finish user enrolments button to JS dialogue 2011-04-04 14:38:23 +08:00
Sam Hemelryk 728f3c9d08 Merge branch 'MDL-26185_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-04-04 13:21:24 +08:00
Mary Evans d7dd177eb4 Fix for MDL-27016 added min-width 2011-04-04 13:10:06 +08:00
Rossiani Wijaya 507de745e3 MDL-26185: simplify the logic of email message output and removing email cache 2011-04-01 11:12:54 +08:00
Jenny Gray bf8ff4889b MDL-25651 add capability check to my private files navigation link 2011-03-31 14:54:36 +01:00
Ankit Agarwal f9112bda35 MDL-26931 Order blog entries by the creation date 2011-03-31 11:56:53 +02:00
Tim Hunt ba63612bfa MDL-27035 table_sql forgets to set countparams. 2011-03-30 20:26:34 +01:00
Petr Skoda 408612d111 updating digits to match the .2 release 2011-03-30 18:01:09 +02:00
Petr Skoda 60e837038a weekly release 2011-03-30 14:29:56 +02:00
Petr Skoda 4cb05cea9d Merge branch 'MDL-26964-moodle_url-anchor_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-03-29 10:00:04 +02:00
Adam Olley 0960f2f417 MDL-27009: Fix role group by statement for statistics 2011-03-29 11:46:17 +10:30
Eloy Lafuente (stronk7) 09c1e72a56 Merge branch 'MDL-26744-metasyncstring_20_STABLE' of git://github.com/wildgirl/moodle into MOODLE_20_STABLE 2011-03-28 23:56:08 +02:00
Eloy Lafuente (stronk7) d2455301b7 Merge branch 'w13_MDL-22733_20_youtubeiframe' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 23:53:40 +02:00
Eloy Lafuente (stronk7) 1be2b904ab Merge branch 'w13_MDL-26909_20_mediatests' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 23:30:35 +02:00
Eloy Lafuente (stronk7) 337817e669 Merge branch 'w13_MDL-26987_20_sclean' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 21:59:21 +02:00
Eloy Lafuente (stronk7) b17a3a5591 Merge branch 'w13_MDL-26913_20_sitecreated' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 20:10:57 +02:00
Eloy Lafuente (stronk7) c44c552efa Merge branch 'w13_MDL-26951_20_archetypes' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 19:40:35 +02:00
Eloy Lafuente (stronk7) faa297ce6f Merge branch 'w13_MDL-26991_20_legacy' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 19:26:28 +02:00
Eloy Lafuente (stronk7) b6225c0f2f Merge branch 'w13_MDL-26966_20_urlparsing' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 19:07:00 +02:00
Eloy Lafuente (stronk7) 50496af78b Merge branch 'w13_MDL-26985_20_branching' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 18:41:22 +02:00
Tim Hunt 8fc52ccf46 MDL-26425 tablelib ability for table_sql to add a class to the row based on the data. 2011-03-28 17:12:26 +02:00
Tim Hunt 9f9324f408 MDL-26425 tablelib better validation of the sort code, also some cleanup.
You may think that the extra validation is unnecessary, since the sort fields are already validated when the URL parameters are parsed, however that overlooks an important point. There may be other options that affect which columns are in the SQL, for example the quiz show individual question grades setting. These other options can cause a column that was in the table, and being sorted on, to disappear. Therefore, it is necessary to re-validate the sort columns when they are used, to make sure they are still present, otherwise you can get ORDER BY sql that refers to non-existant columns, which then causes DB errors.
2011-03-28 17:10:53 +02:00
Helen Foster d4dc367a5b MDL-26744 enrol meta lang string improvement thanks to Ray Lawrence 2011-03-28 17:07:55 +02:00
Eloy Lafuente (stronk7) 3ede344b5c Merge branch 'w13_MDL-26990_20_missingrebuild' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 16:35:18 +02:00
Petr Skoda 5c686792c6 Merge branch 'MDL-26335' of github.com:mouneyrac/moodle into MOODLE_20_STABLE 2011-03-28 15:13:47 +02:00
David Mudrak 91a4b3bd3e MDL-26804 core_string_manager::get_list_of_translations() can use a cache again
This patch reimplements the internal cache that was used to store the
list of available translations in Moodle 1.x. By default, the method
get_list_of_translations() still uses the file
moodledata/cache/languages to store the list of available translations.
The location of that file can be redefined in config.php. The internal
format of the cache file is JSON now (used to be a plain text list).

The patch also fixes a usage of the global $CFG in translation_exists()
methods where the internal property should be used instead.
2011-03-28 14:49:17 +02:00
Dongsheng Cai 1a6a1487f4 MOD-WIKI MDL-26213
1. Rewrite the image urls in diff.php and viewdiff.php
2. Fxied image urls in search.php
3. Add modcontext variable to avoid using duplicated
get_context_instance calls
2011-03-28 11:50:37 +02:00
Jenny Gray a5286ae4cc MDL-26932 full url path for toggle completion form POST 2011-03-28 11:04:39 +02:00
Dan Marsden 5b97bff526 Plagiarism MDL-26939 - missing return 2011-03-28 10:53:13 +02:00
Dongsheng Cai 1c4873ba1b MDL-26916, MDL-26917
1. Fix filepicker paging issue MDL-26916
2. Highlight view as icon button by default MDL-26917
2011-03-28 16:13:27 +08:00
Dan Marsden 9a8f8cea49 Forum Overview MDL-26957 add classes to allow better control by theme 2011-03-28 16:11:30 +08:00
stabijoh c37f03543b Revised fix for MDL-26906, magazine and formal white secure browser quiz window 2011-03-28 16:04:21 +08:00
Andrew Davis (andyjdavis) cd4ca97611 message MDL-26077 fixed up a problem with html tags being stripped out 2011-03-28 16:00:36 +08:00
Myles Carrick 77bfc4ce0f MDL-26798 encode file path in dropbox repository plugin, credits to Myles Carrick 2011-03-28 15:57:38 +08:00
Sam Hemelryk 13c53a4a2e Merge branch 'w13_MDL-26992_20_uploadtemplates' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 14:33:27 +08:00
Sam Hemelryk d3796a2c61 Merge branch 'w13_MDL-26989_20_enrolroles' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-03-28 14:17:08 +08:00
Petr Skoda 43070e6193 MDL-26992 fix broken upload users templates 2011-03-27 23:48:41 +02:00
Nikhil Gupta d099348e32 MDL-26989 fix incorrect disabling of assignable roles 2011-03-27 20:34:15 +02:00
Petr Skoda c4dd3bb86f MDL-26913 set timecreated in fortpage of a newly installed site 2011-03-27 18:22:11 +02:00
Petr Skoda ce8b66c67f MDL-26881 work around the block context setting problems 2011-03-27 16:39:27 +02:00
Petr Skoda d38f419d5c MDL-26987 fix invalid DML syntax in spam cleaner tool 2011-03-27 16:14:22 +02:00
Petr Skoda c102060deb MDL-26951 fix removing of archetype from role 2011-03-27 16:04:33 +02:00
Petr Skoda 0ae36f6638 MDL-26966 improve self URL validation 2011-03-27 12:29:36 +02:00
Petr Skoda 3c3d544700 MDL-26909 fix outdated mediaplugin filter unittests 2011-03-26 23:54:45 +01:00
Petr Skoda c4b491a417 MDL-22733 enable youtube iframe embedding 2011-03-26 23:38:40 +01:00
Petr Skoda 112d3b4962 MDL-26990 fix undefined rebuild_course_cache() regression 2011-03-26 22:49:04 +01:00
Petr Skoda 7bb8ae5911 MDL-26985 new Moodle 2.1 requirements
For now only extra PHP 5.3.2 requirement compared to 2.0.
2011-03-26 22:03:00 +01:00
David Mudrak dbe6d9f821 MDL-26964 URL anchor support for single_button and single_select
If the single_button or single_select use HTTP method 'get' then the
eventual anchor part of the URL is used.
2011-03-24 22:15:47 +01:00
David Mudrak 4927443761 MDL-26964 URL returned by moodle_url::out_omit_querystring() may contain the anchor part 2011-03-24 22:15:47 +01:00
Jerome Mouneyrac ac3e0b3c8c MDL-26335 fix capability name typo in the description of the web service function moodle_user_get_users_by_id 2011-03-23 11:35:46 +08:00
1120 changed files with 23338 additions and 10617 deletions
+57 -4
View File
@@ -12,6 +12,8 @@
$hide = optional_param('hide', 0, PARAM_INT);
$show = optional_param('show', 0, PARAM_INT);
$delete = optional_param('delete', 0, PARAM_INT);
$unprotect = optional_param('unprotect', 0, PARAM_INT);
$protect = optional_param('protect', 0, PARAM_INT);
/// Print headings
@@ -24,6 +26,9 @@
$strcourses = get_string('blockinstances', 'admin');
$strname = get_string('name');
$strshowblockcourse = get_string('showblockcourse');
$strprotecthdr = get_string('blockprotect', 'admin'). $OUTPUT->help_icon('blockprotect','admin');
$strprotect = get_string('blockprotect', 'admin');
$strunprotect = get_string('blockunprotect', 'admin');
/// If data submitted, then process and store.
@@ -43,6 +48,36 @@
admin_get_root(true, false); // settings not required - only pages
}
if (!isset($CFG->undeletableblocktypes) || (!is_array($CFG->undeletableblocktypes) && !is_string($CFG->undeletableblocktypes))) {
$undeletableblocktypes = array('navigation', 'settings');
} else if (is_string($CFG->undeletableblocktypes)) {
$undeletableblocktypes = explode(',', $CFG->undeletableblocktypes);
} else {
$undeletableblocktypes = $CFG->undeletableblocktypes;
}
if (!empty($protect) && confirm_sesskey()) {
if (!$block = $DB->get_record('block', array('id'=>$protect))) {
print_error('blockdoesnotexist', 'error');
}
if (!in_array($block->name, $undeletableblocktypes)) {
$undeletableblocktypes[] = $block->name;
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
}
admin_get_root(true, false); // settings not required - only pages
}
if (!empty($unprotect) && confirm_sesskey()) {
if (!$block = $DB->get_record('block', array('id'=>$unprotect))) {
print_error('blockdoesnotexist', 'error');
}
if (in_array($block->name, $undeletableblocktypes)) {
$undeletableblocktypes = array_diff($undeletableblocktypes, array($block->name));
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
}
admin_get_root(true, false); // settings not required - only pages
}
if (!empty($delete) && confirm_sesskey()) {
echo $OUTPUT->header();
echo $OUTPUT->heading($strmanageblocks);
@@ -114,11 +149,12 @@
$table = new flexible_table('admin-blocks-compatible');
$table->define_columns(array('name', 'instances', 'version', 'hideshow', 'delete', 'settings'));
$table->define_headers(array($strname, $strcourses, $strversion, $strhide.'/'.$strshow, $strdelete, $strsettings));
$table->define_columns(array('name', 'instances', 'version', 'hideshow', 'undeletable', 'delete', 'settings'));
$table->define_headers(array($strname, $strcourses, $strversion, $strhide.'/'.$strshow, $strprotecthdr, $strdelete, $strsettings));
$table->define_baseurl($CFG->wwwroot.'/'.$CFG->admin.'/blocks.php');
$table->set_attribute('class', 'compatibleblockstable blockstable generaltable');
$table->setup();
$tablerows = array();
foreach ($blocks as $blockid=>$block) {
$blockname = $block->name;
@@ -191,15 +227,32 @@
$version = "$block->version ($plugin->version)";
}
if (!$blockobject) {
// ignore
$undeletable = '';
} else if (in_array($blockname, $undeletableblocktypes)) {
$undeletable = '<a href="blocks.php?unprotect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strunprotect.'">'.
'<img src="'.$OUTPUT->pix_url('t/unlock') . '" class="icon" alt="'.$strunprotect.'" /></a>';
} else {
$undeletable = '<a href="blocks.php?protect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strprotect.'">'.
'<img src="'.$OUTPUT->pix_url('t/unlock_gray') . '" class="icon" alt="'.$strprotect.'" /></a>';
}
$table->add_data(array(
$row = array(
'<span'.$class.'>'.$strblockname.'</span>',
$blocklist,
'<span'.$class.'>'.$version.'</span>',
$visible,
$undeletable,
$delete,
$settings
));
);
$tablerows[] = array(strip_tags($strblockname), $row); // first element will be used for sorting
}
textlib_get_instance()->asort($tablerows);
foreach ($tablerows as $row) {
$table->add_data($row[1]);
}
$table->print_html();
+1 -1
View File
@@ -265,7 +265,7 @@ if ($interactive) {
$chmod = octdec(clean_param($options['chmod'], PARAM_INT));
if ($interactive) {
cli_separator();
cli_heading('Data directories permission'); // todo localize
cli_heading(get_string('datarootpermission', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', decoct($chmod));
$error = '';
do {
+4
View File
@@ -46,6 +46,8 @@ Options:
--adminuser=USERNAME Username for the moodle admin account. Default is admin.
--adminpass=PASSWORD Password for the moodle admin account.
--agree-license Indicates agreement with software license.
--fullname Name of the site
--shortname Name of the site
-h, --help Print out this help
Example:
@@ -93,6 +95,8 @@ list($options, $unrecognized) = cli_get_params(
'lang' => 'en',
'adminuser' => 'admin',
'adminpass' => '',
'fullname' => '',
'shortname' => '',
'agree-license' => false,
'help' => false
),
+1 -1
View File
@@ -94,7 +94,7 @@ $oldversion = "$CFG->release ($CFG->version)";
$newversion = "$release ($version)";
// test environment first
if (!check_moodle_environment($version, $environment_results, false, ENV_SELECT_RELEASE)) {
if (!check_moodle_environment(normalize_version($release), $environment_results, false, ENV_SELECT_RELEASE)) {
$errors = environment_get_errors($environment_results);
cli_heading(get_string('environment', 'admin'));
foreach ($errors as $error) {
+6
View File
@@ -36,6 +36,12 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
if (defined('STDIN')) {
fwrite(STDERR, "ERROR: This script no longer supports CLI, please use admin/cli/cron.php instead\n");
exit(1);
}
// This is a fake CLI script, it is a really ugly hack which emulates
// CLI via web interface, please do not use this hack elsewhere
define('CLI_SCRIPT', true);
+228
View File
@@ -328,4 +328,232 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="2.1" requires="1.9">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.0.25">
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
</VENDOR>
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="odbc_mssql" version="9.0" />
<VENDOR name="mssql_n" version="9.0" />
<VENDOR name="oracle" version="10.2" />
<VENDOR name="sqlite" version="2.0" />
</DATABASE>
<PHP version="5.3.2" level="required">
</PHP>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_CHECK 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_CHECK message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="optional">
<FEEDBACK>
<ON_CHECK message="opensslrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="optional">
<FEEDBACK>
<ON_CHECK message="gdrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_CHECK message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_CHECK 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_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="40M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="safe_mode" value="0" level="optional">
<FEEDBACK>
<ON_CHECK message="settingsafemode" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
<MOODLE version="2.2" requires="1.9">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.0.25">
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
</VENDOR>
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="odbc_mssql" version="9.0" />
<VENDOR name="mssql_n" version="9.0" />
<VENDOR name="oracle" version="10.2" />
<VENDOR name="sqlite" version="2.0" />
</DATABASE>
<PHP version="5.3.2" level="required">
</PHP>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_CHECK 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_CHECK message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="optional">
<FEEDBACK>
<ON_CHECK message="opensslrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="optional">
<FEEDBACK>
<ON_CHECK message="gdrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_CHECK message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_CHECK 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_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="40M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="safe_mode" value="0" level="optional">
<FEEDBACK>
<ON_CHECK message="settingsafemode" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+2 -2
View File
@@ -387,10 +387,10 @@ class generator {
.$this->get('number_of_modules')." modules in each section, for each course...");
list($modules_list_sql, $modules_params) =
$DB->get_in_or_equal($this->get('modules_list'), SQL_PARAMS_NAMED, 'param0000', true);
$DB->get_in_or_equal($this->get('modules_list'), SQL_PARAMS_NAMED, 'mod', true);
list($modules_ignored_sql, $ignore_params) =
$DB->get_in_or_equal($this->modules_to_ignore, SQL_PARAMS_NAMED, 'param2000', false);
$DB->get_in_or_equal($this->modules_to_ignore, SQL_PARAMS_NAMED, 'ignore', false);
$wheresql = "name $modules_list_sql AND name $modules_ignored_sql";
$modules = $DB->get_records_select('modules', $wheresql, array_merge($modules_params, $ignore_params));
+7 -7
View File
@@ -123,7 +123,7 @@ if (!core_tables_exist()) {
echo $OUTPUT->box($copyrightnotice, 'copyrightnotice');
echo '<br />';
$continue = new single_button(new moodle_url('/admin/index.php', array('lang'=>$CFG->lang, 'agreelicense'=>1)), get_string('continue'), 'get');
echo $OUTPUT->confirm(get_string('doyouagree'), $continue, "http://docs.moodle.org/en/License");
echo $OUTPUT->confirm(get_string('doyouagree'), $continue, "http://docs.moodle.org/dev/License");
echo $OUTPUT->footer();
die;
}
@@ -147,12 +147,12 @@ if (!core_tables_exist()) {
}
}
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes');
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/dev/Releases');
$releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack
echo $OUTPUT->box($releasenoteslink, 'generalbox releasenoteslink');
require_once($CFG->libdir.'/environmentlib.php');
if (!check_moodle_environment($release, $environment_results, true, ENV_SELECT_RELEASE)) {
if (!check_moodle_environment(normalize_version($release), $environment_results, true, ENV_SELECT_RELEASE)) {
print_upgrade_reload("index.php?agreelicense=1&amp;lang=$CFG->lang");
} else {
echo $OUTPUT->notification(get_string('environmentok', 'admin'), 'notifysuccess');
@@ -229,7 +229,7 @@ if ($version > $CFG->version) { // upgrade
$PAGE->set_cacheable(false);
echo $OUTPUT->header();
echo $OUTPUT->heading("Moodle $release");
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes');
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/dev/Releases');
$releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack
echo $OUTPUT->box($releasenoteslink);
@@ -440,10 +440,10 @@ if (!empty($CFG->maintenance_enabled)) {
//////////////////////////////////////////////////////////////////////////////////////////////////
//// IT IS ILLEGAL AND A VIOLATION OF THE GPL TO HIDE, REMOVE OR MODIFY THIS COPYRIGHT NOTICE ///
$copyrighttext = '<a href="http://moodle.org/">Moodle</a> '.
'<a href="http://docs.moodle.org/en/Release" title="'.$CFG->version.'">'.$CFG->release.'</a><br />'.
'<a href="http://docs.moodle.org/dev/Releases" title="'.$CFG->version.'">'.$CFG->release.'</a><br />'.
'Copyright &copy; 1999 onwards, Martin Dougiamas<br />'.
'and <a href="http://docs.moodle.org/en/Credits">many other contributors</a>.<br />'.
'<a href="http://docs.moodle.org/en/License">GNU Public License</a>';
'and <a href="http://docs.moodle.org/dev/Credits">many other contributors</a>.<br />'.
'<a href="http://docs.moodle.org/dev/License">GNU Public License</a>';
echo $OUTPUT->box($copyrighttext, 'copyright');
//////////////////////////////////////////////////////////////////////////////////////////////////
-5
View File
@@ -53,11 +53,6 @@ define('INSTALLATION_OF_SELECTED_LANG', 2);
define('DELETION_OF_SELECTED_LANG', 4);
define('UPDATE_ALL_LANG', 5);
//reset and diagnose lang cache permissions
remove_dir($CFG->dataroot.'/cache/languages');
if (file_exists($CFG->dataroot.'/cache/languages')) {
print_error('cannotdeletelangcache', 'error');
}
get_string_manager()->reset_caches();
$notice_ok = array();
+1 -1
View File
@@ -21,7 +21,7 @@
* Displays the list of found local plugins, their version (if found) and
* a link to delete the local plugin.
*
* @see http://docs.moodle.org/en/Development:Local_customisation
* @see http://docs.moodle.org/dev/Local_customisation
* @package admin
* @copyright 2010 David Mudrak <david.mudrak@gmail.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+266 -251
View File
@@ -1,293 +1,308 @@
<?php
// Allows the admin to manage question types.
// 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/>.
require_once(dirname(__FILE__) . '/../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->libdir . '/tablelib.php');
/**
* Allows the admin to manage question types.
*
* @package moodlecore
* @subpackage questionbank
* @copyright 2008 Tim Hunt
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/// Check permissions.
require_login();
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
require_capability('moodle/question:config', $systemcontext);
$canviewreports = has_capability('report/questioninstances:view', $systemcontext);
admin_externalpage_setup('manageqtypes');
require_once(dirname(__FILE__) . '/../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->libdir . '/tablelib.php');
/// Get some data we will need - question counts and which types are needed.
$counts = $DB->get_records_sql("
SELECT qtype, COUNT(1) as numquestions, SUM(hidden) as numhidden
FROM {question} GROUP BY qtype", array());
$needed = array();
foreach ($QTYPES as $qtypename => $qtype) {
if (!isset($counts[$qtypename])) {
$counts[$qtypename] = new stdClass;
$counts[$qtypename]->numquestions = 0;
$counts[$qtypename]->numhidden = 0;
}
$needed[$qtypename] = $counts[$qtypename]->numquestions > 0;
$counts[$qtypename]->numquestions -= $counts[$qtypename]->numhidden;
// Check permissions.
require_login();
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
require_capability('moodle/question:config', $systemcontext);
$canviewreports = has_capability('report/questioninstances:view', $systemcontext);
admin_externalpage_setup('manageqtypes');
$thispageurl = new moodle_url('/admin/qtypes.php');
// Get some data we will need - question counts and which types are needed.
$counts = $DB->get_records_sql("
SELECT qtype, COUNT(1) as numquestions, SUM(hidden) as numhidden
FROM {question} GROUP BY qtype", array());
$needed = array();
foreach ($QTYPES as $qtypename => $qtype) {
if (!isset($counts[$qtypename])) {
$counts[$qtypename] = new stdClass;
$counts[$qtypename]->numquestions = 0;
$counts[$qtypename]->numhidden = 0;
}
$needed['missingtype'] = true; // The system needs the missing question type.
foreach ($QTYPES as $qtypename => $qtype) {
foreach ($qtype->requires_qtypes() as $reqtype) {
$needed[$reqtype] = true;
}
$needed[$qtypename] = $counts[$qtypename]->numquestions > 0;
$counts[$qtypename]->numquestions -= $counts[$qtypename]->numhidden;
}
$needed['missingtype'] = true; // The system needs the missing question type.
foreach ($QTYPES as $qtypename => $qtype) {
foreach ($qtype->requires_qtypes() as $reqtype) {
$needed[$reqtype] = true;
}
foreach ($counts as $qtypename => $count) {
if (!isset($QTYPES[$qtypename])) {
$counts['missingtype']->numquestions += $count->numquestions - $count->numhidden;
$counts['missingtype']->numhidden += $count->numhidden;
}
}
foreach ($counts as $qtypename => $count) {
if (!isset($QTYPES[$qtypename])) {
$counts['missingtype']->numquestions += $count->numquestions - $count->numhidden;
$counts['missingtype']->numhidden += $count->numhidden;
}
}
// Work of the correct sort order.
$config = get_config('question');
$sortedqtypes = array();
foreach ($QTYPES as $qtypename => $qtype) {
$sortedqtypes[$qtypename] = $qtype->local_name();
}
$sortedqtypes = question_sort_qtype_array($sortedqtypes, $config);
// Process actions ============================================================
// Disable.
if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$disable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $disable);
}
/// Work of the correct sort order.
$config = get_config('question');
$sortedqtypes = array();
foreach ($QTYPES as $qtypename => $qtype) {
$sortedqtypes[$qtypename] = $qtype->local_name();
}
$sortedqtypes = question_sort_qtype_array($sortedqtypes, $config);
set_config($disable . '_disabled', 1, 'question');
redirect($thispageurl);
}
/// Process actions ============================================================
// Disable.
if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$disable])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $disable);
}
set_config($disable . '_disabled', 1, 'question');
redirect(admin_url('qtypes.php'));
// Enable.
if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$enable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $enable);
}
// Enable.
if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$enable])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $enable);
}
if (!$QTYPES[$enable]->menu_name()) {
print_error('cannotenable', 'question', admin_url('qtypes.php'), $enable);
}
unset_config($enable . '_disabled', 'question');
redirect(admin_url('qtypes.php'));
if (!$QTYPES[$enable]->menu_name()) {
print_error('cannotenable', 'question', $thispageurl, $enable);
}
// Move up in order.
if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$up])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $up);
}
unset_config($enable . '_disabled', 'question');
redirect($thispageurl);
}
$neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
question_save_qtype_order($neworder, $config);
redirect(admin_url('qtypes.php'));
// Move up in order.
if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$up])) {
print_error('unknownquestiontype', 'question', $thispageurl, $up);
}
// Move down in order.
if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$down])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $down);
}
$neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
question_save_qtype_order($neworder, $config);
redirect($thispageurl);
}
$neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
question_save_qtype_order($neworder, $config);
redirect(admin_url('qtypes.php'));
// Move down in order.
if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$down])) {
print_error('unknownquestiontype', 'question', $thispageurl, $down);
}
// Delete.
if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
// Check it is OK to delete this question type.
if ($delete == 'missingtype') {
print_error('cannotdeletemissingqtype', 'admin', admin_url('qtypes.php'));
}
$neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
question_save_qtype_order($neworder, $config);
redirect($thispageurl);
}
if (!isset($QTYPES[$delete])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $delete);
}
// Delete.
if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
// Check it is OK to delete this question type.
if ($delete == 'missingtype') {
print_error('cannotdeletemissingqtype', 'admin', $thispageurl);
}
if (!isset($QTYPES[$delete])) {
print_error('unknownquestiontype', 'question', $thispageurl, $delete);
}
$qtypename = $QTYPES[$delete]->local_name();
if ($counts[$delete]->numquestions + $counts[$delete]->numhidden > 0) {
print_error('cannotdeleteqtypeinuse', 'admin', $thispageurl, $qtypename);
}
if ($needed[$delete] > 0) {
print_error('cannotdeleteqtypeneeded', 'admin', $thispageurl, $qtypename);
}
// If not yet confirmed, display a confirmation message.
if (!optional_param('confirm', '', PARAM_BOOL)) {
$qtypename = $QTYPES[$delete]->local_name();
if ($counts[$delete]->numquestions + $counts[$delete]->numhidden > 0) {
print_error('cannotdeleteqtypeinuse', 'admin', admin_url('qtypes.php'), $qtypename);
}
if ($needed[$delete] > 0) {
print_error('cannotdeleteqtypeneeded', 'admin', admin_url('qtypes.php'), $qtypename);
}
// If not yet confirmed, display a confirmation message.
if (!optional_param('confirm', '', PARAM_BOOL)) {
$qtypename = $QTYPES[$delete]->local_name();
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'admin', $qtypename));
echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'admin', $qtypename),
admin_url('qtypes.php?delete=' . $delete . '&confirm=1'),
admin_url('qtypes.php'));
echo $OUTPUT->footer();
exit;
}
// Do the deletion.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('deletingqtype', 'admin', $qtypename));
// Delete any configuration records.
if (!unset_all_config_for_plugin('qtype_' . $delete)) {
echo $OUTPUT->notification(get_string('errordeletingconfig', 'admin', 'qtype_' . $delete));
}
unset_config($delete . '_disabled', 'question');
unset_config($delete . '_sortorder', 'question');
// Then the tables themselves
drop_plugin_tables($delete, $QTYPES[$delete]->plugin_dir() . '/db/install.xml', false);
// Remove event handlers and dequeue pending events
events_uninstall('qtype/' . $delete);
$a->qtype = $qtypename;
$a->directory = $QTYPES[$delete]->plugin_dir();
echo $OUTPUT->box(get_string('qtypedeletefiles', 'admin', $a), 'generalbox', 'notice');
echo $OUTPUT->continue_button(admin_url('qtypes.php'));
echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'admin', $qtypename));
echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'admin', $qtypename),
new moodle_url($thispageurl, array('delete' => $delete, 'confirm' => 1)),
$thispageurl);
echo $OUTPUT->footer();
exit;
}
// End of process actions ==================================================
/// Print the page heading.
// Do the deletion.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('manageqtypes', 'admin'));
echo $OUTPUT->heading(get_string('deletingqtype', 'admin', $qtypename));
/// Set up the table.
$table = new flexible_table('qtypeadmintable');
$table->define_columns(array('questiontype', 'numquestions', 'version', 'requires',
'availableto', 'delete', 'settings'));
$table->define_headers(array(get_string('questiontype', 'admin'), get_string('numquestions', 'admin'),
get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
get_string('delete'), get_string('settings')));
$table->set_attribute('id', 'qtypes');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->setup();
/// Add a row for each question type.
$createabletypes = question_type_menu();
foreach ($sortedqtypes as $qtypename => $localname) {
$qtype = $QTYPES[$qtypename];
$row = array();
// Question icon and name.
$fakequestion = new stdClass;
$fakequestion->qtype = $qtypename;
$icon = print_question_icon($fakequestion, true);
$row[] = $icon . ' ' . $localname;
// Number of questions of this type.
if ($counts[$qtypename]->numquestions + $counts[$qtypename]->numhidden > 0) {
if ($counts[$qtypename]->numhidden > 0) {
$strcount = get_string('numquestionsandhidden', 'admin', $counts[$qtypename]);
} else {
$strcount = $counts[$qtypename]->numquestions;
}
if ($canviewreports) {
$row[] = '<a href="' . admin_url('/report/questioninstances/index.php?qtype=' . $qtypename) .
'" title="' . get_string('showdetails', 'admin') . '">' . $strcount . '</a>';
} else {
$strcount;
}
} else {
$row[] = 0;
}
// Question version number.
$version = get_config('qtype_' . $qtypename, 'version');
if ($version) {
$row[] = $version;
} else {
$row[] = '<span class="disabled">' . get_string('nodatabase', 'admin') . '</span>';
}
// Other question types required by this one.
$requiredtypes = $qtype->requires_qtypes();
$strtypes = array();
if (!empty($requiredtypes)) {
foreach ($requiredtypes as $required) {
$strtypes[] = $QTYPES[$required]->local_name();
}
$row[] = implode(', ', $strtypes);
} else {
$row[] = '';
}
// Are people allowed to create new questions of this type?
$rowclass = '';
if ($qtype->menu_name()) {
$createable = isset($createabletypes[$qtypename]);
$icons = enable_disable_button($qtypename, $createable);
if (!$createable) {
$rowclass = 'dimmed_text';
}
} else {
$icons = '<img src="' . $OUTPUT->pix_url('spacer') . '" alt="" class="spacer" />';
}
// Move icons.
$icons .= icon_html('up', $qtypename, 't/up', get_string('up'), '');
$icons .= icon_html('down', $qtypename, 't/down', get_string('down'), '');
$row[] = $icons;
// Delete link, if available.
if ($needed[$qtypename]) {
$row[] = '';
} else {
$row[] = '<a href="' . admin_url('qtypes.php?delete=' . $qtypename .
'&amp;sesskey=' . sesskey()) . '" title="' .
get_string('uninstallqtype', 'admin') . '">' . get_string('delete') . '</a>';
}
// Settings link, if available.
$settings = admin_get_root()->locate('qtypesetting' . $qtypename);
if ($settings instanceof admin_externalpage) {
$row[] = '<a href="' . $settings->url .
'">' . get_string('settings') . '</a>';
} else if ($settings instanceof admin_settingpage) {
$row[] = '<a href="' . admin_url('settings.php?section=qtypesetting' . $qtypename) .
'">' . get_string('settings') . '</a>';
} else {
$row[] = '';
}
$table->add_data($row, $rowclass);
// Delete any configuration records.
if (!unset_all_config_for_plugin('qtype_' . $delete)) {
echo $OUTPUT->notification(get_string('errordeletingconfig', 'admin', 'qtype_' . $delete));
}
unset_config($delete . '_disabled', 'question');
unset_config($delete . '_sortorder', 'question');
$table->finish_output();
// Then the tables themselves
drop_plugin_tables($delete, $QTYPES[$delete]->plugin_dir() . '/db/install.xml', false);
// Remove event handlers and dequeue pending events
events_uninstall('qtype/' . $delete);
$a->qtype = $qtypename;
$a->directory = $QTYPES[$delete]->plugin_dir();
echo $OUTPUT->box(get_string('qtypedeletefiles', 'admin', $a), 'generalbox', 'notice');
echo $OUTPUT->continue_button($thispageurl);
echo $OUTPUT->footer();
function admin_url($endbit) {
global $CFG;
return $CFG->wwwroot . '/' . $CFG->admin . '/' . $endbit;
exit;
}
function enable_disable_button($qtypename, $createable) {
if ($createable) {
return icon_html('disable', $qtypename, 'i/hide', get_string('enabled', 'question'), get_string('disable'));
// End of process actions ==================================================
// Print the page heading.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('manageqtypes', 'admin'));
// Set up the table.
$table = new flexible_table('qtypeadmintable');
$table->define_baseurl($thispageurl);
$table->define_columns(array('questiontype', 'numquestions', 'version', 'requires',
'availableto', 'delete', 'settings'));
$table->define_headers(array(get_string('questiontype', 'admin'), get_string('numquestions', 'admin'),
get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
get_string('delete'), get_string('settings')));
$table->set_attribute('id', 'qtypes');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->setup();
// Add a row for each question type.
$createabletypes = question_type_menu();
foreach ($sortedqtypes as $qtypename => $localname) {
$qtype = $QTYPES[$qtypename];
$row = array();
// Question icon and name.
$fakequestion = new stdClass;
$fakequestion->qtype = $qtypename;
$icon = print_question_icon($fakequestion, true);
$row[] = $icon . ' ' . $localname;
// Number of questions of this type.
if ($counts[$qtypename]->numquestions + $counts[$qtypename]->numhidden > 0) {
if ($counts[$qtypename]->numhidden > 0) {
$strcount = get_string('numquestionsandhidden', 'admin', $counts[$qtypename]);
} else {
$strcount = $counts[$qtypename]->numquestions;
}
if ($canviewreports) {
$row[] = html_writer::link(new moodle_url('/admin/report/questioninstances/index.php',
array('qtype' => $qtypename)), $strcount, array('title' => get_string('showdetails', 'admin')));
} else {
$strcount;
}
} else {
return icon_html('enable', $qtypename, 'i/show', get_string('disabled', 'question'), get_string('enable'));
$row[] = 0;
}
// Question version number.
$version = get_config('qtype_' . $qtypename, 'version');
if ($version) {
$row[] = $version;
} else {
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
}
// Other question types required by this one.
$requiredtypes = $qtype->requires_qtypes();
$strtypes = array();
if (!empty($requiredtypes)) {
foreach ($requiredtypes as $required) {
$strtypes[] = $QTYPES[$required]->local_name();
}
$row[] = implode(', ', $strtypes);
} else {
$row[] = '';
}
// Are people allowed to create new questions of this type?
$rowclass = '';
if ($qtype->menu_name()) {
$createable = isset($createabletypes[$qtypename]);
$icons = question_types_enable_disable_icons($qtypename, $createable);
if (!$createable) {
$rowclass = 'dimmed_text';
}
} else {
$icons = $OUTPUT->spacer() . ' ';
}
// Move icons.
$icons .= question_type_icon_html('up', $qtypename, 't/up', get_string('up'), '');
$icons .= question_type_icon_html('down', $qtypename, 't/down', get_string('down'), '');
$row[] = $icons;
// Delete link, if available.
if ($needed[$qtypename]) {
$row[] = '';
} else {
$row[] = html_writer::link(new moodle_url($thispageurl,
array('delete' => $qtypename, 'sesskey' => sesskey())), get_string('delete'),
array('title' => get_string('uninstallqtype', 'admin')));
}
// Settings link, if available.
$settings = admin_get_root()->locate('qtypesetting' . $qtypename);
if ($settings instanceof admin_externalpage) {
$row[] = html_writer::link($settings->url, get_string('settings'));
} else if ($settings instanceof admin_settingpage) {
$row[] = html_writer::link(new moodle_url('/admin/settings.php',
array('section' => 'qtypesetting' . $qtypename)), get_string('settings'));
} else {
$row[] = '';
}
$table->add_data($row, $rowclass);
}
$table->finish_output();
echo $OUTPUT->footer();
function question_types_enable_disable_icons($qtypename, $createable) {
if ($createable) {
return question_type_icon_html('disable', $qtypename, 'i/hide',
get_string('enabled', 'question'), get_string('disable'));
} else {
return question_type_icon_html('enable', $qtypename, 'i/show',
get_string('disabled', 'question'), get_string('enable'));
}
}
function icon_html($action, $qtypename, $icon, $alt, $tip) {
function question_type_icon_html($action, $qtypename, $icon, $alt, $tip) {
global $OUTPUT;
if ($tip) {
$tip = 'title="' . $tip . '" ';
}
$html = ' <form action="' . admin_url('qtypes.php') . '" method="post"><div>';
$html .= '<input type="hidden" name="sesskey" value="' . sesskey() . '" />';
$html .= '<input type="image" name="' . $action . '" value="' . $qtypename .
'" src="' . $OUTPUT->pix_url($icon) . '" alt="' . $alt . '" ' . $tip . '/>';
$html .= '</div></form>';
return $html;
return $OUTPUT->action_icon(new moodle_url('/admin/qtypes.php',
array($action => $qtypename, 'sesskey' => sesskey())),
new pix_icon($icon, $alt, 'moodle', array('title' => '')),
null, array('title' => $tip)) . ' ';
}
+2 -2
View File
@@ -47,7 +47,7 @@ $error = optional_param('error', '', PARAM_ALPHANUM);
admin_externalpage_setup('registrationindex');
if (!empty($error) and $error == 'urlalreadyexist') {
throw new moodle_exception('urlalreadyregistered', 'hub',
throw new moodle_exception('urlalreadyregistered', 'hub',
$CFG->wwwroot . '/' . $CFG->admin . '/registration/index.php');
}
@@ -85,7 +85,7 @@ if (!empty($registeredhub) and $registeredhub->token == $token) {
echo $OUTPUT->footer();
} else {
throw new moodle_exception('wrongtoken', 'hub',
throw new moodle_exception('wrongtoken', 'hub',
$CFG->wwwroot . '/' . $CFG->admin . '/registration/index.php');
}
+2 -2
View File
@@ -148,12 +148,12 @@ if (empty($cancel) and $unregistration and !$confirm) {
$moodleorghub = $registrationmanager->get_registeredhub(HUB_MOODLEORGHUBURL);
if (!empty($moodleorghub)) {
$registeredonmoodleorg = true;
}
}
echo $OUTPUT->heading(get_string('registeron', 'hub'), 3, 'main');
echo $renderer->registrationselector($registeredonmoodleorg);
if (extension_loaded('xmlrpc')) {
if (extension_loaded('xmlrpc')) {
$hubs = $registrationmanager->get_registered_on_hubs();
if (!empty($hubs)) {
echo $OUTPUT->heading(get_string('registeredon', 'hub'), 3, 'main');
+1 -1
View File
@@ -7,7 +7,7 @@
$courseid = optional_param('courseid', 0, PARAM_INT);
admin_externalpage_setup('reportbackups');
admin_externalpage_setup('reportbackups', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
/// Automated backups aren't active by the site admin
+1 -1
View File
@@ -9,7 +9,7 @@ $perpage = optional_param('perpage', 30, PARAM_INT); // how many per page
$sort = optional_param('sort', 'timemodified', PARAM_ALPHA);
$dir = optional_param('dir', 'DESC', PARAM_ALPHA);
admin_externalpage_setup('reportconfiglog');
admin_externalpage_setup('reportconfiglog', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('configlog', 'report_configlog'));
+2 -3
View File
@@ -16,7 +16,7 @@
}
}
admin_externalpage_setup('reportcourseoverview');
admin_externalpage_setup('reportcourseoverview', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
$course = get_site();
@@ -79,13 +79,12 @@
$param->extras
ORDER BY $param->orderby";
}
//error_log($sql);
$courses = $DB->get_records_sql($sql, $param->params, 0, $numcourses);
if (empty($courses)) {
echo $OUTPUT->notification(get_string('statsnodata'));
echo '</td></tr></table>';echo '<p>after notify</p>';
echo '</td></tr></table>';
} else {
if (empty($CFG->gdversion)) {
+3 -3
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<XMLDB PATH="admin/report/customlang/db" VERSION="20101115" COMMENT="XMLDB file for Moodle admin/report/customlang"
<XMLDB PATH="admin/report/customlang/db" VERSION="20110419" COMMENT="XMLDB file for Moodle admin/report/customlang"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../lib/xmldb/xmldb.xsd"
>
@@ -30,11 +30,11 @@
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="name"/>
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The normalized name of the plugin" PREVIOUS="id" NEXT="version"/>
<FIELD NAME="version" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="The checked out version of the plugin, null of the version is unknown" PREVIOUS="name"/>
<FIELD NAME="version" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="The checked out version of the plugin, null if the version is unknown" PREVIOUS="name"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
</XMLDB>
+13
View File
@@ -57,5 +57,18 @@ function xmldb_report_customlang_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2010111500, 'report', 'customlang');
}
/**
* Change the version field from integer to varchar
*/
if ($oldversion < 2011041900) {
$table = new xmldb_table('report_customlang_components');
$field = new xmldb_field('version', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'name');
$dbman->change_field_type($table, $field);
upgrade_plugin_savepoint(true, 2011041900, 'report', 'customlang');
}
return $result;
}
+18 -2
View File
@@ -24,6 +24,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('NO_OUTPUT_BUFFERING', true); // progress bar is used here
require(dirname(dirname(dirname(dirname(__FILE__)))).'/config.php');
require_once($CFG->dirroot.'/'.$CFG->admin.'/report/customlang/locallib.php');
require_once($CFG->libdir.'/adminlib.php');
@@ -45,8 +47,22 @@ if ($action === 'checkout') {
if (empty($lng)) {
print_error('missingparameter');
}
report_customlang_utils::checkout($lng);
redirect(new moodle_url('/admin/report/customlang/edit.php', array('lng' => $lng)));
$PAGE->set_cacheable(false); // progress bar is used here
$output = $PAGE->get_renderer('report_customlang');
echo $output->header();
echo $output->heading(get_string('pluginname', 'report_customlang'));
$progressbar = new progress_bar();
$progressbar->create(); // prints the HTML code of the progress bar
// we may need a bit of extra execution time and memory here
@set_time_limit(HOURSECS);
raise_memory_limit(MEMORY_EXTRA);
report_customlang_utils::checkout($lng, $progressbar);
echo $output->continue_button(new moodle_url('/admin/report/customlang/edit.php', array('lng' => $lng)), 'get');
echo $output->footer();
exit;
}
if ($action === 'checkin') {
@@ -27,7 +27,9 @@
defined('MOODLE_INTERNAL') || die();
$string['checkin'] = 'Check in strings into disk';
$string['checkout'] = 'Check out strings into translator';
$string['checkout'] = 'Check out strings into the translator';
$string['checkoutdone'] = 'Strings checked out successfully into the translator';
$string['checkoutinprogress'] = 'Checking out strings into the translator';
$string['confirmcheckin'] = 'You are about to check in modified strings into your local language pack. This will export the customized strings from the translator into the data directory and Moodle will start using the modified strings. Press \'Continue\' button to proceed check in.';
$string['customlang:edit'] = 'Edit local translation';
$string['customlang:view'] = 'View local translation';
+23 -2
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Definition of classes used by Langugae customization admin report
* Definition of classes used by language customization admin report
*
* @package report
* @subpackage customlang
@@ -33,6 +33,12 @@ defined('MOODLE_INTERNAL') || die();
*/
class report_customlang_utils {
/**
* Rough number of strings that are being processed during a full checkout.
* This is used to estimate the progress of the checkout.
*/
const ROUGH_NUMBER_OF_STRINGS = 16500;
/** @var array cache of {@link self::list_components()} results */
protected static $components = null;
@@ -83,8 +89,9 @@ class report_customlang_utils {
* This should be executed each time before going to the translation page
*
* @param string $lang language code to checkout
* @param progress_bar $progressbar optionally, the given progress bar can be updated
*/
public static function checkout($lang) {
public static function checkout($lang, progress_bar $progressbar = null) {
global $DB;
// make sure that all components are registered
@@ -107,6 +114,10 @@ class report_customlang_utils {
}
unset($current);
// initialize the progress counter - stores the number of processed strings
$done = 0;
$strinprogress = get_string('checkoutinprogress', 'report_customlang');
// reload components and fetch their strings
$stringman = get_string_manager();
$components = $DB->get_records('report_customlang_components');
@@ -129,6 +140,12 @@ class report_customlang_utils {
$stringlocal = isset($local[$stringid]) ? $local[$stringid] : null;
$now = time();
if (!is_null($progressbar)) {
$done++;
$donepercent = floor(min($done, self::ROUGH_NUMBER_OF_STRINGS) / self::ROUGH_NUMBER_OF_STRINGS * 100);
$progressbar->update_full($donepercent, $strinprogress);
}
if (isset($current[$stringid])) {
$needsupdate = false;
$currentoriginal = $current[$stringid]->original;
@@ -175,6 +192,10 @@ class report_customlang_utils {
}
}
}
if (!is_null($progressbar)) {
$progressbar->update_full(100, get_string('checkoutdone', 'report_customlang'));
}
}
/**
+4
View File
@@ -63,3 +63,7 @@
background-color: #f6f6f6;
margin-top: 0.5em;
}
#page-admin-report-customlang-index .continuebutton {
margin-top: 1em;
}
+1 -1
View File
@@ -24,5 +24,5 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2010120900;
$plugin->version = 2011041900;
$plugin->requires = 2010120700;
+1 -1
View File
@@ -15,7 +15,7 @@ require_once($CFG->libdir.'/questionlib.php');
$requestedqtype = optional_param('qtype', '', PARAM_SAFEDIR);
// Print the header & check permissions.
admin_externalpage_setup('reportquestioninstances');
admin_externalpage_setup('reportquestioninstances', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
// Log.
+1 -1
View File
@@ -45,7 +45,7 @@ raise_memory_limit(MEMORY_EXTRA);
@set_time_limit(0);
// Print the header.
admin_externalpage_setup('reportsecurity');
admin_externalpage_setup('reportsecurity', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('pluginname', 'report_security'));
+9 -7
View File
@@ -40,7 +40,7 @@ $reset = optional_param('reset', '', PARAM_RAW);
$id = optional_param('id', '', PARAM_INT);
require_login();
admin_externalpage_setup('reportspamcleaner');
admin_externalpage_setup('reportspamcleaner', '', null, '', array('pagelayout'=>'report'));
// Delete one user
if (!empty($del) && confirm_sesskey() && ($id != $USER->id)) {
@@ -151,19 +151,21 @@ function search_spammers($keywords) {
$params = array('userid'=>$USER->id);
$keywordfull = array();
$i = 0;
foreach ($keywords as $keyword) {
$keywordfull[] = $DB->sql_like('description', ':descpat', false);
$params['descpat'] = "%$keyword%";
$keywordfull2[] = $DB->sql_like('p.summary', ':sumpat', false);
$params['sumpat'] = "%$keyword%";
$keywordfull[] = $DB->sql_like('description', ':descpat'.$i, false);
$params['descpat'.$i] = "%$keyword%";
$keywordfull2[] = $DB->sql_like('p.summary', ':sumpat'.$i, false);
$params['sumpat'.$i] = "%$keyword%";
$i++;
}
$conditions = '( '.implode(' OR ', $keywordfull).' )';
$conditions2 = '( '.implode(' OR ', $keywordfull2).' )';
$sql = "SELECT * FROM {user} WHERE deleted = 0 AND id <> :userid AND $conditions"; // Exclude oneself
$sql2 = "SELECT u.*, p.summary FROM {user} AS u, {post} AS p WHERE $conditions2 AND u.deleted = 0 AND u.id=p.userid AND u.id <> :userid";
$spamusers_desc = $DB->get_recordset_sql($sql);
$spamusers_blog = $DB->get_recordset_sql($sql2);
$spamusers_desc = $DB->get_recordset_sql($sql, $params);
$spamusers_blog = $DB->get_recordset_sql($sql2, $params);
$keywordlist = implode(', ', $keywords);
echo $OUTPUT->box(get_string('spamresult', 'report_spamcleaner').s($keywordlist)).' ...';
+1 -1
View File
@@ -108,7 +108,7 @@ M.report_spamcleaner = {
context.Y = Y;
context.me = me;
if (Y.one("#removeall_btn")) {
Y.on("click", context.del_all, "#removeall_btn");
Y.on("click", context.del_all, "#removeall_btn");
}
});
}
+5 -1
View File
@@ -68,7 +68,11 @@ if (!empty($edit) || !empty($new)) {
$settings['name'] = $fromform->name;
if (!$instance->readonly) {
foreach($configs as $config) {
$settings[$config] = $fromform->$config;
if (isset($fromform->$config)) {
$settings[$config] = $fromform->$config;
} else {
$settings[$config] = null;
}
}
}
$success = $instance->set_option($settings);
+3 -3
View File
@@ -628,7 +628,7 @@ class define_role_table_advanced extends capability_table_with_risks {
// Legacy type.
$archetype = optional_param('archetype', null, PARAM_RAW);
if ($archetype) {
if (isset($archetype)) {
$archetypes = get_role_archetypes();
if (isset($archetypes[$archetype])){
$this->role->archetype = $archetype;
@@ -716,7 +716,6 @@ class define_role_table_advanced extends capability_table_with_risks {
}
protected function get_archetype_field($id) {
global $OUTPUT;
$options = array();
$options[''] = get_string('none');
foreach(get_role_archetypes() as $type) {
@@ -1143,7 +1142,7 @@ class existing_role_holders extends role_assign_user_selector_base {
global $DB;
list($wherecondition, $params) = $this->search_sql($search, 'u');
list($ctxcondition, $ctxparams) = $DB->get_in_or_equal(get_parent_contexts($this->context, true), SQL_PARAMS_NAMED, 'ctx00');
list($ctxcondition, $ctxparams) = $DB->get_in_or_equal(get_parent_contexts($this->context, true), SQL_PARAMS_NAMED, 'ctx');
$params = array_merge($params, $ctxparams);
$params['roleid'] = $this->roleid;
@@ -1317,6 +1316,7 @@ abstract class role_allow_role_page {
foreach ($rs as $allow) {
$this->allowed[$allow->roleid][$allow->{$this->targetcolname}] = true;
}
$rs->close();
}
/**
+1 -1
View File
@@ -138,7 +138,7 @@ M.core_role.init_cap_table_filter = function(Y, tableid, contextid) {
lastheading = null;
this.setFilterCookieValue(filtertext);
this.button.set('disabled', (filtertext == ''));
this.table.all('tr').each(function(row){
+5 -5
View File
@@ -139,10 +139,10 @@ if ($hassiteconfig
400 => '400',
500 => '500');
$temp->add(new admin_setting_configselect('backup/backup_auto_keep', get_string('keep'), get_string('backupkeephelp'), 1, $keepoptoins));
$temp->add(new admin_setting_heading('automatedsettings', get_string('automatedsettings','backup'), ''));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', get_string('users'), get_string('backupusershelp'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_users', get_string('generalusers', 'backup'), get_string('configgeneralusers', 'backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_role_assignments', get_string('generalroleassignments','backup'), get_string('configgeneralroleassignments','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_user_files', get_string('generaluserfiles', 'backup'), get_string('configgeneraluserfiles','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_activities', get_string('generalactivities','backup'), get_string('configgeneralactivities','backup'), 1));
@@ -150,10 +150,10 @@ if ($hassiteconfig
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_filters', get_string('generalfilters','backup'), get_string('configgeneralfilters','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_comments', get_string('generalcomments','backup'), get_string('configgeneralcomments','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_userscompletion', get_string('generaluserscompletion','backup'), get_string('configgeneraluserscompletion','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_logs', get_string('logs'), get_string('backuplogshelp'), 0));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_logs', get_string('generallogs', 'backup'), get_string('configgenerallogs', 'backup'), 0));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_histories', get_string('generalhistories','backup'), get_string('configgeneralhistories','backup'), 0));
//$temp->add(new admin_setting_configcheckbox('backup/backup_auto_messages', get_string('messages', 'message'), get_string('backupmessageshelp','message'), 0));
//$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blogs', get_string('blogs', 'blog'), get_string('backupblogshelp','blog'), 0));
+14 -5
View File
@@ -52,13 +52,22 @@ if (!during_initial_install()) { //do not use during installation
$temp->add(new admin_setting_configtext('coursesperpage', get_string('coursesperpage', 'admin'), get_string('configcoursesperpage', 'admin'), 20, PARAM_INT));
// front page default role
$roleoptions = array(0=>get_string('none')); // roles to choose from
if ($roles = get_all_roles()) {
foreach ($roles as $role) {
$roleoptions[$role->id] = strip_tags(format_string($role->name, true));
$options = array(0=>get_string('none')); // roles to choose from
$defaultfrontpageroleid = 0;
foreach (get_all_roles() as $role) {
if (empty($role->archetype) or $role->archetype === 'guest' or $role->archetype === 'frontpage' or $role->archetype === 'student') {
$options[$role->id] = strip_tags(format_string($role->name)) . ' ('. $role->shortname . ')';
if ($role->archetype === 'frontpage') {
$defaultfrontpageroleid = $role->id;
}
}
}
$temp->add(new admin_setting_configselect('defaultfrontpageroleid', get_string('frontpagedefaultrole', 'admin'), '', 0, $roleoptions));
if ($defaultfrontpageroleid and (!isset($CFG->defaultfrontpageroleid) or $CFG->defaultfrontpageroleid)) {
//frotpage role may not exist in old upgraded sites
unset($options[0]);
}
$temp->add(new admin_setting_configselect('defaultfrontpageroleid', get_string('frontpagedefaultrole', 'admin'), '', $defaultfrontpageroleid, $options));
$ADMIN->add('frontpage', $temp);
+1 -1
View File
@@ -10,7 +10,7 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_configselect('lang', get_string('lang', 'admin'), get_string('configlang', 'admin'), current_language(), get_string_manager()->get_list_of_translations())); // $CFG->lang might be set in installer already, default en is in setup.php
$temp->add(new admin_setting_configcheckbox('langmenu', get_string('langmenu', 'admin'), get_string('configlangmenu', 'admin'), 1));
$temp->add(new admin_setting_langlist());
$temp->add(new admin_setting_configcheckbox('langcache', get_string('langcache', 'admin'), get_string('configlangcache', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('langcache', get_string('langcache', 'admin'), get_string('langcache_desc', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('langstringcache', get_string('langstringcache', 'admin'), get_string('configlangstringcache', 'admin'), 1));
$temp->add(new admin_setting_configtext('locale', get_string('localetext', 'admin'), get_string('configlocale', 'admin'), '', PARAM_FILE));
$temp->add(new admin_setting_configselect('latinexcelexport', get_string('latinexcelexport', 'admin'), get_string('configlatinexcelexport', 'admin'), '0', array('0'=>'Unicode','1'=>'Latin')));
+2
View File
@@ -321,6 +321,8 @@ if ($hassiteconfig) {
$temp = new admin_settingpage('webservicesoverview', get_string('webservicesoverview', 'webservice'));
$temp->add(new admin_setting_webservicesoverview());
$ADMIN->add('webservicesettings', $temp);
//API documentation
$ADMIN->add('webservicesettings', new admin_externalpage('webservicedocumentation', get_string('wsdocapi', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/documentation.php", 'moodle/site:config', false));
/// manage service
$temp = new admin_settingpage('externalservices', get_string('externalservices', 'webservice'));
$temp->add(new admin_setting_heading('manageserviceshelpexplaination', get_string('information', 'webservice'), get_string('servicehelpexplanation', 'webservice')));
+1
View File
@@ -71,6 +71,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('groupenrolmentkeypolicy', get_string('groupenrolmentkeypolicy', 'admin'), get_string('groupenrolmentkeypolicy_desc', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('disableuserimages', get_string('disableuserimages', 'admin'), get_string('configdisableuserimages', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('emailchangeconfirmation', get_string('emailchangeconfirmation', 'admin'), get_string('configemailchangeconfirmation', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('strictformsrequired', get_string('strictformsrequired', 'admin'), get_string('configstrictformsrequired', 'admin'), 0));
$ADMIN->add('security', $temp);
+2
View File
@@ -241,6 +241,8 @@ $temp->add(new admin_setting_configselect('extramemorylimit', get_string('extram
$temp->add(new admin_setting_configtext('curlcache', get_string('curlcache', 'admin'),
get_string('configcurlcache', 'admin'), 120, PARAM_INT));
$temp->add(new admin_setting_configtext('curltimeoutkbitrate', get_string('curltimeoutkbitrate', 'admin'),
get_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
/* //TODO: we need to fix code instead of relying on slow rcache, enable this once we have some code that is actually using it
$temp->add(new admin_setting_special_selectsetup('cachetype', get_string('cachetype', 'admin'),
get_string('configcachetype', 'admin'), '',
+25 -27
View File
@@ -38,17 +38,18 @@ if ($hassiteconfig
if ($ADMIN->fulltree) {
if (!during_initial_install()) {
$context = get_context_instance(CONTEXT_SYSTEM);
$allroles = array();
$generalroles = array();
$otherroles = array();
$guestroles = array();
$userroles = array();
$studentroles = array();
$teacherroles = array();
$creatornewroles = array();
$defaultteacherid = null;
$defaultuserid = null;
$defaultguestid = null;
foreach (get_all_roles() as $role) {
$rolename = strip_tags(format_string($role->name)) . ' ('. $role->shortname . ')';
$allroles[$role->id] = $rolename;
switch ($role->archetype) {
case 'manager':
$creatornewroles[$role->id] = $rolename;
@@ -56,58 +57,55 @@ if ($hassiteconfig
case 'coursecreator':
break;
case 'editingteacher':
$teacherroles[$role->id] = $rolename;
$defaultteacherid = isset($defaultteacherid) ? $defaultteacherid : $role->id;
$creatornewroles[$role->id] = $rolename;
break;
case 'teacher':
$creatornewroles[$role->id] = $rolename;
break;
case 'student':
$studentroles[$role->id] = $rolename;
break;
case 'guest':
$defaultguestid = isset($defaultguestid) ? $defaultguestid : $role->id;
$guestroles[$role->id] = $rolename;
break;
case 'user':
$defaultuserid = isset($defaultuserid) ? $defaultuserid : $role->id;
$userroles[$role->id] = $rolename;
break;
case 'frontpage':
break;
default:
$creatornewroles[$role->id] = $rolename;
$generalroles[$role->id] = $rolename;
$otherroles[$role->id] = $rolename;
break;
}
}
reset($guestroles);
$defaultguestid = key($guestroles);
reset($studentroles);
$defaultstudentid = key($studentroles);
reset($teacherroles);
$defaultteacherid = key($teacherroles);
if (empty($guestroles)) {
$guestroles[0] = get_string('none');
$defaultguestid = 0;
}
if ($userroles) {
reset($userroles);
$defaultuserid = key($userroles);
} else {
$userroles = array('0'=>get_string('none'));
if (empty($userroles)) {
$userroles[0] = get_string('none');
$defaultuserid = 0;
}
$temp->add(new admin_setting_configselect('notloggedinroleid', get_string('notloggedinroleid', 'admin'),
get_string('confignotloggedinroleid', 'admin'), $defaultguestid, ($guestroles + $generalroles)));
get_string('confignotloggedinroleid', 'admin'), $defaultguestid, ($guestroles + $otherroles)));
$temp->add(new admin_setting_configselect('guestroleid', get_string('guestroleid', 'admin'),
get_string('guestroleid_help', 'admin'), $defaultguestid, ($guestroles + $generalroles)));
get_string('guestroleid_help', 'admin'), $defaultguestid, ($guestroles + $otherroles)));
$temp->add(new admin_setting_configselect('defaultuserroleid', get_string('defaultuserroleid', 'admin'),
get_string('configdefaultuserroleid', 'admin'), $defaultuserid, ($userroles + $generalroles)));
}
$temp->add(new admin_setting_configcheckbox('nodefaultuserrolelists', get_string('nodefaultuserrolelists', 'admin'), get_string('confignodefaultuserrolelists', 'admin'), 0));
if (!during_initial_install()) {
get_string('configdefaultuserroleid', 'admin'), $defaultuserid, ($userroles + $otherroles)));
$temp->add(new admin_setting_configselect('creatornewroleid', get_string('creatornewroleid', 'admin'),
get_string('creatornewroleid_help', 'admin'), $defaultteacherid, $creatornewroles));
// release memory
unset($otherroles);
unset($guestroles);
unset($userroles);
unset($creatornewroles);
}
$temp->add(new admin_setting_configcheckbox('autologinguests', get_string('autologinguests', 'admin'), get_string('configautologinguests', 'admin'), 0));
+26 -6
View File
@@ -307,6 +307,9 @@ if ($formdata = $mform2->is_cancelled()) {
// process templates
$user->$field = uu_process_template($formdata->$field, $user);
$formdefaults[$field] = true;
if (in_array($field, $upt->columns)) {
$upt->track($field, s($user->$field), 'normal');
}
}
}
foreach ($PRF_FIELDS as $field) {
@@ -465,6 +468,7 @@ if ($formdata = $mform2->is_cancelled()) {
if (!isset($supportedauths[$user->auth])) {
$upt->track('auth', $struserauthunsupported, 'warning');
}
$doupdate = true;
}
$allcolumns = array_merge($STD_FIELDS, $PRF_FIELDS);
foreach ($allcolumns as $column) {
@@ -614,7 +618,13 @@ if ($formdata = $mform2->is_cancelled()) {
$isinternalauth = $auth->is_internal();
if ($DB->record_exists('user', array('email'=>$user->email))) {
if (empty($user->email)) {
$upt->track('email', get_string('invalidemail'), 'error');
$upt->track('status', $strusernotaddederror, 'error');
$userserrors++;
continue;
} else if ($DB->record_exists('user', array('email'=>$user->email))) {
if ($noemailduplicates) {
$upt->track('email', $stremailduplicate, 'error');
$upt->track('status', $strusernotaddederror, 'error');
@@ -765,7 +775,7 @@ if ($formdata = $mform2->is_cancelled()) {
}
}
$manual->enrol_user($manualcache[$courseid], $user->id, $rid, $today, $timeend, true);
$manual->enrol_user($manualcache[$courseid], $user->id, $rid, $today, $timeend);
$a = new stdClass();
$a->course = $shortname;
@@ -898,12 +908,22 @@ while ($linenum <= $previewrows and $fields = $cir->next()) {
$rowcols['status'][] = get_string('missingusername');
}
if (!validate_email($rowcols['email'])) {
$rowcols['status'][] = get_string('invalidemail');
if (isset($rowcols['email'])) {
if (!validate_email($rowcols['email'])) {
$rowcols['status'][] = get_string('invalidemail');
}
if ($DB->record_exists('user', array('email'=>$rowcols['email']))) {
$rowcols['status'][] = $stremailduplicate;
}
}
if ($DB->record_exists('user', array('email'=>$rowcols['email']))) {
$rowcols['status'][] = $stremailduplicate;
if (isset($rowcols['city'])) {
$rowcols['city'] = trim($rowcols['city']);
if (empty($rowcols['city'])) {
$rowcols['status'][] = get_string('fieldrequired', 'error', 'city');
}
}
$rowcols['status'] = implode('<br />', $rowcols['status']);
$data[] = $rowcols;
}
+1 -4
View File
@@ -264,6 +264,7 @@ class admin_uploaduser_form2 extends moodleform {
} else {
$mform->setDefault('city', $CFG->defaultcity);
}
$mform->addRule('city', get_string('required'), 'required');
$mform->addElement('select', 'country', get_string('selectacountry'), get_string_manager()->get_list_of_countries());
if (empty($CFG->country)) {
@@ -408,10 +409,6 @@ class admin_uploaduser_form2 extends moodleform {
if (!in_array('email', $columns) and empty($data['email'])) {
$errors['email'] = get_string('requiredtemplate', 'admin');
}
if (!in_array('city', $columns) and empty($data['city'])) {
$errors['city'] = get_string('required');
}
}
return $errors;
+61 -28
View File
@@ -157,14 +157,14 @@ class uu_progress_tracker {
/**
* Validation callback function - verified the column line of csv file.
* Converts column names to lowercase too.
* Converts standard column names to lowercase.
* @param csv_import_reader $cir
* @param array standard user fields
* @param array custom profile fields
* @param array $stdfields standard user fields
* @param array $profilefields custom profile fields
* @param moodle_url $returnurl return url in case of any error
* @return array list of fields
*/
function uu_validate_user_upload_columns(csv_import_reader $cir, $stdfields, $frofilefields, moodle_url $returnurl) {
function uu_validate_user_upload_columns(csv_import_reader $cir, $stdfields, $profilefields, moodle_url $returnurl) {
$columns = $cir->get_columns();
if (empty($columns)) {
@@ -178,22 +178,40 @@ function uu_validate_user_upload_columns(csv_import_reader $cir, $stdfields, $fr
print_error('csvfewcolumns', 'error', $returnurl);
}
$textlib = textlib_get_instance(); // profile fields may contain unicode chars
// test columns
$processed = array();
foreach ($columns as $key=>$unused) {
$field = strtolower($columns[$key]); // no unicode expected here, ignore case
if (!in_array($field, $stdfields) && !in_array($field, $frofilefields) &&// if not a standard field and not an enrolment field, then we have an error
!preg_match('/^course\d+$/', $field) && !preg_match('/^group\d+$/', $field) &&
!preg_match('/^type\d+$/', $field) && !preg_match('/^role\d+$/', $field) &&
!preg_match('/^enrolperiod\d+$/', $field)) {
print_error('invalidfieldname', 'error', $returnurl, $field);
}
if (in_array($field, $processed)) {
$field = $columns[$key];
$lcfield = $textlib->strtolower($field);
if (in_array($field, $stdfields) or in_array($lcfield, $stdfields)) {
// standard fields are only lowercase
$newfield = $lcfield;
} else if (in_array($field, $profilefields)) {
// exact profile field name match - these are case sensitive
$newfield = $field;
} else if (in_array($lcfield, $profilefields)) {
// hack: somebody wrote uppercase in csv file, but the system knows only lowercase profile field
$newfield = $lcfield;
} else if (preg_match('/^(course|group|type|role|enrolperiod)\d+$/', $lcfield)) {
// special fields for enrolments
$newfield = $lcfield;
} else {
$cir->close();
$cir->cleanup();
print_error('duplicatefieldname', 'error', $returnurl, $field);
print_error('invalidfieldname', 'error', $returnurl, $field);
}
$processed[$key] = $field;
if (in_array($newfield, $processed)) {
$cir->close();
$cir->cleanup();
print_error('duplicatefieldname', 'error', $returnurl, $newfield);
}
$processed[$key] = $newfield;
}
return $processed;
@@ -248,33 +266,48 @@ function uu_process_template($template, $user) {
if (is_null($result)) {
return $template; //error during regex processing??
}
if (is_array($template)) {
$template['text'] = $result;
return $t;
} else {
if (array($template)) {
$template['text'] = $t;
return $t;
} else {
return $t;
}
return $result;
}
}
/**
* Internal callback function.
*/
function uu_process_template_callback($block, $username, $firstname, $lastname) {
function uu_process_template_callback($username, $firstname, $lastname, $block) {
$textlib = textlib_get_instance();
$repl = $block[0];
switch ($block[3]) {
case 'u': $repl = $username; break;
case 'f': $repl = $firstname; break;
case 'l': $repl = $lastname; break;
case 'u':
$repl = $username;
break;
case 'f':
$repl = $firstname;
break;
case 'l':
$repl = $lastname;
break;
default:
return $block[0];
}
switch ($block[1]) {
case '+': $repl = $textlib->strtoupper($repl); break;
case '-': $repl = $textlib->strtolower($repl); break;
case '~': $repl = $textlib->strtotitle($repl); break;
case '+':
$repl = $textlib->strtoupper($repl);
break;
case '-':
$repl = $textlib->strtolower($repl);
break;
case '~':
$repl = $textlib->strtotitle($repl);
break;
}
if (!empty($block[2])) {
$repl = $textlib->substr($repl, 0 , $block[2]);
}
+61
View File
@@ -0,0 +1,61 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Web services API documentation
*
* @package webservice
* @copyright 2011 Moodle Pty Ltd (http://moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Jerome Mouneyrac
*/
require_once('../../config.php');
require_once($CFG->libdir . '/adminlib.php');
require($CFG->dirroot . '/webservice/lib.php');
admin_externalpage_setup('webservicedocumentation');
// get all the function descriptions
$functions = $DB->get_records('external_functions', array(), 'name');
$functiondescs = array();
foreach ($functions as $function) {
$functiondescs[$function->name] = external_function_info($function);
}
//display the documentation for all documented protocols,
//regardless if they are activated or not
$protocols = array();
$protocols['rest'] = true;
$protocols['xmlrpc'] = true;
/// Check if we are in printable mode
$printableformat = optional_param('print', false, PARAM_BOOL);
/// OUTPUT
echo $OUTPUT->header();
$renderer = $PAGE->get_renderer('core', 'webservice');
echo $renderer->documentation_html($functiondescs,
$printableformat, $protocols, array(), $PAGE->url);
/// trigger browser print operation
if (!empty($printableformat)) {
$PAGE->requires->js_function_call('window.print', array());
}
echo $OUTPUT->footer();
+2 -2
View File
@@ -33,7 +33,7 @@ $userid = required_param('userid', PARAM_INT);
admin_externalpage_setup('externalserviceusersettings');
//define nav bar
$PAGE->set_url('/' . $CFG->admin . '/webservice/service_user_settings.php',
$PAGE->set_url('/' . $CFG->admin . '/webservice/service_user_settings.php',
array('id' => $serviceid, 'userid' => $userid));
$node = $PAGE->settingsnav->find('externalservices', navigation_node::TYPE_SETTING);
if ($node) {
@@ -62,7 +62,7 @@ if ($usersettingsform->is_cancelled()) {
$serviceuserinfo->id = $serviceuser->serviceuserid;
$serviceuserinfo->iprestriction = $settingsformdata->iprestriction;
$serviceuserinfo->validuntil = $settingsformdata->validuntil;
$webservicemanager->update_ws_authorised_user($serviceuserinfo);
//TODO: assign capability
+2 -2
View File
@@ -37,7 +37,7 @@ $PAGE->set_url('/' . $CFG->admin . '/webservice/testclient.php');
$PAGE->navbar->ignore_active(true);
$PAGE->navbar->add(get_string('administrationsite'));
$PAGE->navbar->add(get_string('development', 'admin'));
$PAGE->navbar->add(get_string('testclient', 'webservice'),
$PAGE->navbar->add(get_string('testclient', 'webservice'),
new moodle_url('/' . $CFG->admin . '/webservice/testclient.php'));
if (!empty($function)) {
$PAGE->navbar->add($function);
@@ -169,4 +169,4 @@ if ($mform->is_cancelled()) {
$mform->display();
echo $OUTPUT->footer();
die;
}
}
+1 -1
View File
@@ -94,7 +94,7 @@ switch ($action) {
die;
break;
case 'delete':
case 'delete':
$token = $webservicemanager->get_created_by_user_ws_token($USER->id, $tokenid);
//Delete the token
@@ -290,7 +290,7 @@ class main_view extends XMLDBAction {
$o .= ' that seems to be active (true). ENUMs support has been dropped in Moodle 2.0, ' .
' the XMLDB Editor will delete any ENUM reference next time you save this file' .
' and you MUST provide one upgrade block in your code to drop them from DB. See' .
' <a href="http://docs.moodle.org/en/Development:DB_layer_2.0_migration_docs#The_changes">' .
' <a href="http://docs.moodle.org/dev/DB_layer_2.0_migration_docs#The_changes">' .
' Moodle Docs</a> for more info and examples.';
} else {
$o .= ' that seem to be inactive (false). ENUMs support has been dropped in Moodle 2.0,' .
+36 -1
View File
@@ -360,7 +360,7 @@ class auth_plugin_cas extends auth_plugin_ldap {
* @return boolean result
*/
function iscreator($username) {
if ((empty($this->config->attrcreators) && empty($this->config->groupecreators)) or empty($this->config->memberattribute)) {
if (empty($this->config->host_url) or (empty($this->config->attrcreators) && empty($this->config->groupecreators)) or empty($this->config->memberattribute)) {
return false;
}
@@ -405,4 +405,39 @@ class auth_plugin_cas extends auth_plugin_ldap {
return false;
}
/**
* Reads user information from LDAP and returns it as array()
*
* If no LDAP servers are configured, user information has to be
* provided via other methods (CSV file, manually, etc.). Return
* an empty array so existing user info is not lost. Otherwise,
* calls parent class method to get user info.
*
* @param string $username username
* @return mixed array with no magic quotes or false on error
*/
function get_userinfo($username) {
if (empty($this->config->host_url)) {
return array();
}
return parent::get_userinfo($username);
}
/**
* Syncronizes users from LDAP server to moodle user table.
*
* If no LDAP servers are configured, simply return. Otherwise,
* call parent class method to do the work.
*
* @param bool $do_updates will do pull in data updates from LDAP if relevant
* @return nothing
*/
function sync_users($do_updates=true) {
if (empty($this->config->host_url)) {
error_log('[AUTH CAS] '.get_string('noldapserver', 'auth_cas'));
return;
}
parent::sync_users($do_updates);
}
}
+1
View File
@@ -61,4 +61,5 @@ $string['auth_cas_text'] = 'Secure connection';
$string['auth_cas_use_cas'] = 'Use CAS';
$string['auth_cas_version'] = 'Version of CAS';
$string['CASform'] = 'Authentication choice';
$string['noldapserver'] = 'No LDAP server configured for CAS! Syncing disabled.';
$string['pluginname'] = 'CAS server (SSO)';
+6 -6
View File
@@ -228,17 +228,17 @@ class auth_plugin_db extends auth_plugin_base {
// find obsolete users
if (count($userlist)) {
list($notin_sql, $params) = $DB->get_in_or_equal($userlist, SQL_PARAMS_NAMED, 'u0000', false);
$params['authtype'] = $this->authtype;
$sql = "SELECT u.id, u.username, u.email, u.auth
list($notin_sql, $params) = $DB->get_in_or_equal($userlist, SQL_PARAMS_NAMED, 'u', false);
$params['authtype'] = $this->authtype;
$sql = "SELECT u.*
FROM {user} u
WHERE u.auth=:authtype AND u.deleted=0 AND u.username $notin_sql";
} else {
$sql = "SELECT u.id, u.username, u.email, u.auth
$sql = "SELECT u.*
FROM {user} u
WHERE u.auth=:authtype AND u.deleted=0";
$params = array();
$params['authtype'] = $this->authtype;
$params['authtype'] = $this->authtype;
}
$remove_users = $DB->get_records_sql($sql, $params);
@@ -290,7 +290,7 @@ class auth_plugin_db extends auth_plugin_base {
// only go ahead if we actually
// have fields to update locally
if (!empty($updatekeys)) {
list($in_sql, $params) = $DB->get_in_or_equal($userlist, SQL_PARAMS_NAMED, 'u0000', true);
list($in_sql, $params) = $DB->get_in_or_equal($userlist, SQL_PARAMS_NAMED, 'u', true);
$params['authtype'] = $this->authtype;
$sql = "SELECT u.id, u.username
FROM {user} u
+1 -1
View File
@@ -29,7 +29,7 @@ $string['auth_emailchangepending'] = 'Change pending. Open the link sent to you
$string['auth_emailnoemail'] = 'Tried to send you an email but failed!';
$string['auth_emailnoinsert'] = 'Could not add your record to the database!';
$string['auth_emailnowexists'] = 'The email address you tried to assign to your profile has been assigned to someone else since your original request. Your request for change of email address is hereby cancelled, but you may try again with a different address.';
$string['auth_emailrecaptcha'] = 'Adds a visual/audio confirmation form element to the signup page for email self-registering users. This protects your site against spammers and contributes to a worthwhile cause. See http://recaptcha.net/learnmore.html for more details. <br /><em>PHP cURL extension is required.</em>';
$string['auth_emailrecaptcha'] = 'Adds a visual/audio confirmation form element to the signup page for email self-registering users. This protects your site against spammers and contributes to a worthwhile cause. See http://www.google.com/recaptcha/learnmore for more details. <br /><em>PHP cURL extension is required.</em>';
$string['auth_emailrecaptcha_key'] = 'Enable reCAPTCHA element';
$string['auth_emailsettings'] = 'Settings';
$string['auth_emailupdate'] = 'Email address update';
+1 -1
View File
@@ -1,3 +1,3 @@
LDAP-module README
Please read comments from lib.php
Please read comments from auth.php in this directory.
+13 -12
View File
@@ -579,16 +579,17 @@ class auth_plugin_ldap extends auth_plugin_base {
$sr = ldap_read($ldapconnection, $user_dn, '(objectClass=*)', $search_attribs);
if ($sr) {
$info = ldap_get_entries_moodle($ldapconnection, $sr);
$info = array_change_key_case($info, CASE_LOWER);
if (!empty ($info) and !empty($info[0][$this->config->expireattr][0])) {
$expiretime = $this->ldap_expirationtime2unix($info[0][$this->config->expireattr][0], $ldapconnection, $user_dn);
if ($expiretime != 0) {
$now = time();
if ($expiretime > $now) {
$result = ceil(($expiretime - $now) / DAYSECS);
}
else {
$result = floor(($expiretime - $now) / DAYSECS);
if (!empty ($info)) {
$info = array_change_key_case($info[0], CASE_LOWER);
if (!empty($info[$this->config->expireattr][0])) {
$expiretime = $this->ldap_expirationtime2unix($info[$this->config->expireattr][0], $ldapconnection, $user_dn);
if ($expiretime != 0) {
$now = time();
if ($expiretime > $now) {
$result = ceil(($expiretime - $now) / DAYSECS);
} else {
$result = floor(($expiretime - $now) / DAYSECS);
}
}
}
}
@@ -689,7 +690,7 @@ class auth_plugin_ldap extends auth_plugin_base {
// Find users in DB that aren't in ldap -- to be removed!
// this is still not as scalable (but how often do we mass delete?)
if ($this->config->removeuser !== AUTH_REMOVEUSER_KEEP) {
$sql = 'SELECT u.id, u.username, u.email, u.auth
$sql = 'SELECT u.*
FROM {user} u
LEFT JOIN {tmp_extuser} e ON (u.username = e.username AND u.mnethostid = e.mnethostid)
WHERE u.auth = ?
@@ -1385,7 +1386,7 @@ class auth_plugin_ldap extends auth_plugin_base {
}
}
}
$moodleattributes['username'] = $this->config->user_attribute;
$moodleattributes['username'] = moodle_strtolower(trim($this->config->user_attribute));
return $moodleattributes;
}
+5 -2
View File
@@ -132,6 +132,10 @@ class auth_plugin_mnet extends auth_plugin_base {
global $CFG, $USER, $DB;
require_once $CFG->dirroot . '/mnet/xmlrpc/client.php';
if (session_is_loggedinas()) {
print_error('notpermittedtojumpas', 'mnet');
}
// check remote login permissions
if (! has_capability('moodle/site:mnetlogintoremote', get_system_context())
or is_mnet_remote_user($USER)
@@ -276,6 +280,7 @@ class auth_plugin_mnet extends auth_plugin_base {
*/
$remoteuser->mnethostid = $remotehost->id;
$remoteuser->firstaccess = time(); // First time user in this server, grab it here
$remoteuser->confirmed = 1;
$remoteuser->id = $DB->insert_record('user', $remoteuser);
$firsttime = true;
@@ -889,8 +894,6 @@ class auth_plugin_mnet extends auth_plugin_base {
global $CFG, $DB;
$remoteclient = get_mnet_remote_client();
$CFG->usesid = true;
// We don't want to output anything to the client machine
$start = ob_start();
+7
View File
@@ -37,6 +37,13 @@ if (!is_enabled_auth('mnet')) {
// If hostid hasn't been specified, try getting it using wwwroot
if (!$hostid) {
$hostwwwroot = trim($hostwwwroot);
$hostwwwroot = rtrim($hostwwwroot, '/');
// ensure the wwwroot starts with a http or https prefix
if (strtolower(substr($hostwwwroot, 0, 4)) != 'http') {
$hostwwwroot = 'http://'.$hostwwwroot;
}
$hostid = $DB->get_field('mnet_host', 'id', array('wwwroot' => $hostwwwroot));
}
+5 -10
View File
@@ -193,18 +193,13 @@ class auth_plugin_shibboleth extends auth_plugin_base {
*
*/
function logoutpage_hook() {
global $redirect;
global $SESSION, $redirect;
// Only do this if logout handler is defined
if (
isset($this->config->logout_handler)
&& !empty($this->config->logout_handler)
){
// Only do this if logout handler is defined, and if the user is actually logged in via Shibboleth
$logouthandlervalid = isset($this->config->logout_handler) && !empty($this->config->logout_handler);
if ( isset($SESSION->shibboleth_session_id) && $logouthandlervalid) {
// Check if there is an alternative logout return url defined
if (
isset($this->config->logout_return_url)
&& !empty($this->config->logout_return_url)
){
if (isset($this->config->logout_return_url) && !empty($this->config->logout_return_url)) {
// Set temp_redirect to alternative return url
$temp_redirect = $this->config->logout_return_url;
} else {
@@ -290,6 +290,9 @@ class backup_controller extends backup implements loggable {
* @return void Throws and exception of completes
*/
public function execute_plan() {
// Basic/initial prevention against time/memory limits
set_time_limit(1 * 60 * 60); // 1 hour for 1 course initially granted
raise_memory_limit(MEMORY_EXTRA);
return $this->plan->execute();
}
@@ -336,7 +339,7 @@ class backup_controller extends backup implements loggable {
protected function apply_defaults() {
$this->log('applying plan defaults', backup::LOG_DEBUG);
backup_controller_dbops::apply_general_config_defaults($this);
backup_controller_dbops::apply_config_defaults($this);
$this->set_status(backup::STATUS_CONFIGURED);
}
}
@@ -296,6 +296,9 @@ class restore_controller extends backup implements loggable {
}
public function execute_plan() {
// Basic/initial prevention against time/memory limits
set_time_limit(1 * 60 * 60); // 1 hour for 1 course initially granted
raise_memory_limit(MEMORY_EXTRA);
return $this->plan->execute();
}
+13 -4
View File
@@ -72,11 +72,20 @@ class backup_course_task extends backup_task {
// annotating some bits, tags and module restrictions
$this->add_step(new backup_course_structure_step('course_info', 'course.xml'));
// Generate the enrolment file
$this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
// Generate the enrolment file (conditionally, prevent it in any IMPORT/HUB operation)
if ($this->plan->get_mode() != backup::MODE_IMPORT && $this->plan->get_mode() != backup::MODE_HUB) {
$this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
}
// Annotate the groups used in already annotated groupings
$this->add_step(new backup_annotate_groups_from_groupings('annotate_groups'));
// Annotate all the groups and groupings belonging to the course
$this->add_step(new backup_annotate_course_groups_and_groupings('annotate_course_groups'));
// Annotate the groups used in already annotated groupings (note this may be
// unnecessary now that we are annotating all the course groups and groupings in the
// step above. But we keep it working in case we decide, someday, to introduce one
// setting to transform the step above into an optional one. This is here to support
// course->defaultgroupingid
$this->add_step(new backup_annotate_groups_from_groupings('annotate_groups_from_groupings'));
// Annotate the question_categories belonging to the course context
$this->add_step(new backup_calculate_question_categories('course_question_categories'));
@@ -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/>.
defined('MOODLE_INTERNAL') || die();
/**
* Base class for course report backup plugins.
*
* NOTE: When you back up a course, it potentially may run backup for all
* course reports. In order to control whether a particular report gets
* backed up, a course report should make use of the second and third
* parameters in get_plugin_element().
*
* @package moodlecore
* @subpackage backup-moodle2
* @copyright 2011 onwards The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
abstract class backup_coursereport_plugin extends backup_plugin {
// Use default parent behaviour
}
@@ -36,6 +36,7 @@ require_once($CFG->dirroot . '/backup/moodle2/backup_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_qtype_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_format_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_theme_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_coursereport_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_plagiarism_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_subplugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_settingslib.php');
+12 -2
View File
@@ -53,7 +53,12 @@ abstract class backup_qtype_plugin extends backup_plugin {
$answers->add_child($answer);
// Set the sources
$answer->set_source_table('question_answers', array('question' => backup::VAR_PARENTID));
$answer->set_source_sql('
SELECT *
FROM {question_answers}
WHERE question = :question
ORDER BY id',
array('question' => backup::VAR_PARENTID));
// Aliases
$answer->set_source_alias('answer', 'answertext');
@@ -82,7 +87,12 @@ abstract class backup_qtype_plugin extends backup_plugin {
$units->add_child($unit);
// Set the sources
$unit->set_source_table('question_numerical_units', array('question' => backup::VAR_PARENTID));
$unit->set_source_sql('
SELECT *
FROM {question_numerical_units}
WHERE question = :question
ORDER BY id',
array('question' => backup::VAR_PARENTID));
// don't need to annotate ids nor files
}
+36 -4
View File
@@ -321,8 +321,9 @@ class backup_module_structure_step extends backup_structure_step {
// attach format plugin structure to $module element, only one allowed
$this->add_plugin_structure('format', $module, false);
// attach plagiarism plugin structure to $module element, only one allowed
$this->add_plugin_structure('plagiarism', $module, false);
// attach plagiarism plugin structure to $module element, there can be potentially
// many plagiarism plugins storing information about this course
$this->add_plugin_structure('plagiarism', $module, true);
// Define the tree
$module->add_child($availinfo);
@@ -419,8 +420,13 @@ class backup_course_structure_step extends backup_structure_step {
// save course data (in case of user theme, legacy theme, etc)
$this->add_plugin_structure('theme', $course, true);
// attach plagiarism plugin structure to $course element, only one allowed
$this->add_plugin_structure('plagiarism', $course, false);
// attach course report plugin structure to $course element; multiple
// course reports can save course data if required
$this->add_plugin_structure('coursereport', $course, true);
// attach plagiarism plugin structure to $course element, there can be potentially
// many plagiarism plugins storing information about this course
$this->add_plugin_structure('plagiarism', $course, true);
// Build the tree
@@ -1560,6 +1566,32 @@ class backup_activity_grade_items_to_ids extends backup_execution_step {
}
}
/**
* This step will annotate all the groups and groupings belonging to the course
*/
class backup_annotate_course_groups_and_groupings extends backup_execution_step {
protected function define_execution() {
global $DB;
// Get all the course groups
if ($groups = $DB->get_records('groups', array(
'courseid' => $this->task->get_courseid()))) {
foreach ($groups as $group) {
backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'group', $group->id);
}
}
// Get all the course groupings
if ($groupings = $DB->get_records('groupings', array(
'courseid' => $this->task->get_courseid()))) {
foreach ($groupings as $grouping) {
backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'grouping', $grouping->id);
}
}
}
}
/**
* This step will annotate all the groups belonging to already annotated groupings
*/
+10 -1
View File
@@ -34,6 +34,7 @@ abstract class restore_activity_task extends restore_task {
protected $modulename; // name of the module
protected $moduleid; // new (target) id of the course module
protected $oldmoduleid; // old (original) id of the course module
protected $oldmoduleversion; // old (original) version of the module
protected $contextid; // new (target) context of the activity
protected $oldcontextid;// old (original) context of the activity
protected $activityid; // new (target) id of the activity
@@ -43,11 +44,11 @@ abstract class restore_activity_task extends restore_task {
* Constructor - instantiates one object of this class
*/
public function __construct($name, $info, $plan = null) {
$this->info = $info;
$this->modulename = $this->info->modulename;
$this->moduleid = 0;
$this->oldmoduleid = $this->info->moduleid;
$this->oldmoduleversion = 0;
$this->contextid = 0;
$this->oldcontextid = 0;
$this->activityid = 0;
@@ -66,6 +67,10 @@ abstract class restore_activity_task extends restore_task {
$this->moduleid = $moduleid;
}
public function set_old_moduleversion($oldmoduleversion) {
$this->oldmoduleversion = $oldmoduleversion;
}
public function set_activityid($activityid) {
$this->activityid = $activityid;
}
@@ -90,6 +95,10 @@ abstract class restore_activity_task extends restore_task {
return $this->moduleid;
}
public function get_old_moduleversion() {
return $this->oldmoduleversion;
}
public function get_activityid() {
return $this->activityid;
}
+4 -2
View File
@@ -69,8 +69,10 @@ class restore_course_task extends restore_task {
// Restore course role assignments and overrides (internally will observe the role_assignments setting)
$this->add_step(new restore_ras_and_caps_structure_step('course_ras_and_caps', 'roles.xml'));
// Restore course enrolments (plugins and membership)
$this->add_step(new restore_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
// Restore course enrolments (plugins and membership). Conditionally prevented for any IMPORT/HUB operation
if ($this->plan->get_mode() != backup::MODE_IMPORT && $this->plan->get_mode() != backup::MODE_HUB) {
$this->add_step(new restore_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
}
// Restore course filters (conditionally)
if ($this->get_setting_value('filters')) {
@@ -0,0 +1,29 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
defined('MOODLE_INTERNAL') || die();
/**
* Restore for course plugin: course report.
*
* @package moodlecore
* @subpackage backup-moodle2
* @copyright 2011 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
abstract class restore_coursereport_plugin extends restore_plugin {
// Use default parent behaviour
}
@@ -41,6 +41,6 @@ abstract class restore_plagiarism_plugin extends restore_plugin {
if (!array_key_exists($this->pluginname, $enabledplugins)) {
return;
}
parent::define_plugin_structure($connectionpoint);
return parent::define_plugin_structure($connectionpoint);
}
}
@@ -35,11 +35,13 @@ require_once($CFG->dirroot . '/backup/moodle2/restore_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_qtype_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_format_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_theme_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_coursereport_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_plagiarism_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_qtype_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_format_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_theme_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_coursereport_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/backup_plagiarism_plugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_subplugin.class.php');
require_once($CFG->dirroot . '/backup/moodle2/restore_settingslib.php');
+17
View File
@@ -80,6 +80,23 @@ abstract class restore_plugin {
}
}
/**
* after_restore dispatcher for any restore_plugin class
*
* This method will dispatch execution to the corresponding
* after_restore_xxx() method when available, with xxx
* being the connection point of the instance, so plugin
* classes with multiple connection points will support
* multiple after_restore methods, one for each connection point
*/
public function launch_after_restore_methods() {
// Check if the after_restore method exists and launch it
$afterrestore = 'after_restore_' . basename($this->connectionpoint->get_path());
if (method_exists($this, $afterrestore)) {
$this->$afterrestore();
}
}
/**
* Returns one array with all the decode contents
* to be processed by the links decoder
+133 -14
View File
@@ -273,7 +273,9 @@ class restore_gradebook_structure_step extends restore_structure_step {
//$this->set_mapping('grade_setting', $oldid, $newitemid);
}
//put all activity grade items in the correct grade category and mark all for recalculation
/**
* put all activity grade items in the correct grade category and mark all for recalculation
*/
protected function after_execute() {
global $DB;
@@ -284,8 +286,15 @@ class restore_gradebook_structure_step extends restore_structure_step {
);
$rs = $DB->get_recordset('backup_ids_temp', $conditions);
// We need this for calculation magic later on.
$mappings = array();
if (!empty($rs)) {
foreach($rs as $grade_item_backup) {
// Store the oldid with the new id.
$mappings[$grade_item_backup->itemid] = $grade_item_backup->newitemid;
$updateobj = new stdclass();
$updateobj->id = $grade_item_backup->newitemid;
@@ -301,6 +310,57 @@ class restore_gradebook_structure_step extends restore_structure_step {
}
$rs->close();
// We need to update the calculations for calculated grade items that may reference old
// grade item ids using ##gi\d+##.
// $mappings can be empty, use 0 if so (won't match ever)
$mappings = !empty($mappings) ? $mappings : array(0);
list($sql, $params) = $DB->get_in_or_equal(array_values($mappings), SQL_PARAMS_NAMED);
$sql = "SELECT gi.id, gi.calculation
FROM {grade_items} gi
WHERE gi.id {$sql} AND
calculation IS NOT NULL";
$rs = $DB->get_recordset_sql($sql, $params);
foreach ($rs as $gradeitem) {
// Collect all of the used grade item id references
if (preg_match_all('/##gi(\d+)##/', $gradeitem->calculation, $matches) < 1) {
// This calculation doesn't reference any other grade items... EASY!
continue;
}
// For this next bit we are going to do the replacement of id's in two steps:
// 1. We will replace all old id references with a special mapping reference.
// 2. We will replace all mapping references with id's
// Why do we do this?
// Because there potentially there will be an overlap of ids within the query and we
// we substitute the wrong id.. safest way around this is the two step system
$calculationmap = array();
$mapcount = 0;
foreach ($matches[1] as $match) {
// Check that the old id is known to us, if not it was broken to begin with and will
// continue to be broken.
if (!array_key_exists($match, $mappings)) {
continue;
}
// Our special mapping key
$mapping = '##MAPPING'.$mapcount.'##';
// The old id that exists within the calculation now
$oldid = '##gi'.$match.'##';
// The new id that we want to replace the old one with.
$newid = '##gi'.$mappings[$match].'##';
// Replace in the special mapping key
$gradeitem->calculation = str_replace($oldid, $mapping, $gradeitem->calculation);
// And record the mapping
$calculationmap[$mapping] = $newid;
$mapcount++;
}
// Iterate all special mappings for this calculation and replace in the new id's
foreach ($calculationmap as $mapping => $newid) {
$gradeitem->calculation = str_replace($mapping, $newid, $gradeitem->calculation);
}
// Update the calculation now that its being remapped
$DB->update_record('grade_items', $gradeitem);
}
$rs->close();
//need to correct the grade category path and parent
$conditions = array(
'courseid' => $this->get_courseid()
@@ -732,7 +792,14 @@ class restore_groups_structure_step extends restore_structure_step {
$data->groupingid = $this->get_new_parentid('grouping'); // Use new parentid
$data->groupid = $this->get_mappingid('group', $data->groupid); // Get from mappings
$DB->insert_record('groupings_groups', $data); // No need to set this mapping (no child info nor files)
$params = array();
$params['groupingid'] = $data->groupingid;
$params['groupid'] = $data->groupid;
if (!$DB->record_exists('groupings_groups', $params)) {
$DB->insert_record('groupings_groups', $data); // No need to set this mapping (no child info nor files)
}
}
protected function after_execute() {
@@ -1010,6 +1077,9 @@ class restore_course_structure_step extends restore_structure_step {
// Apply for 'theme' plugins optional paths at course level
$this->add_plugin_structure('theme', $course);
// Apply for 'course report' plugins optional paths at course level
$this->add_plugin_structure('coursereport', $course);
// Apply for plagiarism plugins optional paths at course level
$this->add_plugin_structure('plagiarism', $course);
@@ -1026,7 +1096,6 @@ class restore_course_structure_step extends restore_structure_step {
global $CFG, $DB;
$data = (object)$data;
$oldid = $data->id; // We'll need this later
$fullname = $this->get_setting_value('course_fullname');
$shortname = $this->get_setting_value('course_shortname');
@@ -1039,7 +1108,13 @@ class restore_course_structure_step extends restore_structure_step {
$data->id = $this->get_courseid();
$data->fullname = $fullname;
$data->shortname= $shortname;
$data->idnumber = '';
$context = get_context_instance_by_id($this->task->get_contextid());
if (has_capability('moodle/course:changeidnumber', $context, $this->task->get_userid())) {
$data->idnumber = '';
} else {
unset($data->idnumber);
}
// Only restrict modules if original course was and target site too for new courses
$data->restrictmodules = $data->restrictmodules && !empty($CFG->restrictmodulesfor) && $CFG->restrictmodulesfor == 'all';
@@ -1218,6 +1293,28 @@ class restore_ras_and_caps_structure_step extends restore_structure_step {
*/
class restore_enrolments_structure_step extends restore_structure_step {
/**
* Conditionally decide if this step should be executed.
*
* This function checks the following parameter:
*
* 1. the course/enrolments.xml file exists
*
* @return bool true is safe to execute, false otherwise
*/
protected function execute_condition() {
// Check it is included in the backup
$fullpath = $this->task->get_taskbasepath();
$fullpath = rtrim($fullpath, '/') . '/' . $this->filename;
if (!file_exists($fullpath)) {
// Not found, can't restore enrolments info
return false;
}
return true;
}
protected function define_structure() {
$paths = array();
@@ -1676,7 +1773,7 @@ class restore_course_logs_structure_step extends restore_structure_step {
/**
* Conditionally decide if this step should be executed.
*
* This function checks the following four parameters:
* This function checks the following parameter:
*
* 1. the course/logs.xml file exists
*
@@ -1797,28 +1894,47 @@ class restore_activity_grades_structure_step extends restore_structure_step {
}
protected function process_grade_item($data) {
global $DB;
$data = (object)($data);
$oldid = $data->id; // We'll need these later
$oldparentid = $data->categoryid;
$courseid = $this->get_courseid();
// make sure top course category exists, all grade items will be associated
// to it. Later, if restoring the whole gradebook, categories will be introduced
$coursecat = grade_category::fetch_course_category($this->get_courseid());
$coursecat = grade_category::fetch_course_category($courseid);
$coursecatid = $coursecat->id; // Get the categoryid to be used
$idnumber = null;
if (!empty($data->idnumber)) {
// Don't get any idnumber from course module. Keep them as they are in grade_item->idnumber
// Reason: it's not clear what happens with outcomes->idnumber or activities with multiple items (workshop)
// so the best is to keep the ones already in the gradebook
// Potential problem: duplicates if same items are restored more than once. :-(
// This needs to be fixed in some way (outcomes & activities with multiple items)
// $data->idnumber = get_coursemodule_from_instance($data->itemmodule, $data->iteminstance)->idnumber;
// In any case, verify always for uniqueness
$sql = "SELECT cm.id
FROM {course_modules} cm
WHERE cm.course = :courseid AND
cm.idnumber = :idnumber AND
cm.id <> :cmid";
$params = array(
'courseid' => $courseid,
'idnumber' => $data->idnumber,
'cmid' => $this->task->get_moduleid()
);
if (!$DB->record_exists_sql($sql, $params) && !$DB->record_exists('grade_items', array('courseid' => $courseid, 'idnumber' => $data->idnumber))) {
$idnumber = $data->idnumber;
}
}
unset($data->id);
$data->categoryid = $coursecatid;
$data->courseid = $this->get_courseid();
$data->iteminstance = $this->task->get_activityid();
// Don't get any idnumber from course module. Keep them as they are in grade_item->idnumber
// Reason: it's not clear what happens with outcomes->idnumber or activities with multiple items (workshop)
// so the best is to keep the ones already in the gradebook
// Potential problem: duplicates if same items are restored more than once. :-(
// This needs to be fixed in some way (outcomes & activities with multiple items)
// $data->idnumber = get_coursemodule_from_instance($data->itemmodule, $data->iteminstance)->idnumber;
// In any case, verify always for uniqueness
$data->idnumber = grade_verify_idnumber($data->idnumber, $this->get_courseid()) ? $data->idnumber : null;
$data->idnumber = $idnumber;
$data->scaleid = $this->get_mappingid('scale', $data->scaleid);
$data->outcomeid = $this->get_mappingid('outcome', $data->outcomeid);
$data->timecreated = $this->apply_date_offset($data->timecreated);
@@ -2022,6 +2138,8 @@ class restore_module_structure_step extends restore_structure_step {
$data = (object)$data;
$oldid = $data->id;
$this->task->set_old_moduleversion($data->version);
$data->course = $this->task->get_courseid();
$data->module = $DB->get_field('modules', 'id', array('name' => $data->modulename));
// Map section (first try by course_section mapping match. Useful in course and section restores)
@@ -2194,6 +2312,7 @@ abstract class restore_activity_structure_step extends restore_structure_step {
/**
* As far as activity restore steps are implementing restore_subplugin stuff, they need to
* have the parent task available for wrapping purposes (get course/context....)
* @return restore_task
*/
public function get_task() {
return $this->task;
+34 -32
View File
@@ -102,45 +102,31 @@ abstract class backup_check {
// Note: all the checks along the function MUST be performed for $userid, that
// is the user who "requested" the course backup, not current $USER at all!!
// First of all, check the main backup[course|section|activity] principal caps
// Lacking the corresponding one makes this to break with exception always
// First of all, decide which caps/contexts are we going to check
// for common backups (general, automated...) based exclusively
// in the type (course, section, activity). And store them into
// one capability => context array structure
$typecapstocheck = array();
switch ($type) {
case backup::TYPE_1COURSE :
$DB->get_record('course', array('id' => $id), '*', MUST_EXIST); // course exists
if (!has_capability('moodle/backup:backupcourse', $coursectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = 'moodle/backup:backupcourse';
throw new backup_controller_exception('backup_user_missing_capability', $a);
}
$typecapstocheck['moodle/backup:backupcourse'] = $coursectx;
break;
case backup::TYPE_1SECTION :
$DB->get_record('course_sections', array('course' => $courseid, 'id' => $id), '*', MUST_EXIST); // sec exists
if (!has_capability('moodle/backup:backupsection', $coursectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = 'moodle/backup:backupsection';
throw new backup_controller_exception('backup_user_missing_capability', $a);
}
$typecapstocheck['moodle/backup:backupsection'] = $coursectx;
break;
case backup::TYPE_1ACTIVITY :
get_coursemodule_from_id(null, $id, $courseid, false, MUST_EXIST); // cm exists
$modulectx = get_context_instance(CONTEXT_MODULE, $id);
if (!has_capability('moodle/backup:backupactivity', $modulectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->cmid = $id;
$a->capability = 'moodle/backup:backupactivity';
throw new backup_controller_exception('backup_user_missing_capability', $a);
}
$typecapstocheck['moodle/backup:backupactivity'] = $modulectx;
break;
default :
print_error('unknownbackuptype');
throw new backup_controller_exception('backup_unknown_backup_type', $type);
}
// Now, if backup mode is hub or import, check userid has permissions for those modes
// other modes will perform common checks only (backupxxxx capabilities in $typecapstocheck)
switch ($mode) {
case backup::MODE_HUB:
if (!has_capability('moodle/backup:backuptargethub', $coursectx, $userid)) {
@@ -160,6 +146,18 @@ abstract class backup_check {
throw new backup_controller_exception('backup_user_missing_capability', $a);
}
break;
// Common backup (general, automated...), let's check all the $typecapstocheck
// capability => context pairs
default:
foreach ($typecapstocheck as $capability => $context) {
if (!has_capability($capability, $context, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = $capability;
throw new backup_controller_exception('backup_user_missing_capability', $a);
}
}
}
// Now, enforce 'moodle/backup:userinfo' to 'users' setting, applying changes if allowed,
@@ -219,15 +217,19 @@ abstract class backup_check {
}
// Check the user has the ability to configure the backup. If not then we need
// to lock all settings by permission so that no changes can be made.
$hasconfigcap = has_capability('moodle/backup:configure', $coursectx, $userid);
if (!$hasconfigcap) {
$settings = $backup_controller->get_plan()->get_settings();
foreach ($settings as $setting) {
if ($setting->get_name()=='filename') {
continue;
// to lock all settings by permission so that no changes can be made. This does
// not apply to the import facility, where the activities must be always enabled
// to be able to pick them
if ($mode != backup::MODE_IMPORT) {
$hasconfigcap = has_capability('moodle/backup:configure', $coursectx, $userid);
if (!$hasconfigcap) {
$settings = $backup_controller->get_plan()->get_settings();
foreach ($settings as $setting) {
if ($setting->get_name() == 'filename') {
continue;
}
$setting->set_status(base_setting::LOCKED_BY_PERMISSION);
}
$setting->set_status(base_setting::LOCKED_BY_PERMISSION);
}
}
+32 -30
View File
@@ -68,41 +68,27 @@ abstract class restore_check {
// Note: all the checks along the function MUST be performed for $userid, that
// is the user who "requested" the course restore, not current $USER at all!!
// First of all, check the main restore[course|section|activity] principal caps
// Lacking the corresponding one makes this to break with exception always
// First of all, decide which caps/contexts are we going to check
// for common backups (general, automated...) based exclusively
// in the type (course, section, activity). And store them into
// one capability => context array structure
$typecapstocheck = array();
switch ($type) {
case backup::TYPE_1COURSE :
if (!has_capability('moodle/restore:restorecourse', $coursectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = 'moodle/restore:restorecourse';
throw new restore_controller_exception('restore_user_missing_capability', $a);
}
$typecapstocheck['moodle/restore:restorecourse'] = $coursectx;
break;
case backup::TYPE_1SECTION :
if (!has_capability('moodle/restore:restoresection', $coursectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = 'moodle/restore:restoresection';
throw new restore_controller_exception('restore_user_missing_capability', $a);
}
$typecapstocheck['moodle/restore:restoresection'] = $coursectx;
break;
case backup::TYPE_1ACTIVITY :
if (!has_capability('moodle/restore:restoreactivity', $coursectx, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = 'moodle/restore:restoreactivity';
throw new restore_controller_exception('restore_user_missing_capability', $a);
}
$typecapstocheck['moodle/restore:restoreactivity'] = $coursectx;
break;
default :
print_error('unknownrestoretype');
throw new restore_controller_exception('restore_unknown_restore_type', $type);
}
// Now, if restore mode is hub or import, check userid has permissions for those modes
// other modes will perform common checks only (restorexxxx capabilities in $typecapstocheck)
switch ($mode) {
case backup::MODE_HUB:
if (!has_capability('moodle/restore:restoretargethub', $coursectx, $userid)) {
@@ -122,6 +108,18 @@ abstract class restore_check {
throw new restore_controller_exception('restore_user_missing_capability', $a);
}
break;
// Common backup (general, automated...), let's check all the $typecapstocheck
// capability => context pairs
default:
foreach ($typecapstocheck as $capability => $context) {
if (!has_capability($capability, $context, $userid)) {
$a = new stdclass();
$a->userid = $userid;
$a->courseid = $courseid;
$a->capability = $capability;
throw new restore_controller_exception('restore_user_missing_capability', $a);
}
}
}
// Now, enforce 'moodle/restore:userinfo' to 'users' setting, applying changes if allowed,
@@ -158,12 +156,16 @@ abstract class restore_check {
}
// Check the user has the ability to configure the restore. If not then we need
// to lock all settings by permission so that no changes can be made.
$hasconfigcap = has_capability('moodle/restore:configure', $coursectx, $userid);
if (!$hasconfigcap) {
$settings = $restore_controller->get_plan()->get_settings();
foreach ($settings as $setting) {
$setting->set_status(base_setting::LOCKED_BY_PERMISSION);
// to lock all settings by permission so that no changes can be made. This does
// not apply to the import facility, where all the activities (picked on backup)
// are restored automatically without restore UI
if ($mode != backup::MODE_IMPORT) {
$hasconfigcap = has_capability('moodle/restore:configure', $coursectx, $userid);
if (!$hasconfigcap) {
$settings = $restore_controller->get_plan()->get_settings();
foreach ($settings as $setting) {
$setting->set_status(base_setting::LOCKED_BY_PERMISSION);
}
}
}
@@ -401,12 +401,40 @@ abstract class backup_controller_dbops extends backup_dbops {
return $DB->get_record('course', array('id' => $courseid), 'fullname, shortname, startdate');
}
/**
* Sets the default values for the settings in a backup operation
*
* Based on the mode of the backup it will delegate the process to
* other methods like {@link apply_general_config_defaults} ...
* to get proper defaults loaded
*
* @param backup_controller $controller
*/
public static function apply_config_defaults(backup_controller $controller) {
// Based on the mode of the backup (general, automated, import, hub...)
// decide the action to perform to get defaults loaded
$mode = $controller->get_mode();
switch ($mode) {
case backup::MODE_GENERAL:
// Load the general defaults
self::apply_general_config_defaults($controller);
break;
case backup::MODE_AUTOMATED:
// TODO: Move the loading from automatic stuff to here
break;
default:
// Nothing to do for other modes (IMPORT/HUB...). Some day we
// can define defaults (admin UI...) for them if we want to
}
}
/**
* Sets the controller settings default values from the backup config.
*
* @param backup_controller $controller
*/
public static function apply_general_config_defaults(backup_controller $controller) {
private static function apply_general_config_defaults(backup_controller $controller) {
$settings = array(
// Config name => Setting name
'backup_general_users' => 'users',
+51 -46
View File
@@ -824,54 +824,58 @@ abstract class restore_dbops {
$newuserid = $DB->insert_record('user', $user);
self::set_backup_ids_record($restoreid, 'user', $recuser->itemid, $newuserid);
// Let's create the user context and annotate it (we need it for sure at least for files)
$newuserctxid = get_context_instance(CONTEXT_USER, $newuserid)->id;
self::set_backup_ids_record($restoreid, 'context', $recuser->parentitemid, $newuserctxid);
// but for deleted users that don't have a context anymore (MDL-30192). We are done for them
// and nothing else (custom fields, prefs, tags, files...) will be created.
if (empty($user->deleted)) {
$newuserctxid = $user->deleted ? 0 : get_context_instance(CONTEXT_USER, $newuserid)->id;
self::set_backup_ids_record($restoreid, 'context', $recuser->parentitemid, $newuserctxid);
// Process custom fields
if (isset($user->custom_fields)) { // if present in backup
foreach($user->custom_fields['custom_field'] as $udata) {
$udata = (object)$udata;
// If the profile field has data and the profile shortname-datatype is defined in server
if ($udata->field_data) {
if ($field = $DB->get_record('user_info_field', array('shortname'=>$udata->field_name, 'datatype'=>$udata->field_type))) {
/// Insert the user_custom_profile_field
$rec = new stdClass();
$rec->userid = $newuserid;
$rec->fieldid = $field->id;
$rec->data = $udata->field_data;
$DB->insert_record('user_info_data', $rec);
// Process custom fields
if (isset($user->custom_fields)) { // if present in backup
foreach($user->custom_fields['custom_field'] as $udata) {
$udata = (object)$udata;
// If the profile field has data and the profile shortname-datatype is defined in server
if ($udata->field_data) {
if ($field = $DB->get_record('user_info_field', array('shortname'=>$udata->field_name, 'datatype'=>$udata->field_type))) {
/// Insert the user_custom_profile_field
$rec = new stdClass();
$rec->userid = $newuserid;
$rec->fieldid = $field->id;
$rec->data = $udata->field_data;
$DB->insert_record('user_info_data', $rec);
}
}
}
}
}
// Process tags
if (!empty($CFG->usetags) && isset($user->tags)) { // if enabled in server and present in backup
$tags = array();
foreach($user->tags['tag'] as $usertag) {
$usertag = (object)$usertag;
$tags[] = $usertag->rawname;
// Process tags
if (!empty($CFG->usetags) && isset($user->tags)) { // if enabled in server and present in backup
$tags = array();
foreach($user->tags['tag'] as $usertag) {
$usertag = (object)$usertag;
$tags[] = $usertag->rawname;
}
tag_set('user', $newuserid, $tags);
}
tag_set('user', $newuserid, $tags);
}
// Process preferences
if (isset($user->preferences)) { // if present in backup
foreach($user->preferences['preference'] as $preference) {
$preference = (object)$preference;
// Prepare the record and insert it
$preference->userid = $newuserid;
$status = $DB->insert_record('user_preferences', $preference);
// Process preferences
if (isset($user->preferences)) { // if present in backup
foreach($user->preferences['preference'] as $preference) {
$preference = (object)$preference;
// Prepare the record and insert it
$preference->userid = $newuserid;
$status = $DB->insert_record('user_preferences', $preference);
}
}
}
// Create user files in pool (profile, icon, private) by context
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid, $userid);
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid, $userid);
if ($userfiles) { // private files only if enabled in settings
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'private', $recuser->parentitemid, $userid);
}
// Create user files in pool (profile, icon, private) by context
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid, $userid);
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid, $userid);
if ($userfiles) { // private files only if enabled in settings
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'private', $recuser->parentitemid, $userid);
}
}
}
$rs->close();
}
@@ -951,7 +955,7 @@ abstract class restore_dbops {
AND mnethostid = ?
AND deleted = 1
AND (
username LIKE ?
UPPER(username) LIKE UPPER(?)
OR (
".$DB->sql_isnotempty('user', 'email', false, false)."
AND email = ?
@@ -973,7 +977,7 @@ abstract class restore_dbops {
FROM {user} u
WHERE id = ?
AND mnethostid = ?
AND email = ?",
AND UPPER(email) = UPPER(?)",
array($user->id, $user->mnethostid, $trimemail))) {
return $rec; // Matching user, deleted in backup file found, return it
}
@@ -996,7 +1000,7 @@ abstract class restore_dbops {
WHERE username = ?
AND mnethostid = ?
AND (
email = ?
UPPER(email) = UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -1020,7 +1024,7 @@ abstract class restore_dbops {
AND ".$DB->sql_isnotempty('user', 'email', false, false)."
AND email = ?
AND (
username LIKE ?
UPPER(username) LIKE UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -1038,7 +1042,7 @@ abstract class restore_dbops {
FROM {user} u
WHERE mnethostid = ?
AND deleted = 1
AND username LIKE ?
AND UPPER(username) LIKE UPPER(?)
AND firstaccess != 0
AND firstaccess = ?",
array($user->mnethostid, $user->email.'.%', $user->firstaccess))) {
@@ -1056,7 +1060,7 @@ abstract class restore_dbops {
if ($rec = $DB->get_record_sql("SELECT *
FROM {user} u
WHERE mnethostid = ?
AND email = ?
AND UPPER(email) = UPPER(?)
AND firstaccess != 0
AND firstaccess = ?",
array($user->mnethostid, $trimemail, $user->firstaccess))) {
@@ -1070,7 +1074,7 @@ abstract class restore_dbops {
WHERE username = ?
AND mnethostid = ?
AND NOT (
email = ?
UPPER(email) = UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -1340,7 +1344,8 @@ abstract class restore_dbops {
$course->sortorder = 0;
$course->timecreated = time();
$course->timemodified = $course->timecreated;
$course->visible = $category->visible;
// forcing skeleton courses to be hidden instead of going by $category->visible , until MDL-27790 is resolved.
$course->visible = 0;
$courseid = $DB->insert_record('course', $course);
+32 -13
View File
@@ -76,7 +76,7 @@ abstract class backup_cron_automated_helper {
} else if ($state === backup_cron_automated_helper::STATE_RUNNING) {
mtrace('RUNNING');
if ($rundirective == self::RUN_IMMEDIATELY) {
mtrace('automated backups are already. If this script is being run by cron this constitues an error. You will need to increase the time between executions within cron.');
mtrace('Automated backups are already running. If this script is being run by cron this constitues an error. You will need to increase the time between executions within cron.');
} else {
mtrace("automated backup are already running. Execution delayed");
}
@@ -123,14 +123,24 @@ abstract class backup_cron_automated_helper {
$backupcourse = $DB->get_record('backup_courses', array('courseid'=>$course->id));
}
// Skip courses that do not yet need backup
$skipped = !(($backupcourse->nextstarttime >= 0 && $backupcourse->nextstarttime < $now) || $rundirective == self::RUN_IMMEDIATELY);
// Skip backup of unavailable courses that have remained unmodified in a month
$skipped = false;
if (empty($course->visible) && ($now - $course->timemodified) > 31*24*60*60) { //Hidden + unmodified last month
$backupcourse->laststatus = backup_cron_automated_helper::BACKUP_STATUS_SKIPPED;
$DB->update_record('backup_courses', $backupcourse);
mtrace('Skipping unchanged course '.$course->fullname);
$skipped = true;
} else if (($backupcourse->nextstarttime >= 0 && $backupcourse->nextstarttime < $now) || $rundirective == self::RUN_IMMEDIATELY) {
if (!$skipped && empty($course->visible) && ($now - $course->timemodified) > 31*24*60*60) { //Hidden + settings were unmodified last month
//Check log if there were any modifications to the course content
$sqlwhere = "course=:courseid AND time>:time AND ". $DB->sql_like('action', ':action', false, true, true);
$params = array('courseid' => $course->id, 'time' => $now-31*24*60*60, 'action' => '%view%');
$logexists = $DB->record_exists_select('log', $sqlwhere, $params);
if (!$logexists) {
$backupcourse->laststatus = backup_cron_automated_helper::BACKUP_STATUS_SKIPPED;
$backupcourse->nextstarttime = $nextstarttime;
$DB->update_record('backup_courses', $backupcourse);
mtrace('Skipping unchanged course '.$course->fullname);
$skipped = true;
}
}
//Now we backup every non-skipped course
if (!$skipped) {
mtrace('Backing up '.$course->fullname, '...');
//We have to send a email because we have included at least one backup
@@ -312,7 +322,7 @@ abstract class backup_cron_automated_helper {
$settings = array(
'users' => 'backup_auto_users',
'role_assignments' => 'backup_auto_users',
'role_assignments' => 'backup_auto_role_assignments',
'user_files' => 'backup_auto_user_files',
'activities' => 'backup_auto_activities',
'blocks' => 'backup_auto_blocks',
@@ -401,10 +411,19 @@ abstract class backup_cron_automated_helper {
if ($active === self::AUTO_BACKUP_DISABLED || ($rundirective == self::RUN_ON_SCHEDULE && $active === self::AUTO_BACKUP_MANUAL)) {
return self::STATE_DISABLED;
} else if (!empty($config->backup_auto_running)) {
// TODO: We should find some way of checking whether the automated
// backup has infact finished. In 1.9 this was being done by checking
// the log entries.
return self::STATE_RUNNING;
// Detect if the backup_auto_running semaphore is a valid one
// by looking for recent activity in the backup_controllers table
// for backups of type backup::MODE_AUTOMATED
$timetosee = 60 * 90; // Time to consider in order to clean the semaphore
$params = array( 'purpose' => backup::MODE_AUTOMATED, 'timetolook' => (time() - $timetosee));
if ($DB->record_exists_select('backup_controllers',
"operation = 'backup' AND type = 'course' AND purpose = :purpose AND timemodified > :timetolook", $params)) {
return self::STATE_RUNNING; // Recent activity found, still running
} else {
// No recent activity found, let's clean the semaphore
mtrace('Automated backups activity not found in last ' . (int)$timetosee/60 . ' minutes. Cleaning running status');
backup_cron_automated_helper::set_state_running(false);
}
}
return self::STATE_OK;
}
@@ -153,7 +153,9 @@ abstract class backup_general_helper extends backup_helper {
$rolemappings->modified = false;
$rolemappings->mappings = array();
$info->role_mappings = $rolemappings;
// Some initially empty containers
$info->sections = array();
$info->activities = array();
// Now the contents
$contentsarr = $infoarr['contents'];
@@ -164,7 +166,6 @@ abstract class backup_general_helper extends backup_helper {
}
if (isset($contentsarr['sections']) && isset($contentsarr['sections']['section'])) {
$sectionarr = $contentsarr['sections']['section'];
$sections = array();
foreach ($sectionarr as $section) {
$section = (object)$section;
$section->settings = array();
@@ -174,7 +175,6 @@ abstract class backup_general_helper extends backup_helper {
}
if (isset($contentsarr['activities']) && isset($contentsarr['activities']['activity'])) {
$activityarr = $contentsarr['activities']['activity'];
$activities = array();
foreach ($activityarr as $activity) {
$activity = (object)$activity;
$activity->settings = array();
@@ -360,6 +360,43 @@ abstract class restore_structure_step extends restore_step {
}
/**
* Launch all the after_restore methods present in all the processing objects
*
* This method will launch all the after_restore methods that can be defined
* both in restore_plugin class
*
* For restore_plugin classes the name of the method to be executed will be
* "after_restore_" + connection point (as far as can be multiple connection
* points in the same class)
*/
public function launch_after_restore_methods() {
$alreadylaunched = array(); // To avoid multiple executions
foreach ($this->pathelements as $pathelement) {
// Get the processing object
$pobject = $pathelement->get_processing_object();
// Skip null processors (child of grouped ones for sure)
if (is_null($pobject)) {
continue;
}
// Skip restore structure step processors (this)
if ($pobject instanceof restore_structure_step) {
continue;
}
// Skip already launched processing objects
if (in_array($pobject, $alreadylaunched, true)) {
continue;
}
// Add processing object to array of launched ones
$alreadylaunched[] = $pobject;
// If the processing object has support for
// launching after_restore methods, use it
if (method_exists($pobject, 'launch_after_restore_methods')) {
$pobject->launch_after_restore_methods();
}
}
}
/**
* This method will be executed after the whole structure step have been processed
*
+7
View File
@@ -100,6 +100,13 @@ abstract class restore_task extends base_task {
* method if available
*/
public function execute_after_restore() {
if ($this->executed) {
foreach ($this->steps as $step) {
if (method_exists($step, 'launch_after_restore_methods')) {
$step->launch_after_restore_methods();
}
}
}
if ($this->executed && method_exists($this, 'after_restore')) {
$this->after_restore();
}
+1 -13
View File
@@ -130,19 +130,7 @@ class backup_ui extends base_ui {
}
return $backupid;
}
/**
* Cancels the current backup and redirects the user back to the relevant place
*/
public function cancel_backup() {
global $PAGE;
// Determine the approriate URL to redirect the user to
if ($PAGE->context->contextlevel == CONTEXT_MODULE && $PAGE->cm !== null) {
$relevanturl = new moodle_url('/mod/'.$PAGE->cm->modname.'/view.php', array('id'=>$PAGE->cm->id));
} else {
$relevanturl = new moodle_url('/course/view.php', array('id'=>$PAGE->course->id));
}
redirect($relevanturl);
}
/**
* Gets an array of progress bar items that can be displayed through the backup renderer.
* @return array Array of items for the progress bar
+3 -3
View File
@@ -81,7 +81,7 @@ class backup_ui_stage_initial extends backup_ui_stage {
$form = $this->initialise_stage_form();
if ($form->is_cancelled()) {
$this->ui->cancel_backup();
$this->ui->cancel_process();
}
$data = $form->get_data();
@@ -180,7 +180,7 @@ class backup_ui_stage_schema extends backup_ui_stage {
$form = $this->initialise_stage_form();
// Check it wasn't cancelled
if ($form->is_cancelled()) {
$this->ui->cancel_backup();
$this->ui->cancel_process();
}
// Check it has been submit
@@ -288,7 +288,7 @@ class backup_ui_stage_confirmation extends backup_ui_stage {
$form = $this->initialise_stage_form();
// Check it hasn't been cancelled
if ($form->is_cancelled()) {
$this->ui->cancel_backup();
$this->ui->cancel_process();
}
$data = $form->get_data();
+15
View File
@@ -226,6 +226,21 @@ abstract class base_ui {
public static function load_controller($uniqueid=false) {
throw new coding_exception('load_controller() method needs to be overridden in each subclass of base_ui');
}
/**
* Cancels the current backup/restore and redirects the user back to the relevant place
*/
public function cancel_process() {
global $PAGE;
// Determine the appropriate URL to redirect the user to
if ($PAGE->context->contextlevel == CONTEXT_MODULE && $PAGE->cm !== null) {
$relevanturl = new moodle_url('/mod/'.$PAGE->cm->modname.'/view.php', array('id'=>$PAGE->cm->id));
} else {
$relevanturl = new moodle_url('/course/view.php', array('id'=>$PAGE->course->id));
}
redirect($relevanturl);
}
/**
* Gets an array of progress bar items that can be displayed through the backup renderer.
* @return array Array of items for the progress bar
+10 -1
View File
@@ -158,4 +158,13 @@ class import_ui_stage_final extends backup_ui_stage_final {}
/**
* Extends the restore course search to search for import courses.
*/
class import_course_search extends restore_course_search {}
class import_course_search extends restore_course_search {
/**
* Sets up any access restrictions for the courses to be displayed in the search.
*
* This will typically call $this->require_capability().
*/
protected function setup_restrictions() {
$this->require_capability('moodle/backup:backuptargetimport');
}
}
+10 -2
View File
@@ -72,7 +72,7 @@ abstract class restore_search_base implements renderable {
*/
public function __construct(array $config=array()) {
$this->search = optional_param($this->get_varsearch(), self::DEFAULT_SEARCH, PARAM_ALPHANUMEXT);
$this->search = optional_param($this->get_varsearch(), self::DEFAULT_SEARCH, PARAM_NOTAGS);
foreach ($config as $name=>$value) {
$method = 'set_'.$name;
@@ -226,10 +226,18 @@ class restore_course_search extends restore_search_base {
*/
public function __construct(array $config=array(), $currentcouseid = null) {
parent::__construct($config);
$this->require_capability('moodle/restore:restorecourse');
$this->setup_restrictions();
$this->currentcourseid = $currentcouseid;
$this->includecurrentcourse = false;
}
/**
* Sets up any access restrictions for the courses to be displayed in the search.
*
* This will typically call $this->require_capability().
*/
protected function setup_restrictions() {
$this->require_capability('moodle/restore:restorecourse');
}
/**
*
* @global moodle_database $DB
+2 -2
View File
@@ -392,7 +392,7 @@ class restore_ui_stage_schema extends restore_ui_stage {
$form = $this->initialise_stage_form();
// Check it wasn't cancelled
if ($form->is_cancelled()) {
$this->ui->cancel_backup();
$this->ui->cancel_process();
}
// Check it has been submit
@@ -500,7 +500,7 @@ class restore_ui_stage_review extends restore_ui_stage {
$form = $this->initialise_stage_form();
// Check it hasn't been cancelled
if ($form->is_cancelled()) {
$this->ui->cancel_backup();
$this->ui->cancel_process();
}
$data = $form->get_data();
@@ -1,15 +1,65 @@
<?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/>.
// seems to work...
// maybe I should add some pretty icons?
// or possibly add the ability to custom-name things?
/**
* Admin Bookmarks Block page.
*
* @package block
* @subpackage admin_bookmarks
* @copyright 2011 Moodle
* @author 2006 vinkmar
* 2011 Rossiani Wijaya (updated)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*
*/
/**
* The admin bookmarks block class
*/
class block_admin_bookmarks extends block_base {
/** @var string */
public $blockname = null;
/** @var bool */
protected $contentgenerated = false;
/** @var bool|null */
protected $docked = null;
/**
* Set the initial properties for the block
*/
function init() {
$this->title = get_string('pluginname', 'block_admin_bookmarks');
$this->blockname = get_class($this);
$this->title = get_string('pluginname', $this->blockname);
}
/**
* All multiple instances of this block
* @return bool Returns false
*/
function instance_allow_multiple() {
return false;
}
/**
* Set the applicable formats for this block to all
* @return array
*/
function applicable_formats() {
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {
return array('all' => true);
@@ -18,58 +68,59 @@ class block_admin_bookmarks extends block_base {
}
}
function preferred_width() {
return 210;
}
function create_item($visiblename,$link,$icon) {
$this->tempcontent .= '<a href="' . $link . '"><img src="' . $icon . '" alt="" /> ' . $visiblename . '</a><br />' . "\n";
}
/**
* Gets the content for this block
*/
function get_content() {
global $CFG, $USER;
global $CFG;
if ($this->content !== NULL) {
// First check if we have already generated, don't waste cycles
if ($this->contentgenerated === true) {
return $this->content;
}
$this->content = new stdClass;
$this->content->text = '';
if (get_user_preferences('admin_bookmarks')) {
// this is expensive! Only require when bookmakrs exist..
require_once($CFG->libdir.'/adminlib.php');
$adminroot = admin_get_root(false, false); // settings not required - only pages
$bookmarks = explode(',', get_user_preferences('admin_bookmarks'));
// hmm... just a liiitle (potentially) processor-intensive
// (recall that $adminroot->locate is a huge recursive call... and we're calling it repeatedly here
/// Accessibility: markup as a list.
$this->content->text .= '<ol class="list">'."\n";
$contents = array();
foreach($bookmarks as $bookmark) {
$temp = $adminroot->locate($bookmark);
if ($temp instanceof admin_settingpage) {
$this->content->text .= '<li><a href="' . $CFG->wwwroot . '/' . $CFG->admin . '/settings.php?section=' . $bookmark . '">' . $temp->visiblename . "</a></li>\n";
$contenturl = new moodle_url('/admin/settings.php', array('section'=>$bookmark));
$contentlink = html_writer::link($contenturl, $temp->visiblename);
$contents[] = html_writer::tag('li', $contentlink);
} else if ($temp instanceof admin_externalpage) {
$this->content->text .= '<li><a href="' . $temp->url . '">' . $temp->visiblename . "</a></li>\n";
$contenturl = new moodle_url($temp->url);
$contentlink = html_writer::link($contenturl, $temp->visiblename);
$contents[] = html_writer::tag('li', $contentlink);
}
}
$this->content->text .= "</ol>\n";
$this->content->text = html_writer::tag('ol', implode('', $contents), array('class' => 'list'));
} else {
$bookmarks = array();
}
if (isset($this->page->section) and $this->page->section == 'search'){
$this->content->footer = '';
$this->page->settingsnav->initialise();
$node = $this->page->settingsnav->get('root', navigation_node::TYPE_SETTING);
if (!$node || !$node->contains_active_node()) {
return $this->content;
}
$section = $node->find_active_node()->key;
if ($section == 'search' || empty($section)){
// the search page can't be properly bookmarked at present
$this->content->footer = '';
} else if (($section = (isset($this->page->section) ? $this->page->section : '')) && (in_array($section, $bookmarks))) {
$this->content->footer = '<a href="' . $CFG->wwwroot . '/blocks/admin_bookmarks/delete.php?section=' . $section . '&amp;sesskey='.sesskey().'">' . get_string('unbookmarkthispage','admin') . '</a>';
} else if ($section = (isset($this->page->section) ? $this->page->section : '')) {
$this->content->footer = '<a href="' . $CFG->wwwroot . '/blocks/admin_bookmarks/create.php?section=' . $section . '&amp;sesskey='.sesskey().'">' . get_string('bookmarkthispage','admin') . '</a>';
} else if (in_array($section, $bookmarks)) {
$deleteurl = new moodle_url('/blocks/admin_bookmarks/delete.php', array('section'=>$section, 'sesskey'=>sesskey()));
$this->content->footer = html_writer::link($deleteurl, get_string('unbookmarkthispage','admin'));
} else {
$this->content->footer = '';
$createurl = new moodle_url('/blocks/admin_bookmarks/create.php', array('section'=>$section, 'sesskey'=>sesskey()));
$this->content->footer = html_writer::link($createurl, get_string('bookmarkthispage','admin'));
}
return $this->content;
+2
View File
@@ -4,6 +4,8 @@ require('../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_login();
$context = get_context_instance(CONTEXT_SYSTEM);
$PAGE->set_context($context);
$adminroot = admin_get_root(false, false); // settings not required - only pages
if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey()) {
+2
View File
@@ -5,6 +5,8 @@ require('../../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_login();
$context = get_context_instance(CONTEXT_SYSTEM);
$PAGE->set_context($context);
$adminroot = admin_get_root(false, false); // settings not required - only pages
if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey()) {
+31 -3
View File
@@ -1,5 +1,31 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* The comments block
*
* @package block
* @subpackage comments
* @copyright 2009 Dongsheng Cai <dongsheng@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
// Obviously required
require_once($CFG->dirroot . '/comment/lib.php');
class block_comments extends block_base {
@@ -38,15 +64,17 @@ class block_comments extends block_base {
$this->content->footer = '';
$this->content->text = '';
list($context, $course, $cm) = get_context_info_array($PAGE->context->id);
$args = new stdClass();
$args = new stdClass;
$args->context = $PAGE->context;
$args->course = $course;
$args->area = 'page_comments';
$args->itemid = 0;
// set 'env' to tell moodle tweak ui for this block
$args->env = 'block_comments';
$args->component = 'block_comments';
$args->linktext = get_string('showcomments');
$args->notoggle = true;
$args->autostart = true;
$args->displaycancel = false;
$comment = new comment($args);
$comment->set_view_permission(true);
+75
View File
@@ -0,0 +1,75 @@
<?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 comments block helper functions and callbacks
*
* @package block
* @subpackage comments
* @copyright 2011 Dongsheng Cai <dongsheng@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Validate comment parameter before perform other comments actions
*
* @param stdClass $comment_param {
* context => context the context object
* courseid => int course id
* cm => stdClass course module object
* commentarea => string comment area
* itemid => int itemid
* }
* @return boolean
*/
function comments_comment_validate($comment_param) {
if ($comment_param->commentarea != 'page_comments') {
throw new comment_exception('invalidcommentarea');
}
if ($comment_param->itemid != 0) {
throw new comment_exception('invalidcommentitemid');
}
return true;
}
/**
* Running addtional permission check on plugins
*
* @param stdClass $args
* @return array
*/
function comments_comment_permissions($args) {
return array('post'=>true, 'view'=>true);
}
/**
* Validate comment data before displaying comments
*
* @param stdClass $comment
* @param stdClass $args
* @return boolean
*/
function comments_comment_display($comments, $args) {
if ($args->commentarea != 'page_comments') {
throw new comment_exception('invalidcommentarea');
}
if ($args->itemid != 0) {
throw new comment_exception('invalidcommentitemid');
}
return $comments;
}
+6 -4
View File
@@ -155,10 +155,12 @@ class community_hub_search_form extends moodleform {
array('class' => 'hubscreenshot'));
$hubdescriptiontext = html_writer::tag('span', format_text($hub['description'], FORMAT_PLAIN),
array('class' => 'hubdescription'));
$additionaldesc = get_string('sites', 'block_community') . ': ' . $hub['sites'] . ' - ' .
get_string('courses', 'block_community') . ': ' . $hub['courses'];
$hubdescriptiontext .= html_writer::tag('span', $additionaldesc,
array('class' => 'hubadditionaldesc'));
if (isset($hub['enrollablecourses'])) { //check needed to avoid warnings for Moodle version < 2011081700
$additionaldesc = get_string('enrollablecourses', 'block_community') . ': ' . $hub['enrollablecourses'] . ' - ' .
get_string('downloadablecourses', 'block_community') . ': ' . $hub['downloadablecourses'];
$hubdescriptiontext .= html_writer::tag('span', $additionaldesc,
array('class' => 'hubadditionaldesc'));
}
if ($hub['trusted']) {
$hubtrusted = get_string('hubtrusted', 'block_community');
$hubdescriptiontext .= html_writer::tag('span',
+4 -2
View File
@@ -49,6 +49,7 @@ $string['donotrestore'] = 'No';
$string['dorestore'] = 'Yes';
$string['download'] = 'Download';
$string['downloadable'] = 'courses I can download';
$string['downloadablecourses'] = 'Downloadable courses';
$string['downloadconfirmed'] = 'The backup has been saved in your private files {$a}';
$string['downloaded'] = '...finished.';
$string['downloadingcourse'] = 'Downloading course';
@@ -61,8 +62,9 @@ $string['enroldownload_help'] = 'Some courses listed in the selected hub are bei
Others are course templates provided for you to download and use on your own Moodle site.';
$string['enrollable'] = 'courses I can enrol in';
$string['errorcourselisting'] = 'An error occured when retrieving the course listing from the selected hub, please try again later. ({$a})';
$string['errorhublisting'] = 'An error occured when retrieving the hub listing from Moodle.org, please try again later. ({$a})';
$string['enrollablecourses'] = 'Enrollable courses';
$string['errorcourselisting'] = 'An error occurred when retrieving the course listing from the selected hub, please try again later. ({$a})';
$string['errorhublisting'] = 'An error occurred when retrieving the hub listing from Moodle.org, please try again later. ({$a})';
$string['fileinfo'] = 'Language: {$a->lang} - License: {$a->license} - Time updated: {$a->timeupdated}';
$string['hub'] = 'hub';
$string['hubnottrusted'] = 'Not trusted';
@@ -47,19 +47,34 @@ class block_completionstatus extends block_base {
// Create empty content
$this->content = new stdClass;
// Can edit settings?
$can_edit = has_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $this->page->course->id));
// Get course completion data
$info = new completion_info($this->page->course);
// Don't display if completion isn't enabled!
if (!$this->page->course->enablecompletion) {
$this->content->text = get_string('completionnotenabled', 'block_completionstatus');
if (!completion_info::is_enabled_for_site()) {
if ($can_edit) {
$this->content->text = get_string('completionnotenabledforsite', 'completion');
}
return $this->content;
} else if (!$info->is_enabled()) {
if ($can_edit) {
$this->content->text = get_string('completionnotenabledforcourse', 'completion');
}
return $this->content;
}
// Load criteria to display
$info = new completion_info($this->page->course);
$completions = $info->get_completions($USER->id);
// Check if this course has any criteria
if (empty($completions)) {
$this->content->text = get_string('nocriteria', 'block_completionstatus');
if ($can_edit) {
$this->content->text = get_string('nocriteriaset', 'completion');
}
return $this->content;
}
@@ -137,7 +152,10 @@ class block_completionstatus extends block_base {
$shtml .= '<tr><td>';
$shtml .= get_string('activitiescompleted', 'completion');
$shtml .= '</td><td style="text-align: right">';
$shtml .= $activities_complete.' of '.count($activities);
$a = new stdClass();
$a->first = $activities_complete;
$a->second = count($activities);
$shtml .= get_string('firstofsecond', 'block_completionstatus', $a);
$shtml .= '</td></tr>';
}
@@ -147,7 +165,10 @@ class block_completionstatus extends block_base {
$phtml = '<tr><td>';
$phtml .= get_string('prerequisitescompleted', 'completion');
$phtml .= '</td><td style="text-align: right">';
$phtml .= $prerequisites_complete.' of '.count($prerequisites);
$a = new stdClass();
$a->first = $prerequisites_complete;
$a->second = count($prerequisites);
$shtml .= get_string('firstofsecond', 'block_completionstatus', $a);
$phtml .= '</td></tr>';
$shtml = $phtml . $shtml;
+17 -12
View File
@@ -60,14 +60,11 @@ $can_view = false;
// Can view own report
if ($USER->id == $user->id) {
$can_view = true;
}
elseif (has_capability('moodle/user:viewuseractivitiesreport', $personalcontext)) {
} else if (has_capability('moodle/user:viewuseractivitiesreport', $personalcontext)) {
$can_view = true;
}
elseif (has_capability('coursereport/completion:view', $coursecontext)) {
} else if (has_capability('coursereport/completion:view', $coursecontext)) {
$can_view = true;
}
elseif (has_capability('coursereport/completion:view', $personalcontext)) {
} else if (has_capability('coursereport/completion:view', $personalcontext)) {
$can_view = true;
}
@@ -76,23 +73,31 @@ if (!$can_view) {
}
// Load completion data
$info = new completion_info($course);
$returnurl = "{$CFG->wwwroot}/course/view.php?id={$id}";
// Don't display if completion isn't enabled!
if (!$course->enablecompletion) {
print_error('completionnotenabled', 'block_completionstatus');
if (!$info->is_enabled()) {
print_error('completionnotenabled', 'completion', $returnurl);
}
// Load criteria to display
$info = new completion_info($course);
$completions = $info->get_completions($user->id);
// Check if this course has any criteria
if (empty($completions)) {
print_error('nocriteria', 'block_completionstatus');
print_error('nocriteriaset', 'completion', $returnurl);
}
// Check this user is enroled
if (!$info->is_tracked_user($user->id)) {
print_error('notenroled', 'completion');
if ($USER->id == $user->id) {
print_error('notenroled', 'completion', $returnurl);
} else {
print_error('usernotenroled', 'completion', $returnurl);
}
}
@@ -232,7 +237,7 @@ foreach ($rows as $row) {
// Is complete
echo '<td class="c4">';
echo ($row['status'] === 'Yes') ? 'Yes' : 'No';
echo ($row['status'] === get_string('yes')) ? get_string('yes') : get_string('no');
echo '</td>';
// Completion data
@@ -1,9 +1,8 @@
<?php
$string['completionnotenabled'] = 'Course completion is not enabled';
$string['completionprogressdetails'] = 'Completion progress details';
$string['completionstatus'] = 'Course completion status';
$string['criteriagroup'] = 'Criteria group';
$string['nocriteria'] = 'No criteria have been set for this course';
$string['firstofsecond'] = '{$a->first} of {$a->second}';
$string['pluginname'] = 'Course completion status';
$string['requirement'] = 'Requirement';
+18 -1
View File
@@ -62,7 +62,14 @@ class block_html extends block_base {
if (isset($this->config->text)) {
// rewrite url
$this->config->text = file_rewrite_pluginfile_urls($this->config->text, 'pluginfile.php', $this->context->id, 'block_html', 'content', NULL);
$this->content->text = format_text($this->config->text, $this->config->format, $filteropt);
// Default to FORMAT_HTML which is what will have been used before the
// editor was properly implemented for the block.
$format = FORMAT_HTML;
// Check to see if the format has been properly set on the config
if (isset($this->config->format)) {
$format = $this->config->format;
}
$this->content->text = format_text($this->config->text, $format, $filteropt);
} else {
$this->content->text = '';
}
@@ -114,4 +121,14 @@ class block_html extends block_base {
return true;
}
/**
* The block should only be dockable when the title of the block is not empty
* and when parent allows docking.
*
* @return bool
*/
public function instance_can_be_docked() {
return (!empty($this->config->title) && parent::instance_can_be_docked());
}
}
+13
View File
@@ -57,11 +57,24 @@ class block_html_edit_form extends block_edit_form {
} else {
$text = '';
}
if (!$this->block->user_can_edit() && !empty($this->block->config->title)) {
// If a title has been set but the user cannot edit it format it nicely
$title = $this->block->config->title;
$defaults->config_title = format_string($title, true, $this->page->context);
// Remove the title from the config so that parent::set_data doesn't set it.
unset($this->block->config->title);
}
// have to delete text here, otherwise parent::set_data will empty content
// of editor
unset($this->block->config->text);
parent::set_data($defaults);
// restore $text
$this->block->config->text = $text;
if (isset($title)) {
// Reset the preserved title
$this->block->config->title = $title;
}
}
}
+7 -3
View File
@@ -1,5 +1,9 @@
.block_messages .content {text-align:left;padding-top:5px;}
.block_messages .content .list li.listentry {clear:both;}
.block_messages .content .list li.listentry div.user {float:left;position:relative;}
.block_messages .content .list li.listentry div.message {float:right;}
.block_messages .content .footer {clear:both;}
.block_messages .content .list li.listentry .user {float:left;position:relative;}
.block_messages .content .list li.listentry .message {float:right;}
.block_messages .content .info {text-align:center;}
.block_messages .content .footer {clear:both;}
.dir-rtl .block_messages .content .list li.listentry .user {float:right;}
.dir-rtl .block_messages .content .list li.listentry .message {float:left;}
+7
View File
@@ -25,6 +25,13 @@ class block_mnet_hosts extends block_list {
return false;
}
if (session_is_loggedinas()) {
$this->content = new stdClass();
$this->content->footer = html_writer::tag('span',
get_string('notpermittedtojumpas', 'mnet'));
return $this->content;
}
// according to start_jump_session,
// remote users can't on-jump
// so don't show this block to them
+9 -7
View File
@@ -35,16 +35,18 @@
.ie6 .block_navigation .block_tree .tree_item {width:100%;}
/** Overide for RTL layout **/
.dir-rtl .block_navigation .block_tree {padding-right:0px;}
.dir-rtl .block_navigation .block_tree li.item_with_icon > p img {right:0;}
.dir-rtl .block_navigation .block_tree li ul {padding-right:0;}
.dir-rtl .block_navigation .block_tree li.depth_2 ul {padding-right:16px;}
.dir-rtl .block_navigation .block_tree li.depth_2 ul {padding-left:0;padding-right: 7px;}
.dir-rtl .block_navigation .block_tree .tree_item {padding-right: 18px;text-align:right;}
.dir-rtl .block_navigation .block_tree .tree_item.branch {background-position: center right;}
.dir-rtl .block_navigation .block_tree .navigation_node.tree_item.branch {padding-right:0;}
.dir-rtl .block_navigation .block_tree .root_node.leaf {padding-right:0px;}
.dir-rtl .block_navigation .block_tree,
.dir-rtl .block_navigation .block_tree li ul,
.dir-rtl .block_navigation .block_tree .navigation_node.tree_item.branch,
.dir-rtl .block_navigation .block_tree .root_node.leaf {padding-right:0;}
.dir-rtl .block_navigation .block_tree li.item_with_icon > p img,
.dir-rtl .block_navigation .block_tree .type_activity > .tree_item.branch img {right:0;left:auto;}
.jsenabled.dir-rtl .block_navigation .block_tree .tree_item.emptybranch {background-image: url([[pix:t/collapsed_empty_rtl]]);background-position: center right;}
.jsenabled.dir-rtl .block_navigation .block_tree .collapsed .tree_item.branch {background-image: url([[pix:t/collapsed_rtl]]);}
+4 -6
View File
@@ -62,11 +62,10 @@ class block_online_users extends block_base {
GROUP BY $userfields
ORDER BY lastaccess DESC ";
$csql = "SELECT COUNT(u.id), u.id
$csql = "SELECT COUNT(u.id)
FROM {user} u $groupmembers
WHERE u.lastaccess > $timefrom
$groupselect
GROUP BY u.id";
$groupselect";
} else {
// Course level - show only enrolled users for now
@@ -85,14 +84,13 @@ class block_online_users extends block_base {
GROUP BY $userfields
ORDER BY lastaccess DESC";
$csql = "SELECT u.id
$csql = "SELECT COUNT(u.id)
FROM {user_lastaccess} ul $groupmembers, {user} u
JOIN ($esqljoin) euj ON euj.id = u.id
WHERE ul.timeaccess > $timefrom
AND u.id = ul.userid
AND ul.courseid = :courseid
$groupselect
GROUP BY u.id";
$groupselect";
$params['courseid'] = $this->page->course->id;
}
+6 -2
View File
@@ -1,3 +1,7 @@
.block_online_users .content .list li.listentry {clear:both;}
.block_online_users .content .list li.listentry div.user {float:left;position:relative;}
.block_online_users .content .list li.listentry div.message {float:right;}
.block_online_users .content .list li.listentry .user {float:left;position:relative;}
.block_online_users .content .list li.listentry .message {float:right;}
.block_online_users .content .info {text-align:center;}
.dir-rtl .block_online_users .content .list li.listentry .user {float:right;}
.dir-rtl .block_online_users .content .list li.listentry .message {float:left;}
+3 -1
View File
@@ -1,4 +1,6 @@
.block_recent_activity .activitydate,
.block_recent_activity .activityhead {text-align:center;}
.block_recent_activity .unlist li {margin-bottom:1em;}
.block_recent_activity li .head .date {float:right;}
.block_recent_activity li .head .date {float:right;}
.dir-rtl .block_recent_activity .content h3 {text-align: right;}

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