// Fix double configurations in installer
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15427 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -368,7 +368,8 @@ class InstallXmlLoader
|
|||||||
if (!file_exists($path))
|
if (!file_exists($path))
|
||||||
throw new PrestashopInstallerException('XML data file '.$entity.'.xml not found');
|
throw new PrestashopInstallerException('XML data file '.$entity.'.xml not found');
|
||||||
|
|
||||||
if (!$this->cache_xml_entity[$this->path_type][$entity][$iso] = @simplexml_load_file($path, 'InstallSimplexmlElement'))
|
$this->cache_xml_entity[$this->path_type][$entity][$iso] = @simplexml_load_file($path, 'InstallSimplexmlElement');
|
||||||
|
if (!$this->cache_xml_entity[$this->path_type][$entity][$iso])
|
||||||
throw new PrestashopInstallerException('XML data file '.$entity.'.xml invalid');
|
throw new PrestashopInstallerException('XML data file '.$entity.'.xml invalid');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -479,6 +480,35 @@ class InstallXmlLoader
|
|||||||
$this->storeId($entity, $identifier, $entity_id);
|
$this->storeId($entity, $identifier, $entity_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createEntityConfiguration($identifier, array $data, array $data_lang)
|
||||||
|
{
|
||||||
|
if (Db::getInstance()->getValue('SELECT id_configuration FROM '._DB_PREFIX_.'configuration WHERE name = \''.pSQL($data['name']).'\''))
|
||||||
|
return;
|
||||||
|
|
||||||
|
$entity = 'configuration';
|
||||||
|
$entity_id = $this->generatePrimary($entity, 'id_configuration');
|
||||||
|
$data['id_configuration'] = $entity_id;
|
||||||
|
|
||||||
|
// Store INSERT queries in order to optimize install with grouped inserts
|
||||||
|
$this->delayed_inserts[$entity][] = array_map('pSQL', $data);
|
||||||
|
if ($data_lang)
|
||||||
|
{
|
||||||
|
$real_data_lang = array();
|
||||||
|
foreach ($data_lang as $field => $list)
|
||||||
|
foreach ($list as $id_lang => $value)
|
||||||
|
$real_data_lang[$id_lang][$field] = $value;
|
||||||
|
|
||||||
|
foreach ($real_data_lang as $id_lang => $insert_data_lang)
|
||||||
|
{
|
||||||
|
$insert_data_lang['id_'.$entity] = $entity_id;
|
||||||
|
$insert_data_lang['id_lang'] = $id_lang;
|
||||||
|
$this->delayed_inserts[$entity.'_lang'][] = array_map('pSQL', $insert_data_lang);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->storeId($entity, $identifier, $entity_id);
|
||||||
|
}
|
||||||
|
|
||||||
public function createEntityTab($identifier, array $data, array $data_lang)
|
public function createEntityTab($identifier, array $data, array $data_lang)
|
||||||
{
|
{
|
||||||
static $position = array();
|
static $position = array();
|
||||||
|
|||||||
Reference in New Issue
Block a user