Compare commits

...

1264 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 7d3704f293 Moodle release 2.2.3 2012-05-12 03:26:46 +02:00
Petr Skoda ce4126c7a9 MDL-31558 add missing mimetype to send_temp_file()
backported from master
2012-05-11 22:04:33 +02:00
Eloy Lafuente (stronk7) 48861429c7 weekly release 2.2.2+ 2012-05-11 12:17:31 +02:00
Eloy Lafuente (stronk7) 6cf9033d8d Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-05-11 12:10:42 +02:00
Sam Hemelryk 94b0258dc3 MDL-31763 mod_data: Fixed array iteration reference issue 2012-05-10 17:31:24 +12:00
Sam Hemelryk f818719f11 Merge branch 'wip-MDL-31763-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-05-10 15:14:28 +12:00
Adrian Greeve 194c653a11 MDL-31763 - data - users can only override their own presets unless they have manage presets permission. 2012-05-10 10:23:12 +08:00
AMOS bot 3782723995 Automatically generated installer lang files 2012-05-10 00:31:45 +00:00
Eloy Lafuente (stronk7) 6ba42caef7 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-05-09 19:31:46 +02:00
Dan Poltawski b37bb96b0f Merge branch 'wip-mdl-31498-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-05-09 17:46:15 +08:00
Andrew Davis ad9fee8416 MDL-31488 admin: made admin_externalpage_setup() try to guess the reason why the requested section couldnt be found 2012-05-09 11:58:24 +08:00
Dan Poltawski 1357fde409 Merge branch 'w19_MDL-32733_m22_authorizemessage' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-05-09 10:28:55 +08:00
Dan Poltawski c0ba02d066 Merge branch 'w19_MDL-32775_m22_searchpix' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-05-09 10:22:55 +08:00
Sam Hemelryk 93af314f78 Merge branch 'MDL-32164-MOODLE_22_STABLE-1' of git://git.luns.net.uk/moodle into MOODLE_22_STABLE 2012-05-09 11:45:57 +12:00
Sam Hemelryk a1f173f774 Merge branch 'MDL-18095-MOODLE_22_STABLE-1' of git://git.luns.net.uk/moodle into MOODLE_22_STABLE 2012-05-09 11:31:40 +12:00
Petr Skoda 3a48019ea3 MDL-32178 ignore duplicates in enroL_database external course table 2012-05-09 11:18:55 +12:00
Ruslan Kabalin ed88a0b815 MDL-18095 gradebook: Make sure grade override flag is cleared whenever required
The check for feedback and grade equality between recorded values and the current
form ones before removing override flag is not really required.
2012-05-08 12:07:41 +01:00
Frederic Massart 8d716acba5 MDL-32718 Fixed typo in column name 2012-05-08 15:55:40 +08:00
Sam Hemelryk f4e4ac8c59 Merge branch 'MDL-32670_22' of git://github.com/rlorenzo/moodle into MOODLE_22_STABLE 2012-05-08 18:06:52 +12:00
Sam Hemelryk 329920fa22 Merge branch 'MDL-31671-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-05-08 17:41:52 +12:00
Dan Poltawski d6a84028e5 Merge branch 'w19_MDL-31691_m22_cohortidnumber' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-05-08 12:40:39 +08:00
Dan Poltawski 22f754bae6 Merge branch 'MDL-32718-sql-typo_22' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-05-08 12:35:56 +08:00
AMOS bot ffeebe6088 Automatically generated installer lang files 2012-05-08 00:31:45 +00:00
David Mudrak 0bfc4d763a MDL-32718 fixing an SQL typo in workshop_get_recent_mod_activity() 2012-05-07 10:04:46 +02:00
Dan Poltawski 4b641eaf82 Merge branch 'MDL-18335_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-05-07 15:32:31 +08:00
Ankit Agarwal 47b43d0b4c MDL-31671 calendar: update_event hook should be triggered when updating event 2012-05-07 15:04:56 +08:00
Ankit Agarwal d28da62e34 MDL-31671 calendar: Fixing error when trying to delete parent of a repeated event series 2012-05-07 15:04:56 +08:00
Dan Poltawski 9d3f3b5093 Revert "MDL-32379: Fix memory leak in session_set_user"
This reverts commit 22dc32042a.

This integrator didn't properly read the diff, sorry
2012-05-07 14:40:35 +08:00
Dan Poltawski e71b8ccbd1 Merge branch 'MDL-32684_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-05-07 13:03:57 +08:00
Dan Poltawski 9d669d60bd Merge branch 'MDL-32430_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-05-07 12:48:24 +08:00
Davo Smith 73db83bfaa MDL-32698 Question - Fixed typos in load_question_attempt 2012-05-07 12:06:04 +08:00
Dan Poltawski 35f7fa3d36 Merge branch 'mdl32379_22' of git://github.com/tlevi/moodle into MOODLE_22_STABLE 2012-05-07 11:29:09 +08:00
Petr Skoda 5c85ac9572 MDL-31691 treat cohort idnumbers as plain text 2012-05-06 21:38:24 +02:00
Petr Skoda fee082d56c MDL-32735 add missing message provider info for unmaintained enrol_authorize 2012-05-06 12:08:34 +02:00
Petr Skoda 9622a33982 MDL-32775 fix invalid url in mediaplugin CSS 2012-05-05 10:41:11 +02:00
Tim Hunt fca1061612 MDL-32430 quiz calendar events: fix pluginfile URLs in the description. 2012-05-04 15:23:54 +01:00
Eloy Lafuente (stronk7) 8075bd8d8a weekly release 2.2.2+ 2012-05-04 13:11:17 +02:00
Eloy Lafuente (stronk7) 4553925614 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-05-04 13:07:00 +02:00
Dan Poltawski 08546a8973 MDL-32693 webservice: fix typo in URL 2012-05-03 18:22:45 +02:00
Marina Glancy 3bb5950c7e MDL-32416: Picasa repository now returns path, also fixed album title retrieval 2012-05-03 11:34:19 +08:00
Rex Lorenzo fd1e4d5039 MDL-32670 mod/chat: also added missing call to ->set_heading in report.php 2012-05-02 19:08:51 -07:00
AMOS bot 1cecb26b18 Automatically generated installer lang files 2012-05-03 00:31:31 +00:00
Eloy Lafuente (stronk7) 8b727da971 MDL-32234 Library: usergetdate tests moved to assertIdentical()
(to check both type and value)
2012-05-03 00:45:39 +02:00
Eloy Lafuente (stronk7) 46d732c252 Merge branch 'wip-mdl-32234-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-05-03 00:40:23 +02:00
Rajesh Taneja 3416857d84 MDL-31498 formslib: repeat_elements will now set default for group elements 2012-05-02 17:10:30 +08:00
Aparup Banerjee 58d053313f Merge branch 'MDL-28657-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-05-02 13:55:50 +08:00
Jerome Mouneyrac e0a57f8ccc MDL-31762 username should be lowercase and check against PARAM_USERNAME when creating/updating user by web service 2012-05-02 17:52:35 +12:00
Mary Evans 3dde1fcafb MDL-32684 lib/pagelib: adds break; statements to theme order in lib/pagelib.php 2012-05-02 01:42:34 +01:00
ppichet cc2a87e3fe MDL-32181 question/calculatedmulti validate multianswers
restructuring the validation function of edit_calculatedmulti_form.php
adding $variant to
qtype_calculated_question_helper::start_attempt($this, $step, $variant);
2012-05-01 10:53:56 +08:00
Sam Hemelryk d0eeb25a64 Merge branch 'w18_MDL-32607_m22_upgrade2' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-05-01 13:33:53 +12:00
Sam Hemelryk 0ee1c3db00 Merge branch 'MDL-28955_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-05-01 13:17:12 +12:00
Sam Hemelryk 9a260ddd2c MDL-32012 Fixed white space 2012-05-01 12:38:53 +12:00
Sam Hemelryk fc3a00dc64 Merge branch 'MDL-32012_m22' of git://github.com/merrill-oakland/moodle into MOODLE_22_STABLE 2012-05-01 12:37:42 +12:00
AMOS bot 6e3ef95711 Automatically generated installer lang files 2012-05-01 00:31:42 +00:00
Sam Hemelryk 44835cdc8b Merge branch 'MDL-29264_zindex_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-05-01 08:23:48 +12:00
Rossiani Wijaya 81308ee649 MDL-18335 calendar event: fixed role capability checking to create new event 2012-04-30 17:38:10 +08:00
Tim Hunt 1434fdf7a6 MDL-32357 Try to fix unread post notification for blog-style forums.
I know that showing unread posts is not 100% blog-style, but I think
it is useful functionality, therefore, I chose to fix it, rather than,
say, disable it completely.

I think this fix will only affect blog-style forums since
forum_print_latest_discussions is only called with mode 'plain' in
three places:
1. Blog-style forums - the case we want to fix,
2. Site news forum, and
3. Social course format.

In all cases, having read tracking work properly seems like the
right thing to do.
2012-04-30 14:29:56 +08:00
Rajesh Taneja daa44ab05e MDL-32234 Library: usergetdate return different values when timezone is set
usergetdate should return consistent values for different timezone. There are
two return path
1. If timezone is servertime, it returns getdate
2. If timezone other then servertime, it use gmstrftime, which returns string and
   values with leading zero.
In second case, leading zero's are removed and values are type casted. One major fix
is with yday, getdate returns 0 through 365, whereas %j returns 001 through 366. This
has been fixed as well.
2012-04-30 10:54:11 +08:00
Sam Hemelryk 3464845868 Merge branch 'm22_MDL-32597' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-04-30 13:21:49 +12:00
Sam Hemelryk 390c3bc54a Merge branch 'MDL-28735-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-04-30 13:15:03 +12:00
Sam Hemelryk ead5f3793b Merge branch 'MDL-26523_grader_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-30 12:46:37 +12:00
Sam Hemelryk b5907a8674 Merge branch 'MDL-31429_paypal_messages_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-30 12:33:40 +12:00
Aparup Banerjee 839e233f17 MDL-19391 Database : fixed icon size 2012-04-30 12:21:12 +12:00
Sam Hemelryk d76ac3bab6 MDL-31510 grader report: Fixed whitespace 2012-04-30 12:13:09 +12:00
Sam Hemelryk 8a8f68ff97 Merge branch 'MDL-31510_group_activities_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-30 12:11:12 +12:00
Sam Hemelryk b969338742 Merge branch 'MDL-32238-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-04-30 12:02:50 +12:00
Sam Hemelryk ba69b6952a Merge branch 'MDL-32624_22_wip' of git://github.com/grabs/moodle into MOODLE_22_STABLE 2012-04-30 11:57:26 +12:00
Mary Evans e1765762c2 MDL-28955 theme_nimble: added css rules to display horizontal/vertical-menu-submenu-indicator 2012-04-28 02:28:37 +01:00
Rex Lorenzo ceb66eb1fd MDL-32670 mod/chat: added missing call to $PAGE->set_heading 2012-04-27 16:02:38 -07:00
Eric Merrill d68cf3877c MDL-32012 resource: flaw in restore from moodle 1.9 backups 2012-04-27 16:16:44 -04:00
Petr Skoda 9257815ff1 MDL-32607 prevent upgrade_set_timeout abort in CLI scripts
Credit goes to Michael Aherne, thanks.
2012-04-27 13:46:07 +02:00
Eloy Lafuente (stronk7) 446dbeed7a weekly release 2.2.2+ 2012-04-27 12:47:40 +02:00
Eloy Lafuente (stronk7) 5f5990903f Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-04-27 12:41:09 +02:00
Eloy Lafuente (stronk7) 0baa0a305d Revert "MDL-32249 completion: Round course grades and remove hardcoded string"
This reverts commit b795d69cc3.
2012-04-27 12:06:39 +02:00
Andrew Davis 23caf506ba MDL-29264 course: removed the z-index from course css for course completion elements 2012-04-27 11:11:33 +07:00
Andrew Davis 50223a8ae1 MDL-26523 grade: fixed a called to addHelpButton() that was asking for a non-existent string 2012-04-27 09:19:35 +07:00
AMOS bot 1fc08528c7 Automatically generated installer lang files 2012-04-27 00:31:44 +00:00
Andrew Davis 79c0996c64 MDL-31510 grade: made the user report observe $cm->uservisible so that activities not available to a student because of groups do not appear on their user report 2012-04-26 16:59:48 +07:00
Andrew Davis 923ea459d8 MDL-31429 enrol: added db/messages.php for enrolment plugins and added some smarts to messaging so it won't display message settings for disabled enrolment plugins 2012-04-26 16:10:13 +07:00
Chris Follin ab01926c99 MDL-31429 enrol: Add missing string for PayPal enrolment messages.
Signed-off-by: Andrew Davis <andrew@moodle.com>
2012-04-26 16:08:51 +07:00
Marina Glancy 47a6c7ee31 MDL-32417: Fixed regression in original (cherrypick) backport 2012-04-26 10:22:58 +02:00
Eloy Lafuente (stronk7) c821346cfe Merge branch 'MDL-19263-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-04-26 02:59:16 +02:00
Eloy Lafuente (stronk7) b8fffc6128 Merge branch 'MDL-32630-workshop-calendar_22' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-04-26 02:20:22 +02:00
David Mudrak 08258a6dfb MDL-32630 workshop_calendar_update() does not check for calendar permissions
As discussed in MDL-32631, calendar_event::update() should not do
capability checks at all. Until that issue is fixed, we just explicitly
declare that no capability checks should be done.

The function workshop_calendar_update() is executed when adding or
updating a workshop instance (where permissions to modify the instance
were already checked and are sufficient) and in the upgrade code (where
no check should be performed anyway).
2012-04-25 16:04:47 +02:00
Eloy Lafuente (stronk7) cf1f0dfb43 Merge branch 'MDL-32192_copy_string_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-25 13:08:05 +02:00
Marina Glancy 8c19c9cfd0 MDL-32417: Fixed pagination bug in Flickr search results, also return thumbnail sizes 2012-04-25 03:42:42 +02:00
Eloy Lafuente (stronk7) 76c51e3b9b MDL-32490 Offline assignment: phpdocs and whitespace fixes 2012-04-25 02:41:39 +02:00
Henning Bostelmann 48dd268c8d MDL-32490 Offline assignment: do not display lateness information 2012-04-25 02:41:32 +02:00
AMOS bot d71590772f Automatically generated installer lang files 2012-04-25 00:31:38 +00:00
Eloy Lafuente (stronk7) 89d13f61ca Merge branch 'MDL-32082_messaging_readability_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-25 01:57:13 +02:00
Eloy Lafuente (stronk7) 5f250cff88 Merge branch 'wip-MDL-30478-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-04-25 01:12:41 +02:00
Eloy Lafuente (stronk7) 46c485a63c Merge branch 'MDL-31548-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-04-24 23:29:54 +02:00
Andreas Grabs 36e673a766 MDL-32624 - initialbars disappears 2012-04-24 21:25:15 +02:00
Eloy Lafuente (stronk7) 352476d131 MDL-31914 db fix - cannot use table aliases on DELETE statements. Credit goes to Andrew Nicols (LUNS). 2012-04-24 13:08:29 +02:00
Eloy Lafuente (stronk7) b5dd45511d Merge branch 'MDL-32249-22' of github.com:srynot4sale/moodle into MOODLE_22_STABLE 2012-04-24 12:58:50 +02:00
Eloy Lafuente (stronk7) 5c487f23ae MDL-32102 Course completion - bump to 2011120502.08 (07 was already in use) 2012-04-24 12:30:49 +02:00
Andrew Robert Nicols 8a28dbd4e1 MDL-31914 Ensure that completion criteria are deleted when removing a course module 2012-04-24 12:28:33 +02:00
Dan Poltawski 8589241024 Merge branch 'm22_MDL-32102' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-04-24 15:17:51 +08:00
Ankit Agarwal 525a4642cd MDL-32238 course: Timemodifed should be updated when a course's visible status is toggled from the category page 2012-04-24 13:41:28 +08:00
Dan Poltawski d25f6a8ecb Merge branch 'w17_MDL-32427_m22_protocols' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-24 10:27:22 +08:00
Dan Poltawski 1d6070951a Merge branch 'w17_MDL-25407_m22_innodb' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-24 10:23:34 +08:00
Ankit Agarwal 958f4ff45f MDL-28735 calendar: Fixing issues with course selection dropdown 2012-04-24 09:39:12 +08:00
Andrew Robert Nicols 8d66adc9b8 MDL-32454 Fix issues highlighted by strict warnings in MNet code 2012-04-24 01:54:26 +02:00
Andrew Robert Nicols 186fe7abe9 MDL-32514 Remove onclick for the group delete button 2012-04-24 01:43:08 +02:00
Dan Marsden 80f9011c00 MDL-32597 typo in path to version.php file for local plugins 2012-04-24 11:14:57 +12:00
Eloy Lafuente (stronk7) 0742a01d54 Merge branch 'MDL-19549-22' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-04-24 01:01:06 +02:00
Eloy Lafuente (stronk7) cbc6589769 Merge branch 'MDL-28176-22' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-04-24 00:31:06 +02:00
Eloy Lafuente (stronk7) f46c9dd0f2 Merge branch 'MDL-32134-22' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-04-24 00:08:44 +02:00
Eloy Lafuente (stronk7) 5a2d320ca6 Merge branch 'wip-MDL-26500-22' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-04-24 00:05:16 +02:00
Petr Skoda 3b1055ee4c MDL-25407 ignore errors in CLI mysql engine conversion script 2012-04-23 19:20:00 +02:00
Eloy Lafuente (stronk7) f7de3d4360 MDL-29262 simpletest: fix forgotten mock objects to avoid strict notices 2012-04-23 16:30:37 +02:00
Dan Poltawski 1e13c7b154 Merge branch 'MDL-32431' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-04-23 17:10:57 +08:00
Dan Poltawski ac05e65ef2 Merge branch 'w17_MDL-32477_m22_cloneperm' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-23 16:35:34 +08:00
Petr Skoda c609c3968e MDL-32427 fix suport for extra schemes in links in HTML Purifier 2012-04-23 10:30:43 +02:00
Dan Poltawski 7b969f0bb0 Merge branch 'w17_MDL-31553_m22_clitimeout' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-23 15:25:49 +08:00
Petr Skoda 3691c0de24 MDL-31553 do not timeout CLI upgrade scripts
Credit goes to Michael Aherne.
2012-04-23 08:53:41 +02:00
Dan Poltawski 4be12986aa Merge branch 'MDL-32462_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-23 12:54:07 +08:00
Dan Poltawski 2d3659da69 Merge branch 'MDL-32104-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-04-23 12:50:02 +08:00
Dan Poltawski 7c4e7f8fdf Merge branch 'MDL-29262_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-04-23 12:42:33 +08:00
Dan Poltawski ced892ebb2 Merge branch 'w17_MDL-25407_m22_innodb' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-23 12:24:48 +08:00
Jerome Mouneyrac 6d8e40a429 MDL-31431 webservices: improve user pic docs
Explain how to retrieve profile picture when forcelogin is set to NO and guestaccess to Yes
2012-04-23 11:43:27 +08:00
Andrew Robert Nicols 2bda67fa52 MDL-32459 Adjust order of remote enrolment help text to suit form order 2012-04-23 10:44:11 +08:00
Iñaki Arenaza ead9fe0cdf MDL-16646 auth/cas CAS configuration page mis-spellings
Signed-off-by: Iñaki Arenaza <iarenaza@mondragon.edu>
2012-04-23 10:33:59 +08:00
Dan Poltawski d97f2caf13 Merge branch 'MDL-23647_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-04-23 10:27:51 +08:00
Chris Follin f084d74ed1 MDL-32492 auth/cas: respect https login links 2012-04-23 09:50:17 +08:00
Aaron Barnes b795d69cc3 MDL-32249 completion: Round course grades and remove hardcoded string 2012-04-23 12:24:54 +12:00
Dan Marsden f778133a99 MDL-32102 Course completion - only restore user completion if not adding to existing course 2012-04-23 11:33:33 +12:00
Eloy Lafuente (stronk7) 6a726a9901 MDL-29262 restore: Clean controller obj form DB once finished ok 2012-04-23 00:36:41 +02:00
Eloy Lafuente (stronk7) 412ae7b629 MDL-29262 backup: Clean controller obj form DB once finished ok 2012-04-23 00:36:32 +02:00
Eloy Lafuente (stronk7) c3cc54fcce MDL-29262 backup: new setting to control the ttl of backup logs
Add one new backup setting, moving from the general CFG->loglifetime,
to be able to delete backup logged information often.

Conflicts:

	admin/settings/courses.php
	version.php
2012-04-23 00:35:10 +02:00
AMOS bot 9fed35fb09 Automatically generated installer lang files 2012-04-22 00:31:41 +00:00
Petr Skoda 6e41a68058 MDL-25407 ignore errors when converting to InnoDB and ignore timeout
This should help resolve problems with table views and other unsupported stuff.
2012-04-21 11:51:51 +02:00
Andrew Davis 65634948fa MDL-32191 grade:renamed a mis-spelled string name
AMOS BEGIN
 CPY [invalidgradeitmeid,error],[invalidgradeitemid,error]
AMOS END
2012-04-21 11:44:40 +07:00
Andrew Davis 85427358fc MDL-32082 message: added a function to make user checks more readable 2012-04-21 11:22:28 +07:00
Charles Fulton edb257109e MDL-28657 backup: make automated backup filenames site admin-configurable 2012-04-20 08:48:29 -07:00
Charles Fulton e89535552b MDL-19263 assignment: only notify users enrolled in course 2012-04-20 06:15:03 -07:00
Tim Hunt c08ea5202f MDL-32462 accesslib: fix context_user::build_paths performance
The problem was that the query was updating every row whether it needed
it or not. This turns out to be a really bad thing to do on Postgres,
because it then triggers a long expensive vacuum, which lock the context
table for a long time a really bad thing to do.
2012-04-20 10:30:26 +01:00
Tim Hunt bd680d8a01 MDL-32519 completio: Fix spelling of Enrolled. 2012-04-20 10:24:17 +01:00
Ankit Agarwal 1ac84ccdfc MDL-32431 backup: Adding the feature to support backing up and restoring calendar events 2012-04-20 08:57:49 +08:00
Ankit Agarwal 661fc73a96 MDL-32104 forum: Fixing issue with logs during restore 2012-04-20 08:55:33 +08:00
Ankit Agarwal 62c325eefe MDL-31548 enrollments: Introducing new api enrol_get_all_users_courses() that returns all user courses without any checks 2012-04-20 08:53:58 +08:00
AMOS bot e5a5ca2bcb Automatically generated installer lang files 2012-04-20 00:32:29 +00:00
Adrian Greeve 595b68e2fd MDL-30478 - wiki - Fixing up group problems when viewing and creating wiki pages.
Thanks to Matt Kolb for his contribution.
2012-04-20 07:32:13 +08:00
Petr Skoda 804feede10 MDL-32477 allow cloning of plugin permissions from core
Please note it is discouraged to clone from different plugin type because the upgrade order is not guaranteed.
2012-04-19 22:11:15 +02:00
Dan Poltawski 93fb7b528b weekly release 2.2.2+ 2012-04-19 17:48:21 +08:00
Dan Poltawski d6f387e262 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-04-19 17:39:12 +08:00
Andrew Robert Nicols a25ac01e95 MDL-32061 Use old lesson_answer ID and correct when restoring lesson attempts 2012-04-18 02:44:01 +02:00
Jerome Mouneyrac adca1840c4 MDL-30225 Creating new web service tokens create error 2012-04-17 18:54:03 +08:00
Dan Poltawski 54ba4bf583 MDL-26500 blog: Rewrite pluginfile urls in RSS 2012-04-17 17:47:34 +08:00
Dan Poltawski 403c191be1 MDL-26500 mod/glossary: Rewrite pluginfile urls in RSS 2012-04-17 17:47:34 +08:00
Dan Poltawski 69065330c4 MDL-26500 mod/forum: Rewrite pluginfile urls in RSS 2012-04-17 17:47:33 +08:00
Dan Poltawski c8ad77f876 MDL-19549 lang: make a string less scary 2012-04-17 17:17:29 +08:00
Dan Poltawski 35eb31fa38 Merge branch 'MDL-25660-workshop-calendar_22' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-04-17 16:07:12 +08:00
Dan Poltawski dc52f193eb MDL-28176 lang - rephrase conditional access description 2012-04-17 13:38:03 +08:00
Dan Poltawski e449096842 MDL-32134 lang: Add missing PNG string 2012-04-17 11:29:52 +08:00
AMOS bot 49eb5cf372 Automatically generated installer lang files 2012-04-17 00:31:48 +00:00
Dan Poltawski 36ddd604b5 Merge branch 'w16_MDL-32437_m22_tablename' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-16 20:50:25 +08:00
Dan Poltawski 1399a5bc41 Merge branch 'MDL-32358_22' of https://github.com/ppichet/moodle into MOODLE_22_STABLE 2012-04-16 14:31:17 +08:00
Jerome Mouneyrac 2547042fe6 MDL-31694 Fix XSS security issue with service name accepting javascript 2012-04-16 14:27:45 +08:00
Sam Hemelryk 5335b7deb8 Merge branch 'MDL-29174_MOODLE_22' of git://github.com/raymanuk/moodle into MOODLE_22_STABLE 2012-04-16 17:37:04 +12:00
Dan Poltawski afa1de62b2 Merge branch 'wip-MDL-32393-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-04-16 13:29:07 +08:00
Dan Poltawski d2db892076 MDL-32443 queupgradehelper cli: fix path & whitespace 2012-04-16 13:23:17 +08:00
Dan Poltawski ddbc74866d Merge branch 'MDL-32443_m22' of git://github.com/merrill-oakland/moodle into MOODLE_22_STABLE 2012-04-16 13:14:42 +08:00
Sam Hemelryk 80bc3d9880 Merge branch 'MDL-32385_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-04-16 17:06:09 +12:00
Dan Poltawski d4608845b2 Merge branch 'MDL-32404_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-16 13:01:52 +08:00
Sam Hemelryk 4a979297aa Merge branch 'MDL-32444_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-04-16 15:59:38 +12:00
Eric Merrill ce4ca89ef1 MDL-32443 qeupgradehelper: Add cli tool to execute qeupgrade helper 2012-04-15 23:51:56 -04:00
Sam Hemelryk 41d2e418a7 MDL-32353 fixed up very minor whitespace 2012-04-16 15:22:59 +12:00
Sam Hemelryk 11990142b0 Merge branch 'MDL-32353_m22' of git://github.com/merrill-oakland/moodle into MOODLE_22_STABLE 2012-04-16 15:11:59 +12:00
Dan Poltawski 253b5f4d7e Merge branch 'MDL-32442_m22' of git://github.com/merrill-oakland/moodle into MOODLE_22_STABLE 2012-04-16 10:51:46 +08:00
ppichet 8858129c17 MDL-32358 : numerical question: validation messages errors
The selected unit parameter is added answer paramter when renderer call
 $question->get_validation_error() so that it mimics the
is_complete_response(array $response) structure.
2012-04-15 22:29:32 -04:00
Sam Hemelryk 0656d45fbc Merge branch 'm22_MDL-32388' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-04-16 12:23:10 +12:00
Sam Hemelryk 98a4be5176 Merge branch 'MDL-30819_grader_col_highlight_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-16 11:45:36 +12:00
Mary Evans b2fd3caea6 MDL-23647 theme_anomaly: Removed margin + added padding to current week main content to give it more definition. 2012-04-16 00:37:21 +01:00
Sam Hemelryk 77b300ca51 Merge branch 'MDL-30955_forum_ratings_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-04-16 11:34:26 +12:00
Sam Hemelryk cb36e6ba4a Merge branch 'MDL-32316_22_wip' of git://github.com/grabs/moodle into MOODLE_22_STABLE 2012-04-16 11:00:25 +12:00
Sam Hemelryk b182c1238e Merge branch 'MDL-27547-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-04-16 10:47:58 +12:00
Petr Skoda fead3b432a MDL-32437 fix invalid gradebook query sql 2012-04-15 14:26:18 +02:00
Mary Evans 877a07f709 MDL-32444 theme_afterburner: adds 5px margin to the left of #loginbtn, input, button, select in /style/afterburner_styles.css 2012-04-15 01:50:31 +01:00
Tim Hunt e0538fa845 MDL-32404 question export: missing error message when exporting an empty category. 2012-04-14 15:44:22 +01:00
Mary Evans 41f8ca66e0 MDL-32385 theme_base: adds line-height:normal in style/course.css for section summary 2012-04-14 15:04:31 +01:00
Eric Merrill a68b0363bf MDL-32442 questionupgrade: error in SQL from postgres systems 2012-04-14 09:06:02 -04:00
AMOS bot 47860563bc Automatically generated installer lang files 2012-04-14 00:31:56 +00:00
David Mudrak ade4de356e MDL-25660 workshop removes its calendar events on instance deletion 2012-04-13 13:11:09 +02:00
David Mudrak 4494053b02 MDL-25660 recreate all workshop calendar events
Due to complex workshop upgrade path from 1.9 and missing calendar events
support in 2.x, the only safe way to get rid of potentially invalid
calendar events (such as those reported in MDL-26687) is to remove all
current workshop events and recreate them from scratch.
2012-04-13 04:43:58 +02:00
David Mudrak 6c6042404a MDL-25660 workshop registers events in the calendar 2012-04-13 04:43:40 +02:00
Eric Merrill 085cc4ef9a MDL-32353 backup: Flaw in settings logic for user info and anonymise 2012-04-12 10:57:24 -04:00
Dan Poltawski b1d3043354 weekly release 2.2.2+ 2012-04-12 13:27:17 +08:00
Dan Poltawski dc201dce9e Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-04-12 12:59:46 +08:00
Andrew Davis 92a7892d42 MDL-30955 rating: corrected /rating/index.php as it was determining the maximum rating incorrectly for custom scales 2012-04-12 10:19:15 +07:00
Andrew Davis c2e8445bf1 MDL-30819 grade: fixed column highlighting on the grader report 2012-04-12 10:14:36 +07:00
AMOS bot e6524dcbf9 Automatically generated installer lang files 2012-04-12 00:31:27 +00:00
Dan Marsden 2ed2d8c111 MDL-32388 SCORM: Fix chrome pop-ups 2012-04-11 21:05:49 +12:00
Jerome Mouneyrac e8a2384eb6 MDL-27547 When deleting a local plugin containing a built-in service, the built-in service is not deleted 2012-04-11 15:01:12 +08:00
Sam Hemelryk 61231c48fa Revert "MDL-30843 and MDL-30842 - accessibility compliance: Add <label> for form input text and select tag"
This reverts commit f01c7ddc7c.
2012-04-11 17:20:29 +12:00
Dan Poltawski b0a994f460 Merge branch 'MDL-32217_22' of git://github.com/ppichet/moodle into MOODLE_22_STABLE 2012-04-11 09:27:38 +08:00
Sam Hemelryk bd8d0b81d6 MDL-32393 navigation: Fixed up issue when rendering action_link instances for the navigation 2012-04-11 10:57:15 +12:00
Sam Hemelryk 999f7e3e17 MDL-32124 mod_feedback: Cleanup post-integration of unused var 2012-04-10 17:21:59 +12:00
Sam Hemelryk ec01a02d8b Merge branch 'MDL-32124_22_wip' of git://github.com/grabs/moodle into MOODLE_22_STABLE 2012-04-10 17:11:57 +12:00
Tony Levi e71b08c529 MDL-32379: Fix memory leak in session_set_user
session_set_user mistakingly sets the session user to be a reference to the passed object.

This is a problem when alot of data is attached to the session user object,
as any process holding a list of these users will use more memory each time it changes user.
2012-04-10 14:09:10 +09:30
Jason Fowler d4341ff79c MDL-27427 - Blog - Adding ability to delete entries from external blogs 2012-04-10 12:05:20 +08:00
Dan Poltawski 697f104ac1 Merge branch 'wip-mdl-30051-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-04-10 11:06:09 +08:00
sam marshall 167c8c6714 MDL-32349 Installing can time out with large number of plugins 2012-04-10 12:40:00 +12:00
ppichet d8c5082b76 MDL-32217_22 Setting options->unitgradingtype
Signed-off-by: ppichet <pichet.pierre@uqam.ca>
2012-04-09 20:09:50 -04:00
Sam Hemelryk b054ead121 Merge branch 'MDL-30843_b_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-04-10 11:01:37 +12:00
Sam Hemelryk 3f046db150 Merge branch 'wip-mdl-32270-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-04-10 10:53:19 +12:00
Sam Hemelryk d9cc6b7a31 Merge branch 'w15_MDL-32263_m22_enroladmin' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-04-10 10:48:15 +12:00
Andreas Grabs eb11030b38 MDL-32316 feedback: fix tem type label does honor trusted text 2012-04-10 00:27:59 +02:00
Petr Skoda 43400d60de MDL-32263 remove broken admin test in enrol_check_plugins() 2012-04-09 20:01:28 +02:00
Hugh Davenport 2719e7c8f9 MDL-32308 Fix error when testing id of guest user 2012-04-09 19:05:54 +02:00
Andreas Grabs 767ed44ca4 MDL-32124 - mails to non respondents are sent as plain text with html-tags 2012-04-07 17:31:39 +02:00
Aparup Banerjee f24ff8f8d4 weekly release 2.2.2+ 2012-04-05 16:42:19 +08:00
Aparup Banerjee 42bcf023b4 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-04-05 16:19:49 +08:00
Aparup Banerjee c461a6a0a7 Merge branch 'wip-MDL-31631-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-04-04 13:41:00 +08:00
Eloy Lafuente (stronk7) bdd773ba40 Merge branch 'MDL-32240_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-04 00:11:43 +02:00
Eloy Lafuente (stronk7) fcc24148d6 Merge branch 'wip-MDL-29678-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-04-03 23:52:32 +02:00
Sam Hemelryk 729ef69705 Merge branch 'MDL-32137-MOODLE_22_STABLE-1' of git://git.luns.net.uk/moodle into MOODLE_22_STABLE 2012-04-04 08:21:52 +12:00
Eloy Lafuente (stronk7) 8c6bc1e000 Merge branch 'wip-MDL-32018-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-04-03 21:06:16 +02:00
Ray Guo d6b01141a1 MDL-29174 Remove the empty modulename_extend_navigation() stub from 7
modules.
2012-04-03 15:46:54 +01:00
Ruslan Kabalin 4f4bf67a31 MDL-32137 Fix message preference settings.
When a messaging output is set to forced, users should not be able to change
that. Regression intoroduced in bb3546f3 made possible to change checkboxes
(but not avoid forced settings). This fix replace checkboxes for 'forced'
settings with the corresponding message, similar to how it worked for
disallowed before.
2012-04-03 11:55:38 +01:00
Aparup Banerjee d0f6d6172a Merge branch 'wip-MDL-30784-stable22' of git://github.com/phalacee/moodle into MOODLE_22_STABLE 2012-04-03 17:00:51 +08:00
Aparup Banerjee 3ba909de87 Merge branch 'wip-MDL-31789-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-04-03 16:32:06 +08:00
Marina Glancy 97c0418e64 MDL-32171: add 'Manage' link to Picasa repository
Conflicts:

	repository/picasa/lib.php
2012-04-03 13:07:06 +08:00
Dan Poltawski a028969cc7 Merge branch 'wip-mdl-30904-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-04-03 11:39:21 +08:00
Rajesh Taneja cb2c45b31f MDL-32270 Library: ->defaulthomepage is checked before used 2012-04-03 11:29:33 +08:00
Dan Poltawski 65e5640a94 Merge branch 'MDL-32220_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-03 11:10:19 +08:00
Sam Hemelryk f65eadd42d Merge branch 'wip-mdl-32150-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-04-03 10:32:53 +12:00
Davo Smith ed9cc071d5 MDL-32213 Question upgrade now correctly handles non-core manually-graded question types 2012-04-02 17:00:44 +08:00
Dan Poltawski 41b4bb03b2 Merge branch 'MDL-32039_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-02 11:50:50 +08:00
Andreas Grabs 18ca35b3fa MDL-31768 - it is not possible to add a picture to the thanks page in feedback 2012-04-02 11:18:19 +08:00
Dan Poltawski 17ee774fdf Merge branch 'MDL-32214' of git://github.com/mkassaei/moodle into MOODLE_22_STABLE 2012-04-02 11:02:37 +08:00
Sam Hemelryk 2de2d0d2cd Merge branch 'MDL-32239_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-02 14:31:08 +12:00
Dan Poltawski 94bea73f29 Merge branch 'wip-MDL-32264-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-04-02 10:16:50 +08:00
Rajesh Taneja a99a9a163e MDL-32150 Libraries: checkbox controller will not check or uncheck freezed checkboxes 2012-04-02 10:12:06 +08:00
Dan Poltawski d54abc73a1 Merge branch 'MDL-32246_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-02 10:06:23 +08:00
Dan Poltawski 46303d1deb Merge branch 'MDL-32201_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-04-02 09:42:37 +08:00
Sam Hemelryk 0292c465fe Merge branch 'MDL-32256-cron-return_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-04-02 11:27:55 +12:00
Sam Hemelryk 12376c971f Merge branch 'MDL-32258-data-cron_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-04-02 11:24:41 +12:00
Kanika Goyal 84c10aaa7c MDL-31908 Glossary: entry list format- printable version does not show content 2012-04-02 11:20:55 +12:00
Sam Hemelryk fc0acdfacd Merge branch 'MDL-32289_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-04-02 10:16:20 +12:00
Mary Evans 59c0293d9e MDL-32289 theme_afterburner: added lang menu to frontpage layout in config.php 2012-04-01 01:12:03 +01:00
Mary Evans 04b1865d44 MDL-32262 theme_afterburner: fixed missing comma in afterburner_styles.css 2012-04-01 00:40:05 +01:00
Rajesh Taneja d2fbfb5f73 MDL-30051 cron: login error sql is now cross db 2012-03-30 16:50:42 +08:00
Rossiani Wijaya f01c7ddc7c MDL-30843 and MDL-30842 - accessibility compliance: Add <label> for form input text and select tag 2012-03-30 16:44:13 +08:00
Rajesh Taneja 48e43c12e6 MDL-32150 Libraries: checkall and uncheckall will not select disabled or readonly checkboxes 2012-03-30 13:04:52 +08:00
Rajesh Taneja f90a927b52 MDL-30904 Calendar: Event links are descriptive with hidden event name, for screen readers 2012-03-30 13:02:02 +08:00
AMOS bot 120aa6fd38 Automatically generated installer lang files 2012-03-30 00:33:10 +00:00
Jason Fowler 11c5042847 MDL-30784 - lib - Patch provided by Jason Hardin to provide detection for Android Tablets to allow the theme engine to provide the tablet theme 2012-03-30 08:24:32 +08:00
Sam Hemelryk 76fae9b6ab MDL-29678 lib: Require login now overrides to false for AJAX scripts 2012-03-30 10:23:56 +13:00
Sam Hemelryk 431c68a867 MDL-29678 navigation: Navigation AJAX require_login calls no longer set wantsurl or redirect 2012-03-30 10:23:56 +13:00
Sam Hemelryk 7b88b81a49 MDL-31631 navigation: Removed caching of activities and sections arrays in favour of relying on cminfo caching 2012-03-30 10:22:56 +13:00
Sam Hemelryk 4b023f2a10 MDL-32018 mod_wiki: Fixed up whitespace after peer-review 2012-03-30 10:21:32 +13:00
Sam Hemelryk 2be11d5faf MDL-32018 mod_wiki: Fixed formatting of the page title so that is is consistent and secure 2012-03-30 10:21:32 +13:00
Sam Hemelryk d6105bc1e1 MDL-32018 mod_wiki: Improved form definitions to ensure they consistent and secure 2012-03-30 10:21:32 +13:00
Sam Hemelryk 7068811aa9 MDL-32264 theme_standard: Fixed multi-day calendar event border issue 2012-03-30 10:19:51 +13:00
Tim Hunt 2c92dc7bab MDL-32039 qeupgradehelper: fix typos in the lang strings 2012-03-29 21:38:24 +01:00
Tim Hunt 0971dd7939 MDL-32201 question export: use qformat_xml::write_answer in base class
Without this, images in answers were not being written to the export
file for questions using extra_answer_fields.
2012-03-29 15:20:17 +01:00
David Mudrak 5e9050d1fb MDL-32258 database module does not have any data_cron() function to execute 2012-03-29 16:02:54 +02:00
David Mudrak d55cca19cf MDL-32256 quiz_cron() now returns true as expected by the current API 2012-03-29 15:52:40 +02:00
Tim Hunt 0175c5efaa MDL-32240 quiz editing: check permissions questions are added.
We also check permissions when removing questions from the quiz, so that
we do not let users make mistakes they cannot immediately undo.

Conflicts:

	mod/quiz/editlib.php
2012-03-29 14:52:19 +01:00
Tim Hunt 29e247e44e MDL-32239 question bank: wrong cap checks editing/viewing quesitions
None of these problems affect the default roles. They only occur when
the permissions have been edited to allow restricted subsets of the
question capabilities.

In some cases, things that the restriced subset of capabilities should
have allowed were blocked by errors. In other cases, users were allowed
to do more than they should bave been due to failures to check the
right capabilities in the right places.

For full details, see the bug report.

Two of the bugs were previously reported separately as MDL-26395 and
MDL-27232.
2012-03-29 14:34:09 +01:00
Tim Hunt 112bbb8ff4 MDL-32246 question export: should cope with unrecognised qtypes.
If a question is of an unrecognised type, then we just omit it from the export.
2012-03-29 14:09:19 +01:00
Tim Hunt e4a8f90479 MDL-32220 question import: files sometimes stored in the wrong context.
Sadly, this involves a small API change, but I don't believe anyone was
using the argument I had to remove (because we were sometimes passing a
wrong value, and there is not way to compute the right value at that
point in the code.)

Also sadly, the code to compute the context we are importing into is now
rather spaghetti-like, but it works.

Conflicts:

	question/format/examview/format.php
	question/format/learnwise/format.php
	question/format/webct/format.php
2012-03-29 14:08:52 +01:00
Eloy Lafuente (stronk7) 58db57ad53 weekly release 2.2.2+ 2012-03-29 13:25:05 +02:00
Eloy Lafuente (stronk7) cf6b626f39 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-29 13:20:12 +02:00
Dan Poltawski bddec3c1d6 Revert "MDL-31914 Ensure that completion criteria are deleted when removing a course module"
This reverts commit 3bf0bb64fd.
2012-03-29 15:58:08 +08:00
AMOS bot 340691baab Automatically generated installer lang files 2012-03-29 00:31:47 +00:00
Marina Glancy 67ace38c82 MDL-31789: Allowing context object to be passed to JS using json_encode()
Classes with magic properties such as context do not pass through json_encode().
The solution is to implement iterator in such classes and convert what we
feed to json_encode to array using 'foreach' before we pass it to json_encode():
- class context implements IteratorAggregate
- added function convert_to_array() that converts anything to array
- before calling json_encode we convert the argument to array
2012-03-28 11:43:46 +08:00
M Kassaei 4bc0b067b6 MDL-32214 quiz regrading: with many attempts, PHP runs out of memory 2012-03-27 16:15:25 +01:00
Dan Poltawski 9d0610f0f3 MDL-31775 lesson: fix undefined variable warnings 2012-03-27 20:02:48 +08:00
Andrew Robert Nicols 3bf0bb64fd MDL-31914 Ensure that completion criteria are deleted when removing a course module
Conflicts:

	lib/db/upgrade.php
	version.php
2012-03-27 10:28:38 +02:00
Dan Poltawski 59fccfb0cf Merge branch 'MDL-32028_m22' of git://github.com/nebgor/moodle into MOODLE_22_STABLE 2012-03-27 14:47:44 +08:00
Aparup Banerjee 0161e20b65 Merge branch 'wip-MDL-32106-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-03-27 10:10:19 +08:00
Tim Lock da496c52f8 MDL-31869: Searching for users in messaging with multiple roles generates a warning 2012-03-27 10:00:29 +08:00
Sam Hemelryk ec202ddbba Merge branch 'MDL-22510-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-27 11:03:08 +13:00
Sam Hemelryk 015c334a73 Merge branch 'm22_MDL-32147' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-03-27 09:51:28 +13:00
Dan Poltawski e0f6644dc0 Merge branch 'MDL-31775_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-26 14:41:46 +08:00
Dan Poltawski 26420be610 Merge branch 'MDL-32172_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-26 12:22:57 +08:00
Dan Poltawski 4270267ee9 Merge branch 'm22_MDL-31856_choice_responses_inconsistently_displayed' of git://github.com/kanikagoyal/moodle into MOODLE_22_STABLE 2012-03-26 12:11:18 +08:00
Dan Poltawski 55878aa09b Merge branch 'MDL-27710_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-26 11:27:38 +08:00
Marina Glancy e30281eed5 MDL-32106: fixed JS bug - when html element did not exist the script stopped 2012-03-26 10:48:08 +08:00
Ankit Agarwal d06b2e0c89 MDL-22510 libraries: Set wantsurl only when $setwantsurltome is set in
require_login
2012-03-26 08:56:17 +08:00
Iurii Kucherov 071746fb4a MDL-31513 rename 'Edit service' to 'Save changes' 2012-03-26 12:12:08 +13:00
Andrew Robert Nicols 07435fc117 MDL-32142 Add missing langstring for section backups 2012-03-26 12:01:50 +13:00
Sam Hemelryk 2733a8c4d5 Merge branch 'wip-mdl-29331-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-26 11:57:29 +13:00
Rajesh Taneja ea496d1a00 MDL-31903 course: Title on highlight and hide icon should be only added in ie 2012-03-26 11:45:58 +13:00
Rajesh Taneja f6fd27e70a MDL-31903 course: Highlight icon will get iniatlised properly 2012-03-26 11:45:58 +13:00
Rajesh Taneja e06bc8c074 MDL-31903 course: update patch to fix course highlight icon and title toggle 2012-03-26 11:45:58 +13:00
Juho Viitasalo 46424df47a MDL-31903 course: Fixed course highlight icon and title toggle 2012-03-26 11:45:58 +13:00
Sam Hemelryk abdbeec6bb Merge branch 'MDL-29400' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-03-26 11:19:27 +13:00
Ruslan Kabalin 772c720527 MDL-32026 messaging: Fix non-existing variable in the error output 2012-03-26 11:14:12 +13:00
Mary Evans 4cfd77fc0e MDL-30019 theme_fusion: fix for mod-assignment-submission page by reducing font-size and page wapper padding 2012-03-25 08:24:22 +01:00
AMOS bot 7ec66c7da8 Merge branch 'MOODLE_22_STABLE' into install_22_STABLE 2012-03-24 00:32:16 +00:00
Andrew Robert Nicols 44f2c95717 MDL-32164 Add string for file encoding
AMOS BEGIN
  CPY [encoding,tool_uploaduser],[fileencoding,mod_data]
AMOS END
2012-03-23 09:54:59 +00:00
Rossiani Wijaya a69d0091fa MDL-32172 Lesson Module: add variable initialization for 2012-03-23 15:39:12 +08:00
Rajesh Taneja c0254bafa8 MDL-29331 Users: Participants list with user_details now show check box for bluk operation 2012-03-23 11:28:58 +08:00
AMOS bot e8e1b85e72 Automatically generated installer lang files 2012-03-23 00:31:45 +00:00
Sam Hemelryk a81e8c47f1 weekly release 2.2.2+ 2012-03-23 12:19:07 +13:00
Sam Hemelryk 292f509cff Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-23 12:11:03 +13:00
Dan Marsden 7ebb628d8d MDL-32147 - use correct 404 for server type 2012-03-23 10:00:31 +13:00
Dan Marsden ef1889484b MDL-32147 SCORM improve performance of 404s for files inside SCORM packages. 2012-03-23 09:44:32 +13:00
Kanika Goyal 4941396825 MDL-31856, if choice not open, responses inconsistently displayed 2012-03-22 18:57:49 +05:30
Sam Hemelryk 366d7c0aba MDL-31528 categories: Fixed up typo 2012-03-22 09:45:45 +13:00
Sam Hemelryk 11c86239b7 MDL-31528 category: Fixed use of lang_string class 2012-03-21 14:28:37 +13:00
Sam Hemelryk 89399cb129 Merge branch 'wip-mdl-31640-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-21 09:50:13 +13:00
Sam Hemelryk 0d2001b756 Merge branch 'MDL-28952-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-21 09:29:12 +13:00
Andrew Robert Nicols 9c6d59285e MDL-32065 Allow feedback images to be themed 2012-03-21 09:25:22 +13:00
Dan Poltawski 91e79a37cc Merge branch 'MDL-31266_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-20 21:45:03 +08:00
Rossiani Wijaya 9530780571 MDL-31775 Lesson Module: fixed start at last page seen bug 2012-03-20 17:36:21 +08:00
Aparup Banerjee a57b5479db MDL-29848 glossary: fixed whitespace 2012-03-20 16:12:54 +08:00
Aparup Banerjee 6a680dd4aa Merge branch 'MDL-29848-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-03-20 16:12:21 +08:00
Rossiani Wijaya a8e1b6b3ef MDL-27710 lesson module: add the following jump options: unseen branch page, random page and random branch 2012-03-20 15:20:08 +08:00
Andrew Davis e9ed7e0ed0 MDL-31818 grade: removed some broken code to do with overriding students per page, added a post variable so the page isnt lost when submitting grades 2012-03-20 13:24:36 +08:00
Ankit Agarwal 9f84da6969 MDL-28592 blocks: changing the arguments to moodle_url::out() 2012-03-20 10:58:56 +08:00
Aparup Banerjee fbc708dc4d Merge branch 'wip-MDL-31528-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-03-20 10:10:11 +08:00
Dan Poltawski 507e6a2eda MDL-29400 assignment: Require a file to be uploaded in form
Don't display 'File uploaded successfully' when no file uploaded for
both upload and uploadsingle
2012-03-20 09:06:13 +08:00
Sam Hemelryk dff9c69fa8 Merge branch 'wip-MDL-32036-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-03-20 13:41:20 +13:00
Sam Hemelryk 26777ab2c3 Merge branch 'wip-MDL-32037-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-03-20 13:33:17 +13:00
Sam Hemelryk e9d7fb3a88 Merge branch 'w12_MDL-32071_m22_dbfamily' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-20 11:40:01 +13:00
Sam Hemelryk e6c9fdb384 Merge branch 'w12_MDL-32079_m22_folderrev' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-20 11:34:09 +13:00
M Kassaei cff8f5db55 MDL-32053 question: Question bank table displayed inconsistently 2012-03-20 11:01:21 +13:00
M Kassaei 5691235ace MDL-32048 mod_quiz: Question bank select/deselect all shows strange behaviour in IE 2012-03-20 10:56:02 +13:00
Sam Hemelryk 33ce9928d8 Merge branch 'MDL-32064_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-03-20 10:37:27 +13:00
Sam Hemelryk 2cd9cfcc97 Merge branch 'MDL-32084_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-03-19 20:38:14 +13:00
Sam Hemelryk a440a25c64 Merge branch 'w12_MDL-32090_m22_groupui' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-19 20:33:38 +13:00
Petr Skoda 59307a664c MDL-27553 admin: Fixed override bug 2012-03-19 20:21:52 +13:00
Rajesh Taneja 42ec1aa258 MDL-31640 course: removed extra error message, perpage is set properly, modulelink hidden field, and new context call is used. 2012-03-19 15:17:37 +08:00
Rajesh Taneja 246e844e5f MDL-31640 course: Move to, edit and search functionality in search.php is fixed with proper permission check 2012-03-19 15:17:31 +08:00
Petr Skoda ad6c9ad223 MDL-31703 allow serving of JavaScript from unsupported '/' dirroot 2012-03-19 20:16:49 +13:00
Sam Hemelryk 56f55380a9 Merge branch 'wip-mdl-26674-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-19 20:06:28 +13:00
Sam Hemelryk aa7574545f MDL-31528 navigation: Fixed up missing break and optimised category.php 2012-03-19 19:32:43 +13:00
Sam Hemelryk 739d5c91b9 MDL-31984 Fixed whitespace during integration 2012-03-19 19:12:31 +13:00
Brian Jorgensen 2e83093eba MDL-31984: add debugging message if theme renderer file is missnamed 2012-03-19 19:12:30 +13:00
Rajesh Taneja 2e32076884 MDL-26674 wiki2.0: cleaned wiki event logging patch 2012-03-19 11:20:17 +08:00
Diane Villemure e10faa46a6 MDL-26674 wiki2.0: Fixed wiki activity log 2012-03-19 11:20:11 +08:00
Sam Hemelryk 8b66d25681 Merge branch 'wip-MDL-27064-stable22' of git://github.com/phalacee/moodle into MOODLE_22_STABLE 2012-03-19 15:48:52 +13:00
Andrew Robert Nicols 51ffccda4d MDL-32004 Set the defaultrequestcategory correctly when deleting/creating the default category 2012-03-19 14:38:48 +13:00
Sam Hemelryk fc109fac2d Merge branch 'MDL-28187_messaging_nav_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-03-19 14:14:17 +13:00
Sam Hemelryk 3905c1f75b Merge branch 'MDL-31835_recent_conversations_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-03-19 14:07:05 +13:00
AMOS bot 2c4e52a7df Automatically generated installer lang files 2012-03-19 00:31:50 +00:00
Sam Hemelryk fb2e8f82c9 Merge branch 'MDL-30890_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-19 10:27:22 +13:00
Mary Evans ce539ad701 MDL-32084 theme_fusion: removed default tagline in frontpage.php and changed configtextarea to configtext in settings.php 2012-03-17 21:46:52 +00:00
Andrew Davis 4bf46b6e96 MDL-28187 message: fixed up $PAGE->set_url() in /message/index.php so the nav highlighted properly 2012-03-17 11:59:29 +07:00
AMOS bot 5c1a9d64ac Automatically generated installer lang files 2012-03-17 00:31:43 +00:00
Petr Skoda 466b9bad29 MDL-32090 fix invalid group members url
Credit goes to Jean-Philippe Gaudreau.
2012-03-16 20:12:27 +01:00
Tim Hunt b1ddd85ca1 MDL-32064 quiz navigation: JS form submit must fire submit event handlers. 2012-03-16 15:00:51 +00:00
Petr Skoda 1f373dfef0 MDL-32071 fix incorrect get_dbfamily() call 2012-03-16 10:31:30 +01:00
Petr Skoda 69439955e6 MDL-32071 fix fatal problems in experimental forum_usetextsearches 2012-03-16 10:30:14 +01:00
Petr Skoda 96f953cbe2 MDL-32079 folder revision must be incremented after any file change 2012-03-16 10:11:40 +01:00
Ankit Agarwal 0ce936b081 MDL-28952 blocks: Fixing the extra escaping issue with profile links 2012-03-16 15:44:51 +08:00
Andrew Davis c232e12bf2 MDL-31835 message: added a view conversation type link after each conversation on the recent conversation screen 2012-03-16 13:28:08 +07:00
Sam Hemelryk fa0f103c89 MDL-31528 navigation: Tidied up page for viewing and managing categories 2012-03-16 10:35:53 +13:00
Sam Hemelryk fc08a60dc1 MDL-31528 navigation: Fixed up navbar generation when editing categories 2012-03-16 10:35:53 +13:00
Sam Hemelryk 51f205a7e3 MDL-31528 navigation: Fixed up generation for category contexts 2012-03-16 10:35:53 +13:00
Tim Hunt 7d0f9cef34 MDL-31594 question manual grading: did not handle comma as decimal. 2012-03-15 18:48:42 +00:00
Eloy Lafuente (stronk7) 832626da76 weekly release 2.2.2+ 2012-03-15 11:46:12 +01:00
Eloy Lafuente (stronk7) f51ba2033b Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-15 11:42:06 +01:00
Rossiani Wijaya 3db8d8499e MDL-30890 accessibility compliance: add summary to calendar table 2012-03-15 17:09:34 +08:00
Aparup Banerjee be626b193e MDL-32028 Documentation : removed legacy 1.x documentation 2012-03-15 15:20:08 +08:00
Jason Fowler 658762de67 MDL-27064 - Blog - Changing the link text for different levels of blog entries 2012-03-15 08:52:46 +08:00
AMOS bot 494884fe7c Automatically generated installer lang files 2012-03-15 00:31:52 +00:00
Charles Fulton 104ed36274 MDL-26243 calendar: display correct number of repeated events 2012-03-15 00:41:10 +01:00
Eloy Lafuente (stronk7) 27c202c1c0 MDL-31911 admin tools: moved loop after tools admin category created 2012-03-15 00:27:41 +01:00
Eloy Lafuente (stronk7) 3ef24c6f3b MDL-28972 formslib: whitespace fixes 2012-03-14 18:11:24 +01:00
Marina Glancy 9616f3f71d MDL-32036: Repositories wikimedia and youtube lack paging
repositories wikimedia and youtube:
- save last search in
- process parameter 'page'
- remove buttons 'Refresh', 'Search' and 'Logout' since they don't have meaning
filepicker:
- allow unknown number of pages (['pages'] = -1), show one 'Next' page after the current (both JS and non-JS modes)
repository wikimedia:
- add non-AJAX search form to make it work with JS disabled
2012-03-14 14:26:21 +08:00
Marina Glancy e6be794910 MDL-32037: MDL-32037: After displaying error message filepicker could not send proper request to server
We need to make sure that code executed on error does not create more requests and
especially does not create the same request that resulted with error. So now by default
filepicker will clear the right side of the window if repository_ajax.php returned an
error.
Also fixed an 'invalidsesskey' error string.
2012-03-14 13:12:59 +08:00
Sam Hemelryk b87ca9b713 Merge branch 'wip-mdl-28972-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-14 14:39:59 +13:00
Davo Smith 7f40235c18 MDL-31853 Fix pagelayout problem with admin_externalpage_setup 2012-03-14 09:24:51 +08:00
AMOS bot 378ef32da0 Automatically generated installer lang files 2012-03-14 00:31:53 +00:00
Davo Smith da9cfb9630 MDL-29147 Quickform fixed insertElementBefore to ignore duplicate unnamed elements 2012-03-14 11:54:42 +13:00
Sam Hemelryk 999e6901c8 Merge branch 'MDL-29440' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-03-14 11:30:06 +13:00
Kordan b2ace0016f MDL-31975 theme_formal_white: minor css cleanup 2012-03-14 11:24:01 +13:00
Ankit Agarwal d22a68bd18 MDL-28998 libraries: Using default value of 0 for userid during login 2012-03-14 10:47:40 +13:00
Eloy Lafuente (stronk7) a784430288 Merge branch 'MDL-31981_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-03-13 18:09:24 +01:00
Andrew Davis 08b6184488 MDL-31834 message: fixed up some not quite correct usage of moodle/site:readallmessages 2012-03-13 16:49:30 +01:00
Eloy Lafuente (stronk7) 3da552e27c Merge branch 'wip-MDL-31175-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-03-13 16:16:18 +01:00
Eloy Lafuente (stronk7) 489981eaba MDL-31718 add a few more tests to check that lens and tags are properly handled
Conflicts:

	lib/simpletest/testmoodlelib.php
2012-03-13 13:16:47 +01:00
Eloy Lafuente (stronk7) 6014124ea3 Merge branch 'w11_MDL-31718_m22_shortentext' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-13 13:14:48 +01:00
Aparup Banerjee c04109fcb1 Merge branch 'wip-mdl-27862-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-13 15:28:12 +08:00
Rossiani Wijaya 7f7aac7ad1 MDL-31266 Lesson module: Improve feedback so that the responses are concatenated instead of overwritten 2012-03-13 14:54:39 +08:00
Aparup Banerjee 298dd4ca5d Merge branch 'wip-mdl-30817-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-03-13 11:51:54 +08:00
Aparup Banerjee 08ba77f32e Merge branch 'MDL-30867_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-03-13 11:32:29 +08:00
Mary Evans 33e69c39ef MDL-31008 themes: (base theme) reversed MDL-26712 by making dimmed objects grey and added new rule for dimmed activity label text to give 50% transparancy instead 2012-03-13 10:58:25 +08:00
Aparup Banerjee d047098e46 MDL-31910 Quiz : fixed whitespace 2012-03-13 10:15:30 +08:00
M Kassaei 52b26f8a5b MDL-31910 Quiz : Error on Manual Grading report 2012-03-13 10:15:24 +08:00
Davo Smith 66e23d6a6c MDL-31935 Fixed restore backup link in course search 2012-03-13 10:01:31 +08:00
Ruslan Kabalin e9f2ede177 MDL-31808 Upload assignment: fix user feedback display 2012-03-13 14:10:31 +13:00
Ruslan Kabalin 861de3cda1 MDL-31917 Improve assigment submission usability
Say 'View' if assignment has been graded via gradebook and changing
grades via submissions interface is not possible.
2012-03-13 14:05:08 +13:00
Ruslan Kabalin 2b6a38f5c2 MDL-31919 Fix assignment overview output to respect gradebook grading.
Currenly, if assigment has been graded in gradebook only, in the assigment
overview it is listed as not graded.
2012-03-13 14:01:04 +13:00
Eloy Lafuente (stronk7) 3ad6f443b4 Merge branch 'w11_MDL-31913_m22_tinymce' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-13 00:35:19 +01:00
Sam Hemelryk 22dde645f4 Merge branch 'w11_MDL-27457_m22_enrolnorecover' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-13 11:59:53 +13:00
Sam Hemelryk d254ae8cfe Merge branch 'MDL-30298_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-03-13 11:56:18 +13:00
Sam Hemelryk ec2b87aede Merge branch 'MDL-31702_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-03-13 10:33:39 +13:00
Eloy Lafuente (stronk7) 0b1579b2d8 Merge branch 'w11_MDL-31956_m22_paypal' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-12 21:37:01 +01:00
Michael Aherne 07f641f250 MDL-31979 Typo in config-dist.php 2012-03-12 20:18:47 +01:00
Eloy Lafuente (stronk7) 33d1075328 Merge branch 'w11_MDL-31595_m22_enrolme' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-12 18:01:01 +01:00
Petr Skoda 1b75985a39 MDL-31595 improve enrol link comments 2012-03-12 16:49:22 +01:00
Eloy Lafuente (stronk7) 3e6e265d1a Merge branch 'w11_MDL-31815_m22_confirmemail' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-12 16:34:13 +01:00
Eloy Lafuente (stronk7) 7fabd5af5c Merge branch 'w11_MDL-31534_m22_pageinitroot' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-12 15:49:30 +01:00
Petr Skoda c81e5bc9cc MDL-31534 init PAGE before require_login() 2012-03-12 13:59:08 +01:00
Eloy Lafuente (stronk7) 13cd1994af Merge branch 'w11_MDL-31494_m22_adodblink' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-12 13:38:40 +01:00
Mary Evans 6ac047c7de MDL-30298 report_progress: adds outer wrapper with class no-overflow to report table so as to enable horizontal scroll bar 2012-03-12 10:45:55 +00:00
Jason Fowler f29d40dc03 MDL-27064 - Blog - Changing the link text for different levels of blog entries 2012-03-12 15:28:21 +08:00
Sam Hemelryk b3fe3fb6c8 Merge branch 'm22_MDL-31888' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE
Conflicts:
	mod/scorm/styles.css
2012-03-12 17:29:11 +13:00
Sam Hemelryk 12d0b6c5ae MDL-27304 mod_wiki: Fixed up phpdocs for globals 2012-03-12 17:20:48 +13:00
Sam Hemelryk 25ff180756 Merge branch 'MDL-27304-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-03-12 17:05:21 +13:00
Sam Hemelryk cbb8087b30 Merge branch 'MDL-31664-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-03-12 17:02:07 +13:00
Rajesh Taneja 030f323fbb MDL-28972 formslib: orignalvalue is considered and checkboxes are updated depending on orignalvalue of controller 2012-03-12 11:51:08 +08:00
Rajesh Taneja 10fd3cd054 MDL-28972 formslib: Checkbox controller will use yui to select and unselect checkboxes 2012-03-12 11:51:01 +08:00
Sam Hemelryk 840dc3cb94 Merge branch 'MDL-28997-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-12 15:26:21 +13:00
Rajesh Taneja 495baea515 MDL-27862 Themes: Device name first letter is capital and font is made similar to theme name font 2012-03-12 10:19:03 +08:00
Rajesh Taneja 7f2d783fad MDL-27862 Themes: clear theme cache button will redirect to the page on which it was pressed 2012-03-12 10:19:03 +08:00
Rajesh Taneja 1b99f0565a MDL-27862 Themes: replaced disabled use theme button with unset theme button 2012-03-12 10:19:03 +08:00
Rajesh Taneja f5ee52a7fe MDL-27862 Themes: Added button to un-select theme for devices, except default device 2012-03-12 10:19:03 +08:00
Rajesh Taneja 06d09486b5 MDL-27862 Themes: Strings updated on theme selection pages 2012-03-12 10:19:03 +08:00
Rajesh Taneja 337e7897de MDL-30817 activity_completion: Fixed title and alt string (on checkbox) to have module name prefixed 2012-03-12 10:17:12 +08:00
Andrew Robert Nicols aacacde221 MDL-31811 Add/Correct checks on activity read-only periods 2012-03-12 15:15:38 +13:00
Andrew Robert Nicols 0c1e3a753b MDL-31877 Correct get_users exception 2012-03-12 14:57:21 +13:00
Andrew Robert Nicols 15958e8677 MDL-31918 Use cached module info for activity completion report 2012-03-12 14:55:13 +13:00
Dan Poltawski eb1f147000 MDL-29440 calendar: iCal export don't allow html in description export 2012-03-12 09:51:07 +08:00
Andrew Robert Nicols cfaa50a61d MDL-31923 Correctly respect hiddenfields and capabilities 2012-03-12 14:46:34 +13:00
Sam Hemelryk 7ac10ac609 Merge branch 'MDL-31841_feedback_align_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-03-12 14:22:10 +13:00
Sam Hemelryk 113b864ffc Merge branch 'wip-MDL-30906-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-03-12 14:19:50 +13:00
Sam Hemelryk 7303944957 MDL-31175 backup: Fixed undefined in register_dependency 2012-03-12 09:43:00 +13:00
Petr Skoda dd21fb11f0 MDL-31718 utf-8 support in shorten_text() 2012-03-11 21:32:07 +01:00
Mary Evans 10a6003a3a MDL-30298 report_completion: adds outer wrapper with class no-overflow to report table so as to enable horizontal scroll bar 2012-03-11 15:17:59 +00:00
Eloy Lafuente (stronk7) 476626d39e Moodle release 2.2.2 2012-03-11 16:00:29 +01:00
Mary Evans ed4a909035 MDL-30298 theme_binarius: adds horizontal scroll to report layout 2012-03-11 01:34:09 +00:00
Petr Skoda 2bf4996444 MDL-31956 fix enrol string components
Credit goes to Mark Nelson
2012-03-10 13:01:53 +01:00
Petr Skoda 4e68456832 MDL-31494 fix link to adodb driver docs
target="_bank" is valid again in html5, it does help a lot here no matter what legacy accessibility guides say…
2012-03-10 11:05:31 +01:00
Petr Skoda caec0405f4 MDL-31815 encode dots in confirm url which helps email clients with url highlighting 2012-03-10 10:47:19 +01:00
Petr Skoda 181918691c MDL-27457 fix JS error on enrol when grade history disabled 2012-03-10 09:59:58 +01:00
Petr Skoda 45962a179c MDL-31595 do not show enrolee link to guest account 2012-03-10 09:41:31 +01:00
Petr Skoda 61df8b24d2 MDL-30636 switch to new TinyMCE 3.4.9 2012-03-10 08:57:24 +01:00
Petr Skoda 5b585b8ddf MDL-30636 add TinyMCE 3.4.9 2012-03-10 08:57:24 +01:00
Tim Hunt 0aa433a054 MDL-31981 shortanswer qtype does not handle \* in correct response. 2012-03-09 19:01:59 +00:00
Tim Hunt 53e40ebe2d MDL-31702 quiz: clarify error message that has been confusing people. 2012-03-09 15:29:19 +00:00
Eloy Lafuente (stronk7) 5f51b09aec Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-09 11:56:33 +01:00
AMOS bot 4ed9533352 Automatically generated installer lang files 2012-03-09 11:54:16 +01:00
Eloy Lafuente (stronk7) 6c43ac23f8 weekly release 2.2.1+ 2012-03-09 11:13:49 +01:00
Eloy Lafuente (stronk7) 9be61d94fd Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-09 11:04:06 +01:00
Rossiani Wijaya f822433322 MDL-30867 Lesson module: fix lesson essay question formtting to be consistent with user selection 2012-03-09 17:36:44 +08:00
Eloy Lafuente (stronk7) c44c8eb96b Merge branch 'wip-MDL-31248-MOODLE_22_STABLE-v3' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-03-09 09:46:35 +01:00
Eloy Lafuente (stronk7) be0b3ea0ea Revert "MDL-31248 - lib - Alteration to the rc4encrypt function to allow for old password use."
This reverts commit 6f3e759ecb.
2012-03-09 09:37:43 +01:00
Ankit Agarwal 44b4c10a47 MDL-28998 libraries: Adding validation to customisable profile fields during signup 2012-03-09 14:51:29 +08:00
Adrian Greeve 9e7fa5f2bb MDL-31248 - lib - Retaining the old password key and creating a new cookie prefix. 2012-03-09 13:37:40 +08:00
Eloy Lafuente (stronk7) 009d72139f Revert "[MDL-31708] - wiki 2.0 non-group member can see edit option in navigation block."
This reverts commit c583993d8c.
2012-03-09 02:21:30 +01:00
Eloy Lafuente (stronk7) 478207515c Revert "MDL-31708 wiki groups: whitespace fix"
This reverts commit 27da392f3c.
2012-03-09 02:21:26 +01:00
Charles Fulton b1f60fe2f7 MDL-27304 wiki: link to user's course profile 2012-03-08 05:07:06 -08:00
Andrew Davis 9d75f3a0b9 MDL-31841 grade: prevented the feedback column on the user report from being centered 2012-03-08 15:24:19 +07:00
Eloy Lafuente (stronk7) 1312ff8740 Merge branch 'wip-MDL-31248-MOODLE_22_STABLE-v2' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-03-08 02:28:41 +01:00
AMOS bot bb3b8185a9 Automatically generated installer lang files 2012-03-08 00:31:39 +00:00
Adrian Greeve 6f3e759ecb MDL-31248 - lib - Alteration to the rc4encrypt function to allow for old password use. 2012-03-08 08:08:05 +08:00
Eloy Lafuente (stronk7) 2615855713 Merge branch 'wip-MDL-29086-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-03-08 00:48:22 +01:00
Eloy Lafuente (stronk7) c904abc752 Merge branch 'MDL-31712_M22' of git://github.com/kordan/moodle into MOODLE_22_STABLE 2012-03-07 15:40:50 +01:00
Petr Skoda bfcb69ef70 MDL-31689 fix moodle_database:execute() description
Conflicts:

	lib/dml/moodle_database.php
2012-03-07 12:43:00 +01:00
Eloy Lafuente (stronk7) 4d4e00682b MDL-31832 CLI upgrade will return 0 exit status if no upgrade is needed
Discussed with David, both points were valid but finally
we agreed about to consider the "no upgrade needed" exit
a normal/succesful one, mainly because it keeps previous
behavior the same (exit non-zero only for real errors).
2012-03-07 11:02:47 +01:00
David Mudrak 1acc431b98 MDL-31832 CLI upgrade checks if the upgrade is actually needed 2012-03-07 11:02:10 +01:00
Eloy Lafuente (stronk7) 251ed425e4 MDL-28364 whitespace fixes 2012-03-07 04:01:36 +01:00
Eloy Lafuente (stronk7) 5da8f5d11e Merge branch 'MDL-28364_22' of git://github.com/jonof/moodle into MOODLE_22_STABLE 2012-03-07 04:01:09 +01:00
Eloy Lafuente (stronk7) 49b4703187 MDL-23787 data: Init 2 arrays (global scope) that may conflict with other global scope code 2012-03-07 01:49:07 +01:00
Marina Glancy 0736188d75 MDL-23787 added possibility to embed images into textarea fields in database activity 2012-03-07 01:49:02 +01:00
AMOS bot 20640e3597 Automatically generated installer lang files 2012-03-07 00:31:46 +00:00
Ruslan Kabalin 1555c3d89f MDL-31255 Fix move of highlighted section when JS is off 2012-03-07 00:19:05 +01:00
Sam Hemelryk deaf559402 Merge branch 'MDL-28387-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-07 11:46:32 +13:00
Gootvilig David Hai 8d11716bfc MDL-31876 questionlib: fix question_has_capability_on memory bloat 2012-03-06 21:31:55 +01:00
Eloy Lafuente (stronk7) a9b03dc661 Merge branch 'MDL-31829_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-03-06 21:23:44 +01:00
Dan Marsden cbf6a4989e MDL-31888 SCORM prevent scrollbars on yui div 2012-03-07 09:03:14 +13:00
Eloy Lafuente (stronk7) fc7776f50a Merge branch 'w10_MDL-31785_m22_htmlpurifier' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-06 13:11:41 +01:00
Eloy Lafuente (stronk7) 27da392f3c MDL-31708 wiki groups: whitespace fix 2012-03-06 11:46:22 +01:00
Adrian Greeve 35d565ad8f MDL-30906 - course - Changed the <hx> tags to follow a sequential order 2012-03-06 14:54:49 +08:00
Gilles-Philippe Leblanc c583993d8c [MDL-31708] - wiki 2.0 non-group member can see edit option in navigation block. 2012-03-06 10:20:51 +08:00
Sam Hemelryk bd87189222 Merge branch 'MDL-27764_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-03-06 10:19:00 +13:00
Mary Evans ad7ecc08d3 MDL-31328_master theme_sky_high: fixed report layout and related files + updated css + added horizontal scroll 2012-03-06 09:59:27 +13:00
Sam Hemelryk 575a553094 Merge branch 'MDL-31828_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-03-05 17:03:20 +13:00
Sam Hemelryk 7d6c1a19bb Merge branch 'w10_MDL-31807_m22_cohort' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-03-05 16:56:05 +13:00
Sam Hemelryk 94cfcb36a5 Merge branch 'MDL-29347-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-03-05 16:13:08 +13:00
Sam Hemelryk ec5a34443c MDL-30724 mod_assignment: Minor fixes during integration 2012-03-05 16:09:50 +13:00
Sam Hemelryk 0c0ae1c696 Merge branch '22_MDL-30724_count_real_submissions_eloy_suggests' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-03-05 16:08:30 +13:00
Tony Levi 3d1573914c MDL-31819: admin: allow install to proceed when multiple admins exist already 2012-03-05 15:54:39 +13:00
Sam Hemelryk 9772d6d376 MDL-31794 theme_formalwhite: Fixed up tabs 2012-03-05 15:29:27 +13:00
Sam Hemelryk f8c24829ab Merge branch 'MDL-31707_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-03-05 15:21:19 +13:00
Kordan 141f588d8e MDL-29367 theme_formalwhite: Lines between RSS and upcoming events 2012-03-05 15:15:57 +13:00
Kordan 835ecea7fe MDL-31786 theme_formalwhite: bigger userid and password fields size in login page 2012-03-05 15:07:40 +13:00
kordan 053a3ad67d MDL-31794 theme_formalwhite: let tab-bar give evidence of the current tab and page 2012-03-05 15:01:50 +13:00
Eloy Lafuente (stronk7) dfa28b875d MDL-27764 restore - always restore as much info as possible (1.9 approach)
In 2.0 we had reduced the types of restore operations where we allow
to load the section names and section descriptions, only proceeding
when restoring to new course or to existing course, deleting.

With this patch, we change to the old 1.9 way, that was to restore
the section information always, no matter of the type of restore
operation (course restore, import, to new or to existing course,
deleting or adding). The only exception is that it's always checked that
the target section names and descriptions are empty.
2012-03-05 02:48:56 +01:00
Sam Hemelryk 4e738cab73 Merge branch 'MDL-26037_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-03-05 14:03:26 +13:00
Sam Hemelryk 62a2c4fd22 Merge branch 'MDL-29248_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-03-05 13:54:27 +13:00
Kordan f8c083e968 MDL-29127 theme_formalwhite: highlight for unread forum post 2012-03-05 12:37:37 +13:00
Sam Hemelryk bf4649edb5 Merge branch 'm22_MDL-31749' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-03-05 12:30:05 +13:00
Sam Hemelryk e6f2103ce7 Merge branch 'MDL-24235-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-03-05 12:22:19 +13:00
Sam Hemelryk fecb44d7b5 Merge branch 'MDL-31806-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-03-05 12:05:39 +13:00
Sam Hemelryk c71b744a43 Merge branch 'MDL-30893-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-05 11:52:45 +13:00
Sam Hemelryk 5c3c0a8ce5 Merge branch 'MDL-31466-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-03-05 11:30:53 +13:00
AMOS bot c3f525dc49 Automatically generated installer lang files 2012-03-04 00:31:48 +00:00
Petr Skoda 9e8fe8469b MDL-31785 fix and improve htmlpurifier tests 2012-03-03 11:25:34 +01:00
Petr Skoda 54ef6f4b01 MDL-31785 import HTMLPurifier 4.4.0+
Includes one extra fix for _blank 8c9d461a6259d7b8ac4ae5c9c9e95ab176cfcda3 compared to 4.4.0 release.
2012-03-03 11:25:34 +01:00
Petr Skoda 0908a1a327 MDL-31807 fix invalid nulls in cohort components
Credit goes to Stephen.
2012-03-03 10:57:16 +01:00
AMOS bot 5cb002eaa6 Automatically generated installer lang files 2012-03-03 00:31:38 +00:00
Charles Fulton 683c8259ea MDL-24235 bennu: remove dependency on mbstring from library 2012-03-02 07:59:15 -08:00
Charles Fulton a7bc85ea03 MDL-29848 glossary: get proper context for comments on exported entry 2012-03-02 07:48:42 -08:00
Adrian Greeve d1deac2d80 MDL-29086 - data - Fix for allowing the deletion of database activity presets.
Thank you to Matthias Hunstock for providing the patch for this.
2012-03-02 14:32:37 +08:00
Ankit Agarwal 43956b2c68 MDL-28387 logs: Log data when a user is deleted 2012-03-02 13:18:32 +08:00
Ankit Agarwal 72ffaf4e39 MDL-31466 Tags Adding a capability check to make sure hidden courses are not displayed in tag search results 2012-03-02 12:09:59 +08:00
Ankit Agarwal d2943aa711 MDL-30893 Accessibility Submit button in forgot password page now have separate ids 2012-03-02 11:30:07 +08:00
Andrew Davis d736ed90f7 MDL-31353 grade: added a missing YUI requires 2012-03-02 09:48:03 +07:00
Dan Marsden 50147ef444 MDL-31749 - remove extra space from scorm pop-up - especially for afterburner theme 2012-03-02 09:13:32 +13:00
Tim Hunt 2db787e242 MDL-31829 question engine SQL typo breaks some regrades.
Also, some MySQL-only code had not been updated.

This problem only affected a small minority of question attempts, like
this:
1. Suppose you have a shortanswer question with correct answer 'Toad'
and some hints.
2. Suppose a student attempts this using the interactive behaviour and
on the first try responds 'Frog', and on the second try responds 'Toad'.
3. Then suppose the teacher edits the question to make 'Frog' correct.
4. Then, when the quiz is regraded, the question_attempt_step for the
second try will need to be deleted. That is where the buggy code was.
2012-03-01 12:38:51 +00:00
Eloy Lafuente (stronk7) dff99bd6c5 MDL-26037 restore: fixes for mssql, php 5.4 and small improvs 2012-03-01 13:19:24 +01:00
Tony Levi 80d78f3aae MDL-26037: import: display search box even when no courses are currently displayed 2012-03-01 13:19:24 +01:00
Tony Levi 9b3a01563c MDL-26037: restore/import: check through all courses instead of only first 250 2012-03-01 13:19:23 +01:00
Eloy Lafuente (stronk7) 9f4ad8a5dd MDL-29248 backup: take rid of the setting and code handling the 'private' user filearea 2012-03-01 13:16:01 +01:00
Eloy Lafuente (stronk7) 6339bf1051 MDL-29248 backup: delete user_files settings, lang strings and uses
Conflicts:

	admin/settings/courses.php
	version.php
2012-03-01 13:15:46 +01:00
Tim Hunt 21356da7ee MDL-31828 attachements to essay questions do not work on Oracle. 2012-03-01 12:12:14 +00:00
Eloy Lafuente (stronk7) ce3cd1f122 MDL-31707 environment - add check for the hash extension 2012-03-01 12:52:07 +01:00
Eloy Lafuente (stronk7) e356fb68fd weekly release 2.2.1+ 2012-03-01 11:30:35 +01:00
Eloy Lafuente (stronk7) e8681669bc Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-03-01 11:26:02 +01:00
Aparup Banerjee 6d29b2989f MDL-27793 themes : anomaly theme rtl+ltr login box element widths fixed to be acceptable for IE and FF. 2012-03-01 09:23:29 +01:00
Sam Hemelryk ebbb914346 Merge branch 'MDL-31831_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-03-01 14:34:52 +13:00
Eloy Lafuente (stronk7) ee3d7d8a71 MDL-31831 whitespace clean - take2 2012-03-01 02:07:51 +01:00
Charles Fulton 044cd0a0d6 MDL-31806 tags: remove second occurrence of id in query string 2012-02-29 05:19:34 -08:00
Aparup Banerjee 2e2ca2af54 MDL-25027 web service: moved validation to before changes to DB transaction. 2012-02-29 09:57:25 +01:00
Eloy Lafuente (stronk7) f2a6db61a9 Merge branch 'wip-mdl-29274-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-29 02:19:19 +01:00
Eloy Lafuente (stronk7) 3716fb55e1 Merge branch 'MDL-31748_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-02-29 02:10:48 +01:00
Eloy Lafuente (stronk7) cafbb73f5b Merge branch 'MDL-26496_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-02-29 02:06:07 +01:00
AMOS bot efd5bc7eb0 Automatically generated installer lang files 2012-02-29 00:31:17 +00:00
Eloy Lafuente (stronk7) 46ccd8b12b Merge branch 'wip-MDL-31738-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-29 00:30:27 +01:00
Eloy Lafuente (stronk7) 313f98c88a Merge branch 'MDL-25027_stable_consistency_fix_m22' of git://github.com/nebgor/moodle into MOODLE_22_STABLE 2012-02-28 17:34:12 +01:00
Aparup Banerjee 2e0d0590da Merge branch 'MDL-14837_show-time-on-no-duration-events_22_STABLE' of https://github.com/ncsu-delta/moodle into MOODLE_22_STABLE 2012-02-28 16:41:52 +08:00
Aparup Banerjee 91470a354e Merge branch '22_MDL-31419_fix_auth_typo' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-28 16:23:21 +08:00
Aparup Banerjee 01c7382881 Merge branch 'MDL-30878-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-28 15:37:36 +08:00
Aparup Banerjee 9a7310e80b Merge branch 'MDL-28386-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-28 14:42:08 +08:00
Dan Marsden 8b4e28f87e MDL-31086 Calendar : fix sql to get distinct list of courses 2012-02-28 14:37:10 +08:00
Aparup Banerjee 415dd485a5 Merge branch 'MDL-31335_mtrace_email_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-02-28 14:15:37 +08:00
Aparup Banerjee 844d4f0ce0 Merge branch 'wip-mdl-22896-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-28 13:48:40 +08:00
Aparup Banerjee fe4e706f3a Merge branch 'MDL-31399_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-02-28 12:05:20 +08:00
Gerard (Gerry) Caulfield ca3cfd88cc MDL-31419 Fixing "Suspended acount" typo in auth.php 2012-02-28 11:28:07 +08:00
Eloy Lafuente (stronk7) e61fabb720 Merge branch 'MDL-27793_m22' of git://github.com/nebgor/moodle into MOODLE_22_STABLE 2012-02-28 03:52:53 +01:00
Jonathon Fowler bb98f4fda3 MDL-28364 handle question formats that support multiple file types 2012-02-28 09:24:54 +10:00
Eloy Lafuente (stronk7) 845b165edf MDL-29161 weblib: added one more test about un-keyed array params 2012-02-27 22:21:57 +01:00
Eloy Lafuente (stronk7) aaa24bb35c Merge branch 'MDL-29161_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-27 22:21:50 +01:00
Eloy Lafuente (stronk7) 0c93bbde9e Merge branch 'MDL-31721_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-27 22:06:46 +01:00
Eloy Lafuente (stronk7) bd4b665ed6 Merge branch 'MDL-31729_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-27 19:02:42 +01:00
Eloy Lafuente (stronk7) edb03ff65b Merge branch 'MDL-29256-resource-format_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-02-27 18:54:35 +01:00
Eloy Lafuente (stronk7) 98e9b0f21e Merge branch 'MDL-29199' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 18:47:51 +01:00
Eloy Lafuente (stronk7) 515acf7914 Merge branch 'MDL-29229' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 17:07:24 +01:00
Eloy Lafuente (stronk7) 1415ba2319 Merge branch 'MDL-29523' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 16:51:54 +01:00
Eloy Lafuente (stronk7) bcf5427193 Merge branch 'MDL-29592' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 16:06:19 +01:00
Eloy Lafuente (stronk7) 0d40a799e5 Merge branch 'MDL-31348' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 15:57:09 +01:00
Eloy Lafuente (stronk7) 5775c7ec63 Merge branch 'MDL-31546' of git://github.com/danpoltawski/moodle into MOODLE_22_STABLE 2012-02-27 15:44:28 +01:00
Marina Glancy ccd6fa9e44 MDL-31738: added functions mod_xxx_get_file_info() to glossary and data modules 2012-02-27 14:14:03 +08:00
Gerard (Gerry) Caulfield 69beea7165 MDL-30724 Limit assignment_count_real_submissions() to only select real
submissions

I've also refactored some code so that it is more structured and allows
for easier overriding of function associated with counting submissions
and updated associated doc blocks.
2012-02-27 12:30:30 +08:00
Dongsheng Cai d049031e95 MDL-29347 core_enrol_get_enrolled_users web service should limit the number of participants - Jerome/Dongsheng 2012-02-27 11:45:04 +08:00
Sun Zhigang e91dd85ed7 MDL-29523 filemanager: Fix a hardcode string 2012-02-27 09:28:14 +08:00
AMOS bot 5b5ff2dac6 Automatically generated installer lang files 2012-02-27 00:31:17 +00:00
Dan Poltawski 170c23d2d2 MDL-29592 weblib: prevent warnings when $USER not set 2012-02-26 18:39:40 +08:00
Mary Evans 0bad02fd57 MDL-31748_master theme_afterburner: added min-width to fix missing horizontal scroll bar when page is reduced in browser window 2012-02-25 18:12:41 +00:00
Glenn Ansley afb0b3f421 MDL-14837 Calendar: Display start time on calendar events with no duration 2012-02-24 09:10:40 -05:00
Rajesh Taneja f013b576ec MDL-29274 blocks: people block will use course context for making url and not module context 2012-02-24 16:39:51 +08:00
Dan Poltawski ca69aa758f MDL-31651 course/info: Fix hardcoded string 2012-02-24 16:12:54 +08:00
Kordan f6df6e93db accessibility colors for formal_white M22 2012-02-24 07:35:56 +01:00
Dan Poltawski 9ee937eb33 MDL-29199 dml: fix query logging on Oracle
thanks to Jonathon Fowler for the fix
2012-02-24 11:55:14 +08:00
Dan Poltawski 08bcf220b3 MDL-31546 wiki: remove stray semicolon
causing errors on oracle

Thanks to Jonathon Fowler for the patch
2012-02-24 11:39:56 +08:00
Rajesh Taneja cd1a0a72a5 MDL-22896 libraries: Updated regular expression in html2text, for replacing unknown/unhandled entities 2012-02-24 10:10:08 +08:00
Adam Olley ed53f70413 MDL-29229 message: Set contactlist pull-down width to not exceed parent columns width 2012-02-24 10:08:55 +08:00
Aparup Banerjee f356ebc979 MDL-27793 Themes : review changes - removed .dir-rtl from .loginbox selector rule to be default css rule. made them same width too. 2012-02-24 09:52:40 +08:00
Aparup Banerjee 26c1694fdc MDL-27793 Themes : fixed "remember username" wrapping unnecessarily. 2012-02-24 09:52:40 +08:00
Aparup Banerjee 89ec652e10 MDL-27793 Themes : fixed base (and other themes) theme's loginbox
- fixed translated lengthy terms were being clipped
 - fixed clipping and positioning of loginbox in rtl and ltr languages both
2012-02-24 09:52:40 +08:00
AMOS bot 82f50464f1 Automatically generated installer lang files 2012-02-24 00:31:45 +00:00
Tim Hunt ea9f1a8faa MDL-31729 questions: files for hints are not moved or deleted.
The files that belong to the question hints are neither moved when the
question is moved to another context, nor deleted when the question is
deleted.

Oops! How come no one noticed that until today.
2012-02-23 12:04:30 +00:00
Tim Hunt db15713237 MDL-31721 question editing: improve working for Show num correct
AMOS BEGIN
 CPY [shownumpartscorrect,question],[shownumpartscorrectwhenfinished,question]
AMOS END
2012-02-23 12:04:10 +00:00
Tim Hunt 94cd982f84 MDL-29161 weblib: moodle_ulr::out does not cope with array params. 2012-02-23 12:03:50 +00:00
Eloy Lafuente (stronk7) d1c12af76e weekly release 2.2.1+ 2012-02-23 11:38:57 +01:00
Eloy Lafuente (stronk7) 17d8e3ec8a Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-02-23 11:34:52 +01:00
Rossiani Wijaya 4fbf7ca46c MDL-31399 Lesson Module: Fixed horizontal scroll bar issue when using rtl language format (eg: arabic) 2012-02-23 15:08:21 +08:00
Dan Poltawski b69337ee63 MDL-31348 calendar: event links not using user timezone
thanks to Ben Thomas for the patch
2012-02-23 14:56:08 +08:00
Eduardo Pinto c468eab4f0 MDL-26496 Lesson Module: removed warning when no answer is selected from single choice question 2012-02-23 14:05:07 +08:00
AMOS bot 23aa41015a Automatically generated installer lang files 2012-02-23 00:31:08 +00:00
AMOS bot cf38e1f2ef Automatically generated installer lang files 2012-02-22 00:31:15 +00:00
Sam Hemelryk 68eeca8621 Merge branch 'MDL-30910_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-02-22 10:21:53 +13:00
Eloy Lafuente (stronk7) 7b1890513f Merge branch 'wip-MDL-30830-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-02-21 21:19:33 +01:00
David Mudrak 2d89ead370 MDL-29256 Fixed incorrect calculation of contentformat
Legacy Resource modules of the type Web page force the HTML format for
their content. The format stored in the reference field is valid only
for legacy resources of the type Plain text page. See page_20_migrate()
function.
2012-02-21 11:12:00 +01:00
Eloy Lafuente (stronk7) 52f37a943c Merge branch '22_MDL-25996_making_language_editing_terms_user_friendly' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-21 10:48:20 +01:00
Aparup Banerjee d45c949f64 MDL-25027 Web Service: added email validation to create_users() - just like GUI 2012-02-21 15:29:20 +08:00
Aparup Banerjee 758e086b1c MDL-25027 Web Service: removed user info(firstname,lastname) truncation for GUI-WS consistency.
Currently there is no validation on user info (firstname/lastname) in user/editadvanced_form.php
2012-02-21 15:29:11 +08:00
Rossiani Wijaya 9551675cf9 MDL-30910: Lesson Module: fix lesson progress bar for screen readers
AMOS BEGIN
   CPY [progresscompleted, mod_lesson]
AMOS END
2012-02-21 12:38:33 +08:00
EVAN Irving-Pease a92ed77229 MDL-28386 Authentication Fixing user id issue with logs when a new user is added 2012-02-21 07:48:19 +05:30
Gerard (Gerry) Caulfield c39546eb72 MDL-25996 Updating languaged editing interface terms to make them user
friendly
2012-02-21 09:59:34 +08:00
Sam Hemelryk 31593361a8 Merge branch 'MDL-30249-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-21 14:56:13 +13:00
Darko Miletic 3a9104cb54 MDL-31561: Implemented fix for honoring correct number of course
sections
2012-02-21 02:30:50 +01:00
Darko Miletic 9f260add10 MDL-31562: Implemented support for exporting labels, minor additional
cleanups
2012-02-21 02:29:10 +01:00
Eloy Lafuente (stronk7) 894c5e0b86 Merge branch 'wip-mdl-25432-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-21 02:10:29 +01:00
AMOS bot a8ea83c89b Automatically generated installer lang files 2012-02-21 00:31:16 +00:00
Sam Hemelryk f231525992 Merge branch 'MDL-29402-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-02-21 10:43:41 +13:00
Andrew Robert Nicols e546d72787 MDL-19421 Correct lesson dependency mapping on restore 2012-02-20 17:17:12 +01:00
Eloy Lafuente (stronk7) 9b228afffe Merge branch 'MDL-31345_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-02-20 15:40:02 +01:00
Eloy Lafuente (stronk7) f24d063a5e Merge branch 'wip-MDL-25299-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-02-20 12:59:11 +01:00
Sam Hemelryk ab04c70d56 Merge branch 'wip-mdl-29967-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-20 18:20:22 +13:00
Sam Hemelryk ace2654b5d Merged MDL-29254 with conflict resolution 2012-02-20 18:06:06 +13:00
Sam Hemelryk c8072f8b50 Merge branch 'wip-MDL-30780-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-20 17:29:33 +13:00
Sam Hemelryk e86284fefd Merge branch 'wip-MDL-31627-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-20 17:25:36 +13:00
Sam Hemelryk c63a91d44a Merge branch '22_MDL-31388_fix_enrol_LDAP_typo' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-20 17:13:25 +13:00
Sam Hemelryk cf6fa5025d Merge branch 'MDL-31532_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-02-20 17:10:39 +13:00
Sam Hemelryk 5a91cf1e2a Merge branch 'm22_MDL-31381' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-20 17:04:30 +13:00
Sam Hemelryk 3ba632dce5 Merge branch 'MDL-31432_messaging_popup_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-02-20 16:58:20 +13:00
Sam Hemelryk 10701ea814 Merge branch '22_MDL-30957_adding_assignment_completion_status_method_and_call' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-20 16:52:35 +13:00
Gerard (Gerry) Caulfield 0ac0d06efb MDL-30957 Adding a new method "is_complete" to assignment lib for
testing if a submission has actually been submitted and then adding a
call to it before displaying the the assignment submission date header

As recommended I've simplified the functions and split the logic out into appropriate upload classes.
2012-02-20 11:37:45 +08:00
Andrew Davis a648791534 MDL-31335 message: wrapped calls to mtrace() in email_to_user() within a check to make sure its a CLI script 2012-02-20 10:35:07 +07:00
Andrew Davis e6510e0920 MDL-31432 message: prevent messaging popups while viewing messages 2012-02-20 10:14:27 +07:00
Sam Hemelryk 7654fe5811 Merge branch 'm22_MDL-31397' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-20 16:03:08 +13:00
Sam Hemelryk 34d7e1ce9b Merge branch 'm22_MDL-31652' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-20 15:53:36 +13:00
Sam Hemelryk 6f22c38b48 Merge branch 'MDL-30965-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-20 15:44:47 +13:00
Andrew Robert Nicols 9ef38abc49 MDL-31589 Sort order of lesson answers before restoring them 2012-02-20 15:19:20 +13:00
Andrew Robert Nicols 22f94b8ef7 MDL-31590 Correct title of error dialogue on filepicker
Thanks to Gilles-Philippe Leblanc for this patch
2012-02-20 15:01:47 +13:00
Rajesh Taneja 21144ea8c6 MDL-29254 blog: added check in upgrade for summary and content to be null fields 2012-02-20 09:35:58 +08:00
Rajesh Taneja 7e19c5e1f5 MDL-25432 backup: Catching exception for orphan course modules and it's block (if any), and logging them, no exception will be thrown for this now. 2012-02-20 09:29:26 +08:00
Eloy Lafuente (stronk7) 47ac7c3668 MDL-31532 restore: avoid null course->hiddensections problems. Credit goes to Petri Asikainen. Thanks! 2012-02-20 01:36:23 +01:00
AMOS bot c05b26f9c9 Automatically generated installer lang files 2012-02-20 00:31:19 +00:00
Sam Hemelryk a55688b394 Merge branch 'MDL-31556_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-02-20 12:39:02 +13:00
Sam Hemelryk bc392be2a8 Merge branch 'MDL-31647-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-02-20 11:54:30 +13:00
Sam Hemelryk 11a3fcb1be Merge branch 'MDL-30495-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-20 11:50:39 +13:00
Sam Hemelryk 8a40b2d894 MDL-30521 upgrade: Corrected version bump for uniquehash field upgrade 2012-02-20 10:56:56 +13:00
Sam Hemelryk 3fe335c455 Merge branch 'wip-mdl-30521-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-20 10:29:46 +13:00
AMOS bot 1acda0143c Automatically generated installer lang files 2012-02-18 00:31:28 +00:00
Charles Fulton 3bb16960af MDL-31664 fix invalid boolean to string comparison 2012-02-17 13:19:25 -08:00
sam marshall ac98193cf3 MDL-31647 Glossary: Links to glossary entries from glossary main page should not be popups 2012-02-17 10:37:24 +00:00
Jerome Mouneyrac e90d5dcfb2 MDL-30249 Display warning when downloading/uploading a file 2012-02-17 17:05:27 +08:00
Dan Marsden bb8d8346ad SCORM MDL-31381 decrease max width of TOC to prevent SCORM content from being hidden, remove padding from pop-up and improve maxheight calculation 2012-02-17 17:14:53 +13:00
Sam Hemelryk 5ac02b6e21 MDL-25299 mnet: Fixed validation when no public key is provided 2012-02-17 16:47:37 +13:00
Gerard (Gerry) Caulfield 517609f295 MDL-31388 Fixing typo in enrol_ldap 2012-02-17 11:45:47 +08:00
Ankit Agarwal 2b6f171390 MDL-30965 SCORM Removing unused variable ->head 2012-02-17 09:14:42 +05:30
Marina Glancy 18a44d8a77 MDL-31627: Arialist theme do not resize content when there are no blocks 2012-02-17 11:01:14 +08:00
Marina Glancy cffba6db62 MDL-30780: fixing the disappearance of right part of the very wide rubric 2012-02-17 11:01:07 +08:00
Dan Marsden dc71212c3c MDL-31652 SCORM - hide updatefreq setting and remove it if not required. 2012-02-17 15:32:13 +13:00
Dan Marsden 731882b52d SCORM MDL-31397 - add slashes to js string 2012-02-17 15:24:08 +13:00
Sam Hemelryk 644262726c MDL-30830 dock: Added the title using accesshide for screen readers 2012-02-17 14:52:32 +13:00
Eloy Lafuente (stronk7) ad5202771a weekly release 2.2.1+ 2012-02-17 01:48:09 +01:00
Eloy Lafuente (stronk7) cad211198a Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-02-17 01:43:38 +01:00
AMOS bot 1d2b681ec0 Automatically generated installer lang files 2012-02-17 00:31:13 +00:00
Joseph Rezeau 6404d22954 MDL-31556 Lesson Module: fixed missing 'lesson closes' event in calendar 2012-02-16 16:00:31 +08:00
Sam Hemelryk 124e846e83 Merge branch '22_MDL-30935_lti_change_instructor_role_to_teacher' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-16 15:40:38 +13:00
Sam Hemelryk 671fc51e00 Revert "MDL-30935_in_lti_change_role_from_instructor_to_teacher"
This reverts commit 76fe39b8d8.
2012-02-16 15:40:34 +13:00
Gerard (Gerry) Caulfield 4821f14caa MDL-30935_in_lti_change_role_from_instructor_to_teacher 2012-02-16 10:25:09 +08:00
Jerome Mouneyrac 4b9f199c65 MDL-30495 HTML5 apps cannot call Webservices functions if a HTTP resource is retrieved from the Moodle installation 2012-02-15 11:36:38 +08:00
Sam Hemelryk 7a419e5789 MDL-30888 course-search: Fixed typo 2012-02-15 16:28:55 +13:00
Sam Hemelryk 646704c8d0 Merge branch 'wip-mdl-30388-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-15 16:23:33 +13:00
Rajesh Taneja 1ff9608513 MDL-30388 Blocks: navigation block is visible on block search page 2012-02-15 10:19:58 +08:00
Rajesh Taneja 943056a9e5 MDL-30388 Blocks: Search view for block instances fixed, with proper page url and pagination 2012-02-15 10:19:47 +08:00
Andrew Robert Nicols 9e6edb0ee6 [MDL-31386] Correctly order answers in a lesson backup 2012-02-15 03:15:26 +01:00
Michael Aherne b81c860628 MDL-31495 Performance improvement in question engine upgrade SQL 2012-02-15 09:37:51 +08:00
AMOS bot 5b45d2d0fa Automatically generated installer lang files 2012-02-15 00:31:16 +00:00
Sam Hemelryk 269754e487 MDL-30709 mod_assignment: Renamed callback to mod_assignment_get_file_info 2012-02-15 11:27:01 +13:00
Charles Fulton 8cd38f2535 MDL-29402 QandA forum questions should be emailed 2012-02-14 05:59:40 -08:00
Eloy Lafuente (stronk7) 32d4d0d1ce Merge branch 'MDL-30126-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-14 13:12:44 +01:00
Davo Smith 4ab3a01586 MDL-31527 XMLDB Editor - make sure default tables are created with correct plugin prefix 2012-02-14 12:12:22 +01:00
Iñaki Arenaza 9c867cfef8 MDL-29667 Plugins overview shows incorrect availability for auth & enrol plugins
We store the enabled plugins as array values but later look them up as array
keys. Just flip the array when we build it.
2012-02-14 15:49:01 +08:00
Aparup Banerjee 7fda50ccee Merge branch 'wip-mdl-28101-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-14 15:39:04 +08:00
Rajesh Taneja 83e83887e3 MDL-30521 blog: Updated uniquehash field preceision to 255 in post table 2012-02-14 14:17:50 +08:00
Davo Smith 0c8c2969d0 MDL-31541 Repositories - make sure all repository instances have unique 'sortorder' values when retrieved 2012-02-14 13:31:59 +08:00
Sam Hemelryk ebeacb73c9 Merge branch 'MDL-30911_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2012-02-14 17:41:45 +13:00
Sam Hemelryk 47e6717105 MDL-30709 mod_assignment Fixed phpdocs for assignment_get_file_info 2012-02-14 17:15:05 +13:00
Sam Hemelryk 43c6a29cc6 Merge branch 'wip-MDL-30709-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-14 17:14:22 +13:00
Jerome Mouneyrac 9c228a616a MDL-30126 rest client should be updated fo json support 2012-02-14 12:03:06 +08:00
Sam Hemelryk 01348282b4 Merge branch 'wip-MDL-30771-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-14 17:00:25 +13:00
Aparup Banerjee bef1428345 Merge branch 'MDL-29471-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-14 11:43:03 +08:00
Sam Hemelryk 4e01042343 Merge branch 'MDL-30688-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-14 15:53:46 +13:00
Sam Hemelryk 8348cea56a Merge branch 'MDL-31604-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-14 15:48:09 +13:00
Sam Hemelryk 5129af8051 Merge branch '22_MDL-26807_remove_withselectedusers_strings_and_references' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-14 15:32:00 +13:00
Sam Hemelryk a6f81e7fd8 Merge branch '22_MDL-27285_fixing_grammar_on_wiki_links_page' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-14 15:27:57 +13:00
Sam Hemelryk af61dca6d0 Merge branch '22_MDL-27654_add_space_to_somefieldrequired_string' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-14 15:21:07 +13:00
Sam Hemelryk 03134095f9 Merge branch '22_MDL-30935_lti_change_instructor_role_to_teacher' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-14 15:12:22 +13:00
Sam Hemelryk 908de866bd Merge branch '22_MDL-31107_fixing_below_typos' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-14 15:08:13 +13:00
Mary Evans 959ea1241a MDL-31345_master theme_afterburner: adds horizontal scroll bar to pagelayout-report 2012-02-14 01:48:23 +00:00
Sam Hemelryk 01080b468f Merge branch 'MDL-28283-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-14 13:59:04 +13:00
Sam Hemelryk 66bd7ae432 Merge branch 'MDL-30815-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-14 13:44:52 +13:00
Andrew Robert Nicols 08b213beea MDL-31515 Allow for subsequent files to overwrite old files in database activity records 2012-02-14 10:57:06 +13:00
Sam Hemelryk 2787eeb9b3 Merge branch 'MDL-29080_export_hidden2_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-02-14 10:47:30 +13:00
Jerome Mouneyrac 6049f806f9 MDL-30688 REST simpleserver does not accept the moodlewsrestformat parameter 2012-02-13 16:43:33 +08:00
Sam Hemelryk bc967db3d4 Merge branch '22_MDL-29153_fix_typo_in_resource' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-13 18:04:06 +13:00
Sam Hemelryk 877d9f8430 Merge branch '22_MDL-30723_fixing_several_english_typos' of git://github.com/gerrywastaken/moodle into MOODLE_22_STABLE 2012-02-13 18:00:23 +13:00
Sam Hemelryk a87151d552 Merge branch 'm22_MDL-31085' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-13 17:52:36 +13:00
Andrew Robert Nicols 8c51b948d6 MDL-31502 Check whether a category has subcategories or courses within it before using those variables 2012-02-13 17:48:51 +13:00
Sam Hemelryk f7562f72fb Merge branch 'wip-MDL-25185-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-02-13 17:34:39 +13:00
Sam Hemelryk 38d0571f23 Merge branch 'wip-MDL-31396-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-02-13 17:17:29 +13:00
Sam Hemelryk ff60281e4f Merge branch 'wip-MDL-31463-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2012-02-13 17:02:32 +13:00
Anita Viglinoe 04773f2508 MDL-28283-master Completion Future dates can now be set as completion criteria 2012-02-13 09:02:49 +05:30
Rossiani Wijaya 254a642146 MDL-30911: mod_lesson: fix sub-heading level to be lower than lesson title. This issue is an improvement of accessibility compliance 2012-02-13 11:29:39 +08:00
Ankit Agarwal af7a1f2999 MDL-30815 Choice Labels are now explicitly tied with input elements 2012-02-13 08:44:12 +05:30
Eloy Lafuente 12ba874956 MDL-31604 Fix capabilities displayed without spaces causing text going out of the screen 2012-02-13 10:49:48 +08:00
Sam Hemelryk 8b927cfb8b Merge branch 'wip-mdl-31576-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-02-13 15:30:13 +13:00
Rajesh Taneja b71bd1e6ec MDL-28101 wiki2.0: escape bold and italics for NWIKI formatting 2012-02-13 10:27:40 +08:00
Sam Hemelryk 5eb8ad6129 Merge branch 'MDL-31554_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-13 15:26:21 +13:00
Sam Hemelryk 8342143862 Merge branch 'MDL-25883-22' of https://github.com/mackensen/moodle into MOODLE_22_STABLE 2012-02-13 14:36:14 +13:00
Eloy Lafuente (stronk7) ea75a579d1 weekly release 2.2.1+ 2012-02-13 01:18:28 +01:00
Eloy Lafuente (stronk7) a72cf89d5e Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-02-13 01:14:51 +01:00
Eloy Lafuente (stronk7) 6ea4bd74a4 Revert "MDL-31345 theme_afterburner fixes pagelayout-report overflow"
This reverts commit 018f49465c.
2012-02-12 23:23:43 +01:00
Gerard (Gerry) Caulfield 23071bd4ab MDL-31107 Fixing instaces of below where it is written as bellow (two L's) 2012-02-10 15:05:16 +08:00
Gerard (Gerry) Caulfield ddb931d3ab MDL-29153 Fixing typo, "Bellow" should be "Below" 2012-02-10 14:37:43 +08:00
Marina Glancy e8d5c5a8ca MDL-30771: Enable students to view rubric definition prior to submission
Also allow advanced grading plugin to extend course module navigation, it is not necessary only definition previewing
Added option to rubric whether to show it to the students before submission and option to view description
2012-02-10 13:05:05 +08:00
Gerard (Gerry) Caulfield 76fe39b8d8 MDL-30935_in_lti_change_role_from_instructor_to_teacher 2012-02-10 10:24:04 +08:00
Gerard (Gerry) Caulfield 9f77a5bcfe MDL-27285 Updating string grammar on the wiki module's links page 2012-02-10 07:56:25 +08:00
Gerard (Gerry) Caulfield e336dd6438 MDL-26807 Updating the withselectedusers_help string 2012-02-10 02:17:35 +08:00
Gerard (Gerry) Caulfield f8b8874dcf MDL-30723 Fixing English typo(s) 2012-02-10 01:49:21 +08:00
Gerard (Gerry) Caulfield 742cf42171 MDL-27654 Insert a space into the somefieldrequired string 2012-02-10 01:26:22 +08:00
Rajesh Taneja 2080cbc2eb MDL-31576 core: Duplicate message definition removed from get_core_subsystem 2012-02-09 17:13:11 +08:00
Marina Glancy d8b6bb542c MDL-30709: Fixed bug with inserting files from Recent files repository
Two parts of changes: in assignment module function assignment_get_file_info was missing
and when populating the list of recent files the function get_file_info was not called, which caused populating the list of recent files with the files that could not later be inserted
2012-02-09 13:58:11 +08:00
Adrian Greeve 6318805a04 MDL-31463 - navigation - added a context check in the navigation for fullname permission. 2012-02-09 09:57:17 +08:00
Aparup Banerjee 3509aa0275 Merge branch 'wip-MDL-31417-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-02-09 09:45:08 +08:00
Andrew Davis feba87f45e MDL-29080 grade: simplified bug fix to prevent users without the required capabilities from being able to export hidden grade items 2012-02-09 08:35:58 +07:00
Adrian Greeve 4ec0b1caec MDL-25185 - data - Allowing data from the database to be exported according to group roles. 2012-02-09 09:29:45 +08:00
AMOS bot f26a347c25 Automatically generated installer lang files 2012-02-09 00:31:11 +00:00
Tim Hunt 025a0e65cd MDL-31554 quiz view.php notices when guest / no enroled. 2012-02-08 15:45:22 +00:00
Eloy Lafuente (stronk7) 13c25d0f87 MDL-27891 tag logs: minibump version 2012-02-08 11:44:53 +01:00
Eloy Lafuente (stronk7) 948a4d8c94 Merge branch 'MDL-27891-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-08 11:44:19 +01:00
Eloy Lafuente (stronk7) 2ffd822e63 Merge branch 'MDL-31345_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-02-08 11:17:26 +01:00
Ruslan Kabalin 0c657454d6 MDL-31316 Fix block controls when default home is My Moodle 2012-02-08 11:08:22 +01:00
Mary Evans 018f49465c MDL-31345 theme_afterburner fixes pagelayout-report overflow 2012-02-08 03:59:42 +00:00
Aparup Banerjee e5f77fdae4 Merge branch 'MDL-31407_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-08 11:27:39 +08:00
Eloy Lafuente (stronk7) 47475df527 Merge branch 'MDL-29892_overview_hidden_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-02-08 03:38:44 +01:00
Ankit Agarwal eb4d0c0d51 MDL-27891 Tags Flagging tags is now logged 2012-02-08 07:57:36 +05:30
Aparup Banerjee 4bd74c8ddc Merge branch 'm22_MDL-31461' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-08 10:12:26 +08:00
Aparup Banerjee 822790437e Merge branch 'MDL-31482-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-02-08 09:59:04 +08:00
Eloy Lafuente (stronk7) 76456cf5f2 Merge branch 'MDL-30722_forum_unsubscribe_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-02-08 02:37:46 +01:00
Eloy Lafuente (stronk7) 6fe3c3907b Merge branch 'wip-MDL-30540-stable22' of git://github.com/phalacee/moodle into MOODLE_22_STABLE 2012-02-08 01:18:09 +01:00
Eloy Lafuente (stronk7) 16f5ffacd4 Merge branch 'MDL-26384-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-02-08 00:53:15 +01:00
Eloy Lafuente (stronk7) c2db2793d2 Merge branch 'MDL-27360-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-02-07 23:49:19 +01:00
Eloy Lafuente (stronk7) 357274c6b9 Merge branch 'm22_MDL-31374' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-07 22:41:39 +01:00
sam marshall e455406b69 MDL-31482 Lib: IE8/IE7 (even with stupid user agent) should not be 'legacy' device type 2012-02-07 17:42:07 +00:00
Aparup Banerjee 3e299e464d Merge branch 'MDL-31469_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-02-07 15:12:26 +08:00
Dan Marsden 5796c9223c MDL-31985 - fix quotes in filter 2012-02-07 09:51:56 +13:00
Marina Glancy cdff347baa MDL-31417: updated list of world currencies
Some countries do not exist any more, some currencies do not exist. Some countries (and currencies) started to exist recently. Some currency codes are changed (mistype or result of denomination).

Also I tried to keep the moodle formation of the name of the currencies. The first word is not the country name but the 'belonging-to-country', i.e. not 'Sweden Krona' but 'Swedish Krona'. For some countries it was not so easy to find the correct spelling.

And finally there were some mistakes in the list, like 'Schilling' instead of 'Shilling', 'Riyal' instead of 'Rial', etc. I used currencies spelling from ISO.
2012-02-06 09:58:20 +08:00
Adrian Greeve 688c43ac3e wip-MDL-31396 - data - Exporting a preset as a zip code changed to remove errors. 2012-02-06 09:49:33 +08:00
Ankit Agarwal 6e1cf8fde8 MDL-26384 Tags Fixed redirect issue when editing is toggled 2012-02-03 14:54:04 +05:30
Jason Fowler f2301c3258 MDL-30540 - BLOG - Fixing context problems for single blog entries - Thanks Aparup and Sam for the help 2012-02-03 10:50:42 +08:00
Andrew Davis 2ad0278bd2 MDL-29892 grade: added a check to prevent hidden courses appearing on student overview reports 2012-02-03 08:56:10 +07:00
Dan Marsden 733196d843 MDL-31461 Plagiarism - adjust api functions to allow better support for renderers 2012-02-03 11:38:33 +13:00
Petr Skoda 0007843de0 MDL-29684 improve enrol_meta plugin
List of changes:
* configurable unenrol action
* new setting for synchronisation of all enrolled users or users with at least one role
* cron period increased to 1 hour in order to lower server load, courses should not get out of sync often
* CLI sync script for debugging or manual sync
* phpdocs fixes
* when plugin is disabled all roles are removed, enrollments are kept
* uninstall script
* other bugfixing
2012-02-03 11:29:47 +13:00
Tim Hunt e8e2f4f62c MDL-31469 formslib: fix invalid for="" attributes on optional dates 2012-02-02 18:16:07 +00:00
Anthony Forth 648cf3397d MDL-31445 formslib: add a nice id and class to the wrapper div for CSS 2012-02-02 18:15:31 +00:00
Tim Hunt e1ded0ff55 MDL-31407 quiz: review all uses of global $USER 2012-02-02 18:13:34 +00:00
Kyle Temkin c31783bb34 MDL-31407 quiz: finish_attempt method should not rely on $USER 2012-02-02 18:13:30 +00:00
Eloy Lafuente (stronk7) 4d2f89f85b weekly release 2.2.1+ 2012-02-02 12:13:28 +01:00
Eloy Lafuente (stronk7) 18a727e6fd Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-02-02 12:08:48 +01:00
Jerome Mouneyrac 28a3a568aa MDL-27360 Web service tokens are displayed for deleted users 2012-02-02 16:23:56 +08:00
Aparup Banerjee 6432e1b4e1 Merge branch 'm22_MDL-31360' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-02 11:13:22 +08:00
Dan Marsden 52453939f2 MDL-31360 use extra param in get_in_or_equal - one less line of code... 2012-02-01 23:09:49 +13:00
Eloy Lafuente (stronk7) be15c303e0 Merge branch 'wip-MDL-31160-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-02-01 00:54:14 +01:00
Eloy Lafuente (stronk7) acef9e8a7f Merge branch 'wip-MDL-31197-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-02-01 00:50:38 +01:00
Eloy Lafuente (stronk7) 6badc27a66 Merge branch 'm22_MDL-31039' of git://github.com/danmarsden/moodle into MOODLE_22_STABLE 2012-02-01 00:41:47 +01:00
Andrew Robert Nicols c904d241d5 MDL-31000 Respect sortorder of repositories when displaying the filepicker 2012-02-01 00:33:54 +01:00
Glenn Ansley 7da14ca7c5 MDL-31448 Replaced incorrect PHP comment 2012-01-31 23:58:06 +01:00
Eloy Lafuente (stronk7) 14b273b3c8 MDL-30714 theme_afterburner: better, output the information, LOL 2012-01-31 23:36:35 +01:00
Mary Evans b1591e5081 MDL-30714 theme_afterburner: logo link to home page 2012-01-31 23:19:51 +01:00
Eloy Lafuente (stronk7) f22c2e015a Merge branch 'MDL-31015-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-01-31 23:02:56 +01:00
Eloy Lafuente (stronk7) d4184875ce Merge branch 'MDL-30854_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-31 19:38:48 +01:00
Eloy Lafuente (stronk7) 26be1bf17a Merge branch 'MDL-30484_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-31 17:16:51 +01:00
Eloy Lafuente (stronk7) 5a1e6f2a6c Merge branch 'MDL-31314_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-31 17:06:14 +01:00
Aparup Banerjee cfbde86579 Merge branch 'MDL-30828_feedback_sort_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-01-31 16:51:08 +08:00
Aparup Banerjee 5684c6ab99 Merge branch 'MDL-30707_forum_log_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-01-31 16:43:46 +08:00
Aparup Banerjee a5f1f8c0e2 Merge branch 'MDL-29097_mod_update_create_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-01-31 14:36:15 +08:00
Dan Marsden 7759183593 MDL-28522 Choice : View reports now correctly shows unanswered column - thanks to Marcus Boon for the patch 2012-01-31 12:23:35 +08:00
Aparup Banerjee 3d257cbf08 Merge branch 'MDL-31426_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-01-31 11:52:24 +08:00
Aparup Banerjee 611d3bd71d Merge branch 'MDL-31428_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-01-31 11:15:55 +08:00
AMOS bot fc9ca7eca3 Automatically generated installer lang files 2012-01-31 00:31:14 +00:00
Eloy Lafuente (stronk7) 94e62d8d02 MDL-31428 forum: prevent some warnings with debug enabled 2012-01-31 00:25:42 +01:00
Eloy Lafuente (stronk7) e163fbc943 MDL-31426 forum: don't show/allow any subscription to not enrolled users 2012-01-30 23:22:05 +01:00
Tim Hunt 699f075ad2 MDL-30484 question engine: don't lose response files when regrading.
The problem was mostly that, in the past, we did not worry if
question_attempt_step.id changed during regrade (because we deleted the
old step row and inserted a new one). However, now that steps can have
associated files, we can't be that slack, becuase the step id is used as
the file itemid.

So, now, we have to update the existing rows during a regrade. We do
this by having the question engine tell the question_engine_unit_of_work
that the step has first been deleted, and then added back. Then we make
the unit-of-work spot that delete + add = update.

This also means that during regrading, we have to pass around some extra
ids so that new steps know the id of the step they are replacing.

Naturally, this requires some quite trickly logic, so I finally got
around to writing unit tests for question_engine_unit_of_work, which is
a good thing.

Along the way I also got around to renaming
question_attempt->set_number_in_usage, which got missed out when
everthing else was renamed to slot ages ago.

Finally, while working on this code, I noticed and fixed some PHPdoc
comments.
2012-01-30 17:05:56 +00:00
Tim Hunt a3b0c9462f MDL-31314 gradebook restore: fix category.depth on restore.
Without this, restoring backups made with the OU's custom 'restore from
1.9' feature, and possibly other people's custom converstion code, does
not work properly.

Also, fix poor recordset code.
2012-01-30 12:31:30 +00:00
Tim Hunt d4d8a51fae MDL-30854 quiz/question editing: fix create calc question & add on page.
This was one of those innocent seeming issues where, once you start
digging, you find a mess. In this case, the code that is now in
question_wizard_form::add_hidden_fields used to exist in four different
places, in four inconsistent versions. This is now all nicely
re-factored, and that solves the problem.

Along the way, I found and fixed some wrong string references in
qtype_random, and stripped out some unnecessary &s in function
declarations.
2012-01-30 12:31:02 +00:00
Aparup Banerjee db78068443 Merge branch 'MDL-26260_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-30 16:26:47 +08:00
Aparup Banerjee c8a11c7410 Merge branch 'MDL-31392_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-30 14:25:35 +08:00
AMOS bot 53cd3d4278 Automatically generated installer lang files 2012-01-30 00:31:21 +00:00
sam marshall 8c8a31c21d MDL-31015 File/URL resource 'Open' and 'Force download' options should work consistently 2012-01-27 16:02:50 +00:00
Jerome Mouneyrac 049c70ea9d MDL-29471 php warning when adding function to a new web service 2012-01-27 16:11:47 +08:00
David Mudrak 17b629d458 MDL-31317 original_site_identifier_hash falls back to null during the backup conversion
Even if the site identifier is not defined in the source 1.9 backup then the
converted 2.0 version should still contain the element to prevent PHP
notices on direct assignment.
2012-01-27 08:50:02 +01:00
Jerome Mouneyrac 15dd454840 MDL-30878 core_user_update_users user password is reset if not specified 2012-01-27 15:26:10 +08:00
Fábio Souto 1dee84c2be Updated bugfix according to Jerome suggestions
password check is done at lib.php instead of externallib.php

Conflicts:

	user/lib.php
2012-01-27 15:26:01 +08:00
Dan Marsden bfeca9d6b9 SCORM AICC MDL-31039 update external AICC url correctly - thanks to Albert Rhemrev for report/fix 2012-01-27 19:42:30 +13:00
Dan Marsden 68e719927e MDL-31360 Don't use get_in_or_equal if array is empty, tidy up structure of $extracaps array 2012-01-27 19:40:38 +13:00
Eloy Lafuente (stronk7) d4b3034bb4 weekly release 2.2.1+ 2012-01-27 02:26:26 +01:00
Eloy Lafuente (stronk7) 61622d9709 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-01-27 02:20:16 +01:00
AMOS bot d692e80d6b Automatically generated installer lang files 2012-01-27 00:31:16 +00:00
Tim Hunt e2a4d8f9d0 MDL-31392 qeupgradehelper partial upgrade support broken since 2.2 2012-01-26 16:32:10 +00:00
Sam Hemelryk 887ec885b1 Merge branch 'w04_MDL-30509_m22_slowcohort' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-25 10:29:22 +08:00
Eloy Lafuente (stronk7) b292cea475 Merge branch 'MDL-31122-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-01-25 01:52:36 +01:00
Eloy Lafuente (stronk7) fe3130a07d Merge branch 'MDL-29896-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-01-25 01:17:06 +01:00
Eloy Lafuente (stronk7) 264189da87 Merge branch 'MDL-31113_multiple_files_file_manager_22' of https://github.com/davosmith/moodle into MOODLE_22_STABLE 2012-01-25 01:06:56 +01:00
Eloy Lafuente (stronk7) 9e3824a63d Merge branch 'w04_MDL-31238_m22_php54' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-24 23:55:36 +01:00
Andrew Robert Nicols 2af7ab97d6 MDL-31245 Add missing 'icon' class to highlight button in topics format 2012-01-24 18:47:56 +01:00
Aparup Banerjee c327996e6b Merge branch 'wip-MDL-31224-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2012-01-24 23:01:26 +08:00
Eloy Lafuente (stronk7) ea5be5a976 MDL-31189 whitespace fixes 2012-01-24 13:21:00 +01:00
Eloy Lafuente (stronk7) ba09a2619e Merge branch 'w04_MDL-31183_m22_gloscounts' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-24 12:25:55 +01:00
M Kassaei 5d2dce09b3 MDL-31306 question preview: disable 'Fill correct' for qtypes that can't 2012-01-24 13:27:34 +08:00
Sam Hemelryk d0c82a5609 Merge branch 'MDL-31205_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-24 11:28:38 +08:00
Sam Hemelryk 11942210a2 Merge branch 'MDL-31189_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-01-24 11:07:00 +08:00
Sam Hemelryk a67a3a8eec Merge branch 'MDL-31231_M22' of git://github.com/lazydaisy/moodle into MOODLE_22_STABLE 2012-01-24 11:03:02 +08:00
Eloy Lafuente (stronk7) ac2a99b1b8 Merge branch 'w04_MDL-31176_m22_groupcontext' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-24 01:30:02 +01:00
Aparup Banerjee b7c8fb6610 Merge branch 'wip-MDL-28352-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-01-24 07:12:31 +08:00
Eloy Lafuente (stronk7) 2581c3cb70 Merge branch 'MDL-30033_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-24 00:09:20 +01:00
Eloy Lafuente (stronk7) b19a440a04 Merge branch 'MDL-31065_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-24 00:07:06 +01:00
Aparup Banerjee 787c2eefd3 Merge branch 'w04_MDL-31184_m22_glosreset' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-24 06:58:33 +08:00
Mary Evans 9440efcd97 MDL-31189_M22 theme_sky_high: fixed footer so page, perfomance and validators can be seen if enabled 2012-01-23 21:41:39 +00:00
Petr Skoda 3b1e1d8964 MDL-31081 limit query to one course in forum_get_subscribed_forums()
This improves performance on the forum index page. Credit goes to Mark Nielsen.
2012-01-23 21:34:05 +01:00
Mary Evans ec5bfaf5e0 MDL-31231 fixes docked navigation menu in theme_afterburner 2012-01-23 12:45:23 +00:00
Petr Skoda 58ac441cae MDL-31172 fix variable name typo in backup file logger 2012-01-23 16:10:10 +08:00
Petr Skoda ddb621b78d MDL-31173 fix variable name typo when throwing invalid $rule param exception in restore decode processor 2012-01-23 16:07:06 +08:00
Sam Hemelryk 6f421476a9 Merge branch 'w04_MDL-31177_m22_odsexport' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 15:37:48 +08:00
Sam Hemelryk 3c6d27b44b Merge branch 'w04_MDL-31178_m22_enrolledws' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 15:15:52 +08:00
Sam Hemelryk f536a092d4 Merge branch 'w04_MDL-31182_m22_messprefs' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 14:45:50 +08:00
Sam Hemelryk d5d5ae432c Merge branch 'w04_MDL-31186_m22_extprofiles' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 14:31:48 +08:00
Petr Skoda 5125c0e332 MDL-31202 do not try sending emails to invalid addresses
The use of mtrace() in email_to_user() is most probably incorrect, I am going to use it only in CLI scripts (which includes cron). This should not be considered a security issue because we should be already validating emails when accepting them from untrusted users.
2012-01-23 14:24:43 +08:00
Mary Evans a141bd9ca2 MDL-31269 theme_magazine: fixes login pagelayout in theme_magazine 2012-01-23 13:25:49 +08:00
Mary Evans 8772dd9202 MDL-31324 fixes custom css settings in theme_afterburner 2012-01-23 13:13:51 +08:00
Andrew Davis b0b6a8dac6 MDL-29097 course: refactored to avoid having two seperate calls to events_trigger() 2012-01-23 11:56:00 +07:00
Andrew Davis 35888eee0d MDL-30722 mod_forum: prevented users being auto-logged in as guest when they access /mod/forum/unsubscribeall.php 2012-01-23 11:23:34 +07:00
Andrew Davis ec0118dd5d MDL-30707 mod_forum: fixed a add_to_log() call that was causing invalid URLs to be added to the log 2012-01-23 11:05:45 +07:00
Sam Hemelryk cd5189e266 Merge branch 'MDL-31077-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2012-01-23 11:48:25 +08:00
Sam Hemelryk c95efa3936 Merge branch 'MDL-31329_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-01-23 11:25:42 +08:00
Andrew Robert Nicols abb58a56f4 MDL-31013 Add iconsmall class to 'Export to portfolio' icon 2012-01-23 11:08:51 +08:00
Eloy Lafuente (stronk7) 7ce803eeae Merge branch 'wip-MDL-31179-MOODLE_22_STABLE' of github.com:marinaglancy/moodle into MOODLE_22_STABLE 2012-01-23 01:19:45 +01:00
Petr Skoda 196eedebb1 MDL-31180 fix coding error in fake_recordset iterator 2012-01-23 01:12:32 +01:00
Eloy Lafuente (stronk7) ed6af81b50 Merge branch 'w04_MDL-31181_m22_fitlertestcfg' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 01:04:17 +01:00
Eloy Lafuente (stronk7) 9e2f748669 Merge branch 'MDL-31058_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-23 00:56:24 +01:00
Eloy Lafuente (stronk7) 6daa6285cc Merge branch 'w04_MDL-31185_m22_postscfg' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-23 00:28:28 +01:00
Eloy Lafuente (stronk7) 984616805e MDL-31329 timezones: updated to 2011n 2012-01-22 21:32:07 +01:00
Petr Skoda ec6c7d98f9 MDL-31176 add missing global $DB when looking for group related context in calendar 2012-01-21 19:57:33 +01:00
Petr Skoda 918bcdcfab MDL-31177 fix notices when exporting logs to ods 2012-01-21 19:51:58 +01:00
Petr Skoda d0eb3fcf88 MDL-31178 fix broken core_enrol_external::get_enrolled_users() 2012-01-21 17:59:14 +01:00
Petr Skoda ea5214d534 MDL-31181 fix missing global $CFG that was breaking unit test teardown 2012-01-21 17:08:43 +01:00
Petr Skoda c73dbf667d MDL-31182 fix fatal error when problem detected in finding messaging defaults 2012-01-21 16:59:47 +01:00
Petr Skoda 3397a096ba MDL-31183 fix non-functional glossary_count_unrated_entries() 2012-01-21 16:47:28 +01:00
Petr Skoda 47649d4328 MDL-31184 fix multiple problems when reseting individual glossary types 2012-01-21 16:31:28 +01:00
Petr Skoda 3370262bae MDL-31185 fix missing CFG in forum_get_posts_by_user() 2012-01-21 16:17:33 +01:00
Petr Skoda 06f7eb2a36 MDL-31186 fix wrong context preloading sql 2012-01-21 16:09:01 +01:00
Petr Skoda 13a1eb3c10 MDL-30509 backport perf improvement in role cleanup in cohort sync
This patch simplifies the role cleanup sql, it is not necessary to look for roles without enrolment instance because all roles are automatically unassigned when deleting enrol instances.
2012-01-21 11:55:32 +01:00
Petr Skoda caa4912f70 MDL-31208 fix obsolete get_record_sql() parameter
Credit goes to Rajesh Taneja.
2012-01-21 11:36:52 +01:00
Petr Skoda 68d4c5bc1f MDL-31238 remove now unnecessary null to stdClass conversion for plugin settings 2012-01-21 11:17:18 +01:00
Petr Skoda 057d39bbc1 MDL-31238 always return object for plugin settings from get_config()
This prevents multiple creations of objects from NULL which is note a warnings in php54
2012-01-21 11:17:18 +01:00
Tim Hunt 2f7d4b4213 MDL-31058 qtype match 1.9 restore: fix restore of dodgy questions. 2012-01-20 18:06:53 +00:00
Tim Hunt 4eac963a41 MDL-31065 question stats: fix analysis of responses not matching a given answer
When shortanswer, numerical, calculated and calculatedsimple questions
did not have a '*' match-anything answer, then any student response that
did not match any of the teacher-given answers were classified as
'[No response]', which was not right.

This patch fixes that. Such responses are now classified as
[Did not match any answer].

While I was doing this, I noticed that the display of tolerance
intervals for numerical questions in the response analysis was horrible,
so I improved it.
2012-01-20 17:46:01 +00:00
Tim Hunt 2b18b65f9a MDL-31065 qtype shortanswer: refactor the unit tests to use a proper helper. 2012-01-20 17:45:56 +00:00
Tim Hunt 277106de6e MDL-31205 quiz 'secure' window: scrollbars missing.
Embarrassing type in the arguments to openpopup
2012-01-20 16:58:32 +00:00
Tim Hunt bc8e22c4cc MDL-30033 quiz overall feedback not show for attempts with a -ve grade
This can happen, for example, if a student does really badly on a CBM quiz.
2012-01-20 16:57:26 +00:00
Jason Ilicic 8f8db0fc5f MDL-26260 Fix quiz right-click prevention loophole. 2012-01-20 16:56:59 +00:00
sam marshall 125e250a85 MDL-29896 Navigation: Make links, files clickable in nav block 2012-01-20 10:33:05 +00:00
Andrew Davis 04d9550434 MDL-30828 mod_feedback: fixed sorting when viewing responses 2012-01-20 15:51:58 +07:00
Marina Glancy e58dbe0fe8 MDL-28352: Fixed bug in html_writer::select_time causing not autoselecting month 2012-01-20 16:27:39 +08:00
Sam Hemelryk 135de8d007 MDL-31197 navigation: Fixed issue withing require_login for courses that are hidden or unavailable 2012-01-20 12:51:48 +08:00
Sam Hemelryk ac41de6697 MDL-31224 block_navigation: Fixed display of icons for node with an action_link action 2012-01-20 11:19:20 +08:00
David Penner 5a479aa628 MDL-31160 block_navigation: Fixed incorrect thrid arg to substr. 2012-01-20 11:14:21 +08:00
Marina Glancy 288503b780 MDL-31179: added missing global 2012-01-20 10:33:23 +08:00
AMOS bot 5b01459102 Automatically generated installer lang files 2012-01-20 00:31:23 +00:00
Davo Smith 6d3c3b02a6 MDL-31113 filemanager element - refresh file list from server on load 2012-01-19 19:50:05 +00:00
sam marshall 54b1dc4950 MDL-31122 Navigation: Do not show week in navigation if it contains only labels 2012-01-19 14:46:34 +00:00
Eloy Lafuente (stronk7) 269c884874 weekly release 2.2.1+ 2012-01-19 13:33:36 +01:00
Eloy Lafuente (stronk7) 4a4c146e9f Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-01-19 13:28:42 +01:00
AMOS bot bd9cbc32f5 Automatically generated installer lang files 2012-01-19 00:31:22 +00:00
Andrew Robert Nicols e639d0cca8 MDL-31242 Prevent redefinition of MOODLE_INTERNAL when loading multiple YUI modules from Moodle 2012-01-18 15:40:36 +01:00
Tim Hunt e7a8905fc9 MDL-31157 quiz cron: another regression from MDL-30635 2012-01-18 10:27:06 +01:00
Eloy Lafuente (stronk7) 4416991914 MDL-31006 revert partially @ get_config()
The change from null to stdClass() in get_config() was leading to:

1) unit tests not passing.
2) non-equivalent evaluation in conditions (null evals false,
   stdClassi() evals true)
2012-01-18 02:11:53 +01:00
AMOS bot 11bb61041b Automatically generated installer lang files 2012-01-18 00:31:36 +00:00
Petr Skoda a1317d1b99 MDL-31006 some more PHP54 notices
PHP54 compatibility - PhpStorm IDE is the best tool for this kind of work!!
2012-01-18 01:17:09 +01:00
Petr Skoda 88e2bbae6d MDL-31006 fix various notices in PHP54
PHP54 compatibility
2012-01-18 01:04:45 +01:00
Eloy Lafuente (stronk7) 2aa4f06a88 Merge branch 'w03_MDL-31213_m22_attributesmess' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 12:37:28 +01:00
Petr Skoda fc0a71999e MDL-31213 fix incorrect modifications of quickforms attributes 2012-01-17 11:21:10 +01:00
Jerome Mouneyrac 4bc3f5a2da MDL-31077 REST server should return null if nothing fail and if the description function return null. 2012-01-17 15:50:37 +08:00
Eloy Lafuente (stronk7) 14a49d6d28 Merge branch 'w03_MDL-31053_m22_contextpreloading' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 02:26:25 +01:00
Eloy Lafuente (stronk7) b837c9e84d Merge branch 'w03_MDL-31127_m22_switchaccessinit' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 02:11:36 +01:00
Eloy Lafuente (stronk7) 8838b16705 Merge branch 'w03_MDL-31161_m22_reqpluginnotice' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 02:06:06 +01:00
Eloy Lafuente (stronk7) e4715ab74a Merge branch 'MDL-31080_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-17 02:01:49 +01:00
Eloy Lafuente (stronk7) 87be88ad2f Merge branch 'w03_MDL-31142_m22_slowiconv' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 01:39:07 +01:00
Eloy Lafuente (stronk7) 27dd6a7c57 Merge branch 'w03_MDL-31171_m22_blogattachment' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 01:32:17 +01:00
AMOS bot fba6d4c169 Automatically generated installer lang files 2012-01-17 00:31:12 +00:00
Eloy Lafuente (stronk7) 9690f66447 Merge branch 'w03_MDL-31170_m22_blogblocks' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-17 00:55:45 +01:00
Sam Hemelryk 1c1b04c994 Merge branch 'MDL-31095_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 16:59:27 +08:00
Sam Hemelryk 8a9edd6dba Merge branch 'MDL-31135_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 16:41:24 +08:00
Sam Hemelryk 282dcd3c03 Merge branch 'MDL-31102_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 16:27:38 +08:00
Petr Skoda 76917f764f MDL-31142 fix textlib::substr() performance, invalid length in iconv_substr; use mbstring by default 2012-01-16 09:17:36 +01:00
Sam Hemelryk d5c88f9333 Merge remote-tracking branch 'skodak/w03_MDL-27165_m22_confirmed' into MOODLE_22_STABLE 2012-01-16 16:17:09 +08:00
Aparup Banerjee 1a3b5c6cfc Merge branch 'MDL-31143_22' of https://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 15:29:30 +08:00
Sam Hemelryk 199ba4286b Merge remote-tracking branch 'skodak/w03_MDL-29102_m22_autogrouping' into MOODLE_22_STABLE 2012-01-16 15:11:07 +08:00
Sam Hemelryk f0987e98ad Merge remote-tracking branch 'skodak/w03_MDL-30891_m22_repository' into MOODLE_22_STABLE 2012-01-16 15:01:09 +08:00
Sam Hemelryk 735d8ce2ce Merge remote-tracking branch 'skodak/w03_MDL-30958_m22_yuissl' into MOODLE_22_STABLE 2012-01-16 14:56:06 +08:00
Aparup Banerjee 0a52c0d63d Merge branch 'w03_MDL-31166_m22_clipath' of https://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-16 14:52:48 +08:00
Sam Hemelryk ec9cd69156 MDL-31011 course: Fixed typo in comment 2012-01-16 14:49:28 +08:00
Sam Hemelryk 43812bf883 Merge remote-tracking branch 'skodak/w03_MDL-31011_m22_loglinks' into MOODLE_22_STABLE 2012-01-16 14:49:28 +08:00
Aparup Banerjee 7b3dae9096 Merge branch 'w03_MDL-21992_m22_customscripts' of https://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-16 14:48:16 +08:00
Sam Hemelryk 6f960202e7 Merge remote-tracking branch 'skodak/w03_MDL-31035_m22_identitynotice' into MOODLE_22_STABLE 2012-01-16 14:38:36 +08:00
Sam Hemelryk ff65ab25c2 Merge remote-tracking branch 'skodak/w03_MDL-31117_m22_grouptodo' into MOODLE_22_STABLE 2012-01-16 14:34:58 +08:00
Sam Hemelryk ac0d9c6411 Merge remote-tracking branch 'skodak/w03_MDL-31109_m22_maintenance' into MOODLE_22_STABLE 2012-01-16 14:33:01 +08:00
Sam Hemelryk 1480ead173 Merge branch 'wip-MDL-31060-MOODLE_22_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_22_STABLE 2012-01-16 12:00:12 +08:00
Sam Hemelryk 2d48474f2a Merge branch 'MDL-31130_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 11:48:50 +08:00
Aparup Banerjee 94828bec35 Merge branch 'wip-MDL-31072-MOODLE_22_STABLE' of github.com:marinaglancy/moodle into MOODLE_22_STABLE 2012-01-16 11:39:43 +08:00
Andrew Robert Nicols 6a226839d0 MDL-31018 Improve consistency of horizontal alignment across grade reports 2012-01-16 11:14:46 +08:00
Sam Hemelryk 6bf567100a Merge branch 'MDL-31040-MOODLE_22_STABLE-3' of git://git.luns.net.uk/moodle into MOODLE_22_STABLE 2012-01-16 10:59:41 +08:00
Mayank Gupa 00e4cad952 MDL-30578, Updating CMILongIdentifer read comments at tracker 2012-01-16 10:16:50 +08:00
Mayank Gupa 754eb73b23 MDL-30578, Updating CMILongIdentifer to check for valid URI (RFC 3986 [6]) and URN syntax as per RFC 2141 [3] 2012-01-16 10:16:41 +08:00
Eloy Lafuente (stronk7) e09cfa968b Merge branch 'w03_MDL-31165_m22_innodbconv' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-16 02:06:57 +01:00
Eloy Lafuente (stronk7) 8b23f31909 Merge branch 'MDL-31157_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-16 01:43:20 +01:00
Charles Fulton 534f9fec11 MDL-25883 correct element name for wiki comments editor 2012-01-15 10:35:23 -08:00
Petr Skoda cee1176862 MDL-29102 fix notice when auto-creating groups in existing grouping 2012-01-15 19:27:08 +01:00
Petr Skoda 5274209ac1 MDL-31171 fix blog attachment serving in BLOG_USER_LEVEL 2012-01-15 19:11:41 +01:00
Petr Skoda 12f2dc577d MDL-31011 fix report links in logs 2012-01-15 19:02:34 +01:00
Petr Skoda 7e6f69b9af MDL-31035 fix showuseridentity notice before settings upgrade 2012-01-15 17:13:11 +01:00
Petr Skoda 7991c4c000 MDL-21992 fix custom scripts on https pages and CLI 2012-01-15 16:00:45 +01:00
Petr Skoda 7fdb5afc08 MDL-31161 fix notice when checking plugin requirements
Credit goes to Joseph Rézeau, thanks.
2012-01-15 15:35:20 +01:00
Petr Skoda a2c5642872 MDL-30958 do not use Yahoo CDN on https sites
Browsers do not like mixing of ssl and non-use content on one page. Unfortunately YAHOO does not provide the files over SSL yet - see http://yuilibrary.com/yui/docs/tutorials/faq/#does-yahoos-cdn-support-ssl
2012-01-15 15:25:01 +01:00
Petr Skoda fde76de588 MDL-31170 fix automatic blog blocks hiding/unhiding after blog level change 2012-01-15 13:40:37 +01:00
Petr Skoda 45d88e56cb MDL-31166 do not try to cleanup data root paths in CLI install script
PARAM_TYPE can not be used for full OS paths. Admins have to enter correct data there, if not they get directory creation error.
2012-01-15 11:05:30 +01:00
Petr Skoda 22d6b3da4f MDL-31165 fix InnoDB conversion query to use ENGINE parameter instead of legacy TYPE 2012-01-15 10:32:29 +01:00
AMOS bot f7ff057d0b Automatically generated installer lang files 2012-01-15 00:31:12 +00:00
Petr Skoda 04c0a7d205 MDL-31109 fix maintenance link value in get_string() 2012-01-15 00:56:29 +01:00
Petr Skoda f543eea9d6 MDL-31117 delete obsolete TODO
This TODO was added when we were still using moodledata folder for group images, it is not relevant any more because group images are in new file API which supports DB transaction rollbacks.
2012-01-15 00:44:04 +01:00
Petr Skoda a5a993abc2 MDL-31127 init USER->access when switching roles
Only admins were affected by this problem because has_capability() does not init USER->access for them.
2012-01-15 00:15:17 +01:00
Petr Skoda 38d341b0d7 MDL-27165 fix broken confirmed user filtering 2012-01-14 22:14:58 +01:00
Petr Skoda 1c83b13343 MDL-30891 fix invalid hardcoded capability check when disable legacy files repo 2012-01-14 21:58:33 +01:00
Petr Skoda 182f5cc6f6 MDL-31053 fix invalid context preloading in get_user_capability_course() 2012-01-14 21:36:32 +01:00
Tim Hunt d8b06a25b2 MDL-31157 quiz cron: timenow was not being initialised 2012-01-13 22:33:16 +00:00
Tim Hunt ef0376f4ef MDL-31095 quiz editing: only set quiz->grade to 0 if really necessary.
It is only necessary when there are (non-preview) attempts. However,
after making this change we have to ensure users cannot start attempts
when ->grade > 0 and ->sumgrades = 0.

Display ->grade on the order and paging tab of edit.php, so it is clear
what is going on when you are using that tab.

Finally, improve the error message a student gets if they try to start a
quiz with no questions.
2012-01-13 11:42:57 +00:00
Tim Hunt 090d2f90e8 MDL-31095 quiz: fix bug in quiz::has_questions. 2012-01-13 11:42:55 +00:00
Marina Glancy ee5cf900f8 MDL-31072: Fixed bug causing memory overflow for many-user systems:
when function find_users was supposed to be used for user validation but no userids were passed to it, it retrieved all users in the system.
This caused memory overflow on systems with too many users (like moodle.org).
Now we make sure that find_users is not called for validation if there is nobody to validate.

Also improved query inside find_users to make it work faster
2012-01-13 10:13:04 +08:00
Marina Glancy e5a9af0a70 MDL-31060: removed unnecessary fields from query which also caused problems in MSSQL 2012-01-13 10:12:55 +08:00
Tim Hunt b3c02fae54 MDL-31143 quiz reports: average grade of null causes php error. 2012-01-12 16:46:12 +00:00
Andrew Robert Nicols 87b8419f80 MDL-31040 Correct LTR language issue and inconsistency in display 2012-01-12 14:01:51 +00:00
Jonathon Fowler 0a2569e55c MDL-31130 question bank: toggling show all / 20 per page broken. 2012-01-12 12:44:44 +00:00
Tim Hunt a8f912faf1 MDL-31135 question instances report: 'All' option broken 2012-01-12 12:44:15 +00:00
Tim Hunt 16f75808c7 MDL-31102 question preview: fix HTML validation errors. 2012-01-12 11:33:00 +00:00
Tim Hunt a364362b95 MDL-31100 unit tests: don't mangle UTF-8 in failure messages. 2012-01-12 11:32:41 +00:00
Tim Hunt d16597b557 MDL-31080 quiz editing, must be able to see and delete missing questions 2012-01-12 11:32:22 +00:00
Eloy Lafuente (stronk7) f70f6e9ad1 weekly release 2.2.1+ 2012-01-12 11:33:19 +01:00
Eloy Lafuente (stronk7) cb5d7dbe14 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-01-12 11:25:01 +01:00
Tim Hunt 7ecee68542 MDL-26469 upgrade: cope with modules that do not set $module->cron. 2012-01-11 19:08:13 +01:00
Tim Hunt 18930123e3 MDL-26469 upgrade: module cron setting not updated. 2012-01-11 14:04:16 +00:00
Tim Hunt f40f4013f1 MDL-30635 quiz cron: fixup - enable in version.php & fn name quiz_statistics_cron 2012-01-11 14:02:17 +00:00
AMOS bot 86645a5e91 Automatically generated installer lang files 2012-01-11 00:31:22 +00:00
Eloy Lafuente (stronk7) e516577ec7 Merge branch 'MDL-31101_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-10 23:35:15 +01:00
Tim Hunt 8261570853 MDL-31101 format_string: Don't mangle < and > in strings like x < 1. 2012-01-10 14:54:40 +00:00
Rajesh Taneja 4cb258fbdf MDL-30452 Repositories: Changed default capability on repos - Thanks Michael
Signed-off-by: Rajesh Taneja <rajesh@moodle.org>
2012-01-10 11:11:34 +01:00
Sam Hemelryk 859624f26c Merge branch 'MDL-24394_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-10 14:30:22 +13:00
Sam Hemelryk 10c3c6d49c Merge branch 'MDL-31019_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-10 14:26:36 +13:00
Sam Hemelryk 7e9f29178e MDL-31000 Added comment about the importance of repository array keys 2012-01-10 12:27:38 +13:00
Sam Hemelryk 7984be4a13 Revert "MDL-31000 Respect sortorder of repositories when displaying the filepicker"
This reverts commit ce40b669cc.
2012-01-10 12:25:11 +13:00
Eloy Lafuente (stronk7) efabe26141 Merge branch 'wip-mdl-30608-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-01-09 22:19:11 +01:00
Darko Miletic a7e79bfe78 MDL-30783: Implemented fix 2012-01-09 21:51:41 +01:00
Tim Hunt c4989dc75f MDL-24394 qtype_match: should be able to use multilang for the choices. 2012-01-09 18:06:11 +00:00
Tim Hunt 0f504be67b MDL-31019 quiz secure mode. Fix typo that breaks submit. 2012-01-09 17:10:19 +00:00
Aparup Banerjee 54afb1ca01 Merge branch 'w02_MDL-30718_m22_usertimedb' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-09 12:20:34 +08:00
Sam Hemelryk da744e0065 Merge branch 'w02_MDL-31005_m22_contextlevelname' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-09 16:12:38 +13:00
Sam Hemelryk 7a44fb4d97 MDL-30608 Blocks: Fixed block disappering from search page 2012-01-09 11:04:44 +08:00
Aleksey Avdeev d43c4284e1 MDL-29046 use of install/distrolib.php in the CLI installer
Signed-off-by: Aleksey Avdeev <solo@altlinux.ru>
2012-01-09 02:32:37 +01:00
Eloy Lafuente (stronk7) f36884dde7 Merge branch 'MDL-30031-22' of git://github.com/bostelm/moodle into MOODLE_22_STABLE 2012-01-09 02:14:31 +01:00
Sam Hemelryk 5dff4c565f Merge branch 'w02_MDL-30717_m22_usercreated' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-09 14:03:00 +13:00
Sam Hemelryk 0ca7b84953 MDL-30928 lib: Fixed whitespace 2012-01-09 13:57:23 +13:00
Sam Hemelryk 995294dfa3 Merge branch 'w02_MDL-30928_m22_deletetimes' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-09 13:48:37 +13:00
Sam Hemelryk cef1e7f444 Merge branch 'w02_MDL-30969_m22_suspendedcsv' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-09 13:02:21 +13:00
Darko Miletic 23758a4588 MDL-30778: Implemented intendeduserrole support 2012-01-09 00:42:48 +01:00
Eloy Lafuente (stronk7) f35cacdc83 Merge branch 'MDL-30966-print-object_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-01-09 00:33:31 +01:00
Eloy Lafuente (stronk7) 7e20d8e330 Merge branch 'MDL-30635_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-09 00:18:18 +01:00
Sam Hemelryk ade2e5955e Merge branch 'MDL-30652_m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2012-01-09 12:00:22 +13:00
Andrew Robert Nicols ce40b669cc MDL-31000 Respect sortorder of repositories when displaying the filepicker 2012-01-09 11:53:53 +13:00
Petr Skoda 05042a7ed8 MDL-31005 fix strict coding style warning in context_helper
PHP54 compatibility
2012-01-08 15:42:34 +01:00
Petr Skoda 2824832a18 MDL-30717 update user->timemodified in update_user_record() 2012-01-08 15:04:06 +01:00
Petr Skoda 17330e8aae MDL-30717 add missing time created info in create_user_record()
Credit goes to Luis Gustavo Mueller de Alcantara.
2012-01-08 15:04:05 +01:00
Petr Skoda 6ac158e9e3 MDL-30718 add missing timecraeted and timeupdated, fix user undeleting 2012-01-08 14:51:47 +01:00
Petr Skoda dfff77eedd MDL-30928 include course and user deletion time in event
Credit goes to Luis Gustavo Mueller de Alcantara.
2012-01-08 14:30:06 +01:00
Petr Skoda 77536bd387 MDL-30969 add support for suspending in uploaduser admin tool 2012-01-08 14:01:49 +01:00
AMOS bot c56a8d4441 Merge branch 'MOODLE_22_STABLE' into install_22_STABLE 2012-01-08 00:31:21 +00:00
Eloy Lafuente (stronk7) a1d246334b Moodle release 2.2.1 2012-01-07 17:04:34 +01:00
AMOS bot e71389830c Automatically generated installer lang files 2012-01-07 00:31:19 +00:00
David Mudrak b886841fc8 MDL-30966 print_object() output made CLI-friendly 2012-01-06 22:47:11 +01:00
Tim Hunt 25200f80f7 MDL-30635 let quiz reports do cron in the standard way.
The old legacy way is still supported in 2.2, but this support will be
dropped in 2.3.
2012-01-06 18:13:13 +00:00
AMOS bot fdac23f168 Automatically generated installer lang files 2012-01-06 00:31:29 +00:00
Eloy Lafuente (stronk7) 7ca0ece0db weekly release 2.2+ 2012-01-05 15:06:46 +01:00
Eloy Lafuente (stronk7) dcfc7a875a Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2012-01-05 12:50:26 +01:00
Sam Hemelryk ffd6212152 Merge branch 'MDL-31017_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2012-01-05 11:17:13 +13:00
Eloy Lafuente (stronk7) 1cf721e235 MDL-31017 whitespace clean - take1 2012-01-04 16:28:59 +01:00
Eloy Lafuente (stronk7) aed7f32783 Merge branch 'MDL-30865-workshop-unittest_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2012-01-04 02:19:11 +01:00
Eloy Lafuente (stronk7) dbc7d20cf5 Merge branch 'MDL-30879-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2012-01-04 02:14:34 +01:00
Petr Skoda 6357d61912 MDL-30945 add support for unenrolling of individual users + code cleanup 2012-01-04 01:53:33 +01:00
AMOS bot 3acce7a095 Automatically generated installer lang files 2012-01-04 00:31:17 +00:00
Petr Skoda a36531da4f MDL-30948 do not generate new passwords for suspended accounts because they would not get any emails 2012-01-04 00:49:04 +01:00
Petr Skoda 7d1906cf7c MDL-30948 stop messaging suspended and deleted users 2012-01-04 00:49:03 +01:00
Petr Skoda 8be58774cd MDL-30951 prevent fatal error when category sync enrolment not configured 2012-01-04 00:40:26 +01:00
Petr Skoda ffbcd681f3 MDL-29917 prevent form autocompletion in most Moodle forms
The password autocompletion in case of Moodle makes sense only on the login page, the form autocompletion in general is most probably useful only on the user signup page.

This patch is compatible with html 5, unfortunately we have to ignore strict warnings in legacy xhtml 1.0 standard.
2012-01-04 10:58:31 +13:00
Petr Skoda dc49c2d461 MDL-30548 support user suspended flag in admin UI
This patch includes:
* user management suspend UI tweaks and other coding style improvements
* suspended info in user profiles
* suspend option in advanced edit form
* suspended user filtering
* hidden user fields option for suspended field

Thanks Sam Hemelryk for valuable feedback.
2012-01-04 10:51:04 +13:00
Petr Skoda 10357af3ef MDL-30950 remove references to removed admin block
Credit goes to Ralf Hilgenstock.
2012-01-03 22:35:00 +01:00
sam marshall 1800b35bf6 MDL-30879 Course page: missing space after class for new 'description on course page' feature 2012-01-03 12:42:24 +00:00
Rossiani Wijaya 6ca2f1d3ce MDL-30600 Fix mymobile theme choice renderer 2012-01-03 17:54:34 +08:00
Ankit Kumar Agarwal 9f097a7248 MDL-30652 SCORM Fixing report prefrences display for interactions report 2012-01-03 12:10:52 +05:30
Ankit Kumar Agarwal 8755b6aaca MDL-30652 SCORM Fixing report prefrences display issue for basic report 2012-01-03 12:10:43 +05:30
Ankit Kumar Agarwal bea916ae7c MDL-30652 Scorm adding proper comments 2012-01-03 12:10:21 +05:30
Aparup Banerjee 8ef685cf4c Merge branch 'wip-mdl-29844-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2012-01-03 12:31:22 +08:00
Eloy Lafuente e4b1208377 MDL-29844 Administration: Added new config for users to login for viewing profile image 2012-01-03 12:02:59 +08:00
Sam Hemelryk cd735560d3 Merge branch 'w52_MDL-30786_m22_todelete' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2012-01-03 16:35:26 +13:00
Petr Skoda a770897929 MDL-30673 fix login autocompletion protection 2012-01-03 14:09:36 +13:00
AMOS bot 40ff6e3663 Automatically generated installer lang files 2012-01-03 00:31:16 +00:00
Petr Skoda b408061558 MDL-30809 do not add guest info to add course form if default instance prevented 2012-01-03 13:05:38 +13:00
Petr Skoda be1af716b7 MDL-30924 merge upstream pspell fix
See https://github.com/moodle/custom-tinymce_spellchecker_php/tree/MOODLE_22_2.0.6a
2012-01-03 12:49:38 +13:00
Petr Skoda f69ff3b72e MDL-30926 fix course and module blog associations 2012-01-03 12:39:17 +13:00
Petr Skoda 0543bb679b MDL-30934 fix module delete cleanup
Credit goes to Rajiv Navada.
2012-01-03 12:26:35 +13:00
Petr Skoda 9cad3e182d MDL-30943 fix forgotten admin/report/ references 2012-01-03 12:23:43 +13:00
Sam Hemelryk 1243bf814b Merge branch 'MDL-30802_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-03 11:25:50 +13:00
Sam Hemelryk e972cdc5ad Merge branch 'MDL-30766_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-03 11:23:00 +13:00
Sam Hemelryk dc8d309c88 Merge branch 'MDL-30168_tim2_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-03 11:14:10 +13:00
Sam Hemelryk 860848dca8 Merge branch 'MDL-27200_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2012-01-03 11:12:01 +13:00
Henning Bostelmann aafe1618f8 MDL-29266 Assignment grading: save state of "send notifications" box 2012-01-03 11:09:59 +13:00
Petr Skoda 358e5cf791 MDL-13572 fix incorrect value printing 2012-01-03 11:01:29 +13:00
Petr Skoda a2c591662b MDL-13572 fix incorrect value printing 2012-01-03 11:01:29 +13:00
Petr Skoda 64550fa6c1 MDL-13572 do not send emails to invalid addresses 2012-01-03 11:01:29 +13:00
Mary Evans 267ff8cd27 MDL-30868 Fix for assignment view in theme_boxxie 2012-01-03 10:39:03 +13:00
Henning Bostelmann 32bbc36039 MDL-29821 Navigation tree: fix link to course notes page 2012-01-03 10:12:56 +13:00
Dan Poltawski 8129b01641 MDL-30706 mymobile: don't send login pages through ajax
By doing 'real requests' we can allow external authentication to happen
(e.g. apache module which does a redirect to external SSO system)
2012-01-03 10:09:43 +13:00
Andrew Robert Nicols a39a53fa6f MDL-30804 Rename the 'onthispage' fieldset for block configuration 2012-01-03 10:06:53 +13:00
Andrew Robert Nicols c50d05671b MDL-30805 Require HTML content for the HTML block configuration 2012-01-03 10:03:23 +13:00
Sam Hemelryk 7f7d9ce6e8 Merge branch 'MDL-13572_validate_email_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2012-01-03 09:57:14 +13:00
Eloy Lafuente (stronk7) 58a44ab228 Merge branch 'MDL-30851_22_wip' of git://github.com/grabs/moodle into MOODLE_22_STABLE 2012-01-02 20:26:40 +01:00
Petr Skoda b43c2e9d39 MDL-30953 fix utf-8 support in PSpell class
Credit for discover and proposed fix goes to David Hai Gootvilig, this patch is part of https://github.com/moodle/custom-tinymce_spellchecker_php/tree/MOODLE_22_2.0.6b which will be used in the next tinymce import. It was reported upstream as https://github.com/tinymce/tinymce_spellchecker_php/pull/5
2012-01-02 20:20:08 +01:00
AMOS bot 42cbe9be98 Automatically generated installer lang files 2011-12-29 00:31:19 +00:00
Henning Bostelmann fb93cfac00 MDL-30031 Adaptive question behaviour: ignore invalid answers without penalty 2011-12-28 17:20:51 +00:00
AMOS bot 0ba9f5a5e9 Automatically generated installer lang files 2011-12-24 00:31:35 +00:00
Andreas Grabs 9d1963b421 MDL-30851 - Syntax error in analysis_course.php 2011-12-23 17:39:16 +01:00
Tim Hunt ed82e03798 MDL-30873 quiz: display an overall grade for preview users.
Also, don't display an overall grade unless there is at least one finished attempt.
2011-12-23 11:49:59 +00:00
Tim Hunt a89d501b72 MDL-30802 question nav: fix questions link in front page course. 2011-12-23 11:49:38 +00:00
Tim Hunt 4587d4f5b7 MDL-30766 mod_quiz: fix edge cases of repaginate function. 2011-12-23 11:49:18 +00:00
Tim Hunt cb0318b633 MDL-30168 formslib: untangle automatic id generation.
Previously, we had overridden the _generateId method in almost all
subclasses; and then we mostly, but not always; ignored the value that
was generated there, and instead generated new (nicer) values in
MoodleQuickForm_Renderer::renderElement. Of course, that is not really a
logical place to (re)generate ids.

I have fixed the code so that the _generateId method now uses the 'nice
id' algorithm from renderElement. This should make the whole code flow
more logical.

This make all our overriding of _generateId unnecessary.

We do need a special _generateId for radio buttons, because you often
have different radio buttons with the same name but different values.

This change should only change the ids on radio, checkbox and
advcheckbox elements. Previously, those were essentially random, so I
don't think anyone could have been relying on the particular values.

This commit also has new unit tests, first to test the basic _generateId
algorithm, and then to create and render an example form (including some
tricky things like repeat_elements) and chech the acutal ids in the
generated HTML.
2011-12-23 11:19:48 +00:00
Tim Hunt 404e01f59e MDL-27200 missing {} in various lang strings. 2011-12-23 11:19:24 +00:00
Petr Skoda 96ebc911d7 MDL-30786 fix overview status of standard plugins to be deleted 2011-12-23 10:36:12 +01:00
David Mudrak 7d8c4fb5af MDL-30865 Workshop method aggregate_grading_grades_process() accepts explicit aggregation timestamp 2011-12-23 09:21:09 +01:00
Eloy Lafuente (stronk7) 929c26ccf1 weekly release 2.2+ 2011-12-23 03:03:32 +01:00
Eloy Lafuente (stronk7) c994fe7430 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2011-12-23 02:53:07 +01:00
AMOS bot 1d4262608c Automatically generated installer lang files 2011-12-23 00:31:21 +00:00
Eloy Lafuente (stronk7) 0016ed0115 MDL-30760 question engine: reduce summary max size
MySQL only accepts 65536 (aprox) bytes in default TEXT
columns. So we define the max allowed as 32000 to allow
99.9% of utf-8 contents to fit. If some day MDL-19603 is
implemented and all current TEXTs are moved (MySQL) to
the BIG counterparts, this restriction can be out (MDL-19603).
2011-12-23 01:16:00 +01:00
Gerard (Gerry) Caulfield 0c5e3d4564 MDL-29400 Fixing unset object bug encountered by Rajesh during testing 2011-12-22 09:55:38 +01:00
Sam Hemelryk e0c00395b7 Merge branch 'wip-MDL-18128-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2011-12-22 11:44:34 +13:00
Sam Hemelryk 9e9e0732f5 MDL-30639 mod_lesson: Used a consistent format for users display of answer 2011-12-22 11:23:15 +13:00
Sam Hemelryk 965344c08f Merge branch 'MDL-30639_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2011-12-22 11:21:08 +13:00
Tim Hunt 0f97c8afdb MDL-30704 quiz_overview: fixup, add missing rescaling.
Thanks Micheal de Raadt for catching this in testing.
2011-12-21 18:33:32 +01:00
Eloy Lafuente (stronk7) 1b5afe64c4 MDL-20245 grade: added tests for set_user_preference() and the 1333 limit
Added to tests to check that both the "limit" case of using 1333
chars is allowed and 1334 causes coding exception to happen
2011-12-21 16:30:57 +01:00
Eloy Lafuente (stronk7) 5831b4c70c MDL-20245 grade: fix version numbers
This commit puts the 22_STABLE and master main
versions back to "on-sync" mode (very first
weeks after major release).

Conflicts:

	lib/db/upgrade.php
	version.php
2011-12-21 12:25:11 +01:00
Andrew Davis 223e753520 MDL-20245 grade: increased the size of the user_preferences value column and added php validation of the data going into that column
Conflicts:

	lib/db/upgrade.php
	version.php
2011-12-21 12:23:50 +01:00
adrian@moodle.com 72682b8868 MDL-18128 - forum - Addition of group editing for forums. 2011-12-21 15:40:09 +08:00
Aparup Banerjee 8fe13ecf1a Merge branch 'wip-MDL-30541-stable22' of git://github.com/phalacee/moodle into MOODLE_22_STABLE 2011-12-21 14:16:55 +08:00
Aparup Banerjee dbfa519ad9 MDL-28126 webservice : resolved integration conflicts 2011-12-21 11:28:33 +08:00
Sam Hemelryk 6ff99dde45 Merge branch 'MDL-29239_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2011-12-21 15:00:41 +13:00
Jason Fowler 332748dd7e MDL-30541 - Blog - Fixing the context for RSS Feed headers on the single blog entry pages 2011-12-21 09:35:52 +08:00
Sam Hemelryk db65026449 Merge branch 'MDL-30704_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-21 14:30:27 +13:00
Eloy Lafuente (stronk7) 45c920b0af MDL-30777: whitespace fix 2011-12-21 00:41:20 +01:00
Darko Miletic 1be36988ac MDL-30777: Properly implemented error message 2011-12-21 00:41:09 +01:00
Eloy Lafuente (stronk7) d7964ccf87 Merge branch 'MDL-30170-mnet-undelete_22_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_22_STABLE 2011-12-20 23:33:19 +01:00
Gerard (Gerry) Caulfield efa9f19281 MDL-29400 Update the upload and uploadsingle assignment classes to so
that they only display the assignment submitted status when it has
actually been submitted.
2011-12-20 22:55:23 +01:00
Eloy Lafuente (stronk7) 6662dee76d MDL-30761 make it work under Oracle. To revisit after MDL-29765 is done. 2011-12-20 22:38:21 +01:00
Eloy Lafuente (stronk7) 1729746211 Merge branch 'w51_MDL-30761_m22_slowmysql' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-20 22:38:09 +01:00
Darko Miletic fe2a74db60 MDL-30631: Fixed the default grade import for the question for both CC
1.0 and 1.1
2011-12-20 22:02:51 +01:00
Eloy Lafuente (stronk7) 72b01fbeb3 Merge branch 'MDL-30603_m22' of https://github.com/nebgor/moodle into MOODLE_22_STABLE 2011-12-20 19:49:45 +01:00
Eloy Lafuente (stronk7) 7259dbc551 Merge branch 'MDL-29048-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-20 18:56:01 +01:00
Eloy Lafuente (stronk7) 39949b56ad Merge branch 'wip-MDL-30733-MOODLE_22_STABLE' of github.com:marinaglancy/moodle into MOODLE_22_STABLE 2011-12-20 18:52:48 +01:00
Aparup Banerjee 7110207a34 MDL-25561 Gradebook : fixed whitespaces 2011-12-20 19:15:48 +08:00
Aparup Banerjee 40b67fca0a Merge branch 'MDL-25561_user_report_name_clickable_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2011-12-20 19:15:20 +08:00
Andrew Robert Nicols b9c38ef120 MDL-30627 Ensure that the dialogue is always shown in the current view window 2011-12-20 13:38:41 +08:00
Rossiani Wijaya b8e5740796 MDL-30636 Lesson Module: fixed essay answer display format 2011-12-20 12:51:52 +08:00
Andrew Robert Nicols 8c9d533f3d MDL-30641 Stop italicising and underlining folder names in the filepicker 2011-12-20 11:55:12 +08:00
Aparup Banerjee 18952a18fd Merge branch 'MDL-30569-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-20 11:11:02 +08:00
Eloy Lafuente (stronk7) 53516a8ece Merge branch 'wip-mdl-29067-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2011-12-20 03:12:55 +01:00
Sam Hemelryk a5f35b4cf2 MDL-30770 admin: Fixed notice about missing variable 2011-12-20 02:26:34 +01:00
Eloy Lafuente (stronk7) fbb829b82d MDL-30739 add one test to confirm the solution is cross-db 2011-12-20 02:23:55 +01:00
Eloy Lafuente (stronk7) ceec817f95 Merge branch 'MDL-30739_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-20 02:21:30 +01:00
Sam Hemelryk 0cba7c0408 Merge branch 'MDL-30764-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2011-12-20 14:15:43 +13:00
Eloy Lafuente (stronk7) 2df28fda6c Merge branch 'MDL-30738_22_STABLE' of git://github.com/kiklop74/moodle into MOODLE_22_STABLE 2011-12-20 02:01:29 +01:00
Sam Hemelryk 9f83ba0887 Merge branch 'MDL-30760_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-20 13:34:53 +13:00
AMOS bot 956d1a3ab5 Automatically generated installer lang files 2011-12-20 00:31:22 +00:00
Sam Hemelryk 6005434b55 Merge branch 'MDL-30646_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-20 13:21:11 +13:00
Sam Hemelryk a8fb78b142 Merge branch 'MDL-29846_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-20 13:16:20 +13:00
Sam Hemelryk b3af6c110a Merge branch 'w51_MDL-30787_m22_coursemodedit' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-20 12:08:09 +13:00
Eloy Lafuente (stronk7) 58ca2c4b71 Merge branch 'MDL-30741_m22' of git://github.com/jfilip/moodle into MOODLE_22_STABLE 2011-12-20 00:05:13 +01:00
Sam Hemelryk 4e77491aff Merge branch 'wip-MDL-28948-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2011-12-20 10:42:45 +13:00
Petr Skoda c2ca1a3793 MDL-30779 add port and socket to dbtansfer tool 2011-12-20 10:29:11 +13:00
Sam Hemelryk 1f3933bee6 Merge branch 'w51_MDL-30765_m22_context' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-20 10:09:27 +13:00
Sam Hemelryk e7af814b0d Merge branch 'w51_MDL-30697_m22_roleslink' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-20 10:03:59 +13:00
Tim Hunt 365e163946 MDL-30704 Quiz grades report shows inconsistent averages.
Previously, for the overall grade, we averaged the final marks for each
student; while for the individual question grades, we averaged all
grades.

The report now works consistently on the principle that the averages
should include exactly what is currenlty being shown in the report. This
is more logical, and so should be easier for users to understand.

If you want to see the averages that are currently shown (e.g. just the
average of each student's highers grade) then the report options let you
do that.
2011-12-19 15:03:56 +00:00
Tim Hunt 9f689071a8 MDL-29846 qbehaviours admin: correct $needed logic.
Also, fix a notice.
2011-12-19 14:34:09 +00:00
Aparup Banerjee 85daa5926c Merge branch 'w51_MDL-30735_m22_cron' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-19 11:53:32 +08:00
Sam Hemelryk 415be0ff94 Merge branch 'w51_MDL-30789_m22_enrolupdatestatus' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-19 16:26:01 +13:00
Mary Evans e50e70d12e MDL-30500 Fix for Sky High report & print layout 2011-12-19 15:22:41 +13:00
Ankit Kumar Agarwal 8c14856d86 MDL-30569 Administration Fixing the redirect after editting is toggeled on the front page 2011-12-19 07:42:49 +05:30
Sam Hemelryk d613d7d78e Merge branch 'MDL-37049_22' of git://github.com/jamiepratt/moodle into MOODLE_22_STABLE 2011-12-19 15:05:42 +13:00
Sam Hemelryk 7c19940ca6 Merge branch 'MDL-30683_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 14:14:55 +13:00
Sam Hemelryk ead158db7e Merge branch 'MDL-29176_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 12:23:36 +13:00
Sam Hemelryk 3bcb2c1dff Merge branch 'MDL-30734_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 11:52:32 +13:00
Sam Hemelryk 265dbb3a54 Merge branch 'MDL-30742_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 11:30:42 +13:00
Sam Hemelryk 2253ea2592 Merge branch 'MDL-30744_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 10:53:57 +13:00
Sam Hemelryk 5ff8144cc8 Merge branch 'MDL-30758_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-19 09:28:10 +13:00
Petr Skoda 9cf83e67a1 MDL-30789 add new update_status() method to enrol plugins and improve enrol cache invalidation 2011-12-18 17:31:12 +01:00
Petr Skoda 4d199d6b33 MDL-30787 fix use of module and section edit capabilities 2011-12-18 13:55:31 +01:00
AMOS bot 8109fce46d Automatically generated installer lang files 2011-12-18 00:31:19 +00:00
Petr Skoda cb6ff0a71c MDL-30697 fix incorrect capability for role assign button
Credit goes to Alexander Bias.
2011-12-17 14:47:17 +01:00
Petr Skoda d107f1e2cd MDL-30735 fix cron maintenancerun detection
Credit goes to Rodrigo Belluomini Cardilli.
2011-12-17 14:18:22 +01:00
Petr Skoda ebad6e2f6f MDL-30765 fix invalid context variable 2011-12-16 23:03:17 +01:00
Tim Hunt 9660c98e57 MDL-30760 question engine: question summary can be longer than 64k!
1. So we will truncate the question summary to 65000 chars if necessary.

2. Also, fix one minor error in mutlianswer save_question_options.

question_bank::MAX_SUMMARY_LENGTH is not the most logical class to add
the constant to, but it needs to be accessible during upgrade, so I was
lazy and put it there.
2011-12-16 15:57:49 +00:00
Petr Skoda c34b325447 MDL-30761 improve get_user_access_sitewide() performance 2011-12-16 16:27:18 +01:00
Petr Skoda 35cd08c96e MDL-30761 fix simpletest regression caused by rubrics 2011-12-16 14:26:12 +01:00
Dan Marsden e5baaad498 MDL-28728 SCORM Add missing string 2011-12-16 11:39:12 +08:00
Rajesh Taneja 8e8a8810de MDL-29067 Admin: Added spam checking on comments, messages and forum posts 2011-12-16 11:34:43 +08:00
adrian@moodle.com 177bc9c8b9 MDL-28948 - lib - removed the hard coded key for the rc4encryt function. 2011-12-16 09:14:53 +08:00
AMOS bot 33b8721c71 Automatically generated installer lang files 2011-12-16 00:31:19 +00:00
David Mudrak 6cf3a65082 MDL-30170 MNet peers administration - various usability improvements
While fixing MDL-30170, the following tiny usability details were
improved along the way:

* the maximum length of the peer site title and the hostname is now
  validated (this was actually a real bug as the default value is pre-loaded
  from the peer) so the admin gets a nice validation error instead of
  the database write exception when trying to register a host with a
  longer site title.
* hard-coded English string 'All Hosts' is now localized
* the hostname link in the list of MNet peers leads to the peer itself
2011-12-15 21:26:45 +01:00
David Mudrak 841b2a44ef MDL-30170 MNet peers administration - highlight the undelete widget
The patch highlights the undelete radio selector at the host edit form.
It moves it to the end of the form (near the submit button) and displays
an explanation above the radio selector.

Also, the list of deleted hosts is now displayed below the table of
active peers at the Manage peers page.

The data returned by mnet_get_hosts() function now contain the deleted
status, too. It is possible to obtain deleted hosts from that function
now.
2011-12-15 21:15:56 +01:00
Tim Hunt 98402da094 MDL-29176 quiz editing: can't move questions onto a new page. 2011-12-15 19:33:01 +00:00
Tim Hunt 76ffac7f93 MDL-30646 default qbank sort should only use visible columns. 2011-12-15 18:40:32 +00:00
sam marshall 782b21dc0f MDL-30764 Activity settings: do not disable grouping dropdown if it is already set 2011-12-15 16:47:08 +00:00
Justin Filip e0b587be49 MDL-30741 Adding a new test to check for incorrect parsing of complicate HTML with a PRE tag. 2011-12-15 11:10:32 -05:00
Justin Filip e60d8e5a42 MDL-30741 Fix the handling of PRE tags with the latest code from upstream: http://trac.roundcube.net/browser/trunk/roundcubemail/program/lib/html2text.php?rev=5497 2011-12-15 11:10:20 -05:00
Tim Hunt 67cb80dc09 MDL-30758 quiz_statistics report fails if all 1st attempts require grading 2011-12-15 12:52:10 +00:00
Tim Hunt abe73c6d99 MDL-30739 qtype numerical: upgrade script uses SQL that is not cross-DB. 2011-12-15 12:22:27 +00:00
Tim Hunt f455e4e9bd MDL-30744 question editing permissions. Update to new accessslib.php code.
I don't believe this will actually fix the reported problem, which I
cannot reproduce, but it should give us much better error messages, at
which point we can fix it.
2011-12-15 11:56:21 +00:00
Tim Hunt 6d3ac4035b MDL-30592 / MDL-27183 quiz statistics: fix merge problem.
These two fixes changes the same file in different ways, causing breakage.
2011-12-15 11:22:33 +00:00
Aparup Banerjee b057855440 MDL-28126 webservice : string fixed. 2011-12-15 18:05:13 +08:00
Marina Glancy 92ec74a9a7 MDL-30733: synchronizing view_feedback with parent function to work with advanced grading
assignment_upload::view_feedback was overriden. It is altered the same way as parent function was to work with advanced grading and so it is displayed correctly in user complete report
2011-12-15 16:47:18 +08:00
Jamie Pratt 9abb69aacb MDL-30749 fixing typo referring to question instead of answer object 2011-12-15 14:47:15 +07:00
Aparup Banerjee cb8e878573 Revert "MDL-30482 create new capability for viewing glossary entries" (test failed)
This reverts commit 03adb289ec.
2011-12-15 15:46:22 +08:00
Aparup Banerjee ba0c76e7a9 Revert "MDL-30482 - Glossary - Adding capability to other areas using glossary" (testing failed)
This reverts commit b2b9890d08.
2011-12-15 15:29:36 +08:00
Eloy Lafuente (stronk7) 40ab5a4010 MDL-30592 moodlelib: minor phpdocs/debug tweaks 2011-12-14 22:44:47 +01:00
Eloy Lafuente (stronk7) a30e3c5a1a Merge branch 'MDL-30592_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-14 22:44:33 +01:00
Tim Lock cb140ca0d6 MDL-30419: IMS package content missing when using Blackboard packages 2011-12-14 21:36:04 +01:00
Darko Miletic 4026898f5c MDL-30738: Fix for 2.2 stable 2011-12-14 15:06:31 -03:00
Tim Hunt 51d861632b MDL-30742 restoring 1.9 backups with missing question data should be robust 2011-12-14 17:18:04 +00:00
Jerome Mouneyrac 72306a6ff4 MDL-28126 webservices : should not able to create token if user is deleted,unconfirmed,suspended or guest. 2011-12-15 00:52:16 +08:00
Tim Hunt 9831354928 MDL-30734 question engine: sum_usage_marks_subquery edge-case.
When all qas in a useage are 'gaveup' state, it gives NULL, not 0.0, for the total.
2011-12-14 14:30:25 +00:00
Andrew Davis 925d068de1 MDL-13572 message: added validation of the email address in the messaging preferences 2011-12-14 17:48:36 +08:00
Andrew Davis 1a35796fba MDL-25561 grade: made the student names clickable on the user report 2011-12-14 15:33:10 +08:00
Jason Fowler b2b9890d08 MDL-30482 - Glossary - Adding capability to other areas using glossary 2011-12-14 15:02:51 +08:00
Aparup Banerjee 4f7dc83fe8 Revert "MDL-30482 - Glossary - Adding capability to other areas using glossary"
This reverts commit b23dd6ee72.
2011-12-14 15:02:37 +08:00
Dan Marsden 7c183f44d4 MDL-28728 SCORM - only show delete button if data exists for this user in this scorm 2011-12-14 13:42:14 +08:00
Dan Marsden 7d919d8f27 MDL-28728 SCORM - add capability to allow users to delete own attempts - given to no-one by default. 2011-12-14 13:42:06 +08:00
Aparup Banerjee 324ea4d7de MDL-29325 fixed typo - camelcasing. 2011-12-14 13:14:28 +08:00
Mayank Gupa 9ff12f3dae MDL-30576, Fixing cmi.completion_threshold and default value of minProgressMeasure to be saved correctly in the database. 2011-12-14 17:22:45 +13:00
Sam Hemelryk 83688ab542 Merge branch 'MDL-27183_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-14 17:17:29 +13:00
Eloy Lafuente (stronk7) 2b6d08a333 Merge branch 'wip-MDL-27767-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2011-12-14 03:16:31 +01:00
Mark Nielsen e2acc0a010 MDL-29048 Glossary Force glossary type to secondary while trying to duplicate a mail glossary 2011-12-14 07:28:28 +05:30
Eloy Lafuente (stronk7) c5b8cda403 Merge branch 'w51_MDL-30605_m22_env23' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-14 02:39:11 +01:00
Sam Hemelryk d4b584c5f6 Merge branch 'MDL-30463_m22' of git://github.com/rwijaya/moodle into MOODLE_22_STABLE 2011-12-14 14:25:17 +13:00
Sam Hemelryk 2f24a39b5b Merge branch 'MDL-30140-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2011-12-14 14:08:21 +13:00
AMOS bot de1b85d795 Automatically generated installer lang files 2011-12-14 00:31:23 +00:00
Tim Hunt d6b040af81 MDL-30683 don't show overall feedback in the quiz grades report.
The grades are small, while the feedback can be big, which breaks the table layout.
2011-12-13 16:51:35 +00:00
Aparup Banerjee a23463acec Merge branch 'MDL-29772-22' of git://github.com/bostelm/moodle into MOODLE_22_STABLE 2011-12-13 17:05:07 +08:00
Aparup Banerjee 3b89933d9f MDL-29325 Enrol : reduced isset calls and improved readability 2011-12-13 16:36:49 +08:00
Dan Marsden 903ab24de4 MDL-29325 imsenterprise enrolment - allow more flexible naming of courses - thanks to Adam Barbary for patch 2011-12-13 16:27:37 +08:00
Mayank Gupa 5c8e2b97d3 MDL-30577, fixing cmi.credit, cmi.mode are not evaluated correctly 2011-12-13 14:49:47 +08:00
Aparup Banerjee 9dfd9a124d Merge branch 'MDL-30472-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-13 14:36:02 +08:00
Andrew Robert Nicols db5602f751 MDL-30362 Change icon class for editsection icons in course formats 2011-12-13 14:30:21 +08:00
Aparup Banerjee a3bb5afdd0 Merge branch 'MDL-30562_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-13 14:01:57 +08:00
Alexnader Bias 423dc3b17e MDL-30472 Course Making user lists sortable when lastacess field is hidden 2011-12-13 10:53:52 +05:30
Aparup Banerjee 3a353b12ba Merge branch 'MDL-30655-m22' of git://github.com/sammarshallou/moodle into MOODLE_22_STABLE 2011-12-13 13:21:05 +08:00
Tim Hunt 26ebc41703 MDL-30559 conditional availability: missing validation of grade rules. 2011-12-13 12:07:47 +08:00
Jason Fowler b23dd6ee72 MDL-30482 - Glossary - Adding capability to other areas using glossary 2011-12-13 11:51:40 +08:00
Charles Fulton 03adb289ec MDL-30482 create new capability for viewing glossary entries 2011-12-13 11:51:33 +08:00
Petr Skoda 1a52d9e2cc MDL-30575 more mail header cleanup 2011-12-13 10:23:56 +08:00
Mayank Gupa 1daa8c0821 MDL-30645, Fixing evaluation of default value of CMI elements. 2011-12-13 10:16:09 +08:00
Andrew Robert Nicols 51a2716e6b MDL-30653 Remove duplicate Participants link from navbar 2011-12-13 12:09:02 +13:00
Sam Hemelryk b3463f416c Merge branch 'MDL-30677_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-13 11:20:04 +13:00
Sam Hemelryk fc97bb9863 Merge branch 'MDL-30532_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-13 11:15:08 +13:00
Sam Hemelryk 8c495ea4ee Merge branch 'MDL-30498a_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-13 11:11:21 +13:00
Sam Hemelryk bb0ece5a0c Merge branch 'MDL-27143_22' of git://github.com/timhunt/moodle into MOODLE_22_STABLE 2011-12-13 10:26:31 +13:00
Sam Hemelryk e79c09855c Merge branch 'w51_MDL-30621_m22_protectdir' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-13 10:17:56 +13:00
Henning Bostelmann 1f00dc45d4 MDL-29772 Adaptive question behaviour: improve penalty information
also fixes MDL-29780: suppress penalty information if question penalty is 0
2011-12-12 15:38:16 +00:00
Petr Skoda f9c5bd9234 MDL-30621 more dataroot protection 2011-12-12 15:07:25 +01:00
Rossiani Wijaya f6b9be73f5 MDL-30463 lesson module: add space between yes and no options on start last attempt page 2011-12-12 17:13:45 +08:00
Rossiani Wijaya f08f05610b MDL-29239 fixed edit course setting for moodle/course:changesummary permission is set to prevent. 2011-12-12 15:53:54 +08:00
Aparup Banerjee b750cfde81 Merge branch 'w51_MDL-30613_m22_FULLME' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 15:05:37 +08:00
Aparup Banerjee 7210cb5d19 MDL-30603 synced and renamed incorrect ZF 1.10.6 file and name 2011-12-12 14:08:00 +08:00
Sam Hemelryk 860f7f9195 Merge branch 'w51_MDL-29117_m22_enrolnewcourse' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 17:59:24 +13:00
Sam Hemelryk a3a3186770 Merge branch 'w51_MDL-30292_m22_health' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 17:41:00 +13:00
Sam Hemelryk 424f91c056 Merge branch 'w51_MDL-30364_m22_report' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 17:37:39 +13:00
Petr Skoda 56b77440ad MDL-30415 prevent yui2 rollups in debug mode 2011-12-12 17:33:22 +13:00
Petr Skoda 92bf70765a MDL-30502 remove bogus role name param
Credit goes to Michael J Litzkow.
2011-12-12 17:24:43 +13:00
Sam Hemelryk 653599b3a4 Merge branch 'w51_MDL-30588_m22_switchrole' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 17:14:58 +13:00
Sam Hemelryk ba9489ce91 Merge branch 'w51_MDL-30659_m22_yuidebug' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 16:37:03 +13:00
Sam Hemelryk 6aabb69f9e Merge branch 'w51_MDL-30687_m22_ldapnewcourse' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-12 16:10:19 +13:00
Sam Hemelryk 02af5654f2 Merge branch 'MDL-29942-MOODLE_22_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_22_STABLE 2011-12-12 15:13:01 +13:00
Sam Hemelryk 4e8da675ac Merge branch 'MDL-28180_22' of git://github.com/stronk7/moodle into MOODLE_22_STABLE 2011-12-12 14:56:40 +13:00
Sam Hemelryk d3054582d5 Merge branch 'MDL-30198-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-12 13:57:40 +13:00
Andrew Robert Nicols c3c2a213a2 MDL-29195 Remove duplicate Participants -> Notes from navbar 2011-12-12 13:51:07 +13:00
Eloy Lafuente (stronk7) ed9c60fed7 MDL-28180 backup - on restore always prevent completion_aggr_methd dupes
This covers the last case where dupes could be happening in the
completion_aggr_methd table: Restoring one complete course into
an existing one, adding information. Now we always check if the
aggr_method exists before inserting it.
2011-12-11 23:03:51 +01:00
Eloy Lafuente (stronk7) 9de951556f MDL-28180 backup - take rid of dupes in course_completion_aggr_methd 2011-12-11 22:14:02 +01:00
Eloy Lafuente (stronk7) ff4a2ddef7 MDL-28180 backup - set excluded activities for any non-course operation 2011-12-11 21:37:33 +01:00
Petr Skoda 8d7ec82427 MDL-30687 use course defaults when template not set in ldap enrol 2011-12-11 11:07:00 +01:00
Petr Skoda c4437be63b MDL-29117 use default course settings when template not set in db enrol 2011-12-11 10:58:37 +01:00
Petr Skoda 7f467e69c0 MDL-30292 rework trailing whitespace test
Now compatible with zlib compression.
2011-12-10 20:34:20 +01:00
Petr Skoda d59ef547c9 MDL-30364 fix user report regressions 2011-12-10 20:19:07 +01:00
Petr Skoda abf82af8f7 MDL-30621 prevent warnings when creating temp and cache dirs 2011-12-10 17:35:56 +01:00
Petr Skoda 5cb418e9f8 MDL-30659 fix use of yui filters 2011-12-10 13:52:41 +01:00
Petr Skoda 7109330e9a MDL-30659 fix phpdocs problems 2011-12-10 13:52:40 +01:00
Petr Skoda e467ed219f DML-30588 do not require enrollment after switching of roles 2011-12-10 12:45:06 +01:00
AMOS bot f0c8bb711f Automatically generated installer lang files 2011-12-10 00:31:25 +00:00
Petr Skoda cfef4e754a MDL-30610 new environment requirements for 2.3 2011-12-09 21:55:23 +01:00
Petr Skoda cbd8609407 MDL-30613 use standard https checks 2011-12-09 21:27:10 +01:00
Tim Hunt 2a1733aafc MDL-30592 question_bank: make files in qtext work in the question list. 2011-12-09 19:24:20 +00:00
Tim Hunt 1357ab1d5b MDL-30592 quiz statistics, ensure images in the question text appear. 2011-12-09 19:24:13 +00:00
Tim Hunt 001f78b41f MDL-30592 moodlelib: new helper component_callback
I chose to be slighly inconsistent with plugin_callback in order to make a nicer API.
2011-12-09 19:23:54 +00:00
Tim Hunt 853f2e8eea MDL-30677 quiz: fix attempt counts when a student is in several groups. 2011-12-09 17:59:29 +00:00
Valeriy Streltsov 00c7590c95 MDL-30562 qtypes: extra_answer_fields & questionid_column_name public
Will let us make more of qtype backup and restore work automatically.
2011-12-09 17:58:31 +00:00
Tim Hunt 24e5fcbe26 MDL-30532 qeupgradehelper has broken links to quizzes. 2011-12-09 17:57:35 +00:00
Tim Hunt 4d8a37a0db MDL-30498 user name can overlap user report icon. 2011-12-09 17:57:06 +00:00
Tim Hunt 3cba5809ae MDL-27183 quiz reports: don't show data to users not in any group
if the quiz is set to separate groups, and the user does not have access all groups.
2011-12-09 17:56:35 +00:00
Tim Hunt d7320fc84a MDL-27143 question bank: questions not saved when deleting a category.
Based on a fix by Nikhil Gupta.
2011-12-09 17:56:05 +00:00
sam marshall cff596e51b MDL-30655 Blocks: Moving block to top of list can cause (harmless) PHP warnings 2011-12-09 17:45:57 +00:00
Eloy Lafuente (stronk7) acb3bf8ac1 weekly release 2.2+ 2011-12-09 16:27:08 +01:00
Eloy Lafuente (stronk7) ebd748fd71 Merge branch 'install_22_STABLE' of git://github.com/amosbot/moodle into MOODLE_22_STABLE 2011-12-09 16:09:25 +01:00
Tim Hunt 653e811ec0 MDL-30660 javascript-static: another yui3/ticket/2531561 work-around. 2011-12-09 12:41:36 +01:00
Petr Skoda 81dda1da15 MDL-30625 fail gracefully when admins not defined 2011-12-09 10:57:42 +01:00
Aparup Banerjee 9cd8fdda3c MDL-30542 minor string change 2011-12-09 17:10:12 +08:00
Jerome Mouneyrac c532957be2 MDL-30140 alternative way to select user when adding a token. When more than 500 users we display a text box instead of a select box 2011-12-09 14:51:31 +08:00
Mitsuhiro ad86ee91e9 MDL-30198 Glossary Changing string during imports 2011-12-09 10:10:38 +05:30
Petr Skoda 11892d8fdf MDL-27364 use https for recaptcha when site runs via https
Based on solution by Rajesh Taneja.
2011-12-09 11:10:13 +08:00
Tim Hunt 00aa596e8e MDL-30558 question bank, missing string with obscure permissions.
AMOS BEGIN
 MOV [selectcategoryabove,mod_quiz],[selectcategoryabove,question]
AMOS END
2011-12-09 10:47:19 +08:00
Dan Marsden 7b80d3c65a MDL-26974 - add extra logging information all the time - not just when debugging is on. 2011-12-09 10:21:08 +08:00
Mayank Gupa 7da6c0f82d MDL-30579, fixing Data Model Elements are being initialized with an empty string 2011-12-09 10:16:06 +08:00
Tim Hunt a6395af1b9 MDL-27314 quiz reports: fix JS confirmation before deleting attempts. 2011-12-09 02:35:38 +01:00
Eloy Lafuente (stronk7) 4dbdc834ff MDL-30604 Added 2 missing messages andd deleting an incorrect one 2011-12-09 02:10:18 +01:00
Aparup Banerjee bc3801cb9c MDL-30604 Added upgrade lines to upgrade.php(s) 2011-12-09 02:03:58 +01:00
AMOS bot 4e7a371b2e Automatically generated installer lang files 2011-12-09 00:31:16 +00:00
Petr Skoda db48cf080d MDL-30625 full support for main admin 2011-12-09 00:13:05 +01:00
Sam Hemelryk e0745be16b Merge branch 'MDL-30660' of git://github.com/timhunt/moodle 2011-12-09 11:48:01 +13:00
Tim Hunt 9671325a35 MDL-29579 quiz statistics, include qtext in full XHTML export. 2011-12-08 23:37:19 +01:00
Tim Hunt 1e92c729ba MDL-30660 javascript-static: M.util.show_confirm_dialog fixes 2011-12-08 17:51:45 +00:00
Dan Marsden 347f822856 MDL-30028 - use page pref correctly when pagination or re-ordering 2011-12-08 17:07:32 +08:00
Aparup Banerjee 0f69a9eaaf Merge branch 'wip-MDL-30336-MOODLE_22_STABLE' of git://github.com/abgreeve/moodle into MOODLE_22_STABLE 2011-12-08 16:19:02 +08:00
Aparup Banerjee cdbd44f00e Merge branch 'wip-mdl-30560-m22' of git://github.com/rajeshtaneja/moodle into MOODLE_22_STABLE 2011-12-08 15:54:55 +08:00
Jerome Mouneyrac 6ae2048c1f MDL-29942 trigger user events in web service calls 2011-12-08 15:19:45 +08:00
Andrew Robert Nicols 02ed16902b MDL-30350 Highlight late submissions in the submission overview page 2011-12-08 14:27:22 +08:00
Aparup Banerjee 30e1b79889 Merge branch 'MDL-27432_gd_error_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2011-12-08 14:04:46 +08:00
Aparup Banerjee d30043c852 Merge branch 'MDL-28710_rating_classes_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2011-12-08 13:48:27 +08:00
Aparup Banerjee add75e9682 Merge branch 'MDL-30607_override_email_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2011-12-08 13:39:49 +08:00
Sam Hemelryk 78baf38ea4 Merge branch 'MDL-30518' of git://github.com/mackensen/moodle into MOODLE_22_STABLE 2011-12-08 16:05:08 +13:00
Petr Skoda cad8d5ccb0 MDL-30528 stop recreating role_assignments on every login attempt for each user
Credit goes to Luis Gustavo Mueller de Alcantara.
2011-12-08 15:51:08 +13:00
adrian@moodle.com a52422abcb MDL-30336 - login - Added a setting in security that allows auto complete to be set to off in password fields. 2011-12-08 09:08:38 +08:00
Sam Hemelryk a33d85b374 Merge branch 'w50_MDL-30623_m22_guest' of git://github.com/skodak/moodle into MOODLE_22_STABLE 2011-12-08 13:50:03 +13:00
Eloy Lafuente (stronk7) da3494a8c4 Merge branch 'wip-MDL-30582-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2011-12-08 01:37:03 +01:00
AMOS bot ae7aad593c Automatically generated installer lang files 2011-12-08 00:31:19 +00:00
Eloy Lafuente (stronk7) cf2d7311ab Merge branch 'MDL-26522_user_report_menu_22' of git://github.com/andyjdavis/moodle into MOODLE_22_STABLE 2011-12-08 01:02:01 +01:00
Igor Sazonov 8f64668af2 MDL-27314 quiz attempts cannot be deleted in separate groups mode. 2011-12-08 00:46:49 +01:00
Jerome Mouneyrac 2af51a1dc3 MDL-29712 REST-XML server was translating too many HTML characters. use htmlspecialchars instead of htmlentities. Translated characters by htmlspecialchars are compatible with XML validation, and so XML parsers for javascript, java... 2011-12-08 12:42:44 +13:00
Eloy Lafuente (stronk7) 17e0ed7919 Merge branch 'wip-MDL-30222-m22' of git://github.com/samhemelryk/moodle into MOODLE_22_STABLE 2011-12-08 00:39:53 +01:00
Dan Marsden 7e4c833c5a MDL-30211 imsenterprise enrolment - set up default enrolment methods in new courses 2011-12-08 10:49:58 +13:00
Dan Marsden 264ca6c58d MDL-30536 Choice - remove setType so that validation works when JS is disabled 2011-12-08 10:36:48 +13:00
Sam Hemelryk b1d4c42ad6 Merge branch 'MDL-28282-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-08 10:22:58 +13:00
Sam Hemelryk 7f96df6222 Merge branch 'MDL-28588-m22' of git://github.com/ankitagarwal/moodle into MOODLE_22_STABLE 2011-12-08 10:19:22 +13:00
Petr Skoda 73553ddbaa MDL-30623 fix password upgrade path from 1.9 2011-12-07 09:15:37 +01:00
Petr Skoda a6adddfb7d MDL-30623 fix null guest passwords in existing 2.2 sites 2011-12-07 09:15:37 +01:00
Petr Skoda f10ad2d4eb MDL-30623 make sure guest password field is not null 2011-12-07 09:15:36 +01:00
Rajesh Taneja e61eecacc8 MDL-30560 Forms Lib: 'type' key for repeat_elements is restored 2011-12-07 12:04:54 +08:00
Andrew Davis 924deffba6 MDL-30607 message: removed an if condition that prevented you from clearing an overrident email address 2011-12-07 12:04:47 +08:00
Andrew Davis de276c9216 MDL-28710 rating: added some more classes to the html for entering ratings 2011-12-07 11:54:10 +08:00
Andrew Davis aed70c6d40 MDL-27432 mod_data: improved handling of the absence of the GD php extension 2011-12-07 11:48:49 +08:00
Andrew Davis b11d6236df MDL-26522 grade: made the user selection drop down on the user report behave more sensibly 2011-12-07 11:42:44 +08:00
Charles Fulton 4921fb4c9f MDL-19147 - forum - Removed single discussions from the pull down menu for moving posts to different forums. 2011-12-07 14:21:21 +13:00
AMOS bot 6a8a17eb28 Automatically generated installer lang files 2011-12-07 00:31:18 +00:00
Charles Fulton c114ff92bb MDL-19147 - forum - Removed single discussions from the pull down menu for moving posts to different forums. 2011-12-07 12:39:56 +13:00
Ankit Kumar Agarwal a77b489d67 MDL-28588 Removing IN from SQL statments 2011-12-06 11:06:23 +05:30
Ankit Kumar Agarwal 9d7ce57ae3 MDL-28282 Scorm Restorting Groups support in Scorm reports 2011-12-06 09:59:26 +05:30
Sam Hemelryk 28a6552570 MDL-30582 navigation: Fixed regression in generation of front page modules 2011-12-06 13:34:27 +13:00
Sam Hemelryk 6f2d62d022 MDL-27767 install: Shows notifications rather than throwing exceptions when installation encounters unexpected id for guest or admin 2011-12-06 12:22:17 +13:00
Sam Hemelryk a9cc3954b9 MDL-30222 Fixed home page redirection madness. Thank you Julien Boulen for providing the solution 2011-12-06 12:08:32 +13:00
AMOS bot 2324ddd3d5 Automatically generated installer lang files 2011-12-05 18:36:41 +01:00
Charles Fulton 59c1a98c05 MDL-30518 get_context_instance takes one parameter at the SYSTEM level 2011-11-30 05:47:50 -08:00
1197 changed files with 19392 additions and 9673 deletions
+1
View File
@@ -100,6 +100,7 @@
} else {
uninstall_plugin('block', $block->name);
$a = new stdClass();
$a->block = $strblockname;
$a->directory = $CFG->dirroot.'/blocks/'.$block->name;
notice(get_string('blockdeletefiles', '', $a), 'blocks.php');
+20 -12
View File
@@ -78,6 +78,16 @@ Example:
"; //TODO: localize, mark as needed in install - to be translated later when everything is finished
// distro specific customisation
$distrolibfile = dirname(dirname(dirname(__FILE__))).'/install/distrolib.php';
$distro = null;
if (file_exists($distrolibfile)) {
require_once($distrolibfile);
if (function_exists('distro_get_config')) {
$distro = distro_get_config();
}
}
// Nothing to do if config.php exists
$configfile = dirname(dirname(dirname(__FILE__))).'/config.php';
if (file_exists($configfile)) {
@@ -99,7 +109,7 @@ if (file_exists($configfile)) {
$olddir = getcwd();
// change directory so that includes bellow work properly
// change directory so that includes below work properly
chdir(dirname($_SERVER['argv'][0]));
// Servers should define a default timezone in php.ini, but if they don't then make sure something is defined.
@@ -180,14 +190,14 @@ if (empty($databases)) {
// now get cli options
list($options, $unrecognized) = cli_get_params(
array(
'chmod' => '2777',
'chmod' => isset($distro->directorypermissions) ? sprintf('%04o',$distro->directorypermissions) : '2777', // let distros set dir permissions
'lang' => $CFG->lang,
'wwwroot' => '',
'dataroot' => str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'),
'dbtype' => $defaultdb,
'dbhost' => 'localhost',
'dataroot' => empty($distro->dataroot) ? str_replace('\\', '/', dirname(dirname(dirname(dirname(__FILE__)))).'/moodledata'): $distro->dataroot, // initialised later after including libs or by distro
'dbtype' => empty($distro->dbtype) ? $defaultdb : $distro->dbtype, // let distro skip dbtype selection
'dbhost' => empty($distro->dbhost) ? 'localhost' : $distro->dbhost, // let distros set dbhost
'dbname' => 'moodle',
'dbuser' => 'root',
'dbuser' => empty($distro->dbuser) ? 'root' : $distro->dbuser, // let distros set dbuser
'dbpass' => '',
'dbsocket' => false,
'prefix' => 'mdl_',
@@ -327,12 +337,7 @@ $CFG->httpswwwroot = $CFG->wwwroot;
//We need dataroot before lang download
$dataroot = clean_param($options['dataroot'], PARAM_PATH);
if ($dataroot !== $options['dataroot']) {
$a = (object)array('option' => 'dataroot', 'value' => $options['dataroot']);
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
$CFG->dataroot = $dataroot;
$CFG->dataroot = $options['dataroot'];
if ($interactive) {
cli_separator();
$i=0;
@@ -523,6 +528,9 @@ if ($interactive) {
}
$CFG->dbpass = cli_input($prompt, $options['dbpass']);
if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation
$distro = distro_pre_create_db($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbsocket'=>$options['dbsocket']), $distro);
}
$hint_database = install_db_validate($database, $CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname, $CFG->prefix, array('dbpersist'=>0, 'dbsocket'=>$options['dbsocket']));
} while ($hint_database !== '');
+7 -1
View File
@@ -76,7 +76,13 @@ if (!empty($options['engine'])) {
}
echo str_pad($table->name, 40). " - ";
$DB->change_database_structure("ALTER TABLE {$table->name} TYPE = $engine");
try {
$DB->change_database_structure("ALTER TABLE {$table->name} ENGINE = $engine");
} catch (moodle_exception $e) {
echo $e->getMessage()."\n";
$skipped++;
continue;
}
echo "DONE\n";
$converted++;
}
+4
View File
@@ -92,6 +92,10 @@ if ($version < $CFG->version) {
$oldversion = "$CFG->release ($CFG->version)";
$newversion = "$release ($version)";
if (!moodle_needs_upgrading()) {
cli_error(get_string('cliupgradenoneed', 'core_admin', $newversion), 0);
}
// Test environment first.
list($envstatus, $environment_results) = check_moodle_environment(normalize_version($release), ENV_SELECT_RELEASE);
if (!$envstatus) {
+2
View File
@@ -31,6 +31,7 @@ $enrol = required_param('enrol', PARAM_PLUGIN);
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$PAGE->set_url('/admin/enrol.php');
$PAGE->set_context(context_system::instance());
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
@@ -112,6 +113,7 @@ switch ($action) {
uninstall_plugin('enrol', $enrol);
$syscontext->mark_dirty(); // resets all enrol caches
$a = new stdClass();
$a->plugin = $strplugin;
$a->directory = "$CFG->dirroot/enrol/$enrol";
echo $OUTPUT->notification(get_string('uninstalldeletefiles', 'enrol', $a), 'notifysuccess');
+115
View File
@@ -556,4 +556,119 @@
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
<MOODLE version="2.3" requires="2.2">
<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_EXTENSION name="hash" level="required"/>
</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
@@ -297,8 +297,8 @@ if (during_initial_install()) {
}
}
// at this stage there can be only one admin - users may change username, so do not rely on that
$adminuser = get_complete_user_data('id', $CFG->siteadmins);
// at this stage there can be only one admin unless more were added by install - users may change username, so do not rely on that
$adminuser = get_complete_user_data('id', reset(explode(',', $CFG->siteadmins)));
if ($adminuser->password === 'adminsetuppending') {
// prevent installation hijacking
+25 -16
View File
@@ -38,9 +38,10 @@ class mnet_simple_host_form extends moodleform {
$mform = $this->_form;
$mform->addElement('text', 'wwwroot', get_string('hostname', 'mnet'));
$mform->addElement('text', 'wwwroot', get_string('hostname', 'mnet'), array('maxlength' => 255, 'size' => 50));
$mform->setType('wwwroot', PARAM_URL);
$mform->addRule('wwwroot', null, 'required', null, 'client');
$mform->addRule('wwwroot', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
$mform->addElement('select', 'applicationid', get_string('applicationtype', 'mnet'),
$DB->get_records_menu('mnet_application', array(), 'id,display_name'));
@@ -49,7 +50,7 @@ class mnet_simple_host_form extends moodleform {
$this->add_action_buttons(false, get_string('addhost', 'mnet'));
}
function validation($data) {
function validation($data, $files) {
global $DB;
$wwwroot = $data['wwwroot'];
@@ -81,11 +82,13 @@ class mnet_review_host_form extends moodleform {
$mform->addElement('hidden', 'applicationid');
$mform->addElement('hidden', 'oldpublickey');
$mform->addElement('text', 'name', get_string('site'));
$mform->addElement('text', 'name', get_string('site'), array('maxlength' => 80, 'size' => 50));
$mform->setType('name', PARAM_NOTAGS);
$mform->addRule('name', get_string('maximumchars', '', 80), 'maxlength', 80, 'client');
$mform->addElement('text', 'wwwroot', get_string('hostname', 'mnet'));
$mform->addElement('text', 'wwwroot', get_string('hostname', 'mnet'), array('maxlength' => 255, 'size' => 50));
$mform->setType('wwwroot', PARAM_URL);
$mform->addRule('wwwroot', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
$themes = array('' => get_string('forceno'));
foreach (array_keys(get_plugin_list('theme')) as $themename) {
@@ -95,15 +98,7 @@ class mnet_review_host_form extends moodleform {
$mform->addElement('textarea', 'public_key', get_string('publickey', 'mnet'), array('rows' => 17, 'cols' => 100, 'class' => 'smalltext'));
$mform->setType('public_key', PARAM_PEM);
if ($mnet_peer && !empty($mnet_peer->deleted)) {
$radioarray = array();
$radioarray[] = MoodleQuickForm::createElement('radio', 'deleted', '', get_string('yes'), 1);
$radioarray[] = MoodleQuickForm::createElement('radio', 'deleted', '', get_string('no'), 0);
$mform->addGroup($radioarray, 'radioar', get_string('deleted'), array(' '), false);
} else {
$mform->addElement('hidden', 'deleted');
}
$mform->addRule('public_key', get_string('required'), 'required');
// finished with form controls, now the static informational stuff
if ($mnet_peer && !empty($mnet_peer->bootstrapped)) {
@@ -140,21 +135,35 @@ class mnet_review_host_form extends moodleform {
}
}
$mform->addElement('static', 'certdetails', get_string('certdetails', 'mnet'), $OUTPUT->box('<pre>' . $credstr . '</pre>'));
$mform->addElement('static', 'certdetails', get_string('certdetails', 'mnet'),
$OUTPUT->box('<pre>' . $credstr . '</pre>', 'generalbox certdetails'));
}
if ($mnet_peer && !empty($mnet_peer->deleted)) {
$radioarray = array();
$radioarray[] = MoodleQuickForm::createElement('static', 'deletedinfo', '',
$OUTPUT->container(get_string('deletedhostinfo', 'mnet'), 'deletedhostinfo'));
$radioarray[] = MoodleQuickForm::createElement('radio', 'deleted', '', get_string('yes'), 1);
$radioarray[] = MoodleQuickForm::createElement('radio', 'deleted', '', get_string('no'), 0);
$mform->addGroup($radioarray, 'radioar', get_string('deleted'), array(' ', ' '), false);
} else {
$mform->addElement('hidden', 'deleted');
}
// finished with static stuff, print save button
$this->add_action_buttons(false);
}
function validation($data) {
function validation($data, $files) {
$errors = array();
if ($data['oldpublickey'] == $data['public_key']) {
return;
}
$mnet_peer = new mnet_peer(); // idiotic api
$mnet_peer->wwwroot = $data['wwwroot']; // just hard-set this rather than bootstrap the object
if (!$credentials = $mnet_peer->check_credentials($data['public_key'])) {
if (empty($data['public_key'])) {
$errors['public_key'] = get_string('publickeyrequired', 'mnet');
} else if (!$credentials = $mnet_peer->check_credentials($data['public_key'])) {
$errmsg = '';
foreach ($mnet_peer->error as $err) {
$errmsg .= $err['code'] . ': ' . $err['text'].'<br />';
+19 -4
View File
@@ -190,7 +190,7 @@ if ($formdata = $reviewform->get_data()) {
// normal flow - just display all hosts with links
echo $OUTPUT->header();
$hosts = mnet_get_hosts();
$hosts = mnet_get_hosts(true);
// print the table to display the register all hosts setting
$table = new html_table();
@@ -231,28 +231,43 @@ $table->head = array(
);
$table->wrap = array('nowrap', 'nowrap', 'nowrap', 'nowrap');
$baseurl = new moodle_url('/admin/mnet/peers.php');
$deleted = array();
foreach($hosts as $host) {
$hosturl = new moodle_url($baseurl, array('hostid' => $host->id));
if (trim($host->name) === '') {
// should not happen but...
$host->name = '???';
}
// process all hosts first since it's the easiest
if ($host->id == $CFG->mnet_all_hosts_id) {
$table->data[] = array(html_writer::tag('a', $host->name, array('href'=>$hosturl)), '', '', '');
$table->data[] = array(html_writer::link($hosturl, get_string('allhosts', 'core_mnet')), '*', '', '');
continue;
}
// populate the list of deleted hosts
if ($host->deleted) {
$deleted[] = html_writer::link($hosturl, $host->name);
continue;
}
if ($host->last_connect_time == 0) {
$last_connect = get_string('never');
} else {
$last_connect = date('H:i:s d/m/Y', $host->last_connect_time);
$last_connect = userdate($host->last_connect_time, get_string('strftimedatetime', 'core_langconfig'));
}
$table->data[] = array(
html_writer::link($hosturl, $host->name),
html_writer::link($hosturl, $host->wwwroot),
html_writer::link($host->wwwroot, $host->wwwroot),
$last_connect,
$OUTPUT->single_button(new moodle_url('/admin/mnet/delete.php', array('hostid' => $host->id)), get_string('delete'))
);
}
echo html_writer::table($table);
if ($deleted) {
echo $OUTPUT->box(get_string('deletedhosts', 'core_mnet', join(', ', $deleted)), 'deletedhosts');
}
// finally, print the initial form to add a new host
echo $OUTPUT->box_start();
echo $OUTPUT->heading(get_string('addnewhost', 'mnet'), 3);
+11 -2
View File
@@ -39,6 +39,15 @@ class mnet_profile_form extends moodleform {
global $CFG;
$mform =& $this->_form;
$mnetprofileimportfields = '';
if (isset($CFG->mnetprofileimportfields)) {
$mnetprofileimportfields = str_replace(',', ', ', $CFG->mnetprofileimportfields);
}
$mnetprofileexportfields = '';
if (isset($CFG->mnetprofileexportfields)) {
$mnetprofileexportfields = str_replace(',', ', ', $CFG->mnetprofileexportfields);
}
$mform->addElement('hidden', 'hostid', $this->_customdata['hostid']);
$fields = mnet_profile_field_options();
@@ -49,7 +58,7 @@ class mnet_profile_form extends moodleform {
$select = $mform->addElement('select', 'importfields', get_string('importfields', 'mnet'), $fields['optional']);
$select->setMultiple(true);
$mform->addElement('checkbox', 'importdefault', get_string('leavedefault', 'mnet'), str_replace(',', ', ', $CFG->mnetprofileimportfields));
$mform->addElement('checkbox', 'importdefault', get_string('leavedefault', 'mnet'), $mnetprofileimportfields);
// Fields to export ----------------------------------------------------
$mform->addElement('header', 'export', get_string('exportfields', 'mnet'));
@@ -57,7 +66,7 @@ class mnet_profile_form extends moodleform {
$select = $mform->addElement('select', 'exportfields', get_string('exportfields', 'mnet'), $fields['optional']);
$select->setMultiple(true);
$mform->addElement('checkbox', 'exportdefault', get_string('leavedefault', 'mnet'), str_replace(',', ', ', $CFG->mnetprofileexportfields));
$mform->addElement('checkbox', 'exportdefault', get_string('leavedefault', 'mnet'), $mnetprofileexportfields);
$this->add_action_buttons();
}
+1 -1
View File
@@ -36,7 +36,7 @@ class mnet_services_form extends moodleform {
function definition() {
$mform =& $this->_form;
$mnet_peer =& $this->_customdata['peer'];
$myservices =& mnet_get_service_info($mnet_peer);
$myservices = mnet_get_service_info($mnet_peer);
$mform->addElement('hidden', 'hostid', $mnet_peer->id);
+1
View File
@@ -92,6 +92,7 @@
}
uninstall_plugin('mod', $delete);
$a = new stdClass();
$a->module = $strmodulename;
$a->directory = "$CFG->dirroot/mod/$delete";
echo $OUTPUT->notification(get_string("moduledeletefiles", "", $a), 'notifysuccess');
+6 -5
View File
@@ -52,16 +52,16 @@ foreach ($behaviours as $behaviour => $notused) {
if (!array_key_exists($behaviour, $counts)) {
$counts[$behaviour] = 0;
}
$needed[$behaviour] = ($counts[$behaviour] > 0) &&
$needed[$behaviour] = ($counts[$behaviour] > 0) ||
$pluginmanager->other_plugins_that_require('qbehaviour_' . $behaviour);
$archetypal[$behaviour] = question_engine::is_behaviour_archetypal($behaviour);
}
foreach ($counts as $behaviour => $count) {
if (!array_key_exists($behaviour, $behaviours)) {
$counts['missingtype'] += $count;
$counts['missing'] += $count;
}
}
$needed['missing'] = true;
// Work of the correct sort order.
$config = get_config('question');
@@ -179,7 +179,7 @@ if (($delete = optional_param('delete', '', PARAM_PLUGIN)) && confirm_sesskey())
unset($disabledbehaviours[$key]);
set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
}
$behaviourorder = explode(',', $config->behavioursortorder);
$behaviourorder = array_keys($sortedbehaviours);
if (($key = array_search($delete, $behaviourorder)) !== false) {
unset($behaviourorder[$key]);
set_config('behavioursortorder', implode(',', $behaviourorder), 'question');
@@ -191,6 +191,7 @@ if (($delete = optional_param('delete', '', PARAM_PLUGIN)) && confirm_sesskey())
// Remove event handlers and dequeue pending events
events_uninstall('qbehaviour_' . $delete);
$a = new stdClass();
$a->behaviour = $behaviourname;
$a->directory = get_plugin_directory('qbehaviour', $delete);
echo $OUTPUT->box(get_string('qbehaviourdeletefiles', 'question', $a), 'generalbox', 'notice');
@@ -248,7 +249,7 @@ foreach ($sortedbehaviours as $behaviour => $behaviourname) {
$row[] = '';
}
// Are people allowed to create new questions of this type?
// Are people allowed to select this behaviour?
$rowclass = '';
if ($archetypal[$behaviour]) {
$enabled = array_search($behaviour, $disabledbehaviours) === false;
+2 -1
View File
@@ -171,6 +171,7 @@ if (($delete = optional_param('delete', '', PARAM_PLUGIN)) && confirm_sesskey())
// Remove event handlers and dequeue pending events
events_uninstall('qtype_' . $delete);
$a = new stdClass();
$a->qtype = $qtypename;
$a->directory = $qtypes[$delete]->plugin_dir();
echo $OUTPUT->box(get_string('qtypedeletefiles', 'question', $a), 'generalbox', 'notice');
@@ -217,7 +218,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
$strcount = $counts[$qtypename]->numquestions;
}
if ($canviewreports) {
$row[] = html_writer::link(new moodle_url('/admin/report/questioninstances/index.php',
$row[] = html_writer::link(new moodle_url('/report/questioninstances/index.php',
array('qtype' => $qtypename)), $strcount, array('title' => get_string('showdetails', 'admin')));
} else {
$strcount;
+6 -5
View File
@@ -192,7 +192,7 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->maturity_info($maturity);
$output .= $this->insecure_dataroot_warning($insecuredataroot);
$output .= $this->display_errors_warning($errorsdisplayed);
$output .= $this->cron_overdue_warning($errorsdisplayed);
$output .= $this->cron_overdue_warning($cronoverdue);
$output .= $this->db_problems($dbproblems);
$output .= $this->maintenance_mode_warning($maintenancemode);
@@ -339,8 +339,10 @@ class core_admin_renderer extends plugin_renderer_base {
return '';
}
return $this->warning(get_string('sitemaintenancewarning2', 'admin',
new moodle_url('/admin/settings.php', array('section' => 'maintenancemode'))));
$url = new moodle_url('/admin/settings.php', array('section' => 'maintenancemode'));
$url = $url->out(); // get_string() does not support objects in params
return $this->warning(get_string('sitemaintenancewarning2', 'admin', $url));
}
/**
@@ -597,8 +599,7 @@ class core_admin_renderer extends plugin_renderer_base {
if (is_null($otherplugin)) {
$ok = false;
}
if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
} else if ($requiredversion != ANY_VERSION and $otherplugin->versiondisk < $requiredversion) {
$ok = false;
}
+21
View File
@@ -67,6 +67,26 @@ if (optional_param('add', false, PARAM_BOOL) and confirm_sesskey()) {
}
}
} else if (optional_param('main', false, PARAM_BOOL) and confirm_sesskey()) {
if ($newmain = $admisselector->get_selected_users()) {
$newmain = reset($newmain);
$newmain = $newmain->id;
$admins = array();
foreach(explode(',', $CFG->siteadmins) as $admin) {
$admin = (int)$admin;
if ($admin) {
$admins[$admin] = $admin;
}
}
if (isset($admins[$newmain])) {
unset($admins[$newmain]);
array_unshift($admins, $newmain);
set_config('siteadmins', implode(',', $admins));
redirect($PAGE->url);
}
}
} else if ($confirmadd and confirm_sesskey()) {
$admins = array();
foreach(explode(',', $CFG->siteadmins) as $admin) {
@@ -115,6 +135,7 @@ echo $OUTPUT->header();
<p class="arrow_button">
<input name="add" id="add" type="submit" value="<?php echo $OUTPUT->larrow().'&nbsp;'.get_string('add'); ?>" title="<?php print_string('add'); ?>" /><br />
<input name="remove" id="remove" type="submit" value="<?php echo get_string('remove').'&nbsp;'.$OUTPUT->rarrow(); ?>" title="<?php print_string('remove'); ?>" />
<input name="main" id="main" type="submit" value="<?php echo get_string('mainadminset', 'role'); ?>" title="<?php print_string('mainadminset', 'role'); ?>" />
</p>
</td>
<td id='potentialcell'>
+27 -11
View File
@@ -1044,10 +1044,9 @@ class potential_assignees_below_course extends role_assign_user_selector_base {
$sql = " FROM {user} u
WHERE u.id IN ($enrolsql) $wherecondition
AND u.id NOT IN (
SELECT u.id
FROM {role_assignments} r, {user} u
SELECT r.userid
FROM {role_assignments} r
WHERE r.contextid = :contextid
AND u.id = r.userid
AND r.roleid = :roleid)";
$order = ' ORDER BY lastname ASC, firstname ASC';
@@ -1096,10 +1095,9 @@ class potential_assignees_course_and_above extends role_assign_user_selector_bas
$sql = " FROM {user}
WHERE $wherecondition
AND id NOT IN (
SELECT u.id
FROM {role_assignments} r, {user} u
SELECT r.userid
FROM {role_assignments} r
WHERE r.contextid = :contextid
AND u.id = r.userid
AND r.roleid = :roleid)";
$order = ' ORDER BY lastname ASC, firstname ASC';
@@ -1584,13 +1582,31 @@ class admins_existing_selector extends user_selector_base {
return array();
}
if ($search) {
$groupname = get_string('extusersmatching', 'role', $search);
} else {
$groupname = get_string('extusers', 'role');
$mainadmin = array();
$adminids = explode(',', $CFG->siteadmins);
foreach ($adminids as $id) {
if (isset($availableusers[$id])) {
$mainadmin = array($id=>$availableusers[$id]);
unset($availableusers[$id]);
break;
}
}
return array($groupname => $availableusers);
$result = array();
if ($mainadmin) {
$result[get_string('mainadmin', 'role')] = $mainadmin;
}
if ($availableusers) {
if ($search) {
$groupname = get_string('extusersmatching', 'role', $search);
} else {
$groupname = get_string('extusers', 'role');
}
$result[$groupname] = $availableusers;
}
return $result;
}
protected function get_options() {
+3 -1
View File
@@ -50,8 +50,10 @@ if ($course) {
// security first
require_login($course, false, $cm);
$safeoverridesonly = false;
if (!has_capability('moodle/role:override', $context)) {
require_capability('moodle/role:safeoverride', $context);
$safeoverridesonly = true;
}
$PAGE->set_url($url);
$PAGE->set_context($context);
@@ -119,7 +121,7 @@ if (empty($overridableroles[$roleid])) {
}
// If we are actually overriding a role, create the table object, and save changes if appropriate.
$overridestable = new override_permissions_table_advanced($context, $roleid, false);
$overridestable = new override_permissions_table_advanced($context, $roleid, $safeoverridesonly);
$overridestable->read_submitted_permissions();
if (optional_param('savechanges', false, PARAM_BOOL) && confirm_sesskey()) {
+2 -3
View File
@@ -8,7 +8,8 @@ require_once($CFG->libdir.'/adminlib.php');
$query = trim(optional_param('query', '', PARAM_NOTAGS)); // Search string
$PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
$PAGE->set_course($SITE);
admin_externalpage_setup('search', '', array('query' => $query)); // now hidden page
$adminroot = admin_get_root(); // need all settings here
$adminroot->search = $query; // So we can reference it in search boxes later in this invocation
@@ -16,8 +17,6 @@ $statusmsg = '';
$errormsg = '';
$focus = '';
admin_externalpage_setup('search', '', array('query' => $query)); // now hidden page
// now we'll deal with the case that the admin has submitted the form with changed settings
if ($data = data_submitted() and confirm_sesskey()) {
if (admin_write_settings($data)) {
+1 -1
View File
@@ -98,13 +98,13 @@ if (empty($SITE->fullname)) {
$url->param('adminedit', 'on');
}
$buttons = $OUTPUT->single_button($url, $caption, 'get');
$PAGE->set_button($buttons);
}
$visiblepathtosection = array_reverse($settingspage->visiblepath);
$PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection));
$PAGE->set_heading($SITE->fullname);
$PAGE->set_button($buttons);
echo $OUTPUT->header();
if ($errormsg !== '') {
+27 -5
View File
@@ -92,12 +92,32 @@ if ($hassiteconfig
// Add a category for backups
$ADMIN->add('courses', new admin_category('backups', get_string('backups','admin')));
// Create a page for general backup defaults
// Create a page for general backups configuration and defaults.
$temp = new admin_settingpage('backupgeneralsettings', get_string('generalbackdefaults', 'backup'), 'moodle/backup:backupcourse');
// General configuration section.
$temp->add(new admin_setting_configselect('backup/loglifetime', get_string('loglifetime', 'backup'), get_string('configloglifetime', 'backup'), 30, array(
1 => get_string('numdays', '', 1),
2 => get_string('numdays', '', 2),
3 => get_string('numdays', '', 3),
5 => get_string('numdays', '', 5),
7 => get_string('numdays', '', 7),
10 => get_string('numdays', '', 10),
14 => get_string('numdays', '', 14),
20 => get_string('numdays', '', 20),
30 => get_string('numdays', '', 30),
60 => get_string('numdays', '', 60),
90 => get_string('numdays', '', 90),
120 => get_string('numdays', '', 120),
180 => get_string('numdays', '', 180),
365 => get_string('numdays', '', 365)
)));
// General defaults section.
$temp->add(new admin_setting_heading('generalsettings', get_string('generalsettings', 'backup'), ''));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_users', get_string('generalusers','backup'), get_string('configgeneralusers','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_anonymize', get_string('generalanonymize','backup'), get_string('configgeneralanonymize','backup'), array('value'=>0, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_role_assignments', get_string('generalroleassignments','backup'), get_string('configgeneralroleassignments','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_user_files', get_string('generaluserfiles','backup'), get_string('configgeneraluserfiles','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_activities', get_string('generalactivities','backup'), get_string('configgeneralactivities','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_blocks', get_string('generalblocks','backup'), get_string('configgeneralblocks','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_filters', get_string('generalfilters','backup'), get_string('configgeneralfilters','backup'), array('value'=>1, 'locked'=>0)));
@@ -107,8 +127,10 @@ if ($hassiteconfig
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_histories', get_string('generalhistories','backup'), get_string('configgeneralhistories','backup'), array('value'=>0, 'locked'=>0)));
$ADMIN->add('backups', $temp);
/// "backups" settingpage
// Create a page for automated backups configuration and defaults.
$temp = new admin_settingpage('automated', get_string('automatedsetup','backup'), 'moodle/backup:backupcourse');
// Automated configuration section.
$temp->add(new admin_setting_configselect('backup/backup_auto_active', get_string('active'), get_string('autoactivedescription', 'backup'), 0, array(
0 => get_string('autoactivedisabled', 'backup'),
1 => get_string('autoactiveenabled', 'backup'),
@@ -139,12 +161,12 @@ 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_configcheckbox('backup/backup_shortname', get_string('backup_shortname', 'admin'), get_string('backup_shortnamehelp', 'admin'), 0));
// Automated defaults section.
$temp->add(new admin_setting_heading('automatedsettings', get_string('automatedsettings','backup'), ''));
$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));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blocks', get_string('generalblocks','backup'), get_string('configgeneralblocks','backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_filters', get_string('generalfilters','backup'), get_string('configgeneralfilters','backup'), 1));
+3
View File
@@ -22,6 +22,9 @@ if (isset($CFG->mnet_dispatcher_mode) and $CFG->mnet_dispatcher_mode !== 'off')
$hosts = mnet_get_hosts();
foreach ($hosts as $host) {
if ($host->id == $CFG->mnet_all_hosts_id) {
$host->name = get_string('allhosts', 'core_mnet');
}
$ADMIN->add('mnetpeercat',
new admin_externalpage(
'mnetpeer' . $host->id,
+7 -7
View File
@@ -477,6 +477,13 @@ foreach ($pages as $page) {
$ADMIN->add('reportplugins', $page);
}
/// Add all admin tools
if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('tools', get_string('tools', 'admin')));
$ADMIN->add('tools', new admin_externalpage('managetools', get_string('toolsmanage', 'admin'),
$CFG->wwwroot . '/' . $CFG->admin . '/tools.php'));
}
// Now add various admin tools
foreach (get_plugin_list('tool') as $plugin => $plugindir) {
$settings_path = "$plugindir/settings.php";
@@ -485,13 +492,6 @@ foreach (get_plugin_list('tool') as $plugin => $plugindir) {
}
}
/// Add all admin tools
if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('tools', get_string('tools', 'admin')));
$ADMIN->add('tools', new admin_externalpage('managetools', get_string('toolsmanage', 'admin'),
$CFG->wwwroot . '/' . $CFG->admin . '/tools.php'));
}
/// Add all local plugins - must be always last!
if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('localplugins', get_string('localplugins')));
+2
View File
@@ -16,6 +16,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('protectusernames', get_string('protectusernames', 'admin'), get_string('configprotectusernames', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('forcelogin', get_string('forcelogin', 'admin'), get_string('configforcelogin', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('forceloginforprofiles', get_string('forceloginforprofiles', 'admin'), get_string('configforceloginforprofiles', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('forceloginforprofileimage', get_string('forceloginforprofileimage', 'admin'), get_string('forceloginforprofileimage_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('opentogoogle', get_string('opentogoogle', 'admin'), get_string('configopentogoogle', 'admin'), 0));
$temp->add(new admin_setting_pickroles('profileroles',
get_string('profileroles','admin'),
@@ -81,6 +82,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('cookiesecure', get_string('cookiesecure', 'admin'), get_string('configcookiesecure', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('cookiehttponly', get_string('cookiehttponly', 'admin'), get_string('configcookiehttponly', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowframembedding', get_string('allowframembedding', 'admin'), get_string('allowframembedding_help', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('loginpasswordautocomplete', get_string('loginpasswordautocomplete', 'admin'), get_string('loginpasswordautocomplete_help', 'admin'), 0));
$ADMIN->add('security', $temp);
+3 -1
View File
@@ -127,7 +127,9 @@ if ($hassiteconfig
'firstaccess' => get_string('firstaccess'),
'lastaccess' => get_string('lastaccess'),
'mycourses' => get_string('mycourses'),
'groups' => get_string('groups'))));
'groups' => get_string('groups'),
'suspended' => get_string('suspended', 'auth'),
)));
// Select fields to display as part of user identity (only to those
// with moodle/site:viewuseridentity).
+2 -1
View File
@@ -29,7 +29,8 @@ function xmldb_tool_customlang_upgrade($oldversion) {
$dbman = $DB->get_manager();
// Moodle v2.2.0 release upgrade line
// Put any upgrade step following this
return true;
}
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Strings for Language customization admin tool
* Strings for Language customisation admin tool
*
* @package tool
* @subpackage customlang
@@ -26,36 +26,36 @@
defined('MOODLE_INTERNAL') || die();
$string['checkin'] = 'Check in strings into disk';
$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['checkin'] = 'Save strings to language pack';
$string['checkout'] = 'Open language pack for editing';
$string['checkoutdone'] = 'Language pack loaded';
$string['checkoutinprogress'] = 'Loading language pack';
$string['confirmcheckin'] = 'You are about to save modifications to your local language pack. This will export the customised strings from the translator into you Moodle data directory and Moodle will start using the modified strings. Press \'Continue\' to proceed with saving.';
$string['customlang:edit'] = 'Edit local translation';
$string['customlang:view'] = 'View local translation';
$string['filter'] = 'Filter strings';
$string['filtercomponent'] = 'Show strings of these components';
$string['filtercustomized'] = 'Customized only';
$string['filtercustomized'] = 'Customised only';
$string['filtermodified'] = 'Modified only';
$string['filteronlyhelps'] = 'Help only';
$string['filtershowstrings'] = 'Show strings';
$string['filterstringid'] = 'String identifier';
$string['filtersubstring'] = 'Only strings containing';
$string['headingcomponent'] = 'Component';
$string['headinglocal'] = 'Local customization';
$string['headinglocal'] = 'Local customisation';
$string['headingstandard'] = 'Standard text';
$string['headingstringid'] = 'String';
$string['markinguptodate'] = 'Marking the customization as up-to-date';
$string['markinguptodate_help'] = 'The customized translation may get outdated if either the English original or the master translation has modified since the string was customized on your site. Review the customized translation. If you find it up-to-date, click the checkbox. Edit it otherwise.';
$string['markinguptodate'] = 'Marking the customisation as up-to-date';
$string['markinguptodate_help'] = 'The customised translation may get outdated if either the English original or the master translation has modified since the string was customised on your site. Review the customised translation. If you find it up-to-date, click the checkbox. Edit it otherwise.';
$string['markuptodate'] = 'mark as up-to-date';
$string['modifiedno'] = 'There are no modified strings to check in.';
$string['modifiednum'] = 'There are {$a} modified strings. You must check in them into disk to store them permanently.';
$string['modifiedno'] = 'There are no modified strings to save.';
$string['modifiednum'] = 'There are {$a} modified strings. Do you wish to save these changes to your local language pack?';
$string['nostringsfound'] = 'No strings found, please modify the filter settings';
$string['placeholder'] = 'Placeholders';
$string['placeholder_help'] = 'Placeholders are special statements like `{$a}` or `{$a->something}` within the string. They are replaced with a value when the string is actually printed.
It is important to copy them exactly as they are in the original string. Do not translate them nor change their left-to-right orientation.';
$string['placeholderwarning'] = 'string contains a placeholder';
$string['pluginname'] = 'Language customization';
$string['savecheckin'] = 'Save and check in strings into files';
$string['savecontinue'] = 'Save and continue editing';
$string['pluginname'] = 'Language customisation';
$string['savecheckin'] = 'Save changes to the language pack';
$string['savecontinue'] = 'Apply changes and continue editing';
@@ -57,6 +57,8 @@ class database_transfer_form extends moodleform {
$mform->addElement('text', 'dbuser', get_string('user'));
$mform->addElement('text', 'dbpass', get_string('password'));
$mform->addElement('text', 'prefix', get_string('dbprefix', 'install'));
$mform->addElement('text', 'dbport', get_string('dbport', 'install'));
$mform->addElement('text', 'dbsocket', get_string('databasesocket', 'install'));
$mform->addRule('dbhost', get_string('required'), 'required', null);
$mform->addRule('dbname', get_string('required'), 'required', null);
+8 -1
View File
@@ -40,7 +40,14 @@ if ($data = $form->get_data()) {
// Connect to the other database.
list($dbtype, $dblibrary) = explode('/', $data->driver);
$targetdb = moodle_database::get_driver_instance($dbtype, $dblibrary);
if (!$targetdb->connect($data->dbhost, $data->dbuser, $data->dbpass, $data->dbname, $data->prefix, null)) {
$dboptions = array();
if ($data->dbport) {
$dboptions['dbport'] = $data->dbport;
}
if ($data->dbsocket) {
$dboptions['dbsocket'] = $data->dbsocket;
}
if (!$targetdb->connect($data->dbhost, $data->dbuser, $data->dbpass, $data->dbname, $data->prefix, $dboptions)) {
throw new dbtransfer_exception('notargetconectexception', null, "$CFG->wwwroot/$CFG->admin/tool/dbtransfer/");
}
if ($targetdb->get_tables()) {
+1 -1
View File
@@ -37,7 +37,7 @@ TODO:
(user would need file access to dataroot which might prevent various "accidents")
- implement "Export/import running" notification in lib/setup.php (similar to new upgrade flag in config table)
- gzip compression when storing xml file - the xml is very verbose and full of repeated tags (zip is not suitable here at all)
this could help us keep the files bellow 2G (expected ratio is > 10:1)
this could help us keep the files below 2G (expected ratio is > 10:1)
*/
+1 -7
View File
@@ -25,13 +25,7 @@
ob_start(); //for whitespace test
require('../../../config.php');
// extra whitespace test - intentionally breaks cookieless mode
$extraws = '';
while (ob_get_level()) {
$extraws .= ob_get_contents();
ob_end_clean();
}
$extraws = ob_get_clean();
require_once($CFG->libdir.'/adminlib.php');
+7 -1
View File
@@ -46,11 +46,17 @@ if (data_submitted() and $confirm and confirm_sesskey()) {
echo $OUTPUT->notification('Please be patient and wait for this to complete...', 'notifysuccess');
set_time_limit(0);
if ($tables = $DB->get_tables()) {
$DB->set_debug(true);
foreach ($tables as $table) {
$fulltable = $DB->get_prefix().$table;
$DB->change_database_structure("ALTER TABLE $fulltable TYPE=INNODB");
try {
$DB->change_database_structure("ALTER TABLE $fulltable ENGINE=INNODB");
} catch (moodle_exception $e) {
echo $OUTPUT->notification(s($e->getMessage()).'<br />'.s($e->debuginfo));
}
}
$DB->set_debug(false);
}
+7 -1
View File
@@ -5,7 +5,7 @@ With a lot of question attempts, doing the whole conversion on upgrade is very
slow. The plugin can help with that in various ways.
1. It provies a report of how much data there is to upgrade.
1. It provides a report of how much data there is to upgrade.
2. It can extract test-cases from the database. This can help you report bugs
in the upgrade process to the developers.
@@ -35,3 +35,9 @@ subsequently been modified) so you can re-upgrade them. This may allow you to
recover from a buggy upgrade.
9. Finally, you can still use the extract test-cases script to help report bugs.
Manual upgrades can be processed via the web interface or the command line tool
cliupgrade.php. To run cliupgrade.php, use a command similar to:
sudo -u www-data /usr/bin/php admin/tool/qeupgradehelper/cli/convert.php -h
The -h flag will show the options for running the tool.
+129
View File
@@ -0,0 +1,129 @@
<?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/>.
/**
* Script to allow upgrading of quizzes with attempts that were previously
* skipped.
*
* @package tool_qeupgradehelper
* @copyright 2012 Eric Merrill, Oakland Unversity
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/config.php');
require_once(dirname(dirname(__FILE__)) . '/locallib.php');
require_once(dirname(dirname(__FILE__)) . '/lib.php');
require_once($CFG->libdir.'/clilib.php'); // CLI only functions.
// Now get cli options.
list($options, $unrecognized) = cli_get_params(array('quiz'=>false, 'timelimit'=>false, 'countlimit'=>false, 'help'=>false),
array('c'=>'countlimit', 't'=>'timelimit', 'h'=>'help'));
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help']) {
$help =
"Question engine upgrade helper CLI tool.
Will upgrade all remaining question attempts if no options are specified.
Options:
-c, --countlimit=<n> Process n number of quizzes then exit
-t, --timelimit=<n> Process quizzes for n number of seconds, then exit. A quiz
currently in progress will not be interrupted.
--quiz=<quizid> Process quiz quizid only
-h, --help Print out this help
countlimit and timelimit can be used together. First one to trigger will stop execution.
Example:
\$sudo -u www-data /usr/bin/php admin/tool/qeupgradehelper/cliupgrade.php
";
echo $help;
die;
}
if (!tool_qeupgradehelper_is_upgraded()) {
mtrace('qeupgradehelper: site not yet upgraded. Doing nothing.');
return;
}
require_once(dirname(dirname(__FILE__)) . '/afterupgradelib.php');
$starttime = time();
// Setup the stop time.
if ($options['timelimit']) {
$stoptime = time() + $options['timelimit'];
} else {
$stoptime = false;
}
// If we are doing a quiz id, limit to one.
if ($options['quiz']) {
$options['countlimit'] = 1;
}
$count = 0;
mtrace('qeupgradehelper: processing ...');
/* This while statement does a few things
* Basically if an option is set to false, then that subsection will return
* true, and will short circuit the test condition for that option, and always
* being true. Both options are anded together, so either one can trigger to stop.
*/
while ((!$stoptime || (time() < $stoptime)) && (!$options['countlimit'] || ($count < $options['countlimit']))) {
if ($options['quiz']) {
$quizid = $options['quiz'];
} else {
$quiz = tool_qeupgradehelper_get_quiz_for_upgrade();
if (!$quiz) {
mtrace('qeupgradehelper: No more quizzes to process.');
break; // No more to do.
}
$quizid = $quiz->id;
}
$quizsummary = tool_qeupgradehelper_get_quiz($quizid);
if ($quizsummary) {
mtrace(' starting upgrade of attempts at quiz ' . $quizid);
$upgrader = new tool_qeupgradehelper_attempt_upgrader(
$quizsummary->id, $quizsummary->numtoconvert);
$upgrader->convert_all_quiz_attempts();
mtrace(' upgrade of quiz ' . $quizid . ' complete.');
} else {
mtrace('quiz ' . $quizid . ' not found or already upgraded.');
}
$count++;
}
mtrace('qeupgradehelper: Done. Processed '.$count.' quizes in '.(time()-$starttime).' seconds');
return;
@@ -48,16 +48,16 @@ $string['gotoindex'] = 'Back to the list of quizzes that can be upgraded';
$string['gotoquizreport'] = 'Go to the reports for this quiz, to check the upgrade';
$string['gotoresetlink'] = 'Go to the list of quizzes that can be reset';
$string['includedintheupgrade'] = 'Included in the upgrade?';
$string['invalidquizid'] = 'Invaid quiz id. Either the quiz does not exist, or it has no attempts to convert.';
$string['invalidquizid'] = 'Invalid quiz id. Either the quiz does not exist, or it has no attempts to convert.';
$string['listpreupgrade'] = 'List quizzes and attempts';
$string['listpreupgrade_desc'] = 'This will show a report of all the quizzes on the system and how many attempts they have. This will give you an idea of the scope of the upgrade you have to do.';
$string['listpreupgradeintro'] = 'These are the number of quiz attempts that will need to be processed when you upgrade your site. A few tens of thousands is no worry. Much beyond that and you need to think about how long the upgrade will take.';
$string['listtodo'] = 'List quizzes still to upgrade';
$string['listtodo_desc'] = 'This will show a report of all the quizzes on the system (if any) that have attempts that still need to be upgraded to the new question engine.';
$string['listtodointro'] = 'These are all the quizzes with attempt data that still needs to be converted. You can convert the attempts by clicking the link.';
$string['listupgraded'] = 'List already upgrade quizzes that can be reset';
$string['listupgraded'] = 'List already upgraded quizzes that can be reset';
$string['listupgraded_desc'] = 'This will show a report of all the quizzes on the system whose attempts have been upgraded, and where the old data is still present so the upgrade could be reset and redone.';
$string['listupgradedintro'] = 'These are all the quizzes that have attempts that were upgraded, and where the old attempt data is so there, so they could be reset, and the upgrade re-done.';
$string['listupgradedintro'] = 'These are all the quizzes that have attempts that were upgraded, and where the old attempt data is still there, so they could be reset, and the upgrade re-done.';
$string['noquizattempts'] = 'Your site does not have any quiz attempts at all!';
$string['nothingupgradedyet'] = 'No upgraded attempts that can be reset';
$string['notupgradedsiterequired'] = 'This script can only work before the site has been upgraded.';
@@ -80,4 +80,4 @@ $string['resettingquizattemptsprogress'] = 'Resetting attempt {$a->done} / {$a->
$string['upgradingquizattempts'] = 'Upgrading the attempts for quiz \'{$a->name}\' in course {$a->shortname}';
$string['upgradedsitedetected'] = 'This appears to be a site that has been upgraded to include the new question engine.';
$string['upgradedsiterequired'] = 'This script can only work after the site has been upgraded.';
$string['veryoldattemtps'] = 'Your site has {$a} quiz attempts that were never completely updated during the upgrade from Moodle 1.4 to Moodle 1.5. These attempts will be dealt wiht before the main upgrade. You need to to consider the extra time required for this.';
$string['veryoldattemtps'] = 'Your site has {$a} quiz attempts that were never completely updated during the upgrade from Moodle 1.4 to Moodle 1.5. These attempts will be dealt with before the main upgrade. You need to to consider the extra time required for this.';
+2 -2
View File
@@ -178,7 +178,7 @@ abstract class tool_qeupgradehelper_quiz_list {
html_writer::link(new moodle_url('/course/view.php',
array('id' => $quizinfo->courseid)), format_string($quizinfo->shortname)),
html_writer::link(new moodle_url('/mod/quiz/view.php',
array('id' => $quizinfo->name)), format_string($quizinfo->name)),
array('q' => $quizinfo->id)), format_string($quizinfo->name)),
$quizinfo->attemptcount,
$quizinfo->questionattempts ? $quizinfo->questionattempts : 0,
);
@@ -669,5 +669,5 @@ function tool_qeupgradehelper_get_quiz_for_upgrade() {
JOIN {course} c ON c.id = quiz.course
WHERE quiza.preview = 0 AND quiza.needsupgradetonewqe = 1
GROUP BY quiz.id, quiz.name, c.shortname, c.id
ORDER BY quiza.timemodified DESC", array(), IGNORE_MULTIPLE);
ORDER BY MAX(quiza.timemodified) DESC", array(), IGNORE_MULTIPLE);
}
+51 -2
View File
@@ -157,21 +157,54 @@ function search_spammers($keywords) {
$params['descpat'.$i] = "%$keyword%";
$keywordfull2[] = $DB->sql_like('p.summary', ':sumpat'.$i, false);
$params['sumpat'.$i] = "%$keyword%";
$keywordfull3[] = $DB->sql_like('p.subject', ':subpat'.$i, false);
$params['subpat'.$i] = "%$keyword%";
$keywordfull4[] = $DB->sql_like('c.content', ':contpat'.$i, false);
$params['contpat'.$i] = "%$keyword%";
$keywordfull5[] = $DB->sql_like('m.fullmessage', ':msgpat'.$i, false);
$params['msgpat'.$i] = "%$keyword%";
$keywordfull6[] = $DB->sql_like('fp.message', ':forumpostpat'.$i, false);
$params['forumpostpat'.$i] = "%$keyword%";
$keywordfull7[] = $DB->sql_like('fp.subject', ':forumpostsubpat'.$i, false);
$params['forumpostsubpat'.$i] = "%$keyword%";
$i++;
}
$conditions = '( '.implode(' OR ', $keywordfull).' )';
$conditions2 = '( '.implode(' OR ', $keywordfull2).' )';
$conditions3 = '( '.implode(' OR ', $keywordfull3).' )';
$conditions4 = '( '.implode(' OR ', $keywordfull4).' )';
$conditions5 = '( '.implode(' OR ', $keywordfull5).' )';
$conditions6 = '( '.implode(' OR ', $keywordfull6).' )';
$conditions7 = '( '.implode(' OR ', $keywordfull7).' )';
$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";
$sql3 = "SELECT u.*, p.subject as postsubject FROM {user} AS u, {post} AS p WHERE $conditions3 AND u.deleted = 0 AND u.id=p.userid AND u.id <> :userid";
$sql4 = "SELECT u.*, c.content FROM {user} AS u, {comments} AS c WHERE $conditions4 AND u.deleted = 0 AND u.id=c.userid AND u.id <> :userid";
$sql5 = "SELECT u.*, m.fullmessage FROM {user} AS u, {message} AS m WHERE $conditions5 AND u.deleted = 0 AND u.id=m.useridfrom AND u.id <> :userid";
$sql6 = "SELECT u.*, fp.message FROM {user} AS u, {forum_posts} AS fp WHERE $conditions6 AND u.deleted = 0 AND u.id=fp.userid AND u.id <> :userid";
$sql7 = "SELECT u.*, fp.subject FROM {user} AS u, {forum_posts} AS fp WHERE $conditions7 AND u.deleted = 0 AND u.id=fp.userid AND u.id <> :userid";
$spamusers_desc = $DB->get_recordset_sql($sql, $params);
$spamusers_blog = $DB->get_recordset_sql($sql2, $params);
$spamusers_blogsub = $DB->get_recordset_sql($sql3, $params);
$spamusers_comment = $DB->get_recordset_sql($sql4, $params);
$spamusers_message = $DB->get_recordset_sql($sql5, $params);
$spamusers_forumpost = $DB->get_recordset_sql($sql6, $params);
$spamusers_forumpostsub = $DB->get_recordset_sql($sql7, $params);
$keywordlist = implode(', ', $keywords);
echo $OUTPUT->box(get_string('spamresult', 'tool_spamcleaner').s($keywordlist)).' ...';
print_user_list(array($spamusers_desc, $spamusers_blog), $keywords);
print_user_list(array($spamusers_desc,
$spamusers_blog,
$spamusers_blogsub,
$spamusers_comment,
$spamusers_message,
$spamusers_forumpost,
$spamusers_forumpostsub
),
$keywords);
}
@@ -212,7 +245,23 @@ function filter_user($user, $keywords, $count) {
if (isset($user->summary)) {
$user->description = '<h3>'.get_string('spamfromblog', 'tool_spamcleaner').'</h3>'.$user->summary;
unset($user->summary);
} else if (isset($user->postsubject)) {
$user->description = '<h3>'.get_string('spamfromblog', 'tool_spamcleaner').'</h3>'.$user->postsubject;
unset($user->postsubject);
} else if (isset($user->content)) {
$user->description = '<h3>'.get_string('spamfromcomments', 'tool_spamcleaner').'</h3>'.$user->content;
unset($user->content);
} else if (isset($user->fullmessage)) {
$user->description = '<h3>'.get_string('spamfrommessages', 'tool_spamcleaner').'</h3>'.$user->fullmessage;
unset($user->fullmessage);
} else if (isset($user->message)) {
$user->description = '<h3>'.get_string('spamfromforumpost', 'tool_spamcleaner').'</h3>'.$user->message;
unset($user->message);
} else if (isset($user->subject)) {
$user->description = '<h3>'.get_string('spamfromforumpost', 'tool_spamcleaner').'</h3>'.$user->subject;
unset($user->subject);
}
if (preg_match('#<img.*src=[\"\']('.$CFG->wwwroot.')#', $user->description, $matches)
&& $image_search) {
$result = false;
@@ -34,6 +34,9 @@ $string['spamdeleteconfirm'] = 'Are you sure you want to delete this entry? You
$string['spamdesc'] = 'Description';
$string['spameg'] = 'eg: casino, porn, xxx';
$string['spamfromblog'] = 'From blog post:';
$string['spamfromcomments'] = 'From comments:';
$string['spamfrommessages'] = 'From messages:';
$string['spamfromforumpost'] = 'From forum post:';
$string['spaminvalidresult'] = 'Unknown but invalid result';
$string['spamoperation'] = 'Operation';
$string['spamresult'] = 'Results of searching user profiles containing:';
+1 -1
View File
@@ -110,7 +110,7 @@
/// That's it!
if ($importdone) {
$a = null;
$a = new stdClass();
$a->count = count($timezones);
$a->source = $importdone;
echo $OUTPUT->heading(get_string('importtimezonescount', 'tool_timezoneimport', $a), 3);
@@ -23,7 +23,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['configintrotimezones'] = 'This page will search for new information about world timezones (including daylight savings time rules) and update your local database with this information. These locations will be checked, in order: {$a} This procedure is generally very safe and can not break normal installations. Do you wish to update your timezones now?';
$string['configintrotimezones'] = 'This page will search for new information about world timezones (including daylight savings time rules) and update your local database with this information. These locations will be checked, in order: {$a} Do you wish to update your timezones now?';
$string['importtimezones'] = 'Update complete list of timezones';
$string['importtimezonescount'] = '{$a->count} entries imported from {$a->source}';
$string['importtimezonesfailed'] = 'No sources found! (Bad news)';
+5
View File
@@ -289,4 +289,9 @@ class ExHtmlReporter extends HtmlReporter {
function get_string($identifier, $a = NULL) {
return get_string($identifier, 'tool_unittest', $a);
}
function _htmlEntities($message) {
// Override subclass message that breaks UTF8.
return s($message);
}
}
+38 -2
View File
@@ -73,6 +73,10 @@ $stremailduplicate = get_string('useremailduplicate', 'error');
$strinvalidpasswordpolicy = get_string('invalidpasswordpolicy', 'error');
$errorstr = get_string('error');
$stryes = get_string('yes');
$strno = get_string('no');
$stryesnooptions = array(0=>$strno, 1=>$stryes);
$returnurl = new moodle_url('/admin/tool/uploaduser/index.php');
$bulknurl = new moodle_url('/admin/user/user_bulk.php');
@@ -88,6 +92,7 @@ $STD_FIELDS = array('id', 'firstname', 'lastname', 'username', 'email',
'url', 'description', 'descriptionformat', 'password',
'auth', // watch out when changing auth type or using external auth plugins!
'oldusername', // use when renaming users - this is the original username
'suspended', // 1 means suspend user account, 0 means activate user account, nothing means keep as is for existing users
'deleted', // 1 means delete user
);
@@ -154,6 +159,7 @@ if ($formdata = $mform2->is_cancelled()) {
$updatepasswords = (!empty($formdata->uupasswordold) and $optype != UU_USER_ADDNEW and $optype != UU_USER_ADDINC and ($updatetype == UU_UPDATE_FILEOVERRIDE or $updatetype == UU_UPDATE_ALLOVERRIDE));
$allowrenames = (!empty($formdata->uuallowrenames) and $optype != UU_USER_ADDNEW and $optype != UU_USER_ADDINC);
$allowdeletes = (!empty($formdata->uuallowdeletes) and $optype != UU_USER_ADDNEW and $optype != UU_USER_ADDINC);
$allowsuspends = (!empty($formdata->uuallowsuspends));
$bulk = $formdata->uubulk;
$noemailduplicates = $formdata->uunoemailduplicates;
$standardusernames = $formdata->uustandardusernames;
@@ -233,7 +239,7 @@ if ($formdata = $mform2->is_cancelled()) {
}
}
if (!isset($user->username)) {
// prevent warnings bellow
// prevent warnings below
$user->username = '';
}
@@ -446,6 +452,7 @@ if ($formdata = $mform2->is_cancelled()) {
$user->id = $existinguser->id;
$upt->track('username', html_writer::link(new moodle_url('/user/profile.php', array('id'=>$existinguser->id)), s($existinguser->username)), 'normal', false);
$upt->track('suspended', $stryesnooptions[$existinguser->suspended] , 'normal', false);
if (is_siteadmin($user->id)) {
$upt->track('status', $strusernotupdatedadmin, 'error');
@@ -462,6 +469,7 @@ if ($formdata = $mform2->is_cancelled()) {
$upt->track('auth', $existinguser->auth, 'normal', false);
$doupdate = false;
$dologout = false;
if ($updatetype != UU_UPDATE_NOCHANGES) {
if (!empty($user->auth) and $user->auth !== $existinguser->auth) {
@@ -471,10 +479,13 @@ if ($formdata = $mform2->is_cancelled()) {
$upt->track('auth', $struserauthunsupported, 'warning');
}
$doupdate = true;
if ($existinguser->auth === 'nologin') {
$dologout = true;
}
}
$allcolumns = array_merge($STD_FIELDS, $PRF_FIELDS);
foreach ($allcolumns as $column) {
if ($column === 'username' or $column === 'password' or $column === 'auth') {
if ($column === 'username' or $column === 'password' or $column === 'auth' or $column === 'suspended') {
// these can not be changed here
continue;
}
@@ -531,6 +542,20 @@ if ($formdata = $mform2->is_cancelled()) {
}
$isinternalauth = $auth->is_internal();
// deal with suspending and activating of accounts
if ($allowsuspends and isset($user->suspended) and $user->suspended !== '') {
$user->suspended = $user->suspended ? 1 : 0;
if ($existinguser->suspended != $user->suspended) {
$upt->track('suspended', '', 'normal', false);
$upt->track('suspended', $stryesnooptions[$existinguser->suspended].'-->'.$stryesnooptions[$user->suspended], 'info', false);
$existinguser->suspended = $user->suspended;
$doupdate = true;
if ($existinguser->suspended) {
$dologout = true;
}
}
}
// changing of passwords is a special case
// do not force password changes for external auth plugins!
$oldpw = $existinguser->password;
@@ -593,6 +618,10 @@ if ($formdata = $mform2->is_cancelled()) {
}
}
if ($dologout) {
session_kill_user($existinguser->id);
}
} else {
// save the new user to the database
$user->confirmed = 1;
@@ -600,6 +629,13 @@ if ($formdata = $mform2->is_cancelled()) {
$user->timecreated = time();
$user->mnethostid = $CFG->mnet_localhost_id; // we support ONLY local accounts here, sorry
if (!isset($user->suspended) or $user->suspended === '') {
$user->suspended = 0;
} else {
$user->suspended = $user->suspended ? 1 : 0;
}
$upt->track('suspended', $stryesnooptions[$user->suspended], 'normal', false);
if (empty($user->auth)) {
$user->auth = 'manual';
}
@@ -25,6 +25,7 @@
$string['allowdeletes'] = 'Allow deletes';
$string['allowrenames'] = 'Allow renames';
$string['allowsuspends'] = 'Allow suspending and activating of accounts';
$string['csvdelimiter'] = 'CSV delimiter';
$string['defaultvalues'] = 'Default values';
$string['deleteerrors'] = 'Delete errors';
+2 -1
View File
@@ -56,7 +56,7 @@ define('UU_PWRESET_ALL', 2);
*/
class uu_progress_tracker {
private $_row;
public $columns = array('status', 'line', 'id', 'username', 'firstname', 'lastname', 'email', 'password', 'auth', 'enrolments', 'deleted');
public $columns = array('status', 'line', 'id', 'username', 'firstname', 'lastname', 'email', 'password', 'auth', 'enrolments', 'suspended', 'deleted');
/**
* Print table header.
@@ -76,6 +76,7 @@ class uu_progress_tracker {
echo '<th class="header c'.$ci++.'" scope="col">'.get_string('password').'</th>';
echo '<th class="header c'.$ci++.'" scope="col">'.get_string('authentication').'</th>';
echo '<th class="header c'.$ci++.'" scope="col">'.get_string('enrolments', 'enrol').'</th>';
echo '<th class="header c'.$ci++.'" scope="col">'.get_string('suspended', 'auth').'</th>';
echo '<th class="header c'.$ci++.'" scope="col">'.get_string('delete').'</th>';
echo '</tr>';
$this->_row = null;
+5
View File
@@ -134,6 +134,11 @@ class admin_uploaduser_form2 extends moodleform {
$mform->disabledIf('uuallowdeletes', 'uutype', 'eq', UU_USER_ADDNEW);
$mform->disabledIf('uuallowdeletes', 'uutype', 'eq', UU_USER_ADDINC);
$mform->addElement('selectyesno', 'uuallowsuspends', get_string('allowsuspends', 'tool_uploaduser'));
$mform->setDefault('uuallowsuspends', 1);
$mform->disabledIf('uuallowsuspends', 'uutype', 'eq', UU_USER_ADDNEW);
$mform->disabledIf('uuallowsuspends', 'uutype', 'eq', UU_USER_ADDINC);
$mform->addElement('selectyesno', 'uunoemailduplicates', get_string('uunoemailduplicates', 'tool_uploaduser'));
$mform->setDefault('uunoemailduplicates', 1);
@@ -68,6 +68,7 @@ class create_xml_file extends XMLDBAction {
// Get the dir containing the file
$dirpath = required_param('dir', PARAM_PATH);
$plugintype = $this->get_plugin_type($dirpath);
$dirpath = $CFG->dirroot . $dirpath;
$file = $dirpath . '/install.xml';
@@ -77,6 +78,9 @@ class create_xml_file extends XMLDBAction {
$xmlcomment = 'XMLDB file for Moodle ' . dirname($xmlpath);
$xmltable = strtolower(basename(dirname($xmlpath)));
if ($plugintype && $plugintype != 'mod') {
$xmltable = $plugintype.'_'.$xmltable;
}
// Initial contents
$c = '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
@@ -106,5 +110,23 @@ class create_xml_file extends XMLDBAction {
// Return ok if arrived here
return $result;
}
/**
* From a given path, work out what type of plugin
* this belongs to
* @param string $dirpath Path to the db file for this plugin
* @return string the type of the plugin or null if not found
*/
function get_plugin_type($dirpath) {
global $CFG;
$dirpath = $CFG->dirroot.$dirpath;
$plugintypes = get_plugin_types();
foreach ($plugintypes as $plugintype => $pluginbasedir) {
if (substr($dirpath, 0, strlen($pluginbasedir)) == $pluginbasedir) {
return $plugintype;
}
}
return null;
}
}
+100 -52
View File
@@ -14,7 +14,8 @@
$ru = optional_param('ru', '2', PARAM_INT); // show remote users
$lu = optional_param('lu', '2', PARAM_INT); // show local users
$acl = optional_param('acl', '0', PARAM_INT); // id of user to tweak mnet ACL (requires $access)
$suspend = optional_param('suspend', 0, PARAM_INT);
$unsuspend = optional_param('unsuspend', 0, PARAM_INT);
admin_externalpage_setup('editusers');
@@ -29,6 +30,9 @@
$strdelete = get_string('delete');
$strdeletecheck = get_string('deletecheck');
$strshowallusers = get_string('showallusers');
$strsuspend = get_string('suspenduser', 'admin');
$strunsuspend = get_string('unsuspenduser', 'admin');
$strconfirm = get_string('confirm');
if (empty($CFG->loginhttps)) {
$securewwwroot = $CFG->wwwroot;
@@ -36,10 +40,11 @@
$securewwwroot = str_replace('http:','https:',$CFG->wwwroot);
}
$returnurl = "$CFG->wwwroot/$CFG->admin/user.php";
$returnurl = new moodle_url('/admin/user.php', array('sort' => $sort, 'dir' => $dir, 'perpage' => $perpage, 'page'=>$page));
if ($confirmuser and confirm_sesskey()) {
if (!$user = $DB->get_record('user', array('id'=>$confirmuser))) {
require_capability('moodle/user:update', $sitecontext);
if (!$user = $DB->get_record('user', array('id'=>$confirmuser, 'mnethostid'=>$CFG->mnet_localhost_id))) {
print_error('nousers');
}
@@ -55,10 +60,9 @@
}
} else if ($delete and confirm_sesskey()) { // Delete a selected user, after confirmation
require_capability('moodle/user:delete', $sitecontext);
$user = $DB->get_record('user', array('id'=>$delete), '*', MUST_EXIST);
$user = $DB->get_record('user', array('id'=>$delete, 'mnethostid'=>$CFG->mnet_localhost_id), '*', MUST_EXIST);
if (is_siteadmin($user->id)) {
print_error('useradminodelete', 'error');
@@ -69,7 +73,7 @@
$fullname = fullname($user, true);
echo $OUTPUT->heading(get_string('deleteuser', 'admin'));
$optionsyes = array('delete'=>$delete, 'confirm'=>md5($delete), 'sesskey'=>sesskey());
echo $OUTPUT->confirm(get_string('deletecheckfull', '', "'$fullname'"), new moodle_url('user.php', $optionsyes), 'user.php');
echo $OUTPUT->confirm(get_string('deletecheckfull', '', "'$fullname'"), new moodle_url($returnurl, $optionsyes), $returnurl);
echo $OUTPUT->footer();
die;
} else if (data_submitted() and !$user->deleted) {
@@ -83,8 +87,7 @@
}
}
} else if ($acl and confirm_sesskey()) {
if (!has_capability('moodle/user:delete', $sitecontext)) {
// TODO: this should be under a separate capability
if (!has_capability('moodle/user:update', $sitecontext)) {
print_error('nopermissions', 'error', '', 'modify the NMET access control list');
}
if (!$user = $DB->get_record('user', array('id'=>$acl))) {
@@ -110,6 +113,36 @@
}
$mnethosts = $DB->get_records('mnet_host', null, 'id', 'id,wwwroot,name');
redirect($returnurl);
} else if ($suspend and confirm_sesskey()) {
require_capability('moodle/user:update', $sitecontext);
if ($user = $DB->get_record('user', array('id'=>$suspend, 'mnethostid'=>$CFG->mnet_localhost_id, 'deleted'=>0))) {
if (!is_siteadmin($user) and $USER->id != $user->id and $user->suspended != 1) {
$user->suspended = 1;
$user->timemodified = time();
$DB->set_field('user', 'suspended', $user->suspended, array('id'=>$user->id));
$DB->set_field('user', 'timemodified', $user->timemodified, array('id'=>$user->id));
// force logout
session_kill_user($user->id);
events_trigger('user_updated', $user);
}
}
redirect($returnurl);
} else if ($unsuspend and confirm_sesskey()) {
require_capability('moodle/user:update', $sitecontext);
if ($user = $DB->get_record('user', array('id'=>$unsuspend, 'mnethostid'=>$CFG->mnet_localhost_id, 'deleted'=>0))) {
if ($user->suspended != 0) {
$user->suspended = 0;
$user->timemodified = time();
$DB->set_field('user', 'suspended', $user->suspended, array('id'=>$user->id));
$DB->set_field('user', 'timemodified', $user->timemodified, array('id'=>$user->id));
events_trigger('user_updated', $user);
}
}
redirect($returnurl);
}
// create the user filter form
@@ -152,7 +185,7 @@
$users = get_users_listing($sort, $dir, $page*$perpage, $perpage, '', '', '',
$extrasql, $params, $context);
$usercount = get_users(false);
$usersearchcount = get_users(false, '', true, null, "", '', '', '', '', '*', $extrasql, $params);
$usersearchcount = get_users(false, '', false, null, "", '', '', '', '', '*', $extrasql, $params);
if ($extrasql !== '') {
echo $OUTPUT->heading("$usersearchcount / $usercount ".get_string('users'));
@@ -163,7 +196,7 @@
$strall = get_string('all');
$baseurl = new moodle_url('user.php', array('sort' => $sort, 'dir' => $dir, 'perpage' => $perpage));
$baseurl = new moodle_url('/admin/user.php', array('sort' => $sort, 'dir' => $dir, 'perpage' => $perpage));
echo $OUTPUT->paging_bar($usercount, $page, $perpage, $baseurl);
flush();
@@ -225,9 +258,7 @@
$table->align[] = 'left';
$table->head[] = $lastaccess;
$table->align[] = 'left';
$table->head[] = "";
$table->align[] = 'center';
$table->head[] = "";
$table->head[] = get_string('edit');
$table->align[] = 'center';
$table->head[] = "";
$table->align[] = 'center';
@@ -238,52 +269,65 @@
continue; // do not display guest here
}
if ($user->id == $USER->id or is_siteadmin($user)) {
$deletebutton = "";
} else {
if (has_capability('moodle/user:delete', $sitecontext)) {
$deletebutton = "<a href=\"user.php?delete=$user->id&amp;sesskey=".sesskey()."\">$strdelete</a>";
$buttons = array();
$lastcolumn = '';
// delete button
if (has_capability('moodle/user:delete', $sitecontext)) {
if (is_mnet_remote_user($user) or $user->id == $USER->id or is_siteadmin($user)) {
// no deleting of self, mnet accounts or admins allowed
} else {
$deletebutton ="";
$buttons[] = html_writer::link(new moodle_url($returnurl, array('delete'=>$user->id, 'sesskey'=>sesskey())), html_writer::empty_tag('img', array('src'=>$OUTPUT->pix_url('t/delete'), 'alt'=>$strdelete, 'class'=>'iconsmall')), array('title'=>$strdelete));
}
}
if (has_capability('moodle/user:update', $sitecontext) and (is_siteadmin($USER) or !is_siteadmin($user)) and !is_mnet_remote_user($user)) {
$editbutton = "<a href=\"$securewwwroot/user/editadvanced.php?id=$user->id&amp;course=$site->id\">$stredit</a>";
if ($user->confirmed == 0) {
$confirmbutton = "<a href=\"user.php?confirmuser=$user->id&amp;sesskey=".sesskey()."\">" . get_string('confirm') . "</a>";
// suspend button
if (has_capability('moodle/user:update', $sitecontext)) {
if (is_mnet_remote_user($user)) {
// mnet users have special access control, they can not be deleted the standard way or suspended
$accessctrl = 'allow';
if ($acl = $DB->get_record('mnet_sso_access_control', array('username'=>$user->username, 'mnet_host_id'=>$user->mnethostid))) {
$accessctrl = $acl->accessctrl;
}
$changeaccessto = ($accessctrl == 'deny' ? 'allow' : 'deny');
$buttons[] = " (<a href=\"?acl={$user->id}&amp;accessctrl=$changeaccessto&amp;sesskey=".sesskey()."\">".get_string($changeaccessto, 'mnet') . " access</a>)";
} else {
$confirmbutton = "";
}
} else {
$editbutton ="";
if ($user->confirmed == 0) {
$confirmbutton = "<span class=\"dimmed_text\">".get_string('confirm')."</span>";
} else {
$confirmbutton = "";
if ($user->suspended) {
$buttons[] = html_writer::link(new moodle_url($returnurl, array('unsuspend'=>$user->id, 'sesskey'=>sesskey())), html_writer::empty_tag('img', array('src'=>$OUTPUT->pix_url('t/show'), 'alt'=>$strunsuspend, 'class'=>'iconsmall')), array('title'=>$strunsuspend));
} else {
if ($user->id == $USER->id or is_siteadmin($user)) {
// no suspending of admins or self!
} else {
$buttons[] = html_writer::link(new moodle_url($returnurl, array('suspend'=>$user->id, 'sesskey'=>sesskey())), html_writer::empty_tag('img', array('src'=>$OUTPUT->pix_url('t/hide'), 'alt'=>$strsuspend, 'class'=>'iconsmall')), array('title'=>$strsuspend));
}
}
}
}
// for remote users, shuffle columns around and display MNET stuff
// edit button
if (has_capability('moodle/user:update', $sitecontext)) {
// prevent editing of admins by non-admins
if (is_siteadmin($USER) or !is_siteadmin($user)) {
$buttons[] = html_writer::link(new moodle_url($securewwwroot.'/user/editadvanced.php', array('id'=>$user->id, 'course'=>$site->id)), html_writer::empty_tag('img', array('src'=>$OUTPUT->pix_url('t/edit'), 'alt'=>$stredit, 'class'=>'iconsmall')), array('title'=>$stredit));
}
}
// the last column - confirm or mnet info
if (is_mnet_remote_user($user)) {
$accessctrl = 'allow';
if ($acl = $DB->get_record('mnet_sso_access_control', array('username'=>$user->username, 'mnet_host_id'=>$user->mnethostid))) {
$accessctrl = $acl->accessctrl;
}
$changeaccessto = ($accessctrl == 'deny' ? 'allow' : 'deny');
// delete button in confirm column - remote users should already be confirmed
// TODO: no delete for remote users, for now. new userid, delete flag, unique on username/host...
$confirmbutton = "";
// ACL in delete column
$deletebutton = get_string($accessctrl, 'mnet');
if (has_capability('moodle/user:delete', $sitecontext)) {
// TODO: this should be under a separate capability
$deletebutton .= " (<a href=\"?acl={$user->id}&amp;accessctrl=$changeaccessto&amp;sesskey=".sesskey()."\">"
. get_string($changeaccessto, 'mnet') . " access</a>)";
}
// mnet info in edit column
// all mnet users are confirmed, let's print just the name of the host there
if (isset($mnethosts[$user->mnethostid])) {
$editbutton = $mnethosts[$user->mnethostid]->name;
$lastcolumn = get_string($accessctrl, 'mnet').': '.$mnethosts[$user->mnethostid]->name;
} else {
$lastcolumn = get_string($accessctrl, 'mnet');
}
} else if ($user->confirmed == 0) {
if (has_capability('moodle/user:update', $sitecontext)) {
$lastcolumn = html_writer::link(new moodle_url($returnurl, array('confirmuser'=>$user->id, 'sesskey'=>sesskey())), $strconfirm);
} else {
$lastcolumn = "<span class=\"dimmed_text\">".get_string('confirm')."</span>";
}
}
@@ -302,9 +346,13 @@
$row[] = $user->city;
$row[] = $user->country;
$row[] = $strlastaccess;
$row[] = $editbutton;
$row[] = $deletebutton;
$row[] = $confirmbutton;
if ($user->suspended) {
foreach ($row as $k=>$v) {
$row[$k] = html_writer::tag('span', $v, array('class'=>'usersuspended'));
}
}
$row[] = implode(' ', $buttons);
$row[] = $lastcolumn;
$table->data[] = $row;
}
}
+62 -13
View File
@@ -63,6 +63,7 @@ class external_service_form extends moodleform {
$mform->addElement('text', 'name', get_string('name'));
$mform->addRule('name', get_string('required'), 'required', null, 'client');
$mform->setType('name', PARAM_TEXT);
$mform->addElement('advcheckbox', 'enabled', get_string('enabled', 'webservice'));
$mform->addElement('advcheckbox', 'restrictedusers',
get_string('restrictedusers', 'webservice'));
@@ -112,7 +113,7 @@ class external_service_form extends moodleform {
$mform->setType('id', PARAM_INT);
if (!empty($service->id)) {
$buttonlabel = get_string('editaservice', 'webservice');
$buttonlabel = get_string('savechanges');
} else {
$buttonlabel = get_string('addaservice', 'webservice');
}
@@ -160,7 +161,7 @@ class external_service_functions_form extends moodleform {
$functions[$functionid] = $function->name . ':' . $function->description;
}
$mform->addElement('searchableselector', 'fid', get_string('name'),
$mform->addElement('searchableselector', 'fids', get_string('name'),
$functions, array('multiple'));
$mform->addElement('hidden', 'id');
@@ -179,7 +180,7 @@ class external_service_functions_form extends moodleform {
class web_service_token_form extends moodleform {
function definition() {
global $USER, $DB;
global $USER, $DB, $CFG;
$mform = $this->_form;
$data = $this->_customdata;
@@ -187,16 +188,28 @@ class web_service_token_form extends moodleform {
$mform->addElement('header', 'token', get_string('token', 'webservice'));
if (empty($data->nouserselection)) {
//user searchable selector - get all users (admin and guest included)
$sql = "SELECT u.id, u.firstname, u.lastname
FROM {user} u
ORDER BY u.lastname";
$users = $DB->get_records_sql($sql, array());
$options = array();
foreach ($users as $userid => $user) {
$options[$userid] = $user->firstname . " " . $user->lastname;
//check if the number of user is reasonable to be displayed in a select box
$usertotal = $DB->count_records('user',
array('deleted' => 0, 'suspended' => 0, 'confirmed' => 1));
if ($usertotal < 500) {
//user searchable selector - get all users (admin and guest included)
//user must be confirmed, not deleted, not suspended, not guest
$sql = "SELECT u.id, u.firstname, u.lastname
FROM {user} u
WHERE u.deleted = 0 AND u.confirmed = 1 AND u.suspended = 0 AND u.id != ?
ORDER BY u.lastname";
$users = $DB->get_records_sql($sql, array($CFG->siteguest));
$options = array();
foreach ($users as $userid => $user) {
$options[$userid] = $user->firstname . " " . $user->lastname;
}
$mform->addElement('searchableselector', 'user', get_string('user'), $options);
} else {
//simple text box for username or user id (if two username exists, a form error is displayed)
$mform->addElement('text', 'user', get_string('usernameorid', 'webservice'));
}
$mform->addElement('searchableselector', 'user', get_string('user'), $options);
$mform->addRule('user', get_string('required'), 'required', null, 'client');
}
@@ -230,8 +243,44 @@ class web_service_token_form extends moodleform {
$this->set_data($data);
}
function validation($data, $files) {
function get_data() {
global $DB;
$data = parent::get_data();
if (!empty($data) && !is_numeric($data->user)) {
//retrieve username
$user = $DB->get_record('user', array('username' => $data->user), 'id');
$data->user = $user->id;
}
return $data;
}
function validation(&$data, $files) {
global $DB;
$errors = parent::validation($data, $files);
if (is_numeric($data['user'])) {
$searchtype = 'id';
} else {
$searchtype = 'username';
//check the username is valid
if (clean_param($data['user'], PARAM_USERNAME) != $data['user']) {
$errors['user'] = get_string('invalidusername');
}
}
if (!isset($errors['user'])) {
$users = $DB->get_records('user', array($searchtype => $data['user']), '', 'id');
//check that the user exists in the database
if (count($users) == 0) {
$errors['user'] = get_string('usernameoridnousererror', 'webservice');
} else if (count($users) > 1) { //can only be a username search as id are unique
$errors['user'] = get_string('usernameoridoccurenceerror', 'webservice');
}
}
return $errors;
}
+2 -2
View File
@@ -36,7 +36,7 @@ $confirm = optional_param('confirm', 0, PARAM_BOOL);
admin_externalpage_setup('externalservicefunctions');
//define nav bar
$PAGE->set_url('/' . $CFG->admin . '/websevice/service_functions.php', array('id' => $serviceid));
$PAGE->set_url('/' . $CFG->admin . '/webservice/service_functions.php', array('id' => $serviceid));
$node = $PAGE->settingsnav->find('externalservices', navigation_node::TYPE_SETTING);
if ($node) {
$node->make_active();
@@ -67,7 +67,7 @@ switch ($action) {
//add the function to the service then redirect to function list page
if ($data = $mform->get_data()) {
ignore_user_abort(true); // no interruption here!
foreach ($data->fid as $fid) {
foreach ($data->fids as $fid) {
$function = $webservicemanager->get_external_function_by_id(
$fid, MUST_EXIST);
// make sure the function is not there yet
+1 -1
View File
@@ -98,7 +98,7 @@ $usersmissingcaps = $webservicemanager->get_missing_capabilities_by_users($allow
//add the missing capabilities to the allowed users object to be displayed by renderer
foreach ($allowedusers as &$alloweduser) {
if (!is_siteadmin($alloweduser->id) and key_exists($alloweduser->id, $usersmissingcaps)) {
$alloweduser->missingcapabilities = implode(',', $usersmissingcaps[$alloweduser->id]);
$alloweduser->missingcapabilities = implode(', ', $usersmissingcaps[$alloweduser->id]);
}
}
+6
View File
@@ -71,6 +71,12 @@ switch ($action) {
}
}
//check if the user is deleted. unconfirmed, suspended or guest
$user = $DB->get_record('user', array('id' => $data->user));
if ($user->id == $CFG->siteguest or $user->deleted or !$user->confirmed or $user->suspended) {
throw new moodle_exception('forbiddenwsuser', 'webservice');
}
//process the creation
if (empty($errormsg)) {
//TODO improvement: either move this function from externallib.php to webservice/lib.php
+2 -2
View File
@@ -1,11 +1,11 @@
<div class="loginbox clearfix">
<div class="loginpanel">
<div>
<a href="<?php echo $CFG->wwwroot.'/login/index.php?authCAS=CAS';?>"><?php print_string('accesCAS', 'auth_cas');?></a>
<a href="<?php echo get_login_url() . '?authCAS=CAS';?>"><?php print_string('accesCAS', 'auth_cas');?></a>
</div>
<br/>
<div>
<a href="<?php echo $CFG->wwwroot.'/login/index.php?authCAS=NOCAS';?>"><?php print_string('accesNOCAS', 'auth_cas');?></a>
<a href="<?php echo get_login_url() . '?authCAS=NOCAS';?>"><?php print_string('accesNOCAS', 'auth_cas');?></a>
</div>
</div>
</div>
+8 -8
View File
@@ -30,8 +30,8 @@ $string['auth_cas_baseuri'] = 'URI of the server (nothing if no baseUri)<br />Fo
$string['auth_cas_baseuri_key'] = 'Base URI';
$string['auth_cas_broken_password'] = 'You cannot proceed without changing your password, however there is no available page for changing it. Please contact your Moodle Administrator.';
$string['auth_cas_cantconnect'] = 'LDAP part of CAS-module cannot connect to server: {$a}';
$string['auth_cas_casversion'] = 'Version';
$string['auth_cas_certificate_check'] = 'Turn this to \'yes\' if you want to validate the server certificate';
$string['auth_cas_casversion'] = 'CAS protocol version';
$string['auth_cas_certificate_check'] = 'Select \'yes\' if you want to validate the server certificate';
$string['auth_cas_certificate_path_empty'] = 'If you turn on Server validation, you need to specify a certificate path';
$string['auth_cas_certificate_check_key'] = 'Server validation';
$string['auth_cas_certificate_path'] = 'Path of the CA chain file (PEM Format) to validate the server certificate';
@@ -44,22 +44,22 @@ $string['auth_cas_hostname'] = 'Hostname of the CAS server <br />eg: host.domain
$string['auth_cas_hostname_key'] = 'Hostname';
$string['auth_cas_changepasswordurl'] = 'Password-change URL';
$string['auth_cas_invalidcaslogin'] = 'Sorry, your login has failed - you could not be authorised';
$string['auth_cas_language'] = 'Selected language';
$string['auth_cas_language'] = 'Select language for authentication pages';
$string['auth_cas_language_key'] = 'Language';
$string['auth_cas_logincas'] = 'Secure connection access';
$string['auth_cas_logoutcas'] = 'Turn this to \'yes\' if you want to logout from CAS when you disconnect from Moodle';
$string['auth_cas_logoutcas_key'] = 'Logout CAS';
$string['auth_cas_multiauth'] = 'Turn this to \'yes\' if you want to have multi-authentication (CAS + other authentication)';
$string['auth_cas_logoutcas'] = 'Select \'yes\' if you want to logout from CAS when you disconnect from Moodle';
$string['auth_cas_logoutcas_key'] = 'CAS logout option';
$string['auth_cas_multiauth'] = 'Select \'yes\' if you want to have multi-authentication (CAS + other authentication)';
$string['auth_cas_multiauth_key'] = 'Multi-authentication';
$string['auth_casnotinstalled'] = 'Cannot use CAS authentication. The PHP LDAP module is not installed.';
$string['auth_cas_port'] = 'Port of the CAS server';
$string['auth_cas_port_key'] = 'Port';
$string['auth_cas_proxycas'] = 'Turn this to \'yes\' if you use CASin proxy-mode';
$string['auth_cas_proxycas'] = 'Select \'yes\' if you use CAS in proxy-mode';
$string['auth_cas_proxycas_key'] = 'Proxy mode';
$string['auth_cas_server_settings'] = 'CAS server configuration';
$string['auth_cas_text'] = 'Secure connection';
$string['auth_cas_use_cas'] = 'Use CAS';
$string['auth_cas_version'] = 'Version of CAS';
$string['auth_cas_version'] = 'CAS protocol version to use';
$string['CASform'] = 'Authentication choice';
$string['noldapserver'] = 'No LDAP server configured for CAS! Syncing disabled.';
$string['pluginname'] = 'CAS server (SSO)';
+13 -5
View File
@@ -255,6 +255,7 @@ class auth_plugin_db extends auth_plugin_base {
$updateuser = new stdClass();
$updateuser->id = $user->id;
$updateuser->auth = 'nologin';
$updateuser->timemodified = time();
$DB->update_record('user', $updateuser);
if ($verbose) {
mtrace("\t".get_string('auth_dbsuspenduser', 'auth_db', array('name'=>$user->username, 'id'=>$user->id)));
@@ -352,7 +353,6 @@ class auth_plugin_db extends auth_plugin_base {
// prep a few params
$user->username = $username;
$user->modified = time();
$user->confirmed = 1;
$user->auth = $this->authtype;
$user->mnethostid = $CFG->mnet_localhost_id;
@@ -361,14 +361,17 @@ class auth_plugin_db extends auth_plugin_base {
}
// maybe the user has been deleted before
if ($old_user = $DB->get_record('user', array('username'=>$user->username, 'deleted'=>1, 'mnethostid'=>$user->mnethostid))) {
$user->id = $old_user->id;
$DB->set_field('user', 'deleted', 0, array('username'=>$user->username));
if ($old_user = $DB->get_record('user', array('username'=>$user->username, 'deleted'=>1, 'mnethostid'=>$user->mnethostid, 'auth'=>$user->auth))) {
// note: this undeleting is deprecated and will be eliminated soon
$DB->set_field('user', 'deleted', 0, array('id'=>$old_user->id));
$DB->set_field('user', 'timemodified', time(), array('id'=>$old_user->id));
if ($verbose) {
mtrace("\t".get_string('auth_dbreviveduser', 'auth_db', array('name'=>$user->username, 'id'=>$user->id)));
mtrace("\t".get_string('auth_dbreviveduser', 'auth_db', array('name'=>$old_user->username, 'id'=>$old_user->id)));
}
} else {
$user->timecreated = time();
$user->timemodified = $user->timecreated;
$id = $DB->insert_record ('user', $user); // it is truly a new user
if ($verbose) {
mtrace("\t".get_string('auth_dbinsertuser', 'auth_db', array('name'=>$user->username, 'id'=>$id)));
@@ -477,6 +480,7 @@ class auth_plugin_db extends auth_plugin_base {
// Ensure userid is not overwritten
$userid = $user->id;
$updated = false;
if ($newinfo = $this->get_userinfo($username)) {
$newinfo = truncate_userinfo($newinfo);
@@ -495,10 +499,14 @@ class auth_plugin_db extends auth_plugin_base {
if (!empty($this->config->{'field_updatelocal_' . $key})) {
if (isset($user->{$key}) and $user->{$key} != $value) { // only update if it's changed
$DB->set_field('user', $key, $value, array('id'=>$userid));
$updated = true;
}
}
}
}
if ($updated) {
$DB->set_field('user', 'timemodified', time(), array('id'=>$userid));
}
return $DB->get_record('user', array('id'=>$userid, 'deleted'=>0));
}
+1 -1
View File
@@ -57,7 +57,7 @@ $string['auth_dbsybasequoting'] = 'Use sybase quotes';
$string['auth_dbsybasequotinghelp'] = 'Sybase style single quote escaping - needed for Oracle, MS SQL and some other databases. Do not use for MySQL!';
$string['auth_dbtable'] = 'Name of the table in the database';
$string['auth_dbtable_key'] = 'Table';
$string['auth_dbtype'] = 'The database type (See the <a href="../lib/adodb/readme.htm#drivers">ADOdb documentation</a> for details)';
$string['auth_dbtype'] = 'The database type (See the <a href="http://phplens.com/adodb/supported.databases.html" target="_blank">ADOdb documentation</a> for details)';
$string['auth_dbtype_key'] = 'Database';
$string['auth_dbupdatinguser'] = 'Updating user {$a->name} id {$a->id}';
$string['auth_dbuser'] = 'Username with read access to the database';
+1 -1
View File
@@ -520,7 +520,7 @@ $yesno = array(get_string('no'), get_string('yes'));
<?php echo html_writer::select($yesno, 'ntlmsso_ie_fastpath', $config->ntlmsso_ie_fastpath, false); ?>
</td>
<td>
<?php print_string('auth_ntlmsso_ie_fastpath', 'auth_ldap') ?>
<?php print_string('auth_ntlmsso_ie_fastpath', 'auth_ldap') ?>
</td>
</tr>
<tr valign="top">
+3
View File
@@ -48,5 +48,8 @@ function xmldb_auth_manual_upgrade($oldversion) {
// Moodle v2.1.0 release upgrade line
// Put any upgrade step following this
// Moodle v2.2.0 release upgrade line
// Put any upgrade step following this
return true;
}
+3
View File
@@ -46,5 +46,8 @@ function xmldb_auth_mnet_upgrade($oldversion) {
// Moodle v2.1.0 release upgrade line
// Put any upgrade step following this
// Moodle v2.2.0 release upgrade line
// Put any upgrade step following this
return true;
}
+5 -5
View File
@@ -278,8 +278,8 @@ just before the <MetadataProvider> element.
--
<Notify
Channel="back"
Location="https://#YOUR_MOODLE_HOSTNAME#/moodle/auth/shibboleth/logout.php" />
Channel="back"
Location="https://#YOUR_MOODLE_HOSTNAME#/moodle/auth/shibboleth/logout.php" />
--
Then restart the Shibboleth daemon and check the log file for errors. If there
@@ -300,9 +300,9 @@ Requirements:
--
<Directory /path/to/moodle/auth/shibboleth/logout.php>
AuthType shibboleth
ShibRequireSession Off
require shibboleth
AuthType shibboleth
ShibRequireSession Off
require shibboleth
</Directory>
--
When using IIS, the same can be achieved by something like:
+4 -4
View File
@@ -42,12 +42,12 @@ $PAGE->https_required();
set_saml_cookie($selectedIdP);
// Redirect to SessionInitiator with entityID as argument
if (isset($IdPs[$selectedIdP][1]) && !empty($IdPs[$selectedIdP][1])){
if (isset($IdPs[$selectedIdP][1]) && !empty($IdPs[$selectedIdP][1])) {
// For Shibbolet 1.x Service Providers
header('Location: '.$IdPs[$selectedIdP][1].'?providerId='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
header('Location: '.$IdPs[$selectedIdP][1].'?providerId='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
// For Shibbolet 2.x Service Providers
// header('Location: '.$IdPs[$selectedIdP][1].'?entityID='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
// For Shibbolet 2.x Service Providers
// header('Location: '.$IdPs[$selectedIdP][1].'?entityID='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
} else {
// For Shibbolet 1.x Service Providers
+22
View File
@@ -177,6 +177,28 @@ class cc112moodle extends cc2moodle {
return $result . $blti_mod;
}
/**
* (non-PHPdoc)
* @see cc2moodle::get_module_visible()
*/
protected function get_module_visible($identifier) {
//Should item be hidden or not
$mod_visible = 1;
if (!empty($identifier)) {
$xpath = static::newx_path(static::$manifest, static::$namespaces);
$query = '/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $identifier . '"]';
$query .= '//lom:intendedEndUserRole/lom:value';
$intendeduserrole = $xpath->query($query);
if (!empty($intendeduserrole) && ($intendeduserrole->length > 0)) {
$role = trim($intendeduserrole->item(0)->nodeValue);
if ((strcasecmp('Instructor', $role) === 0) || (strcasecmp('Mentor', $role) === 0)) {
$mod_visible = 0;
}
}
}
return $mod_visible;
}
protected function create_node_course_modules_mod () {
$labels = new cc_label();
$resources = new cc11_resource();
+29 -3
View File
@@ -379,7 +379,7 @@ class cc2moodle {
if (!empty($CFG->defaultblocks)) {
$blocknames = $CFG->defaultblocks;
} else {
$blocknames = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
$blocknames = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
}
}
@@ -426,6 +426,30 @@ class cc2moodle {
}
/**
*
* Is activity visible or not
* @param string $identifier
* @return number
*/
protected function get_module_visible($identifier) {
//Should item be hidden or not
$mod_visible = 1;
if (!empty($identifier)) {
$xpath = static::newx_path(static::$manifest, static::$namespaces);
$query = '/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $identifier . '"]';
$query .= '//lom:intendedEndUserRole/voc:vocabulary/lom:value';
$intendeduserrole = $xpath->query($query);
if (!empty($intendeduserrole) && ($intendeduserrole->length > 0)) {
$role = trim($intendeduserrole->item(0)->nodeValue);
if (strcasecmp('Instructor', $role) == 0) {
$mod_visible = 0;
}
}
}
return $mod_visible;
}
protected function create_node_course_sections_section_mods_mod ($root_parent) {
$sheet_course_sections_section_mods_mod = static::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD);
@@ -459,13 +483,15 @@ class cc2moodle {
'[#mod_instance_id#]',
'[#mod_type#]',
'[#date_now#]',
'[#mod_indent#]');
'[#mod_indent#]',
'[#mod_visible#]');
$replace_values = array($child['index'],
$child['instance'],
$child['moodle_type'],
time(),
$indent);
$indent,
$this->get_module_visible($child['resource_indentifier']));
$node_course_sections_section_mods_mod .= str_replace($find_tags, $replace_values, $sheet_course_sections_section_mods_mod);
}
+1
View File
@@ -39,4 +39,5 @@ require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_converter_url.php');
require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_converter_resource.php');
require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_converter_quiz.php');
require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_converter_page.php');
require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_converter_label.php');
require_once($CFG->dirroot .'/backup/cc/cc_lib/cc_convert_moodle2.php');
+41 -6
View File
@@ -1,4 +1,25 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package backup-convert
* @copyright 2011 Darko Miletic <dmiletic@moodlerooms.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
require_once 'cc_utils.php';
require_once 'cc_general.php';
@@ -1800,7 +1821,7 @@ class assesment1_resurce_file extends general_cc_file {
}
public function set_title($value) {
$this->assessment_title = $value;
$this->assessment_title = self::safexml($value);
}
protected function on_save() {
@@ -2059,6 +2080,11 @@ class cc_assesment_question_proc_base {
public function on_generate_metadata() {
if (empty($this->qmetadata)) {
$this->qmetadata = new cc_question_metadata($this->qtype);
//Get weighting value
$weighting_value = (int)$this->questions->nodeValue('defaultmark', $this->question_node);
if ($weighting_value > 1) {
$this->qmetadata->set_weighting($weighting_value);
}
$rts = new cc_assesment_itemmetadata();
$rts->add_metadata($this->qmetadata);
$this->qitem->set_itemmetadata($rts);
@@ -2142,12 +2168,21 @@ class cc_assesment_question_multichoice extends cc_assesment_question_proc_base
parent::__construct($quiz, $questions, $manifest, $section, $question_node, $rootpath, $contextid, $outdir);
$this->qtype = cc_qti_profiletype::multiple_choice;
$correct_grade_value = $this->questions->nodeValue('defaultmark', $this->question_node);
$correct_answer_node = $this->questions->node("plugin_qtype_multichoice_question/answers/answer[fraction={$correct_grade_value}]", $this->question_node);
/**
*
* What is needed is a maximum grade value taken from the answer fraction
* It is supposed to always be between 1 and 0 in decimal representation,
* however that is not always the case so a change in test was needed
* but since we support here one correct answer type
* correct answer would always have to be 1
*/
$correct_answer_node = $this->questions->node("plugin_qtype_multichoice_question/answers/answer[fraction!=0.0000000]", $this->question_node);
if (empty($correct_answer_node)) {
throw new RuntimeException('No correct answer!');
}
$this->correct_answer_node_id = $this->questions->nodeValue('@id', $correct_answer_node);
$maximum_quiz_grade = (int)$this->quiz->nodeValue('/activity/quiz/grade');
$this->total_grade_value = ($maximum_quiz_grade + (int)$correct_grade_value).'.0000000';
$this->total_grade_value = ($maximum_quiz_grade + 1).'.0000000';
}
public function on_generate_answers() {
@@ -2179,7 +2214,7 @@ class cc_assesment_question_multichoice extends cc_assesment_question_proc_base
pkg_resource_dependencies::instance()->add($result[1]);
$answer_ident = $qresponse_label->get_ident();
$feedback_ident = $answer_ident.'_fb';
if ($id) {
if (empty($this->correct_answer_ident) && $id) {
$this->correct_answer_ident = $answer_ident;
}
//add answer specific feedbacks if not empty
+4 -4
View File
@@ -55,10 +55,10 @@ class basicltil1_resurce_file extends general_cc_file {
protected $cartridge_icon = null;
public function set_title($title) {
$this->title = $title;
$this->title = self::safexml($title);
}
public function set_description($description) {
$this->description = $description;
$this->description = self::safexml($description);
}
public function set_launch_url ($url) {
$this->launch_url = $url;
@@ -77,11 +77,11 @@ class basicltil1_resurce_file extends general_cc_file {
$this->vendor = true;
}
public function set_vendor_name ($name) {
$this->vendor_name = $name;
$this->vendor_name = self::safexml($name);
$this->vendor = true;
}
public function set_vendor_description ($desc) {
$this->vendor_description = $desc;
$this->vendor_description = self::safexml($desc);
$this->vendor = true;
}
public function set_vendor_url ($url) {
+10 -1
View File
@@ -80,9 +80,17 @@ abstract class cc_convert_moodle2 {
if ($docp->load($moodle_backup)) {
//sections
$sections = array();
$coursef = new XMLGenericDocument();
$course_file = $dir . DIRECTORY_SEPARATOR .'course' . DIRECTORY_SEPARATOR . 'course.xml';
$coursef->load($course_file);
$numsections = (int)$coursef->nodeValue('/course/numsections');
$section_list = $docp->nodeList('/moodle_backup/information/contents/sections/section');
if (!empty($section_list)) {
$count = 0;
foreach ($section_list as $node) {
if ($count > $numsections) {
break;
}
$sectionid = $docp->nodeValue('sectionid', $node);
$sectiontitle = $docp->nodeValue('title' , $node);
$sectionpath = $docp->nodeValue('directory', $node);
@@ -92,7 +100,7 @@ abstract class cc_convert_moodle2 {
DIRECTORY_SEPARATOR .
$sectionpath .
DIRECTORY_SEPARATOR .
'section.xml';
'section.xml';
if ($secp->load($section_file)) {
$rawvalue = $secp->nodeValue('/section/sequence');
if ($rawvalue != '$@NULL@$') {
@@ -100,6 +108,7 @@ abstract class cc_convert_moodle2 {
}
}
$sections[$sectionid] = array($sectiontitle, $sequence);
$count++;
}
}
//organization title
+39
View File
@@ -0,0 +1,39 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package backup-convert
* @subpackage cc-library
* @copyright 2012 Darko Miletic <dmiletic@moodlerooms.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once 'cc_converters.php';
require_once 'cc_general.php';
class cc_converter_label extends cc_converter {
public function __construct(cc_i_item &$item, cc_i_manifest &$manifest, $rootpath, $path){
$this->defaultfile = 'label.xml';
parent::__construct($item, $manifest, $rootpath, $path);
}
public function convert($outdir) {
$resitem = new cc_item();
$resitem->title = $this->doc->nodeValue('/activity/label/name');
$this->item->add_child_item($resitem);
return true;
}
}
+2 -2
View File
@@ -37,11 +37,11 @@ class forum1_resurce_file extends general_cc_file {
protected $attachments = array();
public function set_title($title) {
$this->title = $title;
$this->title = self::safexml($title);
}
public function set_text($text, $type='text/plain') {
$this->text = $text;
$this->text = self::safexml($text);
$this->text_type = $type;
}
+2 -2
View File
@@ -35,11 +35,11 @@ class page11_resurce_file extends general_cc_file {
}
public function set_title($value) {
$this->title = $value;
$this->title = self::safexml($value);
}
public function set_intro($value) {
$this->intro = htmlspecialchars(strip_tags($value), ENT_COMPAT, 'UTF-8', false);
$this->intro = self::safexml(strip_tags($value));
}
protected function on_create() {
+8 -14
View File
@@ -183,20 +183,14 @@ class cc_resource implements cc_i_resource {
throw new Exception('The file doesnt exist!');
}
//TODO: ver el tema de fpatch con el tema de unix y windows
//$fpathtocheck = $this->adjust_path($manifestroot,$fname);
//!empty($fpathtocheck) &&
if (GetDepFiles($manifestroot, $fname, $this->folder, $this->files)) {
array_unshift($this->files,$folder.$fname);
$this->init_empty_new();
$this->href = $folder.$fname;
$this->identifierref = $folder.$fname;
$this->filename = $fname;
$this->isempty = false;
$this->folder = $folder;
} else {
$this->init_clean();
}
GetDepFiles($manifestroot, $fname, $this->folder, $this->files);
array_unshift($this->files,$folder.$fname);
$this->init_empty_new();
$this->href = $folder.$fname;
$this->identifierref = $folder.$fname;
$this->filename = $fname;
$this->isempty = false;
$this->folder = $folder;
}
public function adjust_path($mroot, $fname) {
+1 -1
View File
@@ -44,7 +44,7 @@ class url1_resurce_file extends general_cc_file {
* @param string $title
*/
public function set_title($title) {
$this->title = htmlentities($title);
$this->title = self::safexml($title);
}
/**
+12
View File
@@ -41,6 +41,18 @@ class XMLGenericDocument {
private $is_html = false;
/**
* @param string $value
* @return string
*/
public static function safexml($value) {
$result = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'),
ENT_NOQUOTES,
'UTF-8',
false);
return $result;
}
function __construct($ch = 'UTF-8',$validatenow=true){
$this->charset = $ch;
$this->documentInit();
+5 -7
View File
@@ -208,9 +208,8 @@ class entities {
if (!empty($files)) {
foreach ($files as $file) {
$source = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $file->nodeValue;
$destination = $destination_folder . DIRECTORY_SEPARATOR . $file->nodeValue;
$source = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $file;
$destination = $destination_folder . DIRECTORY_SEPARATOR . $file;
$destination_directory = dirname($destination);
@@ -251,10 +250,9 @@ class entities {
if (in_array($ext, array('html', 'htm', 'xhtml'))) {
continue;
}
$all_files[] = $file;
$all_files[] = $file->nodeValue;
}
}
unset($files);
}
@@ -264,8 +262,8 @@ class entities {
if (!empty($labels) && ($labels->length > 0)) {
$tname = 'course_files';
$dpath = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $tname;
$fpath = $dpath . DIRECTORY_SEPARATOR . 'folder.gif';
$rfpath = $tname.'/folder.gif';
$rfpath = 'folder.gif';
$fpath = $dpath . DIRECTORY_SEPARATOR . $rfpath;
if (!file_exists($dpath)) {
mkdir($dpath);
+2 -2
View File
@@ -51,7 +51,7 @@ class entities11 extends entities {
if (in_array($ext, array('html', 'htm', 'xhtml'))) {
continue;
}
$all_files[] = $file;
$all_files[] = $file->nodeValue;
}
unset($files);
}
@@ -62,8 +62,8 @@ class entities11 extends entities {
if (!empty($labels) && ($labels->length > 0)) {
$tname = 'course_files';
$dpath = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $tname;
$rfpath = 'folder.gif';
$fpath = $dpath . DIRECTORY_SEPARATOR . 'folder.gif';
$rfpath = $tname.'/folder.gif';
if (!file_exists($dpath)) {
mkdir($dpath);
}
+18
View File
@@ -276,6 +276,7 @@ class cc_quiz extends entities {
'[#question_text#]',
'[#question_type#]',
'[#question_general_feedback#]',
'[#question_defaultgrade#]',
'[#date_now#]',
'[#question_type_nodes#]',
'[#question_stamp#]',
@@ -308,6 +309,7 @@ class cc_quiz extends entities {
self::safexml($question['title']),
$question_moodle_type,
self::safexml($question['feedback']),
$question['defaultgrade'], //default grade
time(),
$question_type_node,
$quiz_stamp,
@@ -368,6 +370,7 @@ class cc_quiz extends entities {
$questions[$question_identifier]['moodle_type'] = $question_type['moodle'];
$questions[$question_identifier]['cc_type'] = $question_type['cc'];
$questions[$question_identifier]['feedback'] = $this->get_general_feedback($assessment, $question_identifier);
$questions[$question_identifier]['defaultgrade'] = $this->get_defaultgrade($assessment, $question_identifier);
$questions[$question_identifier]['answers'] = $this->get_answers($question_identifier, $assessment, $last_answer_id);
}
@@ -395,6 +398,21 @@ class cc_quiz extends entities {
}
}
private function get_defaultgrade($assessment, $question_identifier) {
$result = 1;
$xpath = cc2moodle::newx_path($assessment, cc2moodle::getquizns());
$query = '//xmlns:item[@ident="' . $question_identifier . '"]';
$query .= '//xmlns:qtimetadatafield[xmlns:fieldlabel="cc_weighting"]/xmlns:fieldentry';
$defgrade = $xpath->query($query);
if (!empty($defgrade) && ($defgrade->length > 0)) {
$resp = (int)$defgrade->item(0)->nodeValue;
if ($resp >= 0 && $resp <= 99) {
$result = $resp;
}
}
return $result;
}
private function get_general_feedback ($assessment, $question_identifier) {
$xpath = cc2moodle::newx_path($assessment, cc2moodle::getquizns());
+24 -23
View File
@@ -132,32 +132,33 @@ class cc_resource extends entities {
$cdir = getcwd();
chdir($dirpath);
try {
$doc->loadHTML($mod_alltext);
$xpath = new DOMXPath($doc);
$attributes = array('href', 'src', 'background', 'archive', 'code');
$qtemplate = "//*[@##][not(contains(@##,'://'))]/@##";
$query = '';
foreach ($attributes as $attrname) {
if (!empty($query)) {
$query .= " | ";
if (!empty($mod_alltext) && $doc->loadHTML($mod_alltext)) {
$xpath = new DOMXPath($doc);
$attributes = array('href', 'src', 'background', 'archive', 'code');
$qtemplate = "//*[@##][not(contains(@##,'://'))]/@##";
$query = '';
foreach ($attributes as $attrname) {
if (!empty($query)) {
$query .= " | ";
}
$query .= str_replace('##', $attrname, $qtemplate);
}
$query .= str_replace('##', $attrname, $qtemplate);
}
$list = $xpath->query($query);
$searches = array();
$replaces = array();
foreach ($list as $resrc) {
$rpath = $resrc->nodeValue;
$rtp = realpath($rpath);
if (($rtp !== false) && is_file($rtp)) {
//file is there - we are in business
$strip = str_replace("\\", "/", str_ireplace($rootpath, '', $rtp));
$encoded_file = '$@FILEPHP@$'.str_replace('/', '$@SLASH@$', $strip);
$searches[] = $resrc->nodeValue;
$replaces[] = $encoded_file;
$list = $xpath->query($query);
$searches = array();
$replaces = array();
foreach ($list as $resrc) {
$rpath = $resrc->nodeValue;
$rtp = realpath($rpath);
if (($rtp !== false) && is_file($rtp)) {
//file is there - we are in business
$strip = str_replace("\\", "/", str_ireplace($rootpath, '', $rtp));
$encoded_file = '$@FILEPHP@$'.str_replace('/', '$@SLASH@$', $strip);
$searches[] = $resrc->nodeValue;
$replaces[] = $encoded_file;
}
}
$mod_alltext = str_replace($searches, $replaces, $mod_alltext);
}
$mod_alltext = str_replace($searches, $replaces, $mod_alltext);
} catch (Exception $e) {
//silence the complaints
}
+18
View File
@@ -276,6 +276,7 @@ class cc11_quiz extends entities11 {
'[#question_text#]',
'[#question_type#]',
'[#question_general_feedback#]',
'[#question_defaultgrade#]',
'[#date_now#]',
'[#question_type_nodes#]',
'[#question_stamp#]',
@@ -308,6 +309,7 @@ class cc11_quiz extends entities11 {
self::safexml($question['title']),
$question_moodle_type,
self::safexml($question['feedback']),
$question['defaultgrade'],
time(),
$question_type_node,
$quiz_stamp,
@@ -368,6 +370,7 @@ class cc11_quiz extends entities11 {
$questions[$question_identifier]['moodle_type'] = $question_type['moodle'];
$questions[$question_identifier]['cc_type'] = $question_type['cc'];
$questions[$question_identifier]['feedback'] = $this->get_general_feedback($assessment, $question_identifier);
$questions[$question_identifier]['defaultgrade'] = $this->get_defaultgrade($assessment, $question_identifier);
$questions[$question_identifier]['answers'] = $this->get_answers($question_identifier, $assessment, $last_answer_id);
}
@@ -395,6 +398,21 @@ class cc11_quiz extends entities11 {
}
}
private function get_defaultgrade($assessment, $question_identifier) {
$result = 1;
$xpath = cc2moodle::newx_path($assessment, cc2moodle::getquizns());
$query = '//xmlns:item[@ident="' . $question_identifier . '"]';
$query .= '//xmlns:qtimetadatafield[xmlns:fieldlabel="cc_weighting"]/xmlns:fieldentry';
$defgrade = $xpath->query($query);
if (!empty($defgrade) && ($defgrade->length > 0)) {
$resp = (int)$defgrade->item(0)->nodeValue;
if ($resp >= 0 && $resp <= 99) {
$result = $resp;
}
}
return $result;
}
private function get_general_feedback ($assessment, $question_identifier) {
$xpath = cc112moodle::newx_path($assessment, cc112moodle::getquizns());
@@ -6,7 +6,7 @@
<QUESTIONTEXTFORMAT>1</QUESTIONTEXTFORMAT>
<IMAGE></IMAGE>
<GENERALFEEDBACK>[#question_general_feedback#]</GENERALFEEDBACK>
<DEFAULTGRADE>1</DEFAULTGRADE>
<DEFAULTGRADE>[#question_defaultgrade#]</DEFAULTGRADE>
<PENALTY>0</PENALTY>
<QTYPE>[#question_type#]</QTYPE>
<LENGTH>1</LENGTH>
@@ -5,7 +5,7 @@
<ADDED>[#date_now#]</ADDED>
<SCORE>0</SCORE>
<INDENT>[#mod_indent#]</INDENT>
<VISIBLE>1</VISIBLE>
<VISIBLE>[#mod_visible#]</VISIBLE>
<GROUPMODE>0</GROUPMODE>
<GROUPINGID>0</GROUPINGID>
<GROUPMEMBERSONLY>0</GROUPMEMBERSONLY>
+29 -8
View File
@@ -170,17 +170,22 @@ class backup_controller extends backup implements loggable {
}
public function set_status($status) {
$this->log('setting controller status to', backup::LOG_DEBUG, $status);
// TODO: Check it's a correct status
$this->status = $status;
// Ensure that, once set to backup::STATUS_AWAITING, controller is stored in DB
// Note: never save_controller() after STATUS_EXECUTING or the whole controller,
// Note: never save_controller() with the object info after STATUS_EXECUTING or the whole controller,
// containing all the steps will be sent to DB. 100% (monster) useless.
$this->log('setting controller status to', backup::LOG_DEBUG, $status);
// TODO: Check it's a correct status.
$this->status = $status;
// Ensure that, once set to backup::STATUS_AWAITING, controller is stored in DB.
if ($status == backup::STATUS_AWAITING) {
$this->save_controller();
$tbc = self::load_controller($this->backupid);
$this->logger = $tbc->logger; // wakeup loggers
$tbc->destroy(); // Clean temp controller structures
} else if ($status == backup::STATUS_FINISHED_OK) {
// If the operation has ended without error (backup::STATUS_FINISHED_OK)
// proceed by cleaning the object from database. MDL-29262.
$this->save_controller(false, true);
}
}
@@ -293,6 +298,14 @@ class backup_controller extends backup implements loggable {
// 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);
// If this is not a course backup, inform the plan we are not
// including all the activities for sure. This will affect any
// task/step executed conditionally to stop including information
// for section and activity backup. MDL-28180.
if ($this->get_type() !== backup::TYPE_1COURSE) {
$this->log('notifying plan about excluded activities by type', backup::LOG_DEBUG);
$this->plan->set_excluding_activities();
}
return $this->plan->execute();
}
@@ -304,12 +317,20 @@ class backup_controller extends backup implements loggable {
backup_helper::log($message, $level, $a, $depth, $display, $this->logger);
}
public function save_controller() {
/**
* Save controller information
*
* @param bool $includeobj to decide if the object itself must be updated (true) or no (false)
* @param bool $cleanobj to decide if the object itself must be cleaned (true) or no (false)
*/
public function save_controller($includeobj = true, $cleanobj = false) {
// Going to save controller to persistent storage, calculate checksum for later checks and save it
// TODO: flag the controller as NA. Any operation on it should be forbidden util loaded back
$this->log('saving controller to db', backup::LOG_DEBUG);
$this->checksum = $this->calculate_checksum();
backup_controller_dbops::save_controller($this, $this->checksum);
if ($includeobj ) { // Only calculate checksum if we are going to include the object.
$this->checksum = $this->calculate_checksum();
}
backup_controller_dbops::save_controller($this, $this->checksum, $includeobj, $cleanobj);
}
public static function load_controller($backupid) {
+29 -8
View File
@@ -166,17 +166,22 @@ class restore_controller extends backup implements loggable {
}
public function set_status($status) {
$this->log('setting controller status to', backup::LOG_DEBUG, $status);
// TODO: Check it's a correct status
$this->status = $status;
// Ensure that, once set to backup::STATUS_AWAITING | STATUS_NEED_PRECHECK, controller is stored in DB
// Note: never save_controller() after STATUS_EXECUTING or the whole controller,
// Note: never save_controller() with the object info after STATUS_EXECUTING or the whole controller,
// containing all the steps will be sent to DB. 100% (monster) useless.
$this->log('setting controller status to', backup::LOG_DEBUG, $status);
// TODO: Check it's a correct status.
$this->status = $status;
// Ensure that, once set to backup::STATUS_AWAITING | STATUS_NEED_PRECHECK, controller is stored in DB.
if ($status == backup::STATUS_AWAITING || $status == backup::STATUS_NEED_PRECHECK) {
$this->save_controller();
$tbc = self::load_controller($this->restoreid);
$this->logger = $tbc->logger; // wakeup loggers
$tbc->destroy(); // Clean temp controller structures
} else if ($status == backup::STATUS_FINISHED_OK) {
// If the operation has ended without error (backup::STATUS_FINISHED_OK)
// proceed by cleaning the object from database. MDL-29262.
$this->save_controller(false, true);
}
}
@@ -299,6 +304,14 @@ class restore_controller extends backup implements loggable {
// 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);
// If this is not a course restore, inform the plan we are not
// including all the activities for sure. This will affect any
// task/step executed conditionally to stop processing information
// for section and activity restore. MDL-28180.
if ($this->get_type() !== backup::TYPE_1COURSE) {
$this->log('notifying plan about excluded activities by type', backup::LOG_DEBUG);
$this->plan->set_excluding_activities();
}
return $this->plan->execute();
}
@@ -355,12 +368,20 @@ class restore_controller extends backup implements loggable {
backup_helper::log($message, $level, $a, $depth, $display, $this->logger);
}
public function save_controller() {
/**
* Save controller information
*
* @param bool $includeobj to decide if the object itself must be updated (true) or no (false)
* @param bool $cleanobj to decide if the object itself must be cleaned (true) or no (false)
*/
public function save_controller($includeobj = true, $cleanobj = false) {
// Going to save controller to persistent storage, calculate checksum for later checks and save it
// TODO: flag the controller as NA. Any operation on it should be forbidden util loaded back
$this->log('saving controller to db', backup::LOG_DEBUG);
$this->checksum = $this->calculate_checksum();
restore_controller_dbops::save_controller($this, $this->checksum);
if ($includeobj ) { // Only calculate checksum if we are going to include the object.
$this->checksum = $this->calculate_checksum();
}
restore_controller_dbops::save_controller($this, $this->checksum, $includeobj, $cleanobj);
}
public static function load_controller($restoreid) {
@@ -161,7 +161,7 @@ class backup_controller_test extends UnitTestCase {
*/
class mock_backup_controller extends backup_controller {
public function save_controller() {
parent::save_controller();
public function save_controller($includeobj = true, $cleanobj = false) {
parent::save_controller($includeobj, $cleanobj);
}
}
+1 -1
View File
@@ -99,7 +99,7 @@ class imscc1_converter extends base_converter {
$manifestdir = dirname($manifest);
$cc2moodle = new cc2moodle($manifest);
if ($cc2moodle->is_auth()) {
throw new imscc1_convert_exception('Protected cartridge content - Skipping import!');
throw new imscc1_convert_exception('protected_cc_not_supported');
}
$status = $cc2moodle->generate_moodle_xml();
//Final cleanup
+1 -1
View File
@@ -99,7 +99,7 @@ class imscc11_converter extends base_converter {
$manifestdir = dirname($manifest);
$cc112moodle = new cc112moodle($manifest);
if ($cc112moodle->is_auth()) {
throw new imscc11_convert_exception('Protected cartridge content - Skipping import!');
throw new imscc11_convert_exception('protected_cc_not_supported');
}
$status = $cc112moodle->generate_moodle_xml();
//Final cleanup
+2 -1
View File
@@ -345,6 +345,8 @@ class moodle1_root_handler extends moodle1_xml_handler {
// {@see backup_general_helper::backup_is_samesite()}
if (isset($backupinfo['original_site_identifier_hash'])) {
$this->xmlwriter->full_tag('original_site_identifier_hash', $backupinfo['original_site_identifier_hash']);
} else {
$this->xmlwriter->full_tag('original_site_identifier_hash', null);
}
$this->xmlwriter->full_tag('original_course_id', $originalcourseinfo['original_course_id']);
$this->xmlwriter->full_tag('original_course_fullname', $originalcourseinfo['original_course_fullname']);
@@ -439,7 +441,6 @@ class moodle1_root_handler extends moodle1_xml_handler {
'users' => 0, // @todo how to detect this from moodle.xml?
'anonymize' => 0,
'role_assignments' => 0,
'user_files' => 0,
'activities' => 1,
'blocks' => 1,
'filters' => 0,
+1 -1
View File
@@ -8,4 +8,4 @@
require_capability('moodle/backup:backupcourse', get_context_instance(CONTEXT_SYSTEM));
redirect("$CFG->wwwroot/$CFG->admin/report/backups/index.php", '', 'admin', 1);
redirect("$CFG->wwwroot/report/backups/index.php", '', 'admin', 1);
@@ -142,6 +142,11 @@ abstract class backup_activity_task extends backup_task {
$this->add_step(new backup_activity_logs_structure_step('activity_logs', 'logs.xml'));
}
// Generate the calendar events file (conditionally)
if ($this->get_setting_value('calendarevents')) {
$this->add_step(new backup_calendarevents_structure_step('activity_calendar', 'calendar.xml'));
}
// Fetch all the activity grade items and put them to backup_ids
$this->add_step(new backup_activity_grade_items_to_ids('fetch_activity_grade_items'));
@@ -103,6 +103,11 @@ class backup_course_task extends backup_task {
$this->add_step(new backup_comments_structure_step('course_comments', 'comments.xml'));
}
// Generate the calender events file (conditionally)
if ($this->get_setting_value('calendarevents')) {
$this->add_step(new backup_calendarevents_structure_step('course_calendar', 'calendar.xml'));
}
// Generate the logs file (conditionally)
if ($this->get_setting_value('logs')) {
$this->add_step(new backup_course_logs_structure_step('course_logs', 'logs.xml'));
+1 -1
View File
@@ -59,7 +59,7 @@ class backup_final_task extends backup_task {
// done in a single pass
$this->add_step(new backup_annotate_all_question_files('question_files'));
// Annotate all the user files (conditionally) (private, profile and icon files)
// Annotate all the user files (conditionally) (profile and icon files)
// Because each user has its own context, we need a separate/specialised step here
// This step also ensures that the contexts for all the users exist, so next
// step can be safely executed (join between users and contexts)
+16 -5
View File
@@ -123,12 +123,23 @@ abstract class backup_plan_builder {
// Add the activity task, responsible for outputting
// all the module related information
$plan->add_task(backup_factory::get_backup_activity_task($controller->get_format(), $id));
try {
$plan->add_task(backup_factory::get_backup_activity_task($controller->get_format(), $id));
// For the given activity, add as many block tasks as necessary
$blockids = backup_plan_dbops::get_blockids_from_moduleid($id);
foreach ($blockids as $blockid) {
$plan->add_task(backup_factory::get_backup_block_task($controller->get_format(), $blockid, $id));
// For the given activity, add as many block tasks as necessary
$blockids = backup_plan_dbops::get_blockids_from_moduleid($id);
foreach ($blockids as $blockid) {
try {
$plan->add_task(backup_factory::get_backup_block_task($controller->get_format(), $blockid, $id));
} catch (backup_task_exception $e) {
$a = stdClass();
$a->mid = $id;
$a->bid = $blockid;
$controller->log(get_string('error_block_for_module_not_found', 'backup', $a), backup::LOG_WARNING);
}
}
} catch (backup_task_exception $e) {
$controller->log(get_string('error_course_module_not_found', 'backup', $id), backup::LOG_WARNING);
}
}
+6 -7
View File
@@ -91,13 +91,6 @@ class backup_root_task extends backup_task {
$this->add_setting($roleassignments);
$users->add_dependency($roleassignments);
// Define user_files (dependent of users and anonymize)
$userfiles = new backup_user_files_setting('user_files', base_setting::IS_BOOLEAN, true);
$userfiles->set_ui(new backup_setting_ui_checkbox($userfiles, get_string('rootsettinguserfiles', 'backup')));
$this->add_setting($userfiles);
$users->add_dependency($userfiles);
$anonymize->add_dependency($userfiles, setting_dependency::DISABLED_TRUE);
// Define activities
$activities = new backup_activities_setting('activities', base_setting::IS_BOOLEAN, true);
$activities->set_ui(new backup_setting_ui_checkbox($activities, get_string('rootsettingactivities', 'backup')));
@@ -121,6 +114,12 @@ class backup_root_task extends backup_task {
$this->add_setting($comments);
$users->add_dependency($comments);
// Define calendar events (dependent of users)
$events = new backup_calendarevents_setting('calendarevents', base_setting::IS_BOOLEAN, true);
$events->set_ui(new backup_setting_ui_checkbox($events, get_string('rootsettingcalendarevents', 'backup')));
$this->add_setting($events);
$users->add_dependency($events);
// Define completion (dependent of users)
$completion = new backup_userscompletion_setting('userscompletion', base_setting::IS_BOOLEAN, true);
$completion->set_ui(new backup_setting_ui_checkbox($completion, get_string('rootsettinguserscompletion', 'backup')));
+7 -7
View File
@@ -68,13 +68,6 @@ class backup_activities_setting extends backup_generic_setting {}
*/
class backup_anonymize_setting extends root_backup_setting {}
/**
* root setting to control if backup will include
* user files or no (images, local storage), depends of @backup_users_setting
* exactly in the same way than @backup_anonymize_setting so we extend from it
*/
class backup_user_files_setting extends backup_anonymize_setting {}
/**
* root setting to control if backup will include
* role assignments or no (any level), depends of @backup_users_setting
@@ -96,6 +89,13 @@ class backup_logs_setting extends backup_anonymize_setting {}
*/
class backup_comments_setting extends backup_anonymize_setting {}
/**
* root setting to control if backup will include
* calender events or no (any level), depends of @backup_users_setting
* exactly in the same way than @backup_anonymize_setting so we extend from it
*/
class backup_calendarevents_setting extends backup_anonymize_setting {}
/**
* root setting to control if backup will include
* users completion data or no (any level), depends of @backup_users_setting
+42 -4
View File
@@ -767,6 +767,48 @@ class backup_comments_structure_step extends backup_structure_step {
}
}
/**
* structure step in charge of constructing the calender.xml file for all the events found
* in a given context
*/
class backup_calendarevents_structure_step extends backup_structure_step {
protected function define_structure() {
// Define each element separated
$events = new backup_nested_element('events');
$event = new backup_nested_element('event', array('id'), array(
'name', 'description', 'format', 'courseid', 'groupid', 'userid',
'repeatid', 'modulename', 'instance', 'eventtype', 'timestart',
'timeduration', 'visible', 'uuid', 'sequence', 'timemodified'));
// Build the tree
$events->add_child($event);
// Define sources
if ($this->name == 'course_calendar') {
$calendar_items_sql ="SELECT * FROM {event}
WHERE courseid = :courseid
AND (eventtype = 'course' OR eventtype = 'group')";
$calendar_items_params = array('courseid'=>backup::VAR_COURSEID);
$event->set_source_sql($calendar_items_sql, $calendar_items_params);
} else {
$event->set_source_table('event', array('courseid' => backup::VAR_COURSEID, 'instance' => backup::VAR_ACTIVITYID, 'modulename' => backup::VAR_MODNAME));
}
// Define id annotations
$event->annotate_ids('user', 'userid');
$event->annotate_ids('group', 'groupid');
$event->annotate_files('calendar', 'event_description', 'id');
// Return the root element (events)
return $events;
}
}
/**
* structure step in charge of constructing the gradebook.xml file for all the gradebook config in the course
* NOTE: the backup of the grade items themselves is handled by backup_activity_grades_structure_step
@@ -1761,10 +1803,6 @@ class backup_annotate_all_user_files extends backup_execution_step {
// List of fileareas we are going to annotate
$fileareas = array('profile', 'icon');
if ($this->get_setting_value('user_files')) { // private files only if enabled in settings
$fileareas[] = 'private';
}
// Fetch all annotated (final) users
$rs = $DB->get_recordset('backup_ids_temp', array(
'backupid' => $this->get_backupid(), 'itemname' => 'userfinal'));
@@ -147,6 +147,11 @@ abstract class restore_activity_task extends restore_task {
$this->add_step(new restore_comments_structure_step('activity_comments', 'comments.xml'));
}
// Calendar events (conditionally)
if ($this->get_setting_value('calendarevents')) {
$this->add_step(new restore_calendarevents_structure_step('activity_calendar', 'calendar.xml'));
}
// Grades (module-related, rest of gradebook is restored later if possible: cats, calculations...)
$this->add_step(new restore_activity_grades_structure_step('activity_grades', 'grades.xml'));
@@ -84,6 +84,11 @@ class restore_course_task extends restore_task {
$this->add_step(new restore_comments_structure_step('course_comments', 'comments.xml'));
}
// Calendar events (conditionally)
if ($this->get_setting_value('calendarevents')) {
$this->add_step(new restore_calendarevents_structure_step('course_calendar', 'calendar.xml'));
}
// At the end, mark it as built
$this->built = true;
}
+5 -2
View File
@@ -55,8 +55,11 @@ class restore_final_task extends restore_task {
$this->add_step(new restore_gradebook_structure_step('gradebook_step','gradebook.xml'));
}
// Course completion
$this->add_step(new restore_course_completion_structure_step('course_completion', 'completion.xml'));
// Course completion, executed conditionally if restoring to new course
if ($this->get_target() !== backup::TARGET_CURRENT_ADDING &&
$this->get_target() !== backup::TARGET_EXISTING_ADDING) {
$this->add_step(new restore_course_completion_structure_step('course_completion', 'completion.xml'));
}
// Review all the module_availability records in backup_ids in order
// to match them with existing modules / grade items.
+13 -13
View File
@@ -121,19 +121,6 @@ class restore_root_task extends restore_task {
$this->add_setting($roleassignments);
$users->add_dependency($roleassignments);
// Define user_files (dependent of users)
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['user_files']) && $rootsettings['user_files']) { // Only enabled when available
$defaultvalue = true;
$changeable = true;
}
$userfiles = new restore_user_files_setting('user_files', base_setting::IS_BOOLEAN, $defaultvalue);
$userfiles->set_ui(new backup_setting_ui_checkbox($userfiles, get_string('rootsettinguserfiles', 'backup')));
$userfiles->get_ui()->set_changeable($changeable);
$this->add_setting($userfiles);
$users->add_dependency($userfiles);
// Define activitites
$defaultvalue = false; // Safer default
$changeable = false;
@@ -183,6 +170,19 @@ class restore_root_task extends restore_task {
$this->add_setting($comments);
$users->add_dependency($comments);
// Define Calendar events (dependent of users)
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['calendarevents']) && $rootsettings['calendarevents']) { // Only enabled when available
$defaultvalue = true;
$changeable = true;
}
$events = new restore_calendarevents_setting('calendarevents', base_setting::IS_BOOLEAN, $defaultvalue);
$events->set_ui(new backup_setting_ui_checkbox($events, get_string('rootsettingcalendarevents', 'backup')));
$events->get_ui()->set_changeable($changeable);
$this->add_setting($events);
$users->add_dependency($events);
// Define completion (dependent of users)
$defaultvalue = false; // Safer default
$changeable = false;
@@ -71,11 +71,9 @@ class restore_section_task extends restore_task {
// Define the task contextid (the course one)
$this->contextid = get_context_instance(CONTEXT_COURSE, $this->get_courseid())->id;
// Executed conditionally if restoring to new course or deleting or if overwrite_conf setting is enabled
if ($this->get_target() == backup::TARGET_NEW_COURSE || $this->get_target() == backup::TARGET_CURRENT_DELETING ||
$this->get_target() == backup::TARGET_EXISTING_DELETING || $this->get_setting_value('overwrite_conf') == true) {
$this->add_step(new restore_section_structure_step('course_info', 'section.xml'));
}
// We always try to restore as much info from sections as possible, no matter of the type
// of restore (new, existing, deleting, import...). MDL-27764
$this->add_step(new restore_section_structure_step('course_info', 'section.xml'));
// At the end, mark it as built
$this->built = true;
+7 -7
View File
@@ -44,13 +44,6 @@ class restore_users_setting extends restore_generic_setting {}
*/
class restore_role_assignments_setting extends root_backup_setting {}
/**
* root setting to control if restore will create
* user files or no (images, local storage), depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_user_files_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create activities
* A lot of other settings (_included at activity levels)
@@ -65,6 +58,13 @@ class restore_activities_setting extends restore_generic_setting {}
*/
class restore_comments_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create
* events or no, depends of @restore_users_setting
* exactly in the same way than @restore_role_assignments_setting so we extend from it
*/
class restore_calendarevents_setting extends restore_role_assignments_setting {}
/**
* root setting to control if restore will create
* completion info or no, depends of @restore_users_setting
+108 -32
View File
@@ -371,40 +371,35 @@ class restore_gradebook_structure_step extends restore_structure_step {
}
$rs->close();
//need to correct the grade category path and parent
// Need to correct the grade category path and parent
$conditions = array(
'courseid' => $this->get_courseid()
);
$grade_category = new stdclass();
$rs = $DB->get_recordset('grade_categories', $conditions);
if (!empty($rs)) {
//get all the parents correct first as grade_category::build_path() loads category parents from the DB
foreach($rs as $gc) {
if (!empty($gc->parent)) {
$grade_category->id = $gc->id;
$grade_category->parent = $this->get_mappingid('grade_category', $gc->parent);
$DB->update_record('grade_categories', $grade_category);
}
}
}
if (isset($grade_category->parent)) {
unset($grade_category->parent);
}
$rs->close();
$rs = $DB->get_recordset('grade_categories', $conditions);
if (!empty($rs)) {
//now we can rebuild all the paths
foreach($rs as $gc) {
// Get all the parents correct first as grade_category::build_path() loads category parents from the DB
foreach ($rs as $gc) {
if (!empty($gc->parent)) {
$grade_category = new stdClass();
$grade_category->id = $gc->id;
$grade_category->path = grade_category::build_path($gc);
$grade_category->parent = $this->get_mappingid('grade_category', $gc->parent);
$DB->update_record('grade_categories', $grade_category);
}
}
$rs->close();
//Restore marks items as needing update. Update everything now.
// Now we can rebuild all the paths
$rs = $DB->get_recordset('grade_categories', $conditions);
foreach ($rs as $gc) {
$grade_category = new stdClass();
$grade_category->id = $gc->id;
$grade_category->path = grade_category::build_path($gc);
$grade_category->depth = substr_count($grade_category->path, '/') - 1;
$DB->update_record('grade_categories', $grade_category);
}
$rs->close();
// Restore marks items as needing update. Update everything now.
grade_regrade_final_grades($this->get_courseid());
}
}
@@ -688,7 +683,7 @@ class restore_create_included_users extends restore_execution_step {
protected function define_execution() {
restore_dbops::create_included_users($this->get_basepath(), $this->get_restoreid(), $this->get_setting_value('user_files'), $this->task->get_userid());
restore_dbops::create_included_users($this->get_basepath(), $this->get_restoreid(), $this->task->get_userid());
}
}
@@ -1129,6 +1124,12 @@ class restore_course_structure_step extends restore_structure_step {
unset($data->idnumber);
}
// Any empty value for course->hiddensections will lead to 0 (default, show collapsed).
// It has been reported that some old 1.9 courses may have it null leading to DB error. MDL-31532
if (empty($data->hiddensections)) {
$data->hiddensections = 0;
}
// Only restrict modules if original course was and target site too for new courses
$data->restrictmodules = $data->restrictmodules && !empty($CFG->restrictmodulesfor) && $CFG->restrictmodulesfor == 'all';
@@ -1565,6 +1566,76 @@ class restore_comments_structure_step extends restore_structure_step {
}
}
/**
* This structure steps restores the calendar events
*/
class restore_calendarevents_structure_step extends restore_structure_step {
protected function define_structure() {
$paths = array();
$paths[] = new restore_path_element('calendarevents', '/events/event');
return $paths;
}
public function process_calendarevents($data) {
global $DB;
$data = (object)$data;
$oldid = $data->id;
$restorefiles = true; // We'll restore the files
// Find the userid and the groupid associated with the event. Return if not found.
$data->userid = $this->get_mappingid('user', $data->userid);
if ($data->userid === false) {
return;
}
if (!empty($data->groupid)) {
$data->groupid = $this->get_mappingid('group', $data->groupid);
if ($data->groupid === false) {
return;
}
}
$params = array(
'name' => $data->name,
'description' => $data->description,
'format' => $data->format,
'courseid' => $this->get_courseid(),
'groupid' => $data->groupid,
'userid' => $data->userid,
'repeatid' => $data->repeatid,
'modulename' => $data->modulename,
'eventtype' => $data->eventtype,
'timestart' => $this->apply_date_offset($data->timestart),
'timeduration' => $data->timeduration,
'visible' => $data->visible,
'uuid' => $data->uuid,
'sequence' => $data->sequence,
'timemodified' => $this->apply_date_offset($data->timemodified));
if ($this->name == 'activity_calendar') {
$params['instance'] = $this->task->get_activityid();
} else {
$params['instance'] = 0;
}
$sql = 'SELECT id FROM {event} WHERE name = ? AND courseid = ? AND
repeatid = ? AND modulename = ? AND timestart = ? AND timeduration =?
AND ' . $DB->sql_compare_text('description', 255) . ' = ' . $DB->sql_compare_text('?', 255);
$arg = array ($params['name'], $params['courseid'], $params['repeatid'], $params['modulename'], $params['timestart'], $params['timeduration'], $params['description']);
$result = $DB->record_exists_sql($sql, $arg);
if (empty($result)) {
$newitemid = $DB->insert_record('event', $params);
$this->set_mapping('event_description', $oldid, $newitemid, $restorefiles);
}
}
protected function after_execute() {
// Add related files
$this->add_related_files('calendar', 'event_description', 'event_description');
}
}
class restore_course_completion_structure_step extends restore_structure_step {
/**
@@ -1805,15 +1876,20 @@ class restore_course_completion_structure_step extends restore_structure_step {
$data->course = $this->get_courseid();
$params = array(
'course' => $data->course,
'criteriatype' => $data->criteriatype,
'method' => $data->method,
'value' => $data->value,
);
$DB->insert_record('course_completion_aggr_methd', $params);
// Only create the course_completion_aggr_methd records if
// the target course has not them defined. MDL-28180
if (!$DB->record_exists('course_completion_aggr_methd', array(
'course' => $data->course,
'criteriatype' => $data->criteriatype))) {
$params = array(
'course' => $data->course,
'criteriatype' => $data->criteriatype,
'method' => $data->method,
'value' => $data->value,
);
$DB->insert_record('course_completion_aggr_methd', $params);
}
}
}

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