yf_shop__get_group_prices user module

Fileplugins/shop/modules/shop/yf_shop__get_group_prices.class.php
Usemodule('shop__get_group_prices'), URL ?object=shop__get_group_prices

Public properties

PropertyDefaultDescription
None declared in this class.

Public methods 1

None without a leading underscore.

Methods starting with _ hooks and helpers; not routable as page actions

public function _get_group_prices($product_ids = [])
    public function _get_group_prices($product_ids = [])
    {
        $return_single = null;
        if (is_numeric($product_ids)) {
            $return_single = $product_ids;
            $product_ids = [$product_ids];
        }
        // Get user groups (id > 2 - skip guest and member)
        $user_groups = main()->get_data('user_groups');
        if (isset($user_groups[1])) {
            unset($user_groups[1]);
        }
        if (isset($user_groups[2])) {
            unset($user_groups[2]);
        }
        if (empty($user_groups) || empty($product_ids)) {
            return false;
        }
        $group_prices = [];
        // Get prices per group
        $Q = db()->query(
            'SELECT * FROM ' . db('shop_group_options') . ' 
			WHERE product_id IN (' . implode(',', $product_ids) . ') 
				AND group_id IN (' . implode(',', array_keys($user_groups)) . ')'
        );
        while ($A = db()->fetch_assoc($Q)) {
            if ( ! isset($user_groups[$A['group_id']])) {
                continue;
            }
            $group_prices[$A['product_id']][$A['group_id']] = (float) ($A['price']);
        }
        if ($return_single) {
            return $group_prices[$return_single];
        }
        return $group_prices;
    }