From 86d0f65441c9c96fa0144eb562d8e7d3425c2e62 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 12 Apr 2010 12:23:16 -0600 Subject: [PATCH] Only update prefs if they contain non-default values --- imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php | 70 +++++++++++++--------- .../SystemTask/UpgradeFromKronolith2.php | 32 +++++----- .../LoginTasks/SystemTask/UpgradeFromTurba2.php | 16 ++--- .../{UpgradeFromWhups1 => UpgradeFromWhups1.php} | 32 +++++----- 4 files changed, 88 insertions(+), 62 deletions(-) rename whups/lib/LoginTasks/SystemTask/{UpgradeFromWhups1 => UpgradeFromWhups1.php} (51%) diff --git a/imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php b/imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php index 80ec99d24..8aaeae45b 100644 --- a/imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php +++ b/imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php @@ -37,25 +37,29 @@ class IMP_LoginTasks_SystemTask_UpgradeFromImp4 extends Horde_LoginTasks_SystemT { global $prefs; - $src = $prefs->getValue('search_sources'); - if (!is_array(json_decode($src))) { - $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + if (!$prefs->isDefault('search_sources')) { + $src = $prefs->getValue('search_sources'); + if (!is_array(json_decode($src))) { + $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + } } - $val = $prefs->getValue('search_fields'); - if (!is_array(json_decode($val, true))) { - $fields = array(); - foreach (explode("\n", $val) as $field) { - $field = trim($field); - if (!empty($field)) { - $tmp = explode("\t", $field); - if (count($tmp) > 1) { - $source = array_splice($tmp, 0, 1); - $fields[$source[0]] = $tmp; + if (!$prefs->isDefault('search_fields')) { + $val = $prefs->getValue('search_fields'); + if (!is_array(json_decode($val, true))) { + $fields = array(); + foreach (explode("\n", $val) as $field) { + $field = trim($field); + if (!empty($field)) { + $tmp = explode("\t", $field); + if (count($tmp) > 1) { + $source = array_splice($tmp, 0, 1); + $fields[$source[0]] = $tmp; + } } } + $prefs->setValue('search_fields', $fields); } - $prefs->setValue('search_fields', $fields); } } @@ -66,6 +70,10 @@ class IMP_LoginTasks_SystemTask_UpgradeFromImp4 extends Horde_LoginTasks_SystemT { global $prefs; + if ($prefs->isDefault('forward_default')) { + return; + } + switch ($prefs->getValue('forward_default')) { case 'forward_attachments': $prefs->setValue('forward_default', 'both'); @@ -99,23 +107,27 @@ class IMP_LoginTasks_SystemTask_UpgradeFromImp4 extends Horde_LoginTasks_SystemT { global $prefs; - $update = false; - $sortpref = @unserialize($prefs->getValue('sortpref')); - foreach ($sortpref as $key => $val) { - $sb = $this->_newSortbyValue($val['b']); - if (!is_null($sb)) { - $sortpref[$key]['b'] = $sb; - $update = true; + if (!$prefs->isDefault('sortpref')) { + $update = false; + $sortpref = @unserialize($prefs->getValue('sortpref')); + foreach ($sortpref as $key => $val) { + $sb = $this->_newSortbyValue($val['b']); + if (!is_null($sb)) { + $sortpref[$key]['b'] = $sb; + $update = true; + } } - } - if ($update) { - $prefs->setValue('sortpref', serialize($sortpref)); + if ($update) { + $prefs->setValue('sortpref', serialize($sortpref)); + } } - $sb = $this->_newSortbyValue($prefs->getValue('sortby')); - if (!is_null($sb)) { - $prefs->setValue('sortby', $sb); + if (!$prefs->isDefault('sortby')) { + $sb = $this->_newSortbyValue($prefs->getValue('sortby')); + if (!is_null($sb)) { + $prefs->setValue('sortby', $sb); + } } } @@ -148,6 +160,10 @@ class IMP_LoginTasks_SystemTask_UpgradeFromImp4 extends Horde_LoginTasks_SystemT */ protected function _upgradeVirtualFolders() { + if ($GLOBALS['prefs']->isDefault('vfolder')) { + return; + } + $vfolders = $GLOBALS['prefs']->getValue('vfolder'); if (!empty($vfolders)) { $vfolders = @unserialize($vfolders); diff --git a/kronolith/lib/LoginTasks/SystemTask/UpgradeFromKronolith2.php b/kronolith/lib/LoginTasks/SystemTask/UpgradeFromKronolith2.php index 0849769e1..3dacfadc5 100644 --- a/kronolith/lib/LoginTasks/SystemTask/UpgradeFromKronolith2.php +++ b/kronolith/lib/LoginTasks/SystemTask/UpgradeFromKronolith2.php @@ -34,25 +34,29 @@ class Kronolith_LoginTasks_SystemTask_UpgradeFromKronolith2 extends Horde_LoginT { global $prefs; - $src = $prefs->getValue('search_sources'); - if (!is_array(json_decode($src))) { - $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + if (!$prefs->isDefault('search_sources')) { + $src = $prefs->getValue('search_sources'); + if (!is_array(json_decode($src))) { + $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + } } - $val = $prefs->getValue('search_fields'); - if (!is_array(json_decode($val, true))) { - $fields = array(); - foreach (explode("\n", $val) as $field) { - $field = trim($field); - if (!empty($field)) { - $tmp = explode("\t", $field); - if (count($tmp) > 1) { - $source = array_splice($tmp, 0, 1); - $fields[$source[0]] = $tmp; + if (!$prefs->isDefault('search_fields')) { + $val = $prefs->getValue('search_fields'); + if (!is_array(json_decode($val, true))) { + $fields = array(); + foreach (explode("\n", $val) as $field) { + $field = trim($field); + if (!empty($field)) { + $tmp = explode("\t", $field); + if (count($tmp) > 1) { + $source = array_splice($tmp, 0, 1); + $fields[$source[0]] = $tmp; + } } } + $prefs->setValue('search_fields', $fields); } - $prefs->setValue('search_fields', $fields); } } diff --git a/turba/lib/LoginTasks/SystemTask/UpgradeFromTurba2.php b/turba/lib/LoginTasks/SystemTask/UpgradeFromTurba2.php index b0ffae6da..bcd4f0b55 100644 --- a/turba/lib/LoginTasks/SystemTask/UpgradeFromTurba2.php +++ b/turba/lib/LoginTasks/SystemTask/UpgradeFromTurba2.php @@ -34,14 +34,16 @@ class Turba_LoginTasks_SystemTask_UpgradeFromTurba2 extends Horde_LoginTasks_Sys { global $prefs; - $abooks = $prefs->getValue('addressbooks'); - if (!is_array(json_decode($abooks))) { - $abooks = @explode("\n", $abooks); - if (empty($abooks)) { - $abooks = array(); - } + if (!$prefs->isDefault('addressbooks')) { + $abooks = $prefs->getValue('addressbooks'); + if (!is_array(json_decode($abooks))) { + $abooks = @explode("\n", $abooks); + if (empty($abooks)) { + $abooks = array(); + } - return $prefs->setValue('addressbooks', json_encode($abooks)); + return $prefs->setValue('addressbooks', json_encode($abooks)); + } } } diff --git a/whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1 b/whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1.php similarity index 51% rename from whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1 rename to whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1.php index d0601c07f..05cd62ba8 100644 --- a/whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1 +++ b/whups/lib/LoginTasks/SystemTask/UpgradeFromWhups1.php @@ -34,25 +34,29 @@ class Whups_LoginTasks_SystemTask_UpgradeFromWhups1 extends Horde_LoginTasks_Sys { global $prefs; - $src = $prefs->getValue('search_sources'); - if (!is_array(json_decode($src))) { - $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + if (!$prefs->isDefault('search_sources')) { + $src = $prefs->getValue('search_sources'); + if (!is_array(json_decode($src))) { + $prefs->setValue('search_sources', json_encode(explode("\t", $src))); + } } - $val = $prefs->getValue('search_fields'); - if (!is_array(json_decode($val, true))) { - $fields = array(); - foreach (explode("\n", $val) as $field) { - $field = trim($field); - if (!empty($field)) { - $tmp = explode("\t", $field); - if (count($tmp) > 1) { - $source = array_splice($tmp, 0, 1); - $fields[$source[0]] = $tmp; + if (!$prefs->isDefault('search_fields')) { + $val = $prefs->getValue('search_fields'); + if (!is_array(json_decode($val, true))) { + $fields = array(); + foreach (explode("\n", $val) as $field) { + $field = trim($field); + if (!empty($field)) { + $tmp = explode("\t", $field); + if (count($tmp) > 1) { + $source = array_splice($tmp, 0, 1); + $fields[$source[0]] = $tmp; + } } } + $prefs->setValue('search_fields', $fields); } - $prefs->setValue('search_fields', $fields); } } -- 2.11.0