Example #1
0
 /**
  * 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);
 }
Example #2
0
         }
         $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'])) {
Example #3
0
                    }
                    $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
Example #4
0
/**
 * 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;
}
Example #5
0
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;
}
Example #6
0
            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);
Example #7
0
                }
            }
        }
        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]