1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 11:50:30 +02:00

Tidy up DB query (thanks MrPete), eliminate DB errors

This commit is contained in:
e107steved
2007-02-03 12:43:53 +00:00
parent 5cd5a0ae32
commit 2908e775cd

View File

@@ -11,9 +11,9 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/class2.php,v $ | $Source: /cvs_backup/e107_0.8/class2.php,v $
| $Revision: 1.10 $ | $Revision: 1.11 $
| $Date: 2007-01-20 14:55:06 $ | $Date: 2007-02-03 12:43:53 $
| $Author: mrpete $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
// //
@@ -1012,32 +1012,34 @@ function get_user_data($uid, $extra = "")
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
function save_prefs($table = 'core', $uid = USERID, $row_val = '') { function save_prefs($table = 'core', $uid = USERID, $row_val = '')
global $pref, $user_pref, $tp, $PrefCache, $sql, $eArrayStorage; {
if ($table == 'core') { global $pref, $user_pref, $tp, $PrefCache, $sql, $eArrayStorage;
if ($row_val == '') { if ($table == 'core')
// Save old version as a backup {
if(!$sql->db_Update('core', "e107_value='".addslashes($PrefCache)."' WHERE e107_name='SitePrefs_Backup'")){ if ($row_val == '')
$sql->db_Insert('core', "'SitePrefs', '".addslashes($PrefCache)."'"); { // Save old version as a backup first
} $msqlPrefCache=addslashes($PrefCache);
$sql->db_Select_gen("INSERT INTO #core (e107_name,e107_value) values ('SitePrefs_Backup', '{$msqlPrefCache}')
ON DUPLICATE KEY UPDATE e107_value='{$msqlPrefCache}'");
// traverse the pref array, with toDB on everything // Now save the updated values
$_pref = $tp -> toDB($pref, true, true); // traverse the pref array, with toDB on everything
// Create the data to be stored $_pref = $tp -> toDB($pref, true, true);
$PrefCache1 = $eArrayStorage->WriteArray($_pref); // Create the data to be stored
if(!$sql->db_Update('core', "e107_value='{$PrefCache1}' WHERE e107_name = 'SitePrefs'")){ $msqlPrefCache = $eArrayStorage->WriteArray($_pref);
$sql->db_Insert('core', "'SitePrefs', '{$PrefCache1}'"); $sql->db_Select_gen("INSERT INTO #core (e107_name,e107_value) values ('SitePrefs', '{$msqlPrefCache}')
} ON DUPLICATE KEY UPDATE e107_value='{$msqlPrefCache}'");
ecache::clear('SitePrefs'); ecache::clear('SitePrefs');
}
} else {
$_user_pref = $tp -> toDB($user_pref);
$tmp=addslashes(serialize($_user_pref));
$sql->db_Update("user", "user_prefs='$tmp' WHERE user_id=".intval($uid));
return $tmp;
} }
}
else
{
$_user_pref = $tp -> toDB($user_pref);
$tmp=addslashes(serialize($_user_pref));
$sql->db_Update("user", "user_prefs='$tmp' WHERE user_id=".intval($uid));
return $tmp;
}
} }
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//