diff --git a/classes/db/Db.php b/classes/db/Db.php index 5be1b2fba..2d3bfe795 100644 --- a/classes/db/Db.php +++ b/classes/db/Db.php @@ -250,7 +250,7 @@ abstract class DbCore * * @param string $table Table where insert/update data * @param string $data Data to insert/update - * @param string $type INSERT or INSERT IGNORE or UPDATE + * @param string $type INSERT or INSERT IGNORE or REPLACE or UPDATE * @param string $where WHERE clause, only for UPDATE (optional) * @param int $limit LIMIT clause (optional) * @param bool $use_cache @@ -263,7 +263,7 @@ abstract class DbCore return true; $type = strtoupper($type); - if ($type == 'INSERT' || $type == 'INSERT IGNORE') + if ($type == 'INSERT' || $type == 'INSERT IGNORE' || $type == 'REPLACE') { // Check if $data is a list of row $current = current($data); diff --git a/install-new/classes/xmlLoader.php b/install-new/classes/xmlLoader.php index c1a8eb976..e39d121f0 100644 --- a/install-new/classes/xmlLoader.php +++ b/install-new/classes/xmlLoader.php @@ -406,7 +406,11 @@ class InstallXmlLoader else { // Create entity in database); - if (!Db::getInstance()->autoExecute(_DB_PREFIX_.$entity, array_map('pSQL', $data), 'INSERT IGNORE')) + $execute_type = 'INSERT IGNORE'; + if ($entity == 'access') + $execute_type = 'REPLACE'; + + if (!Db::getInstance()->autoExecute(_DB_PREFIX_.$entity, array_map('pSQL', $data), $execute_type)) $this->setError($this->language->l('An SQL error occured for entity %1$s: %2$s', $entity, Db::getInstance()->getMsgError())); $entity_id = Db::getInstance()->Insert_ID();