public function importDiscounts($groupIds) { include_once DIR_ROOT . '/controllers/admin/usergroups.php'; $this->useDatabase($this->sourceDB); $query = "SELECT * FROM shop_member_discounts"; $result = mysqli_query($this->link, $query) or die("Failed to select from: cscart_users" . mysqli_error($this->link, $this->link)); while ($discount = mysqli_fetch_array($result, MYSQL_ASSOC)) { switch ($discount['discount']) { case '3.00': $groupId = $groupIds['threePercent']; break; case '5.00': $groupId = $groupIds['fivePercent']; break; case '10.00': $groupId = $groupIds['tenPercent']; break; default: $groupId = 1; break; } fn_change_usergroup_status('A', $discount['member_id'], $groupId); } }
$usergroup = db_get_row("SELECT a.usergroup_id, a.status, a.type, b.usergroup FROM ?:usergroups as a LEFT JOIN ?:usergroup_descriptions as b ON b.usergroup_id = a.usergroup_id AND b.lang_code = ?s WHERE a.usergroup_id = ?i", DESCR_SL, $_REQUEST['usergroup_id']); $view->assign('usergroup', $usergroup); Registry::set('navigation.tabs', array('general_' . $_REQUEST['usergroup_id'] => array('title' => fn_get_lang_var('general'), 'js' => true))); } elseif ($mode == 'delete') { if (!empty($_REQUEST['usergroup_id'])) { fn_delete_usergroups((array) $_REQUEST['usergroup_id']); } return array(CONTROLLER_STATUS_REDIRECT, "usergroups.manage"); } elseif ($mode == 'update_status') { $user_data = fn_get_user_info($_REQUEST['user_id']); if (empty($user_data) || defined('COMPANY_ID') && $user_data['is_root'] == 'Y' || defined('RESTRICTED_ADMIN') && ($auth['user_id'] == $_REQUEST['user_id'] || fn_is_restricted_admin(array('user_id' => $_REQUEST['user_id'])))) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('access_denied')); exit; } $old_status = db_get_field("SELECT status FROM ?:usergroup_links WHERE user_id = ?i AND usergroup_id = ?i", $_REQUEST['user_id'], $_REQUEST['id']); $result = fn_change_usergroup_status($_REQUEST['status'], $_REQUEST['user_id'], $_REQUEST['id'], fn_get_notification_rules($_REQUEST)); if ($result) { fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('status_changed')); } else { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('error_status_not_changed')); $ajax->assign('return_status', empty($old_status) ? 'F' : $old_status); } exit; } elseif ($mode == 'requests') { fn_add_breadcrumb(fn_get_lang_var('usergroups'), "usergroups.manage"); list($requests, $search) = fn_get_usergroup_requests($_REQUEST, Registry::get('settings.Appearance.admin_orders_per_page')); $view->assign('usergroup_requests', $requests); $view->assign('search', $search); } function fn_get_usergroup_requests($params, $items_per_page = 0, $status = 'P', $lang_code = CART_LANGUAGE) {
protected function changeUserToGroupLink($group_id, $params) { $status = Response::STATUS_BAD_REQUEST; $data = array(); $user_data = $this->getParentData(); $valid_params = true; if (empty($params['status'])) { $data['message'] = __('api_required_field', array('[field]' => 'status')); $valid_params = false; } $group_type = db_get_field("SELECT `type` FROM ?:usergroups WHERE usergroup_id = ?i", $group_id); if (empty($group_type) || $group_type == 'A' && !in_array($user_data['user_type'], array('A', 'V'))) { $valid_params = false; } $runtime_company_id = Registry::get('runtime.company_id'); if (((!fn_check_user_type_admin_area($user_data) || !$user_data['user_id']) && !$runtime_company_id || fn_check_user_type_admin_area($user_data) && $user_data['user_id'] && !$runtime_company_id && $this->auth['is_root'] == 'Y' && ($user_data['company_id'] != 0 || $user_data['company_id'] == 0 && $user_data['is_root'] != 'Y') || $user_data['user_type'] == 'V' && $runtime_company_id && $this->auth['is_root'] == 'Y' && $user_data['user_id'] != $this->auth['user_id'] && $user_data['company_id'] == $runtime_company_id) && $valid_params) { fn_change_usergroup_status($params['status'], $user_data['user_id'], $group_id, fn_get_notification_rules($params)); if ($params['status'] == 'F') { $status = Response::STATUS_NO_CONTENT; $data['message'] = 'OK'; } else { $status = Response::STATUS_OK; $data['message'] = __('status_changed'); } } return array('status' => $status, 'data' => $data); }