Compare commits

...

1054 Commits

Author SHA1 Message Date
Martin Dougiamas bd6ec36735 Bumping for 1.9.10 release 2010-10-25 06:36:35 +00:00
Moodle Robot 1036a833d9 Updated the 19 build version to 20101025 2010-10-25 00:52:24 +00:00
Petr Skoda c5fc40990b MDL-24808 2010-10-24 22:14:11 +00:00
Moodle Robot 813d4754fd Updated the 19 build version to 20101024 2010-10-24 00:55:27 +00:00
Petr Skoda ad5644829f MDL-24803 fixed tagid typo in tag correlation table update 2010-10-23 10:28:06 +00:00
Moodle Robot 120604f429 Updated the 19 build version to 20101023 2010-10-23 00:52:55 +00:00
Petr Skoda 71d49c63c4 MDL-24810 importing latest HTMLPurifier - already tested in HEAD for some time 2010-10-22 14:46:59 +00:00
Petr Skoda 9551b113bc MDL-20210 dod not stop login process when can not connect to auth/db external database 2010-10-22 09:11:55 +00:00
Moodle Robot 6989ee3a2e Updated the 19 build version to 20101022 2010-10-22 00:53:32 +00:00
Inaki 257f5e3655 auth/cas MDL-24789 phpCAS single sign-on module client needs updating due to security issues
Upgraded phpCAS to 1.1.3 (latest stable version), which fixes them.
2010-10-21 07:53:00 +00:00
Gordon Bateson 280d8c1d5d MDL-24779 mod/hotpot tidy up calls to js_value() method which escapes and encodes unicode strings for javascript 2010-10-21 03:17:30 +00:00
Moodle Robot 61225707fe Updated the 19 build version to 20101021 2010-10-21 00:58:09 +00:00
Gordon Bateson 1775e5e042 MDL-24779 mod/hotpot fix escaping of apostrophes on strings that are used within JavaScript 2010-10-20 14:41:52 +00:00
Moodle Robot 0a85771b07 Updated the 19 build version to 20101020 2010-10-20 00:48:49 +00:00
Moodle Robot 993cc5c7a3 Updated the 19 build version to 20101019 2010-10-19 00:48:28 +00:00
Sam Hemelryk 3a4546b910 course-participation-report MDL-23603 Optimised SQL, merged from HEAD 2010-10-18 04:54:25 +00:00
Moodle Robot f4c126ba1d Updated the 19 build version to 20101018 2010-10-18 00:49:12 +00:00
Moodle Robot 1773a53f62 Updated the 19 build version to 20101017 2010-10-17 00:48:14 +00:00
Petr Skoda 470559c68a MDL-20716 json PHP extension is required in Moodle 2.0 2010-10-16 18:03:34 +00:00
Petr Skoda 5467d64c2a MDL-20643 fixed login redirection from user profile 2010-10-16 17:59:35 +00:00
Moodle Robot 6d819631e9 Updated the 19 build version to 20101016 2010-10-16 00:48:54 +00:00
Aparup Banerjee 21e609d5b7 forum MDL-24638 improved forum_search_posts by passing through cm and context from forum_get_readable_forums. 2010-10-15 03:13:20 +00:00
Andrew Davis 6dbefdab52 gradebook MDL-24682 1.9 corrected a capability check that was incorrectly allowing some users to make a course scale a standard scale 2010-10-15 02:58:18 +00:00
Moodle Robot 57e5e322fc Updated the 19 build version to 20101015 2010-10-15 00:49:40 +00:00
Rossiani Wijaya 4ba226fdd0 MDL-20396:
1. remove carriage return to prevent javascript error
2. remove whitespaces.
2010-10-14 06:12:23 +00:00
Moodle Robot 5de2c6fbd3 Updated the 19 build version to 20101014 2010-10-14 00:49:29 +00:00
Petr Skoda e10317e53e MDL-20366 reverting previous commit because it breaks label indentation, sorry 2010-10-13 20:30:23 +00:00
Jenny Gray 7d2c082b1a MDL-24565 control characters stripped so xml output functions correctly
now without unicode regular expression
2010-10-13 14:07:59 +00:00
Moodle Robot b9a87c8fc0 Updated the 19 build version to 20101013 2010-10-13 00:48:20 +00:00
Petr Skoda fc32b26906 MDL-14595 more CSS styles whitelisted in KSES 2010-10-12 09:20:19 +00:00
Moodle Robot 8d34226d31 Updated the 19 build version to 20101012 2010-10-12 00:49:42 +00:00
Sam Marshall 302b1c4bec accessibility MDL-24163 Change to accesshide definition to avoid rare Safari/VoiceOver crashes 2010-10-11 15:57:17 +00:00
Aparup Banerjee dcba9ebe59 assignment MDL-24469 fixed an SQL error with get_role_users() when there are no graded roles set ( was passing in an empty array as roleid). 2010-10-11 07:43:55 +00:00
Rossiani Wijaya 6eab1a9b0c MDL-20034: add title attribute to user picture. 2010-10-11 05:43:00 +00:00
Rossiani Wijaya 42d68af1d1 MDL-19146: fixed display message history for non-admin user. 2010-10-11 02:54:28 +00:00
Moodle Robot f0542ff914 Updated the 19 build version to 20101011 2010-10-11 00:51:09 +00:00
Petr Skoda 8a436292d8 MDL-20366 mod/label output now wrapped in DIV instead of SPAN - XHTML strict fix (thanks Andrea Bicciolo) 2010-10-10 17:51:08 +00:00
Petr Skoda c1e19bd258 MDL-10782 fixed double footer when deleting glossary category 2010-10-10 10:21:28 +00:00
Moodle Robot 7ca5bce01d Updated the 19 build version to 20101010 2010-10-10 00:48:01 +00:00
Moodle Robot 7863792b6b Updated the 19 build version to 20101009 2010-10-09 00:49:03 +00:00
Moodle Robot 866827bf78 Updated the 19 build version to 20101008 2010-10-08 00:49:13 +00:00
Rossiani Wijaya f030e2a793 MDL-19927: add new plugins for ogg and ogv file and also removing some extra whitespaces within the file. 2010-10-07 08:42:46 +00:00
Sam Hemelryk d5abaa68e0 mod-resource MDL-15686 Applied patch for fix force download JS locking. Kudos Yolanda for the patch. 2010-10-07 05:40:35 +00:00
Moodle Robot b5afaf51bd Updated the 19 build version to 20101007 2010-10-07 00:48:16 +00:00
Petr Skoda 03c5a27bf4 MDL-6122 truncate_userinfo() has to use unicode aware functions 2010-10-06 19:15:31 +00:00
Petr Skoda 78da89dc64 MDL-24523 markdown text cleanup 2010-10-06 12:22:19 +00:00
David Mudrak ee8dd77f75 MDL-24530 Fixed core functions usage during early install phase when the site is not fully set up yet 2010-10-06 08:50:31 +00:00
Moodle Robot ec7e6c6de8 Updated the 19 build version to 20101006 2010-10-06 00:49:03 +00:00
jerome mouneyrac a3ed90bb6c database module MDL-24470 change 'notification' column ('data' table) default and NOT NULL. Update code for restore operation to support old backup with NULL value into 'notification'. 2010-10-05 01:56:10 +00:00
Moodle Robot 00067c196e Updated the 19 build version to 20101005 2010-10-05 00:48:39 +00:00
Moodle Robot a0459f2008 Updated the 19 build version to 20101004 2010-10-04 00:48:53 +00:00
Moodle Robot 006d30e7ac Updated the 19 build version to 20101003 2010-10-03 00:51:45 +00:00
Moodle Robot 0c32b5c061 Updated the 19 build version to 20101002 2010-10-02 00:52:30 +00:00
Andrew Davis ca664bc4e9 data MDL-24473 corrected the data table description 2010-10-01 08:09:42 +00:00
Rossiani Wijaya 3ead833be8 MDL-24258: removing white spaces. 2010-10-01 02:33:18 +00:00
Moodle Robot 44aa24d71b Updated the 19 build version to 20101001 2010-10-01 00:52:04 +00:00
Moodle Robot 4d53caffe9 Updated the 19 build version to 20100930 2010-09-30 00:52:15 +00:00
Moodle Robot 5efa1f7c65 Updated the 19 build version to 20100929 2010-09-29 00:53:51 +00:00
Petr Skoda dd4f38980c MDL-24225 fixed https login redirection - credit goes to Andrew Zoltay 2010-09-28 14:05:37 +00:00
Moodle Robot ce9830f4b7 Updated the 19 build version to 20100928 2010-09-28 00:53:22 +00:00
Moodle Robot f2cde6fe5d Updated the 19 build version to 20100927 2010-09-27 00:53:37 +00:00
Moodle Robot 8237dedfee Updated the 19 build version to 20100926 2010-09-26 00:51:35 +00:00
Moodle Robot fa8f0918f0 Updated the 19 build version to 20100925 2010-09-25 00:53:50 +00:00
Inaki eac3177bc1 auth/cas MDL-18643 CAS synchronization fails with Microsoft Active Directory
The bug was fixed in LDAP auth plugin but was not applied to CAS auth too.

Thanks to Jose Garcia for the bug report and proposed fix.
2010-09-24 12:46:46 +00:00
Inaki a727aabc50 auth/cas MDL-16168 CAS crashes if no LDAP is set up
Fix the other two potential places where CAS would crash
if no LDAP server is configured.

Thanks to Mark Nielsen for prompting me to have a deeper look at it.
2010-09-24 12:27:07 +00:00
Rossiani Wijaya 0e744d43dc MDL-18232: fixed section links error for IE8 2010-09-24 05:19:38 +00:00
Moodle Robot 09cb29fbb6 Updated the 19 build version to 20100924 2010-09-24 00:53:11 +00:00
Andrea Bicciolo f367460381 mdl-24033 - fix Daniele's reopening for 1.9 2010-09-23 11:31:43 +00:00
Rossiani Wijaya c927eb443e MDL-24258: eliminate student capability to delete their post when it exceeded the max editing time. 2010-09-23 09:10:05 +00:00
Moodle Robot b02ed89582 Updated the 19 build version to 20100923 2010-09-23 00:52:34 +00:00
Moodle Robot c3dd17d66c Updated the 19 build version to 20100922 2010-09-22 00:54:49 +00:00
Moodle Robot 06db98f7d7 Updated the 19 build version to 20100921 2010-09-21 00:52:26 +00:00
Moodle Robot a6436e6c90 Updated the 19 build version to 20100920 2010-09-20 00:51:51 +00:00
Moodle Robot f0ec46b98f Updated the 19 build version to 20100919 2010-09-19 00:53:02 +00:00
Moodle Robot 6f420fb2d6 Updated the 19 build version to 20100918 2010-09-18 00:53:31 +00:00
David Mudrak b803fa1628 NOMDL resource: fixed client side validation for file resource location
This was spotted during the work on MDL-21382. Without this fix, the
Location field is not validated against empty values.
2010-09-17 22:30:20 +00:00
David Mudrak 82b7f70bf4 MDL-21382 mform: escape invalid characters when generating javascript validation function name
This patch fixes the support for addGroupRule in cases when the element
name contains invalid characters like square brackets (that is if the
group element is an array element).

Credit goes to Hubert Chathi for the solution and the patch provided.
2010-09-17 22:29:37 +00:00
Eloy Lafuente 50978a0b6a Initial commit of dz_utf8 installer lang strings for 19_STABLE 2010-09-17 16:44:40 +00:00
Eloy Lafuente 344816b106 file installer.php was added on branch MOODLE_19_STABLE on 2010-09-17 16:44:40 +0000 2010-09-17 16:44:02 +00:00
Andrew Davis 3318054d95 gradebook MDL-23928 fixed grade history recording to correctly save the user id of the user making the change pt 2 2010-09-17 03:09:29 +00:00
Andrew Davis ca0cd9a253 gradebook MDL-23928 fixed grade history recording to correctly save the user id of the user making the change 2010-09-17 03:04:07 +00:00
Sam Hemelryk 209a25197d mod-assignment MDL-23848 Fixed regression causing group dropdowns to be ignored when viewing submissions 2010-09-17 01:44:14 +00:00
Moodle Robot 8c4d14e892 Updated the 19 build version to 20100917 2010-09-17 00:52:10 +00:00
Pierre Pichet 2f31d18184 MDL-24241 replacing !empty() by isset() 2010-09-16 23:04:58 +00:00
Andrea Bicciolo 8fa7806c77 Update according to capability change in "data_atmaxentries" function 2010-09-16 10:42:18 +00:00
Sam Hemelryk a3f2fa69b0 mod-assignment MDL-23848 Users can now view previously submit assignments if they no longer have the submit capability 2010-09-16 05:45:40 +00:00
Martin Dougiamas 0fab420435 MDL-22551 Grr fixed typo 2010-09-16 02:13:07 +00:00
Martin Dougiamas 436f4e0757 forum MDL-22551 Don't put In-Reply-To and References headers on the first post for a thread 2010-09-16 01:49:06 +00:00
Moodle Robot 86254f78ea Updated the 19 build version to 20100916 2010-09-16 00:53:19 +00:00
Moodle Robot 0da9b1ffc9 Automatic installer.php lang files by installer_builder (20100916) 2010-09-16 00:43:35 +00:00
Eloy Lafuente 28ff610968 MDL-24207 dml - fix in oracle fallabck for sequences that shouldn't be executed ever 2010-09-15 20:08:58 +00:00
Inaki 9a688af4ee auth/cas MDL-16168 CAS crashes if no LDAP is set up
Don't crash if no LDAP server is configured. This also means that
user details need to be retrieved/updated via other means.
2010-09-15 16:18:52 +00:00
Moodle Robot ae0a52faaa Updated the 19 build version to 20100915 2010-09-15 00:55:35 +00:00
Andrew Davis 76fe2687d5 gradebook MDL-22841 fixed a bug where the user report when viewing multiple students would misreport student's course totals 2010-09-14 08:32:58 +00:00
Moodle Robot e14ee4ce58 Updated the 19 build version to 20100914 2010-09-14 00:53:36 +00:00
Moodle Robot fcaa1b1078 Automatic installer.php lang files by installer_builder (20100914) 2010-09-14 00:43:51 +00:00
Eloy Lafuente 07ee3b4e29 MDL-24189 data module restore - Fix 1.x comments and ratings restore. Were missing user remappings. 2010-09-13 21:16:28 +00:00
Rossiani Wijaya 22ed3e491a MDL-20138 - convert & to ampersand symbol in Grades tooltip (for simple and full view). 2010-09-13 10:09:27 +00:00
Andrew Davis 656f1a97da data MDL-23488 made available from/to work 2010-09-13 08:39:34 +00:00
Andrea Bicciolo 9398995df6 Fix for MDL-24033 2010-09-13 07:43:06 +00:00
Moodle Robot d4bd146ab5 Updated the 19 build version to 20100913 2010-09-13 00:53:41 +00:00
Moodle Robot 90887b82ee Updated the 19 build version to 20100912 2010-09-12 00:52:21 +00:00
Moodle Robot aaf191d026 Updated the 19 build version to 20100911 2010-09-11 00:53:16 +00:00
Moodle Robot b0288f3f3a Updated the 19 build version to 20100910 2010-09-10 00:51:59 +00:00
Moodle Robot 91a59aa1d6 Updated the 19 build version to 20100909 2010-09-09 00:53:33 +00:00
Eloy Lafuente 912ecb4d73 MDL-16106 report - fix old double-column trick causing problems in backup logs. Thanks Luis! 2010-09-08 16:51:29 +00:00
Moodle Robot 50d28776fc Updated the 19 build version to 20100908 2010-09-08 00:54:18 +00:00
Moodle Robot 4becfc43c8 Updated the 19 build version to 20100907 2010-09-07 00:54:23 +00:00
Moodle Robot 16a6a4730a Updated the 19 build version to 20100906 2010-09-06 00:52:04 +00:00
Petr Skoda db3db60f7d MDL-23431 XMLDB editor fails to parse STATEMENTS properly in certain cases 2010-09-05 21:15:12 +00:00
Petr Skoda 7c48c3c060 MDL-23899 PHP Intl extension is recommended in 2.0 now because we use it for asort in textlib 2010-09-05 13:13:12 +00:00
Moodle Robot 0724fdfa75 Updated the 19 build version to 20100905 2010-09-05 00:51:52 +00:00
Moodle Robot 290c3851f1 Updated the 19 build version to 20100904 2010-09-04 00:52:09 +00:00
Inaki 29c3c0a42d MDL-23864 auth/cas Coding error: Undefined index REQUEST_URI in auth/cas/CAS/CAS.php
Patch our local copy (and record the change) while upstream fixes it (see
https://issues.jasig.org/browse/PHPCAS-81 )
2010-09-03 16:51:11 +00:00
Petr Skoda 08c5c9fd52 MDL-24043 addslashes_object() for and added default course category is insert fails, credit goes to Troy Williams <troyw@waikato.ac.nz> 2010-09-03 11:31:30 +00:00
Moodle Robot 649ec3ad84 Updated the 19 build version to 20100903 2010-09-03 00:52:48 +00:00
Moodle Robot 6bc05947bc Updated the 19 build version to 20100902 2010-09-02 00:51:56 +00:00
Moodle Robot a14e1e3933 Updated the 19 build version to 20100901 2010-09-01 00:54:24 +00:00
Moodle Robot 8e2173b1d2 Automatic installer.php lang files by installer_builder (20100901) 2010-09-01 00:43:42 +00:00
Moodle Robot 561f8bd698 Updated the 19 build version to 20100831 2010-08-31 00:53:40 +00:00
Rossiani Wijaya 3385b1702e MDL-10906 - remove the functionality to add a local file. 2010-08-30 02:17:54 +00:00
Moodle Robot 372f31d6f3 Updated the 19 build version to 20100830 2010-08-30 00:48:58 +00:00
Petr Skoda 49fbc2b157 MDL-23974 dom and xml extensions are now required - backported from HAED 2010-08-29 19:37:45 +00:00
Petr Skoda fb70228496 MDL-15057 PCRE is a required extension, looks like we do not need to add detailed feedback strings for required extensions - nice! 2010-08-29 19:28:28 +00:00
Moodle Robot 51faf98dee Updated the 19 build version to 20100829 2010-08-29 00:48:48 +00:00
Moodle Robot 5a504a9e11 Updated the 19 build version to 20100828 2010-08-28 00:48:23 +00:00
Moodle Robot 7f428b50b7 Updated the 19 build version to 20100827 2010-08-27 00:49:48 +00:00
Moodle Robot 065d0c8364 Updated the 19 build version to 20100826 2010-08-26 00:48:29 +00:00
Andrew Davis eb8f8daecb admin MDL-21011 fix a bug with the course auto-sort 2010-08-25 00:59:40 +00:00
Moodle Robot fd87f11c24 Updated the 19 build version to 20100825 2010-08-25 00:48:15 +00:00
Moodle Robot 097b999c6c Updated the 19 build version to 20100824 2010-08-24 00:49:33 +00:00
Moodle Robot ee809c7098 Updated the 19 build version to 20100823 2010-08-23 00:48:35 +00:00
Moodle Robot 180aff354a Updated the 19 build version to 20100822 2010-08-22 00:48:06 +00:00
Moodle Robot a7d4c04104 Updated the 19 build version to 20100821 2010-08-21 00:48:06 +00:00
Moodle Robot 28aadeecdc Updated the 19 build version to 20100820 2010-08-20 00:48:17 +00:00
Sam Marshall 2780a3f5fc blocks MDL-23871 blocks_have_content ignores global block visibility option 2010-08-19 14:06:03 +00:00
Moodle Robot 8f17261d25 Updated the 19 build version to 20100819 2010-08-19 00:48:33 +00:00
Moodle Robot 443528d31b Updated the 19 build version to 20100818 2010-08-18 00:48:57 +00:00
Moodle Robot 920fe9fcaf Updated the 19 build version to 20100817 2010-08-17 00:48:56 +00:00
Moodle Robot bb52365f1a Updated the 19 build version to 20100816 2010-08-16 00:47:47 +00:00
Moodle Robot 82db8939ee Updated the 19 build version to 20100815 2010-08-15 00:48:51 +00:00
Moodle Robot df33ac3d4c Automatic installer.php lang files by installer_builder (20100815) 2010-08-15 00:39:40 +00:00
Moodle Robot 49c067f1a0 Updated the 19 build version to 20100814 2010-08-14 00:48:01 +00:00
Moodle Robot 4d4084c560 Automatic installer.php lang files by installer_builder (20100814) 2010-08-14 00:38:56 +00:00
Moodle Robot 58933a99c1 Updated the 19 build version to 20100813 2010-08-13 00:47:55 +00:00
Ashley Holman 7a8868f00a MDL-23755 remove erroneous sleep() call when messages are sent
Results in big speed boost when sending messages to multiple recipients.
2010-08-12 07:07:48 +00:00
Andrew Davis 4afe9581ab gradebook MDL-22931 display more meaningful strings when configuring grade category 2010-08-12 01:32:56 +00:00
Moodle Robot 9f4b6432da Updated the 19 build version to 20100812 2010-08-12 00:48:02 +00:00
Tim Hunt a1a0d9a49d question import/export MDL-23198 extra_question_fields not handling special characters properly.
Thanks to Oleg Sychev for the fix.
2010-08-11 19:05:50 +00:00
Tim Hunt 874a2eaf55 quiz reports MDL-23161 notify(get_string('nostudentsyet')) breaking downloads. 2010-08-11 18:34:44 +00:00
Andrew Davis 9cb5d53238 gradebook MDL-19070 Added a guard to protect against a potential error 2010-08-11 07:27:35 +00:00
Moodle Robot 6c71cb9758 Updated the 19 build version to 20100811 2010-08-11 00:51:31 +00:00
Moodle Robot 08264ea23b Automatic installer.php lang files by installer_builder (20100811) 2010-08-11 00:38:25 +00:00
Petr Skoda ddff72647a MDL-23667 reverting my previous wrong patch and using original patch by Matt Clarkson, sorry for the trouble 2010-08-10 07:22:59 +00:00
Moodle Robot f8d17f7225 Updated the 19 build version to 20100810 2010-08-10 00:47:54 +00:00
Petr Skoda 5f724f2f3b MDL-23726 fixed phpdocs - credit goes to Henning Bostelmann 2010-08-09 16:19:09 +00:00
Petr Skoda 11b153215d MDL-23667 fixed unenscaped query 2010-08-09 08:08:17 +00:00
Moodle Robot 846a5fe4f1 Updated the 19 build version to 20100809 2010-08-09 00:47:08 +00:00
Moodle Robot 16023079de Updated the 19 build version to 20100808 2010-08-08 00:47:41 +00:00
Moodle Robot 7be338eca0 Updated the 19 build version to 20100807 2010-08-07 00:47:45 +00:00
Inaki b652d769bf auth/ldap MDL-23652 Error in auth_ldap_sync_users.php
We need to specify a valid user id in the call to role_assign(). And we only
have to make the call if the user has been added successfully, not
otherwise.

Also make sure we lowercase the memberuser and group distinguished names
before comparing them. Depending on the LDAP server we can get mixed case
values for the DNs, and the user may have specified the creators group/ou
name in a different case.

By the way, this has been broken for ages (since the auth cleanup in 1.8, in
2007!). It's a bit strange nobody noticed before :-O

Credit goes to Joe Chryst.
2010-08-07 00:38:15 +00:00
Inaki 7647cb357e auth/cas MDL-23645 CAS single sign-on module needs updating due to security issues
Upgraded phpCAS to 1.1.2 and fixed https://issues.jasig.org/browse/PHPCAS-73 ,
as reported by Fred Woolard in MDL-23126 (the fix will be in upstream in the
next release)

Credit goes to Johan Reinalda.
2010-08-06 21:21:25 +00:00
Tim Hunt 96666fb36a quiz delays MDL-20956 don't let overdue attempts + delays block students.
Suppose a quiz has a 60 min time limit, and an enforced delay of 60 mins between attempts.

Suppose a sudent starts an attempt, and then closes their browser, and then comes back 2 hours later. When they try to restart the quiz, it is submitted immediately by the timer.

Now they are blocked out for the next hour.

After this change, they would no longer be blocked, becuse if their attemtp had been submitted at the end of the first hour, then they would already have waited an hour.

That is, we compare the current time with both $lastattempt->timefinish + $delay and $lastattempt->timestart + $timelimit + $delay.
2010-08-06 11:41:48 +00:00
Moodle Robot dd2e755837 Updated the 19 build version to 20100806 2010-08-06 00:46:53 +00:00
Tim Hunt 8e47727dab question moving MDL-21195 add missing error message strings. 2010-08-05 17:33:09 +00:00
Tim Hunt 9e0825e908 quiz password: MDL-20779 the page that asks for the password must call print_header and print_footer, even in secure mode. 2010-08-05 15:51:40 +00:00
Tim Hunt 155ac544d5 quiz reports MDL-21262 do not work for quizzes on the front page.
This was already fixed in 2.0. A bit of a hack to make it work in 1.9 too.
Hopefully there won't be any side-effects.
2010-08-05 15:37:05 +00:00
Tim Hunt d35f34c282 qformat xml MDL-22743 questiontextformat not imported correctly since the fix for MDL-9700 went in. 2010-08-05 13:11:28 +00:00
Tim Hunt 348aae8680 quiz reports MDL-21111 Quiz duration is reported in years if Time Finish is before Time Start
Suppose you have two load-balanced servers with badly-synchronised clocks, and
a student does a really quick quiz attempt.

Then it is possible that quiz_attemtp.timestart is greater than quiz_attemtp.timefinish.
And these columns are unsigned (on MySQL) so timefinish - timestart is compulted as
a number close to 2^64, which is about 42 times the age of the universe.

Do the subtraction in PHP instead. (But we still need to compute a duration columnin PHP
because sometimes we sort on it.)
2010-08-05 12:43:15 +00:00
Tim Hunt f7046b2599 multianswer question import MDL-11326 make a better question name.
Also fix coding style in this file.
2010-08-05 12:13:29 +00:00
Moodle Robot b36082baa4 Updated the 19 build version to 20100805 2010-08-05 00:47:09 +00:00
Tim Hunt f47906fbf5 weblib MDL-22664 html_to_text should not strip images, it should replace them by their alt text.
Also, an new optional argument to html_to_text to control word-wrapping.
2010-08-04 17:39:56 +00:00
Moodle Robot 791325ae6c Updated the 19 build version to 20100804 2010-08-04 00:47:40 +00:00
Tim Hunt 981a7785be quiz overview report MDL-23377 can't delete attempts when there are no students.
Actually, reviewing this, I noticed some other security checks were missing, for
example we should ensure the users can only delete attempts belonging to this quiz!
2010-08-03 13:15:28 +00:00
Tim Hunt bed436f084 quiz overview MDL-23377 whitespace cleanup, before doing the real fix. 2010-08-03 12:54:24 +00:00
Tim Hunt e9686d7015 qtype shortanswer MDL-20380 small refactoring to help subclasses. Thanks to Oleg Sychev. 2010-08-03 10:39:54 +00:00
Moodle Robot 8427722a9e Updated the 19 build version to 20100803 2010-08-03 00:47:14 +00:00
Moodle Robot 961f188766 Automatic installer.php lang files by installer_builder (20100803) 2010-08-03 00:38:40 +00:00
Tim Hunt 2477185155 grader report NOBUG strange 'null' tooltip sometimes appeard in IE. 2010-08-02 16:33:29 +00:00
Moodle Robot cebf5c6673 Updated the 19 build version to 20100802 2010-08-02 00:47:30 +00:00
Petr Skoda e19e3b6e9e MDL-22508 fixed deprecated wiki text formating pointing to nonexistent function 2010-08-01 10:03:38 +00:00
Moodle Robot ebe4e916f1 Updated the 19 build version to 20100801 2010-08-01 00:50:33 +00:00
Moodle Robot 34ab2f0006 Updated the 19 build version to 20100731 2010-07-31 00:51:13 +00:00
Andrew Davis 9ab33a1328 gradebook MDL-23577 made grade_update_outcomes() return a success/failure flag 2010-07-30 06:46:32 +00:00
Moodle Robot 1b8ee2a01b Updated the 19 build version to 20100730 2010-07-30 00:50:10 +00:00
Moodle Robot 2f2607a256 Updated the 19 build version to 20100729 2010-07-29 00:48:07 +00:00
Tim Hunt e8a63fdaba MDL-23560 questions import/export. PHP5 protected had been comitted to the 1.9 branch. Sorry. 2010-07-28 14:18:37 +00:00
David Mudrak 51b2bf5ab1 MDL-21845 multilang filter applied to custom field labels in user profile 2010-07-28 09:41:54 +00:00
Moodle Robot 0af9124a00 Updated the 19 build version to 20100728 2010-07-28 00:47:07 +00:00
Moodle Robot 4bfc5e542e Updated the 19 build version to 20100727 2010-07-27 00:47:40 +00:00
Moodle Robot 96c20af86a Automatic installer.php lang files by installer_builder (20100727) 2010-07-27 00:38:41 +00:00
David Mudrak e5bc3566e0 NOMDL assignment: fixed recent activity report for separate groups mode
There were two typos here. The first one ($cm->userid) led to incorrect
groups list. But the second one ($interset) caused that the intersection
of the group lists was never used. I just spotted this during copy &
pasting into workshop 2.0
Also fixed the heading size to what other modules use.
2010-07-26 21:27:24 +00:00
Moodle Robot d4922edcaf Updated the 19 build version to 20100726 2010-07-26 00:47:22 +00:00
Petr Skoda a2f5e222b7 MDL-22871 fixed detection of local guest account, it must have the local mnet id 2010-07-25 17:52:53 +00:00
Moodle Robot 9bea72dcb9 Updated the 19 build version to 20100725 2010-07-25 00:47:10 +00:00
Moodle Robot 960e55c3df Updated the 19 build version to 20100724 2010-07-24 00:47:40 +00:00
Sam Hemelryk d9b5ed15b6 quiz-report-grading MDL-20724 Fixed display of table when no results are available due to firstname/surname filtering 2010-07-23 06:07:33 +00:00
Moodle Robot ce0e1f248d Updated the 19 build version to 20100723 2010-07-23 00:47:33 +00:00
Dan Marsden 039d39243e SCORM MDL-21333 remove link to allow manual opening of window as JS communication can fail and no grades are reported from the object. Remove old strings no longer required. merged from HEAD 2010-07-22 02:20:11 +00:00
Moodle Robot f467b170b9 Updated the 19 build version to 20100722 2010-07-22 00:47:19 +00:00
Moodle Robot f4f421fa84 Updated the 19 build version to 20100721 2010-07-21 00:50:12 +00:00
Moodle Robot 7874175e2c Automatic installer.php lang files by installer_builder (20100721) 2010-07-21 00:38:49 +00:00
Moodle Robot 4678c59ea6 Updated the 19 build version to 20100720 2010-07-20 00:48:19 +00:00
Moodle Robot 454787d14e Updated the 19 build version to 20100719 2010-07-19 00:46:52 +00:00
Moodle Robot ba77ab80e0 Updated the 19 build version to 20100718 2010-07-18 00:46:53 +00:00
Moodle Robot f665b0bb4a Automatic installer.php lang files by installer_builder (20100718) 2010-07-18 00:37:58 +00:00
Dan Marsden c35d76a066 SCORM MDL-21568 fix regression merged from head 2010-07-17 06:47:04 +00:00
Moodle Robot e13b7dc4be Updated the 19 build version to 20100717 2010-07-17 00:47:16 +00:00
Moodle Robot 9978722410 Updated the 19 build version to 20100716 2010-07-16 00:47:22 +00:00
Petr Skoda 29a61a2c15 MDL-23222 marking spl as required php ext 2010-07-15 18:36:42 +00:00
Moodle Robot 04ea8275ff Updated the 19 build version to 20100715 2010-07-15 00:47:35 +00:00
Moodle Robot f50e20a23b Updated the 19 build version to 20100714 2010-07-14 00:47:29 +00:00
Moodle Robot ef20b03596 Updated the 19 build version to 20100713 2010-07-13 00:48:43 +00:00
Moodle Robot a24b47ce8f Updated the 19 build version to 20100712 2010-07-12 00:46:35 +00:00
Moodle Robot d5408b8821 Updated the 19 build version to 20100711 2010-07-11 00:46:48 +00:00
Petr Skoda f6372807e0 MDL-23126 fixed incorrect method call, credit goes to Fred Woolard 2010-07-10 12:21:46 +00:00
Dan Marsden ab911906a2 SCORM MDL-23119 allowing extra characters in CMIIdentifier - this is outside the ADL Spec but it seems to be ok to extend this and allow more characters than is specified by ADL 2010-07-10 08:17:44 +00:00
Moodle Robot 6655d8038b Updated the 19 build version to 20100710 2010-07-10 00:46:20 +00:00
Moodle Robot d979e7a72c Automatic installer.php lang files by installer_builder (20100710) 2010-07-10 00:37:35 +00:00
Moodle Robot 3ea0250389 Updated the 19 build version to 20100709 2010-07-09 00:46:25 +00:00
Moodle Robot b92015b342 Automatic installer.php lang files by installer_builder (20100709) 2010-07-09 00:37:34 +00:00
Dan Marsden a19dd8f9d2 SCORM MDL-19442 - remove tab, replace with spaces. 2010-07-08 22:40:37 +00:00
Piers Harding 35332cda8e MDL-19442 - fix type cast of values for gradebook calculations 2010-07-08 18:15:10 +00:00
Dan Marsden d29c037725 SCORM MDL-21568 - use correct storing of grading method - remove old references to bad calls. thanks to Bruce Cota for report/patch - merged from HEAD 2010-07-08 11:49:31 +00:00
Dan Marsden 119fff55dd SCORM MDL-22423 don't include empty raw scores from assets when calculating grade merged from HEAD 2010-07-08 09:48:12 +00:00
Martin Dougiamas b8ebff5722 MDL-22964 XMLRPC no longer required. Merged from HEAD 2010-07-08 09:07:17 +00:00
Moodle Robot 08c5c11998 Updated the 19 build version to 20100708 2010-07-08 00:46:38 +00:00
Moodle Robot 245f03b768 Automatic installer.php lang files by installer_builder (20100708) 2010-07-08 00:37:50 +00:00
Moodle Robot 1bd8b2306e Updated the 19 build version to 20100707 2010-07-07 00:46:56 +00:00
Gordon Bateson 0e3973f02a mod/hotpot MDL-17702: fix validation error on nested class="logininfo" elements 2010-07-06 08:06:32 +00:00
Martin Dougiamas 6264006089 MDL-15976 Merging Taiwan change from HEAD 2010-07-06 06:58:27 +00:00
Dan Marsden ad654ec04e NOBUG SCORM fix location of icon.gif 2010-07-06 03:39:41 +00:00
Moodle Robot 2d81fc0898 Updated the 19 build version to 20100706 2010-07-06 00:46:59 +00:00
Tim Hunt d256e1c021 quiz NOBUG Turn off autocomplete on the quiz form in a way that actually works.
See http://moodle.org/mod/forum/discuss.php?d=153419 for dicussion.
2010-07-05 21:55:25 +00:00
Petr Skoda 94c1fe8096 MDL-23097 latest htmlpurifier 4.1.1 2010-07-05 21:10:51 +00:00
Moodle Robot 60e9031391 Updated the 19 build version to 20100705 2010-07-05 00:46:56 +00:00
Moodle Robot 3098a1570f Updated the 19 build version to 20100704 2010-07-04 00:46:48 +00:00
Moodle Robot cca7a6dd68 Updated the 19 build version to 20100703 2010-07-03 00:46:13 +00:00
Tim Hunt 6ab47dd350 question import/export: MDL-22100 ' / etc. in category names confuse the import/export. 2010-07-02 13:36:50 +00:00
Tim Hunt 0b76235280 file testimportexport.php was added on branch MOODLE_19_STABLE on 2010-07-02 13:36:50 +0000 2010-07-02 13:36:49 +00:00
Moodle Robot 55ffc77cc6 Updated the 19 build version to 20100702 2010-07-02 00:45:21 +00:00
Moodle Robot c1bbd6a05c Automatic installer.php lang files by installer_builder (20100702) 2010-07-02 00:37:01 +00:00
Moodle Robot 7bde173381 Updated the 19 build version to 20100701 2010-07-01 00:46:16 +00:00
Dan Marsden c8642dc921 MNET MDL-20660 fix regression caused by previous commit - move lang strings to tabs.php 2010-06-30 01:04:51 +00:00
Moodle Robot c8cb29c92a Updated the 19 build version to 20100630 2010-06-30 00:46:26 +00:00
Moodle Robot 41d9ee90d5 Updated the 19 build version to 20100629 2010-06-29 00:46:17 +00:00
Moodle Robot 2244cc3a54 Automatic installer.php lang files by installer_builder (20100629) 2010-06-29 00:37:01 +00:00
David Mudrak 664917cca0 MNet fixed SQL bug in remote enrolments synchronisation 2010-06-28 22:12:37 +00:00
David Mudrak 57793dba2a MNet enrol/mnet/enrol.php/available_courses returns wrong array key for default role name in some cases 2010-06-28 22:12:17 +00:00
Martin Dougiamas 820603ef70 MDL-22964 XML-RPC is now required in 2.0. We need it for hub communication, and it's useful for web services and Moodle networking 2010-06-28 07:50:28 +00:00
Moodle Robot a0d7ca9b3f Updated the 19 build version to 20100628 2010-06-28 00:45:28 +00:00
Dan Marsden 7845c53359 SCORM MDL-21306 invalid management of Mastery Score - thanks to Matteo Scaramuccia for the report/patch merged from HEAD 2010-06-27 23:49:58 +00:00
Dan Marsden efefda0c5f SCORM MDL-12834 add link for returning to course page if pop-up window used merged from HEAD 2010-06-27 22:14:30 +00:00
Piers Harding b6ec0e7940 MDL-21761 - fix the statefulness of saving dataelements in scorm api 1.2 2010-06-27 22:13:47 +00:00
Moodle Robot 939c648820 Updated the 19 build version to 20100627 2010-06-27 00:45:39 +00:00
Moodle Robot f7d55f0aaf Updated the 19 build version to 20100626 2010-06-26 00:46:46 +00:00
Dan Marsden a0ad0d2515 SCORM MDL-21492 don't skip view if user is able to view reports - thanks to valerian for report/patch merged from HEAD 2010-06-25 10:16:25 +00:00
Dan Marsden 1a95986243 SCORM MDL-22741 add missing restore code - thanks to Michael Avelar for patch merged from HEAD 2010-06-25 08:17:49 +00:00
Moodle Robot ce3a6c788f Updated the 19 build version to 20100625 2010-06-25 00:45:58 +00:00
Dan Marsden ae53b6879f SCORM MDL-21551 fix calculation for when to run auto update everyday - thanks to Phillip Franks for the report/fix merged from HEAD 2010-06-24 08:06:57 +00:00
Dan Marsden 48cbcd8df5 SCORM MDL-21551 bug with 1.9 branch and update frequency - using wrong values - thanks to Phillip Franks for report and fix 2010-06-24 07:59:49 +00:00
Dan Marsden 98bad24a00 SCORM MDL-17891 fix loss of session data - thanks to Ron and Matteo for report/fixes missed fix for LMSCommit merged from HEAD 2010-06-24 02:26:12 +00:00
Dan Marsden 63a5affbda SCORM MDL-17891 fix loss of session data - thanks to Ron and Matteo for report/fixes merged from HEAD 2010-06-24 02:21:15 +00:00
Dan Marsden f30f961fa1 SCORM MDL-21333 modify way link appears if popup does not load to prevent SCORM from loading and not being able to communicate with API - thanks to Matteo Scaramuccia for report/fix merged from HEAD 2010-06-24 02:02:35 +00:00
Dan Marsden 6ab52c7ee4 SCORM MDL-22168 fix accidental revert - set start time of SCO correctly merged from HEAD 2010-06-24 00:49:52 +00:00
Moodle Robot 128e8c54bd Updated the 19 build version to 20100624 2010-06-24 00:45:44 +00:00
Dan Marsden 1f992ca3fd SCORM MDL-22340 use full path for includes. thanks to Valerian for report/patch merged from HEAD 2010-06-23 23:13:18 +00:00
Dan Marsden da98ba3d73 SCORM Gradebook MDL-22332 add missing grade file to redirect to report page - thanks to Valerian for report/patch merged from HEAD 2010-06-23 22:53:21 +00:00
Tim Hunt 9b312b9402 quiz global settings: MDL-22808 Cannot turn adaptive mode on globally.
Because of a missing constant definition.
2010-06-23 20:14:27 +00:00
Tim Hunt b312f97929 quiz reports MDL-22847 Cannot delete quiz attempts when a group is selected. 2010-06-23 20:09:07 +00:00
Tim Hunt 98a38a3994 quiz reports: Fix debug warning. 2010-06-23 19:59:51 +00:00
Moodle Robot 0402d10e22 Updated the 19 build version to 20100623 2010-06-23 00:46:40 +00:00
Moodle Robot e0ce29da98 Updated the 19 build version to 20100622 2010-06-22 00:46:01 +00:00
Tim Hunt 7038c4c371 NOBUG two more broken $Id$s 2010-06-21 21:14:48 +00:00
Tim Hunt adca4b84cc NOBUG Fix broken $Id$ tag.
Of course $Id$ tags are fundamentally broken, but ...
2010-06-21 21:08:56 +00:00
Moodle Robot 75c9ffa2b4 Updated the 19 build version to 20100621 2010-06-21 00:45:49 +00:00
Helen Foster f93086848c MDL-22842 typo fix thanks to Stuart Mealor 2010-06-20 10:10:09 +00:00
Moodle Robot b384f6ac72 Updated the 19 build version to 20100620 2010-06-20 00:45:17 +00:00
Moodle Robot 7a4b44c8f2 Updated the 19 build version to 20100619 2010-06-19 00:45:58 +00:00
Moodle Robot 7e0882cb35 Updated the 19 build version to 20100618 2010-06-18 00:45:40 +00:00
David Mudrak c36671d72c NOBUG: improved check of user context existence
When importing users from backup, their CONTEXT_USER level context is
not created yet. Therefore, make_context_subobj() creates $user->context
object here with empty values. So we have to call full
get_context_instance() here to create the context.
2010-06-17 21:02:36 +00:00
David Mudrak c17e376337 NOBUG proper checking the value of checkbox elements
Without this patch, PHP generates notices as the variables representing
unchecked checkboxes are not defined at all in $data object.
2010-06-17 20:15:26 +00:00
Moodle Robot d57599c1e1 Updated the 19 build version to 20100617 2010-06-17 00:46:14 +00:00
Moodle Robot 73c5bebd14 Updated the 19 build version to 20100616 2010-06-16 00:45:53 +00:00
Moodle Robot 27f466ddae Updated the 19 build version to 20100615 2010-06-15 00:45:52 +00:00
Moodle Robot a7364f8f2d Updated the 19 build version to 20100614 2010-06-14 00:45:36 +00:00
Moodle Robot 0379df566f Updated the 19 build version to 20100613 2010-06-13 00:45:48 +00:00
Eloy Lafuente 8edf9bc7fe MDL-22740 import - fixed regression introduced by MDL-19880 2010-06-12 10:10:49 +00:00
Moodle Robot 95f44f8de7 Updated the 19 build version to 20100612 2010-06-12 00:46:39 +00:00
Moodle Robot db302c8414 Updated the 19 build version to 20100611 2010-06-11 00:46:24 +00:00
Gordon Bateson d666c843b1 mod/hotpot MDL-22726 fix importing of intructions from a Hot Potatoes quiz file into the Moodle question bank 2010-06-10 23:37:23 +00:00
Moodle Robot df77129ed9 Bumping post 1.9.9 2010-06-10 15:02:10 +00:00
Tim Hunt 69312b4f9c question restore: MDL-22720 silly typo in question restore.
Thanks to Vadim Dvorovenko for finding and fixing this.
2010-06-10 14:58:37 +00:00
Moodle Robot ee7ee73aa4 Updated the 19 build version to 20100610 2010-06-10 00:45:30 +00:00
Moodle Robot 0e4acd26ca Updated the 19 build version to 20100609 2010-06-09 00:45:47 +00:00
Martin Dougiamas 040d304d0f MDL-19880 Fixed a potential memory overflow problem with lots of courses 2010-06-08 06:38:18 +00:00
Martin Dougiamas 6ab0ce20cc Bumping to 1.9.9 2010-06-08 05:24:12 +00:00
Moodle Robot 57409479d8 Updated the 19 build version to 20100608 2010-06-08 00:46:59 +00:00
Moodle Robot 26ca459a4c Updated the 19 build version to 20100607 2010-06-07 00:46:39 +00:00
Moodle Robot abd6504cd2 Updated the 19 build version to 20100606 2010-06-06 00:45:28 +00:00
Moodle Robot 1c137ab5ba Updated the 19 build version to 20100605 2010-06-05 00:45:26 +00:00
Petr Skoda c0693c51bc MDL-22680 fixed new password setting 2010-06-04 18:12:18 +00:00
Moodle Robot e0dd38c20c Updated the 19 build version to 20100604 2010-06-04 00:46:05 +00:00
David Mudrak 71ae9c7f43 MDL-22448 Fixed missing sql_cast_char2int(), credit goes to Tim Lock 2010-06-03 08:55:45 +00:00
Petr Skoda a91e69f384 MDL-22042 fixed kses cleaning of html code 2010-06-03 08:28:14 +00:00
Petr Skoda d7f657b308 MDL-22040 converting username to html entities before outputting 2010-06-03 08:18:13 +00:00
Sam Hemelryk 37278b6d23 htmlpurify MDL-22654 Merged fixes into 1.9 2010-06-03 07:24:30 +00:00
Moodle Robot 2bbe8d4fdf Updated the 19 build version to 20100603 2010-06-03 00:45:21 +00:00
Moodle Robot f7f3aa2f1a Automatic installer.php lang files by installer_builder (20100603) 2010-06-03 00:37:05 +00:00
Moodle Robot 24c6373de9 Updated the 19 build version to 20100602 2010-06-02 00:44:53 +00:00
Moodle Robot dbd52f1631 Automatic installer.php lang files by installer_builder (20100602) 2010-06-02 00:36:46 +00:00
Martin Dougiamas fa2edb63cf Making sure header.php can't be called by itself 2010-06-01 03:32:37 +00:00
Martin Dougiamas e595058242 MDL-22631 Added some clean_param calls to clean the $_GET data and also added lots of warnings and info there. 2010-06-01 02:51:23 +00:00
Moodle Robot 1bdb4edbca Updated the 19 build version to 20100601 2010-06-01 00:44:48 +00:00
Moodle Robot 8f6ab2905f Updated the 19 build version to 20100531 2010-05-31 00:45:29 +00:00
Eloy Lafuente 430cb2d510 MDL-22585 languages import - fixed regression caused by the inclusion of 'parentlanguage' in 1.9 strings 2010-05-30 10:15:55 +00:00
Moodle Robot f1608ce3c6 Updated the 19 build version to 20100530 2010-05-30 00:44:58 +00:00
Moodle Robot 39f98aac09 Automatic installer.php lang files by installer_builder (20100530) 2010-05-30 00:36:20 +00:00
Moodle Robot a6a6ea6355 Updated the 19 build version to 20100529 2010-05-29 00:44:58 +00:00
Eloy Lafuente 8156571788 MDL-22588 restore scales - fix scales not being assigned to target course 2010-05-28 09:18:03 +00:00
Moodle Robot 2688a99af4 Updated the 19 build version to 20100528 2010-05-28 00:45:05 +00:00
Moodle Robot d85cd635a6 Updated the 19 build version to 20100527 2010-05-27 00:44:48 +00:00
Petr Skoda a7ff0a2fc5 MDL-22181 brute force hack to work around missing idnumber in module fast info 2010-05-26 08:39:37 +00:00
Moodle Robot 7bfaddbe42 Updated the 19 build version to 20100526 2010-05-26 00:45:07 +00:00
Moodle Robot f3b02a16f7 Automatic installer.php lang files by installer_builder (20100526) 2010-05-26 00:36:44 +00:00
David Mudrak 83270e8780 MDL-22575 Preparing langconfig.php in the English pack
As all strings must be defined in the English language pack, we must add
thislanguageint into English langconfig.php, too. Also added empty
parentlang, even it is not used, for the same reason.

Backported from HEAD.
2010-05-25 08:43:36 +00:00
Moodle Robot 3496332bca Updated the 19 build version to 20100525 2010-05-25 00:43:47 +00:00
Moodle Robot 05592aa650 Updated the 19 build version to 20100524 2010-05-24 00:44:32 +00:00
Moodle Robot 1a9693eaf1 Updated the 19 build version to 20100523 2010-05-23 00:44:45 +00:00
Moodle Robot 007f5f4fed Updated the 19 build version to 20100522 2010-05-22 00:45:01 +00:00
Petr Skoda db359e6369 MDL-22537 new html purifier backported to stable, unfortunately PHP5 only 2010-05-21 11:39:22 +00:00
Petr Skoda f8502768a2 file data.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:52 +0000 2010-05-21 10:40:57 +00:00
Petr Skoda 3e56add650 file SafeObject.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:47 +0000 2010-05-21 10:40:57 +00:00
Petr Skoda 143238487c file RemoveSpansWithoutAttributes.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:47 +0000 2010-05-21 10:40:57 +00:00
Petr Skoda 470e633924 file schema.ser was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:49 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda c1309ecc35 file URI.AllowedSchemes.txt was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:30 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda 75f2fd8aa4 file SafeParam.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:40 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda c5e7f53d78 file SafeObject.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:46 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda a21e336aa9 file SafeEmbed.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:45 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda 62dd96980a file Output.FlashCompat.txt was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:28 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda 40856f1442 file HTMLPurifier.safe-includes.php was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:49 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda f0597acf73 file HTML.SafeObject.txt was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:32 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda 1a4f34e080 file HTML.SafeEmbed.txt was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:29 +0000 2010-05-21 10:40:56 +00:00
Petr Skoda 15d6569e4c file AutoFormat.RemoveSpansWithoutAttributes.txt was added on branch MOODLE_19_STABLE on 2010-05-21 11:39:25 +0000 2010-05-21 10:40:56 +00:00
Moodle Robot 3182434c46 Updated the 19 build version to 20100521 2010-05-21 00:43:45 +00:00
Moodle Robot cfd3f06544 Automatic installer.php lang files by installer_builder (20100521) 2010-05-21 00:35:41 +00:00
Petr Skoda e720dbd79a MDL-22531 fix for broken sql in get_users_by_capability() in cases where role_assignmetns is not in the resulting query such as when only default role is interesting for us - thanks Ye Chen for the report and solution 2010-05-20 18:35:05 +00:00
Martin Dougiamas a4a0264df6 MDL-19628 Store 0.0.0.0 in user table and log tables if IP address can't be found. I didn't change getremoteaddr in 1.9. 2010-05-20 02:42:18 +00:00
Moodle Robot e5264d19e9 Updated the 19 build version to 20100520 2010-05-20 00:44:48 +00:00
Sam Marshall 4d16b11a38 Lib MDL-22518 Group selector dropdowns destroy accessibility 2010-05-19 16:51:52 +00:00
Moodle Robot fb8d8cac39 Updated the 19 build version to 20100519 2010-05-19 00:44:53 +00:00
Moodle Robot 448d4b5057 Updated the 19 build version to 20100518 2010-05-18 00:44:28 +00:00
Moodle Robot 04b6aaaa5f Updated the 19 build version to 20100517 2010-05-17 00:43:28 +00:00
Moodle Robot 41e7b080a3 Updated the 19 build version to 20100516 2010-05-16 00:43:10 +00:00
Moodle Robot 8f8c02f6e7 Updated the 19 build version to 20100515 2010-05-15 00:44:22 +00:00
Gordon Bateson d1174b125c MDL-17702 when embedding documents in ie, use iframe for ie and object for others, because forms cannot escape from objcet in ie 2010-05-14 02:10:41 +00:00
Moodle Robot 0dd4fc0886 Updated the 19 build version to 20100514 2010-05-14 00:43:45 +00:00
Martin Dougiamas 03b8bc9bf3 MDL-22388 Added some checks to kill these scripts dead with an unequivocal notice unless included properly from a Moodle script. 2010-05-13 01:40:36 +00:00
Moodle Robot ae46b1f880 Updated the 19 build version to 20100513 2010-05-13 00:43:16 +00:00
Tim Hunt b778784346 moodlelib MDL-19418 fix bugs introduced when converting clean_param to preg.
Aumusingly, one of the bugs was detected by a unit test that was in Moodle 1.9, but
which for some reason was not in HEAD. I have tidied up the clean_param unit tests
and added a few more.
2010-05-12 12:05:37 +00:00
Moodle Robot 4434e5f6f8 Updated the 19 build version to 20100512 2010-05-12 00:43:33 +00:00
Moodle Robot f08641cd3f Updated the 19 build version to 20100511 2010-05-11 00:43:14 +00:00
Tim Hunt 2ccb0b9fd2 quiz recent activity: MDL-22410 permission check was wrong. 2010-05-10 22:36:37 +00:00
Moodle Robot 0de2d1fbe3 Updated the 19 build version to 20100510 2010-05-10 00:43:13 +00:00
Moodle Robot de902ce34e Updated the 19 build version to 20100509 2010-05-09 00:43:23 +00:00
Moodle Robot d0ca0af595 Updated the 19 build version to 20100508 2010-05-08 00:43:35 +00:00
Pierre Pichet 0fc550a5cc MDL-22386 merge from HEAD setting correctly the number of dataitem when duplicating a calculated, calculatedsimple, calculatedmulti question 2010-05-07 22:08:27 +00:00
Moodle Robot 13e949cdb0 Updated the 19 build version to 20100507 2010-05-07 00:44:14 +00:00
Eloy Lafuente 6f1cadb7c9 MDL-18576 timezones - updated to 2010i from 2009c (2147 rules) ; backported to 19_STABLE 2010-05-06 15:28:55 +00:00
Moodle Robot 92ddde6799 Updated the 19 build version to 20100506 2010-05-06 00:44:58 +00:00
Dan Marsden ecf6f35cbf SCORM MDL-22340 use full path for includes. 2010-05-06 00:13:54 +00:00
Moodle Robot d5db311178 Updated the 19 build version to 20100505 2010-05-05 00:44:48 +00:00
Dan Marsden a88499aa40 SCORM backup MDL-22301 use consistant naming for vars. 2010-05-04 01:48:57 +00:00
Moodle Robot afd0814aeb Updated the 19 build version to 20100504 2010-05-04 00:44:28 +00:00
Moodle Robot 6a48b4e765 Automatic installer.php lang files by installer_builder (20100504) 2010-05-04 00:36:05 +00:00
Moodle Robot bfa942338f Updated the 19 build version to 20100503 2010-05-03 00:44:06 +00:00
Moodle Robot 490b93f210 Updated the 19 build version to 20100502 2010-05-02 00:44:03 +00:00
Tim Hunt 28e5664ac2 quiz: MDL-20586 Oops, remove reference to global $DB. 2010-05-01 07:08:24 +00:00
Gordon Bateson f5bf248e24 MDL-17702 replace iframe with object to be compatible with XHTML 1.0 strict 2010-05-01 02:20:30 +00:00
Moodle Robot d55e5169bc Updated the 19 build version to 20100501 2010-05-01 00:43:23 +00:00
Tim Hunt 3271c060c2 quiz reports MDL-22257: was loading the complete user record, when it only wanted userid.
On a coures with 16000 users, that is a very bad idea ;-)
2010-04-30 13:15:40 +00:00
Dan Marsden 6f51e02bab SCORM AICC MDL-2144 total_time accumulation calculated incorrectly. - thanks to Matteo Scaramuccia for report and fix. merged from HEAD 2010-04-30 08:51:04 +00:00
Dan Marsden cfb345a7ba SCORM MDL-18202 MDL-21379 use correct Scorm format for 1.3 merged from HEAD 2010-04-30 05:47:06 +00:00
Moodle Robot c1211da953 Updated the 19 build version to 20100430 2010-04-30 00:43:14 +00:00
Tim Hunt 5c8f9016b2 quiz recent activity: MDL-20586 was showing scores even if quiz settings said not to.
Fix started with a patch from Yolanda Ordo?ez Rufat but with significant reworking by me.
2010-04-29 10:46:37 +00:00
Tim Hunt 4017267988 calculated qtype: MDL-22241 Invalid SQL (must not have a ; at the end.) 2010-04-29 10:41:53 +00:00
Dan Marsden ad71ee56a3 SCORM MDL-21568 missing var from restore merged from HEAD 2010-04-29 09:49:55 +00:00
Dan Marsden 649e176ed6 SCORM MDL-22046 - show last completed attempt in gradebook - thanks to Bruce Cota for the report/fix merged from HEAD 2010-04-29 09:18:32 +00:00
Dan Marsden 74dd5c50ab SCORM MDL-22168 only set x.start.time when a SCO is started - don't update it. merged from HEAD 2010-04-29 08:32:58 +00:00
Moodle Robot c74610c8dd Updated the 19 build version to 20100429 2010-04-29 00:43:19 +00:00
Moodle Robot cb16f0b515 Automatic installer.php lang files by installer_builder (20100429) 2010-04-29 00:35:17 +00:00
Moodle Robot 0a52c510e7 Updated the 19 build version to 20100428 2010-04-28 00:44:32 +00:00
Moodle Robot 57d09bef9c Updated the 19 build version to 20100427 2010-04-27 00:43:48 +00:00
Tim Hunt a8d3973c00 tablelib.php: Fix some minor whitespace errors that were messing up a merge I was doing.
(Seemed better to fix core, rather than intentionally introduce whitespace errors into my code.)
2010-04-26 15:47:55 +00:00
Moodle Robot 996ef6c1ec Updated the 19 build version to 20100426 2010-04-26 00:44:25 +00:00
Moodle Robot 7e7b4b5a96 Updated the 19 build version to 20100425 2010-04-25 00:43:12 +00:00
Petr Skoda 7c9ec0dbdb MDL-22181 fixed 'random' overriding of assignment idnumbers in gradebook - big thanks to Gordon Bridge for the report and patch 2010-04-24 17:37:54 +00:00
Moodle Robot c6bd6f2413 Updated the 19 build version to 20100424 2010-04-24 00:43:23 +00:00
Eloy Lafuente ccfc004f26 MDL-22176 backup & restore links - Fixed missing .php extension in URL 2010-04-23 17:36:52 +00:00
Tim Hunt 7e3078db0a unit tests: MDL-22175 Further improvements unit test failure display.
Exceptions are now also shown with a pruned stack trace.
And 2.0 code for displaying PHP5 error types backported to 1.9.
2010-04-23 17:22:54 +00:00
Eloy Lafuente a6fbcfa0aa MDL-22176 backup & restore links - preserve links to course main page 2010-04-23 15:45:19 +00:00
Tim Hunt 80f752acf4 unit tests: MDL-22175 Improve unit test failure display.
When you are using helper funcitions, show all the interesting bits of the stack trace,
rather that just the line in the helper function where the failed asset was called.
2010-04-23 11:22:31 +00:00
Sam Marshall 9476acfbcb weblib: MDL-22174 print_group_picture should not print empty links 2010-04-23 11:13:23 +00:00
Gordon Bateson 7480adb9cb fix detection of correct answers in JCross that is not case-sensitive 2010-04-23 01:20:16 +00:00
Moodle Robot 70f337107d Updated the 19 build version to 20100423 2010-04-23 00:43:29 +00:00
Moodle Robot 23fa4a1b8d Updated the 19 build version to 20100422 2010-04-22 00:43:18 +00:00
Dan Marsden 2114f6764b SCORM MDL-16184 MDL-21423 backport from HEAD 2010-04-21 23:40:03 +00:00
Dan Marsden fc289cab3b SCORM MDL-18835 display time periods in "human-readable" format. - mainly for SCORM 2004 objects. - thanks to Vlas Voloshin for patch - merged from HEAD 2010-04-21 22:42:30 +00:00
Petr Skoda caa932d8bf MDL-22154 fixed incorrect URL in ajax call (thanks Pasi H?kkinen) and fixed xhtml strict issue with embedded JS 2010-04-21 12:42:24 +00:00
Moodle Robot b0f8277a33 Updated the 19 build version to 20100421 2010-04-21 00:44:04 +00:00
Helen Foster 3d76035f86 MDL-21218 help file rewording thanks to Elena Ivanova 2010-04-20 07:36:44 +00:00
Moodle Robot b3d9ac7064 Updated the 19 build version to 20100420 2010-04-20 00:44:44 +00:00
Moodle Robot 38567b9421 Updated the 19 build version to 20100419 2010-04-19 00:43:10 +00:00
Inaki f8997538f3 auth cas: MDL-20029 upgrade phpCAS version to the latest available version
Also make sure phpCAS doesn't try to start a new PHP session. We have already
started our own and want to keep it :). In addition to it, it emitted a PHP
notice that could block the authentication process under certain
configurations.

And pretty much the same with the wantsurl and loginguest checks.
2010-04-18 14:39:33 +00:00
Inaki 741f53bad8 file spanish.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:35 +0000 2010-04-18 12:08:45 +00:00
Inaki 21a0f2c43a file languages.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:35 +0000 2010-04-18 12:08:45 +00:00
Inaki 6235205a16 file pgt-main.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki 61cbf5ca09 file pgt-file.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki 8fd2e01b2d file pgt-db.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:33 +0000 2010-04-18 12:08:44 +00:00
Inaki 9a921c9c70 file japanese.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:35 +0000 2010-04-18 12:08:44 +00:00
Inaki d4048003a7 file greek.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:35 +0000 2010-04-18 12:08:44 +00:00
Inaki 35ac4fbc5f file german.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:35 +0000 2010-04-18 12:08:44 +00:00
Inaki e4c34125f7 file french.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki de6e4d5762 file english.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki 5ae94b8164 file domxml-php4-to-php5.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki d1c9fa80a5 file client.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Inaki b2a3385dbb file catalan.php was added on branch MOODLE_19_STABLE on 2010-04-18 14:39:34 +0000 2010-04-18 12:08:44 +00:00
Moodle Robot ff0a7c0c34 Updated the 19 build version to 20100418 2010-04-18 00:45:02 +00:00
Moodle Robot ff33ac3fc7 Updated the 19 build version to 20100417 2010-04-17 00:42:55 +00:00
Andrew Davis a4bc9693af unit tests MDL-22017 made test_usergetdate() work on machines in different timezones 2010-04-16 07:48:15 +00:00
Andrew Davis 192dcd8871 gradebook MDL-21218 made overview report respect display hidden items default correctly 2010-04-16 04:38:03 +00:00
Moodle Robot 241f7d68a7 Updated the 19 build version to 20100416 2010-04-16 00:43:24 +00:00
Tim Hunt 1565032231 grades: MDL-22098 silly bug that leads to bad performance problems in the grader report. 2010-04-15 16:37:07 +00:00
Moodle Robot d87f45de85 Updated the 19 build version to 20100415 2010-04-15 00:42:59 +00:00
Moodle Robot 9724c30eff Updated the 19 build version to 20100414 2010-04-14 00:42:55 +00:00
Moodle Robot 8ed5548898 Updated the 19 build version to 20100413 2010-04-13 00:42:55 +00:00
Moodle Robot b1fbd47b45 Updated the 19 build version to 20100412 2010-04-12 00:42:54 +00:00
Moodle Robot eea6830deb Updated the 19 build version to 20100411 2010-04-11 00:42:49 +00:00
Inaki 73f20aa03b auth cas/db/ldap: MDL-18689 Fix typos in auth/{cas,db,ldap}/auth.php
Forward-ported from MOODLE_18_STABLE
2010-04-10 15:24:55 +00:00
Inaki a24cd879b7 auth config: MDL-19053 Use the HTML editor to edit the login page authentication instructions
They are actually displayed as HTML, but they are edited through a plain
text area control instead.
2010-04-10 15:11:49 +00:00
Moodle Robot a012708185 Updated the 19 build version to 20100410 2010-04-10 00:43:07 +00:00
Inaki 8b86439780 filter tex: MDL-10197 Quality improvement of TeX-images by using PNG format.
It seems some TeX installs use a convert utility that renders poor quality
images when using the GIF format, but render good ones when using PNG. If
all the needed tools are available, let the admin choose the preferred
output format.
2010-04-10 00:17:45 +00:00
Anthony Borrow 30a906c58a MDL-18044 - updating missed scalestip string to scalestip2 2010-04-09 08:33:06 +00:00
Moodle Robot c544712126 Updated the 19 build version to 20100409 2010-04-09 00:44:19 +00:00
Eloy Lafuente 68715e174c NOBUG: Bombing BOM: BOM bombed 2010-04-08 18:11:41 +00:00
Moodle Robot 4967d90426 Updated the 19 build version to 20100408 2010-04-08 00:44:19 +00:00
Tim Hunt 0e31d5bfc6 quiz reports: MDL-21688 Add missing sesskey checks. 2010-04-07 11:26:00 +00:00
Tim Hunt 97546dbe14 questionlib: MDL-21828 Fix database query that does not work in Oracle.
Bug report and fix thanks to David Binney.
2010-04-07 09:47:17 +00:00
Moodle Robot c6efbb9bf8 Updated the 19 build version to 20100407 2010-04-07 00:44:25 +00:00
Moodle Robot 131094b6bf Automatic installer.php lang files by installer_builder (20100407) 2010-04-07 00:36:27 +00:00
Moodle Robot 8f3e6f99a2 Updated the 19 build version to 20100406 2010-04-06 00:44:13 +00:00
Moodle Robot 9eab193993 Updated the 19 build version to 20100405 2010-04-05 00:43:44 +00:00
Moodle Robot ebc3754f1d Updated the 19 build version to 20100404 2010-04-04 00:44:01 +00:00
Moodle Robot ac55810332 Updated the 19 build version to 20100403 2010-04-03 00:44:42 +00:00
Helen Foster 9478c59e3e MDL-21218 new help file thanks to David Mudrak for help with wording 2010-04-02 12:34:41 +00:00
Helen Foster b49c4720f3 lang string MDL-21218 small rewording 2010-04-02 12:01:56 +00:00
David Mudrak 0db6ff6fa9 MDL-21845 Fixed missing multilang support 2010-04-02 09:36:31 +00:00
David Mudrak 503b8b480a MDL-18903 All outgoing emails can be diverted into a single address
This is highly useful when developing or debugging any emailing feature.
Backported from 2.0dev
2010-04-02 09:33:11 +00:00
Moodle Robot e8ee0a0720 Updated the 19 build version to 20100402 2010-04-02 00:44:07 +00:00
Petr Skoda 10dd4cd8d0 MDL-22006 fixed problems with E_ALL in PHP 5.3., thanks Mauno Korpelainen for the report 2010-04-01 17:10:58 +00:00
Moodle Robot d1d101ef38 Updated the 19 build version to 20100401 2010-04-01 00:44:15 +00:00
Tim Hunt 8bf6b5c2c8 grade import: MDL-21987 Problem with repeated imports of the same grade.
The thanks to Petr (skodak).

Here is what I learned while working on this:

1. when explicitly setting the final grade (manual edit or import),
   it is important that ->overridden gets set, and it should get set
   to the time when the override was done.

2. but only on certainly sorts of grade item, and the condition for
   setting the flag is different when it is the feedback being changed
   or the grade being changed, hence the two different tests
   is_overridable_item and is_overridable_item_feedback.

3. but, if the grade and feedback is not actually changed, then the ->overridden
   timestamp should not be changed. (That was the bit that was buggy.)
2010-03-31 13:50:58 +00:00
Moodle Robot dc2c925cc9 Updated the 19 build version to 20100331 2010-03-31 00:45:22 +00:00
Moodle Robot b7bc4dd60b Updated the 19 build version to 20100330 2010-03-30 00:45:24 +00:00
Moodle Robot d96719ac58 Updated the 19 build version to 20100329 2010-03-29 00:44:01 +00:00
Moodle Robot 13f3ba7f8f Updated the 19 build version to 20100328 2010-03-28 00:43:43 +00:00
Martin Dougiamas ee3c8982cb Post 1.9.8 bump 2010-03-27 16:54:22 +00:00
Moodle Robot 255c63edeb Updated the 19 build version to 20100327 2010-03-27 00:43:50 +00:00
Moodle Robot 5f6a78acc8 Automatic installer.php lang files by installer_builder (20100327) 2010-03-27 00:36:18 +00:00
Lukas Haemmerle 9a1222085f MDL-21931 Fixed IE CSS bug 2010-03-26 10:11:49 +00:00
Moodle Robot 8c9b64e53e Updated the 19 build version to 20100326 2010-03-26 00:43:59 +00:00
Martin Dougiamas 892aafe88d Bumping to 1.9.8 release 2010-03-25 04:11:28 +00:00
Moodle Robot 6a8797fae6 Updated the 19 build version to 20100325 2010-03-25 00:43:56 +00:00
Petr Skoda 7bce3cf885 MDL-21910 adding https www root to flash detection 2010-03-24 08:28:28 +00:00
Petr Skoda 67255b58ec MDL-21802 backporting patch for vulnerability in CAS client library 2010-03-24 08:11:47 +00:00
Petr Skoda 351d2a98ac file readme_moodle.txt was added on branch MOODLE_19_STABLE on 2010-03-24 08:11:47 +0000 2010-03-24 08:11:13 +00:00
Moodle Robot 58b89df986 Updated the 19 build version to 20100324 2010-03-24 00:43:08 +00:00
Moodle Robot a4e4a51219 Updated the 19 build version to 20100323 2010-03-23 00:42:54 +00:00
Eloy Lafuente 2c77aa3685 MDL-19233 restore of roles - prevent role creation, role assignment and
permission overrides by observing corresponding caps. Improve role mapping a bit.
Credit goes to Daniel Neis.
2010-03-22 22:10:33 +00:00
Eloy Lafuente a914552779 NOBUG: Fixed incorrect text comparison breaking mssql/oracle upgrade 2010-03-22 10:59:05 +00:00
Moodle Robot 3dafa79a51 Updated the 19 build version to 20100322 2010-03-22 00:43:21 +00:00
Eloy Lafuente 68323795b8 MDL-21868 mssql generator - be a bot more specific (both must be integers) 2010-03-21 18:47:35 +00:00
Eloy Lafuente 32feeb023c MDL-21868 mssql generator - improve integer meta type detection 2010-03-21 18:04:44 +00:00
Moodle Robot 09b2ffb97b Updated the 19 build version to 20100321 2010-03-21 00:43:07 +00:00
Moodle Robot f60a7c8bbd Updated the 19 build version to 20100320 2010-03-20 00:44:57 +00:00
Petr Skoda 811c2e7575 MDL-21788 use session regeneration on all sites by default and improved string 2010-03-19 07:58:52 +00:00
Moodle Robot 2a011db8a2 Updated the 19 build version to 20100319 2010-03-19 00:43:48 +00:00
Moodle Robot 986a3d0036 Automatic installer.php lang files by installer_builder (20100319) 2010-03-19 00:36:12 +00:00
Petr Skoda 12b9842c6b MDL-21859 fixed sesskey protection on email actions 2010-03-18 22:54:28 +00:00
Petr Skoda 838093ab3b MDL-21830 Prevent users from viewing names of all other site users - only teachers with role assign see the full name of not enrolled users when trying to access the profile 2010-03-18 22:15:22 +00:00
Petr Skoda e92e4b8ab0 MDL-21068 do not show admin usernames in cron logs 2010-03-18 21:59:51 +00:00
Petr Skoda 31eb0fddb6 MDL-21649 fixed form value quoting 2010-03-18 21:23:25 +00:00
Petr Skoda 031afaa59c MDL-21858 improved input validation 2010-03-18 21:07:54 +00:00
Petr Skoda 9c170e28c4 MDL-21818 fixed globals problems 2010-03-18 20:58:19 +00:00
Moodle Robot 7e02fe26fc Updated the 19 build version to 20100318 2010-03-18 00:44:10 +00:00
Moodle Robot 469a320ea1 Automatic installer.php lang files by installer_builder (20100318) 2010-03-18 00:36:32 +00:00
Helen Foster 0ee71c638a help file MDL-17698 edits to ensure XHTML strict compliance thanks to David Horat 2010-03-17 14:11:42 +00:00
Helen Foster 64b004b025 help file MDL-17698 edits to ensure XHTML strict compliance thanks to David Horat 2010-03-17 14:01:24 +00:00
Helen Foster 080f872804 help file MDL-21308 rewording thanks to Bente Olsen 2010-03-17 10:47:48 +00:00
Helen Foster 171d0f7b86 help file MDL-21600 obsolete file thanks to Koen Roggemans 2010-03-17 09:46:14 +00:00
Moodle Robot 250f99df74 Updated the 19 build version to 20100317 2010-03-17 00:44:16 +00:00
Moodle Robot 0d361c8309 Automatic installer.php lang files by installer_builder (20100317) 2010-03-17 00:36:21 +00:00
Moodle Robot 6c1bc334c0 Updated the 19 build version to 20100316 2010-03-16 00:43:30 +00:00
Gordon Bateson 9f23ea03b1 MDL-21817 replace use of preg_match() with /e modifier with preg_replace_callback() and preg_match_all() with a loop 2010-03-15 10:39:42 +00:00
Gordon Bateson b45b9eae4d MDL-21817 replace use of preg_match() with /e modifier with preg_match_callback() and preg_match_all() with a loop 2010-03-15 10:15:59 +00:00
Moodle Robot ca2d4e6edc Updated the 19 build version to 20100315 2010-03-15 00:43:28 +00:00
Moodle Robot 4a1fc7b4de Updated the 19 build version to 20100314 2010-03-14 00:44:07 +00:00
Moodle Robot 5b9b92e935 Updated the 19 build version to 20100313 2010-03-13 00:43:21 +00:00
Moodle Robot ef0cdb25ef Automatic installer.php lang files by installer_builder (20100312) 2010-03-12 15:17:13 +00:00
Moodle Robot 35a0d5f8c8 Automatic installer.php lang files by installer_builder (20100312) 2010-03-12 15:01:52 +00:00
Dan Marsden 278fc21a29 AICC MDL-21332 set scoid if not already set - thanks to Matteo Scaramuccia for report and fix. merged from HEAD 2010-03-12 07:39:09 +00:00
Dan Marsden 05d9f028e7 AICC MDL-21305 mastery score should be set even when lessonstatus <> "completed" - thanks to Matteo Scaramuccia for report and fix. merged from HEAD 2010-03-12 07:27:22 +00:00
Moodle Robot e7a7712bfa Updated the 19 build version to 20100312 2010-03-12 00:43:23 +00:00
Moodle Robot e31b66eb15 Automatic installer.php lang files by installer_builder (20100312) 2010-03-12 00:35:50 +00:00
Dan Poltawski 3afe38a532 lib/blocklib.php MDL-21805 Moving blocks up/down causes blocks to disappear
If two blocks of the same type were next to each other the weight would be
set the same and block disappear..

Thanks to my colleague Andrew Nicols for the patch.

(This patch was commited on a train at 90mph near Coventry, UK)
2010-03-11 16:25:45 +00:00
Moodle Robot 7b6c6e9c31 Updated the 19 build version to 20100311 2010-03-11 00:43:03 +00:00
Petr Skoda a8944c8195 MDL-21789 fixed buggy handling of 0.00 in s() 2010-03-10 08:46:19 +00:00
Moodle Robot 903182f822 Updated the 19 build version to 20100310 2010-03-10 00:43:11 +00:00
Helen Foster 97f7661011 lang string MDL-21016 rewording as suggested by Ray Lawrence 2010-03-09 21:40:56 +00:00
Moodle Robot 9d3c427e7d Updated the 19 build version to 20100309 2010-03-09 00:43:38 +00:00
Moodle Robot 8d08717b51 Updated the 19 build version to 20100308 2010-03-08 00:42:59 +00:00
Petr Skoda 63c7303150 MDL-21769 fixed input validation 2010-03-07 15:36:20 +00:00
Petr Skoda 38b6976505 MDL-21769 fixed input validation 2010-03-07 15:29:39 +00:00
Petr Skoda b6c760ccd7 MDL-21769 fixed input validation 2010-03-07 15:23:58 +00:00
Petr Skoda 3d2d9e6527 MDL-21769 fixed input validation 2010-03-07 15:16:19 +00:00
Petr Skoda f7429974b2 MDL-21769 fixed input validation 2010-03-07 15:10:15 +00:00
Petr Skoda e20b7eed49 MDL-21767 fixed input validation 2010-03-07 14:57:43 +00:00
Moodle Robot 9597ac84c9 Updated the 19 build version to 20100307 2010-03-07 00:43:00 +00:00
Moodle Robot 98bfdc3355 Updated the 19 build version to 20100306 2010-03-06 00:43:03 +00:00
Helen Foster fe08331675 help file MDL-21054 rewording thanks to Bente Olsen 2010-03-05 15:14:01 +00:00
Helen Foster b74bdc319c help file MDL-21053 rewording thanks to Bente Olsen 2010-03-05 14:55:00 +00:00
Helen Foster 9c72f010d3 lang string MDL-18565 spelling fix thanks to Ray Lawrence 2010-03-05 11:41:33 +00:00
Moodle Robot 7ba0dd71ad Updated the 19 build version to 20100305 2010-03-05 00:43:31 +00:00
Eloy Lafuente 4f13fe005e MDL-17510 calendar - added 2 missing labels plus space/comments cleaning. Credit goes to Daniel Neis 2010-03-04 21:57:33 +00:00
Eloy Lafuente 7e4a97c6ac MDL-21750 ims-cc restore - avoid requiring net conection on validation. Credit goes to Darko 2010-03-04 21:30:23 +00:00
Penny Leach 774c13ca15 events: MDL-17442 add support for local events and run event queue in cron 2010-03-04 17:06:19 +00:00
Moodle Robot bf71c4c778 Updated the 19 build version to 20100304 2010-03-04 00:42:49 +00:00
Moodle Robot 405be90aba Updated the 19 build version to 20100303 2010-03-03 00:43:04 +00:00
Moodle Robot 76571df084 Updated the 19 build version to 20100302 2010-03-02 00:42:36 +00:00
Moodle Robot c6fc01d98f Updated the 19 build version to 20100301 2010-03-01 00:43:06 +00:00
Moodle Robot b5a84497e7 Updated the 19 build version to 20100228 2010-02-28 00:42:20 +00:00
Moodle Robot 6570787eba Automatic installer.php lang files by installer_builder (20100228) 2010-02-28 00:34:48 +00:00
Moodle Robot 6b900d9666 Updated the 19 build version to 20100227 2010-02-27 00:42:46 +00:00
Moodle Robot 7237c0f83d Updated the 19 build version to 20100226 2010-02-26 00:43:15 +00:00
Eloy Lafuente fbd146b362 MDL-14934 excel dates. Rely in excellib's format_date() to otput dates. It supports base/timezones properly. 2010-02-25 10:16:15 +00:00
Moodle Robot fc77147262 Updated the 19 build version to 20100225 2010-02-25 00:42:45 +00:00
Helen Foster 850e4781ad lang string MDL-21546 rewording thanks to Bente Olsen 2010-02-24 10:52:02 +00:00
Helen Foster 41e7385f01 help file MDL-21546 rewording thanks to Bente Olsen 2010-02-24 10:35:25 +00:00
Dan Poltawski 47e32d2955 moodlelib: sync_metacourse MDL-20626 wasn't respecting hidden role assignments
This causes hidden role assignments to become public on metacourses

Many thanks to Daniel Neis for the patch

Signed-off-by: Dan Poltawski <dan.poltawski@luns.net.uk>
2010-02-24 09:01:27 +00:00
Dan Poltawski f6674e23e8 blocks/admin MDL-21593 - Specify full url to 'child courses'
Prevents link breaking on resources will full blocs
2010-02-24 08:56:41 +00:00
Dan Poltawski dcb98cd8e8 gradebook/overview MDL-21424 - link to correct grade card
The overview report was sending the user to their own user report
rather than the user they were looking at.
2010-02-24 08:53:45 +00:00
Dan Poltawski 7348068be8 blocks/quiz_results: MDL-21284 - dont strip leading zeros from idnumbers
Or make assumptions its an integer as many external systems are not and to
be of copy and paste use to teachers it should match
2010-02-24 08:51:16 +00:00
Dan Poltawski 695ba14064 grader report: MDL-21192 - remove duplicate variable decleration
Many thanks to Barry Oosthuizen for the patch!

Signed-off-by: Dan Poltawski <dan.poltawski@luns.net.uk>
2010-02-24 08:48:18 +00:00
Dan Poltawski e9d030cfdd block/mentees: MDL-20993 - incorrectly assumes SITEID 2010-02-24 08:45:18 +00:00
Dan Poltawski ed5a88a715 user/edit_form MDL-20683 - allow user to edit description if set with
$CFG->profilesforenrolledusersonly

The original intention seems to be to allow the user to edit the description
if its not empty, however it was not ever allowing that to happen. This was
already correct in HEAD.
2010-02-24 08:38:24 +00:00
Moodle Robot 131065d3e1 Updated the 19 build version to 20100224 2010-02-24 00:42:38 +00:00
Tim Hunt 74aabeb08a nobug: whitespace fixes. 2010-02-23 14:31:09 +00:00
Tim Hunt 0f6a49da32 match qtype: MDL-21701 / OU bug 9551 Fix display of response history.
The displays were being displayed in an order that depended on what the student had
selected, not the order in which the subquestions were displayed.

Great attention to detail by the OU testing team to notice this!
2010-02-23 12:47:07 +00:00
Moodle Robot 74964e989e Updated the 19 build version to 20100223 2010-02-23 00:43:18 +00:00
Dan Marsden 4ee0c3a1a7 SCORM MDL-21584 detect SCORM 2004 4th edition correctly. thanks to Valerian for the report and patch. merged from HEAD 2010-02-22 01:33:33 +00:00
Moodle Robot c29f46d37c Updated the 19 build version to 20100222 2010-02-22 00:43:16 +00:00
Dan Poltawski c33dd43a31 moodlelib: MDL-21477 - stop unzip_show_status depending on files/index.php
function
2010-02-21 15:31:26 +00:00
Eloy Lafuente 19a34c2fd6 Added new installer langs (mr_utf8 & zu_utf8) to 19_STABLE 2010-02-21 15:08:27 +00:00
Eloy Lafuente b189e210d1 file installer.php was added on branch MOODLE_19_STABLE on 2010-02-21 15:08:27 +0000 2010-02-21 15:04:22 +00:00
Dan Poltawski f01ce862ec config-dist.php MDL-21603 - prevent php5 strict warnings with defualt config 2010-02-21 14:46:49 +00:00
Urs Hunkler d472b68b11 FF 3.6 has problems with the used sarissa library. Following the sarissa forums the conflicting line can be commented out. http://sourceforge.net/projects/sarissa/forums/forum/256492/topic/3508927 2010-02-21 12:06:36 +00:00
Moodle Robot 6366286ebf Updated the 19 build version to 20100221 2010-02-21 00:42:39 +00:00
Moodle Robot 34d10397a2 Updated the 19 build version to 20100220 2010-02-20 00:41:43 +00:00
Dan Poltawski 1b97bb14df Revert revision 1.75.2.23 to access.php - MDL-21664
I commited junk from another file as part of commit. Sorry everyone.

I'm to use emacs for the weekend as punishment
2010-02-19 19:13:31 +00:00
Dan Poltawski ff9a1e85c9 lib/db/upgrade: MDL-21664 - $CFG->passwordmainsalt was used rather than $CFG->passwordsaltmain
Causing all admins to be warned about their salt even if they had one set
2010-02-19 16:47:28 +00:00
Moodle Robot 5bc3ab3db0 Updated the 19 build version to 20100219 2010-02-19 00:42:49 +00:00
David Mudrak 4815487089 MDL-7932 Yet another occurance of missing default comments 2010-02-18 18:39:12 +00:00
Jamie Pratt 7d2e309c9b MDL-21650 "cookieless sessions fail when opening a pop up window using the javascript 'openpopup' function for example from the course view page " adding the session name and id in the js function openpopup. 2010-02-18 12:56:12 +00:00
Jamie Pratt 4a4a05cfa8 MDL-21637 "bug in some versions of php version 5 prevents cookieless sessions working" 2010-02-18 11:50:18 +00:00
Andrew Davis e599553d84 simpletestlib MDL-21644 Removed instances of the php keyword protected which is unsupported by php 4 2010-02-18 08:30:45 +00:00
Andrew Davis c315756bf6 gradebook MDL-21644 Removed instances of the php keyword protected which is unsupported by php 4 2010-02-18 08:29:03 +00:00
Penny Leach 9fa2029768 mnet MDL-21633 fixed array to string conversion when rotating keys.
this doesn't need fixing in HEAD because of our new dml stuff
2010-02-18 03:22:23 +00:00
Penny Leach 25cd4deb3a mnet MDL-14117 truncate values in $dn to the RFC 3280 lengths when making new mnet keys 2010-02-18 03:11:52 +00:00
Penny Leach da92b21caa mnet MDL-17202 disambiguating strings in mnet enrolment config and updated plugin desc
committing forgotten file
2010-02-18 01:23:43 +00:00
Moodle Robot c28ccac7f8 Updated the 19 build version to 20100218 2010-02-18 00:42:46 +00:00
Dan Poltawski 8d6e18cc6c mnet: MDL-21632 - set $this to deleted too.
My previous commit message wasn't quite correct, I had misread the code, peers
were being properly makred as delted.
2010-02-17 22:18:11 +00:00
Dan Poltawski 154b2a1d7f mnet: MDL-21632 - remove reference to non-existant table
Backport Jermoes patch to only mark mnet hosts as deleted rather than delete
from db. Unfortunately the previous behaviour in <2.0 to mark hosts as delted
wasn't at all correct due to horrible behaviour of the commit()  function.
This addresses tha tproblem.
2010-02-17 22:15:02 +00:00
Jamie Pratt cdf50f82de MDL-21641 cookieless sessions - Need to try to set a cookie before falling back to cookieless mode. Moved test to see if cookies are working till after Moodle has attempted to set a cookie. If there is no cookie then we use session id in url. 2010-02-17 14:25:35 +00:00
Jamie Pratt 62236dd1b1 MDL-21638 cookieless session id not passed when loading images - needed for example for graphs which access session data 2010-02-17 11:31:33 +00:00
Jamie Pratt 72336b7f93 MDL-21637 bug in some versions of php version 5 prevents cookieless sessions working. Using static variable to store data from CFG on first call to fix problem. 2010-02-17 11:25:38 +00:00
Penny Leach 5425c4d06a mnet MDL-17202 disambiguating strings in mnet enrolment config and updated plugin desc 2010-02-17 03:59:04 +00:00
Penny Leach 5a97f0d96b mnet MDL-21257 temporary fix for mnet breaking on session regeneration. This is fixed better, but more obtrusively in 2.0 2010-02-17 01:32:14 +00:00
Moodle Robot c0f891d6fe Updated the 19 build version to 20100217 2010-02-17 00:43:07 +00:00
Moodle Robot 42d3d715ec Automatic installer.php lang files by installer_builder (20100217) 2010-02-17 00:35:47 +00:00
Andrew Davis 2fa0e3e21b user profiles MDL-20619 Email obfuscation wasnt working in some versions of IE 2010-02-16 02:52:53 +00:00
Moodle Robot cda0cdb819 Updated the 19 build version to 20100216 2010-02-16 00:42:46 +00:00
Moodle Robot 86bc6d3898 Updated the 19 build version to 20100215 2010-02-15 00:42:44 +00:00
Moodle Robot d8f12e5a98 Updated the 19 build version to 20100214 2010-02-14 00:42:33 +00:00
Moodle Robot 6b25991f60 Updated the 19 build version to 20100213 2010-02-13 00:42:46 +00:00
Sam Marshall bfaf0e5747 MDL-21567 Assign roles screen at module level can show users twice 2010-02-12 16:33:54 +00:00
Moodle Robot 45f656b9bc Updated the 19 build version to 20100212 2010-02-12 00:41:57 +00:00
Gordon Bateson dfdec574d3 fix student access to HotPots in tail of a HotPot quiz chain 2010-02-11 02:52:22 +00:00
Moodle Robot b5e596256c Updated the 19 build version to 20100211 2010-02-11 00:42:45 +00:00
Eloy Lafuente fddef9d6b7 MDL-7647 confirmation email - usernames with slashes causing confirmation problems 2010-02-10 16:46:00 +00:00
Moodle Robot 88b78226dd Updated the 19 build version to 20100210 2010-02-10 00:44:06 +00:00
Moodle Robot 67abeea724 Automatic installer.php lang files by installer_builder (20100210) 2010-02-10 00:36:23 +00:00
Piers Harding b34b5c7b49 MDL-18202 - fix incorrect substitutions of '_'. 2010-02-09 17:50:52 +00:00
Moodle Robot 4d5ead9be0 Updated the 19 build version to 20100209 2010-02-09 00:42:54 +00:00
Moodle Robot abe92c685e Automatic installer.php lang files by installer_builder (20100209) 2010-02-09 00:35:18 +00:00
Andrew Davis 1966cb853f gradebook MDL-21315 Fixed column highlighting 2010-02-08 04:18:40 +00:00
Moodle Robot edab8319fe Updated the 19 build version to 20100208 2010-02-08 00:42:38 +00:00
Moodle Robot 78421bfa9a Updated the 19 build version to 20100207 2010-02-07 00:41:48 +00:00
Moodle Robot 25733f443d Updated the 19 build version to 20100206 2010-02-06 00:42:45 +00:00
Moodle Robot 5ac643a6b6 Automatic installer.php lang files by installer_builder (20100206) 2010-02-06 00:35:17 +00:00
Tim Hunt b6be82811d question state loading MDL-9327 and MDL-19114 fix loading the state of ungraded essay questions
In two situations, the correct state was not being loaded for essay questions that had
not yet been manually graded:
1. When starting a subsequent attempt in each attempt builds on last mode.
2. In the quiz reports.

This commit fixes the problem. It has one other side-effect. When viewing the individual
question grades in the overview report for an attempt that is still in progress, the
information displayed will be slightly different. This only affects adaptive mode quizzes,
and will acutally cause the report to show slighly more up-to-date information.

Interestingly, the reportlib.php change had already been made in HEAD, as part of MDL 16529
2010-02-05 16:36:59 +00:00
Andrew Davis 3570713828 gradebook MDL-21218 course and category totals behaviour when they contain hidden items 2010-02-05 07:27:02 +00:00
Moodle Robot 0e2ff533bd Updated the 19 build version to 20100205 2010-02-05 00:43:23 +00:00
Rossiani Wijaya edef4cd2e1 MDL-20307 - add view fullname capabilities to display fullname in gradebook and participant list 2010-02-04 04:37:31 +00:00
Moodle Robot df9fe21b58 Updated the 19 build version to 20100204 2010-02-04 00:42:38 +00:00
Eloy Lafuente 9e9b31f89b MDL-21407 latex filter - lalala, added missing savepoint 2010-02-03 09:11:49 +00:00
Eloy Lafuente 16421d0353 MDL-21407 tex filter - trim leading whitespace from latex preamble 2010-02-03 09:10:13 +00:00
Andrew Davis a97f19333c grader report MDL-21367 when an item is unhidden its category should unhide to 2010-02-03 02:22:58 +00:00
Moodle Robot c50959fa54 Updated the 19 build version to 20100203 2010-02-03 00:42:30 +00:00
Moodle Robot 0815881c65 Updated the 19 build version to 20100202 2010-02-02 00:38:58 +00:00
Penny Leach 5f3aa3c97a mnet MDL-17863 increase length of portno field in the host table (so 443 works) 2010-02-01 04:19:51 +00:00
Penny Leach 6b970039cb mnet MDL-17082 fixing typo in previous bugfix 2010-02-01 01:43:26 +00:00
Moodle Robot 49e25c58ea Updated the 19 build version to 20100201 2010-02-01 00:38:11 +00:00
Moodle Robot 360a5d6955 Automatic installer.php lang files by installer_builder (20100201) 2010-02-01 00:31:21 +00:00
Moodle Robot 8f978af0a3 Updated the 19 build version to 20100131 2010-01-31 00:37:52 +00:00
Moodle Robot 678730b041 Updated the 19 build version to 20100130 2010-01-30 00:38:29 +00:00
Moodle Robot c7539c2c15 Automatic installer.php lang files by installer_builder (20100130) 2010-01-30 00:31:41 +00:00
Helen Foster d6b5a314f7 help file MDL-21308 rewording thanks to Bente Olsen 2010-01-29 20:27:30 +00:00
Andrew Davis fd1e0f3beb grader report MDL-21374 made column averages align correctly 2010-01-29 01:17:23 +00:00
Moodle Robot 2d9e548ef5 Updated the 19 build version to 20100129 2010-01-29 00:37:36 +00:00
Rossiani Wijaya b1bef4085e MDL-21440 - replacing hardcoded string with language string. 2010-01-28 02:19:06 +00:00
Moodle Robot f5058b206b Updated the 19 build version to 20100128 2010-01-28 00:37:53 +00:00
Moodle Robot 62e1cf14d8 Updated the 19 build version to 20100127 2010-01-27 00:37:49 +00:00
Moodle Robot 2fd7250f20 Updated the 19 build version to 20100126 2010-01-26 00:37:48 +00:00
Gordon Bateson 986c607c4b do not treat https absolute urls as relative urls 2010-01-25 07:16:45 +00:00
Penny Leach 70d2f4be3c mnet MDL-17629 upgrade to fix referntial integrity in mnet hostids for localhost and all hosts records 2010-01-25 00:59:21 +00:00
Moodle Robot bcaa8cd2bd Updated the 19 build version to 20100125 2010-01-25 00:37:41 +00:00
Moodle Robot 788291baa0 Updated the 19 build version to 20100124 2010-01-24 00:37:52 +00:00
Moodle Robot e99a3c131c Updated the 19 build version to 20100123 2010-01-23 00:37:15 +00:00
Rossiani Wijaya da4aed67d3 MDL-21300 - remove filename validation for invalid character. 2010-01-22 02:01:03 +00:00
Moodle Robot 0135dda86a Updated the 19 build version to 20100122 2010-01-22 00:38:08 +00:00
Eloy Lafuente 3a41c990dc MDL-16018 textarea height - min 7 lines to avoid visualization problem 2010-01-22 00:01:08 +00:00
Eloy Lafuente 589ad34e82 MDL-21265 wiki - fix problem for students not able to see entries in other groups until own entry is created by teacher 2010-01-21 23:40:02 +00:00
Eloy Lafuente 94e5756daf MDL-21293 Grrr, left one testing line there... sorry! 2010-01-21 19:34:27 +00:00
Eloy Lafuente 468a1aff83 MDL-21293 Better conversion from old to new categories in specialization() 2010-01-21 19:32:39 +00:00
Inaki 3381dd4607 auth ldap/cas config: MDL-21343 LDAP / CAS settings broken due to wrong superflous value 2010-01-21 19:20:37 +00:00
Eloy Lafuente bc188d0273 MDL-21293 tag_youtube block - migrate from old (not working anymore!) YouTube API
to the new Google Data API
2010-01-21 17:37:46 +00:00
Moodle Robot 1584d69510 Updated the 19 build version to 20100121 2010-01-21 00:38:04 +00:00
Eloy Lafuente 35e25af7b0 MDL-21393 clean old executabble (by everybody) script. 2010-01-20 11:21:30 +00:00
Rossiani Wijaya 85056e763f MDL-11131 - style for temporary block handler (for sticky block) 2010-01-20 06:37:51 +00:00
Rossiani Wijaya 1833b24abb MDL-11131 - fixed the weight of sticky blocks as it moved around. 2010-01-20 04:36:23 +00:00
Moodle Robot e3fb0b7847 Updated the 19 build version to 20100120 2010-01-20 00:37:39 +00:00
Moodle Robot 7a525d74f0 Updated the 19 build version to 20100119 2010-01-19 00:38:01 +00:00
Eloy Lafuente 77fcfa7395 MDL-21370 restore - avoid adding slashes twice to user info
Credit goes to jean-christophe zulian
2010-01-18 19:37:49 +00:00
Tim Hunt d3e2dfaf75 graphlib MDL-21371: Legend layout issue when different legend texts had different heights. 2010-01-18 15:24:19 +00:00
Moodle Robot 1070f24868 Updated the 19 build version to 20100118 2010-01-18 00:37:41 +00:00
Moodle Robot e5448baec4 Automatic installer.php lang files by installer_builder (20100118) 2010-01-18 00:30:50 +00:00
Moodle Robot 5c2bb616c7 Updated the 19 build version to 20100117 2010-01-17 00:37:40 +00:00
Moodle Robot e418527862 Updated the 19 build version to 20100116 2010-01-16 00:37:57 +00:00
Sam Marshall 8ec0c7b0da MDL-21356 rsslib: Schema address from tag output in wasn't escaped (problem only if it contains &) 2010-01-15 14:36:48 +00:00
Moodle Robot 4f1216af39 Updated the 19 build version to 20100115 2010-01-15 00:37:47 +00:00
Moodle Robot 2c214cee4f Automatic installer.php lang files by installer_builder (20100115) 2010-01-15 00:30:56 +00:00
Pierre Pichet d2eca89391 MDL-21336 testing with $correct != '' so that correct answer 0 is shown in multianswer 2010-01-14 21:56:42 +00:00
David Mudrak a81beb4c24 MDL-21346 fixed various print_password_policy() issues 2010-01-14 20:46:31 +00:00
David Mudrak a34d4fbe03 MDL-21229 editor: added missing tooltip translation 2010-01-14 10:20:29 +00:00
Andrew Davis 732cef98a7 weblib MDL-21183 Commented out some unreasonable unit tests 2010-01-14 02:14:10 +00:00
Pierre Pichet 77a6f29667 MDL-21336 testing with $correct != '' so that correct answer 0 is shown 2010-01-14 01:17:37 +00:00
Moodle Robot 85cb53c0ad Updated the 19 build version to 20100114 2010-01-14 00:38:03 +00:00
Dan Marsden 5883099064 SCORM AICC MDL-21330 fix php notice - thanks to Matteo Scaramuccia for report and fix. merged from Stable 2010-01-13 22:42:03 +00:00
Penny Leach 46cc83dfdb mnet MDL-17931 add slashes to mnet method profiles when saving 2010-01-13 22:17:25 +00:00
Dan Marsden 534182ebdd SCORM AICC MDL-19392 add some missing params to querystring merged from HEAD 2010-01-13 22:08:39 +00:00
Eloy Lafuente b70f33ea6d NOBUG: Fix notice (and something more?). Like MDL-12961 but in data module 2010-01-13 16:47:42 +00:00
Rossiani Wijaya 3de4198a4f MDL-20402 - update bulk user action messages from regular textarea to HTML editor. 2010-01-13 07:56:20 +00:00
Penny Leach 1ddd8283f9 mnet: MDL-20059 fix up login/mnet_email.php in a few places
Merged (belatedly from HEAD)
2010-01-13 03:10:26 +00:00
Penny Leach 3022e494ca mnet MDL-21328 fixed non unique first field sql in mnet_services.php 2010-01-13 02:46:13 +00:00
Penny Leach bcb7c63ec0 mnet MDL-17082 removed all use of $_POST 2010-01-13 02:42:05 +00:00
Andrew Davis 6dc8c4e402 weblib MDL-21296 a temporary workaround convert_urls_into_links() causing timeouts 2010-01-13 02:16:12 +00:00
Dan Marsden ff9be2feef SCORM AICC MDL-19392 MDL-13716 cast result as a String in AICC (already done in Scorm 1.2 and 1.3 merged from HEAD 2010-01-13 02:01:31 +00:00
Penny Leach a3f6b0fe7e mnet MDL-19260 add an addslashes_object when updating public keys
fixing typo in last commit
2010-01-13 01:48:23 +00:00
Penny Leach 77ca2c9c1d mnet MDL-19260 add an addslashes_object when updating public keys
not merged to HEAD because of new db stuff
2010-01-13 01:43:24 +00:00
Dan Marsden 2ee0ca3438 SCORM AICC MDL-21304 typo when referring to SCORM session var in AICC files - thanks to Matteo Scaramuccia for the report and fix. merged from HEAD 2010-01-13 01:39:22 +00:00
Moodle Robot 7bf1a0ec9b Updated the 19 build version to 20100113 2010-01-13 00:38:01 +00:00
Eloy Lafuente 0cced51f5a MDL-21296 - secs are secs no milisecs, :-P 2010-01-12 14:07:34 +00:00
Eloy Lafuente 6650e754c7 MDL-21296 - Adding timing info to test in order to compare results 2010-01-12 14:06:06 +00:00
Eloy Lafuente b0fbf376cc MDL-21168 - Support encoded chars in query part of URL. Done in review day, but it's tested, grrr. 2010-01-12 13:37:13 +00:00
Eloy Lafuente fe8525e86b MDL-21168 - Added test for URLs with encoded paths and queries 2010-01-12 13:23:23 +00:00
Gordon Bateson 1bef863f84 add groupings awareness to HotPot module 2010-01-12 07:26:10 +00:00
Moodle Robot 743ee9d956 Updated the 19 build version to 20100112 2010-01-12 00:37:42 +00:00
Penny Leach 8901f90395 mnet: MDL-21298 fixed a very unhelpful error message (and saved a db query)
this adds a new string for nolocaluser - nolocaluser2 (it's just nolocaluser in head)
2010-01-11 22:20:14 +00:00
Penny Leach decbf994c0 mnet/login: MDL-21018 - be a bit more picky about when to show the link to mnet_email.php 2010-01-11 22:05:47 +00:00
Rossiani Wijaya f3a1b0ce39 MDL-21174 - exclude deleted users in bulk upload of user profile pictures. 2010-01-11 06:50:02 +00:00
Andrew Davis 5eb17eabee weblib MDL-21168 I had accidently deleted a test 2010-01-11 06:21:32 +00:00
Andrew Davis bdac61091c weblib MDL-21168 added some more tests 2010-01-11 06:14:09 +00:00
Andrew Davis 1f6a37155a course sorting MDL-21011 made upgrade code more efficient 2010-01-11 02:29:08 +00:00
Penny Leach b6fff6a5aa mnet MDL-17169 trim the raw xmlrpc response before passing it to the xml parser 2010-01-11 01:02:35 +00:00
Moodle Robot d3b3fad86d Updated the 19 build version to 20100111 2010-01-11 00:38:10 +00:00
Moodle Robot 276b2b2ea3 Updated the 19 build version to 20100110 2010-01-10 00:37:30 +00:00
Moodle Robot d807d3a516 Automatic installer.php lang files by installer_builder (20100110) 2010-01-10 00:30:43 +00:00
Eloy Lafuente 0959a70851 First commit of ast_utf8 installer file. Backported from HEAD 2010-01-09 23:16:46 +00:00
Eloy Lafuente 158b6463e6 file installer.php was added on branch MOODLE_19_STABLE on 2010-01-09 23:16:46 +0000 2010-01-09 23:13:20 +00:00
Moodle Robot 25a049d01d Updated the 19 build version to 20100109 2010-01-09 00:38:02 +00:00
Moodle Robot cbcd5d6c27 Automatic installer.php lang files by installer_builder (20100109) 2010-01-09 00:31:11 +00:00
Eloy Lafuente 321b4075cd MDL-21168 convert_urls_into_links() - added tests about links in tags and double conversions 2010-01-08 22:21:16 +00:00
Eloy Lafuente 8267366e44 MDL-21168 avoid http://www.whatever to be linked twice 2010-01-08 22:16:37 +00:00
Eloy Lafuente c782bd7a4b MDL-21168 convert_urls_into_links() - changed solution to avoid linking
inside <img> tags by negative look-behind assertion of =" string
2010-01-08 16:48:38 +00:00
Eloy Lafuente 7fd2dcec3c MDL-21168 convert_urls_into_links() - minor changes to tests (code formatting,
utf_decode() out and properly escape % chars.
2010-01-08 16:38:40 +00:00
Andrew Davis ac13e678c9 grader report MDL-21088 Fixed assorted vertical alignment issues 2010-01-08 08:03:22 +00:00
Andrew Davis 1a59f3dd02 grader report MDL-21270 Use constants instead of integers 2010-01-08 07:46:30 +00:00
Andrew Davis 7cf7a14d85 course sorting MDL-21011 "Re-sort courses by name" button eventually lead sortorder to hit column maximum value 2010-01-08 07:38:50 +00:00
Andrew Davis 1ca30d589f course sorting MDL-21011 "Re-sort courses by name" button eventually lead sortorder to hit column maximum value 2010-01-08 07:17:52 +00:00
Andrew Davis 9c09c3b89a course sorting MDL-21011 "Re-sort courses by name" button eventually lead sortorder to hit column maximum value 2010-01-08 07:07:55 +00:00
Andrew Davis e45757ad63 moodlelib MDL-20918 usergetdate was returning an array in a different order depending on whether or not timezone was set 2010-01-08 06:41:57 +00:00
Rossiani Wijaya 366a5bb8fd MDL-18774 - fixed fullname format label. 2010-01-08 02:27:32 +00:00
Moodle Robot deb03b4ff9 Updated the 19 build version to 20100108 2010-01-08 00:37:59 +00:00
Eloy Lafuente 566c19c620 MDL-21264 sql_isnotempty fixed. Thanks Tim! Backported from HEAD 2010-01-07 15:02:41 +00:00
David Mudrak f330bf4a42 MDL-21248 workshop: yet another place violating not null feedback 2010-01-07 14:19:11 +00:00
David Mudrak d5ed6c36d2 MDL-21248 workshop fills description field for a grade mapping only element 2010-01-07 13:53:55 +00:00
Moodle Robot 3eb066cdfa Updated the 19 build version to 20100107 2010-01-07 00:37:30 +00:00
Rossiani Wijaya 733f09a461 MDL-18824 changing fullname name (fullnamedisplay) default value to language. 2010-01-06 05:10:23 +00:00
Moodle Robot bc90a47903 Updated the 19 build version to 20100106 2010-01-06 00:37:59 +00:00
Moodle Robot 3f09627554 Automatic installer.php lang files by installer_builder (20100106) 2010-01-06 00:31:06 +00:00
Helen Foster 24cc21c077 config settings: MDL-16658 small rewording 2010-01-05 22:15:59 +00:00
Helen Foster d10342e4a2 moodle lang string: MDL-16658 small rewording 2010-01-05 21:53:51 +00:00
Moodle Robot 0cdb0453f2 Updated the 19 build version to 20100105 2010-01-05 00:37:25 +00:00
Andrew Davis 36f1ce024f graderreport MDL-21159 grader report was producing invalid html 2010-01-04 08:14:14 +00:00
Moodle Robot a8bb7474a6 Updated the 19 build version to 20100104 2010-01-04 00:34:35 +00:00
Moodle Robot 71b1edd8da Updated the 19 build version to 20100103 2010-01-03 00:35:00 +00:00
Moodle Robot c73ca693e9 Automatic installer.php lang files by installer_builder (20100103) 2010-01-03 00:28:11 +00:00
Moodle Robot 709fa905af Updated the 19 build version to 20100102 2010-01-02 00:34:24 +00:00
Moodle Robot 3b58064a98 Updated the 19 build version to 20100101 2010-01-01 00:34:57 +00:00
Moodle Robot c39ff02c27 Automatic installer.php lang files by installer_builder (20100101) 2010-01-01 00:28:11 +00:00
Moodle Robot 817837383b Updated the 19 build version to 20091231 2009-12-31 00:35:52 +00:00
Moodle Robot b3ec8bce9c Automatic installer.php lang files by installer_builder (20091231) 2009-12-31 00:28:10 +00:00
Eloy Lafuente 4029d09097 MDL-16658 restore - new restore:createuser cap + pre-check users before restoring 2009-12-30 17:17:09 +00:00
Helen Foster 7e766c4d51 moodle.org lang string: MDLSITE-846 thanks to Mauno 2009-12-30 14:07:31 +00:00
Helen Foster bbf0d4086f moodle.org lang strings: MDLSITE-297 thanks to MD 2009-12-30 12:36:09 +00:00
Petr Skoda 75c9459b00 MDL-21194 fixed mnet quotes issue - credit goes to Valery Fremaux 2009-12-30 08:06:15 +00:00
Moodle Robot 689458916d Updated the 19 build version to 20091230 2009-12-30 00:34:48 +00:00
Eloy Lafuente 0fa3908eb8 NOBUG: Whitespace and XHTML 2009-12-29 19:34:06 +00:00
Moodle Robot 752542c5af Updated the 19 build version to 20091229 2009-12-29 00:34:23 +00:00
Eloy Lafuente f4b233eef5 MDL-21203 delete dupe code - Credit goes to Antoine G 2009-12-28 14:32:08 +00:00
Moodle Robot 8002b70cbb Updated the 19 build version to 20091228 2009-12-28 00:35:53 +00:00
Moodle Robot 646feb47f2 Updated the 19 build version to 20091227 2009-12-27 00:34:21 +00:00
Moodle Robot 9a2f1f706c Updated the 19 build version to 20091226 2009-12-26 00:34:34 +00:00
Moodle Robot eb04558e7e Updated the 19 build version to 20091225 2009-12-25 00:34:22 +00:00
Moodle Robot a70b4067ea Automatic installer.php lang files by installer_builder (20091225) 2009-12-25 00:27:41 +00:00
Valery Fremaux e87eda39cf http://tracker.moodle.org/browse/MDL-21186 2009-12-24 23:08:30 +00:00
Andrew Davis 1b34261dc6 weblib MDL-21168 improved convert_urls_into_links 2009-12-24 04:36:14 +00:00
Moodle Robot fcf40a111e Updated the 19 build version to 20091224 2009-12-24 00:35:07 +00:00
Rossiani Wijaya 80990f1aef MDL-20949 changing the language string from 'your' to 'the', to print out the password policy requirements. 2009-12-23 02:07:08 +00:00
Moodle Robot 7b11ee0635 Updated the 19 build version to 20091223 2009-12-23 00:34:52 +00:00
Matt Oquist e48675ba98 MDL-19024 Fix a bug that stops strings from being displayed correctly in the admin section when configuring the MNET services. (Thanks, Richard Mansfield.) 2009-12-22 03:00:42 +00:00
Moodle Robot 1276ac66ff Updated the 19 build version to 20091222 2009-12-22 00:35:13 +00:00
Moodle Robot fc7e0e9d67 Updated the 19 build version to 20091221 2009-12-21 00:34:35 +00:00
Pierre Pichet ed26d187a7 correcting pass from reference problem line 84 as identified by syntax report on moodle.org 2009-12-20 13:19:01 +00:00
Moodle Robot 61b9115ad2 Updated the 19 build version to 20091220 2009-12-20 00:35:08 +00:00
Moodle Robot 8fd08116ea Updated the 19 build version to 20091219 2009-12-19 00:34:22 +00:00
Moodle Robot a91d252b32 Automatic installer.php lang files by installer_builder (20091219) 2009-12-19 00:27:44 +00:00
Eloy Lafuente 64aec4287b MDL-21045, MDL-21046 restore - gradebook categories, letters and outcomes are now
restored no matter if user info is enabled or no (as far as they are user-independent)
2009-12-18 18:47:14 +00:00
Tim Hunt f7f6e31b63 Grade item: MDL-21161 timemodified never gets set on calculated gradebook columns 2009-12-18 18:19:48 +00:00
Eloy Lafuente 4e2ba0840b Related to MDL-6489 - advanced search template was missing in backup/restore 2009-12-18 18:08:56 +00:00
Eloy Lafuente 9e845f9ee7 MDL-11507, MDL-15157 database activity - avoid some notices on restore 2009-12-18 17:51:27 +00:00
Eloy Lafuente 06cc4c9699 MDL-21160 database activity - remap scale on restore 2009-12-18 17:37:11 +00:00
Tim Hunt b9a18f1b17 grader report: MDL-21159 Link to user report does not respect $CFG->grade_profilereport setting.
Also, the report was generating invalid XHTML.
2009-12-18 17:13:42 +00:00
Dan Marsden 7cf74b7002 SCORM MDL-20122 badly formatted restore values - thanks to Michael Avelar for the fix merged from HEAD 2009-12-18 08:20:48 +00:00
Dan Marsden d2f35f4357 SCORM MDL-18857 allow items with a score of 0 to still display on outline report. merged from HEAD 2009-12-18 07:24:07 +00:00
Dan Marsden 2dae979d8e SCORM MDL-21024 missing field in restore. merged from HEAD 2009-12-18 07:14:53 +00:00
Dan Marsden 98cdb41a4a SCORM MDL-20588 workaround for IE 6 bug - turn zlib compression off if IE 6 is detected. merged from HEAD 2009-12-18 06:42:37 +00:00
Dongsheng Cai c6a032b9d3 "MDL-15502, added a filter to selec users who have never logged in, credits to Anthony Borrow" 2009-12-18 05:24:14 +00:00
Dan Marsden 990ecc4694 mnet MDL-16522 missed a check - should not show logs tab for all hosts screen merged from HEAD 2009-12-18 03:21:07 +00:00
Dan Marsden d6f826c810 mnet MDL-16522 duplication of inconsistant code - now uses a tabs.php file but still needs a further code tidy as per MDL-16286 merged from HEAD 2009-12-18 03:16:35 +00:00
Dan Marsden c883e63ebd file tabs.php was added on branch MOODLE_19_STABLE on 2009-12-18 03:16:35 +0000 2009-12-18 03:09:05 +00:00
Dongsheng Cai baf1dc0a4d "MDL-21122, fixed saving setting problem in section links block" 2009-12-18 03:01:36 +00:00
Pierre Pichet 1343e53aff correcting pass from reference problem line 24 as identified by syntax report of Fri Dec 18 08:21:03 WST 2009 2009-12-18 02:35:47 +00:00
Moodle Robot e2baf96bdf Updated the 19 build version to 20091218 2009-12-18 00:34:10 +00:00
Pierre Pichet efed05fd25 MDL-3282 , MDL-4595 error in numerical with comma . More number formats are allowed.
merged from HEAD
2009-12-17 21:50:53 +00:00
Eloy Lafuente 3ae036b04b NOBUG minor typo in phpdocs 2009-12-17 14:38:59 +00:00
Sam Hemelryk 9d557dee01 weblib MDL-6820 Reverted modification due to unforseen regressions 2009-12-17 09:22:23 +00:00
Andrew Davis 49b115075e mnet MDL-12057 fixed mnet admin page table width 2009-12-17 08:20:35 +00:00
Andrew Davis c85a042383 live log MDL-20994 made "block editing on" button work on live logs page 2009-12-17 08:03:19 +00:00
Andrew Davis 6b8e4d338c weblib MDL-20826 improved convert_urls_into_links() 2009-12-17 07:43:46 +00:00
Moodle Robot af1d07d088 Updated the 19 build version to 20091217 2009-12-17 00:34:18 +00:00
Rossiani Wijaya 019907767a MDL-20949 printing out password policy requirements on signup page. 2009-12-16 01:51:48 +00:00
Andrew Davis d8a3469cfa quiz MDL-18896 small efficiency improvement 2009-12-16 00:51:28 +00:00
Moodle Robot 3f55dc7059 Updated the 19 build version to 20091216 2009-12-16 00:34:09 +00:00
Moodle Robot d2a247b68c Updated the 19 build version to 20091215 2009-12-15 00:34:51 +00:00
Moodle Robot bd2dbab136 Automatic installer.php lang files by installer_builder (20091215) 2009-12-15 00:28:11 +00:00
Gordon Bateson 811fab85a7 for consistency, use 0x80 instead of 128 in hotpot_charcode_to_utf8() 2009-12-14 03:28:26 +00:00
Moodle Robot 6bb053347c Updated the 19 build version to 20091214 2009-12-14 00:33:35 +00:00
Moodle Robot 959792675e Updated the 19 build version to 20091213 2009-12-13 00:33:18 +00:00
Moodle Robot 23e91e0dcc Updated the 19 build version to 20091212 2009-12-12 00:33:47 +00:00
Moodle Robot f16b7bf9b0 Updated the 19 build version to 20091211 2009-12-11 00:33:31 +00:00
Moodle Robot 842d34099c Updated the 19 build version to 20091210 2009-12-10 00:34:09 +00:00
Eloy Lafuente 6bf36bc2b9 MDL-20667 grader report - fix visualization annoyance in overall/range rows 2009-12-10 00:12:42 +00:00
Rossiani Wijaya e29748a54a MDL-20044 fixed ajax functionality when using bullet points (<ul>) in topic summary. 2009-12-09 01:59:47 +00:00
Moodle Robot d694bf90a1 Updated the 19 build version to 20091209 2009-12-09 00:34:52 +00:00
Gordon Bateson d113780338 MDL-20810: add missing function hotpot_charcode_to_utf8() required when importing Hot Potatoes files containing non-ascii chars into Moodle question bank 2009-12-08 04:09:59 +00:00
Moodle Robot b2ffd65ec2 Updated the 19 build version to 20091208 2009-12-08 00:33:56 +00:00
Moodle Robot 8bbd86a2db Automatic installer.php lang files by installer_builder (20091208) 2009-12-08 00:27:25 +00:00
Eloy Lafuente 01c986b64b MDL-20961 customize notices showed when user information is not included in baclup 2009-12-07 11:36:55 +00:00
jerome mouneyrac e223319801 flash upgrader MDL-20841 fix swfobject javascript bug related to http://code.google.com/p/swfobject/issues/detail?id=332 2009-12-07 03:23:59 +00:00
Moodle Robot 53bc0353b7 Updated the 19 build version to 20091207 2009-12-07 00:33:35 +00:00
Moodle Robot d64c3bf6d3 Updated the 19 build version to 20091206 2009-12-06 00:33:16 +00:00
Eloy Lafuente becb6e1c07 MDL-21029 glossary - fix display of entries belonging to site/course global glossaries 2009-12-05 11:23:12 +00:00
Moodle Robot 43371caf2c Updated the 19 build version to 20091205 2009-12-05 00:34:06 +00:00
Moodle Robot 21b83bd0c8 Automatic installer.php lang files by installer_builder (20091205) 2009-12-05 00:27:25 +00:00
Tim Hunt 331e1a976a Typo in calculated qtype lang file. 2009-12-04 19:02:15 +00:00
David Mudrak ed55d692f3 MDL-20992 workshop supports course reset 2009-12-04 12:21:28 +00:00
Dongsheng Cai 0cd77e569f "MDL-20125, added configurable setting to section_links block, credits to Jason Hardin" 2009-12-04 06:40:44 +00:00
Dongsheng Cai 44d34e8990 "MDL-20587, chat module, show sessions with just one users, credits to Daniel Neis" 2009-12-04 03:51:20 +00:00
Dongsheng Cai 8aadf873b7 "MDL-20819, sometimes, modules return non-array which can break stats processing, added more error checking" 2009-12-04 03:04:37 +00:00
Moodle Robot cee8f4b24a Updated the 19 build version to 20091204 2009-12-04 00:33:27 +00:00
Sam Hemelryk c12167467e weblib MDL-20725 Fixed string formatting issue in nested selects 2009-12-03 08:00:00 +00:00
jerome mouneyrac 0402b9d31e flash upgrader MDL-20841 fix xhtml strict, Kudo to Tim Hunt 2009-12-03 02:59:38 +00:00
jerome mouneyrac e63d2e43b0 flash upgrader MDL-20841 update phpdoc 2009-12-03 02:37:39 +00:00
Rossiani Wijaya ec30a562d8 MDL-20725 remove double escaping characters. 2009-12-03 02:09:58 +00:00
Andrew Davis 891027acf3 componentlib MDL-20966 Added a guard to prevent a php warning during upgrade 2009-12-03 00:59:55 +00:00
Moodle Robot 7b9b800b54 Updated the 19 build version to 20091203 2009-12-03 00:33:49 +00:00
Petr Skoda d44b4a796d MDL-21026 improved entity handling 2009-12-02 21:09:12 +00:00
Sam Marshall d5f4161c2c MDL-2684: kses strips out CSS from style tags unless the first property is on 'allowed' list, this is silly 2009-12-02 17:59:12 +00:00
Andrew Davis e7062765e0 mnet MDL-21019 Removed hard coded strings 2009-12-02 09:24:48 +00:00
Moodle Robot cc692622fc Updated the 19 build version to 20091202 2009-12-02 00:34:29 +00:00
Moodle Robot daee0e4fc5 Updated the 19 build version to 20091201 2009-12-01 00:34:12 +00:00
Sam Marshall 8562968ec9 MDL-21009 Group selector must use absolute links in order to work with javascript off (last minute stupid testing fix) 2009-11-30 17:18:44 +00:00
Sam Marshall dcca8dfb97 MDL-21009 Group selector must use absolute links in order to work with javascript off 2009-11-30 17:12:16 +00:00
Dongsheng Cai 92fa5b0f2a "MDL-20985, fixed typo" 2009-11-30 02:16:18 +00:00
Eloy Lafuente 8a57240f6f MDL-20826 convert_urls_into_links() - add some test to reveal (side?) problems
and allow comparing of alternatives
2009-11-30 02:02:31 +00:00
Andrew Davis a757f4a2d7 unit tests MDL-19060 unified the two checks for CVS directories 2009-11-30 01:16:23 +00:00
Moodle Robot dbc8d12eb8 Updated the 19 build version to 20091130 2009-11-30 00:33:55 +00:00
Eloy Lafuente 6dd255bde8 MDL-16658 restore users pre-check. Reviewed logic with latest discussions. Continues disabled 2009-11-29 19:34:07 +00:00
Moodle Robot 2315ad0483 Updated the 19 build version to 20091129 2009-11-29 00:33:58 +00:00
Moodle Robot 0569249083 Updated the 19 build version to 20091128 2009-11-28 00:33:51 +00:00
Moodle Robot 12aa1d3f87 Automatic installer.php lang files by installer_builder (20091128) 2009-11-28 00:27:15 +00:00
Eloy Lafuente a5f0b03411 MDL-19697 mnet auth - start saving user->firstaccess 2009-11-27 14:47:43 +00:00
jerome mouneyrac ee720bd06f flash upgrader MDL-20841 Add lang support to the flash upgrader 2009-11-27 09:50:14 +00:00
Andrew Davis bb2fcfcbc3 unit tests MDL-20537 Added another unit test for shorten_text 2009-11-27 06:12:07 +00:00
Andrew Davis 9e12452925 mnet admin MDL-12057 Added an entry to standard style css to make tables on admin/mnet/index.php the same width 2009-11-27 05:57:52 +00:00
Andrew Davis dcc7e27813 cornflower theme MDL-20987 Added missing close div tag at the end of cornflower footer.html 2009-11-27 05:52:25 +00:00
Andrew Davis 1721304eea grader report MDL-20179 Fixed broken JS on grader report 2009-11-27 05:45:56 +00:00
Andrew Davis a368208636 unit test MDL-19060 prevent unit tests from scanning cvs and .git directories 2009-11-27 05:40:02 +00:00
Martin Dougiamas 5bcd30d5c3 Bumping the version post-release 2009-11-27 04:51:03 +00:00
Moodle Robot 75e5a14ada Updated the 19 build version to 20091127 2009-11-27 00:34:47 +00:00
Moodle Robot 0ace0f0bdc Automatic installer.php lang files by installer_builder (20091127) 2009-11-27 00:28:06 +00:00
David Mudrak 6b67b00992 MDL-20981 admin/lang.php escapes all variables but $a placeholders 2009-11-26 14:32:57 +00:00
Eloy Lafuente fbb35a56e9 MDL-20982 glossary - make print view to respect current theme 2009-11-26 11:30:34 +00:00
Sam Hemelryk f334afe662 admin MDL-20980 Touched up regex that determines weak password salts 2009-11-26 09:01:04 +00:00
Sam Hemelryk 9cf85078d5 login MDL-20875 Fixed bug with messaging popup when changing password. Thanks Rossi for the patch 2009-11-26 07:25:31 +00:00
Sam Hemelryk a2a5c0875e upgrade MDL-20978 Added site's URL into the message subject sent out with recent upgrades 2009-11-26 06:48:43 +00:00
Moodle Robot c8db64ec4d Automatic installer.php lang files by installer_builder (20091126) 2009-11-26 00:26:55 +00:00
Moodle Robot a0026d1ef2 Updated the 19 build version to 20091126 2009-11-25 18:24:53 +00:00
Martin Dougiamas 257135e58e Bumped to 1.9.7 2009-11-25 18:16:08 +00:00
Martin Dougiamas 8ee5b976b1 security overview MDL-20834 Added support for role aliases in courses 2009-11-25 18:01:24 +00:00
Martin Dougiamas f9e1d25dbb security overview MDL-20834 Improved strings, and 3 lists now: roles, overrides and users (SQL from skodak, thanks!) 2009-11-25 17:45:24 +00:00
Petr Skoda 676fff3fa1 MDL-20962 fixed forced new passowrd logic 2009-11-25 17:05:28 +00:00
Martin Dougiamas 6d558e7705 security report MDL-20834 Fixing roles checks 2009-11-25 15:28:18 +00:00
Petr Skoda 5ed143ccb7 MDL-20938 fixed colspans - credit goes to Martin Schuhmann and Patrick Pollet 2009-11-25 12:37:37 +00:00
Martin Dougiamas 79c4ecf30d security report MDL-20834 Fixed the strings for backup data check 2009-11-25 09:21:49 +00:00
Martin Dougiamas 47ee4d187f security report MDL-20834 Added a check for moodle/backup:userinfo to inform the admin about people who might be able to backup user data 2009-11-25 08:43:59 +00:00
Dongsheng Cai deacd770bd "MDL-8677, fixed mimetype name" 2009-11-25 06:36:19 +00:00
Moodle Robot f9c229e1fa Updated the 19 build version to 20091125 2009-11-25 00:33:51 +00:00
Eloy Lafuente 4dd49f4cac XHTML 2009-11-25 00:12:03 +00:00
Tim Hunt 288a3b29a6 Unit tests: Change the parent class to avoid a deprecated class.
This is necessary to make it work in PHP 5.3 (as well as PHP 4).
2009-11-24 21:45:28 +00:00
Dan Marsden 51e0609e4a SCORM MDL-20955 fix bad use of update_record - thanks Petr 2009-11-24 21:02:12 +00:00
Dan Marsden 54add7c3fa SCORM MDL-20955 addslashes fixes 2009-11-24 21:00:08 +00:00
Pierre Pichet 3e52ba108f MDL-20960 testing correctly response 0 as not null line 348 2009-11-24 20:29:44 +00:00
Petr Skoda c22b20d440 MDL-20958 fixed login issues when login via https required 2009-11-24 16:20:22 +00:00
Petr Skoda f133092053 MDL-20948 reverting previous commit, wrong branch! 2009-11-24 14:50:40 +00:00
Petr Skoda f8915b7b86 MDL-20948 auth plguins do not throw notices in methods if not configured yet 2009-11-24 14:49:44 +00:00
Helen Foster 1f45a91137 admin lang string: MDL-18807 small rewording 2009-11-24 13:12:03 +00:00
Tim Hunt 15b9c8e9c6 random question history MDL-20951: Two minor bugs in the fix for MDL-20776.
Thanks to Oleg Sychev for noticing these problems.
2009-11-24 11:49:23 +00:00
Eloy Lafuente 5929c001fa MDL-16658 users pre-check. Committing current *disabled* code to have it
already under CVS control and better handling
2009-11-24 09:47:05 +00:00
Martin Dougiamas 5459e76dd1 flash detection MDL-20841 Added sesskey checking to the environment script to prevent DoS to users (Thanks for the catch Petr!) 2009-11-24 09:10:48 +00:00
Martin Dougiamas 182951c6ad MDL-20841 Fixed some naughty hash comments :) 2009-11-24 08:51:01 +00:00
Martin Dougiamas b8d7ecaa48 flash detection MDL-20841 New config setting excludeoldflashclients will set a minimum version for flash clients. A check in print_header is run once, and will set a session variable with the current flash version. If the current flash version is lower than the minimum requirement, then Moodle will serve alternate content whenever a flash file is requested. The alternate file will ask the user to upgrade flash. Still requires wider testing, and some lang support. Credits to Jerome Mouneyrac. 2009-11-24 08:44:43 +00:00
Petr Skoda 69df27c838 MDL-19608 do not force changing of password in external accounts 2009-11-24 08:41:20 +00:00
Martin Dougiamas d033b12887 passwordsalt notice MDL-18807 Added site info to email, fixed broken link and HTML mail formatting 2009-11-24 05:31:09 +00:00
Martin Dougiamas 7b9797028e passwordsalt notice MDL-18807 Remove some debugging code that made the notice always show :) 2009-11-24 04:04:20 +00:00
Sam Hemelryk f544529f07 upgrade MDL-20933 Fixed warning if get_records_sql returned false rather than an array 2009-11-24 04:03:01 +00:00
Moodle Robot a27c35d11f Updated the 19 build version to 20091124 2009-11-24 00:33:47 +00:00
Eloy Lafuente dac27854a6 MDL-20939 backup & restore - avoid admins to be always included. Two things
were causing this: wrong get_users_by_capability() call and standard scales.
Improved scales restore to observe the 'moodle/course:managescales' cap.
2009-11-24 00:12:35 +00:00
Petr Skoda 02941fdb0d MDL-20934 'not cached' flag used in all auth plugins that do not need the password 2009-11-23 21:53:47 +00:00
Eloy Lafuente f465c19005 MDL-20941 store hashed username into user->email field for deleted users 2009-11-23 18:46:10 +00:00
Petr Skoda 26f8490b91 MDL-20937 different fix for problems with forcing passsword change for admins with external auth 2009-11-23 09:07:18 +00:00
Sam Hemelryk 17ba97e5be upgrade MDL-20937 Only force admins to change password if auth=manual or email 2009-11-23 08:10:49 +00:00
Andrew Davis 9bf18ccaad forums MDL-20578 no longer using like in queries so removed retrieval of db like keyword 2009-11-23 05:09:04 +00:00
Moodle HQ git importer 2b7cefa2f5 Fixing drift between CVS and git 2009-11-23 01:33:09 +00:00
Andrew Davis dcb7585070 grader report MDL-20914 Html tooltips now work in IE on the grader report 2009-11-23 01:33:09 +00:00
Moodle Robot ec252f75e7 Updated the 19 build version to 20091123 2009-11-23 00:34:13 +00:00
Moodle Robot 09da7e96ce Automatic installer.php lang files by installer_builder (20091123) 2009-11-23 00:27:39 +00:00
Petr Skoda 55e6d86a31 MDL-20931 fixed input validation 2009-11-22 21:02:23 +00:00
Petr Skoda f73ccb88fd MDL-20933 fixed a regression, we should not force changing of password for admins that can not actually change the password 2009-11-22 16:54:35 +00:00
Eloy Lafuente 1f5f68c810 MDL-20932 user->secret out - merged from 18_STABLE 2009-11-22 13:34:26 +00:00
Petr Skoda cf6e1ae752 MDL-20930 fixed input validation 2009-11-22 12:43:10 +00:00
Petr Skoda eaba242517 MDL-20929 fixed input validation 2009-11-22 11:09:31 +00:00
Petr Skoda 8c392d1855 MDL-20928 fixed glossary entry access control 2009-11-22 10:34:56 +00:00
Moodle Robot 9330cd063e Updated the 19 build version to 20091122 2009-11-22 00:33:27 +00:00
Petr Skoda 4b682a44bc MDL-20927 fixed module login issue 2009-11-21 23:49:44 +00:00
Petr Skoda 84971b914d MDL-20926 fixed fetching of cm 2009-11-21 23:09:28 +00:00
Petr Skoda 64da683140 MDL-20901 fixed input validation 2009-11-21 22:23:03 +00:00
Petr Skoda 92145339d6 MDL-20901 undoing previous change, not needed 2009-11-21 22:01:38 +00:00
Petr Skoda 561020d00b MDL-20901 fixed input validation 2009-11-21 21:57:03 +00:00
Petr Skoda 622ba79b53 MDL-20901 fixed input validation 2009-11-21 20:41:08 +00:00
Petr Skoda 73f67f3e9b MDL-20925 fixed input validation and course ajax now fully respects the disable course ajax option 2009-11-21 16:29:06 +00:00
Petr Skoda 9208e5ed5e MDL-20924 invalid test for not configured lams module 2009-11-21 15:58:14 +00:00
Petr Skoda ead8c49a45 MDL-20901 fixed input validation 2009-11-21 15:33:34 +00:00
Petr Skoda 7eba4674c1 MDL-20901 fixed input validation 2009-11-21 15:27:10 +00:00
Petr Skoda 57b2fa96d4 MDL-20901 fixed input validation 2009-11-21 15:16:40 +00:00
Valery Fremaux 76c9f22f9e fix last http://tracker.moodle.org/browse/MDL-20917 shorten errors. 2009-11-21 13:50:14 +00:00
Eloy Lafuente b270b641f6 MDL-9251 backup/restore *all* users - is now forbidden for users
lacking backup/restore permission at system level.
2009-11-21 11:49:46 +00:00
Eloy Lafuente 32409b67e3 MDL-20849 - improved lang string, thanks, Helen. Merged from 18_STABLE 2009-11-20 17:47:50 +00:00
Moodle Robot 2775026ffc Updated the 19 build version to 20091121 2009-11-20 17:06:31 +00:00
Moodle Robot e892678aee Automatic installer.php lang files by installer_builder (20091121) 2009-11-20 16:59:54 +00:00
Eloy Lafuente e228270611 MDL-20916 protect the whole xmldb editor with sesskey. 2009-11-20 14:26:23 +00:00
Petr Skoda bddfa51dcf MDL-20901 fixed input validation 2009-11-20 08:50:52 +00:00
Petr Skoda 0f7b1a996a MDL-20901 fixed input validation 2009-11-20 08:33:47 +00:00
Petr Skoda c8554869ea MDL-20901 fixed input validation 2009-11-20 08:25:32 +00:00
Sam Hemelryk 56063d6f63 upgrade MDL-18807 Fixed bug with html been emailed as plain text 2009-11-20 08:16:24 +00:00
Andrew Davis 84011efb0d messages MDL-17601 message/discussion.php was causing errors in the apache error log. fav icon not found. 2009-11-20 03:52:07 +00:00
Andrew Davis 3e20548f1f messages MDL-19107 html entities decoded and html tags removed from email message subject line 2009-11-20 03:29:10 +00:00
Andrew Davis c917a13b47 users online block MDL-18328 users online block always reported 1 online user to the admin if more than 50 online 2009-11-20 03:08:59 +00:00
Andrew Davis de7092fe1f datalib MDL-18470 Implemented more readable version of get_admin() 2009-11-20 02:26:40 +00:00
Andrew Davis f7e5d9235b roles MDL-20686 Provided a convenient links back to the category from the role assignment screen 2009-11-20 01:42:11 +00:00
Eloy Lafuente 826e1aa33c MDL-20849 moodle/restore:userinfo - new cababilty to allow/deny
permissions to restore any (users, messages, modulesactivity...)
user-level information.
2009-11-19 23:55:24 +00:00
David Mudrak 4a7ab3c0fc Fixed wording. Optional things can not be required.
Also, the word "extension" should be used instead of "library" as the
library can be installed on the server but it does not automatically
mean PHP can use it.
2009-11-19 23:07:35 +00:00
Petr Skoda 2b98208b2c MDL-20901 fixed input validation 2009-11-19 19:48:00 +00:00
Petr Skoda bb4cf8d719 MDL-20901 fixed input validation 2009-11-19 19:42:52 +00:00
Petr Skoda 62adf3a036 MDL-20901 fixed input validation 2009-11-19 19:26:38 +00:00
Tim Hunt 8a7b41f2a6 question editing from quiz: MDL-20709 better return URL. 2009-11-19 19:09:07 +00:00
Tim Hunt 8d1e5fdf4a question history: MDL-20776 state history was not shown for random questions
I took the opportunity to clean up the code that generates the history.
Thanks to G?bor Katona for helping to find the problem.
2009-11-19 19:03:57 +00:00
Petr Skoda 4d93b2059f MDL-20901 fixed input validationand removed annoying redirect which must not be clicked during course import 2009-11-19 18:48:52 +00:00
Petr Skoda a8adf25d11 MDL-20901 fixed input validation 2009-11-19 18:11:45 +00:00
Tim Hunt 55d5661bbc question editing: MDL-20380 Highlight the last edited question when you cancel the form too. 2009-11-19 17:59:55 +00:00
Tim Hunt 08df518104 question bank - MDL-20545 need a separate language string for edit question category, as opposed to edit course category. 2009-11-19 17:46:17 +00:00
Tim Hunt 56ed03a328 manual grading: MDL-20581 Fix potential XSS problem.
Thanks to Penny for spotting this.
2009-11-19 17:30:11 +00:00
Tim Hunt 85f530cf0d graphlib - MDL-20855 fix alignemnt issue with the x-axis.
Labels with a descender (e.g. May) appeared lower than ones without (e.g. Jun).
Text is drawn baseline aligned, not bottom aligned,and so the code was computing the position wrongly.
2009-11-19 16:56:49 +00:00
Petr Skoda 6d8f205529 MDL-20901 fixed input validation 2009-11-19 16:39:52 +00:00
Petr Skoda b533531d9f MDL-20821 reverting untested ereg cleanup, not acceptable for stable, sorry 2009-11-19 10:40:17 +00:00
Petr Skoda c2d4c1661a MDL-20821 reverting untested ereg cleanup, not acceptable for stable, sorry 2009-11-19 10:29:06 +00:00
Petr Skoda 58693ff7a6 MDL-20821 reverting untested ereg cleanup, not acceptable for stable, sorry 2009-11-19 10:10:50 +00:00
Petr Skoda 59fa78efa4 MDL-20821 reverting untested ereg cleanup, not acceptable for stable, sorry 2009-11-19 09:56:52 +00:00
Petr Skoda 199be8868e MDL-20821 reverting untested ereg cleanup, not acceptable for stable, sorry 2009-11-19 09:50:27 +00:00
Petr Skoda 426e269e58 MDL-20821 reverting untested buggy ereg cleanup, not acceptable for stable, sorry 2009-11-19 09:39:18 +00:00
Petr Skoda 3587b8dc5d MDL-20901 fixed input validation 2009-11-19 08:56:14 +00:00
Andrew Davis a762409317 validation MDL-20821 Fixed a mistake in validation 2009-11-19 06:14:54 +00:00
Andrew Davis 291542b8ef mnet MDL-20208 Added the string 'allhosts_no_options' 2009-11-19 04:03:44 +00:00
Dongsheng Cai dd4b038bbf "MDL-20886, fixed message popup window for guest user" 2009-11-19 03:27:53 +00:00
Petr Skoda 639f910c5f MDL-18807, MDL-20890 fixed notices 2009-11-18 22:34:31 +00:00
Petr Skoda 6367a8fa61 MDL-20900 iconv now required in 2.0 2009-11-18 22:25:26 +00:00
Eloy Lafuente f484cb3e30 MDL-20834 new cap moodle/backup:userinfo - controls who can backup
user related info. Disabled by default to teachers, oh my! :-(
2009-11-18 11:15:30 +00:00
Petr Skoda edd82b3a50 MDL-20885 PHP soap lib now recommended 2009-11-18 10:07:44 +00:00
Sam Hemelryk b1807d5b43 security MDL-18807 Changed language strings: Thanks for the new strings Helen 2009-11-18 09:39:01 +00:00
Andrew Davis 76561f1e4e all MDL-20821 Removed ereg related deprecated functions 2009-11-18 07:36:20 +00:00
Andrew Davis 4dadad0869 file readme_moodle.txt was added on branch MOODLE_19_STABLE on 2009-11-18 07:36:25 +0000 2009-11-18 06:05:12 +00:00
Andrew Davis 8a66b47903 file readme_moodle.txt was added on branch MOODLE_19_STABLE on 2009-11-18 07:36:29 +0000 2009-11-18 06:05:11 +00:00
Andrew Davis a5f92356ae file readme_moodle.txt was added on branch MOODLE_19_STABLE on 2009-11-18 07:36:27 +0000 2009-11-18 06:05:11 +00:00
Andrew Davis ef489b88fe file README_MOODLE.txt was added on branch MOODLE_19_STABLE on 2009-11-18 07:36:27 +0000 2009-11-18 06:05:10 +00:00
Eloy Lafuente 1ab9b8062f MDL-20846 creating users on restore - new strings 2009-11-18 01:22:52 +00:00
Eloy Lafuente c0c2459bed MDL-20846 creating users on restore - part2 - hack login to inform and
allow 'restored' users to reset their password.
2009-11-18 00:22:44 +00:00
Petr Skoda 279929dd13 MDL-20639 fixed mnet security trouble - credit goes to Adrian Schlegel 2009-11-17 17:29:37 +00:00
Petr Skoda 3786d95b19 MDL-18006 MDL-18807 MDL-20853 tried to explain that admin must copy old main solat to alternative salt list, otherwise all passwords with old salt are invalidated 2009-11-17 16:45:27 +00:00
Petr Skoda e9a71201b0 MDL-18006 MDL-18807 MDL-20853 warn that the default salt is definitely weak 2009-11-17 16:35:08 +00:00
Petr Skoda 30a8ac9187 MDL-18006 MDL-18807 MDL-20853 suggest some longer and better salt 2009-11-17 16:30:08 +00:00
Petr Skoda 89ba2009a9 MDL-18006 MDL-18807 MDL-20853 fixed whitespace 2009-11-17 16:20:10 +00:00
Petr Skoda 8993cd4d22 MDL-18006 MDL-18807 MDL-20853 do not force changing of admin passwords if password not stored in Moodle 2009-11-17 16:18:55 +00:00
Petr Skoda 5c66ab35a3 MDL-18006 MDL-18807 MDL-20853 adding salt info into config-dist.php 2009-11-17 15:53:35 +00:00
Eloy Lafuente c7735da110 MDL-20846 creating users on restore - part1 - mark password as 'restored'
so login will detect that for resetting password. Also some minor improvements
into user/auth detection
2009-11-17 15:22:47 +00:00
Petr Skoda 46697d1290 MDL-19608 do not force changing of passwords if users may not actually change them 2009-11-17 11:36:29 +00:00
Petr Skoda 9d4b3666bb MDL-19608 allow forced password change for everybody including admin 2009-11-17 10:17:04 +00:00
Petr Skoda 61b7eaffa7 MDL-19608 fixed potential issue when too many users selected, replaced redirect by continue 2009-11-17 10:15:33 +00:00
Sam Hemelryk 0a4b736b9c security MDL-18006 MDL-18807 MDL-20853 Several improvements to increase security
*  Installation
      o Adds a random $CFG->passwordsaltmain to config.php on install
      o Changes passwordpolicy default to on
* Upgrade
      o If passwordpolicy is off it switches it on
      o Checks if passwordsaltmain has been set and if not recommends to the user and all admins to add it, both on the upgrade output and via messaging.
      o Forces all admin users to change their password at next login.
* General
      o Extends the security overview report to check for passwordmainsalt and recommend if it not set (or weak)
2009-11-17 09:55:51 +00:00
Petr Skoda 5953ae1d30 MDL-20638 importing latest smarty 2.6.26 2009-11-17 08:45:54 +00:00
Martin Dougiamas 8bcf4b5749 backup/nopasswords MDL-20838 Backups are now never saved with user passwords unless $CFG->includeuserpasswordsinbackup is turned on in config.php (only) 2009-11-17 05:41:51 +00:00
Sam Hemelryk efb9ebe76b themes MDL-20780 the Moodle release info is no longer shown within the footer 2009-11-17 03:10:13 +00:00
Moodle Robot ccf90bf6cb Updated the 19 build version to 20091117 2009-11-17 00:33:57 +00:00
Anthony Borrow f7452149f8 MDL-19608 - adding bulk user action to force password change, credit to Iñaki Arenaza for the patch 2009-11-16 17:11:31 +00:00
Moodle Robot e9af57fc49 Updated the 19 build version to 20091116 2009-11-16 00:34:06 +00:00
Moodle Robot 26dd61268e Updated the 19 build version to 20091115 2009-11-15 00:34:55 +00:00
Moodle Robot f5b31df037 Updated the 19 build version to 20091114 2009-11-14 00:33:46 +00:00
David Mudrak 565ec4b9cb MDL-13049 workshop: grade for assessments ignores hot assessments
Hot assessments in 1.9 are those just creted (allocated) with the
timecreated in the future and the grade = -1. Because the workshop
view.php and lib.php used different ways how to calculate the grading
grade (grrr!), it led to different grades in Workshop and in the
Gradebook.
2009-11-13 22:47:07 +00:00
David Mudrak ee92868003 grade_update_mod_grades() does not index grades correctly
$grades must be indexed by user id because the function they are passed
says so. This caused problems with the workshop grades syncing. Solved
as part of MDL-13049
2009-11-13 22:09:03 +00:00
David Mudrak 53bf4729a0 MDL-13049 Grading grade must be converted to int before saving in database 2009-11-13 22:07:12 +00:00
Petr Skoda d58832a876 MDL-20836 fixed new resource preset value 2009-11-13 21:01:55 +00:00
Andrew Davis 004179e48b report backup MDL-19903 Fixed backup report table header 2009-11-13 06:16:21 +00:00
Andrew Davis 799f8e0888 my moodle MDL-19543 uses theme block min and max widths rather than hard coded values 2009-11-13 05:35:09 +00:00
Moodle Robot 9dfb4d5e50 Updated the 19 build version to 20091113 2009-11-13 00:34:18 +00:00
Eloy Lafuente 035d0f2edd MDL-20728 ims-cc import - fix importing of quiz with only 1 question 2009-11-12 23:53:50 +00:00
David Mudrak 514cda9cd7 MDL-20830 workshop requires sesskey when editing submission 2009-11-12 21:30:49 +00:00
David Mudrak e06d7b43a0 MDL-20830 workshop requires sesskey when removing attachment 2009-11-12 21:30:01 +00:00
David Mudrak 726b471179 MDL-20830 workshop requires sesskey when deleting submission 2009-11-12 21:28:36 +00:00
David Mudrak 8e3264e21e MDL-20830 workshop requires sesskey when clearing the late submission flag 2009-11-12 21:28:05 +00:00
David Mudrak a102b48b2f MDL-20830 workshop requires sesskey when amending the submission title 2009-11-12 21:27:48 +00:00
David Mudrak 8dba124a13 MDL-20830 workshop: better deadlines defaults
The workshop is saved with reasonable defaults even without touching the
date selectors.
2009-11-12 20:09:23 +00:00
David Mudrak 63f3e269ca MDL-20827 workshop: set correct wtype on newly created instances 2009-11-12 20:09:07 +00:00
David Mudrak 94e4101a68 MDL-7218 workshop: remove orphaned assessments on upgrade 2009-11-12 15:47:08 +00:00
David Mudrak 7f6c2d125d MDL-7218 workshop: delete all linked assessments on a submission removal
Credit goes to Stanislav Tsymbalov for spotting this. See the tracker
for more details.
2009-11-12 15:46:40 +00:00
Francois Marier 04a2ac065b MDL-20781 lib/excellib: add write_date() function 2009-11-12 01:58:05 +00:00
Moodle Robot 4706907460 Updated the 19 build version to 20091112 2009-11-12 00:33:21 +00:00
Moodle Robot d3e2e7e029 Updated the 19 build version to 20091111 2009-11-11 00:33:54 +00:00
Tim Hunt 115cc42f87 gradebook cron: MDL-20783 - was broken.
Committing this trivial fix, even though it is testing day. :-p
2009-11-10 09:51:32 +00:00
Moodle Robot 2df591c3d5 Updated the 19 build version to 20091110 2009-11-10 00:33:26 +00:00
Penelope Leach 38e7721a31 MDL-20596 - fixes to backup_course_silently and import_backup_file_silently 2009-11-09 13:05:37 +00:00
Gordon Bateson f50ea0419e ensure user has_capability('mod/hotpot:attempt', $module) when viewing a HotPot or submitting results 2009-11-09 01:27:21 +00:00
Moodle Robot 9218ade3ad Updated the 19 build version to 20091109 2009-11-09 00:33:07 +00:00
Moodle Robot 2d40241c54 Automatic installer.php lang files by installer_builder (20091109) 2009-11-09 00:26:40 +00:00
Petr Skoda b3640ec473 MDL-20723 workaround for zlib compressed scripts; backported from HEAD 2009-11-08 22:23:54 +00:00
Eloy Lafuente c88a1f767e NOBUG: Initial commit of Dhivehi installer lang pack. Backported from HEAD 2009-11-08 16:19:06 +00:00
Eloy Lafuente 62f8381ff4 file installer.php was added on branch MOODLE_19_STABLE on 2009-11-08 16:19:06 +0000 2009-11-08 16:16:19 +00:00
Moodle Robot 3545a15cfe Updated the 19 build version to 20091108 2009-11-08 00:32:41 +00:00
Moodle Robot 661cf3677b Updated the 19 build version to 20091107 2009-11-07 00:32:59 +00:00
Moodle Robot ed57b962ae Automatic installer.php lang files by installer_builder (20091107) 2009-11-07 00:26:23 +00:00
Moodle Robot 0ef4abab04 Updated the 19 build version to 20091106 2009-11-06 00:34:02 +00:00
Moodle Robot 7690817ffe Updated the 19 build version to 20091105 2009-11-05 00:34:00 +00:00
Inaki a025a96009 enrol/ldap: MDL-13952 Don't auto create courses if auto creation not enabled.
Merged from MOODLE_18_STABLE
2009-11-04 21:00:25 +00:00
Tim Hunt b78d7c8ab0 quiz MDL-20718 notice on review page. 2009-11-04 14:07:13 +00:00
Jenny Gray 7bfea4b502 MDL-20665 fixed error from postgres on validating duplicate category name when entering new category 2009-11-04 12:16:18 +00:00
Moodle Robot c3c76e6dc1 Updated the 19 build version to 20091104 2009-11-04 00:33:31 +00:00
Moodle Robot 2d178e2222 Automatic installer.php lang files by installer_builder (20091104) 2009-11-04 00:26:50 +00:00
Rossiani Wijaya e6e4a19712 course/view MDL-10221 delete course items with Ajax enabled 2009-11-03 02:39:02 +00:00
Moodle Robot c8b0aa2ff4 Updated the 19 build version to 20091103 2009-11-03 00:33:50 +00:00
Tim Hunt 3e3281e82d question bank: MDL-20707 prevent XSRF.
Uses new require_sesskey function from MDL-20702.
2009-11-02 17:15:19 +00:00
Tim Hunt 593257a5ae quiz manual grading: MDL-20706 prevent XSRF.
Uses new require_sesskey funciton from MDL-20702.
2009-11-02 17:08:05 +00:00
Tim Hunt 066e898965 lesson: MDL-20705 Fix XSRF issues.
Uses new require_sesskey funciton from MDL-20702.
2009-11-02 17:01:06 +00:00
Tim Hunt 9568417f5f moodlelib: MDL-20702 New require_sesskey function.
Backported from head.
2009-11-02 16:50:33 +00:00
Martin Dougiamas df87462018 forum rating ajax MDL-20119 Enable ajax to work on single-discussion forum 2009-11-02 06:29:24 +00:00
Moodle Robot 1ec7f48dbe Updated the 19 build version to 20091102 2009-11-02 00:33:03 +00:00
Moodle Robot 7f541b07b2 Updated the 19 build version to 20091101 2009-11-01 00:32:56 +00:00
Moodle Robot b3cdd9feb8 Updated the 19 build version to 20091031 2009-10-31 00:34:14 +00:00
Moodle Robot fcaf521542 Automatic installer.php lang files by installer_builder (20091031) 2009-10-31 00:26:53 +00:00
Dan Poltawski 0e9e95a9f6 blocks/html MDL-3703 Hide the title of block when none set
This is fixed sensibly in the Moodle 2.0 block api by not displaying the
block header html with empty content..
2009-10-30 23:36:26 +00:00
Dan Poltawski 4f7212a44c enrol/paypall MDL-16782 - Default cost is not used
When a course level cost is not set, the global setting is not used.
2009-10-30 22:09:23 +00:00
Dan Poltawski 650bb34fec mod/assignment: MDL-16796 Support non-core assignment type titles
Without this patch, the add actvitiy drop down displays ugly
broken lang strings.

This is ugly - hopefully in Moodle 2.0 we will eventually support fully
pluggable architecture in a clean way.
2009-10-30 21:10:04 +00:00
Eloy Lafuente 349442efda MDL-20288 add_to_log() - handle empties in a cross-db way. Merged from 18_STABLE 2009-10-30 16:45:56 +00:00
Dan Poltawski c3867d3188 admin/process_email MDL-20682 Incorrect file handled closed
Thanks to Andrew Nicols for the patch
2009-10-30 16:24:00 +00:00
Rossiani Wijaya 69f471111c course/view MDL-10142 AJAX move functionality for section content 2009-10-30 09:28:11 +00:00
Rossiani Wijaya 65db12fec4 course/view MDL-10221 delete course items with Ajax enabled 2009-10-30 08:37:36 +00:00
David Mudrak 4c26a3a865 MDL-7932 workshop 1.x allows empty generalcomment and teachercomment 2009-10-30 08:15:17 +00:00
Moodle Robot c5c1cd38a2 Updated the 19 build version to 20091030 2009-10-30 00:32:43 +00:00
Moodle Robot 1057f66755 Updated the 19 build version to 20091029 2009-10-29 00:34:15 +00:00
Andrea Bicciolo f6b50c9286 Fix for MDL-20594 2009-10-28 11:19:27 +00:00
Dan Poltawski 9ec826a37a auth/mnet - MDL-16872 Fix incorrect use of clone() on arrays
Thanks to Nigel McNie for the patch
2009-10-28 11:15:05 +00:00
Moodle Robot 656925c007 Updated the 19 build version to 20091028 2009-10-28 00:33:28 +00:00
Nicolas Connault 80aafa81c2 MDL-12972 Added icons next to each student name in the grader report, which link to the student's user grades report 2009-10-27 11:26:51 +00:00
Nicolas Connault 5e150ff30f no message 2009-10-27 11:24:55 +00:00
Moodle Robot 2289c2acde Updated the 19 build version to 20091027 2009-10-27 00:33:43 +00:00
Eloy Lafuente 9ff9dc4a68 MDL-20591 IMS-CC import: Integration committed. Next weeklies will include it. 2009-10-26 08:56:22 +00:00
Moodle Robot 4978b2536c Updated the 19 build version to 20091026 2009-10-26 04:33:40 +00:00
Martin Dougiamas 99b9115cff Buming post release 2009-10-26 04:22:20 +00:00
Moodle Robot a9dcd3fdb0 Updated the 19 build version to 20091025 2009-10-25 03:22:32 +00:00
Moodle Robot dcaea5dc4f Updated the 19 build version to 20091024 2009-10-24 03:39:20 +00:00
Sam Marshall f59ae74693 MDL-20537: fix for infrequent shorten_text bug 2009-10-23 15:10:49 +00:00
Moodle Robot 0f40532941 Updated the 19 build version to 20091023 2009-10-23 03:25:16 +00:00
stronk7 0140fcfc52 MDL-20620 ims-cc import - load resources in object, so navigation doesn't get lost 2009-10-22 20:30:52 +00:00
moodlerobot 6f64d57154 Updated the 19 build version to 20091022 2009-10-22 03:15:21 +00:00
moodlerobot 70eb37b3fb Automatic installer.php lang files by installer_builder (20091022) 2009-10-22 03:08:03 +00:00
moodler e35df1c80f lang/en MDL-20612 Reverting language string change 2009-10-21 07:51:41 +00:00
945 changed files with 32015 additions and 21296 deletions
+14 -11
View File
@@ -223,6 +223,9 @@
grade_cron();
mtrace('done.');
mtrace('Starting processing the event queue...');
events_cron();
mtrace('done.');
/// Run all core cron jobs, but not every time since they aren't too important.
/// These don't have a timer to reduce load, so we'll use a random number
@@ -481,44 +484,44 @@
// run gradebook import/export/report cron
if ($gradeimports = get_list_of_plugins('grade/import')) {
foreach ($gradeimports as $gradeimport) {
foreach ($gradeimports as $gradeimport) {
if (file_exists($CFG->dirroot.'/grade/import/'.$gradeimport.'/lib.php')) {
require_once($CFG->dirroot.'/grade/import/'.$gradeimport.'/lib.php');
$cron_function = 'grade_import_'.$gradeimport.'_cron';
$cron_function = 'grade_import_'.$gradeimport.'_cron';
if (function_exists($cron_function)) {
mtrace("Processing gradebook import function $cron_function ...", '');
$cron_function;
$cron_function();
}
}
}
}
}
if ($gradeexports = get_list_of_plugins('grade/export')) {
foreach ($gradeexports as $gradeexport) {
foreach ($gradeexports as $gradeexport) {
if (file_exists($CFG->dirroot.'/grade/export/'.$gradeexport.'/lib.php')) {
require_once($CFG->dirroot.'/grade/export/'.$gradeexport.'/lib.php');
$cron_function = 'grade_export_'.$gradeexport.'_cron';
$cron_function = 'grade_export_'.$gradeexport.'_cron';
if (function_exists($cron_function)) {
mtrace("Processing gradebook export function $cron_function ...", '');
$cron_function;
$cron_function();
}
}
}
}
if ($gradereports = get_list_of_plugins('grade/report')) {
foreach ($gradereports as $gradereport) {
foreach ($gradereports as $gradereport) {
if (file_exists($CFG->dirroot.'/grade/report/'.$gradereport.'/lib.php')) {
require_once($CFG->dirroot.'/grade/report/'.$gradereport.'/lib.php');
$cron_function = 'grade_report_'.$gradereport.'_cron';
$cron_function = 'grade_report_'.$gradereport.'_cron';
if (function_exists($cron_function)) {
mtrace("Processing gradebook report function $cron_function ...", '');
$cron_function;
$cron_function();
}
}
}
}
// run any customized cronjobs, if any
// looking for functions in lib/local/cron.php
if (file_exists($CFG->dirroot.'/local/cron.php')) {
+27 -2
View File
@@ -185,6 +185,8 @@
<ON_CHECK message="ctyperecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
</PHP_EXTENSIONS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="question/upgrade.php" function="question_check_no_rqp_questions" level="optional">
@@ -227,9 +229,9 @@
<PHP version="5.2.8" level="required">
</PHP>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="optional">
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_CHECK message="iconvrecommended" />
<ON_CHECK message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="optional">
@@ -257,6 +259,11 @@
<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" />
@@ -277,6 +284,24 @@
<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">
+5
View File
@@ -635,6 +635,11 @@
}
if (empty($CFG->passwordsaltmain)) {
$path = $CFG->docroot.'/'.str_replace('_utf8', '', current_language()).'/report/security/report_security_check_passwordsaltmain';
print_box(get_string('upgrade197notice', 'admin')."\n".get_string('upgrade197salt', 'admin', $path));
}
if (defined('WARN_DISPLAY_ERRORS_ENABLED')) {
print_box(get_string('displayerrorswarning', 'admin'), 'generalbox adminwarning');
}
+4
View File
@@ -1013,6 +1013,10 @@ function lang_fix_value_before_save($value='') {
if (ini_get_bool('magic_quotes_sybase')) { // Unescape escaped sybase quotes
$value = str_replace("''", "'", $value);
}
// escape all embedded variables
$value = str_replace('$', '\$', $value); // Add slashes for $
// unescape placeholders: only $a and $a->something are allowed. All other $variables are left escaped
$value = preg_replace('/\\\\\$a($|[^_a-zA-Z0-9\-]|\->[a-zA-Z0-9_]+)/', '$a\\1', $value);
$value = str_replace("'", "\\'", $value); // Add slashes for '
$value = str_replace('"', "\\\"", $value); // Add slashes for "
$value = str_replace("%","%%",$value); // Escape % characters
+1 -1
View File
@@ -248,7 +248,7 @@
if ($parent == 'en_utf8') {
continue;
}
if (strpos($parent, '[[') !== false) {
if (empty($parent) || strpos($parent, '[[') !== false) {
continue; // no parent
}
if (!isset($installedlangs[$parent])) {
+1 -1
View File
@@ -178,7 +178,7 @@ if (!$acl) {
}
$deletecolumn = "<a href=\"?id={$aclrecord->id}&amp;action=delete&amp;sesskey={$USER->sesskey}\">"
. get_string('delete') . "</a>";
$table->data[] = array ($aclrecord->username, $aclrecord->mnet_host_id, $accesscolumn, $deletecolumn);
$table->data[] = array (s($aclrecord->username), $aclrecord->mnet_host_id, $accesscolumn, $deletecolumn);
}
}
+2 -2
View File
@@ -64,7 +64,7 @@ function mnet_get_functions($type, $parentname) {
foreach($rpcrecords as $rpc) {
if (!array_key_exists($rpc->function_name, $methodServiceArray)) {
$rpc->enabled = 0;
update_record('mnet_rpc', $rpc);
update_record('mnet_rpc', addslashes_recursive($rpc));
}
}
}
@@ -85,7 +85,7 @@ function mnet_get_functions($type, $parentname) {
} else {
array_unshift($profile, $details['returns']);
}
$dataobject->profile = serialize($profile);
$dataobject->profile = addslashes(serialize($profile));
$dataobject->help = addslashes($details['description']);
} else {
$dataobject->profile = serialize(array(array('type' => 'void', 'description' => 'No return value')));
+2
View File
@@ -31,6 +31,8 @@
redirect('index.php', get_string('postrequired','mnet') ,7);
}
require_sesskey();
if ('verify' == $step) {
$mnet_peer = new mnet_peer();
$mnet_peer->set_id($hostid);
+1 -1
View File
@@ -130,7 +130,7 @@
a.courseid
FROM
{$CFG->prefix}user u
LEFT JOIN
JOIN
{$CFG->prefix}mnet_enrol_assignments a
ON
a.userid = u.id AND a.courseid={$courseid}
+2 -16
View File
@@ -1,23 +1,9 @@
<?php
$logurl = $CFG->wwwroot.
'/course/report/log/index.php?chooselog=1&amp;showusers=1&amp;showcourses=1&amp;host_course='.$mnet_peer->id.
'%2F1&amp;user='.'0'.
'&amp;date=0'.
'&amp;modid=&amp;modaction=0&amp;logformat=showashtml';
admin_externalpage_print_header();
if (isset($mnet_peer->id) && $mnet_peer->id > 0) {
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'mnet_services.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
$tabs[] = new tabobject('mnetthemes', 'mnet_themes.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetthemes, $strmnetthemes, false);
if ($mnet_peer->application->name == 'moodle') {
$tabs[] = new tabobject('mnetlog', $logurl, $strmnetlog, $strmnetlog, false);
}
} else {
$tabs[] = new tabobject('mnetdetails', '#', $strmnetedithost, $strmnetedithost, false);
}
print_tabs(array($tabs), 'mnetdetails');
$currenttab = 'mnetdetails';
require_once($CFG->dirroot .'/admin/mnet/tabs.php');
print_simple_box_start("center", "");
?>
+3 -5
View File
@@ -1,10 +1,8 @@
<?php
admin_externalpage_print_header();
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'mnet_services.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
$tabs[] = new tabobject('mnetthemes', 'mnet_themes.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetthemes, $strmnetthemes, false);
print_tabs(array($tabs), 'mnetdetails');
$currenttab = 'mnetdetails';
require_once($CFG->dirroot .'/admin/mnet/tabs.php');
print_simple_box_start("center", "");
?>
@@ -14,7 +12,7 @@ print_simple_box_start("center", "");
<td valign="top"><?php echo $mnet_peer->name; ?></td>
</tr>
<tr>
<td align="right" valign="top" colspan="2"><?php print_string('allhosts_no_options'); ?>:</td>
<td align="right" valign="top" colspan="2"><?php print_string('allhosts_no_options','mnet'); ?></td>
</tr>
</table>
<?php
+5 -14
View File
@@ -1,19 +1,9 @@
<?php
admin_externalpage_print_header();
$logurl = $CFG->wwwroot.
'/course/report/log/index.php?chooselog=1&amp;showusers=1&amp;showcourses=1&amp;host_course='.$mnet_peer->id.
'%2F1&amp;user='.'0'.
'&amp;date=0'.
'&amp;modid=&amp;modaction=0&amp;logformat=showashtml';
$currenttab = 'mnetservices';
require_once($CFG->dirroot .'/admin/mnet/tabs.php');
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'mnet_services.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
$tabs[] = new tabobject('mnetthemes', 'mnet_themes.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetthemes, $strmnetthemes, false);
if ($mnet_peer->id != $CFG->mnet_all_hosts_id && $mnet_peer->application->name == 'moodle') {
$tabs[] = new tabobject('mnetlog', $logurl, $strmnetlog, $strmnetlog, false);
}
print_tabs(array($tabs), 'mnetservices');
print_simple_box_start("center", "");
?>
@@ -27,11 +17,12 @@ print_simple_box_start("center", "");
<?php
foreach($myservices as $name => $versions) {
$version = current($versions);
$langmodule = ($version['parent_type'] == 'mod' ? '' : ($version['parent_type'] . '_')) . $version['parent'];
?>
<tr>
<td align="left" valign="top" colspan="2">
<h3><?php echo get_string($name.'_name', $version['parent_type'].'_'.$version['parent'] , $mnet_peer->name); ?></h3>
<?php echo get_string($name.'_description', $version['parent_type'].'_'.$version['parent'], $mnet_peer->name); ?>
<h3><?php echo get_string($name.'_name', $langmodule , $mnet_peer->name); ?></h3>
<?php echo get_string($name.'_description', $langmodule, $mnet_peer->name); ?>
<?php
$breakstring = '';
foreach($versions as $version){
+11 -7
View File
@@ -24,6 +24,10 @@
// force Go ahead with something we've been warned is strange
$step = optional_param('step', NULL, PARAM_ALPHA);
$hostid = optional_param('hostid', NULL, PARAM_INT);
$publishes = optional_param('publish', null, PARAM_BOOL); // optional_param cleans arrays too
$subscribes = optional_param('subscribe', null, PARAM_BOOL); // optional_param cleans arrays too
$exists = optional_param('exists', null, PARAM_BOOL); // optional_param cleans arrays too
$nocertstring = '';
$nocertmatch = '';
$badcert = '';
@@ -43,21 +47,21 @@
if (($form = data_submitted()) && confirm_sesskey()) {
$mnet_peer->set_id($hostid);
$treevals = array();
foreach($_POST['exists'] as $key => $value) {
$host2service = get_record('mnet_host2service', 'hostid', $_POST['hostid'], 'serviceid', $key);
$publish = (isset($_POST['publish'][$key]) && $_POST['publish'][$key] == 'on')? 1 : 0;
$subscribe = (isset($_POST['subscribe'][$key]) && $_POST['subscribe'][$key] == 'on')? 1 : 0;
foreach($exists as $key => $value) {
$host2service = get_record('mnet_host2service', 'hostid', $hostid, 'serviceid', $key);
$publish = array_key_exists($key, $publishes) ? $publishes[$key] : 0;
$subscribe = array_key_exists($key, $subscribes) ? $subscribes[$key] : 0;
if ($publish != 1 && $subscribe != 1) {
if (false == $host2service) {
// We don't have or need a record - do nothing!
} else {
// We don't need the record - delete it
delete_records('mnet_host2service', 'hostid', $_POST['hostid'], 'serviceid', $key);
delete_records('mnet_host2service', 'hostid', $hostid, 'serviceid', $key);
}
} elseif (false == $host2service && ($publish == 1 || $subscribe == 1)) {
$host2service = new stdClass();
$host2service->hostid = $_POST['hostid'];
$host2service->hostid = $hostid;
$host2service->serviceid = $key;
$host2service->publish = $publish;
@@ -81,7 +85,7 @@
$id_list .= ', '.$CFG->mnet_all_hosts_id;
}
$concat = sql_concat('COALESCE(h2s.id,0) ', ' \'-\' ', ' svc.id');
$concat = sql_concat('COALESCE(h2s.id,0) ', ' \'-\' ', ' svc.id', '\'-\'', 'r.parent_type', '\'-\'', 'r.parent');
$query = "
SELECT DISTINCT
+2 -13
View File
@@ -3,19 +3,8 @@ admin_externalpage_print_header();
print_heading(get_string('themes'));
$original_theme = fullclone($THEME);
$logurl = $CFG->wwwroot.
'/course/report/log/index.php?chooselog=1&amp;showusers=1&amp;showcourses=1&amp;host_course='.$mnet_peer->id.
'%2F1&amp;user='.'0'.
'&amp;date=0'.
'&amp;modid=&amp;modaction=0&amp;logformat=showashtml';
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'mnet_services.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
$tabs[] = new tabobject('mnetthemes', 'mnet_themes.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetthemes, $strmnetthemes, false);
if ($mnet_peer->id != $CFG->mnet_all_hosts_id) {
$tabs[] = new tabobject('mnetlog', $logurl, $strmnetlog, $strmnetlog, false);
}
print_tabs(array($tabs), 'mnetthemes');
$currenttab = 'mnetthemes';
require_once($CFG->dirroot .'/admin/mnet/tabs.php');
$themes = get_list_of_plugins("theme");
$sesskey = !empty($USER->id) ? $USER->sesskey : '';
+1
View File
@@ -55,6 +55,7 @@ if (empty($CFG->mnet_dispatcher_mode) || $CFG->mnet_dispatcher_mode !== 'strict'
<div>
<input type="hidden" name="hostid" value="<?php echo $host->id; ?>" />
<input type="hidden" name="step" value="verify" />
<input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" />
<input type="submit" name="submit" value="<?php print_string('delete'); ?>"/>
</div>
</form>
+31
View File
@@ -0,0 +1,31 @@
<?php
/**
* Handles tabs for the mnet pages.
* We assume that $currenttab is defined
*
*/
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); // It must be included from a Moodle page
}
$strmnetservices = get_string('mnetservices', 'mnet');
$strmnetlog = get_string('mnetlog', 'mnet');
$strmnetedithost = get_string('reviewhostdetails', 'mnet');
$strmnetthemes = get_string('mnetthemes', 'mnet');
$logurl = $CFG->wwwroot.
'/course/report/log/index.php?chooselog=1&amp;showusers=1&amp;showcourses=1&amp;host_course='.$mnet_peer->id.
'%2F1&amp;user='.'0'.
'&amp;date=0'.
'&amp;modid=&amp;modaction=0&amp;logformat=showashtml';
$tabs = array();
if (isset($mnet_peer->id) && $mnet_peer->id > 0) {
$tabs[] = new tabobject('mnetdetails', 'peers.php?step=update&amp;hostid='.$mnet_peer->id, $strmnetedithost, $strmnetedithost, false);
$tabs[] = new tabobject('mnetservices', 'mnet_services.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetservices, $strmnetservices, false);
$tabs[] = new tabobject('mnetthemes', 'mnet_themes.php?step=list&amp;hostid='.$mnet_peer->id, $strmnetthemes, $strmnetthemes, false);
if ($mnet_peer->application->name == 'moodle' && $mnet_peer->id != $CFG->mnet_all_hosts_id) {
$tabs[] = new tabobject('mnetlog', $logurl, $strmnetlog, $strmnetlog, false);
}
} else {
$tabs[] = new tabobject('mnetdetails', '#', $strmnetedithost, $strmnetedithost, false);
}
print_tabs(array($tabs), $currenttab);
+1 -1
View File
@@ -72,7 +72,7 @@ while(!feof($fd)) {
$function($modargs,$body);
fclose($handle);
fclose($fd);
+5
View File
@@ -5,6 +5,11 @@ require_once('../config.php');
require_once($CFG->dirroot.'/course/lib.php');
require_once($CFG->libdir.'/adminlib.php');
// workaround for problems with compression
if (ini_get('zlib.output_compression')) {
@ini_set('zlib.output_compression', 'Off');
}
admin_externalpage_setup('replace');
$search = optional_param('search', '', PARAM_RAW);
+2 -2
View File
@@ -38,7 +38,7 @@
$strcourse = get_string("course");
$strtimetaken = get_string("timetaken","quiz");
$strstatus = get_string("status");
$strnext = get_string("next");
$strnext = get_string("backupnext");
/// Decide when to show last execution logs or detailed logs
/// Lastlog view
@@ -93,7 +93,7 @@
print_simple_box_start('center');
/// First, me get all the distinct backups for that course in backup_log
$executions = get_records_sql("SELECT DISTINCT laststarttime,laststarttime
$executions = get_records_sql("SELECT DISTINCT laststarttime
FROM {$CFG->prefix}backup_log
WHERE courseid = '$courseid'
ORDER BY laststarttime DESC");
+142
View File
@@ -53,11 +53,13 @@ function report_security_get_issue_list() {
'report_security_check_openprofiles',
'report_security_check_google',
'report_security_check_passwordpolicy',
'report_security_check_passwordsaltmain',
'report_security_check_emailchangeconfirmation',
'report_security_check_cookiesecure',
'report_security_check_configrw',
'report_security_check_riskxss',
'report_security_check_riskadmin',
'report_security_check_riskbackup',
'report_security_check_defaultuserrole',
'report_security_check_guestrole',
'report_security_check_frontpagerole',
@@ -485,6 +487,37 @@ function report_security_check_configrw($detailed=false) {
return $result;
}
function report_security_check_passwordsaltmain($detailed=false) {
global $CFG;
$result = new object();
$result->issue = 'report_security_check_passwordsaltmain';
$result->name = get_string('check_passwordsaltmain_name', 'report_security');
$result->info = null;
$result->details = null;
$result->status = null;
$result->link = null;
if (empty($CFG->passwordsaltmain)) {
$result->status = REPORT_SECURITY_WARNING;
$result->info = get_string('check_passwordsaltmain_warning', 'report_security');
} else if ($CFG->passwordsaltmain === 'some long random string here with lots of characters'
|| trim($CFG->passwordsaltmain) === '' || preg_match('/^([a-z0-9]{0,10})$/i', $CFG->passwordsaltmain)) {
$result->status = REPORT_SECURITY_WARNING;
$result->info = get_string('check_passwordsaltmain_weak', 'report_security');
} else {
$result->status = REPORT_SECURITY_OK;
$result->info = get_string('check_passwordsaltmain_ok', 'report_security');
}
if ($detailed) {
$docspath = $CFG->docroot.'/'.str_replace('_utf8', '', current_language()).'/report/security/report_security_check_passwordsaltmain';
$result->details = get_string('check_passwordsaltmain_details', 'report_security', $docspath);
}
return $result;
}
/**
* Lists all users with XSS risk, it would be great to combine this with risk trusts in user table,
* unfortunately nobody implemented user trust UI yet :-(
@@ -1060,3 +1093,112 @@ function report_security_check_riskadmin($detailed=false) {
return $result;
}
/**
* Lists all roles that have the ability to backup user data, as well as users
* @param bool $detailed
* @return object result
*/
function report_security_check_riskbackup($detailed=false) {
global $CFG;
$result = new object();
$result->issue = 'report_security_check_riskbackup';
$result->name = get_string('check_riskbackup_name', 'report_security');
$result->info = null;
$result->details = null;
$result->status = null;
$result->link = null;
$syscontext = get_context_instance(CONTEXT_SYSTEM);
$systemroles = get_records_sql(
"SELECT DISTINCT r.*
FROM {$CFG->prefix}role r
JOIN {$CFG->prefix}role_capabilities rc ON rc.roleid = r.id
WHERE rc.capability = 'moodle/backup:userinfo' AND rc.contextid = $syscontext->id AND rc.permission = ".CAP_ALLOW."");
$overriddenroles = get_records_sql(
"SELECT DISTINCT r.*, rc.contextid
FROM {$CFG->prefix}role r
JOIN {$CFG->prefix}role_capabilities rc ON rc.roleid = r.id
WHERE rc.capability = 'moodle/backup:userinfo' AND rc.contextid <> $syscontext->id AND rc.permission = ".CAP_ALLOW."");
// list of users that are able to backup personal info
// note: "sc" is context where is role assigned,
// "c" is context where is role overriden or system context if in role definition
$sqluserinfo = "
FROM (SELECT rcx.*
FROM {$CFG->prefix}role_capabilities rcx
WHERE rcx.permission = ".CAP_ALLOW." AND rcx.capability = 'moodle/backup:userinfo') rc,
{$CFG->prefix}context c,
{$CFG->prefix}context sc,
{$CFG->prefix}role_assignments ra,
{$CFG->prefix}user u
WHERE c.id = rc.contextid
AND (sc.path = c.path OR sc.path LIKE ".sql_concat('c.path', "'/%'")." OR c.path LIKE ".sql_concat('sc.path', "'/%'").")
AND u.id = ra.userid AND u.deleted = 0
AND ra.contextid = sc.id AND ra.roleid = rc.roleid
AND sc.contextlevel <= ".CONTEXT_COURSE." AND c.contextlevel <= ".CONTEXT_COURSE."";
$usercount = count_records_sql("SELECT COUNT('x') FROM (SELECT DISTINCT u.id $sqluserinfo) userinfo");
$systemrolecount = empty($systemroles) ? 0 : count($systemroles);
$overriddenrolecount = empty($overriddenroles) ? 0 : count($overriddenroles);
$result->status = REPORT_SECURITY_WARNING; // there is always at least one admin
$a = (object)array('rolecount'=>$systemrolecount,'overridecount'=>$overriddenrolecount,'usercount'=>$usercount);
$result->info = get_string('check_riskbackup_warning', 'report_security', $a);
if ($detailed) {
$result->details = ''; // Will be added to later
// Make a list of roles
if ($systemroles) {
$links = array();
foreach ($systemroles as $role) {
$role->url = "$CFG->wwwroot/$CFG->admin/roles/manage.php?action=edit&amp;roleid=$role->id";
$links[] = '<li>'.get_string('check_riskbackup_editrole', 'report_security', $role).'</li>';
}
$links = '<ul>'.implode($links).'</ul>';
$result->details .= get_string('check_riskbackup_details_systemroles', 'report_security', $links);
}
// Make a list of overrides to roles
$rolelinks2 = array();
if ($overriddenroles) {
$links = array();
foreach ($overriddenroles as $role) {
$context = get_context_instance_by_id($role->contextid);
if ($context->contextlevel == CONTEXT_COURSE) {
$role->name = role_get_name($role, $context);
}
$role->contextname = print_context_name($context);
$role->url = "$CFG->wwwroot/$CFG->admin/roles/override.php?contextid=$role->contextid&amp;roleid=$role->id";
$links[] = '<li>'.get_string('check_riskbackup_editoverride', 'report_security', $role).'</li>';
}
$links = '<ul>'.implode($links).'</ul>';
$result->details .= get_string('check_riskbackup_details_overriddenroles', 'report_security', $links);
}
// Get a list of affected users as well
$rs = get_recordset_sql("SELECT DISTINCT u.id, u.firstname, u.lastname, u.picture, u.imagealt, u.email, ra.contextid, ra.roleid
$sqluserinfo ORDER BY u.lastname, u.firstname");
$users = array();
while ($user = rs_fetch_next_record($rs)) {
$context = get_context_instance_by_id($user->contextid);
$url = "$CFG->wwwroot/$CFG->admin/roles/assign.php?contextid=$user->contextid&amp;roleid=$user->roleid";
$a = (object)array('fullname'=>fullname($user), 'url'=>$url, 'email'=>$user->email,
'contextname'=>print_context_name($context));
$users[] = '<li>'.get_string('check_riskbackup_unassign', 'report_security', $a).'</li>';
}
rs_close($rs);
if (!empty($users)) {
$users = '<ul>'.implode($users).'</ul>';
$result->details .= get_string('check_riskbackup_details_users', 'report_security', $users);
}
}
return $result;
}
+81 -4
View File
@@ -66,22 +66,39 @@ class ExHtmlReporter extends HtmlReporter {
function paintFail($message) {
// Explicitly call grandparent, not parent::paintFail.
SimpleScorer::paintFail($message);
$this->_paintPassFail('fail', $message);
$this->_paintPassFail('fail', $message, debug_backtrace());
}
/**
* Called when an error (uncaught exception or PHP error) needs to be output.
*/
function paintError($message) {
// Explicitly call grandparent, not parent::paintFail.
// Explicitly call grandparent, not parent::paintError.
SimpleScorer::paintError($message);
$this->_paintPassFail('exception', $message);
}
/**
* Private method. Used by printPass/Fail/Error.
* Called when a caught exception needs to be output.
*/
function _paintPassFail($passorfail, $message) {
function paintException($exception) {
// Explicitly call grandparent, not parent::paintException.
SimpleScorer::paintException($exception);
$message = 'Unexpected exception of type [' . get_class($exception) .
'] with message ['. $exception->getMessage() .
'] in ['. $exception->getFile() .
' line ' . $exception->getLine() . ']';
$stacktrace = null;
if (method_exists($exception, 'getTrace')) {
$stacktrace = $exception->getTrace();
}
$this->_paintPassFail('exception', $message, $stacktrace);
}
/**
* Private method. Used by printPass/Fail/Error/Exception.
*/
function _paintPassFail($passorfail, $message, $stacktrace = null) {
global $FULLME, $CFG;
print_simple_box_start('', '100%', '', 5, $passorfail . ' generalbox');
@@ -100,6 +117,25 @@ class ExHtmlReporter extends HtmlReporter {
echo "<a href=\"{$url}path=$folder$file\" title=\"$this->strrunonlyfile\">$file</a>";
echo $this->strseparator, implode($this->strseparator, $breadcrumb);
echo $this->strseparator, '<br />', $this->_htmlEntities($message), "\n\n";
if ($stacktrace) {
$dotsadded = false;
$interestinglines = 0;
$filteredstacktrace = array();
foreach ($stacktrace as $frame) {
if (empty($frame['file']) || (strpos($frame['file'], 'simpletestlib') === false
&& strpos($frame['file'], 'report/unittest') === false)) {
$filteredstacktrace[] = $frame;
$interestinglines += 1;
$dotsadded = false;
} else if (!$dotsadded) {
$filteredstacktrace[] = array('line' => '...', 'file' => '...');
$dotsadded = true;
}
}
if ($interestinglines > 1 || $passorfail == 'exception') {
echo '<div class="notifytiny">' . format_backtrace($filteredstacktrace) . "</div>\n\n";
}
}
print_simple_box_end();
flush();
}
@@ -193,4 +229,45 @@ class ExHtmlReporter extends HtmlReporter {
return get_string($identifier, 'simpletest', $a);
}
}
/**
* Formats a backtrace ready for output.
*
* @param array $callers backtrace array, as returned by debug_backtrace().
* @param boolean $plaintext if false, generates HTML, if true generates plain text.
* @return string formatted backtrace, ready for output.
*/
function format_backtrace($callers, $plaintext = false) {
// do not use $CFG->dirroot because it might not be available in destructors
$dirroot = dirname(dirname(__FILE__));
if (empty($callers)) {
return '';
}
$from = $plaintext ? '' : '<ul style="text-align: left">';
foreach ($callers as $caller) {
if (!isset($caller['line'])) {
$caller['line'] = '?'; // probably call_user_func()
}
if (!isset($caller['file'])) {
$caller['file'] = 'unknownfile'; // probably call_user_func()
}
$from .= $plaintext ? '* ' : '<li>';
$from .= 'line ' . $caller['line'] . ' of ' . str_replace($dirroot, '', $caller['file']);
if (isset($caller['function'])) {
$from .= ': call to ';
if (isset($caller['class'])) {
$from .= $caller['class'] . $caller['type'];
}
$from .= $caller['function'] . '()';
} else if (isset($caller['exception'])) {
$from .= ': '.$caller['exception'].' thrown';
}
$from .= $plaintext ? "\n" : '</li>';
}
$from .= $plaintext ? '' : '</ul>';
return $from;
}
?>
+3 -3
View File
@@ -22,13 +22,13 @@ require_once($CFG->libdir . '/simpletestlib/test_case.php');
* them into a group test.
* @package SimpleTestEx
*/
class AutoGroupTest extends GroupTest {
class AutoGroupTest extends TestSuite {
var $thorough;
var $showsearch;
function AutoGroupTest($showsearch, $thorough, $test_name = null) {
$this->GroupTest($test_name);
$this->TestSuite($test_name);
$this->showsearch = $showsearch;
$this->thorough = $thorough;
}
@@ -56,7 +56,7 @@ class AutoGroupTest extends GroupTest {
}
$file_path = $path . '/' . $file;
if (is_dir($file_path)) {
if ($file != 'CVS' && !in_array($file_path, $this->ignorefolders)) {
if ($file != 'CVS' && $file != '.git' && !in_array($file_path, $this->ignorefolders)) {
$this->_recurseFolders($file_path);
}
} elseif (preg_match('/simpletest(\/|\\\\)test.*\.php$/', $file_path) ||
+3 -2
View File
@@ -21,10 +21,10 @@
$roles = get_all_roles();
if ($grant = data_submitted()) {
if ($grant = data_submitted() and confirm_sesskey()) {
foreach ($grant as $grole => $val) {
if ($grole == 'dummy') {
if ($grole == 'dummy' or !strpos($grole, '_')) {
continue;
}
@@ -81,6 +81,7 @@
print_table($table);
echo '<div class="buttons"><input type="submit" value="'.get_string('savechanges').'"/>';
echo '<input type="hidden" name="dummy" value="1" />'; // this is needed otherwise we do not know a form has been submitted
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
echo '</div></form>';
admin_externalpage_print_footer();
+3 -2
View File
@@ -19,10 +19,10 @@
$roles = get_all_roles();
if ($grant = data_submitted()) {
if ($grant = data_submitted() and confirm_sesskey()) {
foreach ($grant as $grole => $val) {
if ($grole == 'dummy') {
if ($grole == 'dummy' or !strpos($grole, '_')) {
continue;
}
@@ -79,6 +79,7 @@
print_table($table);
echo '<div class="buttons"><input type="submit" value="'.get_string('savechanges').'"/>';
echo '<input type="hidden" name="dummy" value="1" />'; // this is needed otherwise we do not know a form has been submitted
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
echo '</div></form>';
admin_externalpage_print_footer();
+1 -1
View File
@@ -325,7 +325,7 @@
if ($validroleids) {
$roleids = '('.implode(',', $validroleids).')';
$select = " SELECT u.id, u.firstname, u.lastname, u.email";
$select = " SELECT DISTINCT u.id, u.firstname, u.lastname, u.email";
$countselect = "SELECT COUNT(u.id)";
$from = " FROM {$CFG->prefix}user u
INNER JOIN {$CFG->prefix}role_assignments ra ON ra.userid = u.id
+3
View File
@@ -35,6 +35,9 @@ if ($currenttab != 'update') {
$navlinks[] = array('name' => $category->name,
'link' => "$CFG->wwwroot/course/category.php?id=$category->id",
'type' => 'misc');
$navlinks[] = array('name' => get_string("roles"),
'link' => null,
'type' => 'misc');
$navigation = build_navigation($navlinks);
print_header("$SITE->shortname: $category->name", "$SITE->fullname: $strcourses", $navigation, "", "", true);
+1
View File
@@ -16,6 +16,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$rqsetting->plugin = 'qtype_random';
$temp->add($rqsetting);
$temp->add(new admin_setting_configcheckbox('experimentalsplitrestore', get_string('experimentalsplitrestore', 'admin'), get_string('configexperimentalsplitrestore', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('enableimsccimport', get_string('enable_cc_import', 'imscc'), get_string('enable_cc_import_description', 'imscc'), 0));
$temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', get_string('enablesafebrowserintegration', 'admin'), get_string('configenablesafebrowserintegration', 'admin'), 0));
$ADMIN->add('misc', $temp);
+7 -6
View File
@@ -26,7 +26,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
2700 => get_string('numminutes', '', 45),
3600 => get_string('numminutes', '', 60))));
$temp->add(new admin_setting_configselect('fullnamedisplay', get_string('fullnamedisplay', 'admin'), get_string('configfullnamedisplay', 'admin'),
'firstname lastname', array('language' => get_string('language'),
'language', array('language' => get_string('language'),
'firstname lastname' => get_string('firstname').' + '.get_string('lastname'),
'lastname firstname' => get_string('lastname').' + '.get_string('firstname'),
'firstname' => get_string('firstname'))));
@@ -46,7 +46,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0));
$temp->add(new admin_setting_configpasswordunmask('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), ''));
$temp->add(new admin_setting_configcheckbox('passwordpolicy', get_string('passwordpolicy', 'admin'), get_string('configpasswordpolicy', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('passwordpolicy', get_string('passwordpolicy', 'admin'), get_string('configpasswordpolicy', 'admin'), 1));
$temp->add(new admin_setting_configtext('minpasswordlength', get_string('minpasswordlength', 'admin'), get_string('configminpasswordlength', 'admin'), 8, PARAM_INT));
$temp->add(new admin_setting_configtext('minpassworddigits', get_string('minpassworddigits', 'admin'), get_string('configminpassworddigits', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_configtext('minpasswordlower', get_string('minpasswordlower', 'admin'), get_string('configminpasswordlower', 'admin'), 1, PARAM_INT));
@@ -65,15 +65,16 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('loginhttps', get_string('loginhttps', 'admin'), get_string('configloginhttps', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('cookiesecure', get_string('cookiesecure', 'admin'), get_string('configcookiesecure', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('cookiehttponly', get_string('cookiehttponly', 'admin'), get_string('configcookiehttponly', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('regenloginsession', get_string('regenloginsession', 'admin'), get_string('configregenloginsession', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('regenloginsession', get_string('regenloginsession', 'admin'), get_string('configregenloginsession', 'admin'), 1));
$temp->add(new admin_setting_configtext('excludeoldflashclients', get_string('excludeoldflashclients', 'admin'), get_string('configexcludeoldflashclients', 'admin'), '10.0.12', PARAM_TEXT));
$ADMIN->add('security', $temp);
// "modulesecurity" settingpage
$temp = new admin_settingpage('modulesecurity', get_string('modulesecurity', 'admin'));
$temp->add(new admin_setting_configselect('restrictmodulesfor', get_string('restrictmodulesfor', 'admin'), get_string('configrestrictmodulesfor', 'admin'), 'none', array('none' => 'No courses',
'all' => 'All courses',
'requested' => 'Requested courses')));
$temp->add(new admin_setting_configselect('restrictmodulesfor', get_string('restrictmodulesfor', 'admin'), get_string('configrestrictmodulesfor', 'admin'), 'none', array('none' => get_string('nocourses'),
'all' => get_string('fulllistofcourses'),
'requested' => get_string('requestedcourses'))));
$temp->add(new admin_setting_configcheckbox('restrictbydefault', get_string('restrictbydefault', 'admin'), get_string('configrestrictbydefault', 'admin'), 0));
if (!$options = get_records("modules")) {
$options = array();
+1 -1
View File
@@ -25,7 +25,7 @@ if ($hassiteconfig
get_string('alternatelogin', 'auth', htmlspecialchars($CFG->wwwroot.'/login/index.php')), ''));
$temp->add(new admin_setting_configtext('forgottenpasswordurl', get_string('forgottenpasswordurl', 'auth'),
get_string('forgottenpassword', 'auth'), ''));
$temp->add(new admin_setting_configtextarea('auth_instructions', get_string('instructions', 'auth'),
$temp->add(new admin_setting_confightmltextarea('auth_instructions', get_string('instructions', 'auth'),
get_string('authinstructions', 'auth'), ''));
$temp->add(new admin_setting_configtext('allowemailaddresses', get_string('allowemailaddresses', 'admin'), get_string('configallowemailaddresses', 'admin'), '', PARAM_NOTAGS));
$temp->add(new admin_setting_configtext('denyemailaddresses', get_string('denyemailaddresses', 'admin'), get_string('configdenyemailaddresses', 'admin'), '', PARAM_NOTAGS));
+4 -10
View File
@@ -191,25 +191,19 @@ function process_directory ($dir, $userfield, $overwrite, &$results) {
*/
function process_file ($file, $userfield, $overwrite) {
// Add additional checks on the filenames, as they are user
// controlled and we don't want to open any security holes.
// controlled and we don't want to open any security holes.
$path_parts = pathinfo(cleardoubleslashes($file));
$basename = $path_parts['basename'];
$extension = $path_parts['extension'];
if ($basename != clean_param($basename, PARAM_CLEANFILE)) {
// The original picture file name has invalid characters
notify(get_string('uploadpicture_invalidfilename', 'admin',
clean_param($basename, PARAM_CLEANHTML)));
return PIX_FILE_ERROR;
}
// The picture file name (without extension) must match the
// userfield attribute.
$uservalue = substr($basename, 0,
strlen($basename) -
strlen($extension) - 1);
// userfield names are safe, so don't quote them.
if (!($user = get_record('user', $userfield, addslashes($uservalue)))) {
// userfield names are safe, so don't quote them.
if (!($user = get_record('user', $userfield, addslashes($uservalue),'deleted',0))) {
$a = new Object();
$a->userfield = clean_param($userfield, PARAM_CLEANHTML);
$a->uservalue = clean_param($uservalue, PARAM_CLEANHTML);
+27 -22
View File
@@ -1,28 +1,33 @@
<?php // $Id$
require_once $CFG->libdir.'/formslib.php';
class admin_uploadpicture_form extends moodleform {
function definition (){
global $CFG, $USER;
$mform =& $this->_form;
$this->set_upload_manager(new upload_manager('userpicturesfile', false, false, null, false, 0, true, true, false));
$mform->addElement('header', 'settingsheader', get_string('upload'));
$mform->addElement('file', 'userpicturesfile', get_string('file'), 'size="40"');
$mform->addRule('userpicturesfile', null, 'required');
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
$choices =& $this->_customdata;
$mform->addElement('select', 'userfield', get_string('uploadpicture_userfield', 'admin'), $choices);
$mform->setType('userfield', PARAM_INT);
require_once $CFG->libdir.'/formslib.php';
$choices = array( 0 => get_string('no'), 1 => get_string('yes') );
$mform->addElement('select', 'overwritepicture', get_string('uploadpicture_overwrite', 'admin'), $choices);
$mform->setType('overwritepicture', PARAM_INT);
$this->add_action_buttons(false, get_string('uploadpictures', 'admin'));
}
class admin_uploadpicture_form extends moodleform {
function definition (){
global $CFG, $USER;
$mform =& $this->_form;
$this->set_upload_manager(new upload_manager('userpicturesfile', false, false, null, false, 0, true, true, false));
$mform->addElement('header', 'settingsheader', get_string('upload'));
$mform->addElement('file', 'userpicturesfile', get_string('file'), 'size="40"');
$mform->addRule('userpicturesfile', null, 'required');
$choices =& $this->_customdata;
$mform->addElement('select', 'userfield', get_string('uploadpicture_userfield', 'admin'), $choices);
$mform->setType('userfield', PARAM_INT);
$choices = array( 0 => get_string('no'), 1 => get_string('yes') );
$mform->addElement('select', 'overwritepicture', get_string('uploadpicture_overwrite', 'admin'), $choices);
$mform->setType('overwritepicture', PARAM_INT);
$this->add_action_buttons(false, get_string('uploadpictures', 'admin'));
}
}
?>
+6 -4
View File
@@ -149,8 +149,7 @@ if ($formdata = $mform->is_cancelled()) {
$renames = 0;
$renameerrors = 0;
$usersskipped = 0;
$forcechangepassword = 0;
$weakpasswords = 0;
// caches
$ccache = array(); // course cache - do not fetch all courses here, we will not probably use them all anyway!
@@ -192,6 +191,8 @@ if ($formdata = $mform->is_cancelled()) {
$upt->track('line', $linenum);
$forcechangepassword = false;
$user = new object();
// by default, use the local mnet id (this may be changed in the file)
$user->mnethostid = $CFG->mnet_localhost_id;
@@ -204,7 +205,8 @@ if ($formdata = $mform->is_cancelled()) {
if ($value !== '') {
$user->password = hash_internal_user_password($value);
if (!empty($CFG->passwordpolicy) and !check_password_policy($value, $errmsg)) {
$forcechangepassword++;
$forcechangepassword = true;
$weakpasswords++;
}
}
} else {
@@ -707,7 +709,7 @@ if ($formdata = $mform->is_cancelled()) {
if ($usersskipped) {
echo get_string('usersskipped', 'admin').': '.$usersskipped.'<br />';
}
echo get_string('usersweakpassword', 'admin').': '.$forcechangepassword.'<br />';
echo get_string('usersweakpassword', 'admin').': '.$weakpasswords.'<br />';
echo get_string('errors', 'admin').': '.$userserrors.'</p>';
print_box_end();
+5
View File
@@ -1,4 +1,9 @@
<?php // $Id$
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
require_once $CFG->libdir.'/formslib.php';
class admin_uploaduser_form1 extends moodleform {
+1
View File
@@ -24,6 +24,7 @@ if ($data = $action_form->get_data(false)) {
case 3: redirect($CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk_delete.php');
case 4: redirect($CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk_display.php');
case 5: redirect($CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk_download.php');
case 6: redirect($CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk_forcepasswordchange.php');
}
}
@@ -0,0 +1,70 @@
<?php //$Id$
/**
* script for bulk user force password change
*/
require_once('../../config.php');
require_once('lib.php');
require_once($CFG->libdir.'/adminlib.php');
$confirm = optional_param('confirm', 0, PARAM_BOOL);
require_login();
admin_externalpage_setup('userbulk');
require_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM));
$return = $CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk.php';
if (empty($SESSION->bulk_users)) {
redirect($return);
}
admin_externalpage_print_header();
if ($confirm and confirm_sesskey()) {
// only force password change if user may actually change the password
$authsavailable = get_list_of_plugins('auth');
$changeable = array();
foreach($authsavailable as $authname) {
if (!$auth = get_auth_plugin($authname)) {
continue;
}
if (@$auth->is_internal() and @$auth->can_change_password()) { // plugins may not be configured yet, not nice :-(
$changeable[$authname] = true;
}
}
$parts = array_chunk($SESSION->bulk_users, 300);
foreach ($parts as $users) {
$in = implode(',', $users);
if ($rs = get_recordset_select('user', "id IN ($in)")) {
while ($user = rs_fetch_next_record($rs)) {
if (!empty($changeable[$user->auth])) {
set_user_preference('auth_forcepasswordchange', 1, $user->id);
unset($SESSION->bulk_users[$user->id]);
} else {
notify(get_string('forcepasswordchangenot', '', fullname($user, true)));
}
}
rs_close($rs);
}
}
notify(get_string('changessaved'), 'notifysuccess');
print_continue($return);
} else {
$in = implode(',', $SESSION->bulk_users);
$userlist = get_records_select_menu('user', "id IN ($in)", 'fullname', 'id,'.sql_fullname().' AS fullname', 0, MAX_BULK_USERS);
$usernames = implode(', ', $userlist);
if (count($SESSION->bulk_users) > MAX_BULK_USERS) {
$usernames .= ', ...';
}
$optionsyes = array();
$optionsyes['confirm'] = 1;
$optionsyes['sesskey'] = sesskey();
print_heading(get_string('confirmation', 'admin'));
notice_yesno(get_string('forcepasswordchangecheckfull', '', $usernames), 'user_bulk_forcepasswordchange.php', 'user_bulk.php', $optionsyes, NULL, 'post', 'get');
}
admin_externalpage_print_footer();
?>
+3
View File
@@ -24,6 +24,9 @@ class user_bulk_action_form extends moodleform {
if (has_capability('moodle/user:update', $syscontext)) {
$actions[5] = get_string('download', 'admin');
}
if (has_capability('moodle/user:update', $syscontext)) {
$actions[6] = get_string('forcepasswordchange');
}
$objs = array();
$objs[] =& $mform->createElement('select', 'action', null, $actions);
+1 -1
View File
@@ -9,7 +9,7 @@ class user_message_form extends moodleform {
$mform->addElement('header', 'general', get_string('message', 'message'));
$mform->addElement('textarea', 'messagebody', get_string('messagebody'), array('rows'=>15, 'cols'=>60));
$mform->addElement('htmleditor', 'messagebody', get_string('messagebody'), array('rows'=>15, 'cols'=>60));
$mform->addRule('messagebody', '', 'required', null, 'client');
$mform->setHelpButton('messagebody', array('writing', 'reading', 'questions', 'richtext'), false, 'editorhelpbutton');
$mform->addElement('format', 'format', get_string('format'));
+10 -2
View File
@@ -47,6 +47,8 @@ class XMLDBAction {
var $postaction; //Action to execute at the end of the invoke script
var $sesskey_protected; // Actions must be protected by sesskey mechanishm
/**
* Constructor
*/
@@ -72,6 +74,7 @@ class XMLDBAction {
$this->output = NULL;
$this->errormsg = NULL;
$this->subaction = NULL;
$this->sesskey_protected = true;
}
/**
@@ -130,13 +133,18 @@ class XMLDBAction {
}
/**
* main invoke method, it simply sets the postaction attribute
* if possible
* main invoke method, it sets the postaction attribute
* if possible and checks sesskey_protected if needed
*/
function invoke() {
global $SESSION;
/// Sesskey protection
if ($this->sesskey_protected) {
require_sesskey();
}
/// If we are used any dir, save it in the lastused session object
/// Some actions can use it to perform positioning
if ($lastused = optional_param ('dir', NULL, PARAM_PATH)) {
@@ -111,7 +111,7 @@ class check_bigints extends XMLDBAction {
}
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=check_bigints&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=check_bigints&amp;sesskey=' . sesskey() . '&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -94,7 +94,7 @@ class check_indexes extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmcheckindexes'] . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=check_indexes&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=check_indexes&amp;sesskey=' . sesskey() . '&amp;confirmed=yes" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_field extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletefield'] . '<br /><br />' . $fieldparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_field&amp;confirmed=yes&amp;postaction=edit_table&amp;field=' . $fieldparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_field&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;field=' . $fieldparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_index extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeleteindex'] . '<br /><br />' . $indexparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_index&amp;confirmed=yes&amp;postaction=edit_table&amp;index=' . $indexparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_index&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;index=' . $indexparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_key extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletekey'] . '<br /><br />' . $keyparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_key&amp;confirmed=yes&amp;postaction=edit_table&amp;key=' . $keyparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_key&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_table&amp;key=' . $keyparam . '&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -77,7 +77,7 @@ class delete_sentence extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletesentence'] . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_sentence&amp;confirmed=yes&amp;postaction=edit_statement&amp;sentence=' . $sentenceparam . '&amp;statement=' . urlencode($statementparam) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_sentence&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_statement&amp;sentence=' . $sentenceparam . '&amp;statement=' . urlencode($statementparam) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -76,7 +76,7 @@ class delete_statement extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletestatement'] . '<br /><br />' . $statementparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_statement&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_statement&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -76,7 +76,7 @@ class delete_table extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletetable'] . '<br /><br />' . $tableparam . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_table&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_table&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;postaction=edit_xml_file&amp;table=' . $tableparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -75,7 +75,7 @@ class delete_xml_file extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmdeletexmlfile'] . '<br /><br />' . $dirpath . '/install.php</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=delete_xml_file&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=delete_xml_file&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
@@ -35,6 +35,7 @@ class edit_field extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_field extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="field" value="' . $fieldparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_field_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_index extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_index extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="index" value="' . $indexparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_index_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_key extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -103,6 +104,7 @@ class edit_key extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="key" value="' . $keyparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_key_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_sentence extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -119,6 +120,7 @@ class edit_sentence extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="statement" value="' . $statementparam .'" />';
$o.= ' <input type="hidden" name ="sentence" value="' . $sentenceparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_sentence_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -35,6 +35,7 @@ class edit_statement extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -106,6 +107,7 @@ class edit_statement extends XMLDBAction {
$o.= '<div>';
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="statement" value="' . $statementparam .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_statement_save" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
@@ -129,7 +131,7 @@ class edit_statement extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new sentence button
$b .= '&nbsp;<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newsentence'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;sesskey=' . sesskey() . '&amp;statement=' . $statementparam . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newsentence'] . ']</a>';
/// The back to edit xml file button
$b .= '&nbsp;<a href="index.php?action=edit_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['back'] . ']</a>';
$b .= '</p>';
@@ -157,10 +159,10 @@ class edit_statement extends XMLDBAction {
$b .= '<a href="index.php?action=edit_sentence&amp;sentence=' .$key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['edit'] . ']</a>';
$b .= '</td><td class="button cell">';
/// The duplicate button
$b .= '<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;basesentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['duplicate'] . ']</a>';
$b .= '<a href="index.php?action=new_sentence&amp;postaction=edit_sentence&amp;sesskey=' . sesskey() . '&amp;basesentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['duplicate'] . ']</a>';
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_sentence&amp;sentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_sentence&amp;sesskey=' . sesskey() . '&amp;sentence=' . $key . '&amp;statement=' . urlencode($statement->getName()) . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '</td>';
/// Print table row
$o .= '<tr class="r' . $row . '"><td class="table cell">' . $p . $sentence . $b . '</tr>';
@@ -35,6 +35,7 @@ class edit_table extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -107,6 +108,7 @@ class edit_table extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="table" value="' . $tableparam .'" />';
$o.= ' <input type="hidden" name ="action" value="edit_table_save" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
/// If the table is being used, we cannot rename it
@@ -134,11 +136,11 @@ class edit_table extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new field button
$b .= '&nbsp;<a href="index.php?action=new_field&amp;postaction=edit_field&amp;table=' . $tableparam . '&amp;field=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newfield'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_field&amp;sesskey=' . sesskey() . '&amp;postaction=edit_field&amp;table=' . $tableparam . '&amp;field=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newfield'] . ']</a>';
/// The new key button
$b .= '&nbsp;<a href="index.php?action=new_key&amp;postaction=edit_key&amp;table=' . $tableparam . '&amp;key=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newkey'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_key&amp;sesskey=' . sesskey() . '&amp;postaction=edit_key&amp;table=' . $tableparam . '&amp;key=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newkey'] . ']</a>';
/// The new index button
$b .= '&nbsp;<a href="index.php?action=new_index&amp;postaction=edit_index&amp;table=' . $tableparam . '&amp;index=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newindex'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_index&amp;sesskey=' . sesskey() . '&amp;postaction=edit_index&amp;table=' . $tableparam . '&amp;index=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newindex'] . ']</a>';
/// The back to edit xml file button
$b .= '&nbsp;<a href="index.php?action=edit_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['back'] . ']</a>';
$b .= '</p>';
@@ -185,14 +187,14 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($field->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_field&amp;direction=up&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_field&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($field->getNext()) {
$b .= '<a href="index.php?action=move_updown_field&amp;direction=down&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_field&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
@@ -200,7 +202,7 @@ class edit_table extends XMLDBAction {
/// The delete button (if we have more than one and it isn't used
if (count($fields) > 1 &&
!$structure->getFieldUses($table->getName(), $field->getName())) {
$b .= '<a href="index.php?action=delete_field&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_field&amp;sesskey=' . sesskey() . '&amp;field=' . $field->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -234,21 +236,21 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($key->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_key&amp;direction=up&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_key&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($key->getNext()) {
$b .= '<a href="index.php?action=move_updown_key&amp;direction=down&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_key&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button (if the key hasn't uses)
if (!$structure->getKeyUses($table->getName(), $key->getName())) {
$b .= '<a href="index.php?action=delete_key&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_key&amp;sesskey=' . sesskey() . '&amp;key=' . $key->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -274,20 +276,20 @@ class edit_table extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($index->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_index&amp;direction=up&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_index&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($index->getNext()) {
$b .= '<a href="index.php?action=move_updown_index&amp;direction=down&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_index&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_table' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_index&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_index&amp;sesskey=' . sesskey() . '&amp;index=' . $index->getName() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
/// The readable info
$r = '</td><td class="readableinfo cell">' . $index->readableInfo() . '</td>';
/// Print table row
@@ -35,6 +35,7 @@ class edit_xml_file extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -107,6 +108,7 @@ class edit_xml_file extends XMLDBAction {
$o.= ' <input type="hidden" name ="postaction" value="edit_xml_file" />';
$o.= ' <input type="hidden" name ="path" value="' . s($structure->getPath()) .'" />';
$o.= ' <input type="hidden" name ="version" value="' . s($structure->getVersion()) .'" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() .'" />';
$o.= ' <table id="formelements" class="boxaligncenter">';
$o.= ' <tr valign="top"><td>Path:</td><td>' . s($structure->getPath()) . '</td></tr>';
$o.= ' <tr valign="top"><td>Version:</td><td>' . s($structure->getVersion()) . '</td></tr>';
@@ -125,15 +127,15 @@ class edit_xml_file extends XMLDBAction {
$b .= '&nbsp;[' . $this->str['viewedited'] . ']';
}
/// The new table button
$b .= '&nbsp;<a href="index.php?action=new_table&amp;postaction=edit_table&amp;table=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtable'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_table&amp;sesskey=' . sesskey() . '&amp;postaction=edit_table&amp;table=changeme&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtable'] . ']</a>';
/// The new from MySQL button
if ($CFG->dbfamily == 'mysql') {
$b .= '&nbsp;<a href="index.php?action=new_table_from_mysql&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtablefrommysql'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_table_from_mysql&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newtablefrommysql'] . ']</a>';
} else {
$b .= '&nbsp;[' . $this->str['newtablefrommysql'] . ']';
}
/// The new statement button
$b .= '&nbsp;<a href="index.php?action=new_statement&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newstatement'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=new_statement&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['newstatement'] . ']</a>';
/// The back to main menu button
$b .= '&nbsp;<a href="index.php?action=main_view#lastused">[' . $this->str['backtomainview'] . ']</a>';
$b .= '</p>';
@@ -169,14 +171,14 @@ class edit_xml_file extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($table->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_table&amp;direction=up&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_table&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($table->getNext()) {
$b .= '<a href="index.php?action=move_updown_table&amp;direction=down&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_table&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
@@ -185,7 +187,7 @@ class edit_xml_file extends XMLDBAction {
if (count($tables) > 1 &&
!$structure->getTableUses($table->getName())) {
///!$structure->getTableUses($table->getName())) {
$b .= '<a href="index.php?action=delete_table&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_table&amp;sesskey=' . sesskey() . '&amp;table=' . $table->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -214,20 +216,20 @@ class edit_xml_file extends XMLDBAction {
$b .= '</td><td class="button cell">';
/// The up button
if ($statement->getPrevious()) {
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=up&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=up&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['up'] . ']</a>';
} else {
$b .= '[' . $this->str['up'] . ']';
}
$b .= '</td><td class="button cell">';
/// The down button
if ($statement->getNext()) {
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=down&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
$b .= '<a href="index.php?action=move_updown_statement&amp;direction=down&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;postaction=edit_xml_file' . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['down'] . ']</a>';
} else {
$b .= '[' . $this->str['down'] . ']';
}
$b .= '</td><td class="button cell">';
/// The delete button
$b .= '<a href="index.php?action=delete_statement&amp;statement=' . $statement->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_statement&amp;sesskey=' . sesskey() . '&amp;statement=' . $statement->getName() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '</td>';
/// Print statement row
$o .= '<tr class="r' . $row . '"><td class="statement cell"><a href="index.php?action=view_statement_xml&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;statement=' . $statement->getName() . '&amp;select=edited">' . $statement->getName() . '</a>' . $b . '</tr>';
@@ -39,6 +39,7 @@ class get_db_directories extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class load_xml_file extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class main_view extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -85,12 +86,12 @@ class main_view extends XMLDBAction {
/// The reserved_words button
$b .= '&nbsp;<a href="index.php?action=view_reserved_words">[' . $this->str['reservedwords'] . ']</a>';
/// The test button
$b .= '&nbsp;<a href="index.php?action=test">[' . $this->str['test'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=test&amp;sesskey=' . sesskey() . '">[' . $this->str['test'] . ']</a>';
/// The check indexes button
$b .= '&nbsp;<a href="index.php?action=check_indexes">[' . $this->str['checkindexes'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=check_indexes&amp;sesskey=' . sesskey() . '">[' . $this->str['checkindexes'] . ']</a>';
/// The check bigints button (only for MySQL and PostgreSQL) MDL-11038a
if ($CFG->dbfamily == 'mysql' || $CFG->dbfamily == 'postgres') {
$b .= '&nbsp;<a href="index.php?action=check_bigints">[' . $this->str['checkbigints'] . ']</a>';
$b .= '&nbsp;<a href="index.php?action=check_bigints&amp;sesskey=' . sesskey() . '">[' . $this->str['checkbigints'] . ']</a>';
}
$b .= '</p>';
/// Send buttons to output
@@ -131,7 +132,7 @@ class main_view extends XMLDBAction {
if ($dbdir->path_exists &&
!file_exists($key . '/install.xml') &&
is_writeable($key)) {
$b .= '<a href="index.php?action=create_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['create'] . ']</a>';
$b .= '<a href="index.php?action=create_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['create'] . ']</a>';
} else {
$b .= '[' . $this->str['create'] . ']';
}
@@ -164,7 +165,7 @@ class main_view extends XMLDBAction {
is_writeable($key) &&
!empty($dbdir->xml_loaded) &&
!empty($dbdir->xml_changed)) {
$b .= '<a href="index.php?action=save_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['save'] . ']</a>';
$b .= '<a href="index.php?action=save_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '&amp;time=' . time() . '&amp;postaction=main_view#lastused">[' . $this->str['save'] . ']</a>';
/// Check if the file has been manually edited while being modified in the editor
if ($dbdir->filemtime != filemtime($key . '/install.xml')) {
/// File manually modified. Add to errors.
@@ -183,7 +184,7 @@ class main_view extends XMLDBAction {
is_writeable($key) &&
!empty($dbdir->xml_loaded) &&
!empty($dbdir->xml_changed)) {
$b .= '<a href="index.php?action=revert_changes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['revert'] . ']</a>';
$b .= '<a href="index.php?action=revert_changes&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['revert'] . ']</a>';
} else {
$b .= '[' . $this->str['revert'] . ']';
}
@@ -205,7 +206,7 @@ class main_view extends XMLDBAction {
is_readable($key . '/install.xml') &&
is_writeable($key) &&
empty($dbdir->xml_loaded)) {
$b .= '<a href="index.php?action=delete_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['delete'] . ']</a>';
$b .= '<a href="index.php?action=delete_xml_file&amp;sesskey=' . sesskey() . '&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $key)) . '">[' . $this->str['delete'] . ']</a>';
} else {
$b .= '[' . $this->str['delete'] . ']';
}
@@ -107,6 +107,7 @@ class new_statement extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="action" value="new_statement" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_statement" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() . '" />';
$o.= ' <table id="formelements" class="boxaligncenter" cellpadding="5">';
$o.= ' <tr><td><label for="type" accesskey="t">' . $this->str['statementtype'] .' </label>' . choose_from_menu($typeoptions, 'type', '', 'choose', '', 0, true) . '<label for="table" accesskey="a">' . $this->str['statementtable'] . ' </label>' .choose_from_menu($selecttables, 'table', '', 'choose', '', 0, true) . '</td></tr>';
$o.= ' <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['create'] . '" /></td></tr>';
@@ -111,6 +111,7 @@ class new_table_from_mysql extends XMLDBAction {
$o.= ' <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
$o.= ' <input type="hidden" name ="action" value="new_table_from_mysql" />';
$o.= ' <input type="hidden" name ="postaction" value="edit_table" />';
$o.= ' <input type="hidden" name ="sesskey" value="' . sesskey() . '" />';
$o.= ' <table id="formelements" class="boxaligncenter" cellpadding="5">';
$o.= ' <tr><td><label for="table" accesskey="t">' . $this->str['createtable'] .' </label>' . choose_from_menu($selecttables, 'table', '', 'choose', '', 0, true) . '<label for="after" accesskey="a">' . $this->str['aftertable'] . ' </label>' .choose_from_menu($aftertables, 'after', '', 'choose', '', 0, true) . '</td></tr>';
$o.= ' <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['create'] . '" /></td></tr>';
@@ -75,7 +75,7 @@ class revert_changes extends XMLDBAction {
$o.= ' <p class="centerpara">' . $this->str['confirmrevertchanges'] . '<br /><br />' . $dirpath . '</p>';
$o.= ' <table class="boxaligncenter" cellpadding="20"><tr><td>';
$o.= ' <div class="singlebutton">';
$o.= ' <form action="index.php?action=revert_changes&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <form action="index.php?action=revert_changes&amp;sesskey=' . sesskey() . '&amp;confirmed=yes&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '&amp;postaction=main_view#lastused" method="post"><fieldset class="invisiblefieldset">';
$o.= ' <input type="submit" value="'. $this->str['yes'] .'" /></fieldset></form></div>';
$o.= ' </td><td>';
$o.= ' <div class="singlebutton">';
+14
View File
@@ -1014,6 +1014,20 @@ class test extends XMLDBAction {
$this->output = $o;
/// Finally drop all the potentially existing test tables
$table = new XMLDBTable('testtable');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
$table = new XMLDBTable ('anothertest');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
$table = new XMLDBTable ('newnameforthetable');
if (table_exists($table)) {
$status = drop_table($table, true, false);
}
/// Launch postaction if exists (leave this here!)
if ($this->getPostAction() && $result) {
return $this->launch($this->getPostAction());
@@ -35,6 +35,7 @@ class unload_xml_file extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_field_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_index_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_key_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class view_reserved_words extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_statement_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_structure_php extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_structure_sql extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_structure_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_table_php extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -36,6 +36,7 @@ class view_table_sql extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -35,6 +35,7 @@ class view_table_xml extends XMLDBAction {
parent::init();
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
@@ -38,6 +38,7 @@ class view_xml extends XMLDBAction {
//$this->can_subaction = ACTION_HAVE_SUBACTIONS;
/// Set own custom attributes
$this->sesskey_protected = false; // This action doesn't need sesskey protection
/// Get needed strings
$this->loadStrings(array(
+1531 -1284
View File
File diff suppressed because it is too large Load Diff
@@ -1,240 +1,283 @@
<?php
/**
* @file CAS/PGTStorage/pgt-file.php
* Basic class for PGT file storage
*/
/**
* @class PGTStorageFile
* The PGTStorageFile class is a class for PGT file storage. An instance of
* this class is returned by CASClient::SetPGTStorageFile().
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorageFile
*/
class PGTStorageFile extends PGTStorage
{
/**
* @addtogroup internalPGTStorageFile
* @{
*/
/**
* a string telling where PGT's should be stored on the filesystem. Written by
* PGTStorageFile::PGTStorageFile(), read by getPath().
*
* @private
*/
var $_path;
/**
* This method returns the name of the directory where PGT's should be stored
* on the filesystem.
*
* @return the name of a directory (with leading and trailing '/')
*
* @private
*/
function getPath()
{
return $this->_path;
}
/**
* a string telling the format to use to store PGT's (plain or xml). Written by
* PGTStorageFile::PGTStorageFile(), read by getFormat().
*
* @private
*/
var $_format;
/**
* This method returns the format to use when storing PGT's on the filesystem.
*
* @return a string corresponding to the format used (plain or xml).
*
* @private
*/
function getFormat()
{
return $this->_format;
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageType()
{
return "file";
}
/**
* This method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageInfo()
{
return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
}
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The class constructor, called by CASClient::SetPGTStorageFile().
*
* @param $cas_parent the CASClient instance that creates the object.
* @param $format the format used to store the PGT's (`plain' and `xml' allowed).
* @param $path the path where the PGT's should be stored
*
* @public
*/
function PGTStorageFile($cas_parent,$format,$path)
{
phpCAS::traceBegin();
// call the ancestor's constructor
$this->PGTStorage($cas_parent);
if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
// check that the path is an absolute path
if ( $path[0] != '/' ) {
phpCAS::error('an absolute path is needed for PGT storage to file');
}
// store the path (with a leading and trailing '/')
$path = preg_replace('|[/]*$|','/',$path);
$path = preg_replace('|^[/]*|','/',$path);
$this->_path = $path;
// check the format and store it
switch ($format) {
case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
case CAS_PGT_STORAGE_FILE_FORMAT_XML:
$this->_format = $format;
break;
default:
phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
}
phpCAS::traceEnd();
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* This method is used to initialize the storage. Halts on error.
*
* @public
*/
function init()
{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
parent::init();
phpCAS::traceEnd();
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This method returns the filename corresponding to a PGT Iou.
*
* @param $pgt_iou the PGT iou.
*
* @return a filename
* @private
*/
function getPGTIouFilename($pgt_iou)
{
phpCAS::traceBegin();
$filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
phpCAS::traceEnd($filename);
return $filename;
}
/**
* This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
* warning on error.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @public
*/
function write($pgt,$pgt_iou)
{
phpCAS::traceBegin();
$fname = $this->getPGTIouFilename($pgt_iou);
if ( $f=fopen($fname,"w") ) {
if ( fputs($f,$pgt) === FALSE ) {
phpCAS::error('could not write PGT to `'.$fname.'\'');
}
fclose($f);
} else {
phpCAS::error('could not open `'.$fname.'\'');
}
phpCAS::traceEnd();
}
/**
* This method reads a PGT corresponding to a PGT Iou and deletes the
* corresponding file.
*
* @param $pgt_iou the PGT iou
*
* @return the corresponding PGT, or FALSE on error
*
* @public
*/
function read($pgt_iou)
{
phpCAS::traceBegin();
$pgt = FALSE;
$fname = $this->getPGTIouFilename($pgt_iou);
if ( !($f=fopen($fname,"r")) ) {
phpCAS::trace('could not open `'.$fname.'\'');
} else {
if ( ($pgt=fgets($f)) === FALSE ) {
phpCAS::trace('could not read PGT from `'.$fname.'\'');
}
fclose($f);
}
// delete the PGT file
@unlink($fname);
phpCAS::traceEnd($pgt);
return $pgt;
}
/** @} */
}
?>
<?php
/*
* Copyright © 2003-2010, The ESUP-Portail consortium & the JA-SIG Collaborative.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of the ESUP-Portail consortium & the JA-SIG
* Collaborative nor the names of its contributors may be used to endorse or
* promote products derived from this software without specific prior
* written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @file CAS/PGTStorage/pgt-file.php
* Basic class for PGT file storage
*/
/**
* @class PGTStorageFile
* The PGTStorageFile class is a class for PGT file storage. An instance of
* this class is returned by CASClient::SetPGTStorageFile().
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorageFile
*/
class PGTStorageFile extends PGTStorage
{
/**
* @addtogroup internalPGTStorageFile
* @{
*/
/**
* a string telling where PGT's should be stored on the filesystem. Written by
* PGTStorageFile::PGTStorageFile(), read by getPath().
*
* @private
*/
var $_path;
/**
* This method returns the name of the directory where PGT's should be stored
* on the filesystem.
*
* @return the name of a directory (with leading and trailing '/')
*
* @private
*/
function getPath()
{
return $this->_path;
}
/**
* a string telling the format to use to store PGT's (plain or xml). Written by
* PGTStorageFile::PGTStorageFile(), read by getFormat().
*
* @private
*/
var $_format;
/**
* This method returns the format to use when storing PGT's on the filesystem.
*
* @return a string corresponding to the format used (plain or xml).
*
* @private
*/
function getFormat()
{
return $this->_format;
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageType()
{
return "file";
}
/**
* This method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageInfo()
{
return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
}
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The class constructor, called by CASClient::SetPGTStorageFile().
*
* @param $cas_parent the CASClient instance that creates the object.
* @param $format the format used to store the PGT's (`plain' and `xml' allowed).
* @param $path the path where the PGT's should be stored
*
* @public
*/
function PGTStorageFile($cas_parent,$format,$path)
{
phpCAS::traceBegin();
// call the ancestor's constructor
$this->PGTStorage($cas_parent);
if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
// check that the path is an absolute path
if (getenv("OS")=="Windows_NT"){
if (!preg_match('`^[a-zA-Z]:`', $path)) {
phpCAS::error('an absolute path is needed for PGT storage to file');
}
}
else
{
if ( $path[0] != '/' ) {
phpCAS::error('an absolute path is needed for PGT storage to file');
}
// store the path (with a leading and trailing '/')
$path = preg_replace('|[/]*$|','/',$path);
$path = preg_replace('|^[/]*|','/',$path);
}
$this->_path = $path;
// check the format and store it
switch ($format) {
case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
case CAS_PGT_STORAGE_FILE_FORMAT_XML:
$this->_format = $format;
break;
default:
phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
}
phpCAS::traceEnd();
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* This method is used to initialize the storage. Halts on error.
*
* @public
*/
function init()
{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
parent::init();
phpCAS::traceEnd();
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This method returns the filename corresponding to a PGT Iou.
*
* @param $pgt_iou the PGT iou.
*
* @return a filename
* @private
*/
function getPGTIouFilename($pgt_iou)
{
phpCAS::traceBegin();
$filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
phpCAS::traceEnd($filename);
return $filename;
}
/**
* This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
* warning on error.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @public
*/
function write($pgt,$pgt_iou)
{
phpCAS::traceBegin();
$fname = $this->getPGTIouFilename($pgt_iou);
if(!file_exists($fname)){
if ( $f=fopen($fname,"w") ) {
if ( fputs($f,$pgt) === FALSE ) {
phpCAS::error('could not write PGT to `'.$fname.'\'');
}
fclose($f);
} else {
phpCAS::error('could not open `'.$fname.'\'');
}
}else{
phpCAS::error('File exists: `'.$fname.'\'');
}
phpCAS::traceEnd();
}
/**
* This method reads a PGT corresponding to a PGT Iou and deletes the
* corresponding file.
*
* @param $pgt_iou the PGT iou
*
* @return the corresponding PGT, or FALSE on error
*
* @public
*/
function read($pgt_iou)
{
phpCAS::traceBegin();
$pgt = FALSE;
$fname = $this->getPGTIouFilename($pgt_iou);
if (file_exists($fname)){
if ( !($f=fopen($fname,"r")) ) {
phpCAS::trace('could not open `'.$fname.'\'');
} else {
if ( ($pgt=fgets($f)) === FALSE ) {
phpCAS::trace('could not read PGT from `'.$fname.'\'');
}
fclose($f);
}
// delete the PGT file
@unlink($fname);
}else{
phpCAS::trace('No such file `'.$fname.'\'');
}
phpCAS::traceEnd($pgt);
return $pgt;
}
/** @} */
}
?>
@@ -1,189 +1,214 @@
<?php
/**
* @file CAS/PGTStorage/pgt-main.php
* Basic class for PGT storage
*/
/**
* @class PGTStorage
* The PGTStorage class is a generic class for PGT storage. This class should
* not be instanciated itself but inherited by specific PGT storage classes.
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorage
*/
class PGTStorage
{
/**
* @addtogroup internalPGTStorage
* @{
*/
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The constructor of the class, should be called only by inherited classes.
*
* @param $cas_parent the CASclient instance that creates the current object.
*
* @protected
*/
function PGTStorage($cas_parent)
{
phpCAS::traceBegin();
if ( !$cas_parent->isProxy() ) {
phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
}
phpCAS::traceEnd();
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This virtual method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @public
*/
function getStorageType()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @public
*/
function getStorageInfo()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
// ########################################################################
// ERROR HANDLING
// ########################################################################
/**
* string used to store an error message. Written by PGTStorage::setErrorMessage(),
* read by PGTStorage::getErrorMessage().
*
* @hideinitializer
* @private
* @deprecated not used.
*/
var $_error_message=FALSE;
/**
* This method sets en error message, which can be read later by
* PGTStorage::getErrorMessage().
*
* @param $error_message an error message
*
* @protected
* @deprecated not used.
*/
function setErrorMessage($error_message)
{
$this->_error_message = $error_message;
}
/**
* This method returns an error message set by PGTStorage::setErrorMessage().
*
* @return an error message when set by PGTStorage::setErrorMessage(), FALSE
* otherwise.
*
* @public
* @deprecated not used.
*/
function getErrorMessage()
{
return $this->_error_message;
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* a boolean telling if the storage has already been initialized. Written by
* PGTStorage::init(), read by PGTStorage::isInitialized().
*
* @hideinitializer
* @private
*/
var $_initialized = FALSE;
/**
* This method tells if the storage has already been intialized.
*
* @return a boolean
*
* @protected
*/
function isInitialized()
{
return $this->_initialized;
}
/**
* This virtual method initializes the object.
*
* @protected
*/
function init()
{
$this->_initialized = TRUE;
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This virtual method stores a PGT and its corresponding PGT Iuo.
* @note Should never be called.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @protected
*/
function write($pgt,$pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method reads a PGT corresponding to a PGT Iou and deletes
* the corresponding storage entry.
* @note Should never be called.
*
* @param $pgt_iou the PGT iou
*
* @protected
*/
function read($pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/** @} */
}
// include specific PGT storage classes
include_once(dirname(__FILE__).'/pgt-file.php');
// incompatibility with Moodle
//include_once(dirname(__FILE__).'/pgt-db.php');
?>
<?php
/*
* Copyright © 2003-2010, The ESUP-Portail consortium & the JA-SIG Collaborative.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of the ESUP-Portail consortium & the JA-SIG
* Collaborative nor the names of its contributors may be used to endorse or
* promote products derived from this software without specific prior
* written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @file CAS/PGTStorage/pgt-main.php
* Basic class for PGT storage
*/
/**
* @class PGTStorage
* The PGTStorage class is a generic class for PGT storage. This class should
* not be instanciated itself but inherited by specific PGT storage classes.
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorage
*/
class PGTStorage
{
/**
* @addtogroup internalPGTStorage
* @{
*/
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The constructor of the class, should be called only by inherited classes.
*
* @param $cas_parent the CASclient instance that creates the current object.
*
* @protected
*/
function PGTStorage($cas_parent)
{
phpCAS::traceBegin();
if ( !$cas_parent->isProxy() ) {
phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
}
phpCAS::traceEnd();
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This virtual method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @public
*/
function getStorageType()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @public
*/
function getStorageInfo()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
// ########################################################################
// ERROR HANDLING
// ########################################################################
/**
* string used to store an error message. Written by PGTStorage::setErrorMessage(),
* read by PGTStorage::getErrorMessage().
*
* @hideinitializer
* @private
* @deprecated not used.
*/
var $_error_message=FALSE;
/**
* This method sets en error message, which can be read later by
* PGTStorage::getErrorMessage().
*
* @param $error_message an error message
*
* @protected
* @deprecated not used.
*/
function setErrorMessage($error_message)
{
$this->_error_message = $error_message;
}
/**
* This method returns an error message set by PGTStorage::setErrorMessage().
*
* @return an error message when set by PGTStorage::setErrorMessage(), FALSE
* otherwise.
*
* @public
* @deprecated not used.
*/
function getErrorMessage()
{
return $this->_error_message;
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* a boolean telling if the storage has already been initialized. Written by
* PGTStorage::init(), read by PGTStorage::isInitialized().
*
* @hideinitializer
* @private
*/
var $_initialized = FALSE;
/**
* This method tells if the storage has already been intialized.
*
* @return a boolean
*
* @protected
*/
function isInitialized()
{
return $this->_initialized;
}
/**
* This virtual method initializes the object.
*
* @protected
*/
function init()
{
$this->_initialized = TRUE;
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This virtual method stores a PGT and its corresponding PGT Iuo.
* @note Should never be called.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @protected
*/
function write($pgt,$pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method reads a PGT corresponding to a PGT Iou and deletes
* the corresponding storage entry.
* @note Should never be called.
*
* @param $pgt_iou the PGT iou
*
* @protected
*/
function read($pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/** @} */
}
// include specific PGT storage classes
include_once(dirname(__FILE__).'/pgt-file.php');
?>
File diff suppressed because it is too large Load Diff
@@ -10,12 +10,12 @@
require_once('domxml-php4-to-php5.php');
}
Version 1.20a, 2008-11-06, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
Version 1.21.1a, 2009-03-13, http://alexandre.alapetite.fr/doc-alex/domxml-php4-php5/
------------------------------------------------------------------
Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
Written by Alexandre Alapetite, http://alexandre.alapetite.fr/cv/
Copyright 2004-2008, GNU Lesser General Public License,
Copyright 2004-2009, GNU Lesser General Public License,
http://www.gnu.org/licenses/lgpl.html
This program is free software: you can redistribute it and/or modify
@@ -39,7 +39,7 @@
in order to improve this file for the benefit of everybody.
If you want to distribute this code, please do it as a link to:
http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
http://alexandre.alapetite.fr/doc-alex/domxml-php4-php5/
*/
define('DOMXML_LOAD_PARSING',0);
@@ -179,6 +179,7 @@ class php4DOMDocument extends php4DOMNode
}
function html_dump_mem() {return $this->myDOMNode->saveHTML();}
function root() {return parent::_newDOMElement($this->myDOMNode->documentElement,$this);}
function xinclude() {return $this->myDOMNode->xinclude();}
function xpath_new_context() {return new php4DOMXPath($this);}
}
@@ -262,7 +263,7 @@ class php4DOMNode
return false;
}
}
function add_child($newnode) {return append_child($newnode);}
function add_child($newnode) {return $this->append_child($newnode);}
function add_namespace($uri,$prefix) {return false;}
function append_child($newnode) {return self::_newDOMElement($this->myDOMNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
function append_sibling($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
@@ -458,8 +459,8 @@ class php4DOMXPath
}
function xpath_eval($eval_str,$contextnode=null)
{
if (method_exists($this->myDOMXPath,'evaluate')) $xp=isset($contextnode) ? $this->myDOMXPath->evaluate($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->evaluate($eval_str);
else $xp=isset($contextnode) ? $this->myDOMXPath->query($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->query($eval_str);
if (method_exists($this->myDOMXPath,'evaluate')) $xp=isset($contextnode->myDOMNode) ? $this->myDOMXPath->evaluate($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->evaluate($eval_str);
else $xp=isset($contextnode->myDOMNode) ? $this->myDOMXPath->query($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->query($eval_str);
$xp=new php4DOMNodelist($xp,$this->myOwnerDocument);
return ($xp->type===XPATH_UNDEFINED) ? false : $xp;
}
@@ -467,7 +468,7 @@ class php4DOMXPath
}
if (extension_loaded('xsl'))
{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
{//See also: http://alexandre.alapetite.fr/doc-alex/xslt-php4-php5/
function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
+27
View File
@@ -0,0 +1,27 @@
<?php
/**
* @file languages/spanish.php
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'usant servidor',
CAS_STR_AUTHENTICATION_WANTED
=> 'Autentificació CAS necessària!',
CAS_STR_LOGOUT
=> 'Sortida de CAS necessària!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Autentificació CAS fallida!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
);
?>
@@ -1,79 +1,27 @@
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentication wanted!',
CAS_STR_LOGOUT
=> 'CAS logout wanted!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Authentication failed!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
);
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentication wanted!',
CAS_STR_LOGOUT
=> 'CAS logout wanted!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Authentication failed!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
);
?>
@@ -1,82 +1,28 @@
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'utilisant le serveur',
CAS_STR_AUTHENTICATION_WANTED
=> 'Authentication CAS nécessaire&nbsp;!',
CAS_STR_LOGOUT
=> 'Déconnexion demandée&nbsp;!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Vous auriez du etre redirigé(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Authentification CAS infructueuse&nbsp;!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Vous n\'avez pas été authentifié(e).</p><p>Vous pouvez soumettre votre requete à nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problème persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
);
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'utilisant le serveur',
CAS_STR_AUTHENTICATION_WANTED
=> 'Authentication CAS ncessaire&nbsp;!',
CAS_STR_LOGOUT
=> 'Dconnexion demande&nbsp;!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Vous auriez du etre redirig(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Authentification CAS infructueuse&nbsp;!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Vous n\'avez pas t authentifi(e).</p><p>Vous pouvez soumettre votre requete nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problme persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
);
?>
@@ -1,79 +1,27 @@
<?php
/**
* @file languages/german.php
* @author Henrik Genssen <hg at mediafactory.de>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'via Server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentifizierung erforderlich!',
CAS_STR_LOGOUT
=> 'CAS Abmeldung!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Anmeldung fehlgeschlagen!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
);
<?php
/**
* @file languages/german.php
* @author Henrik Genssen <hg at mediafactory.de>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'via Server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentifizierung erforderlich!',
CAS_STR_LOGOUT
=> 'CAS Abmeldung!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Anmeldung fehlgeschlagen!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
);
?>
+27
View File
@@ -0,0 +1,27 @@
<?php
/**
* @file languages/greek.php
* @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> ' ',
CAS_STR_AUTHENTICATION_WANTED
=> ' CAS!',
CAS_STR_LOGOUT
=> ' CAS!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> ' CAS. <a href="%s"></a> .',
CAS_STR_AUTHENTICATION_FAILED
=> ' CAS !',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p> .</p><p> , <a href="%s"></a>.</p><p> , <a href="mailto:%s"></a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> ' `<b>%s</b>\' (<b>%s</b>).'
);
?>
+27
View File
@@ -0,0 +1,27 @@
<?php
/**
* @file languages/japanese.php
* @author fnorif (fnorif@yahoo.co.jp)
*
* Now Encoding is EUC-JP and LF
**/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CASˤǧڤԤޤ',
CAS_STR_LOGOUT
=> 'CAS?Ȥޤ!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'CASФ˹ԤɬפޤưŪžʤ <a href="%s"></a> 򥯥å³Ԥޤ',
CAS_STR_AUTHENTICATION_FAILED
=> 'CASˤǧڤ˼Ԥޤ',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>ǧڤǤޤǤ.</p><p>٥ꥯȤ<a href="%s"></a>򥯥å.</p><p>ʤ <a href="mailto:%s">ΥȤδ</a>Ƥ.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'ӥ `<b>%s</b>\' ѤǤޤ (<b>%s</b>).'
);
?>
@@ -1,70 +1,24 @@
<?php
/**
* @file languages/languages.php
* Internationalization constants
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
//@{
/**
* a phpCAS string index
*/
define("CAS_STR_USING_SERVER", 1);
define("CAS_STR_AUTHENTICATION_WANTED", 2);
define("CAS_STR_LOGOUT", 3);
define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
define("CAS_STR_AUTHENTICATION_FAILED", 5);
define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
define("CAS_STR_SERVICE_UNAVAILABLE", 7);
//@}
<?php
/**
* @file languages/languages.php
* Internationalization constants
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
//@{
/**
* a phpCAS string index
*/
define("CAS_STR_USING_SERVER", 1);
define("CAS_STR_AUTHENTICATION_WANTED", 2);
define("CAS_STR_LOGOUT", 3);
define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
define("CAS_STR_AUTHENTICATION_FAILED", 5);
define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
define("CAS_STR_SERVICE_UNAVAILABLE", 7);
//@}
?>
+27
View File
@@ -0,0 +1,27 @@
<?php
/**
* @file languages/spanish.php
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'usando servidor',
CAS_STR_AUTHENTICATION_WANTED
=> '¡Autentificación CAS necesaria!',
CAS_STR_LOGOUT
=> '¡Salida CAS necesaria!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
CAS_STR_AUTHENTICATION_FAILED
=> '¡Autentificación CAS fallida!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
);
?>
-568
View File
@@ -1,568 +0,0 @@
<?php
/**
* @file CAS/PGTStorage/pgt-db.php
* Basic class for PGT database storage
*/
// include phpDB library (the test was introduced in release 0.4.8 for
// the integration into Tikiwiki).
if (!class_exists('DB')) {
@include_once('DB.php');
}
/**
* @class PGTStorageDB
* The PGTStorageDB class is a class for PGT database storage. An instance of
* this class is returned by CASClient::SetPGTStorageDB().
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorageDB
*/
class PGTStorageDB extends PGTStorage
{
/**
* @addtogroup internalPGTStorageDB
* @{
*/
/**
* a string representing a PEAR DB URL to connect to the database. Written by
* PGTStorageDB::PGTStorageDB(), read by getURL().
*
* @hideinitializer
* @private
*/
var $_url='';
/**
* This method returns the PEAR DB URL to use to connect to the database.
*
* @return a PEAR DB URL
*
* @private
*/
function getURL()
{
return $this->_url;
}
/**
* The handle of the connection to the database where PGT's are stored. Written by
* PGTStorageDB::init(), read by getLink().
*
* @hideinitializer
* @private
*/
var $_link = null;
/**
* This method returns the handle of the connection to the database where PGT's are
* stored.
*
* @return a handle of connection.
*
* @private
*/
function getLink()
{
return $this->_link;
}
/**
* The name of the table where PGT's are stored. Written by
* PGTStorageDB::PGTStorageDB(), read by getTable().
*
* @hideinitializer
* @private
*/
var $_table = '';
/**
* This method returns the name of the table where PGT's are stored.
*
* @return the name of a table.
*
* @private
*/
function getTable()
{
return $this->_table;
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageType()
{
return "database";
}
/**
* This method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @public
*/
function getStorageInfo()
{
return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
}
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The class constructor, called by CASClient::SetPGTStorageDB().
*
* @param $cas_parent the CASClient instance that creates the object.
* @param $user the user to access the data with
* @param $password the user's password
* @param $database_type the type of the database hosting the data
* @param $hostname the server hosting the database
* @param $port the port the server is listening on
* @param $database the name of the database
* @param $table the name of the table storing the data
*
* @public
*/
function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
{
phpCAS::traceBegin();
// call the ancestor's constructor
$this->PGTStorage($cas_parent);
if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
// build and store the PEAR DB URL
$this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
// XXX should use setURL and setTable
phpCAS::traceEnd();
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* This method is used to initialize the storage. Halts on error.
*
* @public
*/
function init()
{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
parent::init();
// try to connect to the database
$this->_link = DB::connect($this->getURL());
if ( DB::isError($this->_link) ) {
phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
}
var_dump($this->_link);
phpCAS::traceBEnd();
}
/** @} */
}
?>
File diff suppressed because it is too large Load Diff
-79
View File
@@ -1,79 +0,0 @@
<?php
/**
* @file languages/greek.php
* @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> '÷ñçóéìïðïéåßôáé ï åîõðçñåôçôÞò',
CAS_STR_AUTHENTICATION_WANTED
=> 'Áðáéôåßôáé ç ôáõôïðïßçóç CAS!',
CAS_STR_LOGOUT
=> 'Áðáéôåßôáé ç áðïóýíäåóç áðü CAS!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Èá Ýðñåðå íá åß÷áôå áíáêáôåõèõíèåß óôïí åîõðçñåôçôÞ CAS. ÊÜíôå êëßê <a href="%s">åäþ</a> ãéá íá óõíå÷ßóåôå.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Ç ôáõôïðïßçóç CAS áðÝôõ÷å!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Äåí ôáõôïðïéçèÞêáôå.</p><p>Ìðïñåßôå íá îáíáðñïóðáèÞóåôå, êÜíïíôáò êëßê <a href="%s">åäþ</a>.</p><p>Åáí ôï ðñüâëçìá åðéìåßíåé, åëÜôå óå åðáöÞ ìå ôïí <a href="mailto:%s">äéá÷åéñéóôÞ</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Ç õðçñåóßá `<b>%s</b>\' äåí åßíáé äéáèÝóéìç (<b>%s</b>).'
);
?>
-53
View File
@@ -1,53 +0,0 @@
<?php
/**
* @file languages/japanese.php
* @author fnorif (fnorif@yahoo.co.jp)
*
* Now Encoding is EUC-JP and LF
**/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CASによる認証を行います',
CAS_STR_LOGOUT
=> 'CASからログアウトします!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'CASサーバに行く必要があります。自動的に転送されない場合は <a href="%s">こちら</a> をクリックして続行します。',
CAS_STR_AUTHENTICATION_FAILED
=> 'CASによる認証に失敗しました',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>認証できませんでした.</p><p>もう一度リクエストを送信する場合は<a href="%s">こちら</a>をクリック.</p><p>問題が解決しない場合は <a href="mailto:%s">このサイトの管理者</a>に問い合わせてください.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'サービス `<b>%s</b>\' は利用できません (<b>%s</b>).'
);
?>
+36 -9
View File
@@ -60,6 +60,11 @@ class auth_plugin_cas extends auth_plugin_base {
$this->connectCAS();
return phpCAS::isAuthenticated() && (trim(moodle_strtolower(phpCAS::getUser())) == $username);
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
@@ -92,8 +97,10 @@ class auth_plugin_cas extends auth_plugin_base {
$username = optional_param("username");
if (!empty($username)) {
if (strstr($SESSION->wantsurl,'ticket') || strstr($SESSION->wantsurl,'NOCAS'))
unset($SESSION->wantsurl);
if (isset($SESSION->wantsurl) && (strstr($SESSION->wantsurl, 'ticket') ||
strstr($SESSION->wantsurl, 'NOCAS'))) {
unset($SESSION->wantsurl);
}
return;
}
@@ -107,6 +114,9 @@ class auth_plugin_cas extends auth_plugin_base {
// Connection to CAS server
$this->connectCAS();
// Don't try to validate the server SSL credentials
phpCAS::setNoCasServerValidation();
// Gestion de la connection CAS si accs direct d'un ent ou autre
if (phpCAS::checkAuthentication()) {
$frm->username=phpCAS::getUser();
@@ -116,7 +126,7 @@ class auth_plugin_cas extends auth_plugin_base {
return;
}
if ($_GET["loginguest"]== true) {
if (isset($_GET["loginguest"]) && ($_GET["loginguest"]== true)) {
$frm->username="guest";
$frm->password="guest";
return;
@@ -156,7 +166,7 @@ class auth_plugin_cas extends auth_plugin_base {
if ($this->config->logoutcas ) {
$backurl = $CFG->wwwroot;
$this->connectCAS();
phpCAS::logout($backurl);
phpCAS::logoutWithURL($backurl);
}
}
/**
@@ -170,12 +180,13 @@ class auth_plugin_cas extends auth_plugin_base {
global $PHPCAS_CLIENT;
// mode proxy CAS
if ( !is_object($PHPCAS_CLIENT) ) {
// Make sure phpCAS doesn't try to start a new PHP session when connecting to the CAS server.
if ($this->config->proxycas) {
phpCAS::proxy($this->config->casversion, $this-> config->hostname, (int) $this->config->port, $this->config->baseuri);
phpCAS::proxy($this->config->casversion, $this-> config->hostname, (int) $this->config->port, $this->config->baseuri, false);
}
// mode client CAS
else {
phpCAS::client($this->config->casversion, $this-> config->hostname, (int) $this->config->port, $this->config->baseuri);
phpCAS::client($this->config->casversion, $this-> config->hostname, (int) $this->config->port, $this->config->baseuri, false);
}
}
@@ -359,6 +370,13 @@ if ( !is_object($PHPCAS_CLIENT) ) {
* @return mixed array with no magic quotes or false on error
*/
function get_userinfo($username) {
// No LDAP servers configured, so user info has to be provided
// via other methods (CSV file, manually, etc.). Return empty
// array so existing user info is not lost.
if (empty($this->config->host_url)) {
return array();
}
$textlib = textlib_get_instance();
$extusername = $textlib->convert(stripslashes($username), 'utf-8', $this->config->ldapencoding);
$ldapconnection = $this->ldap_connect();
@@ -470,6 +488,9 @@ if ( !is_object($PHPCAS_CLIENT) ) {
if (!empty($this->config->version)) {
ldap_set_option($connresult, LDAP_OPT_PROTOCOL_VERSION, $this->config->version);
}
if ($this->config->user_type == 'ad') {
ldap_set_option($connresult, LDAP_OPT_REFERRALS, 0);
}
if (!empty($binddn)) {
//bind with search-user
//$debuginfo .= 'Using bind user'.$binddn.'and password:'.$bindpwd;
@@ -613,6 +634,12 @@ if ( !is_object($PHPCAS_CLIENT) ) {
*/
function sync_users ($bulk_insert_records = 1000, $do_updates = true) {
global $CFG;
if(empty($this->config->host_url)) {
echo "No LDAP server configured for CAS! Syncing disabled.\n";
return;
}
$textlib = textlib_get_instance();
$droptablesql = array(); /// sql commands to drop the table (because session scope could be a problem for
/// some persistent drivers like ODBTP (mssql) or if this function is invoked
@@ -768,9 +795,9 @@ if ( !is_object($PHPCAS_CLIENT) ) {
$updateuser->id = $user->id;
$updateuser->auth = 'cas';
if (update_record('user', $updateuser)) {
echo "\t"; print_string('auth_dbreviveser', 'auth', array($user->username, $user->id)); echo "\n";
echo "\t"; print_string('auth_dbreviveduser', 'auth', array($user->username, $user->id)); echo "\n";
} else {
echo "\t"; print_string('auth_dbreviveusererror', 'auth', $user->username); echo "\n";
echo "\t"; print_string('auth_dbrevivedusererror', 'auth', $user->username); echo "\n";
}
}
commit_sql();
@@ -961,7 +988,7 @@ if ( !is_object($PHPCAS_CLIENT) ) {
* @return boolean result
*/
function iscreator($username) {
if ((empty($this->config->attrcreators) && empty($this->config->groupecreators)) or empty($this->config->memberattribute)) {
if (empty($this->config->host_url) or (empty($this->config->attrcreators) && empty($this->config->groupecreators)) or empty($this->config->memberattribute)) {
return null;
}
$textlib = textlib_get_instance();
+1 -1
View File
@@ -602,7 +602,7 @@ if (!function_exists('ldap_connect')) { // Is php4-ldap really there?
$opt_deref[LDAP_DEREF_ALWAYS] = get_string('yes');
choose_from_menu($opt_deref, 'opt_deref', $config->opt_deref, LDAP_DEREF_NEVER, '');
choose_from_menu($opt_deref, 'opt_deref', $config->opt_deref, '');
if (isset($err['opt_deref'])) formerr($err['opt_deref']);
+10 -3
View File
@@ -61,7 +61,7 @@ class auth_plugin_db extends auth_plugin_base {
WHERE {$this->config->fielduser} = '".$this->ext_addslashes($extusername)."' ");
if (!$rs) {
$authdb->Close();
print_error('auth_dbcantconnect','auth');
debugging(get_string('auth_dbcantconnect','auth'));
return false;
}
@@ -94,7 +94,7 @@ class auth_plugin_db extends auth_plugin_base {
AND {$this->config->fieldpass} = '".$this->ext_addslashes($extpassword)."' ");
if (!$rs) {
$authdb->Close();
print_error('auth_dbcantconnect','auth');
debugging(get_string('auth_dbcantconnect','auth'));
return false;
}
@@ -364,7 +364,7 @@ class auth_plugin_db extends auth_plugin_base {
if ($old_user = get_record('user', 'username', $user->username, 'deleted', 1, 'mnethostid', $user->mnethostid)) {
$user->id = $old_user->id;
set_field('user', 'deleted', 0, 'username', $user->username);
echo "\t"; print_string('auth_dbreviveuser', 'auth', array(stripslashes($user->username), $user->id)); echo "\n";
echo "\t"; print_string('auth_dbreviveduser', 'auth', array(stripslashes($user->username), $user->id)); echo "\n";
} elseif ($id = insert_record ('user',$user)) { // it is truly a new user
echo "\t"; print_string('auth_dbinsertuser','auth',array(stripslashes($user->username), $id)); echo "\n";
// if relevant, tag for password generation
@@ -564,6 +564,13 @@ class auth_plugin_db extends auth_plugin_base {
}
}
function prevent_local_passwords() {
if (!isset($this->config->passtype)) {
return false;
}
return ($this->config->passtype != 'internal');
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -146,6 +146,10 @@ class auth_plugin_email extends auth_plugin_base {
}
}
function prevent_local_passwords() {
return false;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -144,6 +144,10 @@ class auth_plugin_fc extends auth_plugin_base {
return false;
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+4
View File
@@ -81,6 +81,10 @@ class auth_plugin_imap extends auth_plugin_base {
return false; // No match
}
function prevent_local_passwords() {
return true;
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+12 -7
View File
@@ -723,9 +723,9 @@ class auth_plugin_ldap extends auth_plugin_base {
$updateuser->id = $user->id;
$updateuser->auth = 'ldap';
if (update_record('user', $updateuser)) {
echo "\t"; print_string('auth_dbreviveser', 'auth', array($user->username, $user->id)); echo "\n";
echo "\t"; print_string('auth_dbreviveduser', 'auth', array($user->username, $user->id)); echo "\n";
} else {
echo "\t"; print_string('auth_dbreviveusererror', 'auth', $user->username); echo "\n";
echo "\t"; print_string('auth_dbrevivedusererror', 'auth', $user->username); echo "\n";
}
}
commit_sql();
@@ -853,14 +853,15 @@ class auth_plugin_ldap extends auth_plugin_base {
if (!empty($this->config->forcechangepassword)) {
set_user_preference('auth_forcepasswordchange', 1, $userobj->id);
}
// add course creators if needed
if ($creatorrole !== false and $this->iscreator(stripslashes($user->username))) {
role_assign($creatorrole->id, $id, 0, $sitecontext->id, 0, 0, 0, 'ldap');
}
} else {
echo "\t"; print_string('auth_dbinsertusererror', 'auth', $user->username); echo "\n";
}
// add course creators if needed
if ($creatorrole !== false and $this->iscreator(stripslashes($user->username))) {
role_assign($creatorrole->id, $user->id, 0, $sitecontext->id, 0, 0, 0, 'ldap');
}
}
commit_sql();
unset($add_users); // free mem
@@ -1534,7 +1535,7 @@ class auth_plugin_ldap extends auth_plugin_base {
// check cheaply if the user's DN sits in a subtree
// of the "group" DN provided. Granted, this isn't
// a proper LDAP group, but it's a popular usage.
if (strpos(strrev($memberuser), strrev($group))===0) {
if (strpos(strrev(strtolower($memberuser)), strrev(strtolower($group)))===0) {
$result = true;
break;
}
@@ -1803,6 +1804,10 @@ class auth_plugin_ldap extends auth_plugin_base {
return ($fresult);
}
function prevent_local_passwords() {
return !empty($this->config->preventpassindb);
}
/**
* Returns true if this authentication plugin is 'internal'.
*
+2 -2
View File
@@ -16,7 +16,7 @@
if (!isset($config->opt_deref))
{ $config->opt_deref = LDAP_DEREF_NEVER; }
if (!isset($config->preventpassindb))
{ $config->preventpassindb = 0; }
{ $config->preventpassindb = 1; }
if (!isset($config->bind_dn))
{$config->bind_dn = ''; }
if (!isset($config->bind_pw))
@@ -199,7 +199,7 @@ if (!function_exists('ldap_connect')) { // Is php4-ldap really there?
$opt_deref = array();
$opt_deref[LDAP_DEREF_NEVER] = get_string('no');
$opt_deref[LDAP_DEREF_ALWAYS] = get_string('yes');
choose_from_menu($opt_deref, 'opt_deref', $config->opt_deref, LDAP_DEREF_NEVER, '');
choose_from_menu($opt_deref, 'opt_deref', $config->opt_deref, '');
if (isset($err['opt_deref'])) formerr($err['opt_deref']);
?>
</td>
+4
View File
@@ -62,6 +62,10 @@ class auth_plugin_manual extends auth_plugin_base {
return update_internal_user_password($user, $newpassword);
}
function prevent_local_passwords() {
return false;
}
/**
* Returns true if this authentication plugin is 'internal'.
*

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