MDL-18293 exception and DML cleanup

This commit is contained in:
skodak 2009-02-17 17:23:56 +00:00
parent 68fbad4417
commit 013376dec4
4 changed files with 45 additions and 56 deletions

View file

@ -971,9 +971,7 @@ if ( file_exists(dirname(dirname(__FILE__)) . '/config.php')) {
notify("WARNING!!! The code you are using is OLDER than the version that made these databases!"); notify("WARNING!!! The code you are using is OLDER than the version that made these databases!");
} }
} else { } else {
if (!set_config("version", $version)) { set_config("version", $version);
console_write_error("A problem occurred inserting current version into databases",'',false);
}
} }

View file

@ -288,9 +288,7 @@
/// Updated human-readable release version if necessary /// Updated human-readable release version if necessary
if ($release <> $CFG->release) { // Update the release version if ($release <> $CFG->release) { // Update the release version
if (!set_config("release", $release)) { set_config("release", $release);
print_error("cannotupdaterelease", 'debug');
}
} }
/// upgrade all plugins types /// upgrade all plugins types

View file

@ -242,16 +242,11 @@ function config_form($frm) {
* @param config all the configuration data as entered by the admin * @param config all the configuration data as entered by the admin
*/ */
function process_config($config) { function process_config($config) {
$return = true;
foreach ($config as $name => $value) { foreach ($config as $name => $value) {
if (!set_config($name, $value)) { set_config($name, $value);
$return = false;
}
} }
return $return; return true;
} }

View file

@ -798,10 +798,12 @@ function unset_config($name, $plugin=NULL) {
if (empty($plugin)) { if (empty($plugin)) {
unset($CFG->$name); unset($CFG->$name);
return $DB->delete_records('config', array('name'=>$name)); $DB->delete_records('config', array('name'=>$name));
} else { } else {
return $DB->delete_records('config_plugins', array('name'=>$name, 'plugin'=>$plugin)); $DB->delete_records('config_plugins', array('name'=>$name, 'plugin'=>$plugin));
} }
return true;
} }
/** /**
@ -812,10 +814,9 @@ function unset_config($name, $plugin=NULL) {
*/ */
function unset_all_config_for_plugin($plugin) { function unset_all_config_for_plugin($plugin) {
global $DB; global $DB;
$success = true; $DB->delete_records('config_plugins', array('plugin' => $plugin));
$success = $success && $DB->delete_records('config_plugins', array('plugin' => $plugin)); $DB->delete_records_select('config', 'name LIKE ?', array($plugin . '_%'));
$success = $success && $DB->delete_records_select('config', 'name LIKE ?', array($plugin . '_%')); return true;
return $success;
} }
/** /**
@ -906,7 +907,8 @@ function set_cache_flag($type, $name, $value, $expiry=NULL) {
} }
if ($value === NULL) { if ($value === NULL) {
return unset_cache_flag($type,$name); unset_cache_flag($type,$name);
return true;
} }
if ($f = $DB->get_record('cache_flags', array('name'=>$name, 'flagtype'=>$type))) { // this is a potentail problem in DEBUG_DEVELOPER if ($f = $DB->get_record('cache_flags', array('name'=>$name, 'flagtype'=>$type))) { // this is a potentail problem in DEBUG_DEVELOPER
@ -916,7 +918,7 @@ function set_cache_flag($type, $name, $value, $expiry=NULL) {
$f->value = $value; $f->value = $value;
$f->expiry = $expiry; $f->expiry = $expiry;
$f->timemodified = $timemodified; $f->timemodified = $timemodified;
return $DB->update_record('cache_flags', $f); $DB->update_record('cache_flags', $f);
} else { } else {
$f = new object(); $f = new object();
$f->flagtype = $type; $f->flagtype = $type;
@ -924,8 +926,9 @@ function set_cache_flag($type, $name, $value, $expiry=NULL) {
$f->value = $value; $f->value = $value;
$f->expiry = $expiry; $f->expiry = $expiry;
$f->timemodified = $timemodified; $f->timemodified = $timemodified;
return (bool)$DB->insert_record('cache_flags', $f); $DB->insert_record('cache_flags', $f);
} }
return true;
} }
/** /**
@ -938,7 +941,8 @@ function set_cache_flag($type, $name, $value, $expiry=NULL) {
*/ */
function unset_cache_flag($type, $name) { function unset_cache_flag($type, $name) {
global $DB; global $DB;
return $DB->delete_records('cache_flags', array('name'=>$name, 'flagtype'=>$type)); $DB->delete_records('cache_flags', array('name'=>$name, 'flagtype'=>$type));
return true;
} }
/** /**
@ -947,7 +951,8 @@ function unset_cache_flag($type, $name) {
*/ */
function gc_cache_flags() { function gc_cache_flags() {
global $DB; global $DB;
return $DB->delete_records_select('cache_flags', 'expiry < ?', array(time())); $DB->delete_records_select('cache_flags', 'expiry < ?', array(time()));
return true;
} }
/// FUNCTIONS FOR HANDLING USER PREFERENCES //////////////////////////////////// /// FUNCTIONS FOR HANDLING USER PREFERENCES ////////////////////////////////////
@ -1035,32 +1040,29 @@ function set_user_preference($name, $value, $otheruserid=NULL) {
if ($nostore) { if ($nostore) {
// no permanent storage for not-logged-in user and guest // no permanent storage for not-logged-in user and guest
$return = true;
} else if ($preference = $DB->get_record('user_preferences', array('userid'=>$userid, 'name'=>$name))) { } else if ($preference = $DB->get_record('user_preferences', array('userid'=>$userid, 'name'=>$name))) {
if ($preference->value === $value) { if ($preference->value === $value) {
return true; return true;
} }
$return = $DB->set_field('user_preferences', 'value', (string)$value, array('id'=>$preference->id)); $DB->set_field('user_preferences', 'value', (string)$value, array('id'=>$preference->id));
} else { } else {
$preference = new object(); $preference = new object();
$preference->userid = $userid; $preference->userid = $userid;
$preference->name = $name; $preference->name = $name;
$preference->value = (string)$value; $preference->value = (string)$value;
$return = $DB->insert_record('user_preferences', $preference); $DB->insert_record('user_preferences', $preference);
} }
if ($return) {
mark_user_preferences_changed($userid); mark_user_preferences_changed($userid);
// update value in USER session if needed // update value in USER session if needed
if ($userid == $USER->id) { if ($userid == $USER->id) {
$USER->preference[$name] = (string)$value; $USER->preference[$name] = (string)$value;
$USER->preference['_lastloaded'] = time(); $USER->preference['_lastloaded'] = time();
} }
}
return $return; return true;
} }
/** /**
@ -1075,11 +1077,10 @@ function set_user_preferences($prefarray, $otheruserid=NULL) {
return false; return false;
} }
$return = true;
foreach ($prefarray as $name => $value) { foreach ($prefarray as $name => $value) {
$return = (set_user_preference($name, $value, $otheruserid) && $return); set_user_preference($name, $value, $otheruserid);
} }
return $return; return true;
} }
/** /**
@ -1100,18 +1101,16 @@ function unset_user_preference($name, $otheruserid=NULL) {
} }
//Then from DB //Then from DB
$return = $DB->delete_records('user_preferences', array('userid'=>$userid, 'name'=>$name)); $DB->delete_records('user_preferences', array('userid'=>$userid, 'name'=>$name));
if ($return) {
mark_user_preferences_changed($userid); mark_user_preferences_changed($userid);
//Delete the preference from $USER if needed //Delete the preference from $USER if needed
if ($userid == $USER->id) { if ($userid == $USER->id) {
unset($USER->preference[$name]); unset($USER->preference[$name]);
$USER->preference['_lastloaded'] = time(); $USER->preference['_lastloaded'] = time();
} }
}
return $return; return true;
} }
/** /**
@ -2317,7 +2316,8 @@ function update_user_login_times() {
$user->id = $USER->id; $user->id = $USER->id;
return $DB->update_record('user', $user); $DB->update_record('user', $user);
return true;
} }
/** /**
@ -2556,9 +2556,7 @@ function add_to_metacourse ($metacourseid, $courseid) {
$rec = new object(); $rec = new object();
$rec->parent_course = $metacourseid; $rec->parent_course = $metacourseid;
$rec->child_course = $courseid; $rec->child_course = $courseid;
if (!$DB->insert_record('course_meta', $rec)) { $DB->insert_record('course_meta', $rec);
return false;
}
return sync_metacourse($metacourseid); return sync_metacourse($metacourseid);
} }
return true; return true;