Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }