Exemplo 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::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::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 2
0
 public function import($db_already_cloned)
 {
     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::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::addEsStates();
     General::restoreSettings();
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 3
0
 public function import($db_already_cloned)
 {
     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::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::restoreSettings();
     db_query("\n            DELETE FROM ?:settings_objects\n            WHERE name IN (\n                'product_notify_vendor',\n                'order_notify_vendor',\n                'page_notify_vendor',\n                'company_discussion_type',\n                'company_only_buyers',\n                'company_posts_per_page',\n                'company_post_approval',\n                'company_post_ip_check',\n                'company_notification_email',\n                'company_notify_vendor',\n                'companies_setting',\n                'include_companies',\n                'companies_change',\n                'companies_priority',\n                'product_share_discussion',\n                'news_share_discussion',\n                'page_share_discussion',\n                'testimonials_from_all_stores'\n            )\n            AND section_id IN (\n                SELECT section_id FROM ?:settings_sections\n                WHERE name IN (\n                    'discussion',\n                    'google_sitemap'\n                )\n            )\n        ");
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('state_descriptions', 'state_id');
     db_query('DROP TABLE IF EXISTS ?:se_queue');
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 4
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     General::processAddons($this->store_data, __CLASS__);
     $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::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::convertPresets403To411();
     General::convertScrollerBlocks();
     db_query("UPDATE ?:sales_reports_tables SET type = 'P' WHERE type = 'C'");
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 5
0
 public function import($db_already_cloned)
 {
     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::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__);
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::updateAltLanguages('privilege_descriptions', 'privilege');
     General::updateAltLanguages('privilege_section_descriptions', 'section_id');
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::updateAltLanguages('country_descriptions', 'code');
     General::processBlocks();
     General::setEmptyProgressBar();
     if (db_get_field("SHOW TABLES LIKE '?:mailing_lists'")) {
         db_query("ALTER TABLE ?:mailing_lists DROP `show_on_sidebar`");
     }
     return true;
 }
Exemplo n.º 6
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     General::processAddons($this->store_data, __CLASS__);
     $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::restoreSettings();
     if (db_get_field("SELECT status FROM ?:addons WHERE addon = 'searchanise'") != 'D') {
         db_query("UPDATE ?:addons SET status = 'D' WHERE addon = 'searchanise'");
         fn_set_notification('W', __('warning'), General::getUnavailableLangVar('uc_searchanise_disabled'));
     }
     General::setActualLangValues();
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('ult_language_values', array('name', 'company_id'));
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 7
0
 public function import($db_already_cloned)
 {
     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::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::setEmptyProgressBar();
     General::restoreSettings();
     db_query("\n            DELETE FROM ?:settings_objects\n            WHERE name IN (\n                'product_share_discussion',\n                'news_share_discussion',\n                'page_share_discussion',\n                'testimonials_from_all_stores'\n            )\n            AND section_id IN (\n                SELECT section_id FROM ?:settings_sections\n                WHERE name = 'discussion'\n            )\n        ");
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 8
0
 public function import($db_already_cloned)
 {
     General::setProgressTitle(__CLASS__);
     if (!$db_already_cloned) {
         if (!General::cloneImportedDB($this->store_data)) {
             return false;
         }
     } else {
         General::setEmptyProgressBar(__('importing_data'));
         General::setEmptyProgressBar(__('importing_data'));
     }
     //We should get locations before database upgrade. It is for the old versions.
     $bm_locations = $this->_getBmLocations();
     General::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     if (General::supplierSettings('enabled')) {
         $this->_installSuppliers();
     }
     $skin_name = $this->_getSkinName();
     General::processAddons($this->store_data, __CLASS__);
     $this->_processCurrencies();
     $this->_processLanguages();
     $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::uninstallAddons(array('twigmo', 'searchanise', 'live_help', 'exim_store', 'webmail'));
     //        General::restoreSettings();
     $this->_processPayments();
     $this->_processBMContainers();
     $this->_createLayouts($bm_locations);
     $this->_convertOrders();
     $this->_processImages($skin_name);
     $this->_processFiles('downloads');
     $this->_processFiles('attachments');
     $this->_processFiles('custom_files');
     $this->_processLanguageValues();
     $this->_fillSharingTable();
     General::updateStatusColors();
     General::processBMBlocksTemplates();
     General::processBMProductFiltersBlockContent();
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::updateAltLanguages('privilege_descriptions', 'privilege');
     General::updateAltLanguages('privilege_section_descriptions', 'section_id');
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::updateAltLanguages('country_descriptions', 'code');
     General::updateAltLanguages('bm_blocks_descriptions', 'block_id');
     General::updateAltLanguages('bm_locations_descriptions', 'location_id');
     General::updateAltLanguages('bm_blocks_content', array('snapping_id', 'object_id', 'object_type', 'block_id'));
     return true;
 }
Exemplo n.º 9
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     $default_company = General::getDefaultCompany();
     General::processAddons($this->store_data, __CLASS__);
     $this->_processCurrencies();
     $this->_processLanguages();
     $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;
         }
     }
     $default_company_id = (int) General::createDefaultCompany($default_company);
     $this->_updateCompanyId($default_company_id);
     $this->_processPayments();
     $this->_processBMContainers();
     $this->_createLayouts();
     $this->_convertOrders($default_company_id);
     $this->_processLanguageValues();
     $this->_processProducts($default_company_id);
     $this->_processShippings($default_company_id);
     General::updateStatusColors();
     General::processBMBlocksTemplates();
     General::processBMProductFiltersBlockContent();
     General::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::updateAltLanguages('privilege_descriptions', 'privilege');
     General::updateAltLanguages('privilege_section_descriptions', 'section_id');
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::updateAltLanguages('country_descriptions', 'code');
     General::updateAltLanguages('bm_blocks_descriptions', 'block_id');
     General::updateAltLanguages('bm_locations_descriptions', 'location_id');
     General::updateAltLanguages('bm_blocks_content', array('snapping_id', 'object_id', 'object_type', 'block_id'));
     return true;
 }
Exemplo n.º 10
0
 public function import($db_already_cloned)
 {
     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::updateAltLanguages('language_values', 'name');
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 11
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     General::processAddons($this->store_data, __CLASS__);
     $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::restoreSettings();
     db_query("ALTER TABLE ?:currencies CHANGE `decimals_separator` `decimals_separator` varchar(6) NOT NULL DEFAULT '.'");
     db_query("ALTER TABLE ?:currencies CHANGE `thousands_separator` `thousands_separator` varchar(6) NOT NULL DEFAULT ','");
     db_query("ALTER TABLE ?:bm_locations ADD `custom_html` TEXT NOT NULL");
     db_query("ALTER TABLE ?:order_data CHANGE `data` `data` LONGBLOB  NOT NULL");
     db_query("ALTER TABLE ?:order_details CHANGE `extra` `extra` LONGBLOB  NOT NULL");
     db_query("ALTER TABLE ?:order_transactions CHANGE `extra` `extra` LONGBLOB  NOT NULL");
     db_query('UPDATE ?:shipping_services SET `code` = "Media Mail Parcel" WHERE `module` = "usps" AND `code` = "Media Mail"');
     db_query('UPDATE ?:shipping_services SET `code` = "Library Mail Parcel" WHERE `module` = "usps" AND `code` = "Library Mail"');
     db_query("ALTER TABLE ?:categories ADD `level` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_path`");
     db_query("UPDATE ?:categories AS `c` SET `c`.`level` = ((length(`c`.`id_path`) - length(REPLACE(`c`.`id_path`, '/', ''))) + 1)");
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 12
0
 public function import($db_already_cloned)
 {
     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::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::setEmptyProgressBar(General::getUnavailableLangVar('updating_languages'));
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::updateAltLanguages('privilege_descriptions', 'privilege');
     General::updateAltLanguages('state_descriptions', 'state_id');
     General::updateAltLanguages('shipping_service_descriptions', 'service_id');
     General::setEmptyProgressBar();
     $fields = array('profile_show', 'checkout_show', 'partner_show');
     $billing = db_get_row("SELECT " . implode(', ', $fields) . " FROM ?:profile_fields WHERE field_name = 'email' AND section = 'B'");
     $shipping = array();
     foreach ($fields as $field) {
         $shipping[$field] = $billing[$field] == 'Y' ? 'N' : 'Y';
     }
     db_query("UPDATE ?:profile_fields SET ?u WHERE field_name = 'email' AND section = 'S'", $shipping);
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 13
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     General::processAddons($this->store_data, __CLASS__);
     $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;
         }
     }
     $this->_edpProducts();
     $this->_bmNewLinkField();
     $this->_addNewLocation();
     $this->_removeShippingSettings();
     $this->_convertImageVerification();
     $this->_mveConvertImageVerification();
     //        $this->_addNewSettingTimeframe();
     $this->_newFieldInProcessor();
     $this->_renameCategoryTableFields();
     $this->_updatePayPalPayments();
     $this->_addNewFieldToMenu();
     General::setCustomCssClassForResponsive();
     General::addCheckoutSection();
     General::coreCheckoutSettings();
     General::removeNullTextFields();
     General::filtersRefactoring();
     $this->_mveFiltersRefactoring();
     General::removeNewsLogger();
     General::convertNewsToBlog();
     General::pagesRemoveShowInPopup();
     General::removeTplDebugSetting();
     $this->_removeCheckoutStyleSetting();
     General::revertSearchFieldBlock();
     General::addFullHttps();
     General::removeUseEmailAsLoginSetting();
     General::removeUserLoginEximField();
     $this->coreLogosLinkedToStyles();
     db_query("ALTER TABLE ?:vendor_payouts CHANGE `comments` `comments` text");
     db_query("UPDATE ?:usergroup_privileges SET privilege = 'backup_restore' WHERE privilege = 'database_maintenance'");
     db_query("UPDATE ?:privileges SET privilege = 'backup_restore' WHERE privilege = 'database_maintenance'");
     //        General::restoreSettings();
     if (db_get_field("SELECT status FROM ?:addons WHERE addon = 'searchanise'") != 'D') {
         db_query("UPDATE ?:addons SET status = 'D' WHERE addon = 'searchanise'");
         fn_set_notification('W', __('warning'), General::getUnavailableLangVar('uc_searchanise_disabled'));
     }
     General::setActualLangValues();
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }
Exemplo n.º 14
0
 public function import($db_already_cloned)
 {
     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::connectToOriginalDB(array('table_prefix' => General::formatPrefix()));
     General::processAddons($this->store_data, __CLASS__);
     $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;
         }
     }
     db_query("INSERT INTO ?:payment_processors (processor, processor_script, processor_template, admin_template, callback, `type`) VALUES ('Realex Payments Remote', 'realex_remote.php', 'views/orders/components/payments/cc.tpl', 'realex_remote.tpl', 'N', 'P')");
     db_query("INSERT INTO ?:payment_processors (processor, processor_script, processor_template, admin_template, callback, `type`) VALUES ('Realex Payments Redirect', 'realex_redirect.php', 'views/orders/components/payments/cc_outside.tpl', 'realex_redirect.tpl', 'N', 'P')");
     db_query("UPDATE ?:settings_sections SET `edition_type` = 'ROOT,VENDOR' WHERE `name` = 'Security' AND `type` = 'CORE'");
     General::addIpv6Support();
     $paypal_enabled = db_get_fields("SELECT payment_id FROM ?:payments WHERE processor_id IN (SELECT processor_id FROM ?:payment_processors WHERE processor_script IN ('paypal.php', 'payflow_pro.php', 'paypal_advanced.php', 'paypal_express.php', 'paypal_pro.php'))");
     if (!empty($paypal_enabled)) {
         db_query("INSERT INTO ?:addons (`addon`, `status`, `version`, `priority`, `dependencies`, `conflicts`, `separate`, `unmanaged`, `has_icon`) VALUES ('paypal', 'A', '1.0', 100, '', '', 0, 0, 0)");
         db_query("INSERT INTO ?:settings_sections (`parent_id`, `edition_type`, `name`, `position`, `type`) VALUES (0, 'ROOT,ULT:VENDOR', 'paypal', 0, 'ADDON')");
         $section_id = db_get_field("SELECT section_id FROM ?:settings_sections WHERE name = 'paypal' AND type = 'ADDON'");
         db_query("INSERT INTO ?:settings_sections (`parent_id`, `edition_type`, `name`, `position`, `type`) VALUES ({$section_id}, 'ROOT,ULT:VENDOR', 'general', 0, 'TAB')");
         $parent_id = db_get_field("SELECT section_id FROM ?:settings_sections WHERE parent_id = {$section_id}");
         db_query("INSERT INTO ?:settings_objects (`edition_type`, `name`, `section_id`, `section_tab_id`, `type`, `value`, `position`, `is_global`, `handler`, `parent_id`) VALUES\n                ('ROOT,ULT:VENDOR', 'paypal_ipn_settings', {$section_id}, {$parent_id}, 'H', '', 0, 'N', '', 0),\n                ('ROOT,ULT:VENDOR', 'override_customer_info', {$section_id}, {$parent_id}, 'C', 'Y', 10, 'N', '', 0),\n                ('ROOT', 'test_mode', {$section_id}, {$parent_id}, 'C', 'N', 20, 'N', '', 0),\n                ('ROOT,ULT:VENDOR', 'template', {$section_id}, {$parent_id}, 'Z', 'statuses_map.tpl', 30, 'N', '', 0),\n                ('ROOT,ULT:VENDOR', 'template', {$section_id}, {$parent_id}, 'Z', 'logo_uploader.tpl', 40, 'N', '', 0),\n                ('ROOT,ULT:VENDOR', 'pp_statuses', {$section_id}, {$parent_id}, 'D', 'a:10:{s:8:\"refunded\";s:1:\"I\";s:9:\"completed\";s:1:\"P\";s:7:\"pending\";s:1:\"O\";s:17:\"canceled_reversal\";s:1:\"I\";s:7:\"created\";s:1:\"O\";s:6:\"denied\";s:1:\"I\";s:7:\"expired\";s:1:\"F\";s:8:\"reversed\";s:1:\"I\";s:9:\"processed\";s:1:\"P\";s:6:\"voided\";s:1:\"P\";}', 50, 'N', '', 0)\n            ");
         $pp_standart_params = db_get_field("SELECT processor_params FROM ?:payments WHERE processor_id = (SELECT processor_id FROM ?:payment_processors WHERE processor_script = 'paypal.php')");
         if (!empty($pp_standart_params)) {
             $pp_standart_params = unserialize($pp_standart_params);
             if (!empty($pp_standart_params['statuses'])) {
                 db_query("UPDATE ?:settings_objects SET value = ?s WHERE name = 'pp_statuses'", serialize($pp_standart_params['statuses']));
                 unset($pp_standart_params['statuses']);
                 $pp_standart_params = serialize($pp_standart_params);
                 db_query("UPDATE ?:payments SET processor_params = ?s WHERE processor_id = (SELECT processor_id FROM ?:payment_processors WHERE processor_script = 'paypal.php')", $pp_standart_params);
             }
         }
         $languages = db_get_fields("SELECT lang_code FROM ?:languages");
         $addon_scheme = AddonSchemesManager::getScheme('paypal');
         $language_variables = $addon_scheme->getLanguageValues();
         if (!empty($language_variables)) {
             db_query('REPLACE INTO ?:language_values ?m', $language_variables);
         }
         $settings_descr = array('paypal_ipn_settings' => 'Instant payment notification settings', 'override_customer_info' => 'Override customer info', 'test_mode' => 'Test mode');
         foreach ($languages as $lang_code) {
             $description = $addon_scheme->getDescription($lang_code);
             $addon_name = $addon_scheme->getName($lang_code);
             db_query("INSERT INTO ?:addon_descriptions (addon, name, description, lang_code) VALUES ('paypal', ?s, ?s, ?s) ON DUPLICATE KEY UPDATE ?:addon_descriptions.addon = ?:addon_descriptions.addon", $addon_name, $description, $lang_code);
             foreach ($settings_descr as $setting_name => $descr) {
                 db_query("REPLACE INTO ?:settings_descriptions VALUES ((SELECT object_id FROM ?:settings_objects WHERE name = ?s), 'O', ?s, ?s, '')", $setting_name, $lang_code, $descr);
             }
         }
     } else {
         db_query("DELETE FROM ?:payment_processors WHERE processor_script IN ('paypal.php', 'payflow_pro.php', 'paypal_advanced.php', 'paypal_express.php', 'paypal_pro.php')");
     }
     General::updateAltLanguages('language_values', 'name');
     General::updateAltLanguages('settings_descriptions', array('object_id', 'object_type'));
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     General::setEmptyProgressBar();
     return true;
 }