Esempio n. 1
0
 public function import($db_already_cloned)
 {
     Registry::set('runtime.simple_ultimate', true);
     Registry::del('runtime.forced_company_id');
     General::setProgressTitle(__CLASS__);
     if (!$db_already_cloned) {
         if (!General::cloneImportedDB($this->store_data)) {
             return false;
         }
     } else {
         General::setEmptyProgressBar(__('importing_data'));
         General::setEmptyProgressBar(__('importing_data'));
     }
     General::connectToImportedDB($this->store_data);
     $supplier_settings = $this->getSupplierSettings();
     General::setSupplierSettings($supplier_settings);
     $default_language = db_get_field("SELECT value FROM ?:settings WHERE option_name = 'customer_default_language' AND section_id = 'Appearance'");
     $settings_to_be_saved = array('use_email_as_login', 'admin_default_language', 'customer_default_language', 'disable_shipping', 'fedex_enabled', 'ups_enabled', 'usps_enabled', 'dhl_enabled', 'aup_enabled', 'can_enabled', 'swisspost_enabled', 'seo_product_type', 'seo_category_type', 'single_url', 'seo_language');
     $settings_to_be_saved_values = General::get22xSettings($settings_to_be_saved);
     $addons = General::get22xAddons();
     General::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     $main_sql = Registry::get('config.dir.addons') . 'store_import/database/' . $this->main_sql_filename;
     if (is_file($main_sql)) {
         //Process main sql
         if (!db_import_sql_file($main_sql)) {
             return false;
         }
     }
     General::processAddons($this->store_data, __CLASS__, array_keys($addons));
     if (!empty($addons)) {
         General::processAddonsSettings($addons);
     }
     General::enableInstalledAddons($addons);
     General::setEmptyProgressBar();
     $this->_importMenu();
     $this->_copyImages();
     $this->_copyFiles();
     $this->_patchProfileFields();
     $this->_normalizeProductViews();
     $this->_normalizeUserGroupIds();
     $this->_fixLanguagesMissedInImported($default_language);
     General::addStatusColors();
     General::copyProductsBlocks($this->store_data);
     General::restore22xSavedSetting($settings_to_be_saved_values);
     General::setEmptyProgressBar();
     return true;
 }