function fn_get_groups($links_to = array('C', 'P', 'U'), $is_avail = false, $page = 1, $lang_code = CART_LANGUAGE) { $condition = ''; if (!empty($links_to)) { $condition .= db_quote(" AND ?:aff_groups.link_to IN (?a)", $links_to); } if (!empty($is_avail)) { $condition .= " AND ?:status = 'A'"; } $limit = ''; if (!empty($page)) { $total_items = db_get_field("SELECT COUNT(*) FROM ?:aff_groups LEFT JOIN ?:aff_group_descriptions ON ?:aff_group_descriptions.group_id = ?:aff_groups.group_id AND ?:aff_group_descriptions.lang_code = ?s WHERE 1 ?p ORDER BY ?:aff_group_descriptions.name", $lang_code, $condition); if (!empty($total_items)) { $items_per_page = AREA == 'A' ? Registry::get('settings.Appearance.admin_elements_per_page') : Registry::get('settings.Appearance.elements_per_page'); $limit = fn_paginate($page, $total_items, $items_per_page); } } $groups = db_get_hash_array("SELECT * FROM ?:aff_groups LEFT JOIN ?:aff_group_descriptions ON ?:aff_group_descriptions.group_id = ?:aff_groups.group_id AND ?:aff_group_descriptions.lang_code = ?s WHERE 1 ?p ORDER BY ?:aff_group_descriptions.name {$limit}", 'group_id', $lang_code, $condition); if (!empty($groups) && is_array($groups)) { foreach ($groups as $group_id => $group_data) { $groups[$group_id] = fn_convert_group_data($group_data); } } return !empty($groups) ? $groups : false; }
function fn_get_group_data($group_id, $lang_code = CART_LANGUAGE, $avail_only = false) { if (!empty($group_id)) { $status_condition = ''; if ($avail_only == true) { $status_condition = " AND status = 'A'"; } $group_data = db_get_row("SELECT * FROM ?:aff_groups LEFT JOIN ?:aff_group_descriptions ON ?:aff_group_descriptions.group_id = ?:aff_groups.group_id AND ?:aff_group_descriptions.lang_code = ?s WHERE ?:aff_groups.group_id = ?i {$status_condition}", $lang_code, $group_id); $group_data = fn_convert_group_data($group_data); } return empty($group_data) ? false : $group_data; }