protected function _fillSharingTable($default_company_id) { $objects = array('shippings' => 'shipping_id', 'payments' => 'payment_id', 'languages' => 'lang_code', 'currencies' => 'currency_code', 'promotions' => 'promotion_id', 'pages' => 'page_id', 'product_features' => 'feature_id', 'product_filters' => 'filter_id', 'profile_fields' => 'field_id', 'usergroups' => 'usergroup_id', 'static_data' => 'param_id'); if (General::supplierSettings('enabled')) { $objects['suppliers'] = 'supplier_id'; } //Process addons sharing data //We do not include form buider and polls because 'pages' object included in the common objects list $addons_objects = array('banners' => array('banners' => 'banner_id'), 'news_and_emails' => array('mailing_lists' => 'list_id', 'news' => 'news_id'), 'store_locator' => array('store_locations' => 'store_location_id')); $addons = General::getInstalledAddons(); foreach ($addons_objects as $addon => $data) { if (in_array($addon, $addons)) { $objects = fn_array_merge($data, $objects); } } foreach ($objects as $object => $field) { db_query("REPLACE INTO ?:ult_objects_sharing (share_company_id, share_object_id, share_object_type) SELECT '{$default_company_id}', {$field}, '{$object}' FROM ?:{$object}"); } db_query("REPLACE INTO ?:ult_objects_sharing (share_company_id, share_object_id, share_object_type) SELECT '{$default_company_id}', option_id, 'product_options' FROM ?:product_options WHERE product_id IN (SELECT DISTINCT product_id FROM ?:ult_product_descriptions)"); db_query("REPLACE INTO ?:ult_objects_sharing (share_company_id, share_object_id, share_object_type) SELECT '{$default_company_id}', option_id, 'product_options' FROM ?:product_options"); return true; }
public static function processAddons($store_data, $class_name, $addons = array()) { $addons = empty($addons) ? General::getInstalledAddons() : $addons; self::setEmptyProgressBar(self::getUnavailableLangVar('processing_addons')); if (empty($addons)) { return true; } foreach ($addons as $addon) { $sql_filename = Registry::get('config.dir.addons') . 'store_import/database/addons/' . General::getFileName($store_data, $class_name, $addon) . '.sql'; $php_filename = Registry::get('config.dir.addons') . 'store_import/scripts/addons/' . General::getFileName($store_data, $class_name, $addon) . '.php'; if (is_file($sql_filename)) { if (!db_import_sql_file($sql_filename, 16384, false, true, false, false, false, false)) { return false; } } if (is_file($php_filename)) { include $php_filename; } } return true; }
protected function _fillSharingTable() { $companies = db_get_fields("SELECT company_id FROM ?:companies"); $objects = array(); $addons_objects = array('banners' => array('banners' => 'banner_id'), 'news_and_emails' => array('mailing_lists' => 'list_id'), 'store_locator' => array('store_locations' => 'store_location_id')); $addons = General::getInstalledAddons(); foreach ($addons_objects as $addon => $data) { if (in_array($addon, $addons)) { $objects = fn_array_merge($data, $objects); } } if (!empty($objects)) { foreach ($companies as $company_id) { foreach ($objects as $object => $field) { db_query("REPLACE INTO ?:ult_objects_sharing (share_company_id, share_object_id, share_object_type) SELECT '{$company_id}', {$field}, '{$object}' FROM ?:{$object}"); } } } return true; }