Compare commits

...

74 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 07728bfaee Moodle release 1.9.14 2011-10-09 00:56:48 +02:00
Eloy Lafuente (stronk7) e9e2def9b0 weekly release 1.9.13+ 2011-10-07 00:13:18 +02:00
Sam Hemelryk ed999df32a Merge branch 'wip-MDL-25454-MOODLE_19_STABLE' of git://github.com/marinaglancy/moodle into MOODLE_19_STABLE 2011-10-03 14:23:16 +13:00
Glenn Ansley 970cc1c968 MDL-28428 quiz: Prefer getElementById for IE9 fix 2011-10-03 13:51:17 +13:00
Marina Glancy 2f81316ad1 MDL-25454: using the faster way to check if record exists in db 2011-09-29 17:12:24 +08:00
Marina Glancy b7df65036f MDL-25454 before skipping course backup make sure that there are no change entries in it's log during the last month 2011-09-29 10:01:20 +08:00
Eloy Lafuente (stronk7) 050504c371 weekly release 1.9.13+ 2011-09-28 11:09:43 +02:00
Tim Hunt 71712c9424 MDL-29462 html_to_text('0') gives '', not '0'.
Conflicts:

	lib/simpletest/testweblib.php
2011-09-21 16:38:35 +01:00
Eloy Lafuente (stronk7) d04b36808d weekly release 1.9.13+ 2011-09-21 17:13:18 +02:00
Andrew Davis (andyjdavis) 97f258fabb MDL-29311 messaging: added a safety check to prevent message refreshing causing inadvertant DOS 2011-09-19 13:45:10 +08:00
Sam Hemelryk 5f4d14ebbe Merge branch 'MDL-29212_19' of git://github.com/timhunt/moodle into MOODLE_19_STABLE 2011-09-19 13:22:07 +12:00
Charles Fulton 77848edc26 MDL-18952: move uploaded file into dataroot before attempting to read it 2011-09-16 09:49:44 -07:00
Eloy Lafuente (stronk7) 400d887474 weekly release 1.9.13+ 2011-09-16 01:41:43 +02:00
Glenn Ansley 4021470fd3 MDL-29212 RCount incorrect in Quiz Analysis Report when correct answer is 0 2011-09-14 20:57:48 +01:00
Eloy Lafuente (stronk7) b4d495892d Merge branch 'w36_MDL-29033_m19_magicquotes' of git://github.com/skodak/moodle into MOODLE_19_STABLE 2011-09-13 21:57:20 +02:00
Aparup Banerjee b503008c6a MDL-26257 Authentication : whitespace/style fixes 2011-09-13 19:30:34 +08:00
Petr Skoda 040bd939b2 MDL-29033 add tests for the sql injection hack 2011-09-09 16:29:09 +02:00
Petr Skoda bf0ddcb332 MDL-29033 dirty magic quotes hack 2011-09-09 16:18:08 +02:00
Henning Bostelmann 1b2a3392d9 MDL-26257 Shibboleth auth: run logout handler only if logged in via Shibboleth 2011-09-08 11:59:50 +01:00
Eloy Lafuente (stronk7) 9c105fc680 weekly release 1.9.13+ 2011-09-07 17:52:33 +02:00
Eloy Lafuente (stronk7) 09ece44093 weekly release 1.9.13+ 2011-08-31 01:35:14 +02:00
Eloy Lafuente (stronk7) 05dbe4dcb0 MDL-28537 DB whitespace clean, just for testing some CI stuff is working ok 2011-08-29 13:43:56 +02:00
Eloy Lafuente (stronk7) 78e1682d36 Merge branch 'wip-MDL-28537-m19' of git://github.com/samhemelryk/moodle into MOODLE_19_STABLE 2011-08-29 13:36:12 +02:00
Eloy Lafuente (stronk7) 7c460e50c5 Merge branch 'wip-MDL-28722-m19' of git://github.com/samhemelryk/moodle into MOODLE_19_STABLE 2011-08-29 12:49:27 +02:00
Sam Hemelryk 7a8115a92c MDL-28537 DB Fixed up use of the TYPE option when creating MySQL tables, now uses ENGINE for bc and future support 2011-08-29 19:19:28 +12:00
Eloy Lafuente (stronk7) 151543d0b6 Merge branch 'MDL-28079_cron_rs' of git://github.com/andyjdavis/moodle into MOODLE_19_STABLE 2011-08-29 02:12:37 +02:00
David Mudrak 0dd51bbdbd MDL-29148 MNet - improved handling of a verification function return code 2011-08-29 01:47:45 +02:00
Sam Hemelryk b094ce466b Merge branch 'MDL-13331_m19' of git://github.com/nebgor/moodle into MOODLE_19_STABLE 2011-08-29 11:24:26 +12:00
Eloy Lafuente (stronk7) 4ae7426d09 weekly release 1.9.13+ 2011-08-26 15:08:04 +02:00
Sam Hemelryk 4a2acd8c7e MDL-28722 course Fixed typo and variable use when editing a section 2011-08-26 12:48:18 +12:00
Aparup Banerjee 0693cb2220 MDL-16950 Search : added mysqli_real_escape_string call when using mysqli 2011-08-25 17:53:12 +08:00
Eloy Lafuente (stronk7) 724d76c765 Merge branch 'm19_MDL-4561' of git://github.com/danmarsden/moodle into MOODLE_19_STABLE 2011-08-24 03:33:26 +02:00
Eloy Lafuente (stronk7) 4c8c9ef9a0 Merge branch 'w33_MDL-28932_m19_php5' of git://github.com/skodak/moodle into MOODLE_19_STABLE 2011-08-24 01:35:36 +02:00
Aparup Banerjee d87ea7704d Merge branch 'MDL-28723-plugin-tables_19_STABLE' of git://github.com/mudrd8mz/moodle into MOODLE_19_STABLE 2011-08-24 01:16:23 +08:00
Eloy Lafuente (stronk7) e832010c51 MDL-28690 metacourses - add some more alias prefixes to be 100% in the safe side 2011-08-23 17:56:49 +02:00
Eloy Lafuente (stronk7) 615702a5c1 Merge branch 'MDL-28690_metacourse_automatic_unenrolment' of git://github.com/davosmith/moodle into MOODLE_19_STABLE 2011-08-23 17:55:01 +02:00
Eloy Lafuente (stronk7) eee432c616 Merge branch 'wip-mdl-29001-m19' of git://github.com/rajeshtaneja/moodle into MOODLE_19_STABLE 2011-08-23 02:31:08 +02:00
Andrew Davis (andyjdavis) 14fabc127a MDL-28079 cron: added a safety check around a record set in cron 2011-08-22 11:52:54 +08:00
Petr Skoda 93b06d08b4 MDL-28932 remove type hinting which is not compatible with PHP 4 2011-08-21 18:59:50 +02:00
Petr Skoda 188280a76f MDL-27248 remove forgotten unique sortorder index from the course table 2011-08-21 17:35:46 +02:00
Rajesh Taneja 903441b159 MDL-29001 unit tests: removed timezone test fixtures dependent on 'Australia/Perth' 2011-08-19 14:38:39 +08:00
Dan Marsden 38eaf9f365 MDL-4561 allow guests to access metacourses with an enrolment key. 2011-08-19 11:54:01 +12:00
Eloy Lafuente (stronk7) 07950882c6 weekly release 1.9.13+ 2011-08-18 02:44:04 +02:00
Eloy Lafuente (stronk7) c02352a5c4 Revert "MDL-25757 SCORM fix issue with duplicate cmi values being saved"
This reverts commit ba41c237a4.
2011-08-17 02:30:03 +02:00
Eloy Lafuente (stronk7) 34b082a296 Merge branch 'MDL-18012' of git://git.luns.net.uk/moodle into MOODLE_19_STABLE 2011-08-16 16:22:38 +02:00
Eloy Lafuente (stronk7) 443b5044a5 Merge branch 'MDL-24887' of git://git.luns.net.uk/moodle into MOODLE_19_STABLE 2011-08-16 14:36:06 +02:00
David Mudrak 1824a69d7a MDL-28723 Make sure that the arrays used by print_plugin_tables() are correctly initialized
This covers a very rare and unexpected case when no mods or no blocks
are installed. Credit goes to Aparup Banerjee for spotting this.
2011-08-16 14:11:02 +02:00
Eloy Lafuente (stronk7) 2a44c5192c Merge branch 'MDL-23872_m19' of git://github.com/nebgor/moodle into MOODLE_19_STABLE 2011-08-16 11:52:32 +02:00
Eloy Lafuente (stronk7) bfe5eed065 Merge branch 'MDL-28931_m19' of git://github.com/stronk7/moodle into MOODLE_19_STABLE 2011-08-16 03:06:47 +02:00
Eloy Lafuente (stronk7) 2c33a00afb Merge branch 'm19_MDL-25757' of git://github.com/danmarsden/moodle into MOODLE_19_STABLE 2011-08-16 00:39:59 +02:00
Tim Hunt 3367853670 MDL-28639 question import should set timemodified and modified by.
Thanks to Jean-Michel Vedrine for the fix.
2011-08-15 14:58:47 +01:00
Eloy Lafuente (stronk7) 9ea4a1c8f5 MDL-28931 timezone - update to 2011h (2200 rules) 2011-08-14 18:06:55 +02:00
Dan Marsden ba41c237a4 MDL-25757 SCORM fix issue with duplicate cmi values being saved 2011-08-13 13:26:54 +12:00
Davo Smith f802bf65a1 MDL-28690 Do not automatically unenrol users from meta courses after ->longtimenosee days as this can lead to multiple 'welcome' messages 2011-08-12 11:28:58 +01:00
Eloy Lafuente (stronk7) 1287d5ed97 weekly release 1.9.13+ 2011-08-12 00:21:16 +02:00
Daren Chandisingh 1ee988357f MDL-23872 Forms Library : Updated MoodleQuickForm to honour setConstant(), prevents injection.
- resolved conflict
2011-08-10 15:33:56 +08:00
Sam Hemelryk 4a7fee7be0 Merge branch 'MDL-20501_m19' of git://github.com/rwijaya/moodle into MOODLE_19_STABLE 2011-08-10 14:10:58 +08:00
Sam Hemelryk bf6c05f449 Merge branch 'MDL-27174_MOODLE_19_STABLE' of git://github.com/nebgor/moodle into MOODLE_19_STABLE 2011-08-10 13:27:48 +08:00
Eloy Lafuente (stronk7) 9038daab26 Merge branch 'w31_MDL-27597_m19_catlike' of git://github.com/skodak/moodle into MOODLE_19_STABLE 2011-08-10 02:38:04 +02:00
Aparup Banerjee cccaf2648a MDL-28565 General - updated lang files License link to docs.moodle.org/dev/License 2011-08-09 18:22:53 +08:00
Aparup Banerjee 5e64c36b8a MDL-28565 General - updated License and Credits links
to docs.moodle.org/dev/License and docs.moodle.org/dev/Credits
2011-08-09 18:18:36 +08:00
Petr Skoda 3adf4006a7 MDL-27597 fix invalid results of get_categories when shallow is false 2011-08-05 20:20:21 +02:00
Dan Poltawski 1d2d89aa60 MDL-18012 - roles/assign - Use more precise language string 2011-08-03 23:40:33 +01:00
Petr Skoda 51793f4a89 weekly release 1.9.13+ 2011-08-03 17:57:05 +02:00
Dan Poltawski 9955ec862e MDL-24887 - rss block - feed validator link fails with ampersands 2011-08-03 14:53:11 +01:00
Sam Hemelryk 6ea9d495b8 Merge branch 'MDL-28508_19' of git://github.com/timhunt/moodle into MOODLE_19_STABLE 2011-08-02 17:39:44 +08:00
Aparup Banerjee 5cece750f5 MDL-27174 Backup Assignment - fixed fatal missing assignmenttype error during backup. Credit: Chris Follin 2011-08-02 14:27:43 +08:00
Sam Hemelryk 2d58b91a9c Merge branch 'MDL-28209_MOODLE_19_STABLE' of github.com:nebgor/moodle into MOODLE_19_STABLE 2011-08-02 11:06:57 +08:00
Petr Skoda b3b781f9fc Merge branch 'MDL-28199_m19' of git://github.com/rwijaya/moodle into MOODLE_19_STABLE 2011-08-01 13:16:00 +02:00
Rossiani Wijaya 5c53773caf MDL-20501 Survey module: fix text alignment for right to left language 2011-08-01 16:58:34 +08:00
Rossiani Wijaya 133d528c67 MDL-28199 Lesson mod: fixed lesson answer alignment 2011-08-01 11:45:27 +08:00
Tim Hunt 4d0a6fec12 MDL-28508 bad string trunction in Aiken format. 2011-07-28 12:23:44 +01:00
Aparup Banerjee c50253c834 MDL-28209 updated Copyright notice to point to docs.moodle.org/dev/Releases for release notes. 2011-07-25 14:44:55 +08:00
Aparup Banerjee 1384c7e685 MDL-28209 General - following up on MDL-28135, modified links to point to 1.9 version of docs
- development links pointed under /dev.
2011-07-25 14:42:27 +08:00
70 changed files with 1471 additions and 1371 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ a few minutes:
For more information, see the INSTALL DOCUMENTATION:
http://docs.moodle.org/en/Installing_Moodle
http://docs.moodle.org/19/en/Installing_Moodle
A local copy can also be found in
+22 -20
View File
@@ -241,10 +241,13 @@
if ($CFG->longtimenosee) { // value in days
$cuttime = $timenow - ($CFG->longtimenosee * 3600 * 24);
$rs = get_recordset_sql ("SELECT id, userid, courseid
FROM {$CFG->prefix}user_lastaccess
WHERE courseid != ".SITEID."
AND timeaccess < $cuttime ");
$rs = get_recordset_sql ("SELECT la.id, la.userid, la.courseid
FROM {$CFG->prefix}user_lastaccess la
JOIN {$CFG->prefix}course c
ON c.id = la.courseid
WHERE la.courseid != ".SITEID."
AND la.timeaccess < $cuttime
AND c.metacourse = 0 ");
while ($assign = rs_fetch_next_record($rs)) {
if ($context = get_context_instance(CONTEXT_COURSE, $assign->courseid)) {
if (role_unassign(0, $assign->userid, 0, $context->id)) {
@@ -348,25 +351,24 @@
mtrace('checking for create_password');
if (count_records('user_preferences', 'name', 'create_password', 'value', '1')) {
mtrace('creating passwords for new users');
$newusers = get_records_sql("SELECT u.id as id, u.email, u.firstname,
u.lastname, u.username,
p.id as prefid
FROM {$CFG->prefix}user u
JOIN {$CFG->prefix}user_preferences p ON u.id=p.userid
WHERE p.name='create_password' AND p.value='1' AND u.email !='' ");
foreach ($newusers as $newuserid => $newuser) {
$newuser->emailstop = 0; // send email regardless
// email user
if (setnew_password_and_mail($newuser)) {
// remove user pref
delete_records('user_preferences', 'id', $newuser->prefid);
} else {
trigger_error("Could not create and mail new user password!");
$newuserssql = "SELECT u.id as id, u.email, u.firstname, u.lastname, u.username, p.id as prefid
FROM {$CFG->prefix}user u
JOIN {$CFG->prefix}user_preferences p ON u.id=p.userid
WHERE p.name='create_password' AND p.value='1' AND u.email !='' ";
if ($newusers = get_records_sql($newuserssql)) {
foreach ($newusers as $newuserid => $newuser) {
$newuser->emailstop = 0; // send email regardless
// email user
if (setnew_password_and_mail($newuser)) {
// remove user pref
delete_records('user_preferences', 'id', $newuser->prefid);
} else {
trigger_error("Could not create and mail new user password!");
}
}
}
}
if (!empty($CFG->usetags)) {
require_once($CFG->dirroot.'/tag/lib.php');
tag_cron();
+7 -7
View File
@@ -47,7 +47,7 @@
/// Check some PHP server settings
$documentationlink = '<a href="http://docs.moodle.org/en/Installation">Installation docs</a>';
$documentationlink = '<a href="http://docs.moodle.org/19/en/Installation">Installation docs</a>';
if (ini_get_bool('session.auto_start')) {
error("The PHP server variable 'session.auto_start' should be Off - $documentationlink");
@@ -143,7 +143,7 @@
print_box(text_to_html(get_string('gpl')), 'copyrightnotice');
echo "<br />";
notice_yesno(get_string('doyouagree'), "index.php?agreelicense=1",
"http://docs.moodle.org/en/License");
"http://docs.moodle.org/dev/License");
print_footer('none');
exit;
}
@@ -152,7 +152,7 @@
$navigation = build_navigation(array(array('name'=>$strcurrentrelease, 'link'=>null, 'type'=>'misc')));
print_header($strcurrentrelease, $strcurrentrelease, $navigation, "", "", false, "&nbsp;", "&nbsp;");
print_heading("Moodle $release");
print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'), 'generalbox boxaligncenter boxwidthwide');
print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/19/en/Release_Notes'), 'generalbox boxaligncenter boxwidthwide');
echo '<form action="index.php"><div>';
echo '<input type="hidden" name="agreelicense" value="1" />';
echo '<input type="hidden" name="confirmrelease" value="1" />';
@@ -286,7 +286,7 @@
$navigation = build_navigation(array(array('name'=>$strcurrentrelease, 'link'=>null, 'type'=>'misc')));
print_header($strcurrentrelease, $strcurrentrelease, $navigation, "", "", false, "&nbsp;", "&nbsp;");
print_heading("Moodle $release");
print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/en/Release_Notes'));
print_box(get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/19/en/Release_Notes'));
require_once($CFG->libdir.'/environmentlib.php');
print_heading(get_string('environment', 'admin'));
@@ -687,10 +687,10 @@
//////////////////////////////////////////////////////////////////////////////////////////////////
//// IT IS ILLEGAL AND A VIOLATION OF THE GPL TO HIDE, REMOVE OR MODIFY THIS COPYRIGHT NOTICE ///
$copyrighttext = '<a href="http://moodle.org/">Moodle</a> '.
'<a href="http://docs.moodle.org/en/Release" title="'.$CFG->version.'">'.$CFG->release.'</a><br />'.
'<a href="http://docs.moodle.org/dev/Releases" title="'.$CFG->version.'">'.$CFG->release.'</a><br />'.
'Copyright &copy; 1999 onwards, Martin Dougiamas<br />'.
'and <a href="http://docs.moodle.org/en/Credits">many other contributors</a>.<br />'.
'<a href="http://docs.moodle.org/en/License">GNU Public License</a>';
'and <a href="http://docs.moodle.org/dev/Credits">many other contributors</a>.<br />'.
'<a href="http://docs.moodle.org/dev/License">GNU Public License</a>';
print_box($copyrighttext, 'copyright');
//////////////////////////////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -72,7 +72,7 @@
$straction = get_string('assignroles', 'role');
$strroletoassign = get_string('roletoassign', 'role');
$strsearch = get_string('search');
$strshowall = get_string('showall');
$strshowall = get_string('showallusers');
$strparticipants = get_string('participants');
$strsearchresults = get_string('searchresults');
+2 -2
View File
@@ -2,7 +2,7 @@ XMLDB - Base classes and edition interface.
Complete Documentation:
http://docs.moodle.org/en/XMLDB_Defining_one_XML_structure
http://docs.moodle.org/19/en/XMLDB_Defining_one_XML_structure
Ciao, Eloy Lafuente (stronk7)
@@ -70,7 +70,7 @@ Once the XMLDB format was approved, we'll be able to build all the
for each RDBMS flavour.
Once the interface was finished (2-3 days from now) related documentation
will be sent to http://docs.moodle.org/en/XML_database_schema in order
will be sent to http://docs.moodle.org/19/en/XML_database_schema in order
to comment/modify/approve the final XML format.
All the code is, obviously GPL, with its copyrights and so on...
@@ -25,8 +25,8 @@
///////////////////////////////////////////////////////////////////////////
/// This class will show all the reserved words in a format suitable to
/// be pasted to: http://docs.moodle.org/en/XMLDB_reserved_words and
/// http://docs.moodle.org/en/Database_reserved_words
/// be pasted to: http://docs.moodle.org/19/en/XMLDB_reserved_words and
/// http://docs.moodle.org/19/en/Database_reserved_words
/// Also, it introspects te DB looking for such words and informing about
class view_reserved_words extends XMLDBAction {
+1 -1
View File
@@ -675,7 +675,7 @@ if ( !is_object($PHPCAS_CLIENT) ) {
$droptablesql[] = 'DROP TEMPORARY TABLE ' . $temptable; // sql command to drop the table (because session scope could be a problem)
execute_sql_arr($droptablesql, true, false); /// Drop temp table to avoid persistence problems later
echo "Creating temp table $temptable\n";
execute_sql('CREATE TEMPORARY TABLE ' . $temptable . ' (username VARCHAR(64), PRIMARY KEY (username)) TYPE=MyISAM', false);
execute_sql('CREATE TEMPORARY TABLE ' . $temptable . ' (username VARCHAR(64), PRIMARY KEY (username)) ENGINE=MyISAM', false);
break;
case 'postgres':
$temptable = $CFG->prefix . 'extuser';
+1 -1
View File
@@ -563,7 +563,7 @@ class auth_plugin_ldap extends auth_plugin_base {
switch (strtolower($CFG->dbfamily)) {
case 'mysql':
$droptablesql[] = 'DROP TEMPORARY TABLE ' . $temptable; // sql command to drop the table (because session scope could be a problem)
$createtemptablesql = 'CREATE TEMPORARY TABLE ' . $temptable . ' (username VARCHAR(64), PRIMARY KEY (username)) TYPE=MyISAM';
$createtemptablesql = 'CREATE TEMPORARY TABLE ' . $temptable . ' (username VARCHAR(64), PRIMARY KEY (username)) ENGINE=MyISAM';
break;
case 'postgres':
$droptablesql[] = 'DROP TABLE ' . $temptable; // sql command to drop the table (because session scope could be a problem)
+5 -10
View File
@@ -193,18 +193,13 @@ class auth_plugin_shibboleth extends auth_plugin_base {
*
*/
function logoutpage_hook() {
global $redirect;
global $SESSION, $redirect;
// Only do this if logout handler is defined
if (
isset($this->config->logout_handler)
&& !empty($this->config->logout_handler)
){
// Only do this if logout handler is defined, and if the user is actually logged in via Shibboleth
$logouthandlervalid = isset($this->config->logout_handler) && !empty($this->config->logout_handler);
if ( isset($SESSION->shibboleth_session_id) && $logouthandlervalid ) {
// Check if there is an alternative logout return url defined
if (
isset($this->config->logout_return_url)
&& !empty($this->config->logout_return_url)
){
if (isset($this->config->logout_return_url) && !empty($this->config->logout_return_url)) {
// Set temp_redirect to alternative return url
$temp_redirect = $this->config->logout_return_url;
} else {
+14 -7
View File
@@ -100,15 +100,22 @@ function schedule_backup_cron() {
$status = false;
continue;
}
// Skip courses that do not yet need backup
$skipped = !($backup_course->nextstarttime > 0 && $backup_course->nextstarttime < $now);
// Skip backup of unavailable courses that have remained unmodified in a month
$skipped = false;
if (!$course->visible && ($now - $course->timemodified) > 31*24*60*60) { //Hidden + unmodified last month
mtrace(" SKIPPING - hidden+unmodified");
set_field("backup_courses","laststatus","3","courseid",$backup_course->courseid);
$skipped = true;
if (!$skipped && !$course->visible && ($now - $course->timemodified) > 31*24*60*60) { //Hidden + settings were unmodified last month
//Check log if there were any modifications to the course content
$sql = 'SELECT l.id FROM '.$CFG->prefix .'log l WHERE '.
'l.course='. $course->id. ' AND l.time>'. ($now-31*24*60*60). " AND lower(l.action) not like '%view%'";
$logexists = record_exists_sql($sql);
if (!$logexists) {
mtrace(" SKIPPING - hidden+unmodified");
set_field("backup_courses", "laststatus", "3", "courseid", $backup_course->courseid);
$skipped = true;
}
}
//Now we backup every non skipped course with nextstarttime < now
if (!$skipped && $backup_course->nextstarttime > 0 && $backup_course->nextstarttime < $now) {
//Now we backup every non-skipped course
if (!$skipped) {
//We have to send a email because we have included at least one backup
$emailpending = true;
//Only make the backup if laststatus isn't 2-UNFINISHED (uncontrolled error)
+5 -5
View File
@@ -66,7 +66,7 @@ function backup_upgrade($oldversion=0) {
`value` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) TYPE=MyISAM COMMENT='To store backup configuration variables'");
) ENGINE=MyISAM COMMENT='To store backup configuration variables'");
}
if ($oldversion < 2003120800 and $result) {
@@ -79,7 +79,7 @@ function backup_upgrade($oldversion=0) {
`nextstarttime` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `courseid` (`courseid`)
) TYPE=MyISAM COMMENT='To store every course backup status'");
) ENGINE=MyISAM COMMENT='To store every course backup status'");
if ($result) {
$result = execute_sql("CREATE TABLE `{$CFG->prefix}backup_log` (
@@ -89,7 +89,7 @@ function backup_upgrade($oldversion=0) {
`laststarttime` int(10) unsigned NOT NULL default '0',
`info` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='To store every course backup log info'");
) ENGINE=MyISAM COMMENT='To store every course backup log info'");
}
}
@@ -105,7 +105,7 @@ function backup_upgrade($oldversion=0) {
`new_id` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `{$CFG->prefix}backup_files_uk` (`backup_code`,`file_type`,`path`)
) TYPE=MyISAM COMMENT='To store and recode ids to user and course files.'");
) ENGINE=MyISAM COMMENT='To store and recode ids to user and course files.'");
}
if ($result) {
$result = execute_sql("DROP TABLE {$CFG->prefix}backup_ids");
@@ -120,7 +120,7 @@ function backup_upgrade($oldversion=0) {
`info` mediumtext,
PRIMARY KEY (`id`),
UNIQUE KEY `{$CFG->prefix}backup_ids_uk` (`backup_code` ,`table_name`,`old_id`)
) TYPE=MyISAM COMMENT='To store and convert ids in backup/restore'");
) ENGINE=MyISAM COMMENT='To store and convert ids in backup/restore'");
}
}
+1 -1
View File
@@ -142,7 +142,7 @@ global $CFG;
`visible` tinyint(1) not null default '0',
`configdata` text not null default '',
PRIMARY KEY(`id`)
) TYPE=MyISAM;");
) ENGINE=MyISAM;");
}
if ($oldversion < 2005090200) {
+1 -1
View File
@@ -21,7 +21,7 @@
</tr>
</table>
<div class="singlebutton">
<input type="hidden" name="id" value="<?php echo $form->id ?>" />
<input type="hidden" name="id" value="<?php echo $id ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
<input type="submit" value="<?php print_string("savechanges") ?>" />
</div>
+1 -1
View File
@@ -54,7 +54,7 @@
} else {
$sectionname = get_section_name($course->format);
$stredit = get_string('edit', '', " $sectionname $section->section");
$strsummaryof = get_string('summaryof', '', " $sectionname $form->section");
$strsummaryof = get_string('summaryof', '', " $sectionname $section->section");
}
print_header_simple($stredit, '', build_navigation(array(array('name' => $stredit, 'link' => null, 'type' => 'misc'))), 'theform.summary' );
+1 -1
View File
@@ -53,7 +53,7 @@
}
/// Check if the course is a meta course (bug 5734)
if ($course->metacourse) {
if ($course->metacourse && !($course->guest == 2 && isguestuser())) {
print_header_simple();
notice(get_string('coursenotaccessible'), "$CFG->wwwroot/index.php");
}
+4 -4
View File
@@ -633,7 +633,7 @@ if (isset($_GET['help'])) {
echo '<div id="mssql">' . get_string('databasesettingssub_mssql', 'install');
/// Link to mssql installation page
echo "<p style='text-align:right'><a href=\"javascript:void(0)\" ";
echo "onclick=\"return window.open('http://docs.moodle.org/en/Installing_MSSQL_for_PHP')\"";
echo "onclick=\"return window.open('http://docs.moodle.org/19/en/Installing_MSSQL_for_PHP')\"";
echo ">";
echo '<img src="pix/docs.gif' . '" alt="Docs" class="iconhelp" />';
echo get_string('moodledocslink', 'install') . '</a></p>';
@@ -642,7 +642,7 @@ if (isset($_GET['help'])) {
echo '<div id="mssql_n">' . get_string('databasesettingssub_mssql_n', 'install');
/// Link to mssql installation page
echo "<p style='text-align:right'><a href=\"javascript:void(0)\" ";
echo "onclick=\"return window.open('http://docs.moodle.org/en/Installing_MSSQL_for_PHP')\"";
echo "onclick=\"return window.open('http://docs.moodle.org/19/en/Installing_MSSQL_for_PHP')\"";
echo ">";
echo '<img src="pix/docs.gif' . '" alt="Docs" />';
echo get_string('moodledocslink', 'install') . '</a></p>';
@@ -651,7 +651,7 @@ if (isset($_GET['help'])) {
echo '<div id="odbc_mssql">'. get_string('databasesettingssub_odbc_mssql', 'install');
/// Link to mssql installation page
echo "<p style='text-align:right'><a href=\"javascript:void(0)\" ";
echo "onclick=\"return window.open('http://docs.moodle.org/en/Installing_MSSQL_for_PHP')\"";
echo "onclick=\"return window.open('http://docs.moodle.org/19/en/Installing_MSSQL_for_PHP')\"";
echo ">";
echo '<img src="pix/docs.gif' . '" alt="Docs" class="iconhelp" />';
echo get_string('moodledocslink', 'install') . '</a></p>';
@@ -660,7 +660,7 @@ if (isset($_GET['help'])) {
echo '<div id="oci8po">' . get_string('databasesettingssub_oci8po', 'install');
/// Link to oracle installation page
echo "<p style='text-align:right'><a href=\"javascript:void(0)\" ";
echo "onclick=\"return window.open('http://docs.moodle.org/en/Installing_Oracle_for_PHP')\"";
echo "onclick=\"return window.open('http://docs.moodle.org/19/en/Installing_Oracle_for_PHP')\"";
echo ">";
echo '<img src="pix/docs.gif' . '" alt="Docs" class="iconhelp" />';
echo get_string('moodledocslink', 'install') . '</a></p>';
+1 -1
View File
@@ -16,7 +16,7 @@ To add more languages to Moodle, you can either:
For more information, see the Moodle Documentation:
http://docs.moodle.org/en/Translation
http://docs.moodle.org/19/en/Translation
Cheers,
+1 -1
View File
@@ -770,7 +770,7 @@ $string['uploadpicture_userupdated'] = 'Picture updated for user $a.';
$string['uploadpicture_cannotsave'] = 'Cannot save picture for user $a. Check original picture file.';
$string['updatetimezones'] = 'Update timezones';
$string['upgrade197notice'] = '<p>Moodle 1.9.7 contains a number of security fixes to user passwords and backups to protect the user data on your site. As a result some of your settings and permissions relating to backups may have changed.<br />
See the <a href=\"http://docs.moodle.org/en/Moodle_1.9.7_release_notes\" target=\"_blank\">Moodle 1.9.7 release notes</a> for full details.</p>';
See the <a href=\"http://docs.moodle.org/dev/Moodle_1.9.7_release_notes\" target=\"_blank\">Moodle 1.9.7 release notes</a> for full details.</p>';
$string['upgrade197noticesubject'] = 'Moodle 1.9.7 upgrade security notices';
$string['upgrade197salt'] = 'To reduce the risk of password theft, you are strongly recommended to set a password salt.<br />See the <a href=\"$a\" target=\"_blank\">password salting documentation</a> for details.';
$string['upgradeforumread'] = 'A new feature has been added in Moodle 1.5 to track read/unread forum posts.<br />To use this functionality you need to <a href=\"$a\">update your tables</a>.';
+1 -1
View File
@@ -256,7 +256,7 @@ $string['auth_ldaptitle'] = 'LDAP server';
$string['auth_ldapnotinstalled'] = 'Cannot use LDAP authentication. The PHP LDAP module is not installed.';
$string['auth_ntlmsso'] = 'NTLM SSO';
$string['auth_ntlmsso_enabled_key'] = 'Enable';
$string['auth_ntlmsso_enabled'] = 'Set to yes to attempt Single Sign On with the NTLM domain. <strong>Note:</strong> this requires additional setup on the webserver to work, see <a href=\"http://docs.moodle.org/en/NTLM_authentication\">http://docs.moodle.org/en/NTLM_authentication</a>';
$string['auth_ntlmsso_enabled'] = 'Set to yes to attempt Single Sign On with the NTLM domain. <strong>Note:</strong> this requires additional setup on the webserver to work, see <a href=\"http://docs.moodle.org/19/en/NTLM_authentication\">http://docs.moodle.org/19/en/NTLM_authentication</a>';
$string['auth_ntlmsso_ie_fastpath'] = 'Set to yes to enable the NTLM SSO fast path (bypasses certain steps and only works if the client\'s browser is MS Internet Explorer).';
$string['auth_ntlmsso_ie_fastpath_key'] = 'MS IE fast path?';
$string['auth_ntlmsso_subnet_key'] = 'Subnet';
+1 -1
View File
@@ -215,7 +215,7 @@ $string['recordsnotsaved'] = 'No entry was saved. Please check the format of the
$string['recordssaved'] = 'entries saved';
$string['requireapproval'] = 'Require approval?';
$string['requiredentries'] = 'Required entries';
$string['requiredentrieschanged'] = '<p><strong>IMPORTANT - PLEASE READ </strong></p><p>Due to a bug fix, the behaviour of database activities using the \'Required entries\' and \'Required entries before viewing settings\' settings will change. A more detailed explaination of the changes can be read on <a href=\"http://moodle.org/mod/forum/discuss.php?d=110928\" target=\"_blank\">the database module forum</a>. The expected behavior of these settings can also be read on <a href=\"http://docs.moodle.org/en/Adding/editing_a_database#Required_entries\" target=\"_blank\">Moodle Docs</a>.
$string['requiredentrieschanged'] = '<p><strong>IMPORTANT - PLEASE READ </strong></p><p>Due to a bug fix, the behaviour of database activities using the \'Required entries\' and \'Required entries before viewing settings\' settings will change. A more detailed explaination of the changes can be read on <a href=\"http://moodle.org/mod/forum/discuss.php?d=110928\" target=\"_blank\">the database module forum</a>. The expected behavior of these settings can also be read on <a href=\"http://docs.moodle.org/19/en/Adding/editing_a_database#Required_entries\" target=\"_blank\">Moodle Docs</a>.
</p><p>This change affects the following databases in your system: (Please save this list now, and after the upgrade, check that these activities still work the way that the teacher intends.)</p><strong style=\"color:red\">$a->text</strong><br/>';
$string['requiredentriestoview'] = 'Entries required before viewing';
$string['resettemplate'] = 'Reset template';
+1 -1
View File
@@ -5,7 +5,7 @@ All of it has gone now because we now use the Moodle Docs wiki.
To find out the new locations for all the information that was here, see:
http://docs.moodle.org/en/MoodleDocs_and_lang_packs
http://docs.moodle.org/19/en/MoodleDocs_and_lang_packs
http://tracker.moodle.org/browse/MDL-4912
+1 -1
View File
@@ -11,7 +11,7 @@
</head>
<body>
(For the most up-to-date version of this license, see <a href="http://docs.moodle.org/en/License">Moodle Docs</a>).
(For the most up-to-date version of this license, see <a href="http://docs.moodle.org/dev/License">Moodle Docs</a>).
<h1>Copyright License for Moodle</h1>
<blockquote>
+3 -3
View File
@@ -48,7 +48,7 @@
one of the few webhosts that does not support these features ask them why,
and consider taking your business elsewhere.</p>
<p>If you want to run Moodle on your own computer and all this looks a bit daunting,
then please take a look at <a href="http://docs.moodle.org/en/Administrator_documentation">the administrator documentation</a>.</p>
then please take a look at <a href="http://docs.moodle.org/19/en/Administrator_documentation">the administrator documentation</a>.</p>
<p>&nbsp;</p>
</div>
@@ -266,7 +266,7 @@ php_value post_max_size 2M</pre>
'1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10)
unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default
'0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id))
TYPE=MyISAM</p>
ENGINE=MyISAM</p>
<p class="success">SUCCESS</p>
</div>
<p>...and so on, followed by: <span class="success">Main databases set up
@@ -416,7 +416,7 @@ php_value post_max_size 2M</pre>
for them using the &quot;Add a new user&quot; on the Admin page.</p>
<p>Once done, the course is ready to customise, and is accessible via the &quot;Courses&quot;
link on the home page.</p>
<p>See the &quot;<a href="http://docs.moodle.org/en/Teacher_documentation">Teacher Documentation</a>&quot; for more details
<p>See the &quot;<a href="http://docs.moodle.org/19/en/Teacher_documentation">Teacher Documentation</a>&quot; for more details
on course-building.</p>
<p>&nbsp;</p>
<p class="center"><strong>Happy exploring and happy Moodling!</strong></p>
+1 -1
View File
@@ -31,5 +31,5 @@ cannot delete the last category in a context.</li>
<ul>
<li><a href="help.php?module=question&amp;file=categorycontexts.html">Category contexts</a></li>
<li><a href="help.php?module=question&amp;file=permissions.html">Question permissions</a></li>
<li><a href="http://docs.moodle.org/en/Question_categories">Question categories help on Moodle Docs</a></li>
<li><a href="http://docs.moodle.org/19/en/Question_categories">Question categories help on Moodle Docs</a></li>
</ul>
@@ -15,5 +15,5 @@ your questions in any or all of the parent course categories).</li>
<ul>
<li><a href="help.php?module=question&amp;file=categories.html">Question categories</a></li>
<li><a href="help.php?module=question&amp;file=permissions.html">Question permissions</a></li>
<li><a href="http://docs.moodle.org/en/Question_contexts">Question contexts documentation on Moodle Docs</a></li>
<li><a href="http://docs.moodle.org/19/en/Question_contexts">Question contexts documentation on Moodle Docs</a></li>
</ul>
+1 -1
View File
@@ -258,7 +258,7 @@ $string['phpversionhelp'] = '<p>Moodle requires a PHP version of at least 4.3.0
$string['postgres7'] = 'PostgreSQL (postgres7)';
$string['postgresqlwarning'] = '<strong>Note:</strong> If you experience some connection problems, you can try to set Host Server field as
host=\'postgresql_host\' port=\'5432\' dbname=\'postgresql_database_name\' user=\'postgresql_user\' password=\'postgresql_user_password\'
and to leave empty the Database, User and Password fields. More information on <a href=\"http://docs.moodle.org/en/Installing_Postgres_for_PHP\">Moodle Docs</a>';
and to leave empty the Database, User and Password fields. More information on <a href=\"http://docs.moodle.org/19/en/Installing_Postgres_for_PHP\">Moodle Docs</a>';
$string['safemode'] = 'Safe Mode';
$string['safemodeerror'] = 'Moodle may have trouble with safe mode on';
$string['safemodehelp'] = '<p>Moodle may have a variety of problems with safe mode on, not least is that
+1 -1
View File
@@ -49,7 +49,7 @@ $string['downloadcore'] = 'Our main method of distribution is via these standard
$string['downloadcoretitle'] = 'Standard Moodle packages';
$string['downloadcvs'] = 'Another way to get the core source code is by using CVS to connect directly to one of our mirrors of the code repository used by Moodle developers. This makes upgrading very easy, even if you have made local changes to the source code.';
$string['downloadcvstitle'] = 'Moodle via CVS';
$string['downloadintro'] = 'Moodle is open source under the <a href=\"http://docs.moodle.org/en/License\">GPL licence</a>. Everything we produce is available for you to download and use for free.';
$string['downloadintro'] = 'Moodle is open source under the <a href=\"http://docs.moodle.org/dev/License\">GPL licence</a>. Everything we produce is available for you to download and use for free.';
$string['downloadlang'] = 'In current versions of Moodle, adding support for new languages has been automated from the administration menu within your site. However, for some older versions of Moodle, new language packs need to be downloaded manually.';
$string['downloadlangtitle'] = 'Language packs';
$string['downloadlogotitle'] = 'Moodle logos';
+2 -2
View File
@@ -161,7 +161,7 @@ $string['backupmetacoursehelp'] = 'If enabled, then metacourse info (inherited e
$string['backupnameformat'] = '%%Y%%m%%d-%%H%%M';
$string['backupmissinguserinfoperms'] = 'Note: This backup contains no user data. Exercise and Workshop activities will not be included in the backup, since these modules are not compatible with this type of backup.';
$string['backupnoneusersinfo'] = 'Note: This backup contains no users and so all activities have been switched to \"without user data\" mode. Exercise and Workshop activities will not be included in the backup, since these modules are not compatible with this type of backup.';
$string['backupnonisowarning'] = 'Warning: this backup is from a non-Unicode version of Moodle (pre 1.6). If this backup contains any non-ISO-8859-1 texts then they may be CORRUPTED if you try to restore them to this Unicode version of Moodle. See the <a href=\"http://docs.moodle.org/en/Backup_FAQ\">Backup FAQ</a> for more information about how to recover this backup correctly.';
$string['backupnonisowarning'] = 'Warning: this backup is from a non-Unicode version of Moodle (pre 1.6). If this backup contains any non-ISO-8859-1 texts then they may be CORRUPTED if you try to restore them to this Unicode version of Moodle. See the <a href=\"http://docs.moodle.org/19/en/Backup_FAQ\">Backup FAQ</a> for more information about how to recover this backup correctly.';
$string['backupnext'] = 'Next backup';
$string['backuporiginalname'] = 'Backup Name';
$string['backuproleassignments'] = 'Backup role assignments for these roles';
@@ -732,7 +732,7 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the Moodle License information page for full details:
http://docs.moodle.org/en/License';
http://docs.moodle.org/dev/License';
$string['grade'] = 'Grade';
$string['grades'] = 'Grades';
$string['group'] = 'Group';
+1 -1
View File
@@ -3,7 +3,7 @@ $string['spamauto'] = 'Autodetect common spam patterns';
$string['spamcannotdelete'] = 'Cannot delete this user';
$string['spamcannotfinduser'] = 'No users matching your search';
$string['spamcleaner'] = 'Spam cleaner';
$string['spamcleanerintro'] = 'This script allows you to search all user profiles for certain strings and then delete those accounts which are obviously created by spammers. You can search for multiple keywords using commas (eg casino, porn)<br /><br />Moodle docs has more information about <a href=\"http://docs.moodle.org/en/Reducing_spam_in_Moodle\">Reducing spam in Moodle</a>.';
$string['spamcleanerintro'] = 'This script allows you to search all user profiles for certain strings and then delete those accounts which are obviously created by spammers. You can search for multiple keywords using commas (eg casino, porn)<br /><br />Moodle docs has more information about <a href=\"http://docs.moodle.org/19/en/Reducing_spam_in_Moodle\">Reducing spam in Moodle</a>.';
$string['spamdesc'] = 'Description';
$string['spamdeleteall'] = 'Delete all these user accounts';
$string['spamdeleteconfirm'] = 'Are you sure you want to delete this entry? You can not undo this.';
+1 -1
View File
@@ -73,7 +73,7 @@ $string['indexes'] = 'Indexes';
$string['integerincorrectlength'] = 'Incorrect length for integer field';
$string['key'] = 'Key';
$string['keys'] = 'Keys';
$string['listreservedwords'] = 'List of Reserved Words<br />(used to keep <a href=\"http://docs.moodle.org/en/XMLDB_reserved_words\" target=\"_blank\">XMLDB_reserved_words</a> updated)';
$string['listreservedwords'] = 'List of Reserved Words<br />(used to keep <a href=\"http://docs.moodle.org/19/en/XMLDB_reserved_words\" target=\"_blank\">XMLDB_reserved_words</a> updated)';
$string['load'] = 'Load';
$string['missing'] = 'Missing';
$string['missingindexes'] = 'Missing Indexes Found';
+1 -1
View File
@@ -144,7 +144,7 @@ define('CONTEXT_COURSE', 50);
define('CONTEXT_MODULE', 70);
define('CONTEXT_BLOCK', 80);
// capability risks - see http://docs.moodle.org/en/Development:Hardening_new_Roles_system
// capability risks - see http://docs.moodle.org/dev/Hardening_new_Roles_system
define('RISK_MANAGETRUST', 0x0001);
define('RISK_CONFIG', 0x0002);
define('RISK_XSS', 0x0004);
+4
View File
@@ -4942,14 +4942,18 @@ function print_plugin_tables() {
$installed_mods = get_records_list('modules', '', '', '', 'name');
$installed_blocks = get_records_list('block', '', '', '', 'name');
$plugins_installed['mod'] = array();
foreach($installed_mods as $mod) {
$plugins_installed['mod'][] = $mod->name;
}
$plugins_installed['blocks'] = array();
foreach($installed_blocks as $block) {
$plugins_installed['blocks'][] = $block->name;
}
$plugins_installed['filter'] = array();
$plugins_ondisk = array();
$plugins_ondisk['mod'] = get_list_of_plugins('mod', 'db');
$plugins_ondisk['blocks'] = get_list_of_plugins('blocks', 'db');
+1 -1
View File
@@ -1238,7 +1238,7 @@ function get_categories($parent='none', $sort=NULL, $shallow=true) {
JOIN {$CFG->prefix}context ctx
ON cc.id=ctx.instanceid AND ctx.contextlevel=".CONTEXT_COURSECAT."
JOIN {$CFG->prefix}course_categories ccp
ON (cc.path LIKE ".sql_concat('ccp.path',"'%'").")
ON ((cc.parent=ccp.id) OR (cc.path LIKE ".sql_concat('ccp.path',"'/%'")."))
WHERE ccp.id=$parent
$sort";
}
+27 -27
View File
@@ -254,7 +254,7 @@ function main_upgrade($oldversion=0) {
`userid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM COMMENT='One record per course creator';");
) ENGINE=MyISAM COMMENT='One record per course creator';");
}
if ($oldversion < 2003032602) {
// Redoing it because of no prefix last time
@@ -362,7 +362,7 @@ function main_upgrade($oldversion=0) {
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `courseuserid` (course,userid)
) TYPE=MyISAM COMMENT='Stores info about how to display the course'");
) ENGINE=MyISAM COMMENT='Stores info about how to display the course'");
}
if ($oldversion < 2003050400) {
@@ -458,7 +458,7 @@ function main_upgrade($oldversion=0) {
`description` text NOT NULL,
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Defines grading scales'");
) ENGINE=MyISAM COMMENT='Defines grading scales'");
}
@@ -558,7 +558,7 @@ function main_upgrade($oldversion=0) {
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `courseid` (`courseid`)
) TYPE=MyISAM COMMENT='Each record is a group in a course.'; ");
) ENGINE=MyISAM COMMENT='Each record is a group in a course.'; ");
modify_database("", "CREATE TABLE `prefix_groups_members` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -567,7 +567,7 @@ function main_upgrade($oldversion=0) {
`timeadded` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `groupid` (`groupid`)
) TYPE=MyISAM COMMENT='Lists memberships of users in groups'; ");
) ENGINE=MyISAM COMMENT='Lists memberships of users in groups'; ");
}
if ($oldversion < 2003121800) {
@@ -601,7 +601,7 @@ function main_upgrade($oldversion=0) {
UNIQUE KEY `id` (`id`),
KEY `courseid` (`courseid`),
KEY `userid` (`userid`)
) TYPE=MyISAM COMMENT='For everything with a time associated to it'; ");
) ENGINE=MyISAM COMMENT='For everything with a time associated to it'; ");
}
if ($oldversion < 2004012800) {
@@ -613,7 +613,7 @@ function main_upgrade($oldversion=0) {
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `useridname` (userid,name)
) TYPE=MyISAM COMMENT='Allows modules to store arbitrary user preferences'; ");
) ENGINE=MyISAM COMMENT='Allows modules to store arbitrary user preferences'; ");
}
if ($oldversion < 2004012900) {
@@ -637,7 +637,7 @@ function main_upgrade($oldversion=0) {
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `md5key` (`md5key`)
) TYPE=MyISAM COMMENT='For storing temporary copies of processed texts';");
) ENGINE=MyISAM COMMENT='For storing temporary copies of processed texts';");
}
if ($oldversion < 2004021000) {
@@ -667,7 +667,7 @@ function main_upgrade($oldversion=0) {
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `filtermd5key` (filter,md5key)
) TYPE=MyISAM COMMENT='For keeping information about cached data';");
) ENGINE=MyISAM COMMENT='For keeping information about cached data';");
}
if ($oldversion < 2004021500) {
@@ -865,7 +865,7 @@ function main_upgrade($oldversion=0) {
`data` text NOT null,
PRIMARY KEY (`sesskey`),
KEY (`expiry`)
) TYPE=MyISAM COMMENT='Optional database session storage, not used by default';");
) ENGINE=MyISAM COMMENT='Optional database session storage, not used by default';");
}
if ($oldversion < 2004111500) { // Update any users/courses using wrongly-named lang pack
@@ -1043,7 +1043,7 @@ function main_upgrade($oldversion=0) {
PRIMARY KEY (`id`),
KEY `useridfrom` (`useridfrom`),
KEY `useridto` (`useridto`)
) TYPE=MyISAM COMMENT='Stores all unread messages';");
) ENGINE=MyISAM COMMENT='Stores all unread messages';");
modify_database('',"CREATE TABLE `prefix_message_read` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -1057,7 +1057,7 @@ function main_upgrade($oldversion=0) {
PRIMARY KEY (`id`),
KEY `useridfrom` (`useridfrom`),
KEY `useridto` (`useridto`)
) TYPE=MyISAM COMMENT='Stores all messages that have been read';");
) ENGINE=MyISAM COMMENT='Stores all messages that have been read';");
modify_database('',"CREATE TABLE `prefix_message_contacts` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -1066,7 +1066,7 @@ function main_upgrade($oldversion=0) {
`blocked` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `usercontact` (`userid`,`contactid`)
) TYPE=MyISAM COMMENT='Maintains lists of relationships between users';");
) ENGINE=MyISAM COMMENT='Maintains lists of relationships between users';");
modify_database('', "INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'write', 'user', 'CONCAT(firstname,\" \",lastname)'); ");
modify_database('', "INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('message', 'read', 'user', 'CONCAT(firstname,\" \",lastname)'); ");
@@ -1243,7 +1243,7 @@ function main_upgrade($oldversion=0) {
`std_skipweeks` tinyint(3) NOT NULL default '0',
`std_time` varchar(5) NOT NULL default '00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Rules for calculating local wall clock time for users';");
) ENGINE=MyISAM COMMENT='Rules for calculating local wall clock time for users';");
}
if ($oldversion < 2005032800) {
@@ -1257,7 +1257,7 @@ function main_upgrade($oldversion=0) {
`weight` decimal(4,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
KEY `courseid` (`courseid`)
) TYPE=MyISAM ;");
) ENGINE=MyISAM ;");
execute_sql("CREATE TABLE `{$CFG->prefix}grade_exceptions` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -1266,7 +1266,7 @@ function main_upgrade($oldversion=0) {
`userid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `courseid` (`courseid`)
) TYPE=MyISAM ;");
) ENGINE=MyISAM ;");
execute_sql("CREATE TABLE `{$CFG->prefix}grade_item` (
@@ -1280,7 +1280,7 @@ function main_upgrade($oldversion=0) {
`sort_order` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `courseid` (`courseid`)
) TYPE=MyISAM ;");
) ENGINE=MyISAM ;");
execute_sql("CREATE TABLE `{$CFG->prefix}grade_letter` (
@@ -1291,7 +1291,7 @@ function main_upgrade($oldversion=0) {
`grade_low` decimal(4,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
KEY `courseid` (`courseid`)
) TYPE=MyISAM ;");
) ENGINE=MyISAM ;");
execute_sql("CREATE TABLE `{$CFG->prefix}grade_preferences` (
@@ -1301,7 +1301,7 @@ function main_upgrade($oldversion=0) {
`value` int(10) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `courseidpreference` (`courseid`,`preference`)
) TYPE=MyISAM ;");
) ENGINE=MyISAM ;");
}
@@ -1372,7 +1372,7 @@ function main_upgrade($oldversion=0) {
`value` text NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `plugin_name` (`plugin`, `name`)
) TYPE=MyISAM
) ENGINE=MyISAM
COMMENT='Moodle modules and plugins configuration variables';");
}
@@ -1493,7 +1493,7 @@ function main_upgrade($oldversion=0) {
`requester` int(10) NOT NULL default 0,
PRIMARY KEY (`id`),
KEY `shortname` (`shortname`)
) TYPE=MyISAM;");
) ENGINE=MyISAM;");
table_column('course','','requested');
}
@@ -1506,7 +1506,7 @@ function main_upgrade($oldversion=0) {
PRIMARY KEY (`id`),
KEY `course` (`course`),
KEY `module` (`module`)
) TYPE=MyISAM;");
) ENGINE=MyISAM;");
table_column('course','','restrictmodules','int','1','','0','not null');
}
@@ -1692,7 +1692,7 @@ function main_upgrade($oldversion=0) {
UNIQUE KEY `id_user_idx` (`id`, `userid`),
KEY `post_lastmodified_idx` (`lastmodified`),
KEY `post_subject_idx` (`subject`)
) TYPE=MyISAM COMMENT='New moodle post table. Holds data posts such as forum entries or blog entries.';");
) ENGINE=MyISAM COMMENT='New moodle post table. Holds data posts such as forum entries or blog entries.';");
modify_database("","CREATE TABLE prefix_tags (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -1700,7 +1700,7 @@ function main_upgrade($oldversion=0) {
`userid` int(10) unsigned NOT NULL default'0',
`text` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT ='tags structure for moodle.';");
) ENGINE=MyISAM COMMENT ='tags structure for moodle.';");
modify_database("","CREATE TABLE prefix_blog_tag_instance (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -1710,7 +1710,7 @@ function main_upgrade($oldversion=0) {
`courseid` int(10) unsigned NOT NULL default'0',
`userid` int(10) unsigned NOT NULL default'0',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT ='tag instance for blogs.';");
) ENGINE=MyISAM COMMENT ='tag instance for blogs.';");
}
if ($oldversion < 2006031400) {
@@ -1799,7 +1799,7 @@ function main_upgrade($oldversion=0) {
`mtable` varchar(30),
`field` varchar(50),
PRIMARY KEY (`id`)
) TYPE=MyISAM");
) ENGINE=MyISAM");
// Add index to ensure that module and action combination is unique.
modify_database('', "ALTER TABLE prefix_log_display ADD UNIQUE `moduleaction`(`module` , `action`)");
@@ -2193,7 +2193,7 @@ function main_upgrade($oldversion=0) {
KEY `courseid` (`courseid`),
UNIQUE KEY `userid-courseid` (`userid`, `courseid`),
PRIMARY KEY (`id`)
)TYPE=MYISAM COMMENT ='time user last accessed any page in a course';", true);
)ENGINE=MyISAM COMMENT ='time user last accessed any page in a course';", true);
}
if (!empty($CFG->rolesactive) and $oldversion < 2006091212) { // Reload the guest roles completely with new defaults
+23 -1
View File
@@ -370,7 +370,7 @@ function xmldb_main_upgrade($oldversion=0) {
drop_index($table, $index);
$index->setFields(array('mnethostid', 'username'));
if (!add_index($table, $index)) {
notify(get_string('duplicate_usernames', 'mnet', 'http://docs.moodle.org/en/DuplicateUsernames'));
notify(get_string('duplicate_usernames', 'mnet', 'http://docs.moodle.org/19/en/DuplicateUsernames'));
}
unset($table, $field, $index);
@@ -3292,6 +3292,15 @@ function xmldb_main_upgrade($oldversion=0) {
}
if ($result && $oldversion < 2007101571.01) {
// Remove category_sortorder index that was supposed to be removed long time ago
$table = new XMLDBTable('course');
$index = new XMLDBIndex('category_sortorder');
$index->setAttributes(XMLDB_INDEX_UNIQUE, array('category', 'sortorder'));
if (index_exists($table, $index)) {
drop_index($table, $index);
}
// MDL-21011 bring down course sort orders away from maximum values
$sql = "SELECT id, category, sortorder from {$CFG->prefix}course
ORDER BY sortorder ASC;";
@@ -3368,6 +3377,19 @@ function xmldb_main_upgrade($oldversion=0) {
upgrade_main_savepoint($result, 2007101591.01);
}
if ($result && $oldversion < 2007101591.05) {
// Remove category_sortorder index that was supposed to be removed long time ago
$table = new XMLDBTable('course');
$index = new XMLDBIndex('category_sortorder');
$index->setAttributes(XMLDB_INDEX_UNIQUE, array('category', 'sortorder'));
if (index_exists($table, $index)) {
drop_index($table, $index);
}
upgrade_main_savepoint($result, 2007101591.05);
}
return $result;
}
+2 -2
View File
@@ -36,7 +36,7 @@
// This library should be used, exclusively, by the installation and
// upgrade process of Moodle.
//
// For further documentation, visit http://docs.moodle.org/en/DDL_functions
// For further documentation, visit http://docs.moodle.org/19/en/DDL_functions
/// Add required XMLDB constants
require_once($CFG->libdir . '/xmldb/classes/XMLDBConstants.php');
@@ -67,7 +67,7 @@
* Add a new field to a table, or modify an existing one (if oldfield is defined).
*
* WARNING: This function is deprecated and will be removed in future versions.
* Please use XMLDB (see http://docs.moodle.org/en/Development:DDL_functions ).
* Please use XMLDB (see http://docs.moodle.org/dev/DDL_functions ).
*
* Warning: Please be careful on primary keys, as this function will eat auto_increments
*
+50 -4
View File
@@ -32,7 +32,7 @@
/// include it yourself.
/// For more info about the functions available in this library, please visit:
/// http://docs.moodle.org/en/DML_functions
/// http://docs.moodle.org/19/en/DML_functions
/// (feel free to modify, improve and document such page, thanks!)
/// GLOBAL CONSTANTS /////////////////////////////////////////////////////////
@@ -569,6 +569,7 @@ function get_record_select($table, $select='', $fields='*') {
function get_recordset($table, $field='', $value='', $sort='', $fields='*', $limitfrom='', $limitnum='') {
if ($field) {
$value = sql_magic_quotes_hack($value);
$select = "$field = '$value'";
} else {
$select = '';
@@ -710,7 +711,7 @@ function recordset_to_array($rs) {
$objects = array();
/// First of all, we are going to get the name of the first column
/// to introduce it back after transforming the recordset to assoc array
/// See http://docs.moodle.org/en/XMLDB_Problems, fetch mode problem.
/// See http://docs.moodle.org/19/en/XMLDB_Problems, fetch mode problem.
$firstcolumn = $rs->FetchField(0);
/// Get the whole associative array
if ($records = $rs->GetAssoc(true)) {
@@ -1433,7 +1434,7 @@ function delete_records_select($table, $select='') {
* @param string $table The database table to be checked against.
* @param object $dataobject A data object with values for one or more fields in the record
* @param bool $returnid Should the id of the newly created record entry be returned? If this option is not requested then true/false is returned.
* @param string $primarykey (obsolete) This is now forced to be 'id'.
* @param string $primarykey (obsolete) This is now forced to be 'id'.
*/
function insert_record($table, $dataobject, $returnid=true, $primarykey='id') {
@@ -1463,6 +1464,11 @@ function insert_record($table, $dataobject, $returnid=true, $primarykey='id') {
/// so let's unset it now before it causes any trouble later
unset($dataobject->{$primarykey});
/// Extra protection against SQL injections
foreach((array)$dataobject as $k=>$v) {
$dataobject->$k = sql_magic_quotes_hack($v);
}
/// Get an empty recordset. Cache for multiple inserts.
if (empty($empty_rs_cache[$table])) {
/// Execute a dummy query to get an empty recordset
@@ -1639,6 +1645,11 @@ function update_record($table, $dataobject) {
$dataobject = (object)$dataobject;
}
/// Extra protection against SQL injections
foreach((array)$dataobject as $k=>$v) {
$dataobject->$k = sql_magic_quotes_hack($v);
}
// Remove this record from record cache since it will change
if (!empty($CFG->rcache)) { // no === here! breaks upgrade
rcache_unset($table, $dataobject->id);
@@ -1755,7 +1766,7 @@ function sql_paging_limit($page, $recordsperpage) {
*
* Note the LIKE are case sensitive for Oracle. Oracle 10g is required to use
* the caseinsensitive search using regexp_like() or NLS_COMP=LINGUISTIC :-(
* See http://docs.moodle.org/en/XMLDB_Problems#Case-insensitive_searches
* See http://docs.moodle.org/19/en/XMLDB_Problems#Case-insensitive_searches
*
* @uses $CFG
* @return string
@@ -2223,6 +2234,38 @@ function sql_ceil($fieldname) {
}
}
/**
* This hack prevents some types of SQL injections, no code should rely on this,
* do not forget to use addslashes() and addslashes_recursive() properly!
*
* The performance cost is negligible considering the security benefits and DB requests cost.
*
* @param mixed $value sql parameter value (hopefully with magic quotes)
* @return mixed sanitised value - added magic quotes if accidentally missing
*/
function sql_magic_quotes_hack($value) {
if ($value === null or $value === '') {
// performance shortcut
return $value;
}
// ignore stuff that can not be converted to string, catchable fatal error will be displayed elsewhere,
// this is intentional because we want to get the same errors as before this magic hack
if (is_object($value)) {
if (!method_exists($value, '__toString')) {
// ignore - we can not cast object to string, error will be triggered elsewhere
return $value;
}
} else if (!is_string($value)) {
// no sql injection possible in other non-string values
return $value;
}
// note: this does not change content if the content is properly escaped,
// the result is different only for strings with missing magic quotes!
return addslashes(stripslashes($value));
}
/**
* Prepare a SQL WHERE clause to select records where the given fields match the given values.
*
@@ -2238,6 +2281,9 @@ function sql_ceil($fieldname) {
* @param string $value3 the value field3 must have (requred if field3 is given, else optional).
*/
function where_clause($field1='', $value1='', $field2='', $value2='', $field3='', $value3='') {
$value1 = sql_magic_quotes_hack($value1);
$value2 = sql_magic_quotes_hack($value2);
$value3 = sql_magic_quotes_hack($value3);
if ($field1) {
$select = is_null($value1) ? "WHERE $field1 IS NULL" : "WHERE $field1 = '$value1'";
if ($field2) {
+4
View File
@@ -1145,6 +1145,10 @@ class MoodleQuickForm extends HTML_QuickForm_DHTMLRulesTableless {
}
}
if (is_array($this->_constantValues)) {
$unfiltered = HTML_QuickForm::arrayMerge($unfiltered, $this->_constantValues);
}
if ($addslashes){
return $this->_recursiveFilter('addslashes', $unfiltered);
} else {
+1 -1
View File
@@ -341,7 +341,7 @@ class html2text
*/
function html2text( $source = '', $from_file = false, $do_links = true, $width = 75 )
{
if ( !empty($source) ) {
if ($source !== '') {
$this->set_html($source, $from_file);
}
+15
View File
@@ -82,3 +82,18 @@ Index: lib/html2text.php
}
-- Tim Hunt 2010-11-02
4 - Make sure html2text does not destroy '0'.
index e2d0dff..9cc213d 100644
--- a/lib/html2text.php
+++ b/lib/html2text.php
@@ -335,7 +335,7 @@ class html2text
*/
function html2text( $source = '', $from_file = false, $do_links = true, $wi {
- if ( !empty($source) ) {
+ if ($source !== '') {
$this->set_html($source, $from_file);
}
-- Tim Hunt 2011-09-21
+2 -2
View File
@@ -27,7 +27,7 @@
*
* These are similar to the module interface, however, not all the the
* facilities that are available to modules are available to local code (yet).
* See also http://docs.moodle.org/en/Development:Local_customisation for more
* See also http://docs.moodle.org/dev/Local_customisation for more
* information.
*
*
@@ -81,7 +81,7 @@
* lang/en_utf8_local/moodle.php containing
* $strings['login'] = 'Sign in';
* and that will change the string 'Login' to 'Sign in'. (See also
* http://docs.moodle.org/en/Language_editing for another way to achieve this.)
* http://docs.moodle.org/19/en/Language_editing for another way to achieve this.)
*
* This mechanism can also be used to create completely new language files. For
* example, suppose you have created some code in local/myfeature.php that needs
+1 -1
View File
@@ -521,7 +521,7 @@ function rss_get_form($act='none', $url='', $rssid='', $preferredtitle='', $shar
$returnstring .= '<input type="hidden" name="user" value="'. $USER->id .'" />'."\n";
$returnstring .= '<input type="hidden" name="sesskey" value="'. sesskey() .'" />'."\n";
$returnstring .= '<br /><input type="submit" value="';
$validatestring = "<a href=\"#\" onclick=\"window.open('http://feedvalidator.org/check.cgi?url='+getElementById('block_rss').elements['url'].value,'validate','width=640,height=480,scrollbars=yes,status=yes,resizable=yes');return true;\">". get_string('validatefeed', 'block_rss_client')."</a>";
$validatestring = "<a href=\"#\" onclick=\"window.open('http://feedvalidator.org/check.cgi?url='+escape(getElementById('block_rss').elements['url'].value),'validate','width=640,height=480,scrollbars=yes,status=yes,resizable=yes');return true;\">". get_string('validatefeed', 'block_rss_client')."</a>";
if ($act == 'rssedit') {
$returnstring .= $stredit;
+17
View File
@@ -356,6 +356,23 @@ class dmllib_test extends prefix_changing_test_case {
}
function test_magic_hack() {
// test hacky sql injection protection - the resulting DB data is not really important,
// we only want to prevent SQL injections/DB errors
$obj = new stdClass();
$obj->textfield = 'lala\'';
$obj->id = insert_record($this->table, $obj);
$this->assertFalse(empty($obj->id));
$obj->textfield = 'lala\\';
$res = update_record($this->table, $obj);
$this->assertTrue($res);
$obj = get_record($this->table, 'textfield', 'lala\\');
$this->assertFalse(empty($obj));
}
}
?>
-60
View File
@@ -318,18 +318,6 @@ class moodlelib_test extends UnitTestCase {
'timezone' => '0.0', //no dst offset
'expectedoutput' => 'Friday, 1 July 2011, 10:00 AM'
),
array(
'time' => '1309514400',
'usertimezone' => 'America/Moncton',
'timezone' => '99', //dst offset and timezone offset.
'expectedoutput' => 'Friday, 1 July 2011, 07:00 AM'
),
array(
'time' => '1309514400',
'usertimezone' => 'America/Moncton',
'timezone' => 'America/Moncton', //dst offset and timezone offset.
'expectedoutput' => 'Friday, 1 July 2011, 07:00 AM'
),
array(
'time' => '1293876000 ',
'usertimezone' => 'America/Moncton',
@@ -419,54 +407,6 @@ class moodlelib_test extends UnitTestCase {
global $USER, $CFG;
$testvalues = array(
array(
'usertimezone' => 'America/Moncton',
'year' => '2011',
'month' => '7',
'day' => '1',
'hour' => '10',
'minutes' => '00',
'seconds' => '00',
'timezone' => '0.0', //no dst offset
'applydst' => false,
'expectedoutput' => '1309528800'
),
array(
'usertimezone' => 'America/Moncton',
'year' => '2011',
'month' => '7',
'day' => '1',
'hour' => '10',
'minutes' => '00',
'seconds' => '00',
'timezone' => '99', //user default timezone
'applydst' => false, //don't apply dst
'expectedoutput' => '1309528800'
),
array(
'usertimezone' => 'America/Moncton',
'year' => '2011',
'month' => '7',
'day' => '1',
'hour' => '10',
'minutes' => '00',
'seconds' => '00',
'timezone' => '99', //user default timezone
'applydst' => true, //apply dst
'expectedoutput' => '1309525200'
),
array(
'usertimezone' => 'America/Moncton',
'year' => '2011',
'month' => '7',
'day' => '1',
'hour' => '10',
'minutes' => '00',
'seconds' => '00',
'timezone' => 'America/Moncton', //string timezone
'applydst' => true, //apply dst
'expectedoutput' => '1309525200'
),
array(
'usertimezone' => '2',//no dst applyed
'year' => '2011',
+8
View File
@@ -255,5 +255,13 @@ END;
public function test_html_to_text_dont_screw_up_utf8() {
$this->assertEqual("\n\nAll the WORLDS a stage.", html_to_text('<p>All the <strong>worlds</strong> a stage.</p>'));
}
public function test_html_to_text_trailing_whitespace() {
$this->assertEqual('With trailing whitespace and some more text', html_to_text("With trailing whitespace \nand some more text", 0));
}
public function test_html_to_text_0() {
$this->assertIdentical('0', html_to_text('0'));
}
}
?>
+1150 -1134
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -308,7 +308,7 @@ function qualified_me() {
/**
* Class for creating and manipulating urls.
*
* See short write up here http://docs.moodle.org/en/Development:lib/weblib.php_moodle_url
* See short write up here http://docs.moodle.org/dev/lib/weblib.php_moodle_url
*/
class moodle_url {
var $scheme = '';// e.g. http
@@ -909,7 +909,7 @@ class XMLDBgenerator {
return $used_names[$tablename.'-'.$fields.'-'.$suffix];
}
/// Use standard naming. See http://docs.moodle.org/en/XMLDB_key_and_index_naming
/// Use standard naming. See http://docs.moodle.org/19/en/XMLDB_key_and_index_naming
$tablearr = explode ('_', $tablename);
foreach ($tablearr as $table) {
$name .= substr(trim($table),0,4);
+6
View File
@@ -19,6 +19,12 @@
$userfullname = strip_tags(required_param('name', PARAM_RAW));
$wait = optional_param('wait', MESSAGE_DEFAULT_REFRESH, PARAM_INT);
if ($wait < 1) {
//this should not happen unless someone is manually constructing URLs
//allowing a wait of 0 causes continuous GET requests
$wait = MESSAGE_DEFAULT_REFRESH;
}
$stylesheetshtml = '';
foreach ($CFG->stylesheets as $stylesheet) {
$stylesheetshtml .= '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'" />';
+2 -2
View File
@@ -335,8 +335,8 @@ class mnet_xmlrpc_client {
// ok, it's signed, but is it signed with the right certificate ?
// do this *after* we check for an out of date key
if (!openssl_verify($this->xmlrpcresponse, base64_decode($sig_parser->signature),
$mnet_peer->public_key)) {
$verified = openssl_verify($this->xmlrpcresponse, base64_decode($sig_parser->signature), $mnet_peer->public_key);
if ($verified != 1) {
$this->error[] = 'Invalid signature';
}
+13 -2
View File
@@ -44,11 +44,22 @@
function assignment_backup_one_mod($bf,$preferences,$assignment) {
global $CFG;
if ($assignment === 0) { //no active instances of assignment to be backed up - skip backup
return false;
}
if (is_numeric($assignment)) {
$assignment = get_record('assignment','id',$assignment);
}
if (empty($assignment->assignmenttype)) {
// No assignment type will cause fatal error below in require_once so bail out now
// Probably ended up here by restoring a course into
// a moodle without this assignmenttype
return false;
}
$status = true;
//Start mod
+1 -1
View File
@@ -70,7 +70,7 @@ function choice_upgrade($oldversion) {
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY choiceid (choiceid)
) TYPE=MyISAM;")) {
) ENGINE=MyISAM;")) {
table_column('choice_answers', 'choice', 'choiceid', 'integer', '10', 'unsigned', 0, 'not null');
table_column('choice_answers', 'answer', 'optionid', 'integer', '10', 'unsigned', 0, 'not null');
+1 -1
View File
@@ -129,7 +129,7 @@ function forum_upgrade($oldversion) {
PRIMARY KEY (`id`),
KEY `user` (userid),
KEY `post` (postid)
) TYPE=MyISAM COMMENT='For keeping track of posts that will be mailed in digest form';");
) ENGINE=MyISAM COMMENT='For keeping track of posts that will be mailed in digest form';");
}
if ($oldversion < 2004070700) { // This may be redoing it from STABLE but that's OK
+6 -6
View File
@@ -45,13 +45,13 @@ function glossary_upgrade($oldversion) {
`glossaryid` INT(10) UNSIGNED NOT NULL default '0',
`name` VARCHAR(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='all categories for glossary entries'");
) ENGINE=MyISAM COMMENT='all categories for glossary entries'");
execute_sql("CREATE TABLE `{$CFG->prefix}glossary_entries_categories` (
`categoryid` INT(10) UNSIGNED NOT NULL default '1',
`entryid` INT(10) UNSIGNED NOT NULL default '0',
PRIMARY KEY (`categoryid`, `entryid`)
) TYPE=MyISAM COMMENT='categories of each glossary entry'");
) ENGINE=MyISAM COMMENT='categories of each glossary entry'");
}
if ( $oldversion < 2003092100 ) {
@@ -87,7 +87,7 @@ function glossary_upgrade($oldversion) {
`timemodified` INT(10) UNSIGNED NOT NULL default '0',
`format` TINYINT(2) UNSIGNED NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='comments on glossary entries'");
) ENGINE=MyISAM COMMENT='comments on glossary entries'");
execute_sql(" INSERT INTO {$CFG->prefix}log_display (module, action, mtable, field) VALUES ('glossary', 'add comment', 'glossary', 'name') ");
execute_sql(" INSERT INTO {$CFG->prefix}log_display (module, action, mtable, field) VALUES ('glossary', 'update comment', 'glossary', 'name') ");
@@ -166,7 +166,7 @@ function glossary_upgrade($oldversion) {
`entryid` INT(10) UNSIGNED NOT NULL default '0',
`alias` TEXT NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='entries alias'");
) ENGINE=MyISAM COMMENT='entries alias'");
}
if ( $oldversion < 2003111500 ) {
@@ -190,7 +190,7 @@ function glossary_upgrade($oldversion) {
`sortkey` VARCHAR(50) NOT NULL default '',
`sortorder` VARCHAR(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Setting of the display formats'");
) ENGINE=MyISAM COMMENT='Setting of the display formats'");
// Default format
execute_sql(" INSERT INTO {$CFG->prefix}glossary_displayformats
@@ -292,7 +292,7 @@ function glossary_upgrade($oldversion) {
`sortkey` VARCHAR(50) NOT NULL default '',
`sortorder` VARCHAR(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Setting of the display formats'");
) ENGINE=MyISAM COMMENT='Setting of the display formats'");
//Define current 0-6 format names
$formatnames = array('dictionary','continuous','fullwithauthor','encyclopedia',
+2 -2
View File
@@ -11,7 +11,7 @@ $HOTPOT_TEXTSOURCE = array(
class mod_hotpot_mod_form extends moodleform_mod {
// documentation on formslib.php here:
// http://docs.moodle.org/en/Development:lib/formslib.php_Form_Definition
// http://docs.moodle.org/dev/lib/formslib.php_Form_Definition
function definition() {
// TO DO
@@ -286,7 +286,7 @@ class mod_hotpot_mod_form extends moodleform_mod {
}
function validation(&$data) {
// http://docs.moodle.org/en/Development:lib/formslib.php_Validation
// http://docs.moodle.org/dev/lib/formslib.php_Validation
global $CFG, $COURSE;
$errors = array();
+1 -1
View File
@@ -563,7 +563,7 @@
echo "<input type=\"hidden\" name=\"pageid\" value=\"$pageid\" />";
echo "<input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\" />";
print_simple_box_start("center");
echo '<table width="100%">';
echo '<table>';
}
// default format text options
$options = new stdClass;
+18 -18
View File
@@ -110,7 +110,7 @@ function quiz_upgrade($oldversion) {
`max` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `answer` (`answer`)
) TYPE=MyISAM COMMENT='Options for numerical questions'; ");
) ENGINE=MyISAM COMMENT='Options for numerical questions'; ");
}
if ($success && $oldversion < 2003072400) {
@@ -127,7 +127,7 @@ function quiz_upgrade($oldversion) {
`norm` int(10) unsigned NOT NULL default '1',
PRIMARY KEY (`id`),
KEY `question` (`question`)
) TYPE=MyISAM COMMENT='Options for multianswer questions'; ");
) ENGINE=MyISAM COMMENT='Options for multianswer questions'; ");
}
if ($success && $oldversion < 2003080301) {
@@ -224,7 +224,7 @@ function quiz_upgrade($oldversion) {
`multiplier` decimal(40,20) NOT NULL default '1.00000000000000000000',
`unit` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Optional unit options for numerical questions'; ");
) ENGINE=MyISAM COMMENT='Optional unit options for numerical questions'; ");
// Four tables for handling distribution and storage of
// individual data for dataset dependent question types
@@ -235,7 +235,7 @@ function quiz_upgrade($oldversion) {
`datasetnumber` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `category` (`category`,`userid`)
) TYPE=MyISAM COMMENT='Dataset number for attemptonlast attempts per user'; ");
) ENGINE=MyISAM COMMENT='Dataset number for attemptonlast attempts per user'; ");
$success = $success && modify_database ("", " CREATE TABLE `prefix_quiz_dataset_definitions` (
`id` int(10) unsigned NOT NULL auto_increment,
`category` int(10) unsigned NOT NULL default '0',
@@ -244,7 +244,7 @@ function quiz_upgrade($oldversion) {
`options` varchar(255) NOT NULL default '',
`itemcount` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Organises and stores properties for dataset items'; ");
) ENGINE=MyISAM COMMENT='Organises and stores properties for dataset items'; ");
$success = $success && modify_database ("", " CREATE TABLE `prefix_quiz_dataset_items` (
`id` int(10) unsigned NOT NULL auto_increment,
`definition` int(10) unsigned NOT NULL default '0',
@@ -252,14 +252,14 @@ function quiz_upgrade($oldversion) {
`value` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `definition` (`definition`)
) TYPE=MyISAM COMMENT='Individual dataset items'; ");
) ENGINE=MyISAM COMMENT='Individual dataset items'; ");
$success = $success && modify_database ("", " CREATE TABLE `prefix_quiz_question_datasets` (
`id` int(10) unsigned NOT NULL auto_increment,
`question` int(10) unsigned NOT NULL default '0',
`datasetdefinition` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `question` (`question`,`datasetdefinition`)
) TYPE=MyISAM COMMENT='Many-many relation between questions and dataset definitions'; ");
) ENGINE=MyISAM COMMENT='Many-many relation between questions and dataset definitions'; ");
// One table for new question type calculated
// - the first dataset dependent question type
@@ -272,7 +272,7 @@ function quiz_upgrade($oldversion) {
`correctanswerlength` int(10) NOT NULL default '2',
PRIMARY KEY (`id`),
KEY `question` (`question`)
) TYPE=MyISAM COMMENT='Options for questions of type calculated'; ");
) ENGINE=MyISAM COMMENT='Options for questions of type calculated'; ");
}
if ($success && $oldversion < 2004111400) {
@@ -333,7 +333,7 @@ function quiz_upgrade($oldversion) {
`userid` int(10) unsigned NOT NULL default '0',
`timestamp` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='The mapping between old and new versions of a question';");
) ENGINE=MyISAM COMMENT='The mapping between old and new versions of a question';");
}
if ($success && $oldversion < 2005032000) {
@@ -471,7 +471,7 @@ function quiz_upgrade($oldversion) {
`sumpenalty` varchar(10) NOT NULL default '0.0',
PRIMARY KEY (`id`),
UNIQUE KEY `attemptid` (`attemptid`,`questionid`)
) TYPE=MyISAM COMMENT='Gives ids of the newest open and newest graded states';");
) ENGINE=MyISAM COMMENT='Gives ids of the newest open and newest graded states';");
/// Now upgrade some fields in states and newest_states tables where necessary
// to save time on large sites only do this for attempts that have not yet been finished.
@@ -525,7 +525,7 @@ function quiz_upgrade($oldversion) {
`maxscore` int(10) unsigned NOT NULL default '1',
PRIMARY KEY (`id`),
KEY `question` (`question`)
) TYPE=MyISAM COMMENT='Options for RQP questions';");
) ENGINE=MyISAM COMMENT='Options for RQP questions';");
$success = $success && modify_database ('', "CREATE TABLE `prefix_quiz_rqp_type` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -535,7 +535,7 @@ function quiz_upgrade($oldversion) {
`flags` tinyint(3) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) TYPE=MyISAM COMMENT='RQP question types and the servers to be used to process them';");
) ENGINE=MyISAM COMMENT='RQP question types and the servers to be used to process them';");
$success = $success && modify_database ('', "CREATE TABLE `prefix_quiz_rqp_states` (
`id` int(10) unsigned NOT NULL auto_increment,
@@ -544,7 +544,7 @@ function quiz_upgrade($oldversion) {
`persistent_data` text NOT NULL default '',
`template_vars` text NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='RQP question type specific state information';");
) ENGINE=MyISAM COMMENT='RQP question type specific state information';");
}
if ($success && $oldversion < 2005050300) {
@@ -568,7 +568,7 @@ function quiz_upgrade($oldversion) {
can_render tinyint(2) unsigned NOT NULL default '0',
can_author tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Information about RQP servers';");
) ENGINE=MyISAM COMMENT='Information about RQP servers';");
if ($types = get_records('quiz_rqp_types')) {
foreach($types as $type) {
$server = new stdClass;
@@ -859,7 +859,7 @@ function quiz_upgrade($oldversion) {
`answer` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `question` (`question`)
) TYPE=MyISAM COMMENT='Options for essay questions'");
) ENGINE=MyISAM COMMENT='Options for essay questions'");
$success = $success && modify_database ('', "
CREATE TABLE `prefix_quiz_essay_states` (
@@ -869,7 +869,7 @@ function quiz_upgrade($oldversion) {
`fraction` varchar(10) NOT NULL default '0.0',
`response` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='essay question type specific state information'");
) ENGINE=MyISAM COMMENT='essay question type specific state information'");
}
if ($success && $oldversion < 2005070202) {
@@ -1058,7 +1058,7 @@ function quiz_upgrade($oldversion) {
id int(10) unsigned NOT NULL auto_increment,
modulename varchar(20) NOT NULL default 'quiz',
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Student attempts. This table gets extended by the modules';");
) ENGINE=MyISAM COMMENT='Student attempts. This table gets extended by the modules';");
// create one entry for all the existing quiz attempts
$success = $success && modify_database ("", "INSERT INTO prefix_question_attempts (id)
SELECT uniqueid
@@ -1134,7 +1134,7 @@ function quiz_upgrade($oldversion) {
maxgrade double NOT NULL default '0',
PRIMARY KEY (id),
KEY quizid (quizid)
) TYPE=MyISAM COMMENT='Feedback given to students based on their overall score on the test';
) ENGINE=MyISAM COMMENT='Feedback given to students based on their overall score on the test';
");
$success = $success && execute_sql("
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -175,7 +175,7 @@ class quiz_report extends quiz_default_report {
}
$responses = get_question_actual_response($quizquestions[$i], $states[$i]);
foreach ($responses as $resp){
if ($resp) {
if ('' !== $resp) {
if ($key = array_search($resp, $questions[$qid]['responses'])) {
$questions[$qid]['rcounts'][$key]++;
} else {
+2 -2
View File
@@ -73,8 +73,8 @@ function scorm_upgrade($oldversion) {
UNIQUE (userid, scormid, scoid, element),
KEY userdata (userid, scormid, scoid),
KEY id (id)
) TYPE=MyISAM;",false);
) ENGINE=MyISAM;",false);
$oldtrackingdata = get_records_select("scorm_sco_users","1","id ASC");
$oldelements = array ('cmi_core_lesson_location',
'cmi_core_lesson_status',
-3
View File
@@ -34,13 +34,10 @@
if ($course->format == "weeks") {
$table->head = array ($strweek, $strname, $strstatus);
$table->align = array ("CENTER", "LEFT", "LEFT");
} else if ($course->format == "topics") {
$table->head = array ($strtopic, $strname, $strstatus);
$table->align = array ("CENTER", "LEFT", "LEFT");
} else {
$table->head = array ($strname, $strstatus);
$table->align = array ("LEFT", "LEFT");
}
$currentsection = '';
+1 -1
View File
@@ -139,7 +139,7 @@ function wiki_upgrade($oldversion) {
`wiki` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `wiki_pages_uk` (`pagename`,`version`,`wiki`))
TYPE=MyISAM COMMENT='Holds the Wiki-Pages';");
ENGINE=MyISAM COMMENT='Holds the Wiki-Pages';");
if (!empty($insertafter)) {
execute_sql("INSERT INTO {$CFG->prefix}wiki_pages (pagename, version, flags, content,
+2
View File
@@ -324,6 +324,8 @@ class qformat_default {
$question->createdby = $USER->id;
$question->timecreated = time();
$question->modifiedby = $USER->id;
$question->timemodified = time();
if (!$question->id = insert_record("question", $question)) {
error( get_string('cannotinsert','quiz') );
+2 -2
View File
@@ -89,8 +89,8 @@ class qformat_aiken extends qformat_default {
} else {
// Must be the first line of a new question, since no recognised prefix.
$question->qtype = MULTICHOICE;
$question->name = htmlspecialchars(substr($nowline, 0, 50));
$question->questiontext = htmlspecialchars($nowline);
$question->name = shorten_text(s($nowline), 50);
$question->questiontext = s($nowline);
$question->single = 1;
$question->feedback[] = '';
}
+6 -3
View File
@@ -100,10 +100,13 @@
} else {
// must be upload file
$realfilename = $import_form->get_importfile_realname();
if (!$importfile = $import_form->get_importfile_name()) {
print_error('uploadproblem', 'moodle');
}else {
// move the file into the dataroot
$importfile = $CFG->dataroot . '/temp/' . $realfilename;
if (move_uploaded_file($import_form->get_importfile_name(), $importfile)) {
$fileisgood = true;
} else {
print_error('uploadproblem', 'moodle');
}
}
+1 -1
View File
@@ -96,7 +96,7 @@ function wiki_get_latest_page(&$entry, $pagename, $version = 0) {
$select = "(pagename=$pagename) AND wiki=".$entry->id." $version ";
$sort = 'version DESC';
//change this to recordset_select, as per http://docs.moodle.org/en/Datalib_Notes
//change this to recordset_select, as per http://docs.moodle.org/19/en/Datalib_Notes
if ($result_arr = get_records_select('wiki_pages', $select, $sort, '*', 0, 1)) {
foreach ($result_arr as $obj) {
$result_obj = $obj;
+7 -2
View File
@@ -151,11 +151,16 @@ function search_shorten_url($url, $length=30) {
* @return the escaped string
*/
function search_escape_string($str) {
global $CFG;
global $CFG, $db;
switch ($CFG->dbfamily) {
case 'mysql':
$s = mysql_real_escape_string($str);
if ($CFG->dbtype == 'mysqli') {
//ugly hack for 1.9 stable ONLY to get it to work for mysqli.
$s = mysqli_real_escape_string($db->_connectionID, $str);
} else {
$s = mysql_real_escape_string($str);
}
break;
case 'postgres':
$s = pg_escape_string($str);
+1 -1
View File
@@ -842,7 +842,7 @@ function tag_compute_correlations($mincorrelation = 2) {
* @param stdClass $tagcorrelation
* @return int The id of the tag correlation that was just processed.
*/
function tag_process_computed_correlation(stdClass $tagcorrelation) {
function tag_process_computed_correlation($tagcorrelation) {
// You must provide a tagid and correlatedtags must be set and be an array
if (empty($tagcorrelation->tagid) || !isset($tagcorrelation->correlatedtags) || !is_array($tagcorrelation->correlatedtags)) {
+1 -1
View File
@@ -4,7 +4,7 @@
<p>
Chameleon is a Moodle theme with an option to interactively change your theme within your browser page.
You click on an element to change it's style. Please read the
<a href="http://docs.moodle.org/en/Chameleon" alt="Chameleon Moodle Docs">Chameleon Moodle Docs explanation</a>
<a href="http://docs.moodle.org/19/en/Chameleon" alt="Chameleon Moodle Docs">Chameleon Moodle Docs explanation</a>
for more information about Chameleon's interactive theme work.
</p>
<p>
+2 -2
View File
@@ -6,10 +6,10 @@
// This is compared against the values stored in the database to determine
// whether upgrades should be performed (see lib/db/*.php)
$version = 2007101591.04; // YYYYMMDD = date of the 1.9 branch (don't change)
$version = 2007101591.06; // YYYYMMDD = date of the 1.9 branch (don't change)
// X = release number 1.9.[0,1,2,3,4,5...]
// Y.YY = micro-increments between releases
$release = '1.9.13 (Build: 20110801)'; // Human-friendly version name
$release = '1.9.14 (Build: 20111010)'; // Human-friendly version name
?>