Compare commits

..

575 Commits

Author SHA1 Message Date
Sam Hemelryk c4f6df5a1a Moodle 2.0.10 release 2012-07-06 11:29:45 +12:00
Sam Hemelryk 8d1423bf46 weekly release 2.0.9+ 2012-07-06 10:09:15 +12:00
Sam Hemelryk 453e17a159 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-07-06 09:47:50 +12:00
AMOS bot 41ed41908a Automatically generated installer lang files 2012-07-05 00:31:24 +00:00
AMOS bot 34ea5d0249 Automatically generated installer lang files 2012-07-04 00:32:10 +00:00
sam marshall 70bc0513df MDL-33466: Group restriction should hide activity even with 'show availability' option
This is a modified version of fix by Luke Tucker at NetSpot - thanks.
2012-07-04 09:39:08 +12:00
AMOS bot 6326180bc4 Automatically generated installer lang files 2012-07-03 00:31:41 +00:00
Aparup Banerjee 5aba6e506d MDL-23254 Authentication : used httpswwwroot as root url during authentication procedure where $PAGE->https_required() is specified.
Conflicts:

	auth/shibboleth/login.php
2012-07-03 09:44:43 +12:00
Dan Poltawski bf4980480a Merge branch 'w27_MDL-34045_m20_idnumber' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-07-02 16:36:01 +08:00
Sam Hemelryk ba22fd2f1b Merge branch 'MDL-33932_20' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2012-07-02 14:31:11 +12:00
Sam Hemelryk b7ab2a33f9 Merge branch 'MDL-33627_20' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2012-07-02 14:05:25 +12:00
Eloy Lafuente (stronk7) c84541467c weekly release 2.0.9+ 2012-07-02 00:50:37 +02:00
Petr Škoda 0735b8b5e2 MDL-34045 fix invalid idnumber field type in cohort form 2012-06-30 07:52:59 +02:00
AMOS bot 600b0a6153 Automatically generated installer lang files 2012-06-28 00:31:39 +00:00
AMOS bot 35693a4c67 Automatically generated installer lang files 2012-06-26 00:31:48 +00:00
AMOS bot 335ded3169 Merge branch 'MOODLE_20_STABLE' into install_20_STABLE 2012-06-26 00:31:48 +00:00
Andreas Grabs 4e5c38b864 MDL-33932_20 - added array_unique() 2012-06-25 21:53:06 +02:00
Andreas Grabs 5d6b483d1b MDL-33627 - feedback block now show all feedbacks 2012-06-25 21:53:02 +02:00
Dan Poltawski 1c84aa80cc Merge branch 'MDL-33984_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2012-06-25 21:58:34 +08:00
Eloy Lafuente (stronk7) 02a78e34e9 MDL-33984 mysql: take rid of old unicode & mysql 4.1 message on error. 2012-06-25 15:50:43 +02:00
Dan Poltawski c2eaf6e2c1 Merge branch 'MDL-33984_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2012-06-25 18:47:28 +08:00
Eloy Lafuente (stronk7) c8eaf3a606 MDL-33984 mysql - raise min version to 5.1.33.
Because of http://bugs.mysql.com/bug.php?id=42758 and other benefits.
2012-06-25 12:35:41 +02:00
AMOS bot 3c487457e5 Automatically generated installer lang files 2012-06-25 00:31:55 +00:00
Eloy Lafuente (stronk7) 2b8387bd1e Merge branch 'w25_MDL-33733_m20_unzipstorage' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-06-25 01:30:29 +02:00
Eloy Lafuente (stronk7) 1b8d5cf1a3 weekly release 2.0.9+ 2012-06-24 18:33:31 +02:00
Eloy Lafuente (stronk7) b506964761 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-06-24 18:29:30 +02:00
AMOS bot 426dd99f8d Automatically generated installer lang files 2012-06-22 00:31:35 +00:00
Sam Hemelryk 42fe1f5e07 Merge branch 'MDL-27675_20' of git://github.com/grabs/moodle into MOODLE_20_STABLE 2012-06-21 11:38:45 +12:00
AMOS bot 944a250663 Automatically generated installer lang files 2012-06-20 00:31:29 +00:00
Dan Poltawski 8e78a8143f MDL-33808 - format title on the repository instance screen 2012-06-19 12:09:48 +08:00
Dan Poltawski 18d81b3c79 MDL-33808 - incorrect cleaning of repository names 2012-06-19 11:28:34 +08:00
AMOS bot 7863f71ae7 Automatically generated installer lang files 2012-06-19 00:31:28 +00:00
Petr Skoda c2c10bb222 MDL-33733 fix broken zip_packer->extract_to_storage() when extracting from stored_file 2012-06-17 23:02:12 +02:00
AMOS bot d152957e3c Automatically generated installer lang files 2012-06-16 00:31:44 +00:00
Eloy Lafuente (stronk7) 4a6ddf7882 weekly release 2.0.9+ 2012-06-15 20:26:47 +02:00
Eloy Lafuente (stronk7) 31cd679990 weekly release 2.0.9+ 2012-06-12 02:58:36 +02:00
Eloy Lafuente (stronk7) b9043a5d7b Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-06-12 02:55:52 +02:00
Petr Skoda 9f012f8968 MDL-33583 really keep all automated backup files when told to do so 2012-06-07 11:07:34 +02:00
Andreas Grabs 85bc8378bb MDL-27675 - Feedback module abuses data_submitted 2012-06-06 23:15:06 +02:00
AMOS bot 078c5f62ad Automatically generated installer lang files 2012-06-06 00:31:39 +00:00
AMOS bot b8b5f4f0cc Automatically generated installer lang files 2012-06-02 00:31:45 +00:00
Eloy Lafuente (stronk7) 7f459d6015 weekly release 2.0.9+ 2012-06-01 09:47:09 +02:00
Eloy Lafuente (stronk7) f1cdf71eb6 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-06-01 09:43:54 +02:00
Sam Hemelryk b88311824f Revert "MDL-27675 - Feedback module abuses data_submitted"
This reverts commit 0efa998340.
2012-05-30 16:37:58 +12:00
AMOS bot ad25762b7f Automatically generated installer lang files 2012-05-30 00:31:31 +00:00
Sam Hemelryk 4b80f54a02 MDL-27675 mod_feedback: Tidy up of phpdocs and scope within feedback mod
Conflicts:

	mod/feedback/item/feedback_item_class.php
	mod/feedback/item/label/lib.php
	mod/feedback/item/multichoice/lib.php
2012-05-28 13:42:41 +12:00
Andreas Grabs 7a7287ef28 MDL-27675 - Feedback module abuses data_submitted 2012-05-28 00:28:19 +02:00
Andreas Grabs 0efa998340 MDL-27675 - Feedback module abuses data_submitted 2012-05-28 00:28:18 +02:00
Eloy Lafuente (stronk7) f12f0b3a87 weekly release 2.0.9+ 2012-05-25 12:48:42 +02:00
AMOS bot 67079752ef Automatically generated installer lang files 2012-05-25 00:31:34 +00:00
AMOS bot 6bbe47031b Automatically generated installer lang files 2012-05-24 00:31:54 +00:00
Eloy Lafuente (stronk7) 1a39706377 weekly release 2.0.9+ 2012-05-19 12:21:47 +02:00
Eloy Lafuente (stronk7) 5356317a41 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-05-19 12:17:59 +02:00
Adrian Greeve 5af958a918 MDL-32126 replaced _order with sortorder to make sorting work in oracle 2012-05-18 11:26:20 +02:00
AMOS bot 58580498fb Automatically generated installer lang files 2012-05-18 00:32:00 +00:00
AMOS bot 7f48f85547 Automatically generated installer lang files 2012-05-16 00:31:45 +00:00
Adrian Greeve efdf99dbee MDL-32126 - data - backport of advanced search re-write
Conflicts:

	mod/data/lib.php
2012-05-14 13:25:39 +12:00
Eloy Lafuente (stronk7) 3b6675ef8c Moodle release 2.0.9 2012-05-12 03:22:04 +02:00
Petr Skoda 83eeba2692 MDL-31558 add missing mimetype to send_temp_file()
backported from master
2012-05-11 22:05:35 +02:00
Eloy Lafuente (stronk7) 1ec1c9d9af weekly release 2.0.8+ 2012-05-11 12:16:03 +02:00
Eloy Lafuente (stronk7) dcbe6a30ff Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-05-11 12:11:11 +02:00
AMOS bot 29de085aec Automatically generated installer lang files 2012-05-10 00:31:53 +00:00
Eloy Lafuente (stronk7) 1194a6b485 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-05-09 19:33:02 +02:00
Frederic Massart 00b339ce3c MDL-32718 Fixed typo in column name 2012-05-08 15:55:55 +08:00
Dan Poltawski 7f8e21310b Merge branch 'w19_MDL-31691_m20_cohortidnumber' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-05-08 12:40:52 +08:00
Dan Poltawski d4359bed48 Merge branch 'MDL-32718-sql-typo_20' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2012-05-08 12:36:17 +08:00
AMOS bot 5dfa747163 Automatically generated installer lang files 2012-05-08 00:31:53 +00:00
David Mudrak 44fd4487d6 MDL-32718 fixing an SQL typo in workshop_get_recent_mod_activity() 2012-05-07 10:06:32 +02:00
Dan Poltawski 29cbfe7838 Merge branch 'MDL-18335_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2012-05-07 15:32:46 +08:00
Petr Skoda eb9d996576 MDL-31691 treat cohort idnumbers as plain text 2012-05-06 21:39:09 +02:00
Eloy Lafuente (stronk7) 2d06cfc163 weekly release 2.0.8+ 2012-05-04 13:13:32 +02:00
AMOS bot 2023684b2a Automatically generated installer lang files 2012-05-03 00:31:39 +00:00
Rossiani Wijaya 406db74fe8 MDL-18335 calendar event: fixed role capability checking to create new event 2012-04-30 17:27:34 +08:00
Eloy Lafuente (stronk7) 3978e0570e weekly release 2.0.8+ 2012-04-27 12:49:33 +02:00
AMOS bot 9e22735765 Automatically generated installer lang files 2012-04-25 00:31:46 +00:00
AMOS bot 620274a38b Automatically generated installer lang files 2012-04-20 00:32:38 +00:00
Dan Poltawski 26e3a274ff weekly release 2.0.8+ 2012-04-19 17:50:41 +08:00
Dan Poltawski 2ffdfadb8c Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-04-19 17:40:11 +08:00
AMOS bot a9c2245574 Automatically generated installer lang files 2012-04-17 00:32:00 +00:00
Jerome Mouneyrac e9e0dac4b7 MDL-31694 Fix XSS security issue with service name accepting javascript 2012-04-16 14:28:03 +08:00
AMOS bot 056463ffe9 Automatically generated installer lang files 2012-04-14 00:32:05 +00:00
Dan Poltawski 760fefa473 weekly release 2.0.8+ 2012-04-12 13:24:45 +08:00
AMOS bot 2d39e161dc Automatically generated installer lang files 2012-04-12 00:31:35 +00:00
Aparup Banerjee 150869ac1f weekly release 2.0.8+ 2012-04-05 16:46:40 +08:00
Aparup Banerjee 3c666bb0cf Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-04-05 16:20:13 +08:00
Sam Hemelryk aea6ab88da MDL-32018 mod_wiki: Fixed up whitespace after peer-review 2012-04-03 10:46:50 +12:00
Sam Hemelryk 3cb30adbad MDL-32018 mod_wiki: Fixed formatting of the page title so that is is consistent and secure 2012-04-03 10:46:32 +12:00
Sam Hemelryk f7ff0f6d17 MDL-32018 mod_wiki: Improved form definitions to ensure they consistent and secure 2012-04-03 10:44:46 +12:00
AMOS bot 5a6d40d28b Automatically generated installer lang files 2012-03-30 00:33:19 +00:00
Eloy Lafuente (stronk7) a280d409ad weekly release 2.0.8+ 2012-03-29 13:22:30 +02:00
AMOS bot 2e2305ed79 Automatically generated installer lang files 2012-03-29 00:31:58 +00:00
Sam Hemelryk 1cd62bf815 weekly release 2.0.8+ 2012-03-23 12:17:43 +13:00
Sam Hemelryk 657db60a99 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-03-23 12:10:14 +13:00
Sam Hemelryk 3a14100d8d Merge branch 'w12_MDL-32071_m20_dbfamily' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-03-20 11:39:33 +13:00
Sam Hemelryk f436d12c60 Merge branch 'w12_MDL-32090_m20_groupui' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-03-19 20:33:23 +13:00
Petr Skoda a3b60b4186 MDL-27553 admin: Fixed override bug 2012-03-19 20:22:02 +13:00
AMOS bot 79537435e0 Automatically generated installer lang files 2012-03-19 00:31:58 +00:00
AMOS bot 1829acb057 Automatically generated installer lang files 2012-03-17 00:31:51 +00:00
Petr Skoda 123d4f1d27 MDL-32090 fix invalid group members url
Credit goes to Jean-Philippe Gaudreau.
2012-03-16 20:13:38 +01:00
Petr Skoda 3b598069b9 MDL-32071 fix incorrect get_dbfamily() call 2012-03-16 10:33:29 +01:00
Petr Skoda be2c20217e MDL-32071 fix fatal problems in experimental forum_usetextsearches 2012-03-16 10:33:23 +01:00
Eloy Lafuente (stronk7) f571d4cd41 weekly release 2.0.8+ 2012-03-15 11:49:21 +01:00
Eloy Lafuente (stronk7) 2151dfa877 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-03-15 11:42:33 +01:00
AMOS bot c6e7d27caf Automatically generated installer lang files 2012-03-15 00:32:00 +00:00
Mary Evans 39ff06cbb5 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 11:01:28 +08:00
Andrew Robert Nicols a892654fbc MDL-31811 Add/Correct checks on activity read-only periods 2012-03-12 15:15:49 +13:00
Andrew Robert Nicols bd10bc353d MDL-31877 Correct get_users exception 2012-03-12 14:57:30 +13:00
Eloy Lafuente (stronk7) 8aa9119cfa Moodle release 2.0.8 2012-03-11 15:57:51 +01:00
Eloy Lafuente (stronk7) 8ef54b14bc Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-03-09 11:57:01 +01:00
AMOS bot 92f1ef65b9 Automatically generated installer lang files 2012-03-09 11:54:25 +01:00
Eloy Lafuente (stronk7) d182f64877 weekly release 2.0.7+ 2012-03-09 11:15:35 +01:00
Eloy Lafuente (stronk7) a0c01a2146 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-03-09 11:04:37 +01:00
Eloy Lafuente (stronk7) f25d9a9f4d Merge branch 'wip-MDL-31248-MOODLE_20_STABLE-v3' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2012-03-09 09:48:25 +01:00
Eloy Lafuente (stronk7) 0e2a80c97b Revert "MDL-31248 - lib - Alteration to the rc4encrypt function to allow for old password use."
This reverts commit 0c9edc985c.
2012-03-09 09:38:59 +01:00
Adrian Greeve 2a7e913ee3 MDL-31248 - lib - Retaining the old password key and creating a new cookie prefix. 2012-03-09 13:48:50 +08:00
Eloy Lafuente (stronk7) f194dcf46a Merge branch 'wip-MDL-31248-MOODLE_20_STABLE-v2' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2012-03-08 02:42:01 +01:00
AMOS bot 6360fe62d3 Automatically generated installer lang files 2012-03-08 00:31:47 +00:00
Adrian Greeve 0c9edc985c MDL-31248 - lib - Alteration to the rc4encrypt function to allow for old password use. 2012-03-08 08:21:16 +08:00
AMOS bot 41b3dbec5b Automatically generated installer lang files 2012-03-07 00:31:54 +00:00
Sam Hemelryk da27633d02 Merge branch 'w10_MDL-31807_m20_cohort' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-03-05 16:55:34 +13:00
Sam Hemelryk c4e4b6adee MDL-31794 theme_formalwhite: Fixed up tabs 2012-03-05 15:29:36 +13:00
Kordan df249cee86 MDL-29367 theme_formalwhite: Lines between RSS and upcoming events 2012-03-05 15:16:19 +13:00
Kordan e96b76e5ee MDL-31786 theme_formalwhite: bigger userid and password fields size in login page 2012-03-05 15:07:52 +13:00
kordan 32db89aa11 MDL-31794 theme_formalwhite: let tab-bar give evidence of the current tab and page 2012-03-05 15:02:09 +13:00
Sam Hemelryk 131e9f7fb9 Merge branch 'MDL-29248_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2012-03-05 13:53:23 +13:00
Kordan 9cd9d4cd24 MDL-29127 theme_formalwhite: highlight for unread forum post 2012-03-05 12:37:03 +13:00
AMOS bot 548485d09f Automatically generated installer lang files 2012-03-04 00:31:57 +00:00
Petr Skoda 2ff7800ae8 MDL-31807 fix invalid nulls in cohort components
Credit goes to Stephen.
2012-03-03 10:57:42 +01:00
Eloy Lafuente (stronk7) fa9c1c5cab MDL-29248 backup: take rid of the setting and code handling the 'private' user filearea
Conflicts:

	backup/converter/moodle1/handlerlib.php
2012-03-01 13:23:08 +01:00
Eloy Lafuente (stronk7) 4846d332dd MDL-29248 backup: delete user_files settings, lang strings and uses
Conflicts:

	version.php
2012-03-01 13:23:02 +01:00
Eloy Lafuente (stronk7) c3e22b17e7 weekly release 2.0.7+ 2012-03-01 11:33:21 +01:00
Eloy Lafuente (stronk7) cb8da175b7 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-03-01 11:26:36 +01:00
AMOS bot a0469ddb43 Automatically generated installer lang files 2012-02-29 00:31:26 +00:00
Aparup Banerjee b7c7260e44 Merge branch 'MDL-30878-MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2012-02-28 15:45:55 +08:00
AMOS bot 5b421fa5e2 Automatically generated installer lang files 2012-02-27 00:31:26 +00:00
Eloy Lafuente (stronk7) 4b294caaac weekly release 2.0.7+ 2012-02-23 11:40:18 +01:00
Eloy Lafuente (stronk7) 4f3b7b7df3 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-02-23 11:35:21 +01:00
AMOS bot d900d4d3e0 Automatically generated installer lang files 2012-02-23 00:31:17 +00:00
AMOS bot c8d4379649 Automatically generated installer lang files 2012-02-22 00:31:23 +00:00
AMOS bot e3ab559f4e Automatically generated installer lang files 2012-02-21 00:31:25 +00:00
Gerard (Gerry) Caulfield 774ad5d6ae 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:55 +08:00
AMOS bot e5817028fb Automatically generated installer lang files 2012-02-20 00:31:27 +00:00
AMOS bot 88b28b7c41 Automatically generated installer lang files 2012-02-18 00:31:37 +00:00
Eloy Lafuente (stronk7) ebcb6e5eff weekly release 2.0.7+ 2012-02-17 01:51:21 +01:00
Eloy Lafuente (stronk7) 85cb510aba Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-02-17 01:44:20 +01:00
AMOS bot 6e0ef17c71 Automatically generated installer lang files 2012-02-17 00:31:22 +00:00
AMOS bot 33927a74b1 Automatically generated installer lang files 2012-02-15 00:31:24 +00:00
Sam Hemelryk 7f68eb8e2c Merge branch '20_MDL-26807_remove_withselectedusers_strings_and_references' of git://github.com/gerrywastaken/moodle into MOODLE_20_STABLE 2012-02-14 15:31:40 +13:00
Sam Hemelryk 9de39056a6 Merge branch '20_MDL-27285_fixing_grammar_on_wiki_links_page' of git://github.com/gerrywastaken/moodle into MOODLE_20_STABLE 2012-02-14 15:27:36 +13:00
Sam Hemelryk 573123929d Merge branch '20_MDL-27654_add_space_to_somefieldrequired_string' of git://github.com/gerrywastaken/moodle into MOODLE_20_STABLE 2012-02-14 15:20:49 +13:00
Sam Hemelryk 3445e85104 Merge branch 'wip-MDL-25185-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2012-02-13 17:34:22 +13:00
Sam Hemelryk 69fd20dc19 Merge branch 'wip-MDL-31463-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2012-02-13 17:02:15 +13:00
Sam Hemelryk 67e79df3e2 Merge branch 'MDL-25883-20' of https://github.com/mackensen/moodle into MOODLE_20_STABLE 2012-02-13 14:35:47 +13:00
Eloy Lafuente (stronk7) 098b24da52 weekly release 2.0.7+ 2012-02-13 01:20:37 +01:00
Gerard (Gerry) Caulfield 50100cb313 MDL-27285 Updating string grammar on the wiki module's links page 2012-02-10 07:58:05 +08:00
Gerard (Gerry) Caulfield 82b2ffaed1 MDL-26807 Updating the withselectedusers_help string 2012-02-10 02:20:55 +08:00
Gerard (Gerry) Caulfield 6dcb3f9a8f MDL-27654 Insert a space into the somefieldrequired string 2012-02-10 01:26:40 +08:00
Adrian Greeve e98e4d41a0 MDL-31463 - navigation - added a context check in the navigation for fullname permission. 2012-02-09 10:03:32 +08:00
Adrian Greeve e6723832fb MDL-25185 - data - Allowing data from the database to be exported according to group roles. 2012-02-09 09:33:23 +08:00
Eloy Lafuente (stronk7) 9ab7b290df weekly release 2.0.7+ 2012-02-02 12:15:14 +01:00
Aparup Banerjee 2b19ed8945 Merge branch 'MDL-26260_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2012-01-30 16:33:09 +08:00
Aparup Banerjee a287c32d73 Merge branch 'MDL-31385_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2012-01-30 12:51:25 +08:00
Jerome Mouneyrac 2e91e1ae9d MDL-30878 core_user_update_users user password is reset if not specified
Conflicts:

	user/lib.php
2012-01-27 15:36:10 +08:00
Fábio Souto b1945c7923 Updated bugfix according to Jerome suggestions
password check is done at lib.php instead of externallib.php

Conflicts:

	user/lib.php

Conflicts:

	user/lib.php
2012-01-27 15:33:57 +08:00
Eloy Lafuente (stronk7) 6e6b7544f0 weekly release 2.0.7+ 2012-01-27 02:25:06 +01:00
Eloy Lafuente (stronk7) b5f59f54da Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-01-27 02:21:21 +01:00
AMOS bot 4f51befe7f Automatically generated installer lang files 2012-01-27 00:31:24 +00:00
Tim Hunt 38f9d1b6b8 MDL-31385 quiz: does not resume previews. 2012-01-26 12:16:27 +00:00
David Mudrak 3e26be86df MDL-27395 Improved detection of the course grade_category on restore
Note this was applied months ago to 21 and master (MDL-28152),
but due to one miss-interpretation by this integrator (stronk7),
I missed to backport it to 20_STABLE where the problem was
also reproducible.

So, here it is, the fix is trivial, safe and proved to work.
2012-01-22 19:36:52 +01:00
Tim Hunt f7e02420da MDL-26260 quiz 'secure' window: close loophole in some themes.
Some themes put padding on body, which meant there were a few pixels
where you could get at the context menu. Oh noes!
2012-01-20 10:47:19 +00:00
AMOS bot d4626cf646 Automatically generated installer lang files 2012-01-20 00:31:32 +00:00
Eloy Lafuente (stronk7) 2d5dc5fbbe weekly release 2.0.7+ 2012-01-19 13:31:55 +01:00
Eloy Lafuente (stronk7) 4c82d2b547 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-01-19 13:29:36 +01:00
AMOS bot 37555d5d01 Automatically generated installer lang files 2012-01-18 00:31:45 +00:00
Eloy Lafuente (stronk7) ca58cd28b0 Merge branch 'w03_MDL-31213_m20_attributesmess' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-01-17 12:38:11 +01:00
Petr Skoda e8848eb612 MDL-31213 fix incorrect modifications of quickforms attributes 2012-01-17 11:22:04 +01:00
AMOS bot 508a8cabfc Automatically generated installer lang files 2012-01-17 00:31:22 +00:00
Charles Fulton 7b39e39632 MDL-25883 correct element name for wiki comments editor 2012-01-15 10:17:00 -08:00
AMOS bot 739e444c39 Automatically generated installer lang files 2012-01-15 00:31:20 +00:00
Jonathon Fowler dcbd731743 MDL-31130 question bank: toggling show all / 20 per page broken. 2012-01-12 12:48:47 +00:00
Eloy Lafuente (stronk7) 15e4b8b2fe weekly release 2.0.7+ 2012-01-12 11:31:21 +01:00
Eloy Lafuente (stronk7) 0364409f8e Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2012-01-12 11:27:33 +01:00
Tim Hunt 8676f75000 MDL-26469 upgrade: cope with modules that do not set $module->cron. 2012-01-11 18:44:22 +01:00
Tim Hunt a1384605c7 MDL-26469 upgrade: module cron setting not updated. 2012-01-11 14:08:56 +00:00
AMOS bot 0acd60f75d Automatically generated installer lang files 2012-01-11 00:31:33 +00:00
Rajesh Taneja dd10768155 Applying: MDL-30452 Repositories: Changed default capability on repos - Thanks Michael
Signed-off-by: Rajesh Taneja <rajesh@moodle.org>
2012-01-10 11:17:30 +01:00
Eloy Lafuente (stronk7) 11e24ca055 Moodle release 2.0.7 2012-01-07 17:07:13 +01:00
Eloy Lafuente (stronk7) b5c2f4d339 weekly release 2.0.6+ 2012-01-05 15:09:03 +01:00
Sam Hemelryk 032d7039fd Merge branch 'w52_MDL-29917_m20_autocomplete' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2012-01-04 10:58:01 +13:00
Petr Skoda 4c519f313f MDL-30950 remove references to removed admin block
Credit goes to Ralf Hilgenstock.
2012-01-03 22:35:39 +01:00
Petr Skoda a4478cd677 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-03 11:08:28 +01:00
Aparup Banerjee 9238b568c5 Merge branch 'wip-mdl-29844-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2012-01-03 12:33:02 +08:00
Eloy Lafuente 4b1634259a MDL-29844 Administration: Added new config for users to login for viewing profile image 2012-01-03 12:12:12 +08:00
Petr Skoda e9d36fd552 MDL-30673 fix login autocompletion protection 2012-01-03 14:11:52 +13:00
Petr Skoda 256f77ef94 MDL-13572 fix incorrect value printing 2012-01-03 11:02:13 +13:00
Petr Skoda fdb2313376 MDL-13572 fix incorrect value printing 2012-01-03 11:02:13 +13:00
Petr Skoda 5a72f96843 MDL-13572 do not send emails to invalid addresses 2012-01-03 11:02:13 +13:00
Andrew Davis 63601aa655 MDL-13572 message: added validation of the email address in the messaging preferences 2012-01-03 11:02:12 +13:00
Eloy Lafuente (stronk7) 464ad0a47e weekly release 2.0.6+ 2011-12-23 03:05:53 +01:00
Eloy Lafuente (stronk7) 8a99b2a116 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-12-23 02:53:35 +01:00
Gerard (Gerry) Caulfield 5697227dd9 MDL-29400 Fixing unset object bug encountered by Rajesh during testing 2011-12-22 09:56:17 +01:00
Aparup Banerjee b23d738cde Merge branch 'wip-MDL-30541-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-12-21 14:19:22 +08:00
Aparup Banerjee b562573aa2 Merge branch 'wip-MDL-30539-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-12-21 13:36:14 +08:00
Sam Hemelryk 3cd88ea638 Merge branch 'MDL-28126_m20' of https://github.com/nebgor/moodle into MOODLE_20_STABLE 2011-12-21 17:19:46 +13:00
Jason Fowler 0b537fd64f MDL-30541 - Blog - Fixing the context for RSS Feed headers on the single blog entry pages 2011-12-21 11:03:39 +08:00
Sam Hemelryk 91af0d8431 Merge branch 'MDL-29239_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-12-21 15:01:14 +13:00
David Mudrak 06f9aecbcf 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-20 23:36:52 +01:00
David Mudrak cac3efc3e2 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-20 23:36:13 +01:00
Gerard (Gerry) Caulfield 183550216e 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:49 +01:00
Aparup Banerjee dcaea2b744 MDL-30603 synced and renamed incorrect ZF 1.10.6 file and name 2011-12-20 19:50:29 +01:00
Mark Nielsen 834bcfa664 MDL-29048 Glossary Force glossary type to secondary while trying to duplicate a mail glossary 2011-12-20 18:57:00 +01:00
Eloy Lafuente (stronk7) 139ce28030 Merge branch 'MDL-30738_20_STABLE' of git://github.com/kiklop74/moodle into MOODLE_20_STABLE 2011-12-20 02:02:14 +01:00
AMOS bot e97f24ea91 Automatically generated installer lang files 2011-12-20 00:31:32 +00:00
Sam Hemelryk 834082292a Merge branch 'MDL-30646_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-20 13:20:38 +13:00
Eloy Lafuente (stronk7) 9f78a33c7b Merge branch 'MDL-30741_m20' of git://github.com/jfilip/moodle into MOODLE_20_STABLE 2011-12-20 00:05:59 +01:00
Sam Hemelryk ffcc16f52a Merge branch 'wip-MDL-28948-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-12-20 10:42:15 +13:00
Mary Evans b337e7be55 MDL-30500 Fix for Sky High report & print layout 2011-12-19 15:23:07 +13:00
AMOS bot 359f84eeac Automatically generated installer lang files 2011-12-18 00:31:29 +00:00
Andrew Davis (andyjdavis) 0958a64834 MDL-28072 coursereport: added a missing require_once() 2011-12-16 12:18:29 +01:00
adrian@moodle.com 43269b8442 MDL-28948 - lib - removed the hard coded key for the rc4encryt function. 2011-12-16 09:19:54 +08:00
AMOS bot 41a535e3e7 Automatically generated installer lang files 2011-12-16 00:31:31 +00:00
Tim Hunt 71b908e52f MDL-30646 default qbank sort should only use visible columns. 2011-12-15 18:41:33 +00:00
Justin Filip c40e59f1c6 MDL-30741 Adding a new test to check for incorrect parsing of complicate HTML with a PRE tag. 2011-12-15 11:12:55 -05:00
Justin Filip 7f3b9f0e31 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:12:52 -05:00
Aparup Banerjee 90f345d02f MDL-28126 webservice : string fixed. 2011-12-15 16:23:18 +08:00
Tim Lock e460b8846d MDL-30419: IMS package content missing when using Blackboard packages 2011-12-14 21:34:47 +01:00
Darko Miletic a4ffe6c993 MDL-30738: added version for 2.0 stable 2011-12-14 14:49:36 -03:00
Jerome Mouneyrac e922d9a90b MDL-28126 webservices : should not able to create token if user is deleted,unconfirmed,suspended or guest. 2011-12-15 00:57:32 +08:00
Eloy Lafuente (stronk7) 2ef91b5b55 Merge branch 'wip-MDL-27767-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-12-14 03:18:20 +01:00
Petr Skoda 7e01298b8f MDL-30610 new environment requirements for 2.3 2011-12-14 02:43:09 +01:00
Sam Hemelryk a3c0ea64af Merge branch 'MDL-30463_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-12-14 14:24:46 +13:00
Tim Hunt ac9ee6a834 MDL-30559 conditional availability: missing validation of grade rules. 2011-12-13 17:30:40 +08:00
Petr Skoda 694bf2fa3b MDL-30575 more mail header cleanup 2011-12-13 10:24:56 +08:00
Jason Fowler 51ea2ffa7e MDL-305439 - BLOG - Adding RSS link to user blogs 2011-12-13 09:46:31 +08:00
Andrew Robert Nicols 6ec9004b69 MDL-30653 Remove duplicate Participants link from navbar 2011-12-13 12:09:21 +13:00
Sam Hemelryk 2a6811bb9d Merge branch 'MDL-30689' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-13 11:26:34 +13:00
Sam Hemelryk b11d9dc595 Merge branch 'MDL-30677_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-13 11:19:36 +13:00
Sam Hemelryk 3a4e0dd4d3 Merge branch 'MDL-30498a_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-13 11:10:52 +13:00
Sam Hemelryk 4a0b3e2a62 Merge branch 'MDL-27143_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-13 10:25:58 +13:00
Rossiani Wijaya 0293b62ebb MDL-30463 lesson module: add space between yes and no options on start last attempt page 2011-12-12 17:12:36 +08:00
Rossiani Wijaya 1b8755325a MDL-29239 fixed edit course setting for moodle/course:changesummary permission is set to prevent. 2011-12-12 15:47:01 +08:00
Sam Hemelryk 1114c49f51 Merge branch 'MDL-28180_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-12-12 14:57:09 +13:00
Andrew Robert Nicols 9a45c1e1f0 MDL-29195 Remove duplicate Participants -> Notes from navbar 2011-12-12 13:51:26 +13:00
Eloy Lafuente (stronk7) 54c5b28e69 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-12 00:44:25 +01:00
Eloy Lafuente (stronk7) cc2a5ff65e MDL-28180 backup - take rid of dupes in course_completion_aggr_methd 2011-12-12 00:43:52 +01:00
Eloy Lafuente (stronk7) 8f86e3a2ad MDL-28180 backup - set excluded activities for any non-course operation 2011-12-12 00:40:31 +01:00
Tim Hunt da1bee2cb9 MDL-30689 qtype base: fix typo in extra_answer_fields code. 2011-12-11 22:15:48 +00:00
AMOS bot 2be846fd31 Automatically generated installer lang files 2011-12-10 00:31:36 +00:00
Tim Hunt 442f0b10ae MDL-30677 quiz: fix attempt counts when a student is in several groups. 2011-12-09 17:30:53 +00:00
Tim Hunt 7ef2840ffa MDL-30498 user name can overlap user report icon. 2011-12-09 17:29:57 +00:00
Tim Hunt 38e32f6ddb MDL-27143 question bank: questions not saved when deleting a category.
Based on a fix by Nikhil Gupta.

Conflicts:

	lib/questionlib.php
2011-12-09 17:29:22 +00:00
Eloy Lafuente (stronk7) bdfd90b105 weekly release 2.0.6+ 2011-12-09 16:29:15 +01:00
Eloy Lafuente (stronk7) 87690ba756 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-12-09 16:20:49 +01:00
Tim Hunt cbda44bca4 MDL-27314 quiz responses report: delete confirmation did not cancel. 2011-12-09 14:24:47 +01:00
Tim Hunt 96cd18c261 MDL-30660 javascript-static: another yui3/ticket/2531561 work-around. 2011-12-09 12:41:57 +01:00
Petr Skoda 2876f41409 MDL-27364 use https for recaptcha when site runs via https
Based on solution by Rajesh Taneja.
2011-12-09 11:11:14 +08:00
Sam Hemelryk c4a91d0670 Merge branch 'MDL-30660' of git://github.com/timhunt/moodle 2011-12-09 11:49:48 +13:00
Eloy Lafuente (stronk7) b07c46d077 Merge branch 'MDL-30658_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-08 19:23:57 +01:00
Tim Hunt 784a6f3132 MDL-30660 javascript-static: M.util.show_confirm_dialog fixes 2011-12-08 17:52:40 +00:00
Tim Hunt 8c70ac0eb6 MDL-30658 formslib: fix JavaScript regression from MDL-27045. 2011-12-08 14:39:00 +00:00
Aparup Banerjee ff6a1ffdbe Merge branch 'wip-MDL-30336-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-12-08 16:22:22 +08:00
Petr Skoda 9217c1aa87 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:40 +13:00
adrian@moodle.com 6c91ae7d99 MDL-30336 - login - Added a setting in security that allows auto complete to be set to off in password fields. 2011-12-08 09:02:03 +08:00
Eloy Lafuente (stronk7) a79d228de6 Merge branch 'wip-MDL-30582-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-12-08 01:37:37 +01:00
Eloy Lafuente (stronk7) 30b29a5cfa Merge branch 'MDL-26522_user_report_menu_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-12-08 01:02:41 +01:00
Eloy Lafuente (stronk7) 2baa09dd5f Merge branch 'MDL-27314_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-12-08 00:45:54 +01:00
Sam Hemelryk 3b1a4a0d55 Merge branch 'MDL-29712-MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-12-08 12:42:20 +13:00
Eloy Lafuente (stronk7) 8f51baa885 Merge branch 'wip-MDL-30222-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-12-08 00:40:33 +01:00
Eloy Lafuente (stronk7) 88ade60cf4 Merge branch 'w50_MDL-30595_m20_regex' of git://github.com/skodak/moodle into MOODLE_20_STABLE 2011-12-08 00:25:18 +01:00
Sam Hemelryk 2316dcf0a8 Merge branch 'm20_MDL-30211' of git://github.com/danmarsden/moodle into MOODLE_20_STABLE 2011-12-08 10:47:59 +13:00
Dan Marsden ea3c021a86 MDL-30536 Choice - remove setType so that validation works when JS is disabled 2011-12-08 10:37:11 +13:00
Andrew Davis ad679f47ac MDL-26522 grade: made the user selection drop down on the user report behave more sensibly 2011-12-07 09:40:26 +08:00
Sam Hemelryk 8eaf6d689b Merge branch 'wip-MDL-19147-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-12-07 14:20:03 +13:00
AMOS bot 7217ca7d93 Automatically generated installer lang files 2011-12-07 00:31:29 +00:00
Petr Skoda 88ec670c50 MDL-30595 workaround for PHP5.2 preg_quote trouble 2011-12-06 14:11:16 +01:00
Sam Hemelryk d183cb5d85 MDL-30582 navigation: Fixed regression in generation of front page modules 2011-12-06 13:34:53 +13:00
Sam Hemelryk 6def225efa MDL-27767 install: Shows notifications rather than throwing exceptions when installation encounters unexpected id for guest or admin 2011-12-06 12:20:56 +13:00
Sam Hemelryk c21932e739 MDL-30222 Fixed home page redirection madness. Thank you Julien Boulen for providing the solution 2011-12-06 12:07:39 +13:00
AMOS bot 6b7fca5e7f Automatically generated installer lang files 2011-12-05 18:36:52 +01:00
Eloy Lafuente (stronk7) 4828564296 weekly release 2.0.6+ 2011-12-05 12:34:29 +01:00
Jerome Mouneyrac dd154420ee MDL-29712server 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-05 14:17:26 +08:00
AMOS bot 85197c3d6c Automatically generated installer lang files 2011-12-05 00:31:08 +00:00
Dan Marsden eba115041c MDL-30211 imsenterprise enrolment - set up default enrolment methods in new courses 2011-12-02 22:47:22 +13:00
Charles Fulton a6da7bde9b MDL-19147 - forum - Removed single discussions from the pull down menu for moving posts to different forums. 2011-12-02 07:45:53 +08:00
Tim Hunt 17d339ea8e MDL-27314 quiz attempts cannot be deleted in separate groups mode. 2011-12-01 16:29:10 +00:00
Eloy Lafuente (stronk7) 28ab88e130 weekly release 2.0.6+ 2011-12-01 12:18:43 +01:00
Eloy Lafuente (stronk7) 4137a8c195 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-12-01 12:04:35 +01:00
Eloy Lafuente (stronk7) 6b04aaad26 Merge branch 'MDL-30544_disable_notifications_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-12-01 10:46:18 +01:00
Andrew Davis 133a23e130 MDL-30544 message: prevented the temporarily disable notifications checkbox from accidently clearing your messaging preferences 2011-12-01 17:10:49 +08:00
Aparup Banerjee 5738c51982 Merge branch 'MDL-30260_backport_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-12-01 11:28:30 +08:00
Sam Hemelryk ebaa82b5da Merge branch 'wip-mdl-30421-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-12-01 15:49:10 +13:00
Sam Hemelryk 0e1cdd9e43 Merge branch 'wip-MDL-30469-MOODLE_20_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_20_STABLE 2011-12-01 15:19:56 +13:00
Rajesh Taneja cfd9db2b8f MDL-30421 forum: resolved error in single discussion forum, if more then one record is present 2011-12-01 09:46:16 +08:00
Sam Hemelryk bca26d231d MDL-30376 mod_glossary: Integration tidy up 2011-12-01 14:30:29 +13:00
Jason Fowler 10c8f7e601 MDL-30376 - Glossary - Fixing ability to see the RSS feed for a glossary 2011-12-01 14:18:23 +13:00
Ruslan Kabalin 24354adc3a MDL-30526 Choice: add form validation rule for numeric field 2011-12-01 12:45:06 +13:00
Sam Hemelryk 088b648ccc Merge branch 'MDL-29730_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-12-01 12:29:57 +13:00
Sam Hemelryk bd87b71c4d Merge branch 'MDL-30453-exassessment-link_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-12-01 12:16:23 +13:00
Sam Hemelryk 6c5ba86e35 Merge branch 'MDL-30271-switch-role-workshop_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-12-01 11:50:24 +13:00
Marina Glancy 57e47cc33a MDL-30214: Added function forum_get_file_info() to fix the bug with choosing recent forum files in filepicker 2011-11-30 15:55:17 +08:00
Aparup Banerjee 10c502480b MDL-27334 : summarised comment about problem.
we have git for history.
2011-11-30 15:19:10 +08:00
Aparup Banerjee fd5cee8ce9 Merge branch 'wip-MDL-27334-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-30 15:19:06 +08:00
Aparup Banerjee 4d49d71f19 MDL-29469 Enrolments : fixed whitespaces 2011-11-30 14:43:46 +08:00
Aparup Banerjee a0380d65e9 Merge branch 'wip-MDL-29469-stable20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-30 14:43:37 +08:00
Aparup Banerjee cf1fa9497d Merge branch 'MDL-30395-MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-11-30 14:13:27 +08:00
Rossiani Wijaya f3052cca98 MDL-29730 Lesson mod: fixed check_answer() for shortanswser with regular expression option enable 2011-11-30 11:17:31 +08:00
Jerome Mouneyrac 471af8c6c7 MDL-30395 display the folder name if the block/module of a backup file is not installed in the site 2011-11-30 10:36:14 +08:00
AMOS bot 8de624b8e1 Automatically generated installer lang files 2011-11-30 00:31:11 +00:00
Sam Hemelryk cebd1bce58 MDL-30485 whitespace fix 2011-11-30 11:56:24 +13:00
Sam Hemelryk de8b419b60 Merge commit 'FETCH_HEAd' into MOODLE_20_STABLE 2011-11-30 11:43:18 +13:00
Sam Hemelryk dc558d2882 Merge branch 'MDL-30287_grader_ajax_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-30 11:37:49 +13:00
Mary Evans c65ce8ed3c MDL-30505 Fix for nested mixed ordered/unordered lists 2011-11-30 11:17:55 +13:00
Eloy Lafuente (stronk7) 027961fcf4 Merge branch 'wip-mdl-30466-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-29 19:50:09 +01:00
Andrew Davis a9767e2d01 MDL-30260 message: added an upgrade.txt to describe changes to the messaging API 2011-11-29 22:08:59 +08:00
Andrew Davis e5a3ba18f4 MDL-30260 messaging: backporting changes to prevent errors if $userto->emailto isn't supplied when sending messages 2011-11-29 22:05:09 +08:00
Jerome Mouneyrac 1785306187 Merge branches 'MOODLE_20_STABLE' and 'MOODLE_20_STABLE' of git://git.moodle.org/moodle into MOODLE_20_STABLE 2011-11-29 16:31:58 +08:00
Andrew Robert Nicols 04b1bdffdb MDL-30302 Adjust options for calendar day settings 2011-11-29 16:59:16 +13:00
Sam Hemelryk aafb430115 MDL-30273 whitespace cleanup 2011-11-29 16:47:57 +13:00
Sam Hemelryk 7231e48c27 Merge branch 'wip-MDL-30273-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-29 16:41:07 +13:00
Mary Evans d8c7d0999c MDL-30471 Fix for nesting unordered list inside ordered list 2011-11-29 16:29:12 +13:00
Eloy Lafuente (stronk7) c42caf06ac Merge branch 'wip-MDL-30378-m20' of git://github.com/samhemelryk/moodle into MOODLE_20_STABLE 2011-11-29 03:18:28 +01:00
Rajesh Taneja d98fbf5108 MDL-30466 Backup: Fixed duplicate completion record check error 2011-11-29 10:07:31 +08:00
AMOS bot 0fef954f39 Automatically generated installer lang files 2011-11-29 00:30:50 +00:00
Sam Hemelryk 7bfc00a71a MDL-30378 navigation: Front page activities are now added to the navigation on every page 2011-11-29 11:22:56 +13:00
Petr Skoda f9a0759eec MDL-30487 remove obsolete test
Since MDL-30303 media filter accepts any ? parameters.
2011-11-28 20:19:35 +01:00
Tim Hunt 0ce2d140b7 MDL-30485 XML import from 1.9 does not handle files in subfolders. 2011-11-28 17:27:55 +00:00
Petr Skoda 02ba9aba00 MDL-30448 fix url param problems 2011-11-28 18:55:51 +13:00
Andrew Robert Nicols 879b36fe31 MDL-30465 Add br tag when showing the 'Export to Portfolio' text 2011-11-28 18:30:45 +13:00
Aparup Banerjee 487b07bcc1 Merge branch 'MDL-30460-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-28 11:49:59 +08:00
Eloy Lafuente (stronk7) 779085b75d Moodle release 2.0.6 2011-11-27 23:49:08 +01:00
Eloy Lafuente (stronk7) 4ad8c6e350 Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-27 23:39:44 +01:00
Eloy Lafuente (stronk7) e16d680905 Merge branch 'dropbox-api-bump-for-20_STABLE' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-27 23:18:39 +01:00
AMOS bot 34292e766b Automatically generated installer lang files 2011-11-26 00:31:12 +00:00
David Mudrak 2bf6056b4a MDL-30453 Use correct renderable classes to represent assessments of example submission 2011-11-25 18:39:31 +01:00
David Mudrak 06cb4cbaee MDL-30453 New renderable classes for assessments of example submissions
The patch introduces two new classes for rendering assessments of
example submission - both the training one and the reference one.
Together with the cooking functions for obtaining instances of these
classes.
2011-11-25 18:39:31 +01:00
David Mudrak 103fc0ec44 MDL-30271 Inform the user about the example assessment conflict, instead of throwing the exception 2011-11-25 16:01:07 +01:00
David Mudrak e0475260c6 MDL-30271 Move the page initialization so that we can produce output in param processing sections eventually 2011-11-25 16:01:07 +01:00
Eloy Lafuente (stronk7) 433248cc8d weekly release 2.0.5+ 2011-11-25 11:09:20 +01:00
Eloy Lafuente (stronk7) 0c8697540c Merge branch 'install_20_STABLE' of git://github.com/amosbot/moodle into MOODLE_20_STABLE 2011-11-25 11:04:58 +01:00
Dan Poltawski 3342f9278b MDL-29960 repository/dropbox - update to use 1.0 API version 2011-11-25 10:03:58 +00:00
Ankit Kumar Agarwal d616497a0e MDL-30460 Wiki making file extension case-insensitive 2011-11-25 15:06:10 +05:30
Andrew Davis b7bb9c0f6c MDL-30287 gradebook: fixed the ajax JS for grade and feedback changes on the grader report 2011-11-25 15:14:47 +08:00
AMOS bot 8bf9c37f0e Automatically generated installer lang files 2011-11-25 00:30:52 +00:00
Sam Hemelryk b40a326061 Merge branch 'MDL-26431-20' of git://github.com/totara/moodle into MOODLE_20_STABLE 2011-11-25 12:45:07 +13:00
Sam Hemelryk e1a236015c Merge branch 'MDL-29115_m20' of git://github.com/rwijaya/moodle into MOODLE_20_STABLE 2011-11-25 11:59:42 +13:00
Mary Evans 11e45d05f8 MDL-28625 - removed ul/ol styles from canvas/text.css 2011-11-25 11:18:30 +13:00
Aaron Barnes c99142aa86 MDL-26431 course completion report columns not lining up 2011-11-25 09:57:53 +13:00
Aparup Banerjee 4e3676afef Merge branch 'MDL-30288_override_checkbox_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-24 16:15:04 +08:00
Andrew Davis 8815d83999 MDL-30288 gradebook: prevented grade grade feedback being wrapped in a text to html div tag which was causing it to look like feedback had been edited when it hadn't 2011-11-24 15:32:47 +08:00
AMOS bot 032ca9883e Automatically generated installer lang files 2011-11-24 00:31:13 +00:00
Eloy Lafuente (stronk7) 2a71a2648e Merge branch 'wip-mdl-30375-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-23 13:29:03 +01:00
Ankit Kumar Agarwal 0c6182c125 MDL-30398 Validations added for password field 2011-11-23 13:20:37 +01:00
Eloy Lafuente (stronk7) 25641ce2da Merge branch 'MDL-29060_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-23 11:49:17 +01:00
Eloy Lafuente (stronk7) 8a2ac4cb74 Merge branch 'wip-mdl-28947-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-23 11:38:32 +01:00
Andrew Robert Nicols 8c10f16d34 MDL-30165: Make repository file extension check case insensitive 2011-11-23 11:23:55 +01:00
Dan Marsden ad4ac9daa5 SCORM MDL-25757 fix for saving of duplicate CMI values - thanks to Evan Irving-Pease for the patch 2011-11-23 11:09:31 +01:00
adrian@moodle.com c60b224fbc MDL-27334 - forum - Fixed the issue of error session keys being displayed when trying to browse to a site without logging in. 2011-11-23 13:08:48 +08:00
Jamie Pratt 6b7080c841 MDL-28562 "automatic naming of file in convert_image not working"
there is an obvious typo in the code causing the problem. The use of
an equality check instead of the intended assignment.
2011-11-23 12:40:31 +08:00
Jason Fowler 2232cbb2b5 MDL-29469 Enrolments - fixing the role assignment access elevation issue 2011-11-23 11:33:45 +08:00
Aparup Banerjee 1fee8759bc Merge branch 'wip-MDL-20627-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-23 11:14:47 +08:00
Mary Evans c172ee6210 MDL-29778 Fix to make user selector arrow visible 2011-11-23 15:55:30 +13:00
Kordan 54d7e72ddd MDL-29830 theme_base: Fix overflow problems with navigation items 2011-11-23 15:47:44 +13:00
Rajesh Taneja 3ee4fb3f95 MDL-30375 Blocks: Comments block will show blank textbox rather then hiding and 'add a comment' will be visible if it's empty 2011-11-23 10:47:09 +08:00
Rossiani Wijaya e6155dfa67 MDL-29115 lesson mod: fixed the display of 'try again' button so it relates to lesson setting 2011-11-23 10:33:33 +08:00
Eloy Lafuente (stronk7) ec4b3cbcae Merge branch 'MDL-30042-MOODLE_20_STABLE-1' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-23 03:07:45 +01:00
Eloy Lafuente (stronk7) d112ae914f Merge branch 'MDL-27045_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-23 03:02:40 +01:00
Sam Hemelryk 1ee341b3d1 Merge branch 'MDL-30192_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-11-23 14:20:34 +13:00
Sam Hemelryk d019d13ea1 Merge branch 'MDL-29904-M20' of git://github.com/lazydaisy/moodle into MOODLE_20_STABLE 2011-11-23 13:58:15 +13:00
AMOS bot 866e90c3d4 Automatically generated installer lang files 2011-11-23 00:31:08 +00:00
Eloy Lafuente (stronk7) 731e021f9c Merge branch 'MDL-30402-install-string_20_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_20_STABLE 2011-11-23 01:08:17 +01:00
Mary Evans e88330b84c MDL-30164 FIX for missing gap between icon and text in reports 2011-11-23 12:59:11 +13:00
Mary Evans 39009f1633 MDL-30196 changed reference from Serenity to Sky High in theme_sky_high.php 2011-11-23 12:50:30 +13:00
Petr Skoda ce5ee449e3 MDL-30303 fix media playback from URLs with ? query parts
Credit for the rawurlencode() fix goes to Eloy.
2011-11-23 12:18:02 +13:00
David Mudrak d53fd52df8 MDL-30402 Removing hard-coded English string from the CLI installer 2011-11-22 10:05:51 +01:00
Aparup Banerjee d31ebf3462 Merge branch 'MDL-30194-m20' of git://github.com/phalacee/moodle into MOODLE_20_STABLE 2011-11-22 16:19:48 +08:00
Aparup Banerjee 31550708b4 Merge branch 'wip-mdl-29396-m20' of git://github.com/rajeshtaneja/moodle into MOODLE_20_STABLE 2011-11-22 16:11:06 +08:00
Rajesh Taneja b25603680e MDL-29396 core: ip blocking will be bypassed for cli scripts - Thanks Petr 2011-11-22 16:10:19 +08:00
Aparup Banerjee f50e703e21 Merge branch 'MDL-27703_user_report_sql_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-22 14:25:28 +08:00
Sam Hemelryk f68144c177 Merge branch 'MDL-28629_MOODLE_20_STABLE' of git://github.com/mouneyrac/moodle into MOODLE_20_STABLE 2011-11-22 18:28:11 +13:00
Rajesh Taneja f129c975b9 MDL-28947 lib: print_object cleans html special chars before printing 2011-11-22 09:30:07 +08:00
AMOS bot b7867ebe98 Automatically generated installer lang files 2011-11-22 00:30:58 +00:00
Sam Hemelryk 63526f3e9b Merge branch 'MDL-30392_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE 2011-11-22 12:59:52 +13:00
Eloy Lafuente (stronk7) 2f4fe2f195 MDL-30392 DML - Fix old-style delete_records() call 2011-11-22 00:44:44 +01:00
Andrew Robert Nicols cf4b3493e2 MDL-30174 Assignment : Only increment submission offset if the current assignment was not saved 2011-11-22 02:21:44 +08:00
Andrew Robert Nicols 71dda1f97d MDL-30173 Assignment : Convert to use moodle_url and add missing filter param 2011-11-22 02:05:01 +08:00
Aparup Banerjee e239fd37b8 Merge branch 'MDL-29814_blank_emails2_20' of git://github.com/andyjdavis/moodle into MOODLE_20_STABLE 2011-11-22 01:22:20 +08:00
Aparup Banerjee 6c5fe9f7e9 Merge branch 'wip-MDL-30289-MOODLE_20_STABLE' of git://github.com/abgreeve/moodle into MOODLE_20_STABLE 2011-11-21 14:10:07 +08:00
Aparup Banerjee 36d22219bc Merge branch 'MDL-30279-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-21 11:53:21 +08:00
Andrew Robert Nicols f7aef5c648 MDL-29591 Check for permission before overwriting course idnumber when restoring 2011-11-21 02:34:32 +01:00
Charles Fulton 26303bd017 MDL-30289 forum - set page context when pruning a discussion 2011-11-21 09:14:49 +08:00
Mary Evans 50f0c58e69 MDL-30236 removed outlawed javasript from theme_anomaly 2011-11-21 13:28:52 +13:00
Mary Evans 689a6891bf MDL-29904-M21 FIX to add pagelayout=>report 2011-11-20 20:31:07 +00:00
Tim Hunt fef14d0fc8 MDL-29060 q export: writefiles should be public write_files & belongs to XML format. 2011-11-20 12:05:18 +00:00
Andrew Davis 878ff40575 MDL-29814 message: made html personal messages also store a plain text version as a fallback 2011-11-19 15:39:24 +08:00
AMOS bot 0d52d3366c Merge branch 'MOODLE_20_STABLE' into install_20_STABLE 2011-11-19 00:31:10 +00:00
Eloy Lafuente (stronk7) fcf11d558a MDL-30192 restore - prevent any extra info to be created for deleted users 2011-11-18 13:04:17 +01:00
Charles Fulton 23e7302a9e MDL-30273 forum - prevent the creation of discussions in simple single forums 2011-11-18 15:40:34 +08:00
adrian@moodle.com 905617c12f MDL-20627 user - Fixed viewing permission of email when sending group messages. 2011-11-18 14:53:56 +08:00
Eloy Lafuente (stronk7) f28832d5c0 weekly release 2.0.5+ 2011-11-18 01:32:16 +01:00
AMOS bot 05b49c8b6d Automatically generated installer lang files 2011-11-18 00:31:02 +00:00
Eloy Lafuente (stronk7) 5acc2fba63 MDL-29350 Prevent memory/time problems if there are zillions of combinations 2011-11-17 20:23:49 +01:00
Eloy Lafuente (stronk7) da7ab34762 Merge branch 'MDL-29350-MOODLE_20_STABLE-2' of git://git.luns.net.uk/moodle into MOODLE_20_STABLE 2011-11-17 20:18:38 +01:00
Tim Hunt 4dd114b834 MDL-27045 formslib: fix disabledif for advcheckbox
This is based on earlier work by Henning Bostelmann and Tom Potts.
2011-11-17 18:01:51 +00:00
Charles Fulton 797e49da80 MDL-30279 show full date and time for all wiki revisions 2011-11-17 09:11:54 +05:30
Tony Levi 165e476948 MDL-24577: Fix mark all posts in this discussion read doesn't work completely correct 2011-11-17 14:59:41 +13:00
Eloy Lafuente (stronk7) 991ee3344a Merge branch 'MDL-29743_20' of git://github.com/timhunt/moodle into MOODLE_20_STABLE 2011-11-17 01:23:08 +01:00
Sam Hemelryk 5174eeebe3 Merge branch 'MDL-29893-m20' of git://github.com/ankitagarwal/moodle into MOODLE_20_STABLE 2011-11-17 13:10:53 +13:00
Mary Evans 96b7f2d7db MDL-30283-M20 FIX coding errors 2011-11-16 14:18:15 +00:00
Ankit Kumar Agarwal 6eaf677b26 MDL-29893 Fixing issues with password generation function 2011-11-16 11:44:01 +05:30
Henning Bostelmann fc73d9e7b4 MDL-29350 Prevent duplication of groupings when copying activities
This patch also includes a database upgrade to correct data produced as a
result of this bug.
2011-11-15 11:06:00 +00:00
Tim Hunt ed39308f60 MDL-29743 quiz: Finish attempt link didn't save responses in some brosers.
Thanks to Brandon Browning for identifying the problem. It is quite subtle why this typo would have this effect. You need to look at the implementation of the preventDefault method in lib/yui/3.4.1/build/event-base/event-base.js.

Conflicts:

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

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

Conflicts:

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

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

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

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

This fix is done by back-porting the working code from Moodle 2.1, so
the changes are bigger than the minimal changes required to fix this,
but that will make back-porting any future bug-fixes will be easier.
2011-10-07 19:26:50 +01:00
Tim Hunt 0b45720b6e MDL-29454 Fix coding style before trying to do the real fix.
All the changes here should be whitespace, /// -> // or adding boilerplate comment.
2011-10-07 19:26:48 +01:00
Eloy Lafuente (stronk7) 2c600c42fa MDL-29677 unit tests - missing global was causing tons of incorrect debugging info 2011-10-07 01:24:54 +02:00
Sam Hemelryk 739328d149 MDL-29224 navigation: Navigation now respects a modules onclick event when preparing navigation nodes 2011-10-06 19:33:01 +13:00
Mayank Gupta 95fa6fddca MDL-27037, wiki does not support visiblegroups functionality 2011-04-08 23:40:36 +05:30
691 changed files with 7545 additions and 2676 deletions
+1 -1
View File
@@ -265,7 +265,7 @@ if ($interactive) {
$chmod = octdec(clean_param($options['chmod'], PARAM_INT));
if ($interactive) {
cli_separator();
cli_heading('Data directories permission'); // todo localize
cli_heading(get_string('datarootpermission', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', decoct($chmod));
$error = '';
do {
+220 -8
View File
@@ -214,11 +214,7 @@
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.0.25">
<FEEDBACK>
<ON_ERROR message="mysql416required" />
</FEEDBACK>
</VENDOR>
<VENDOR name="mysql" version="5.0.25" />
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="odbc_mssql" version="9.0" />
@@ -335,11 +331,227 @@
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.0.25">
<VENDOR name="mysql" version="5.0.25" />
<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_ERROR message="mysql416required" />
<ON_CHECK message="iconvrequired" />
</FEEDBACK>
</VENDOR>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_CHECK message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="optional">
<FEEDBACK>
<ON_CHECK message="opensslrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="optional">
<FEEDBACK>
<ON_CHECK message="gdrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_CHECK message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_CHECK message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="optional">
<FEEDBACK>
<ON_CHECK message="intlrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="40M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="safe_mode" value="0" level="optional">
<FEEDBACK>
<ON_CHECK message="settingsafemode" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
<MOODLE version="2.2" requires="1.9">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.0.25" />
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="odbc_mssql" version="9.0" />
<VENDOR name="mssql_n" version="9.0" />
<VENDOR name="oracle" version="10.2" />
<VENDOR name="sqlite" version="2.0" />
</DATABASE>
<PHP version="5.3.2" level="required">
</PHP>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_CHECK message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
<FEEDBACK>
<ON_CHECK message="mbstringrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_CHECK message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="optional">
<FEEDBACK>
<ON_CHECK message="opensslrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlrpc" level="optional">
<FEEDBACK>
<ON_CHECK message="xmlrpcrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="optional">
<FEEDBACK>
<ON_CHECK message="gdrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_CHECK message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_CHECK message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="optional">
<FEEDBACK>
<ON_CHECK message="intlrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="40M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="safe_mode" value="0" level="optional">
<FEEDBACK>
<ON_CHECK message="settingsafemode" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
</MOODLE>
<MOODLE version="2.3" requires="2.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mysql" version="5.1.33" />
<VENDOR name="postgres" version="8.3" />
<VENDOR name="mssql" version="9.0" />
<VENDOR name="odbc_mssql" version="9.0" />
+19 -13
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'));
@@ -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) {
@@ -96,15 +99,6 @@ 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');
}
// finished with form controls, now the static informational stuff
if ($mnet_peer && !empty($mnet_peer->bootstrapped)) {
$expires = '';
@@ -140,7 +134,19 @@ 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
+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);
+266 -251
View File
@@ -1,293 +1,308 @@
<?php
// Allows the admin to manage question types.
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
require_once(dirname(__FILE__) . '/../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->libdir . '/tablelib.php');
/**
* Allows the admin to manage question types.
*
* @package moodlecore
* @subpackage questionbank
* @copyright 2008 Tim Hunt
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/// Check permissions.
require_login();
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
require_capability('moodle/question:config', $systemcontext);
$canviewreports = has_capability('report/questioninstances:view', $systemcontext);
admin_externalpage_setup('manageqtypes');
require_once(dirname(__FILE__) . '/../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->libdir . '/tablelib.php');
/// Get some data we will need - question counts and which types are needed.
$counts = $DB->get_records_sql("
SELECT qtype, COUNT(1) as numquestions, SUM(hidden) as numhidden
FROM {question} GROUP BY qtype", array());
$needed = array();
foreach ($QTYPES as $qtypename => $qtype) {
if (!isset($counts[$qtypename])) {
$counts[$qtypename] = new stdClass;
$counts[$qtypename]->numquestions = 0;
$counts[$qtypename]->numhidden = 0;
}
$needed[$qtypename] = $counts[$qtypename]->numquestions > 0;
$counts[$qtypename]->numquestions -= $counts[$qtypename]->numhidden;
// Check permissions.
require_login();
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
require_capability('moodle/question:config', $systemcontext);
$canviewreports = has_capability('report/questioninstances:view', $systemcontext);
admin_externalpage_setup('manageqtypes');
$thispageurl = new moodle_url('/admin/qtypes.php');
// Get some data we will need - question counts and which types are needed.
$counts = $DB->get_records_sql("
SELECT qtype, COUNT(1) as numquestions, SUM(hidden) as numhidden
FROM {question} GROUP BY qtype", array());
$needed = array();
foreach ($QTYPES as $qtypename => $qtype) {
if (!isset($counts[$qtypename])) {
$counts[$qtypename] = new stdClass;
$counts[$qtypename]->numquestions = 0;
$counts[$qtypename]->numhidden = 0;
}
$needed['missingtype'] = true; // The system needs the missing question type.
foreach ($QTYPES as $qtypename => $qtype) {
foreach ($qtype->requires_qtypes() as $reqtype) {
$needed[$reqtype] = true;
}
$needed[$qtypename] = $counts[$qtypename]->numquestions > 0;
$counts[$qtypename]->numquestions -= $counts[$qtypename]->numhidden;
}
$needed['missingtype'] = true; // The system needs the missing question type.
foreach ($QTYPES as $qtypename => $qtype) {
foreach ($qtype->requires_qtypes() as $reqtype) {
$needed[$reqtype] = true;
}
foreach ($counts as $qtypename => $count) {
if (!isset($QTYPES[$qtypename])) {
$counts['missingtype']->numquestions += $count->numquestions - $count->numhidden;
$counts['missingtype']->numhidden += $count->numhidden;
}
}
foreach ($counts as $qtypename => $count) {
if (!isset($QTYPES[$qtypename])) {
$counts['missingtype']->numquestions += $count->numquestions - $count->numhidden;
$counts['missingtype']->numhidden += $count->numhidden;
}
}
// Work of the correct sort order.
$config = get_config('question');
$sortedqtypes = array();
foreach ($QTYPES as $qtypename => $qtype) {
$sortedqtypes[$qtypename] = $qtype->local_name();
}
$sortedqtypes = question_sort_qtype_array($sortedqtypes, $config);
// Process actions ============================================================
// Disable.
if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$disable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $disable);
}
/// Work of the correct sort order.
$config = get_config('question');
$sortedqtypes = array();
foreach ($QTYPES as $qtypename => $qtype) {
$sortedqtypes[$qtypename] = $qtype->local_name();
}
$sortedqtypes = question_sort_qtype_array($sortedqtypes, $config);
set_config($disable . '_disabled', 1, 'question');
redirect($thispageurl);
}
/// Process actions ============================================================
// Disable.
if (($disable = optional_param('disable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$disable])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $disable);
}
set_config($disable . '_disabled', 1, 'question');
redirect(admin_url('qtypes.php'));
// Enable.
if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$enable])) {
print_error('unknownquestiontype', 'question', $thispageurl, $enable);
}
// Enable.
if (($enable = optional_param('enable', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$enable])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $enable);
}
if (!$QTYPES[$enable]->menu_name()) {
print_error('cannotenable', 'question', admin_url('qtypes.php'), $enable);
}
unset_config($enable . '_disabled', 'question');
redirect(admin_url('qtypes.php'));
if (!$QTYPES[$enable]->menu_name()) {
print_error('cannotenable', 'question', $thispageurl, $enable);
}
// Move up in order.
if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$up])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $up);
}
unset_config($enable . '_disabled', 'question');
redirect($thispageurl);
}
$neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
question_save_qtype_order($neworder, $config);
redirect(admin_url('qtypes.php'));
// Move up in order.
if (($up = optional_param('up', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$up])) {
print_error('unknownquestiontype', 'question', $thispageurl, $up);
}
// Move down in order.
if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$down])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $down);
}
$neworder = question_reorder_qtypes($sortedqtypes, $up, -1);
question_save_qtype_order($neworder, $config);
redirect($thispageurl);
}
$neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
question_save_qtype_order($neworder, $config);
redirect(admin_url('qtypes.php'));
// Move down in order.
if (($down = optional_param('down', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
if (!isset($QTYPES[$down])) {
print_error('unknownquestiontype', 'question', $thispageurl, $down);
}
// Delete.
if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
// Check it is OK to delete this question type.
if ($delete == 'missingtype') {
print_error('cannotdeletemissingqtype', 'admin', admin_url('qtypes.php'));
}
$neworder = question_reorder_qtypes($sortedqtypes, $down, +1);
question_save_qtype_order($neworder, $config);
redirect($thispageurl);
}
if (!isset($QTYPES[$delete])) {
print_error('unknownquestiontype', 'question', admin_url('qtypes.php'), $delete);
}
// Delete.
if (($delete = optional_param('delete', '', PARAM_SAFEDIR)) && confirm_sesskey()) {
// Check it is OK to delete this question type.
if ($delete == 'missingtype') {
print_error('cannotdeletemissingqtype', 'admin', $thispageurl);
}
if (!isset($QTYPES[$delete])) {
print_error('unknownquestiontype', 'question', $thispageurl, $delete);
}
$qtypename = $QTYPES[$delete]->local_name();
if ($counts[$delete]->numquestions + $counts[$delete]->numhidden > 0) {
print_error('cannotdeleteqtypeinuse', 'admin', $thispageurl, $qtypename);
}
if ($needed[$delete] > 0) {
print_error('cannotdeleteqtypeneeded', 'admin', $thispageurl, $qtypename);
}
// If not yet confirmed, display a confirmation message.
if (!optional_param('confirm', '', PARAM_BOOL)) {
$qtypename = $QTYPES[$delete]->local_name();
if ($counts[$delete]->numquestions + $counts[$delete]->numhidden > 0) {
print_error('cannotdeleteqtypeinuse', 'admin', admin_url('qtypes.php'), $qtypename);
}
if ($needed[$delete] > 0) {
print_error('cannotdeleteqtypeneeded', 'admin', admin_url('qtypes.php'), $qtypename);
}
// If not yet confirmed, display a confirmation message.
if (!optional_param('confirm', '', PARAM_BOOL)) {
$qtypename = $QTYPES[$delete]->local_name();
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'admin', $qtypename));
echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'admin', $qtypename),
admin_url('qtypes.php?delete=' . $delete . '&confirm=1'),
admin_url('qtypes.php'));
echo $OUTPUT->footer();
exit;
}
// Do the deletion.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('deletingqtype', 'admin', $qtypename));
// Delete any configuration records.
if (!unset_all_config_for_plugin('qtype_' . $delete)) {
echo $OUTPUT->notification(get_string('errordeletingconfig', 'admin', 'qtype_' . $delete));
}
unset_config($delete . '_disabled', 'question');
unset_config($delete . '_sortorder', 'question');
// Then the tables themselves
drop_plugin_tables($delete, $QTYPES[$delete]->plugin_dir() . '/db/install.xml', false);
// Remove event handlers and dequeue pending events
events_uninstall('qtype/' . $delete);
$a->qtype = $qtypename;
$a->directory = $QTYPES[$delete]->plugin_dir();
echo $OUTPUT->box(get_string('qtypedeletefiles', 'admin', $a), 'generalbox', 'notice');
echo $OUTPUT->continue_button(admin_url('qtypes.php'));
echo $OUTPUT->heading(get_string('deleteqtypeareyousure', 'admin', $qtypename));
echo $OUTPUT->confirm(get_string('deleteqtypeareyousuremessage', 'admin', $qtypename),
new moodle_url($thispageurl, array('delete' => $delete, 'confirm' => 1)),
$thispageurl);
echo $OUTPUT->footer();
exit;
}
// End of process actions ==================================================
/// Print the page heading.
// Do the deletion.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('manageqtypes', 'admin'));
echo $OUTPUT->heading(get_string('deletingqtype', 'admin', $qtypename));
/// Set up the table.
$table = new flexible_table('qtypeadmintable');
$table->define_columns(array('questiontype', 'numquestions', 'version', 'requires',
'availableto', 'delete', 'settings'));
$table->define_headers(array(get_string('questiontype', 'admin'), get_string('numquestions', 'admin'),
get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
get_string('delete'), get_string('settings')));
$table->set_attribute('id', 'qtypes');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->setup();
/// Add a row for each question type.
$createabletypes = question_type_menu();
foreach ($sortedqtypes as $qtypename => $localname) {
$qtype = $QTYPES[$qtypename];
$row = array();
// Question icon and name.
$fakequestion = new stdClass;
$fakequestion->qtype = $qtypename;
$icon = print_question_icon($fakequestion, true);
$row[] = $icon . ' ' . $localname;
// Number of questions of this type.
if ($counts[$qtypename]->numquestions + $counts[$qtypename]->numhidden > 0) {
if ($counts[$qtypename]->numhidden > 0) {
$strcount = get_string('numquestionsandhidden', 'admin', $counts[$qtypename]);
} else {
$strcount = $counts[$qtypename]->numquestions;
}
if ($canviewreports) {
$row[] = '<a href="' . admin_url('/report/questioninstances/index.php?qtype=' . $qtypename) .
'" title="' . get_string('showdetails', 'admin') . '">' . $strcount . '</a>';
} else {
$strcount;
}
} else {
$row[] = 0;
}
// Question version number.
$version = get_config('qtype_' . $qtypename, 'version');
if ($version) {
$row[] = $version;
} else {
$row[] = '<span class="disabled">' . get_string('nodatabase', 'admin') . '</span>';
}
// Other question types required by this one.
$requiredtypes = $qtype->requires_qtypes();
$strtypes = array();
if (!empty($requiredtypes)) {
foreach ($requiredtypes as $required) {
$strtypes[] = $QTYPES[$required]->local_name();
}
$row[] = implode(', ', $strtypes);
} else {
$row[] = '';
}
// Are people allowed to create new questions of this type?
$rowclass = '';
if ($qtype->menu_name()) {
$createable = isset($createabletypes[$qtypename]);
$icons = enable_disable_button($qtypename, $createable);
if (!$createable) {
$rowclass = 'dimmed_text';
}
} else {
$icons = '<img src="' . $OUTPUT->pix_url('spacer') . '" alt="" class="spacer" />';
}
// Move icons.
$icons .= icon_html('up', $qtypename, 't/up', get_string('up'), '');
$icons .= icon_html('down', $qtypename, 't/down', get_string('down'), '');
$row[] = $icons;
// Delete link, if available.
if ($needed[$qtypename]) {
$row[] = '';
} else {
$row[] = '<a href="' . admin_url('qtypes.php?delete=' . $qtypename .
'&amp;sesskey=' . sesskey()) . '" title="' .
get_string('uninstallqtype', 'admin') . '">' . get_string('delete') . '</a>';
}
// Settings link, if available.
$settings = admin_get_root()->locate('qtypesetting' . $qtypename);
if ($settings instanceof admin_externalpage) {
$row[] = '<a href="' . $settings->url .
'">' . get_string('settings') . '</a>';
} else if ($settings instanceof admin_settingpage) {
$row[] = '<a href="' . admin_url('settings.php?section=qtypesetting' . $qtypename) .
'">' . get_string('settings') . '</a>';
} else {
$row[] = '';
}
$table->add_data($row, $rowclass);
// Delete any configuration records.
if (!unset_all_config_for_plugin('qtype_' . $delete)) {
echo $OUTPUT->notification(get_string('errordeletingconfig', 'admin', 'qtype_' . $delete));
}
unset_config($delete . '_disabled', 'question');
unset_config($delete . '_sortorder', 'question');
$table->finish_output();
// Then the tables themselves
drop_plugin_tables($delete, $QTYPES[$delete]->plugin_dir() . '/db/install.xml', false);
// Remove event handlers and dequeue pending events
events_uninstall('qtype/' . $delete);
$a->qtype = $qtypename;
$a->directory = $QTYPES[$delete]->plugin_dir();
echo $OUTPUT->box(get_string('qtypedeletefiles', 'admin', $a), 'generalbox', 'notice');
echo $OUTPUT->continue_button($thispageurl);
echo $OUTPUT->footer();
function admin_url($endbit) {
global $CFG;
return $CFG->wwwroot . '/' . $CFG->admin . '/' . $endbit;
exit;
}
function enable_disable_button($qtypename, $createable) {
if ($createable) {
return icon_html('disable', $qtypename, 'i/hide', get_string('enabled', 'question'), get_string('disable'));
// End of process actions ==================================================
// Print the page heading.
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('manageqtypes', 'admin'));
// Set up the table.
$table = new flexible_table('qtypeadmintable');
$table->define_baseurl($thispageurl);
$table->define_columns(array('questiontype', 'numquestions', 'version', 'requires',
'availableto', 'delete', 'settings'));
$table->define_headers(array(get_string('questiontype', 'admin'), get_string('numquestions', 'admin'),
get_string('version'), get_string('requires', 'admin'), get_string('availableq', 'question'),
get_string('delete'), get_string('settings')));
$table->set_attribute('id', 'qtypes');
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
$table->setup();
// Add a row for each question type.
$createabletypes = question_type_menu();
foreach ($sortedqtypes as $qtypename => $localname) {
$qtype = $QTYPES[$qtypename];
$row = array();
// Question icon and name.
$fakequestion = new stdClass;
$fakequestion->qtype = $qtypename;
$icon = print_question_icon($fakequestion, true);
$row[] = $icon . ' ' . $localname;
// Number of questions of this type.
if ($counts[$qtypename]->numquestions + $counts[$qtypename]->numhidden > 0) {
if ($counts[$qtypename]->numhidden > 0) {
$strcount = get_string('numquestionsandhidden', 'admin', $counts[$qtypename]);
} else {
$strcount = $counts[$qtypename]->numquestions;
}
if ($canviewreports) {
$row[] = html_writer::link(new moodle_url('/admin/report/questioninstances/index.php',
array('qtype' => $qtypename)), $strcount, array('title' => get_string('showdetails', 'admin')));
} else {
$strcount;
}
} else {
return icon_html('enable', $qtypename, 'i/show', get_string('disabled', 'question'), get_string('enable'));
$row[] = 0;
}
// Question version number.
$version = get_config('qtype_' . $qtypename, 'version');
if ($version) {
$row[] = $version;
} else {
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
}
// Other question types required by this one.
$requiredtypes = $qtype->requires_qtypes();
$strtypes = array();
if (!empty($requiredtypes)) {
foreach ($requiredtypes as $required) {
$strtypes[] = $QTYPES[$required]->local_name();
}
$row[] = implode(', ', $strtypes);
} else {
$row[] = '';
}
// Are people allowed to create new questions of this type?
$rowclass = '';
if ($qtype->menu_name()) {
$createable = isset($createabletypes[$qtypename]);
$icons = question_types_enable_disable_icons($qtypename, $createable);
if (!$createable) {
$rowclass = 'dimmed_text';
}
} else {
$icons = $OUTPUT->spacer() . ' ';
}
// Move icons.
$icons .= question_type_icon_html('up', $qtypename, 't/up', get_string('up'), '');
$icons .= question_type_icon_html('down', $qtypename, 't/down', get_string('down'), '');
$row[] = $icons;
// Delete link, if available.
if ($needed[$qtypename]) {
$row[] = '';
} else {
$row[] = html_writer::link(new moodle_url($thispageurl,
array('delete' => $qtypename, 'sesskey' => sesskey())), get_string('delete'),
array('title' => get_string('uninstallqtype', 'admin')));
}
// Settings link, if available.
$settings = admin_get_root()->locate('qtypesetting' . $qtypename);
if ($settings instanceof admin_externalpage) {
$row[] = html_writer::link($settings->url, get_string('settings'));
} else if ($settings instanceof admin_settingpage) {
$row[] = html_writer::link(new moodle_url('/admin/settings.php',
array('section' => 'qtypesetting' . $qtypename)), get_string('settings'));
} else {
$row[] = '';
}
$table->add_data($row, $rowclass);
}
$table->finish_output();
echo $OUTPUT->footer();
function question_types_enable_disable_icons($qtypename, $createable) {
if ($createable) {
return question_type_icon_html('disable', $qtypename, 'i/hide',
get_string('enabled', 'question'), get_string('disable'));
} else {
return question_type_icon_html('enable', $qtypename, 'i/show',
get_string('disabled', 'question'), get_string('enable'));
}
}
function icon_html($action, $qtypename, $icon, $alt, $tip) {
function question_type_icon_html($action, $qtypename, $icon, $alt, $tip) {
global $OUTPUT;
if ($tip) {
$tip = 'title="' . $tip . '" ';
}
$html = ' <form action="' . admin_url('qtypes.php') . '" method="post"><div>';
$html .= '<input type="hidden" name="sesskey" value="' . sesskey() . '" />';
$html .= '<input type="image" name="' . $action . '" value="' . $qtypename .
'" src="' . $OUTPUT->pix_url($icon) . '" alt="' . $alt . '" ' . $tip . '/>';
$html .= '</div></form>';
return $html;
return $OUTPUT->action_icon(new moodle_url('/admin/qtypes.php',
array($action => $qtypename, 'sesskey' => sesskey())),
new pix_icon($icon, $alt, 'moodle', array('title' => '')),
null, array('title' => $tip)) . ' ';
}
+1 -1
View File
@@ -7,7 +7,7 @@
$courseid = optional_param('courseid', 0, PARAM_INT);
admin_externalpage_setup('reportbackups');
admin_externalpage_setup('reportbackups', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
/// Automated backups aren't active by the site admin
+1 -1
View File
@@ -9,7 +9,7 @@ $perpage = optional_param('perpage', 30, PARAM_INT); // how many per page
$sort = optional_param('sort', 'timemodified', PARAM_ALPHA);
$dir = optional_param('dir', 'DESC', PARAM_ALPHA);
admin_externalpage_setup('reportconfiglog');
admin_externalpage_setup('reportconfiglog', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('configlog', 'report_configlog'));
+1 -1
View File
@@ -16,7 +16,7 @@
}
}
admin_externalpage_setup('reportcourseoverview');
admin_externalpage_setup('reportcourseoverview', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
$course = get_site();
+1 -1
View File
@@ -15,7 +15,7 @@ require_once($CFG->libdir.'/questionlib.php');
$requestedqtype = optional_param('qtype', '', PARAM_SAFEDIR);
// Print the header & check permissions.
admin_externalpage_setup('reportquestioninstances');
admin_externalpage_setup('reportquestioninstances', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
// Log.
+1 -1
View File
@@ -45,7 +45,7 @@ raise_memory_limit(MEMORY_EXTRA);
@set_time_limit(0);
// Print the header.
admin_externalpage_setup('reportsecurity');
admin_externalpage_setup('reportsecurity', '', null, '', array('pagelayout'=>'report'));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('pluginname', 'report_security'));
+1 -1
View File
@@ -40,7 +40,7 @@ $reset = optional_param('reset', '', PARAM_RAW);
$id = optional_param('id', '', PARAM_INT);
require_login();
admin_externalpage_setup('reportspamcleaner');
admin_externalpage_setup('reportspamcleaner', '', null, '', array('pagelayout'=>'report'));
// Delete one user
if (!empty($del) && confirm_sesskey() && ($id != $USER->id)) {
+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()) {
+10 -2
View File
@@ -54,8 +54,16 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
6 => get_string('saturday', 'calendar')
)));
$temp->add(new admin_setting_special_calendar_weekend());
$temp->add(new admin_setting_configtext('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,PARAM_INT));
$temp->add(new admin_setting_configtext('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,PARAM_INT));
$options = array();
for ($i=1; $i<=99; $i++) {
$options[$i] = $i;
}
$temp->add(new admin_setting_configselect('calendar_lookahead',get_string('configlookahead','admin'),get_string('helpupcominglookahead', 'admin'),21,$options));
$options = array();
for ($i=1; $i<=20; $i++) {
$options[$i] = $i;
}
$temp->add(new admin_setting_configselect('calendar_maxevents',get_string('configmaxevents','admin'),get_string('helpupcomingmaxevents', 'admin'),10,$options));
$temp->add(new admin_setting_configcheckbox('enablecalendarexport', get_string('enablecalendarexport', 'admin'), get_string('configenablecalendarexport','admin'), 1));
$temp->add(new admin_setting_configtext('calendar_exportsalt', get_string('calendarexportsalt','admin'), get_string('configcalendarexportsalt', 'admin'), random_string(60)));
$ADMIN->add('appearance', $temp);
-2
View File
@@ -97,7 +97,6 @@ if ($hassiteconfig
$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)));
@@ -144,7 +143,6 @@ if ($hassiteconfig
$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,
+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'),
@@ -83,6 +84,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_configtext('excludeoldflashclients', get_string('excludeoldflashclients', 'admin'), get_string('configexcludeoldflashclients', 'admin'), '10.0.12', PARAM_TEXT));
$temp->add(new admin_setting_configcheckbox('loginpasswordautocomplete', get_string('loginpasswordautocomplete', 'admin'), get_string('loginpasswordautocomplete_help', 'admin'), 0));
$ADMIN->add('security', $temp);
+5 -2
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'));
@@ -174,7 +175,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;
@@ -183,10 +184,12 @@ class web_service_token_form extends moodleform {
if (empty($data->nouserselection)) {
//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());
$users = $DB->get_records_sql($sql, array($CFG->siteguest));
$options = array();
foreach ($users as $userid => $user) {
$options[$userid] = $user->firstname . " " . $user->lastname;
+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
+3 -2
View File
@@ -33,8 +33,9 @@ $PAGE->set_title("$site->fullname: $loginsite");
$PAGE->set_heading($site->fullname);
echo $OUTPUT->header();
// $PAGE->https_required() up above takes care of what $CFG->httpswwwroot should be.
$msg = '<p>'.get_string('ntlmsso_attempting', 'auth_ldap').'</p>'
. '<img width="1", height="1" '
. ' src="' . $CFG->wwwroot . '/auth/ldap/ntlmsso_magic.php?sesskey='
. ' src="' . $CFG->httpswwwroot . '/auth/ldap/ntlmsso_magic.php?sesskey='
. $sesskey . '" />';
redirect($CFG->wwwroot . '/auth/ldap/ntlmsso_finish.php', $msg, 3);
redirect($CFG->httpswwwroot . '/auth/ldap/ntlmsso_finish.php', $msg, 3);
+2 -1
View File
@@ -29,7 +29,8 @@ $file = $CFG->dirroot.'/pix/spacer.gif';
if ($authplugin->ntlmsso_magic($sesskey) && file_exists($file)) {
if (!empty($authplugin->config->ntlmsso_ie_fastpath)) {
if (check_browser_version('MSIE')) {
redirect($CFG->wwwroot.'/auth/ldap/ntlmsso_finish.php');
// $PAGE->https_required() up above takes care of what $CFG->httpswwwroot should be.
redirect($CFG->httpswwwroot.'/auth/ldap/ntlmsso_finish.php');
}
}
+4
View File
@@ -132,6 +132,10 @@ class auth_plugin_mnet extends auth_plugin_base {
global $CFG, $USER, $DB;
require_once $CFG->dirroot . '/mnet/xmlrpc/client.php';
if (session_is_loggedinas()) {
print_error('notpermittedtojumpas', 'mnet');
}
// check remote login permissions
if (! has_capability('moodle/site:mnetlogintoremote', get_system_context())
or is_mnet_remote_user($USER)
+7
View File
@@ -37,6 +37,13 @@ if (!is_enabled_auth('mnet')) {
// If hostid hasn't been specified, try getting it using wwwroot
if (!$hostid) {
$hostwwwroot = trim($hostwwwroot);
$hostwwwroot = rtrim($hostwwwroot, '/');
// ensure the wwwroot starts with a http or https prefix
if (strtolower(substr($hostwwwroot, 0, 4)) != 'http') {
$hostwwwroot = 'http://'.$hostwwwroot;
}
$hostid = $DB->get_field('mnet_host', 'id', array('wwwroot' => $hostwwwroot));
}
+5 -5
View File
@@ -44,17 +44,17 @@ $PAGE->https_required();
// Redirect to SessionInitiator with entityID as argument
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->httpswwwroot.'/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->httpswwwroot.'/auth/shibboleth/index.php'));
} else {
// For Shibbolet 1.x Service Providers
header('Location: /Shibboleth.sso?providerId='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
header('Location: /Shibboleth.sso?providerId='. urlencode($selectedIdP) .'&target='. urlencode($CFG->httpswwwroot.'/auth/shibboleth/index.php'));
// For Shibboleth 2.x Service Providers
// header('Location: /Shibboleth.sso/DS?entityID='. urlencode($selectedIdP) .'&target='. urlencode($CFG->wwwroot.'/auth/shibboleth/index.php'));
// header('Location: /Shibboleth.sso/DS?entityID='. urlencode($selectedIdP) .'&target='. urlencode($CFG->httpswwwroot.'/auth/shibboleth/index.php'));
}
} elseif (isset($_POST['idp']) && !isset($IdPs[$_POST['idp']])) {
$errormsg = get_string('auth_shibboleth_errormsg', 'auth_shibboleth');
+1 -1
View File
@@ -313,7 +313,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';
}
}
@@ -293,6 +293,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();
}
@@ -299,6 +299,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();
}
+1 -1
View File
@@ -58,7 +58,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)
@@ -69,13 +69,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')));
-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
-4
View File
@@ -1748,10 +1748,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'));
@@ -117,19 +117,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;
-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)
+44 -13
View File
@@ -236,6 +236,7 @@ class restore_gradebook_structure_step extends restore_structure_step {
//get the already created course level grade category
$category = new stdclass();
$category->courseid = $this->get_courseid();
$category->parent = null;
$coursecategory = $DB->get_record('grade_categories', (array)$category);
if (!empty($coursecategory)) {
@@ -678,7 +679,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());
}
}
@@ -792,7 +793,14 @@ class restore_groups_structure_step extends restore_structure_step {
$data->groupingid = $this->get_new_parentid('grouping'); // Use new parentid
$data->groupid = $this->get_mappingid('group', $data->groupid); // Get from mappings
$DB->insert_record('groupings_groups', $data); // No need to set this mapping (no child info nor files)
$params = array();
$params['groupingid'] = $data->groupingid;
$params['groupid'] = $data->groupid;
if (!$DB->record_exists('groupings_groups', $params)) {
$DB->insert_record('groupings_groups', $data); // No need to set this mapping (no child info nor files)
}
}
protected function after_execute() {
@@ -1089,7 +1097,6 @@ class restore_course_structure_step extends restore_structure_step {
global $CFG, $DB;
$data = (object)$data;
$oldid = $data->id; // We'll need this later
$fullname = $this->get_setting_value('course_fullname');
$shortname = $this->get_setting_value('course_shortname');
@@ -1102,7 +1109,13 @@ class restore_course_structure_step extends restore_structure_step {
$data->id = $this->get_courseid();
$data->fullname = $fullname;
$data->shortname= $shortname;
$data->idnumber = '';
$context = get_context_instance_by_id($this->task->get_contextid());
if (has_capability('moodle/course:changeidnumber', $context, $this->task->get_userid())) {
$data->idnumber = '';
} else {
unset($data->idnumber);
}
// Only restrict modules if original course was and target site too for new courses
$data->restrictmodules = $data->restrictmodules && !empty($CFG->restrictmodulesfor) && $CFG->restrictmodulesfor == 'all';
@@ -1729,15 +1742,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);
}
}
}
@@ -2259,7 +2277,20 @@ class restore_userscompletion_structure_step extends restore_structure_step {
$data->userid = $this->get_mappingid('user', $data->userid);
$data->timemodified = $this->apply_date_offset($data->timemodified);
$DB->insert_record('course_modules_completion', $data);
// Check we didn't already insert one for this cmid and userid
$existing = $DB->get_record('course_modules_completion', array(
'coursemoduleid' => $data->coursemoduleid,
'userid' => $data->userid), 'id, timemodified');
if ($existing) {
// Update it to these new values, but only if the time is newer
if ($existing->timemodified < $data->timemodified) {
$data->id = $existing->id;
$DB->update_record('course_modules_completion', $data);
}
} else {
// Normal entry where it doesn't exist already
$DB->insert_record('course_modules_completion', $data);
}
}
}
@@ -440,7 +440,6 @@ abstract class backup_controller_dbops extends backup_dbops {
'backup_general_users' => 'users',
'backup_general_anonymize' => 'anonymize',
'backup_general_role_assignments' => 'role_assignments',
'backup_general_user_files' => 'user_files',
'backup_general_activities' => 'activities',
'backup_general_blocks' => 'blocks',
'backup_general_filters' => 'filters',
+46 -46
View File
@@ -730,7 +730,7 @@ abstract class restore_dbops {
* ready to be created. Also, annotate their newids
* once created for later reference
*/
public static function create_included_users($basepath, $restoreid, $userfiles, $userid) {
public static function create_included_users($basepath, $restoreid, $userid) {
global $CFG, $DB;
$authcache = array(); // Cache to get some bits from authentication plugins
@@ -824,54 +824,54 @@ abstract class restore_dbops {
$newuserid = $DB->insert_record('user', $user);
self::set_backup_ids_record($restoreid, 'user', $recuser->itemid, $newuserid);
// Let's create the user context and annotate it (we need it for sure at least for files)
$newuserctxid = get_context_instance(CONTEXT_USER, $newuserid)->id;
self::set_backup_ids_record($restoreid, 'context', $recuser->parentitemid, $newuserctxid);
// but for deleted users that don't have a context anymore (MDL-30192). We are done for them
// and nothing else (custom fields, prefs, tags, files...) will be created.
if (empty($user->deleted)) {
$newuserctxid = $user->deleted ? 0 : get_context_instance(CONTEXT_USER, $newuserid)->id;
self::set_backup_ids_record($restoreid, 'context', $recuser->parentitemid, $newuserctxid);
// Process custom fields
if (isset($user->custom_fields)) { // if present in backup
foreach($user->custom_fields['custom_field'] as $udata) {
$udata = (object)$udata;
// If the profile field has data and the profile shortname-datatype is defined in server
if ($udata->field_data) {
if ($field = $DB->get_record('user_info_field', array('shortname'=>$udata->field_name, 'datatype'=>$udata->field_type))) {
/// Insert the user_custom_profile_field
$rec = new stdClass();
$rec->userid = $newuserid;
$rec->fieldid = $field->id;
$rec->data = $udata->field_data;
$DB->insert_record('user_info_data', $rec);
// Process custom fields
if (isset($user->custom_fields)) { // if present in backup
foreach($user->custom_fields['custom_field'] as $udata) {
$udata = (object)$udata;
// If the profile field has data and the profile shortname-datatype is defined in server
if ($udata->field_data) {
if ($field = $DB->get_record('user_info_field', array('shortname'=>$udata->field_name, 'datatype'=>$udata->field_type))) {
/// Insert the user_custom_profile_field
$rec = new stdClass();
$rec->userid = $newuserid;
$rec->fieldid = $field->id;
$rec->data = $udata->field_data;
$DB->insert_record('user_info_data', $rec);
}
}
}
}
}
// Process tags
if (!empty($CFG->usetags) && isset($user->tags)) { // if enabled in server and present in backup
$tags = array();
foreach($user->tags['tag'] as $usertag) {
$usertag = (object)$usertag;
$tags[] = $usertag->rawname;
// Process tags
if (!empty($CFG->usetags) && isset($user->tags)) { // if enabled in server and present in backup
$tags = array();
foreach($user->tags['tag'] as $usertag) {
$usertag = (object)$usertag;
$tags[] = $usertag->rawname;
}
tag_set('user', $newuserid, $tags);
}
tag_set('user', $newuserid, $tags);
}
// Process preferences
if (isset($user->preferences)) { // if present in backup
foreach($user->preferences['preference'] as $preference) {
$preference = (object)$preference;
// Prepare the record and insert it
$preference->userid = $newuserid;
$status = $DB->insert_record('user_preferences', $preference);
// Process preferences
if (isset($user->preferences)) { // if present in backup
foreach($user->preferences['preference'] as $preference) {
$preference = (object)$preference;
// Prepare the record and insert it
$preference->userid = $newuserid;
$status = $DB->insert_record('user_preferences', $preference);
}
}
}
// Create user files in pool (profile, icon, private) by context
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid, $userid);
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid, $userid);
if ($userfiles) { // private files only if enabled in settings
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'private', $recuser->parentitemid, $userid);
// Create user files in pool (profile, icon, private) by context
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid, $userid);
restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid, $userid);
}
}
$rs->close();
}
@@ -951,7 +951,7 @@ abstract class restore_dbops {
AND mnethostid = ?
AND deleted = 1
AND (
username LIKE ?
UPPER(username) LIKE UPPER(?)
OR (
".$DB->sql_isnotempty('user', 'email', false, false)."
AND email = ?
@@ -973,7 +973,7 @@ abstract class restore_dbops {
FROM {user} u
WHERE id = ?
AND mnethostid = ?
AND email = ?",
AND UPPER(email) = UPPER(?)",
array($user->id, $user->mnethostid, $trimemail))) {
return $rec; // Matching user, deleted in backup file found, return it
}
@@ -996,7 +996,7 @@ abstract class restore_dbops {
WHERE username = ?
AND mnethostid = ?
AND (
email = ?
UPPER(email) = UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -1020,7 +1020,7 @@ abstract class restore_dbops {
AND ".$DB->sql_isnotempty('user', 'email', false, false)."
AND email = ?
AND (
username LIKE ?
UPPER(username) LIKE UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -1038,7 +1038,7 @@ abstract class restore_dbops {
FROM {user} u
WHERE mnethostid = ?
AND deleted = 1
AND username LIKE ?
AND UPPER(username) LIKE UPPER(?)
AND firstaccess != 0
AND firstaccess = ?",
array($user->mnethostid, $user->email.'.%', $user->firstaccess))) {
@@ -1056,7 +1056,7 @@ abstract class restore_dbops {
if ($rec = $DB->get_record_sql("SELECT *
FROM {user} u
WHERE mnethostid = ?
AND email = ?
AND UPPER(email) = UPPER(?)
AND firstaccess != 0
AND firstaccess = ?",
array($user->mnethostid, $trimemail, $user->firstaccess))) {
@@ -1070,7 +1070,7 @@ abstract class restore_dbops {
WHERE username = ?
AND mnethostid = ?
AND NOT (
email = ?
UPPER(email) = UPPER(?)
OR (
firstaccess != 0
AND firstaccess = ?
@@ -323,7 +323,6 @@ abstract class backup_cron_automated_helper {
$settings = array(
'users' => 'backup_auto_users',
'role_assignments' => 'backup_auto_role_assignments',
'user_files' => 'backup_auto_user_files',
'activities' => 'backup_auto_activities',
'blocks' => 'backup_auto_blocks',
'filters' => 'backup_auto_filters',
@@ -460,6 +459,11 @@ abstract class backup_cron_automated_helper {
$storage = $config->backup_auto_storage;
$dir = $config->backup_auto_destination;
if ($keep == 0) {
// means keep all backup files
return true;
}
$backupword = str_replace(' ', '_', moodle_strtolower(get_string('backupfilename')));
$backupword = trim(clean_filename($backupword), '_');
+1
View File
@@ -44,6 +44,7 @@ class backup_plan extends base_plan implements loggable {
}
$this->controller = $controller;
$this->basepath = $CFG->dataroot . '/temp/backup/' . $controller->get_backupid();
$this->excludingdactivities = false;
parent::__construct('backup_plan');
}
+3 -1
View File
@@ -97,7 +97,9 @@ class core_backup_renderer extends plugin_renderer_base {
$html .= html_writer::start_tag('div', array('class'=>'backup-section settings-section'));
$html .= $this->output->heading(get_string('backupsettings', 'backup'), 2, array('class'=>'header'));
foreach ($details->root_settings as $label=>$value) {
if ($label == 'filename') continue;
if ($label == 'filename' or $label == 'user_files') {
continue;
}
$html .= $this->backup_detail_pair(get_string('rootsetting'.str_replace('_','',$label), 'backup'), $value?$yestick:$notick);
}
$html .= html_writer::end_tag('div');
+1 -1
View File
@@ -74,7 +74,7 @@ class block_comments extends block_base {
$args->linktext = get_string('showcomments');
$args->notoggle = true;
$args->autostart = true;
$args->displaycancel = true;
$args->displaycancel = false;
$comment = new comment($args);
$comment->set_view_permission(true);
+14 -4
View File
@@ -193,6 +193,8 @@ class block_community_renderer extends plugin_renderer_base {
//Create course content html
$blocks = get_plugin_list('block');
$activities = get_plugin_list('mod');
if (!empty($course->contents)) {
$activitieshtml = '';
$blockhtml = '';
@@ -202,14 +204,22 @@ class block_community_renderer extends plugin_renderer_base {
if (!empty($blockhtml)) {
$blockhtml .= ' - ';
}
$blockhtml .= get_string('pluginname', 'block_' . $content->modulename)
. " (" . $content->contentcount . ")";
if (array_key_exists($content->modulename, $blocks)) {
$blockname = get_string('pluginname', 'block_' . $content->modulename);
} else {
$blockname = $content->modulename;
}
$blockhtml .= $blockname . " (" . $content->contentcount . ")";
} else {
if (!empty($activitieshtml)) {
$activitieshtml .= ' - ';
}
$activitieshtml .= get_string('modulename', $content->modulename)
. " (" . $content->contentcount . ")";
if (array_key_exists($content->modulename, $activities)) {
$activityname = get_string('modulename', $content->modulename);
} else {
$activityname = $content->modulename;
}
$activitieshtml .= $activityname . " (" . $content->contentcount . ")";
}
}
+9 -9
View File
@@ -4,7 +4,7 @@ if (is_file($CFG->dirroot.'/mod/feedback/lib.php')) {
define('FEEDBACK_BLOCK_LIB_IS_OK', true);
}
class block_feedback extends block_base {
class block_feedback extends block_list {
function init() {
$this->title = get_string('feedback', 'block_feedback');
@@ -21,10 +21,13 @@ class block_feedback extends block_base {
return $this->content;
}
$this->content = new stdClass;
$this->content->items = array();
$this->content->icons = array();
$this->content->footer = '';
if (!defined('FEEDBACK_BLOCK_LIB_IS_OK')) {
$this->content = new stdClass;
$this->content->text = get_string('missing_feedback_module', 'block_feedback');
$this->content->footer = '';
$this->content->items = array(get_string('missing_feedback_module', 'block_feedback'));
return $this->content;
}
@@ -33,9 +36,7 @@ class block_feedback extends block_base {
$courseid = SITEID;
}
$this->content = new stdClass;
$this->content->text = '';
$this->content->footer = '';
$icon = '<img src="'.$OUTPUT->pix_url('icon', 'feedback') . '" class="icon" alt="" />';
if (empty($this->instance->pageid)) {
@@ -47,8 +48,7 @@ class block_feedback extends block_base {
foreach ($feedbacks as $feedback) {
$url = new moodle_url($baseurl);
$url->params(array('id'=>$feedback->cmid, 'courseid'=>$courseid));
$icon = '<img src="'.$OUTPUT->pix_url('icon', 'feedback') . '" class="icon" alt="" />&nbsp;';
$this->content->text = ' <a href="'.$url->out().'">'.$icon.$feedback->name.'</a>';
$this->content->items[] = '<a href="'.$url->out().'">'.$icon.$feedback->name.'</a>';
}
}
+10
View File
@@ -121,4 +121,14 @@ class block_html extends block_base {
return true;
}
/**
* The block should only be dockable when the title of the block is not empty
* and when parent allows docking.
*
* @return bool
*/
public function instance_can_be_docked() {
return (!empty($this->config->title) && parent::instance_can_be_docked());
}
}
+9 -2
View File
@@ -35,6 +35,12 @@ class block_login extends block_base {
// TODO: now that we have multiauth it is hard to find out if there is a way to change password
$forgot = $wwwroot . '/login/forgot_password.php';
if (empty($CFG->xmlstrictheaders) and !empty($CFG->loginpasswordautocomplete)) {
$autocomplete = 'autocomplete="off"';
} else {
$autocomplete = '';
}
$username = get_moodle_cookie();
$this->content->footer = '';
@@ -42,13 +48,14 @@ class block_login extends block_base {
if (!isloggedin() or isguestuser()) { // Show the block
$this->content->text .= "\n".'<form class="loginform" id="login" method="post" action="'.get_login_url().'">';
$this->content->text .= "\n".'<form class="loginform" id="login" method="post" action="'.get_login_url().'" '.$autocomplete.'>';
$this->content->text .= '<div class="c1 fld username"><label for="login_username">'.get_string('username').'</label>';
$this->content->text .= '<input type="text" name="username" id="login_username" value="'.s($username).'" /></div>';
$this->content->text .= '<div class="c1 fld password"><label for="login_password">'.get_string('password').'</label>';
$this->content->text .= '<input type="password" name="password" id="login_password" value="" /></div>';
$this->content->text .= '<input type="password" name="password" id="login_password" value="" '.$autocomplete.' /></div>';
$this->content->text .= '<div class="c1 btn"><input type="submit" value="'.get_string('login').'" /></div>';
+7
View File
@@ -25,6 +25,13 @@ class block_mnet_hosts extends block_list {
return false;
}
if (session_is_loggedinas()) {
$this->content = new stdClass();
$this->content->footer = html_writer::tag('span',
get_string('notpermittedtojumpas', 'mnet'));
return $this->content;
}
// according to start_jump_session,
// remote users can't on-jump
// so don't show this block to them
+4 -6
View File
@@ -62,11 +62,10 @@ class block_online_users extends block_base {
GROUP BY $userfields
ORDER BY lastaccess DESC ";
$csql = "SELECT COUNT(u.id), u.id
$csql = "SELECT COUNT(u.id)
FROM {user} u $groupmembers
WHERE u.lastaccess > $timefrom
$groupselect
GROUP BY u.id";
$groupselect";
} else {
// Course level - show only enrolled users for now
@@ -85,14 +84,13 @@ class block_online_users extends block_base {
GROUP BY $userfields
ORDER BY lastaccess DESC";
$csql = "SELECT u.id
$csql = "SELECT COUNT(u.id)
FROM {user_lastaccess} ul $groupmembers, {user} u
JOIN ($esqljoin) euj ON euj.id = u.id
WHERE ul.timeaccess > $timefrom
AND u.id = ul.userid
AND ul.courseid = :courseid
$groupselect
GROUP BY u.id";
$groupselect";
$params['courseid'] = $this->page->course->id;
}
+1 -1
View File
@@ -155,7 +155,7 @@ class block_section_links extends block_base {
}
function before_delete() {
global $DB;
$DB->delete_records('config_plugins', 'plugin', 'blocks/section_links');
$DB->delete_records('config_plugins', array('plugin' => 'blocks/section_links'));
}
function has_config() {
+6 -2
View File
@@ -212,9 +212,13 @@ if (empty($entryid) && empty($modid) && empty($groupid)) {
}
if ($CFG->enablerssfeeds) {
$rsscontext = $filtertype = $thingid = null;
$rsscontext = null;
$filtertype = null;
$thingid = null;
list($thingid, $rsscontext, $filtertype) = blog_rss_get_params($blogheaders['filters']);
if (empty($rsscontext)) {
$rsscontext = get_system_context();
}
$rsstitle = $blogheaders['heading'];
//check we haven't started output by outputting an error message
+7
View File
@@ -479,6 +479,13 @@ function blog_get_options_for_user(stdClass $user=null) {
);
}
}
if ($canview && $CFG->enablerssfeeds) {
$options['rss'] = array(
'string' => get_string('rssfeed', 'blog'),
'link' => new moodle_url(rss_get_url($sitecontext->id, $USER->id, 'blog', 'user/'.$user->id))
);
}
// Cache the options
$useroptions[$user->id] = $options;
// Return the options
+14 -3
View File
@@ -55,6 +55,8 @@ $action = optional_param('action', '', PARAM_ALPHA);
$day = optional_param('cal_d', 0, PARAM_INT);
$mon = optional_param('cal_m', 0, PARAM_INT);
$yr = optional_param('cal_y', 0, PARAM_INT);
$generateurl = optional_param('generateurl', 0, PARAM_BOOL);
if ($courseid = optional_param('course', 0, PARAM_INT)) {
$course = $DB->get_record('course', array('id'=>$courseid));
} else {
@@ -142,8 +144,7 @@ switch($action) {
break;
case '':
default:
$username = $USER->username;
$authtoken = sha1($USER->username . $USER->password . $CFG->calendar_exportsalt);
$authtoken = sha1($USER->id . $USER->password . $CFG->calendar_exportsalt);
// Let's populate some vars to let "common tasks" be somewhat smart...
// If today it's weekend, give the "next week" option
$allownextweek = CALENDAR_WEEKEND & (1 << $now['wday']);
@@ -151,7 +152,17 @@ switch($action) {
$allownextmonth = calendar_days_in_month($now['mon'], $now['year']) - $now['mday'] < 7;
// If today it's weekend but tomorrow it isn't, do NOT give the "this week" option
$allowthisweek = !((CALENDAR_WEEKEND & (1 << $now['wday'])) && !(CALENDAR_WEEKEND & (1 << (($now['wday'] + 1) % 7))));
echo $renderer->basic_export_form($allowthisweek, $allownextweek, $allownextmonth, $username, $authtoken);
echo $renderer->basic_export_form($allowthisweek, $allownextweek, $allownextmonth, $USER->id, $authtoken);
}
if (!empty($generateurl)) {
$params['userid'] = optional_param('userid', 0, PARAM_INT);
$params['authtoken'] = optional_param('authtoken', '', PARAM_ALPHANUM);
$params['preset_what'] = optional_param('preset_what', 'all', PARAM_ALPHA);
$params['preset_time'] = optional_param('preset_time', 'weeknow', PARAM_ALPHA);
$link = new moodle_url('/calendar/export_execute.php', $params);
print html_writer::tag('div', get_string('calendarurl', 'calendar', $link->out()), array('class' => 'generalbox calendarurl'));
}
echo $renderer->complete_layout();
echo $OUTPUT->footer();
+25 -4
View File
@@ -5,27 +5,48 @@ require_once('../config.php');
require_once($CFG->dirroot.'/calendar/lib.php');
require_once($CFG->libdir.'/bennu/bennu.inc.php');
$username = required_param('username', PARAM_TEXT);
$userid = optional_param('userid', 0, PARAM_INT);
$username = optional_param('username', '', PARAM_TEXT);
$authtoken = required_param('authtoken', PARAM_ALPHANUM);
$generateurl = optional_param('generateurl', '', PARAM_TEXT);
if (empty($CFG->enablecalendarexport)) {
die('no export');
}
//Fetch user information
if (!$user = $DB->get_record('user', array('username' => $username), 'id,password')) {
//No such user
$checkuserid = !empty($userid) && $user = $DB->get_record('user', array('id' => $userid), 'id,password');
//allowing for fallback check of old url - MDL-27542
$checkusername = !empty($username) && $user = $DB->get_record('user', array('username' => $username), 'id,password');
if (!$checkuserid && !$checkusername) {
//No such user
die('Invalid authentication');
}
//Check authentication token
if ($authtoken != sha1($username . $user->password . $CFG->calendar_exportsalt)) {
$authuserid = !empty($userid) && $authtoken == sha1($userid . $user->password . $CFG->calendar_exportsalt);
//allowing for fallback check of old url - MDL-27542
$authusername = !empty($username) && $authtoken == sha1($username . $user->password . $CFG->calendar_exportsalt);
if (!$authuserid && !$authusername) {
die('Invalid authentication');
}
$what = optional_param('preset_what', 'all', PARAM_ALPHA);
$time = optional_param('preset_time', 'weeknow', PARAM_ALPHA);
if (!empty($generateurl)) {
$authtoken = sha1($userid . $user->password . $CFG->calendar_exportsalt);
$params = array();
$params['preset_what'] = $what;
$params['preset_time'] = $time;
$params['userid'] = $userid;
$params['authtoken'] = $authtoken;
$params['generateurl'] = true;
$link = new moodle_url('/calendar/export.php', $params);
redirect($link->out());
die;
}
$now = usergetdate(time());
// Let's see if we have sufficient and correct data
$allowed_what = array('all', 'courses');
+2 -1
View File
@@ -1633,6 +1633,7 @@ function calendar_get_allowed_types(&$allowed) {
if(!empty($SESSION->cal_course_referer) && $SESSION->cal_course_referer != SITEID) {
$course = $DB->get_record('course', array('id'=>$SESSION->cal_course_referer));
$coursecontext = get_context_instance(CONTEXT_COURSE, $SESSION->cal_course_referer);
$allowed->user = has_capability('moodle/calendar:manageownentries', $coursecontext);
if(has_capability('moodle/calendar:manageentries', $coursecontext)) {
$allowed->courses = array($course->id => 1);
@@ -1884,7 +1885,7 @@ class calendar_event {
$group = $DB->get_record('groups', array('id'=>$data->groupid));
$context = get_context_instance(CONTEXT_COURSE, $group->courseid);
} else if (isset($data->userid) && $data->userid > 0 && $data->userid == $USER->id) {
$context = get_context_instance(CONTEXT_USER);
$context = get_context_instance(CONTEXT_USER, $data->userid);
} else if (isset($data->userid) && $data->userid > 0 && $data->userid != $USER->id &&
isset($data->instance) && $data->instance > 0) {
$cm = get_coursemodule_from_instance($data->modulename, $data->instance, 0, false, MUST_EXIST);
+1 -1
View File
@@ -71,7 +71,7 @@ class calendar_preferences_form extends moodleform {
$mform->addHelpButton('maxevents', 'pref_maxevents', 'calendar');
$options = array();
for ($i=1; $i<=20; $i++) {
for ($i=1; $i<=99; $i++) {
$options[$i] = $i;
}
$mform->addElement('select', 'lookahead', get_string('pref_lookahead', 'calendar'), $options);
+4 -6
View File
@@ -34,11 +34,11 @@ class core_calendar_renderer extends plugin_renderer_base {
* @param bool $allowthisweek
* @param bool $allownextweek
* @param bool $allownextmonth
* @param string $username
* @param int $userid
* @param string $authtoken
* @return string
*/
public function basic_export_form($allowthisweek, $allownextweek, $allownextmonth, $username, $authtoken) {
public function basic_export_form($allowthisweek, $allownextweek, $allownextmonth, $userid, $authtoken) {
$output = html_writer::tag('div', get_string('export', 'calendar'), array('class'=>'header'));
$output .= html_writer::start_tag('fieldset');
@@ -86,10 +86,10 @@ class core_calendar_renderer extends plugin_renderer_base {
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'cal_d', 'value'=>''));
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'cal_m', 'value'=>''));
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'cal_y', 'value'=>''));
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'username', 'value'=>$username));
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'userid', 'value'=>$userid));
$output .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'authtoken', 'value'=>$authtoken));
$output .= html_writer::empty_tag('input', array('type'=>'button', 'id'=>'generateurl', 'value'=>get_string('generateurlbutton', 'calendar')));
$output .= html_writer::empty_tag('input', array('type'=>'submit', 'name' => 'generateurl', 'id'=>'generateurl', 'value'=>get_string('generateurlbutton', 'calendar')));
$output .= html_writer::empty_tag('input', array('type'=>'submit', 'value'=>get_string('exportbutton', 'calendar')));
$output .= html_writer::end_tag('div');
@@ -102,8 +102,6 @@ class core_calendar_renderer extends plugin_renderer_base {
$output .= html_writer::tag('div', '', array('id'=>'url', 'style'=>'overflow:scroll;width:650px;'));
$output .= html_writer::end_tag('div');
$this->page->requires->yui_module('moodle-calendar-eventmanager', 'M.core_calendar.init_basic_export', array($allowthisweek, $allownextweek, $allownextmonth, $username, $authtoken));
return $output;
}
+2 -2
View File
@@ -183,8 +183,8 @@ echo $OUTPUT->container_start('bottom');
if (!empty($CFG->enablecalendarexport)) {
echo $OUTPUT->single_button(new moodle_url('export.php', array('course'=>$courseid)), get_string('exportcalendar', 'calendar'));
if (isloggedin()) {
$authtoken = sha1($USER->username . $USER->password . $CFG->calendar_exportsalt);
$link = new moodle_url('/calendar/export_execute.php', array('preset_what'=>'all', 'preset_time'=>'recentupcoming', 'username'=>$USER->username, 'authtoken'=>$authtoken));
$authtoken = sha1($USER->id . $USER->password . $CFG->calendar_exportsalt);
$link = new moodle_url('/calendar/export_execute.php', array('preset_what'=>'all', 'preset_time'=>'recentupcoming', 'userid' => $USER->id, 'authtoken'=>$authtoken));
$icon = html_writer::empty_tag('img', array('src'=>$OUTPUT->pix_url('i/ical'), 'height'=>'14', 'width'=>'36', 'alt'=>get_string('ical', 'calendar'), 'title'=>get_string('quickdownloadcalendar', 'calendar')));
echo html_writer::tag('a', $icon, array('href'=>$link));
}
-20
View File
@@ -120,26 +120,6 @@ YUI.add('moodle-calendar-eventmanager', function(Y) {
var EVENTMANAGER = {
add_event : function(config) {
new EVENT(config);
},
init_basic_export : function(allowthisweek, allownextweek, allownextmonth, username, authtoken) {
var params = {
preset_what : (Y.one('#pw_course').get('checked'))?'courses':'all',
preset_time : 'recentupcoming',
username : username,
authtoken : authtoken
}
if (allowthisweek && Y.one('#pt_wknow').get('checked')) {
params.presettime = 'weeknow';
} else if (allownextweek && Y.one('#pt_wknext').get('checked')) {
params.presettime = 'weeknext';
} else if (allownextmonth && Y.one('#pt_monnext').get('checked')) {
params.presettime = 'monthnext';
} else if (Y.one('#pt_monnow').get('checked')) {
params.presettime = 'monthnow';
}
Y.one('#url').setContent(M.cfg.wwwroot+'/calendar/export_execute.php?'+build_querystring(params));
Y.one('#urlbox').setStyle('display', 'block');
}
}
+1 -1
View File
@@ -49,7 +49,7 @@ class cohort_edit_form extends moodleform {
$mform->addElement('select', 'contextid', get_string('context', 'role'), $options);
$mform->addElement('text', 'idnumber', get_string('idnumber', 'cohort'), 'maxlength="254" size="50"');
$mform->setType('name', PARAM_RAW);
$mform->setType('idnumber', PARAM_RAW); // idnumbers are plain text, must not be changed
$mform->addElement('editor', 'description_editor', get_string('description', 'cohort'), null, $editoroptions);
$mform->setType('description_editor', PARAM_RAW);
+1 -1
View File
@@ -75,7 +75,7 @@ $data = array();
foreach($cohorts as $cohort) {
$line = array();
$line[] = format_string($cohort->name);
$line[] = $cohort->idnumber;
$line[] = s($cohort->idnumber); // plain text
$line[] = format_text($cohort->description, $cohort->descriptionformat);
$line[] = $DB->count_records('cohort_members', array('cohortid'=>$cohort->id));
+3 -2
View File
@@ -71,8 +71,9 @@ function cohort_add_cohort($cohort) {
*/
function cohort_update_cohort($cohort) {
global $DB;
if (isset($cohort->component) and empty($cohort->component)) {
$cohort->component = NULL;
if (property_exists($cohort, 'component') and empty($cohort->component)) {
// prevent NULLs
$cohort->component = '';
}
$cohort->timemodified = time();
$DB->update_record('cohort', $cohort);
+2
View File
@@ -58,6 +58,7 @@ M.core_comment = {
return false;
}, this);
}
scope.toggle_textarea(false);
CommentHelper.confirmoverlay = new Y.Overlay({
bodyContent: '<div class="comment-delete-confirm"><a href="#" id="confirmdelete-'+this.client_id+'">'+M.str.moodle.yes+'</a> <a href="#" id="canceldelete-'+this.client_id+'">'+M.str.moodle.no+'</a></div>',
visible: false
@@ -79,6 +80,7 @@ bodyContent: '<div class="comment-delete-confirm"><a href="#" id="confirmdelete-
var cid = scope.client_id;
var ta = Y.one('#dlg-content-'+cid);
ta.set('value', '');
scope.toggle_textarea(false);
var container = Y.one('#comment-list-'+cid);
var result = scope.render([obj], true);
var newcomment = Y.Node.create(result.html);
+6 -6
View File
@@ -196,17 +196,17 @@ $CFG->admin = 'admin';
//
// These variables define DEFAULT block variables for new courses
// If this one is set it overrides all others and is the only one used.
// $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//
// These variables define the specific settings for defined course formats.
// They override any settings defined in the formats own config file.
// $CFG->defaultblocks_site = 'site_main_menu,admin,course_list:course_summary,calendar_month';
// $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,admin,course_list';
// $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_site = 'site_main_menu,course_list:course_summary,calendar_month';
// $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,course_list';
// $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//
// These blocks are used when no other default setting is found.
// $CFG->defaultblocks = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
// $CFG->defaultblocks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
//
// You can specify a different class to be created for the $PAGE global, and to
// compute which blocks appear on each page. However, I cannot think of any good
+29 -2
View File
@@ -311,6 +311,35 @@ abstract class moodleform_mod extends moodleform {
$errors['availablefrom'] = get_string('badavailabledates', 'condition');
}
// Conditions: Verify that the grade conditions are numbers, and make sense.
if (array_key_exists('conditiongradegroup', $data)) {
foreach ($data['conditiongradegroup'] as $i => $gradedata) {
if ($gradedata['conditiongrademin'] !== '' && !is_numeric($gradedata['conditiongrademin'])) {
$errors["conditiongradegroup[{$i}]"] = get_string('gradesmustbenumeric', 'condition');
continue;
}
if ($gradedata['conditiongrademax'] !== '' && !is_numeric($gradedata['conditiongrademax'])) {
$errors["conditiongradegroup[{$i}]"] = get_string('gradesmustbenumeric', 'condition');
continue;
}
if ($gradedata['conditiongrademin'] !== '' && $gradedata['conditiongrademax'] !== '' &&
$gradedata['conditiongrademax'] < $gradedata['conditiongrademin']) {
$errors["conditiongradegroup[{$i}]"] = get_string('badgradelimits', 'condition');
continue;
}
if ($gradedata['conditiongrademin'] === '' && $gradedata['conditiongrademax'] === '' &&
$gradedata['conditiongradeitemid']) {
$errors["conditiongradegroup[{$i}]"] = get_string('gradeitembutnolimits', 'condition');
continue;
}
if (($gradedata['conditiongrademin'] !== '' || $gradedata['conditiongrademax'] !== '') &&
!$gradedata['conditiongradeitemid']) {
$errors["conditiongradegroup[{$i}]"] = get_string('gradelimitsbutnoitem', 'condition');
continue;
}
}
}
return $errors;
}
@@ -456,8 +485,6 @@ abstract class moodleform_mod extends moodleform {
$grouparray[] =& $mform->createElement('static', '', '','% '.get_string('grade_upto','condition').' ');
$grouparray[] =& $mform->createElement('text', 'conditiongrademax','',array('size'=>3));
$grouparray[] =& $mform->createElement('static', '', '','%');
$mform->setType('conditiongrademin',PARAM_FLOAT);
$mform->setType('conditiongrademax',PARAM_FLOAT);
$group = $mform->createElement('group','conditiongradegroup',
get_string('gradecondition', 'condition'),$grouparray);
+3 -3
View File
@@ -323,7 +323,7 @@ if(!$csv) {
// Print criteria group names
print PHP_EOL.'<tr style="vertical-align: top">';
print '<th scope="row" class="rowheader">'.get_string('criteriagroup', 'completion').'</th>';
print '<th scope="row" colspan="'.($idnumbers ? 2 : 1).'" class="rowheader">'.get_string('criteriagroup', 'completion').'</th>';
$current_group = false;
$col_count = 0;
@@ -357,7 +357,7 @@ if(!$csv) {
// Print aggregation methods
print PHP_EOL.'<tr style="vertical-align: top">';
print '<th scope="row" class="rowheader">'.get_string('aggregationmethod', 'completion').'</th>';
print '<th scope="row" colspan="'.($idnumbers ? 2: 1).'" class="rowheader">'.get_string('aggregationmethod', 'completion').'</th>';
$current_group = false;
$col_count = 0;
@@ -416,7 +416,7 @@ if(!$csv) {
if (COMPLETION_REPORT_COL_TITLES) {
print PHP_EOL.'<tr>';
print '<th scope="row" class="rowheader">'.get_string('criteria', 'completion').'</th>';
print '<th scope="row" colspan="'.($idnumbers ? 2 : 1).'" class="rowheader">'.get_string('criteria', 'completion').'</th>';
foreach ($criteria as $criterion) {
// Get criteria details
+6 -1
View File
@@ -350,7 +350,12 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate='today'
// Get all the possible users
$users = array();
$courseusers = get_enrolled_users($context, '', $selectedgroup, 'u.id, u.firstname, u.lastname, u.idnumber', 'lastname ASC, firstname ASC');
// Define limitfrom and limitnum for queries below
// If $showusers is enabled... don't apply limitfrom and limitnum
$limitfrom = empty($showusers) ? 0 : '';
$limitnum = empty($showusers) ? COURSE_MAX_USERS_PER_DROPDOWN + 1 : '';
$courseusers = get_enrolled_users($context, '', $selectedgroup, 'u.id, u.firstname, u.lastname', 'lastname ASC, firstname ASC', $limitfrom, $limitnum);
if (count($courseusers) < COURSE_MAX_USERS_PER_DROPDOWN && !$showusers) {
$showusers = 1;
+1
View File
@@ -125,6 +125,7 @@
$reportrow->cells[] = $numviewscell;
if ($CFG->useblogassociations) {
require_once($CFG->dirroot.'/blog/lib.php');
$blogcell = new html_table_cell();
$blogcell->attributes['class'] = 'blog';
if ($blogcount = blog_get_associated_count($course->id, $cm->id)) {
+1
View File
@@ -223,6 +223,7 @@
$countsql = "SELECT COUNT(DISTINCT(ra.userid))
FROM {role_assignments} ra
JOIN {user} u ON u.id = ra.userid
WHERE ra.contextid $relatedcontexts AND ra.roleid = :roleid";
$totalcount = $DB->count_records_sql($countsql, $params);
+9 -1
View File
@@ -270,6 +270,7 @@ switch ($mode) {
case "complete" :
get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused);
$sections = get_all_sections($course->id);
$itemsprinted = false;
for ($i=0; $i<=$course->numsections; $i++) {
@@ -279,8 +280,10 @@ switch ($mode) {
$showsection = (has_capability('moodle/course:viewhiddensections', $coursecontext) or $section->visible or !$course->hiddensections);
if ($showsection) { // prevent hidden sections in user activity. Thanks to Geoff Wilbert!
// Check the section has a sequence. This is the sequence of modules/resources.
// If there is no sequence there is nothing to display.
if ($section->sequence) {
$itemsprinted = true;
echo '<div class="section">';
echo '<h2>';
echo get_section_name($course, $section);
@@ -352,6 +355,11 @@ switch ($mode) {
}
}
}
if (!$itemsprinted) {
echo $OUTPUT->notification(get_string('nothingtodisplay'));
}
break;
case "coursecompletion":
case "coursecompletions":
+1 -1
View File
@@ -183,7 +183,7 @@ class enrol_database_plugin extends enrol_plugin {
$existing = array();
foreach ($current as $r) {
if (in_array($r->id, $roles)) {
if (in_array($r->roleid, $roles)) {
$existing[$r->roleid] = $r->roleid;
} else {
role_unassign($r->roleid, $user->id, $context->id, 'enrol_database', $instance->id);
+4
View File
@@ -271,6 +271,10 @@ class enrol_guest_plugin extends enrol_plugin {
}
}
$this->add_instance($course, $fields);
} else {
if ($this->get_config('defaultenrol')) {
$this->add_default_instance($course);
}
}
} else {
$instances = $DB->get_records('enrol', array('courseid'=>$course->id, 'enrol'=>'guest'));
+4
View File
@@ -394,6 +394,10 @@ function process_group_tag($tagcontents){
$courseid = $DB->insert_record('course', $course);
// Setup default enrolment plugins
$course->id = $courseid;
enrol_course_updated(true, $course, null);
// Setup the blocks
$course = $DB->get_record('course', array('id' => $courseid));
blocks_add_default_course_blocks($course);
+22 -2
View File
@@ -59,9 +59,9 @@ class enrol_self_edit_form extends moodleform {
$mform->setDefault('customint1', $plugin->get_config('groupkey'));
if ($instance->id) {
$roles = get_default_enrol_roles($context, $instance->roleid);
$roles = $this->extend_assignable_roles($context, $instance->roleid);
} else {
$roles = get_default_enrol_roles($context, $plugin->get_config('roleid'));
$roles = $this->extend_assignable_roles($context, $plugin->get_config('roleid'));
}
$mform->addElement('select', 'roleid', get_string('role', 'enrol_self'), $roles);
$mform->setDefault('roleid', $plugin->get_config('roleid'));
@@ -156,4 +156,24 @@ class enrol_self_edit_form extends moodleform {
return $errors;
}
/**
* Gets a list of roles that this user can assign for the course as the default for self-enrolment
*
* @param context $context the context.
* @param integer $defaultrole the id of the role that is set as the default for self-enrolement
* @return array index is the role id, value is the role name
*/
function extend_assignable_roles($context, $defaultrole) {
global $DB;
$roles = get_assignable_roles($context);
$sql = "SELECT r.id, r.name
FROM {role} r
WHERE r.id = $defaultrole";
$results = $DB->get_record_sql($sql);
if (isset($results->name)) {
$roles[$results->id] = $results->name;
}
return $roles;
}
}
+1 -1
View File
@@ -59,7 +59,7 @@ $string['pluginname'] = 'Self enrolment';
$string['pluginname_desc'] = 'The self enrolment plugin allows users to choose which courses they want to participate in. The courses may be protected by an enrolment key. Internally the enrolment is done via the manual enrolment plugin which has to be enabled in the same course.';
$string['requirepassword'] = 'Require enrolment key';
$string['requirepassword_desc'] = 'Require enrolment key in new courses and prevent removing of enrolment key from existing courses.';
$string['role'] = 'Assign role';
$string['role'] = 'Default assigned role';
$string['self:config'] = 'Configure self enrol instances';
$string['self:manage'] = 'Manage enrolled users';
$string['self:unenrol'] = 'Unenrol users from course';
+3
View File
@@ -19,6 +19,9 @@
$supportuser->email = $CFG->supportemail ? $CFG->supportemail : $admin->email;
$supportuser->firstname = $CFG->supportname ? $CFG->supportname : $admin->firstname;
$supportuser->lastname = $CFG->supportname ? '' : $admin->lastname;
//emailstop could be hard coded "false" to ensure error reports are sent
//but then admin's would have to alter their messaging preferences to temporarily stop them
$supportuser->emailstop = $admin->emailstop;
$supportuser->maildisplay = true;
/// Send the message and redirect
+29 -7
View File
@@ -171,10 +171,32 @@ class filter_mediaplugin extends moodle_text_filter {
///===========================
/// utility functions
/**
* Get mimetype of given url, useful for # alternative urls.
*
* @private
* @param string $url
* @return string $mimetype
*/
function filter_mediaplugin_get_mimetype($url) {
$matches = null;
if (preg_match("|^(.*)/[a-z]*file.php(\?file=)?(/[^&\?#]*)|", $url, $matches)) {
// remove the special moodle file serving hacks so that the *file.php is ignored
$url = $matches[1].$matches[3];
} else {
$url = preg_replace('/[#\?].*$/', '', $url);
}
$mimetype = mimeinfo('type', $url);
return $mimetype;
}
/**
* Parse list of alternative URLs
* @param string $url urls separated with '#', size specified as ?d=640x480 or #d=640x480
* @param int $defaultwidth
* @param int $defaultheight
* @return array (urls, width, height)
*/
function filter_mediaplugin_parse_alternatives($url, $defaultwidth = 0, $defaultheight = 0) {
@@ -252,7 +274,7 @@ function filter_mediaplugin_html5audio_callback(array $link) {
$fallbacklink = null;
foreach ($urls as $url) {
$mimetype = mimeinfo('type', $url);
$mimetype = filter_mediaplugin_get_mimetype($url);
if (strpos($mimetype, 'audio/') !== 0) {
continue;
}
@@ -344,7 +366,7 @@ function filter_mediaplugin_html5video_callback(array $link) {
$fallbacklink = null;
foreach ($urls as $url) {
$mimetype = mimeinfo('type', $url);
$mimetype = filter_mediaplugin_get_mimetype($url);
if (strpos($mimetype, 'video/') !== 0) {
continue;
}
@@ -546,7 +568,7 @@ function filter_mediaplugin_flv_callback($link) {
$sources = array();
foreach ($urls as $url) {
$mimetype = mimeinfo('type', $url);
$mimetype = filter_mediaplugin_get_mimetype($url);
if (strpos($mimetype, 'video/') !== 0) {
continue;
}
@@ -559,7 +581,7 @@ function filter_mediaplugin_flv_callback($link) {
}
if ($flashurl === null) {
$flashurl = str_replace('&', '&amp;', $url);
$flashurl = $url;
}
}
if (!$sources) {
@@ -592,7 +614,7 @@ OET;
// note: no need to print "this is flv link" because it is printed automatically if JS or Flash not available
$output = html_writer::tag('span', $printlink, array('id'=>$id, 'class'=>'mediaplugin mediaplugin_flv'));
$output .= html_writer::script(js_writer::function_call('M.util.add_video_player', array($id, $flashurl, $width, $height, $autosize))); // we can not use standard JS init because this may be cached
$output .= html_writer::script(js_writer::function_call('M.util.add_video_player', array($id, rawurlencode($flashurl), $width, $height, $autosize))); // we can not use standard JS init because this may be cached
return $output;
}
@@ -799,7 +821,7 @@ function filter_mediaplugin_wmp_callback($link) {
$mpsize = 'width="'.$link[4].'" height="'.($link[5] + 64).'"';
$autosize = 'false';
}
$mimetype = mimeinfo('type', $url);
$mimetype = filter_mediaplugin_get_mimetype($url);
@@ -861,7 +883,7 @@ function filter_mediaplugin_qt_callback($link) {
} else {
$size = 'width="'.$link[4].'" height="'.($link[5]+15).'"';
}
$mimetype = mimeinfo('type', $url);
$mimetype = filter_mediaplugin_get_mimetype($url);
// this is the safest fallback for incomplete or missing browser support for this format
return <<<OET
@@ -92,7 +92,6 @@ class filter_mediaplugin_test extends UnitTestCase {
'<a >test test</a>',
'<ahref="http://moodle.org/testfile/test.mp3">sample</a>',
'<a href="" test></a>',
'<a class="_blanktarget" href="http://moodle.org/testfile/test.flv?d=100x">test flv</a>',
'<a href="http://www.moodle.com/path/to?#param=29">test</a>',
'<a href="http://moodle.org/testfile/test.mp3">test mp3',
'<a href="http://moodle.org/testfile/test.mp3"test</a>',
+1
View File
@@ -108,6 +108,7 @@ if ($grade = $DB->get_record('grade_grades', array('itemid' => $grade_item->id,
$options->smiley = false;
$options->filter = false;
$options->noclean = false;
$options->para = false;
$grade->feedback = format_text($grade->feedback, $grade->feedbackformat, $options);
}
$grade->feedbackformat = FORMAT_HTML;
+1 -1
View File
@@ -32,7 +32,6 @@ class grade_import_form extends moodleform {
$mform->setType('id', PARAM_INT);
$mform->addElement('header', 'general', get_string('importfile', 'grades'));
$mform->disabledIf('url', 'userfile', 'noteq', '');
$mform->addElement('advcheckbox', 'feedback', get_string('importfeedback', 'grades'));
$mform->setDefault('feedback', 0);
@@ -42,6 +41,7 @@ class grade_import_form extends moodleform {
$mform->disabledIf('userfile', 'url', 'noteq', '');
$mform->addElement('text', 'url', get_string('fileurl', 'gradeimport_xml'), 'size="80"');
$mform->disabledIf('url', 'userfile', 'noteq', '');
if (!empty($CFG->gradepublishing)) {
$mform->addElement('header', 'publishing', get_string('publishing', 'grades'));
+1 -1
View File
@@ -632,7 +632,7 @@ class grade_report_grader extends grade_report {
$usercell->scope = 'row';
if ($showuserimage) {
$usercell->text = $OUTPUT->container($OUTPUT->user_picture($user), 'userpic');
$usercell->text = $OUTPUT->user_picture($user);
}
$usercell->text .= html_writer::link(new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $this->course->id)), fullname($user));
+35 -48
View File
@@ -2,6 +2,10 @@
* Grader report namespace
*/
M.gradereport_grader = {
/**
* @param {String} the script we send ajax requests to
*/
api : M.cfg.wwwroot+'/grade/report/grader/ajax_callbacks.php',
/**
* @param {Array} reports An array of instantiated report objects
*/
@@ -519,58 +523,58 @@ M.gradereport_grader.classes.ajax.prototype.get_below_cell = function(cell) {
*/
M.gradereport_grader.classes.ajax.prototype.submit = function(properties, values) {
// Stop the IO queue so we can add to it
this.report.Y.io.queue.stop();
// If the grade has changed add an IO transaction to update it to the queue
// If the grade has changed update it on the server
if (values.grade !== values.oldgrade) {
this.pendingsubmissions.push({transaction:this.report.Y.io.queue(M.cfg.wwwroot+'/grade/report/grader/ajax_callbacks.php', {
method : 'POST',
var cfg = {
method: 'POST',
data : 'id='+this.courseid+'&userid='+properties.userid+'&itemid='+properties.itemid+'&action=update&newvalue='+values.grade+'&type='+properties.itemtype+'&sesskey='+M.cfg.sesskey,
on : {
complete : this.submission_outcome
on: {
complete : this.submission_complete
},
context : this,
arguments : {
arguments: {
properties : properties,
values : values,
type : 'grade'
}
}),complete:false,outcome:null});
},
headers: {
},
};
this.report.Y.io(M.gradereport_grader.api, cfg);
}
// If feedback is editable and has changed add to the IO queue for it
// If feedback is editable and has changed update it on the server
if (values.editablefeedback && values.feedback !== values.oldfeedback) {
this.pendingsubmissions.push({transaction:this.report.Y.io.queue(M.cfg.wwwroot+'/grade/report/grader/ajax_callbacks.php', {
var cfg = {
method : 'POST',
data : 'id='+this.courseid+'&userid='+properties.userid+'&itemid='+properties.itemid+'&action=update&newvalue='+values.feedback+'&type=feedback&sesskey='+M.cfg.sesskey,
on : {
complete : this.submission_outcome
complete : this.submission_complete
},
context : this,
arguments : {
properties : properties,
values : values,
type : 'feedback'
}
}),complete:false,outcome:null});
},
headers: {
},
};
this.report.Y.io(M.gradereport_grader.api, cfg);
}
// Process the IO queue
this.report.Y.io.queue.start();
};
/**
* Callback function for IO transaction completions
*
* Uses a synchronous queue to ensure we maintain some sort of order
* Callback function called after grade and feedback changes
*
* @function
* @this {M.gradereport_grader.classes.ajax}
* @param {Int} tid Transaction ID
* @param {Object} outcome
* @param {Int} transactionid Transaction ID
* @param {Object} response
* @param {Mixed} args
*/
M.gradereport_grader.classes.ajax.prototype.submission_outcome = function(tid, outcome, args) {
M.gradereport_grader.classes.ajax.prototype.submission_complete = function(transactionid, response, args) {
// Parse the response as JSON
try {
outcome = this.report.Y.JSON.parse(outcome.responseText);
response = this.report.Y.JSON.parse(response.responseText);
} catch(e) {
var message = M.str.gradereport_grader.ajaxfailedupdate;
message.replace(/\[1\]/, args.type);
@@ -581,13 +585,13 @@ M.gradereport_grader.classes.ajax.prototype.submission_outcome = function(tid, o
// Quick reference for the grader report
var i = null;
// Check the outcome
if (outcome.result == 'success') {
// Check the response
if (response.result == 'success') {
// Iterate through each row in the result object
for (i in outcome.row) {
if (outcome.row[i] && outcome.row[i].userid && outcome.row[i].itemid) {
for (i in response.row) {
if (response.row[i] && response.row[i].userid && response.row[i].itemid) {
// alias it, we use it quite a bit
var r = outcome.row[i];
var r = response.row[i];
// Get the cell referred to by this result object
var info = this.report.get_cell_info([r.userid, r.itemid]);
if (!info) {
@@ -639,24 +643,7 @@ M.gradereport_grader.classes.ajax.prototype.submission_outcome = function(tid, o
} else if (args.type == 'feedback') {
this.report.update_feedback(p.userid, p.itemid, args.values.oldfeedback);
}
this.display_submission_error(outcome.message, p.cell);
}
// Check if all IO transactions in the queue are complete yet
var allcomplete = true;
for (i in this.pendingsubmissions) {
if (this.pendingsubmissions[i]) {
if (this.pendingsubmissions[i].transaction.id == tid) {
this.pendingsubmissions[i].complete = true;
this.pendingsubmissions[i].outcome = outcome;
this.report.Y.io.queue.remove(this.pendingsubmissions[i].transaction);
}
if (!this.pendingsubmissions[i].complete) {
allcomplete = false;
}
}
}
if (allcomplete) {
this.pendingsubmissions = [];
this.display_submission_error(response.message, p.cell);
}
};
/**
@@ -1197,4 +1184,4 @@ for (var i in M.gradereport_grader.classes.textfield.prototype) {
if (!M.gradereport_grader.classes.scalefield.prototype[i]) {
M.gradereport_grader.classes.scalefield.prototype[i] = M.gradereport_grader.classes.textfield.prototype[i];
}
}
}
+3 -7
View File
@@ -269,16 +269,12 @@ table#user-grades td.topleft {
background-color:#fff;
}
.path-grade-report-grader div.userpic {
margin-right:10px;
float:left;
}
.path-grade-report-grader div.userpic img {
.path-grade-report-grader th.user img {
border:3px double #cecece;
vertical-align:middle;
vertical-align:top;
width:2.7em;
height:2.7em;
margin-right:10px;
}
.path-grade-report-grader a.quickedit {
+1 -1
View File
@@ -103,7 +103,7 @@ if (has_capability('moodle/grade:viewall', $context)) { //Teachers will see all
if ($user_selector) {
$renderer = $PAGE->get_renderer('gradereport_user');
echo $renderer->graded_users_selector('user', $course, $userid, $currentgroup, false);
echo $renderer->graded_users_selector('user', $course, $userid, $currentgroup, true);
}
while ($userdata = $gui->next_user()) {
+2 -3
View File
@@ -650,7 +650,7 @@ class grade_report_user extends grade_report {
// Then left join with grade_grades and look for rows with null final grade (which includes grade items with no grade_grade)
$sql = "SELECT gi.id, COUNT(u.id) AS count
FROM {grade_items} gi
JOIN {user} u
JOIN {user} u ON u.deleted = 0
JOIN ($enrolledsql) je ON je.id = u.id
JOIN (
SELECT DISTINCT ra.userid
@@ -659,10 +659,9 @@ class grade_report_user extends grade_report {
AND ra.contextid " . get_related_contexts_string($this->context) . "
) rainner ON rainner.userid = u.id
LEFT JOIN {grade_grades} gg
ON (gg.itemid = gi.id AND gg.userid = u.id AND gg.finalgrade IS NOT NULL AND gg.hidden = 0)
ON (gg.itemid = gi.id AND gg.userid = u.id AND gg.finalgrade IS NOT NULL AND gg.hidden = 0)
$groupsql
WHERE gi.courseid = :courseid
AND u.deleted = 0
AND gg.finalgrade IS NULL
$groupwheresql
GROUP BY gi.id";
+1 -1
View File
@@ -183,7 +183,7 @@ var createLoaderImg = function (elClass, parentId, wwwRoot) {
}
var loadingImg = document.createElement("img");
loadingImg.setAttribute("src", M.util.image_url('moodle', '/i/ajaxloader'));
loadingImg.setAttribute("src", M.util.image_url('/i/ajaxloader', 'moodle'));
loadingImg.setAttribute("class", elClass);
loadingImg.setAttribute("alt", "Loading");
loadingImg.setAttribute("id", "loaderImg");
+1 -1
View File
@@ -20,7 +20,7 @@ $cancel = optional_param('cancel', false, PARAM_BOOL);
$group = $DB->get_record('groups', array('id'=>$groupid), '*', MUST_EXIST);
$course = $DB->get_record('course', array('id'=>$group->courseid), '*', MUST_EXIST);
$PAGE->set_url('/groups/members.php', array('id'=>$groupid));
$PAGE->set_url('/group/members.php', array('group'=>$groupid));
$PAGE->set_pagelayout('standard');
require_login($course);
+11 -9
View File
@@ -40,23 +40,25 @@
user_accesstime_log();
}
$hassiteconfig = has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM));
$PAGE->set_url('/');
$PAGE->set_course($SITE);
/// If the site is currently under maintenance, then print a message
if (!empty($CFG->maintenance_enabled) and !has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {
if (!empty($CFG->maintenance_enabled) and !$hassiteconfig) {
print_maintenance_message();
}
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {
if (moodle_needs_upgrading()) {
redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php');
}
} else if (get_home_page() != HOMEPAGE_SITE) {
if ($hassiteconfig && moodle_needs_upgrading()) {
redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php');
}
if (get_home_page() != HOMEPAGE_SITE) {
// Redirect logged-in users to My Moodle overview if required
if (optional_param('setdefaulthome', false, PARAM_BOOL)) {
set_user_preference('user_home_page_preference', HOMEPAGE_SITE);
} else if ($CFG->defaulthomepage == HOMEPAGE_MY && optional_param('redirect', true, PARAM_BOOL)) {
} else if ($CFG->defaulthomepage == HOMEPAGE_MY && optional_param('redirect', 1, PARAM_BOOL) === 1) {
redirect($CFG->wwwroot .'/my/');
} else if (!empty($CFG->defaulthomepage) && $CFG->defaulthomepage == HOMEPAGE_USER) {
$PAGE->settingsnav->get('usercurrentsettings')->add(get_string('makethismyhome'), new moodle_url('/', array('setdefaulthome'=>true)), navigation_node::TYPE_SETTING);
@@ -184,12 +186,12 @@
break;
case FRONTPAGECOURSELIST:
if (isloggedin() and !has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)) and !isguestuser() and empty($CFG->disablemycourses)) {
if (isloggedin() and !$hassiteconfig and !isguestuser() and empty($CFG->disablemycourses)) {
echo html_writer::tag('a', get_string('skipa', 'access', moodle_strtolower(get_string('mycourses'))), array('href'=>'#skipmycourses', 'class'=>'skip-block'));
echo $OUTPUT->heading(get_string('mycourses'), 2, 'headingblock header');
print_my_moodle();
echo html_writer::tag('span', '', array('class'=>'skip-block-to', 'id'=>'skipmycourses'));
} else if ((!has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)) and !isguestuser()) or ($DB->count_records('course') <= FRONTPAGECOURSELIMIT)) {
} else if ((!$hassiteconfig and !isguestuser()) or ($DB->count_records('course') <= FRONTPAGECOURSELIMIT)) {
// admin should not see list of courses when there are too many of them
echo html_writer::tag('a', get_string('skipa', 'access', moodle_strtolower(get_string('availablecourses'))), array('href'=>'#skipavailablecourses', 'class'=>'skip-block'));
echo $OUTPUT->heading(get_string('availablecourses'), 2, 'headingblock header');
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = 'n';
$string['cliansweryes'] = 'y';
$string['cliincorrectvalueerror'] = 'Fout, verkeerde waarde "{$ a-> value}" vir "{$ a-> option}"';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,4 +28,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['thislanguage'] = 'Afrikaans';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,4 +28,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['dirroot'] = 'Moodle ማውጫ';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,4 +28,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['thislanguage'] = ' አማርኛ';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'ቋንቋ';
$string['next'] = 'ቀጣይ';
$string['previous'] = 'ቀዳሚ';
+4 -2
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,13 +28,15 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = 'لا';
$string['cliansweryes'] = 'نعم';
$string['cliincorrectvalueerror'] = 'خطأ، القيمة "{$a->value}" غير صحيحة من أجل "{$a->option}"';
$string['cliincorrectvalueretry'] = 'قيمة غير صحيحة، حاول مرة أخرى';
$string['clitypevalue'] = 'أدخل القيمة';
$string['clitypevaluedefault'] = 'ادخل القيم أو اضغط انتر (Enter) لإستخدام القيم الأفتراضية ({$a})';
$string['cliunknowoption'] = 'خيارات غير معروفة
$string['cliunknowoption'] = 'خيارات غير معروفة
{$a}
الرجاء استخدام خيار المساعدة';
$string['cliyesnoprompt'] = 'ادخل (Y) تعني نعم أو (N) تعني لأ';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['cannotcreatelangdir'] = 'لا يمكن إنشاء مجلد اللغة';
$string['cannotcreatetempdir'] = 'لا يمكن إنشاء المجلد المؤقت';
$string['cannotdownloadcomponents'] = 'لم يتم تحميل العناصر';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'مجلد الإدارة';
$string['availablelangs'] = 'حزم اللغة المتوفره';
$string['chooselanguagehead'] = 'اختر اللغة';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,5 +28,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['thisdirection'] = 'rtl';
$string['thislanguage'] = 'عربي';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'اللغة';
$string['next'] = 'التالي';
$string['previous'] = 'السابق';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,5 +28,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['environmentrequireinstall'] = 'solicítase instalar y activar esto.';
$string['environmentrequireversion'] = 'Solicítase la versión {$a->needed} y va executar la {$a->current}';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['cannotcreatelangdir'] = 'Nun pue crear un direutoriu d\'idioma.';
$string['cannotcreatetempdir'] = 'Nun pue crear un direutoriu de tiempu.';
$string['cannotdownloadcomponents'] = 'Nun pue descargar componentes.';
+5 -3
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['admindirname'] = 'Direutoriu d\'alministración';
$string['availablelangs'] = 'Paquetes d\'idioma disponibles';
$string['chooselanguagehead'] = 'Escueya idioma';
@@ -42,10 +44,10 @@ $string['memorylimithelp'] = '<p>La llende de memoria del PHP del so servidor ta
<p>Esto va facer que Moodle tenga problemes de memoria más tarde, especialmente si tien munchos módulos y/o munchos usuarios.</p>
<p>Recomendamos que configure PHP con una llende más grande si ye posible, como por exemplu 40M.
<p>Recomendamos que configure PHP con una llende más grande si ye posible, como por exemplu 40M.
Esisten varies formes nes que pue intentar facer esta modificación:</p>
<ol>
<li>Si pue, recompile PHP con <i>--enable-memory-limit</i>.
<li>Si pue, recompile PHP con <i>--enable-memory-limit</i>.
Esto va permitir que\'l propiu Moodle modifique la llende de memoria.</li>
<li>Si tien accesu al so ficheru php.ini pue modificar el valor de <b>memory_limit</b> a daqué paecío a 40M. Si nun tien accesu a esi ficheru igual pue pidir al alministrador del sistema que lo faiga.</li>
<li>En dellos servidores PHP pue crear un ficheru .htaccess nel direutoriu Moodle cola ringlera que vien darréu:
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,5 +28,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'Asturianu';
+3 -1
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,6 +28,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['language'] = 'Idioma';
$string['next'] = 'Siguiente';
$string['previous'] = 'Anterior';
+5 -3
View File
@@ -16,7 +16,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Automatically generated strings for Moodle 2.0 installer
* Automatically generated strings for Moodle installer
*
* Do not edit this file manually! It contains just a subset of strings
* needed during the very first steps of installation. This file was
@@ -28,14 +28,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$string['clianswerno'] = 'n';
$string['cliansweryes'] = 'y';
$string['cliincorrectvalueerror'] = 'Səhv, "{$a->option}" üçün səhv "{$a->value}" qiyməti';
$string['cliincorrectvalueretry'] = 'Qiymət səhvdir, zəhmət olmasa yenidən cəhd edin';
$string['clitypevalue'] = 'Qiyməti daxil edin';
$string['clitypevaluedefault'] = 'Qiyməti daxil edin, ({$a}) qiymətindən avtomatik olaraq istifadə etmək üçün Enter düyməsini basın';
$string['cliunknowoption'] = 'Təyin olunmayan parametrlər:
{$a}
$string['cliunknowoption'] = 'Təyin olunmayan parametrlər:
{$a}
Zəhmət olmasa help parametrindən istifadə edin';
$string['cliyesnoprompt'] = 'y (bəli) və n (xeyr) düyməsini basın';
$string['environmentrequireinstall'] = 'quraşdırılıb işə salınmalıdır';

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