From 4a01eb25779568c7019f705e1d5402ce14f8b27b Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Wed, 19 Jul 2006 15:42:12 +0000 Subject: [PATCH] r905: Fixed a bug with updating the selects items --- admin/field.php | 5 ++++- includes/api_field.php | 9 +++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/admin/field.php b/admin/field.php index 9c2cf89..b265a62 100644 --- a/admin/field.php +++ b/admin/field.php @@ -74,6 +74,10 @@ if ($_REQUEST['do'] == 'update') $add = false; $type = $field->objdata['type']; } + else + { + $field->set('type', $type); + } switch ($type) { @@ -100,7 +104,6 @@ if ($_REQUEST['do'] == 'update') if ($add) { - $field->set('type', $type); $field->insert(); $fieldid = $field->insertid; diff --git a/includes/api_field.php b/includes/api_field.php index 7c3ec34..3b1026b 100644 --- a/includes/api_field.php +++ b/includes/api_field.php @@ -158,8 +158,10 @@ class FieldAPI extends API */ function verify_selects() { - if ($this->values['type'] == 'select_single') + static $serialized; + if ($this->values['type'] == 'select_single' OR $this->objdata['type'] == 'select_single') { + $this->registry->debug('it works'); // can't use explode() here because explode() returns !empty() when splitting an empty string // so we have to use preg_split with the PREG_SPLIT_NO_EMPTY flag to prevent this $selects = preg_split("#\n#", trim($this->values['selects']), 0, PREG_SPLIT_NO_EMPTY); @@ -170,7 +172,10 @@ class FieldAPI extends API } else { - $this->set('selects', serialize($selects)); + if ($serialized != serialize($selects)) + { + $this->values['selects'] = $serialized = serialize($selects); + } } } -- 2.22.5