diff --git a/extension.driver.php b/extension.driver.php index 5d66c03..609309e 100644 --- a/extension.driver.php +++ b/extension.driver.php @@ -273,7 +273,7 @@ public function update($previousVersion) { $fields = Symphony::Database()->fetchCol('field_id',"SELECT field_id FROM `tbl_fields_order_entries`"); - foreach ($fields as $key => $field) { + foreach ($fields as $key => $field) { $status[] = Symphony::Database()->query(" ALTER TABLE `tbl_entries_data_{$field}` DROP INDEX `entry_id` diff --git a/extension.meta.xml b/extension.meta.xml index 6a378fe..03fc5a0 100644 --- a/extension.meta.xml +++ b/extension.meta.xml @@ -18,6 +18,9 @@ + + - Fix bug where value was also being set for null filters + - Bug fixes (#69, #72, #73) diff --git a/fields/field.order_entries.php b/fields/field.order_entries.php index d47753b..1fd524a 100644 --- a/fields/field.order_entries.php +++ b/fields/field.order_entries.php @@ -208,7 +208,7 @@ private function updateFilterTable(){ // fetch existing table schema $currentFilters = Symphony::Database()->fetchCol('Field',"SHOW COLUMNS FROM tbl_entries_data_{$orderFieldId} WHERE Field like 'field_%';"); - + //change the value format to match the filtered fields stored foreach ($currentFilters as $key => $value) { $currentFilter = substr($value, 6); @@ -299,7 +299,7 @@ function displayPublishPanel(&$wrapper, $data = null, $flagWithError = null, $fi foreach ($row as $key => $value) { $input = Widget::Input( 'fields' . $fieldnamePrefix . '[' . $this->get('element_name') . '][' . $col . '][' . $key . ']' . $fieldnamePostfix, - (strlen($value) !== 0 ? (string)$value : (string)++$max_position["max"]), + (strlen($value) !== 0 || $col != 'value') ? (string)$value : (string)++$max_position["max"], ($this->get('hide') == 'yes' || $col != 'value') ? 'hidden' : 'text' ); $inputs->appendChild($input); @@ -354,7 +354,7 @@ public function checkPostFieldData($data, &$message, $entry_id = null) { $numeric = array_filter($data['value'],'is_numeric'); if (sizeof($numeric) != sizeof($data['value'])){ $message = __('Must be a number.'); - return self::__INVALID_FIELDS__; + return self::__INVALID_FIELDS__; } } else if(strlen($data) > 0 && !is_numeric($data)) { $message = __('Must be a number.');