/** * PROCESS : installTheme * Install theme */ public function installTheme() { // @todo do a real install of the theme $sql_loader = new InstallSqlLoader(); $sql_loader->setMetaData(array('PREFIX_' => _DB_PREFIX_, 'ENGINE_TYPE' => _MYSQL_ENGINE_)); $sql_loader->parse_file(_PS_INSTALL_DATA_PATH_ . 'theme.sql', false); if ($errors = $sql_loader->getErrors()) { $this->setError($errors); return false; } }
/** * PROCESS : populateDatabase * Populate database with default data */ public function populateDatabase($entity = null) { $languages = array(); foreach (Language::getLanguages(true) as $lang) { $languages[$lang['id_lang']] = $lang['iso_code']; } // Install XML data (data/xml/ folder) $xml_loader = new InstallXmlLoader(); $xml_loader->setLanguages($languages); if (isset($this->xml_loader_ids) && $this->xml_loader_ids) { $xml_loader->setIds($this->xml_loader_ids); } if ($entity) { $xml_loader->populateEntity($entity); } else { $xml_loader->populateFromXmlFiles(); } if ($errors = $xml_loader->getErrors()) { $this->setError($errors); return false; } // IDS from xmlLoader are stored in order to use them for fixtures $this->xml_loader_ids = $xml_loader->getIds(); unset($xml_loader); // Install custom SQL data (db_data.sql file) if (file_exists(_PS_INSTALL_DATA_PATH_ . 'db_data.sql')) { $sql_loader = new InstallSqlLoader(); $sql_loader->setMetaData(array('PREFIX_' => _DB_PREFIX_, 'ENGINE_TYPE' => _MYSQL_ENGINE_)); $sql_loader->parse_file(_PS_INSTALL_DATA_PATH_ . 'db_data.sql', false); if ($errors = $sql_loader->getErrors()) { $this->setError($errors); return false; } } // Copy language default images (we do this action after database in populated because we need image types information) foreach ($languages as $iso) { $this->copyLanguageImages($iso); } return true; }