/** * Gets user data for a specified id; if no id specified, gets user list * satisfying filter conditions specified in params * * @param int $id User identifier * @param array $params Filter params (user_ids param ignored on getting one user) * @return mixed */ public function index($id = 0, $params = array()) { if (!empty($id)) { $params = array(); $params['user_id'] = $id; } elseif (!empty($params['user_ids']) && is_array($params['user_ids'])) { $params['user_id'] = $params['user_ids']; } $auth = $this->auth; $items_per_page = $this->safeGet($params, 'items_per_page', Registry::get('settings.Appearance.admin_products_per_page')); list($data, $params) = fn_get_users($params, $auth, $items_per_page); if ($id) { $data = reset($data); } else { $data = array('users' => $data, 'params' => $params); } if (!empty($data) || empty($id)) { $status = Response::STATUS_OK; } else { $status = Response::STATUS_NOT_FOUND; } return array('status' => $status, 'data' => $data); }
} $api_statuses[] = $status; } $result['orders']['status'] = $api_statuses; // hardcoded statuses $result['products']['status'] = fn_twg_api_get_base_statuses(true, $lang_code); $result['categories']['status'] = fn_twg_api_get_base_statuses(true, $lang_code); $result['users']['status'] = fn_twg_api_get_base_statuses(false); $response->setData($result); } elseif ($object == 'users') { $auth = null; $_REQUEST['user_type'] = 'C'; if (empty($_REQUEST['page'])) { $_REQUEST['page'] = 1; } list($users, $search) = fn_get_users($_REQUEST, $auth, $items_per_page); $total_items = $search['total_items']; $u_ids = array(); foreach ($users as $k => $v) { $u_ids[] = $v['user_id']; } if (empty($users)) { $response->returnResponse(); } $response->setResponseList(Api::getAsList($object, $users)); $is_paginate = true; } elseif ($object == 'orders' || $object == 'order_sections') { if (!fn_api_get_orders_search_params($lang_code)) { $response->returnResponse(); } if (empty($_REQUEST['page'])) {
} $url = $area == 'C' ? fn_link_attach($redirect_url, 'skey=' . $key . '&company_id=' . $company_id) : $redirect_url; return array(CONTROLLER_STATUS_REDIRECT, fn_url($url, $area), true); } } else { $url = fn_link_attach($redirect_url, 'skey=' . $key); return array(CONTROLLER_STATUS_REDIRECT, fn_url($url, $area), true); } } return array(CONTROLLER_STATUS_REDIRECT, fn_url($redirect_url, $area)); } } elseif ($mode == 'picker') { $params = $_REQUEST; $params['exclude_user_types'] = array('A', 'V'); $params['skip_view'] = 'Y'; list($users, $search) = fn_get_users($params, $auth, Registry::get('settings.Appearance.admin_elements_per_page')); Tygh::$app['view']->assign('users', $users); Tygh::$app['view']->assign('search', $search); Tygh::$app['view']->assign('countries', fn_get_simple_countries(true, CART_LANGUAGE)); Tygh::$app['view']->assign('states', fn_get_all_states()); Tygh::$app['view']->assign('usergroups', fn_get_usergroups(array('status' => array('A', 'H')), CART_LANGUAGE)); Tygh::$app['view']->display('pickers/users/picker_contents.tpl'); exit; } elseif ($mode == 'password_reminder') { $cron_password = Registry::get('settings.Security.cron_password'); if ((!isset($_REQUEST['cron_password']) || $cron_password != $_REQUEST['cron_password']) && !empty($cron_password)) { die(__('access_denied')); } $expire = Registry::get('settings.Security.admin_password_expiration_period') * SECONDS_IN_DAY; if ($expire) { // Get available admins
/** * Creates condition for user search * * @param array $params List of search parameters * @param string $lang_code 2-letter language code * @return array Prepared data */ function fn_create_users_condition($params, $lang_code = CART_LANGUAGE) { /** * Modify search parameters defined in fn_search_register_object * * @param array $params List of search parameters * @param string $lang_code 2-letter language code */ fn_set_hook('create_users_condition_pre', $params, $lang_code); $params['get_conditions'] = true; if (!empty($params['q'])) { $params['name'] = $params['q']; $params['email'] = $params['q']; $params['user_login'] = $params['q']; } list($fields, $join, $condition) = fn_get_users($params, $_SESSION['auth']); $data = array('fields' => $fields, 'join' => $join, 'condition' => '1 ' . implode('', $condition), 'table' => '?:users', 'key' => 'user_id', 'sort' => '?:users.user_id', 'sort_table' => 'user_id'); /** * Modify prepared data * * @param array $params List of search parameters * @param string $lang_code 2-letter language code * @param array $data Result search scheme */ fn_set_hook('create_users_condition_post', $params, $lang_code, $data); return $data; }
function fn_get_partners_tree($user_id = '') { list($partners_list) = fn_get_users(array('user_type' => 'P', 'active' => 'Y'), $auth); if (empty($partners_list)) { return false; } $partners = array(); foreach ($partners_list as $partner_data) { $partners[$partner_data['user_id']] = $partner_data; } $del_partners = array(); foreach ($partners as $partner_id => $partner_data) { if (!empty($partner_data['referrer_partner_id']) && (empty($user_id) || $user_id != $partner_id)) { if (!empty($partners[$partner_data['referrer_partner_id']])) { if (empty($partners[$partner_data['referrer_partner_id']]['partners'])) { $partners[$partner_data['referrer_partner_id']]['partners'] = array(); } $partners[$partner_data['referrer_partner_id']]['partners'][$partner_id] = $partners[$partner_id]; $partners[$partner_id] =& $partners[$partner_data['referrer_partner_id']]['partners'][$partner_id]; $del_partners[] = $partner_id; } } } if (!empty($del_partners)) { foreach ($del_partners as $partner_id) { if (!empty($partners[$partner_id])) { unset($partners[$partner_id]); } } } if (!empty($user_id)) { $partners = empty($partners[$user_id]) ? array() : array($user_id => $partners[$user_id]); } return empty($partners) ? false : $partners; }
if (in_array('D', $keys_extended_data)) { $action_data['extended_data']['discount'] = fn_get_discounts('', $action_data['data']['D']); } $view->assign('action_data', $action_data); $view->assign('total_commission', $total_commission); $view->assign('order_status_descr', fn_get_statuses(STATUSES_ORDER, true, true, true)); } } } elseif ($mode == 'approve') { $payout_options = array(); foreach (Registry::get('payout_types') as $payout_id => $payout_data) { $payout_options[$payout_id] = fn_get_lang_var($payout_data['title']); } $status_options = array('A' => fn_get_lang_var('approved'), 'N' => fn_get_lang_var('awaiting_approval'), 'P' => fn_get_lang_var('paidup')); $list_plans = fn_get_affiliate_plans_list(); list($partners) = fn_get_users(array('user_type' => 'P', 'status' => 'A'), $auth); $partner_list = array(); foreach ($partners as $partner) { $partner_list[$partner['user_id']] = $partner['firstname'] . ' ' . $partner['lastname']; } // Get affiliates list to approve list($affiliate_commissions, $general_stats, $additional_stats, $search) = fn_get_affiliates_for_approve($_REQUEST, $auth, Registry::get('settings.Appearance.admin_elements_per_page')); $view->assign('affiliate_commissions', $affiliate_commissions); $view->assign('general_stats', $general_stats); $view->assign('additional_stats', $additional_stats); $view->assign('search', $search); $view->assign('list_plans', $list_plans); $view->assign('status_options', $status_options); $view->assign('payout_options', $payout_options); $view->assign('payout_types', Registry::get('payout_types')); $view->assign('partner_list', $partner_list);
} } } if (!empty($payout_id)) { $suffix = ".update?payout_id={$payout_id}"; } else { $suffix = ".manage"; } } return array(CONTROLLER_STATUS_OK, "payouts{$suffix}"); } if ($mode == 'manage') { list($payouts, $search) = fn_get_payouts($_REQUEST); $view->assign('payouts', $payouts); $view->assign('search', $search); list($partner_list) = fn_get_users(array('user_type' => 'P', 'active' => 'Y', 'approved' => 'A'), $auth); $_partner_list = array(); foreach ($partner_list as $partner_data) { $_partner_list[$partner_data['user_id']] = "{$partner_data['firstname']} {$partner_data['lastname']} ({$partner_data['user_login']})"; } $view->assign('partner_list', $_partner_list); } elseif ($mode == 'pay') { list($partner_balances, $search) = fn_pay_affiliates($_REQUEST, true, @$_REQUEST['page']); $view->assign('partner_balances', $partner_balances); $view->assign('search', $search); $payment_period_options = fn_get_addon_option_variants('affiliate', 'payment_period'); $view->assign('period_name', $payment_period_options[Registry::get('addons.affiliate.payment_period')]); } elseif ($mode == 'add') { // [Breadcrumbs] fn_add_breadcrumb(fn_get_lang_var('pay_affiliates'), "payouts.pay"); // [/Breadcrumbs]