From a337f004c103fa403d7529eeba7821f45fcf35ac Mon Sep 17 00:00:00 2001 From: rMalie Date: Thu, 22 Dec 2011 23:20:30 +0000 Subject: [PATCH] // Fix null values ... git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11726 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/Configuration.php | 4 ++-- classes/ObjectModel.php | 4 ++++ install-new/classes/xmlLoader.php | 8 +++++++- install-new/data/xml/access.xml | 16 +++++++-------- install-new/data/xml/address_format.xml | 8 ++++---- install-new/data/xml/carrier.xml | 12 +++++------ install-new/data/xml/carrier_group.xml | 2 +- install-new/data/xml/carrier_zone.xml | 6 +++--- install-new/data/xml/category.xml | 6 +++--- install-new/data/xml/category_group.xml | 8 ++++---- install-new/data/xml/cms.xml | 8 ++++---- install-new/data/xml/cms_category.xml | 6 +++--- install-new/data/xml/configuration.xml | 8 ++++---- install-new/data/xml/contact.xml | 6 +++--- install-new/data/xml/country.xml | 22 ++++++++++----------- install-new/data/xml/delivery.xml | 2 +- install-new/data/xml/gender.xml | 6 +++--- install-new/data/xml/group.xml | 10 +++++----- install-new/data/xml/hook.xml | 14 ++++++------- install-new/data/xml/hook_alias.xml | 8 ++++---- install-new/data/xml/image_type.xml | 20 +++++++++---------- install-new/data/xml/meta.xml | 6 +++--- install-new/data/xml/operating_system.xml | 6 +++--- install-new/data/xml/order_return_state.xml | 6 +++--- install-new/data/xml/order_state.xml | 22 ++++++++++----------- install-new/data/xml/profile.xml | 2 +- install-new/data/xml/quick_access.xml | 8 ++++---- install-new/data/xml/risk.xml | 8 ++++---- install-new/data/xml/search_engine.xml | 8 ++++---- install-new/data/xml/state.xml | 16 +++++++-------- install-new/data/xml/stock_mvt_reason.xml | 6 +++--- install-new/data/xml/subdomain.xml | 6 +++--- install-new/data/xml/supply_order_state.xml | 16 +++++++-------- install-new/data/xml/tab.xml | 10 +++++----- install-new/data/xml/theme.xml | 6 +++--- install-new/data/xml/timezone.xml | 6 +++--- install-new/data/xml/warehouse.xml | 2 +- install-new/data/xml/web_browser.xml | 6 +++--- install-new/data/xml/zone.xml | 8 ++++---- install-new/dev/index.php | 4 ++++ install-new/dev/index.phtml | 3 +++ 41 files changed, 178 insertions(+), 161 deletions(-) diff --git a/classes/Configuration.php b/classes/Configuration.php index dd57cb048..ffb5e81eb 100644 --- a/classes/Configuration.php +++ b/classes/Configuration.php @@ -53,8 +53,8 @@ class ConfigurationCore extends ObjectModel 'multilang' => true, 'fields' => array( 'name' => array('type' => self::TYPE_STRING, 'validate' => 'isConfigName', 'required' => true, 'size' => 32), - 'id_group_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), - 'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), + 'id_group_shop' => array('type' => self::TYPE_NOTHING, 'validate' => 'isUnsignedId'), + 'id_shop' => array('type' => self::TYPE_NOTHING, 'validate' => 'isUnsignedId'), 'value' => array('type' => self::TYPE_STRING), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), diff --git a/classes/ObjectModel.php b/classes/ObjectModel.php index 82619f7f8..21d4bbf49 100644 --- a/classes/ObjectModel.php +++ b/classes/ObjectModel.php @@ -36,6 +36,7 @@ abstract class ObjectModelCore const TYPE_FLOAT = 4; const TYPE_DATE = 5; const TYPE_HTML = 6; + const TYPE_NOTHING = 7; /** * List of association types @@ -338,6 +339,9 @@ abstract class ObjectModelCore return '\''.pSQL($value, true).'\''; return pSQL($value, true); + case self::TYPE_NOTHING : + return $value; + case self::TYPE_STRING : default : if ($with_quotes) diff --git a/install-new/classes/xmlLoader.php b/install-new/classes/xmlLoader.php index 3da97159a..c1a8eb976 100644 --- a/install-new/classes/xmlLoader.php +++ b/install-new/classes/xmlLoader.php @@ -393,12 +393,14 @@ class InstallXmlLoader } else if ($classname) { + $xml = $this->loadEntity($entity); + // Create entity with ObjectModel class $object = new $classname(); $object->hydrate($data); if ($data_lang) $object->hydrate($data_lang); - $object->add(); + $object->add(true, (isset($xml->fields['null'])) ? true : false); $entity_id = $object->id; } else @@ -669,6 +671,7 @@ class InstallXmlLoader 'sql' => '', 'ordersql' => '', 'image' => '', + 'null' => '', ), 'fields' => array(), ); @@ -695,6 +698,9 @@ class InstallXmlLoader if ($xml->fields['ordersql']) $info['config']['ordersql'] = (string)$xml->fields['ordersql']; + if ($xml->fields['null']) + $info['config']['null'] = (string)$xml->fields['null']; + if ($xml->fields['image']) $info['config']['image'] = (string)$xml->fields['image']; diff --git a/install-new/data/xml/access.xml b/install-new/data/xml/access.xml index a2eff04ba..ef368b7f4 100644 --- a/install-new/data/xml/access.xml +++ b/install-new/data/xml/access.xml @@ -1,13 +1,5 @@ - - - - - - - - @@ -109,4 +101,12 @@ + + + + + + + + diff --git a/install-new/data/xml/address_format.xml b/install-new/data/xml/address_format.xml index 466bb5720..20901acb7 100644 --- a/install-new/data/xml/address_format.xml +++ b/install-new/data/xml/address_format.xml @@ -1,9 +1,5 @@ - - - - firstname lastname @@ -2444,4 +2440,8 @@ Country:name phone + + + + diff --git a/install-new/data/xml/carrier.xml b/install-new/data/xml/carrier.xml index d4aed93b1..fe4e6f833 100644 --- a/install-new/data/xml/carrier.xml +++ b/install-new/data/xml/carrier.xml @@ -1,5 +1,11 @@ + + + 0 + + + @@ -18,10 +24,4 @@ - - - 0 - - - diff --git a/install-new/data/xml/carrier_group.xml b/install-new/data/xml/carrier_group.xml index 63ee20d09..161d25bd5 100644 --- a/install-new/data/xml/carrier_group.xml +++ b/install-new/data/xml/carrier_group.xml @@ -1,8 +1,8 @@ + - diff --git a/install-new/data/xml/carrier_zone.xml b/install-new/data/xml/carrier_zone.xml index eba14abc4..69b5ceb64 100644 --- a/install-new/data/xml/carrier_zone.xml +++ b/install-new/data/xml/carrier_zone.xml @@ -1,10 +1,10 @@ + + + - - - diff --git a/install-new/data/xml/category.xml b/install-new/data/xml/category.xml index 5fdd43b44..7bb81cc80 100644 --- a/install-new/data/xml/category.xml +++ b/install-new/data/xml/category.xml @@ -1,10 +1,10 @@ + + + - - - diff --git a/install-new/data/xml/category_group.xml b/install-new/data/xml/category_group.xml index a61018734..01f5f8db8 100644 --- a/install-new/data/xml/category_group.xml +++ b/install-new/data/xml/category_group.xml @@ -1,12 +1,12 @@ - - - - + + + + diff --git a/install-new/data/xml/cms.xml b/install-new/data/xml/cms.xml index b8ca83e16..1f1eef6e6 100644 --- a/install-new/data/xml/cms.xml +++ b/install-new/data/xml/cms.xml @@ -1,9 +1,5 @@ - - - - @@ -11,4 +7,8 @@ + + + + diff --git a/install-new/data/xml/cms_category.xml b/install-new/data/xml/cms_category.xml index 33d4e3d2d..730951149 100644 --- a/install-new/data/xml/cms_category.xml +++ b/install-new/data/xml/cms_category.xml @@ -1,10 +1,10 @@ + + + - - - diff --git a/install-new/data/xml/configuration.xml b/install-new/data/xml/configuration.xml index b60ddd987..1262b6407 100644 --- a/install-new/data/xml/configuration.xml +++ b/install-new/data/xml/configuration.xml @@ -1,9 +1,5 @@ - - - - 2 @@ -852,4 +848,8 @@ 0 + + + + diff --git a/install-new/data/xml/contact.xml b/install-new/data/xml/contact.xml index 9f8034390..45da756a4 100644 --- a/install-new/data/xml/contact.xml +++ b/install-new/data/xml/contact.xml @@ -1,10 +1,10 @@ - - - + + + diff --git a/install-new/data/xml/country.xml b/install-new/data/xml/country.xml index 2bb63d79d..c61b8e9f1 100644 --- a/install-new/data/xml/country.xml +++ b/install-new/data/xml/country.xml @@ -1,16 +1,5 @@ - - - - - - - - - - - @@ -257,4 +246,15 @@ + + + + + + + + + + + diff --git a/install-new/data/xml/delivery.xml b/install-new/data/xml/delivery.xml index 9e8bc85c9..fc42bd63c 100644 --- a/install-new/data/xml/delivery.xml +++ b/install-new/data/xml/delivery.xml @@ -1,5 +1,6 @@ + @@ -9,5 +10,4 @@ - diff --git a/install-new/data/xml/gender.xml b/install-new/data/xml/gender.xml index fd324a60d..8baeadefd 100644 --- a/install-new/data/xml/gender.xml +++ b/install-new/data/xml/gender.xml @@ -1,11 +1,11 @@ - - - + + + diff --git a/install-new/data/xml/group.xml b/install-new/data/xml/group.xml index acef37033..95ecac33e 100644 --- a/install-new/data/xml/group.xml +++ b/install-new/data/xml/group.xml @@ -1,13 +1,13 @@ - - - - - + + + + + diff --git a/install-new/data/xml/hook.xml b/install-new/data/xml/hook.xml index 395a6f2e1..7a9ee0e4e 100644 --- a/install-new/data/xml/hook.xml +++ b/install-new/data/xml/hook.xml @@ -1,12 +1,5 @@ - - - - - - - displayPayment @@ -439,4 +432,11 @@ Display extra informations inside the "my account" block + + + + + + + diff --git a/install-new/data/xml/hook_alias.xml b/install-new/data/xml/hook_alias.xml index 78faaa98f..af93a761b 100644 --- a/install-new/data/xml/hook_alias.xml +++ b/install-new/data/xml/hook_alias.xml @@ -1,9 +1,5 @@ - - - - payment @@ -346,4 +342,8 @@ actionTaxManager + + + + diff --git a/install-new/data/xml/image_type.xml b/install-new/data/xml/image_type.xml index 0c72134bf..80a3a99ae 100644 --- a/install-new/data/xml/image_type.xml +++ b/install-new/data/xml/image_type.xml @@ -1,5 +1,15 @@ + + + + + + + + + + @@ -12,14 +22,4 @@ - - - - - - - - - - diff --git a/install-new/data/xml/meta.xml b/install-new/data/xml/meta.xml index 1afd028dc..55bcd3672 100644 --- a/install-new/data/xml/meta.xml +++ b/install-new/data/xml/meta.xml @@ -1,8 +1,5 @@ - - - 404 @@ -80,4 +77,7 @@ guest-tracking + + + diff --git a/install-new/data/xml/operating_system.xml b/install-new/data/xml/operating_system.xml index d77191e76..733f82677 100644 --- a/install-new/data/xml/operating_system.xml +++ b/install-new/data/xml/operating_system.xml @@ -1,8 +1,5 @@ - - - Windows XP @@ -17,4 +14,7 @@ Linux + + + diff --git a/install-new/data/xml/order_return_state.xml b/install-new/data/xml/order_return_state.xml index 620a03dbf..fdd5d495a 100644 --- a/install-new/data/xml/order_return_state.xml +++ b/install-new/data/xml/order_return_state.xml @@ -1,8 +1,5 @@ - - - @@ -10,4 +7,7 @@ + + + diff --git a/install-new/data/xml/order_state.xml b/install-new/data/xml/order_state.xml index 77b2eaefd..537e60edd 100644 --- a/install-new/data/xml/order_state.xml +++ b/install-new/data/xml/order_state.xml @@ -1,16 +1,5 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/install-new/data/xml/profile.xml b/install-new/data/xml/profile.xml index 557a09f5c..fce9aa157 100644 --- a/install-new/data/xml/profile.xml +++ b/install-new/data/xml/profile.xml @@ -1,7 +1,7 @@ - + diff --git a/install-new/data/xml/quick_access.xml b/install-new/data/xml/quick_access.xml index 2097553e1..d924fa040 100644 --- a/install-new/data/xml/quick_access.xml +++ b/install-new/data/xml/quick_access.xml @@ -1,9 +1,5 @@ - - - - index.php @@ -21,4 +17,8 @@ index.php?controller=AdminCartRules&addcart_rule + + + + diff --git a/install-new/data/xml/risk.xml b/install-new/data/xml/risk.xml index c8a17a7c2..0fd39d6cf 100644 --- a/install-new/data/xml/risk.xml +++ b/install-new/data/xml/risk.xml @@ -1,13 +1,13 @@ - - - - + + + + diff --git a/install-new/data/xml/search_engine.xml b/install-new/data/xml/search_engine.xml index 411a27ff8..67544ff7f 100644 --- a/install-new/data/xml/search_engine.xml +++ b/install-new/data/xml/search_engine.xml @@ -1,9 +1,5 @@ - - - - google @@ -120,4 +116,8 @@ rambler + + + + diff --git a/install-new/data/xml/state.xml b/install-new/data/xml/state.xml index 5f48d0706..11deaa7d9 100644 --- a/install-new/data/xml/state.xml +++ b/install-new/data/xml/state.xml @@ -1,13 +1,5 @@ - - - - - - - - Alabama @@ -946,4 +938,12 @@ Yamanashi + + + + + + + + diff --git a/install-new/data/xml/stock_mvt_reason.xml b/install-new/data/xml/stock_mvt_reason.xml index 93ce8d919..5042367c9 100644 --- a/install-new/data/xml/stock_mvt_reason.xml +++ b/install-new/data/xml/stock_mvt_reason.xml @@ -1,8 +1,5 @@ - - - @@ -13,4 +10,7 @@ + + + diff --git a/install-new/data/xml/subdomain.xml b/install-new/data/xml/subdomain.xml index 07156939b..9e50bf9b0 100644 --- a/install-new/data/xml/subdomain.xml +++ b/install-new/data/xml/subdomain.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/install-new/data/xml/supply_order_state.xml b/install-new/data/xml/supply_order_state.xml index f7a0299d3..d420894a4 100644 --- a/install-new/data/xml/supply_order_state.xml +++ b/install-new/data/xml/supply_order_state.xml @@ -1,13 +1,5 @@ - - - - - - - - @@ -16,4 +8,12 @@ + + + + + + + + diff --git a/install-new/data/xml/tab.xml b/install-new/data/xml/tab.xml index bc8973379..16cb83f93 100644 --- a/install-new/data/xml/tab.xml +++ b/install-new/data/xml/tab.xml @@ -1,10 +1,5 @@ - - - - - AdminHome @@ -304,4 +299,9 @@ AdminAccountingExport + + + + + diff --git a/install-new/data/xml/theme.xml b/install-new/data/xml/theme.xml index 881be4e2b..f7ebcf3ee 100644 --- a/install-new/data/xml/theme.xml +++ b/install-new/data/xml/theme.xml @@ -1,11 +1,11 @@ - - - default + + + diff --git a/install-new/data/xml/timezone.xml b/install-new/data/xml/timezone.xml index ca6ac4138..98fe5d8e0 100644 --- a/install-new/data/xml/timezone.xml +++ b/install-new/data/xml/timezone.xml @@ -1,8 +1,5 @@ - - - @@ -565,4 +562,7 @@ + + + diff --git a/install-new/data/xml/warehouse.xml b/install-new/data/xml/warehouse.xml index f9b165670..746c2af88 100644 --- a/install-new/data/xml/warehouse.xml +++ b/install-new/data/xml/warehouse.xml @@ -1,5 +1,6 @@ + @@ -8,5 +9,4 @@ - diff --git a/install-new/data/xml/web_browser.xml b/install-new/data/xml/web_browser.xml index 4d31db30f..28fc73312 100644 --- a/install-new/data/xml/web_browser.xml +++ b/install-new/data/xml/web_browser.xml @@ -1,8 +1,5 @@ - - - Safari @@ -29,4 +26,7 @@ Google Chrome + + + diff --git a/install-new/data/xml/zone.xml b/install-new/data/xml/zone.xml index 1213ee9e7..08126df94 100644 --- a/install-new/data/xml/zone.xml +++ b/install-new/data/xml/zone.xml @@ -1,9 +1,5 @@ - - - - Europe @@ -30,4 +26,8 @@ Centrale America/Antilla + + + + diff --git a/install-new/dev/index.php b/install-new/dev/index.php index 830a2bc3e..1a765c523 100644 --- a/install-new/dev/index.php +++ b/install-new/dev/index.php @@ -54,6 +54,7 @@ class SynchronizeController extends InstallControllerHttp $sqls = isset($_POST['sql']) ? (array)$_POST['sql'] : array(); $orders = isset($_POST['order']) ? (array)$_POST['order'] : array(); $images = isset($_POST['image']) ? (array)$_POST['image'] : array(); + $nulls = isset($_POST['null']) ? (array)$_POST['null'] : array(); $entities = array(); foreach ($tables as $table) @@ -77,6 +78,9 @@ class SynchronizeController extends InstallControllerHttp if (isset($images[$table]) && $images[$table]) $config['image'] = $images[$table]; + if (isset($nulls[$table]) && $nulls[$table]) + $config['null'] = $nulls[$table]; + $fields = array(); if (isset($columns[$table])) { diff --git a/install-new/dev/index.phtml b/install-new/dev/index.phtml index 2f025d3be..5731b7058 100644 --- a/install-new/dev/index.phtml +++ b/install-new/dev/index.phtml @@ -202,6 +202,9 @@ Ordre SQL + loader->getColumns($entity) as $column => $is_text): ?>