Example #1
0
 /**
  * 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;
     }
 }
Example #2
0
 /**
  * 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;
 }