function dod_show() { global $available_fields, $optional_fields, $tables, $smarty, $top_message, $target; $generators = array(); $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $from_tbls[] = 'dod_generators'; $fields = array_keys($available_fields); $where[] = 1; $orderbys[] = 'position'; $orderbys[] = 'generator_id'; $search_query_count = cw_db_generate_query('count(generator_id)', $from_tbls, $query_joins, $where, $groupbys, $having, array(), 0); $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $total_items_res_id = db_query($search_query_count); $number_generators = db_num_rows($total_items_res_id); if (empty($number_generators)) { return null; } global $navigation, $page; $navigation = cw_core_get_navigation($target, $number_generators, $page); $limit_str = " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"; $generators = cw_query($search_query . $limit_str); if (empty($generators)) { return null; } $generators = array_map(create_function('$elm', '$elm["description"] = strip_tags($elm["description"]); return $elm;'), $generators); $smarty->assign('dod_generators', cw_stripslashes($generators)); $navigation['script'] = 'index.php?target=' . $target; $smarty->assign('navigation', $navigation); }
function cw_speed_bar_search($params, $return = null) { extract($params); global $tables, $current_language; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $orderbys[] = "{$tables['speed_bar']}.orderby"; $from_tbls[] = 'speed_bar'; $fields[] = "{$tables['speed_bar']}.*"; # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $language = $language ? $language : $current_language; $query_joins['speed_bar_lng'] = array('on' => "{$tables['speed_bar_lng']}.item_id = {$tables['speed_bar']}.item_id AND {$tables['speed_bar_lng']}.code = '{$language}'", 'only_select' => 1); $fields[] = "IFNULL({$tables['speed_bar_lng']}.title, {$tables['speed_bar']}.title) as title"; if (isset($data['active'])) { $where[] = "{$tables['speed_bar']}.active='{$data['active']}'"; } $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); return cw_query($search_query); }
function cw_pages_search($params, $return = null) { extract($params); global $tables, $current_language, $target; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $from_tbls[] = 'pages'; $fields[] = "{$tables['pages']}.*"; $where[] = 1; if (!empty($data['sort_field'])) { $direction = $data['sort_direction'] ? 'DESC' : 'ASC'; $orderbys[] = $data['sort_field'] . ' ' . $direction; } else { $orderbys[] = 'title'; } $search_query_count = cw_db_generate_query('count(*)', $from_tbls, $query_joins, $where, $groupbys, $having, array(), 0); $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $total_items_res_id = db_query($search_query_count); $total_items = db_num_rows($total_items_res_id); $page = $data['page']; if ($data['count']) { return $total_items; } elseif ($data['limit']) { $limit_str = " LIMIT {$data['limit']}"; } elseif ($data['all']) { $limit_str = ''; } else { $navigation = cw_core_get_navigation($target, $total_items, $page); $limit_str = " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"; } $pages = cw_query($search_query . $limit_str); return array($pages, $navigation); }
function cw_shipping_search($params, $return = null) { extract($params); global $tables; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $from_tbls[] = 'shipping'; $fields[] = "{$tables['shipping']}.*"; # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } if ($data['addon']) { $query_joins['shipping_carriers'] = array('on' => "{$tables['shipping_carriers']}.carrier_id = {$tables['shipping']}.carrier_id", 'parent' => 'shipping', 'is_straight' => 1); $where[] = "{$tables['shipping_carriers']}.addon = '{$data['addon']}'"; } if (isset($data['carrier_id'])) { $where[] = "carrier_id='{$data['carrier_id']}'"; } if (isset($data['active'])) { $where[] = "{$tables['shipping']}.active='{$data['active']}'"; } if ($data['where']) { $where = array_merge($where, $data['where']); } $orderbys[] = "{$tables['shipping']}.orderby"; $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $shippings = cw_query($search_query); if ($info_type & 1 && $shippings) { foreach ($shippings as $k => $v) { $shippings[$k]['cod_type_ids'] = cw_query_key("select cod_type_id from {$tables['shipping_cods']} where shipping_id='{$v['shipping_id']}'"); } } return $shippings; }
function cw_product_build_flat($params, $return) { extract($params); global $tables, $addons; $where = ""; if ($product_id) { if (!is_array($product_id)) { $product_id = array($product_id); } $where = "product_id in ('" . implode("', '", $product_id) . "')"; db_query("delete from {$tables['products_flat']} where {$where}"); } else { db_query("delete from {$tables['products_flat']}"); } $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $from_tbls[] = 'products'; $fields[] = "{$tables['products']}.product_id"; $where[] = $tables['products'] . '.' . $where; # kornev, get the query from the addons if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } # kornev, there are nothing to do if the fields are empty (by default) if (count($fields) == 1) { return; } $groupbys[] = "{$tables['products']}.product_id"; # kornev, generate it; $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); if ($tick > 0) { cw_display_service_header('lbl_rebuild_products_flat'); } $sd = db_query($search_query); $updated = 0; if ($sd) { while ($row = db_fetch_array($sd)) { cw_array2insert('products_flat', cw_addslashes($row), true); $updated++; if ($tick > 0 && $updated % $tick == 0) { cw_flush('.'); } if ($tick > 0 && $updated / $tick % 100 == 0) { cw_flush('<br/>'); } } } db_free_result($sd); return $updated; }
} if ($data['saldo'] == 1) { $where[] = "{$tables['accounting_records']}.total < 0"; } elseif ($data['saldo'] == 2) { $where[] = "{$tables['accounting_records']}.total >= 0"; } if ($data['customer_id']) { $where[] = "{$tables['accounting_records']}.customer_id='{$data['customer_id']}'"; } if ($data['group']) { $fields[] = "{$tables['accounting_categories']}.category as descr"; $fields[] = "sum({$tables['accounting_records']}.total) as total"; $groupbys[] = "{$tables['accounting_categories']}.accounting_category_id"; } $orderbys[] = "{$tables['accounting_records']}.date asc"; $search_query_count = cw_db_generate_query('count(*)', $from_tbls, $query_joins, $where, $groupbys, $having, array(), 0); $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $_res = db_query($search_query_count); $total_items = db_num_rows($_res); db_free_result($_res); $navigation = cw_core_get_navigation($target, $total_items, $page); if ($total_items > 0) { $search_query .= " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"; $records = cw_query($search_query); if (is_array($records)) { foreach ($records as $k => $v) { cw_accounting_assign_info($records[$k]); } } $smarty->assign('records', $records); }
function cw_ps_update_shipping(&$cart, &$products, $user_info, &$return, $offers_ids = array()) { global $tables; if (empty($products) || empty($cart)) { return false; } if (empty($offers_ids) || !isset($offers_ids['new']) || !isset($offers_ids['to_delete']) || !isset($offers_ids['suitable'])) { return false; } $offers = $offers_ids['new'] + $offers_ids['suitable']; // check if the suitable products exist... $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $fields = array("{$tables['ps_bonuses']}.offer_id", "{$tables['ps_bonuses']}.apply", "{$tables['ps_bonuses']}.offer_id as offerid", "{$tables['ps_bonuses']}.bonus_id"); $from_tbls[] = 'ps_bonuses'; $where[] = "{$tables['ps_bonuses']}.offer_id IN ('" . implode("', '", array_keys($offers)) . "')"; $where[] = "{$tables['ps_bonuses']}.type = '" . PS_FREE_SHIP . "'"; $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $offers_data = cw_query_hash($search_query, 'offer_id', false); //echo '<pre>', print_r($offers_data), '</pre>'; //die; /*$fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $fields = array("$tables[ps_bonuses].offer_id", 'object_id', 'quantity', "$tables[ps_bonuses].offer_id as offerid", "$tables[ps_bonuses].bonus_id"); $from_tbls[] = 'ps_bonuses'; $query_joins['ps_bonus_details'] = array( 'on' => "$tables[ps_bonuses].bonus_id = $tables[ps_bonus_details].bonus_id", 'is_inner' => 1, ); $where[] = "$tables[ps_bonuses].offer_id IN ('" . implode("', '", array_keys($offers)) . "')"; $where[] = "$tables[ps_bonuses].type = '" . PS_FREE_SHIP . "'"; $where[] = "$tables[ps_bonus_details].object_type = '" . PS_OBJ_TYPE_PRODS . "'"; $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $free_products = cw_query_hash($search_query, 'object_id', false); if (empty($free_products) || !is_array($free_products)) { return false; } */ }
function cw_ps_bundle_build($action, $category, $category_src, $filter, $products_number, $discount, $disctype) { global $tables; $from_tbls['pc'] = 'products_categories'; $fields[] = 'pc.product_id'; if ($products_number < 2) { $products_number = 2; } if ($category != 0) { cw_load('category'); $subcats = cw_call('cw_category_get_subcategory_ids', array($category)); $where[] = 'pc.category_id IN ("' . join('","', $subcats) . '")'; } $query_joins['o'] = array('tblname' => 'ps_offers', 'on' => 'o.pid = pc.product_id'); if ($filter) { if ($filter['without']) { $where_auto[] = 'auto is NULL'; } if ($filter['auto']) { $where_auto[] = 'auto = 1'; } if ($filter['manual']) { $where_auto[] = 'auto = 0'; } $where[] = '(' . join(' OR ', $where_auto) . ')'; } $sql = cw_db_generate_query($fields, $from_tbls, $query_joins, $where); $pids = cw_query_column($sql); $products_number--; $subcats = cw_call('cw_category_get_subcategory_ids', array($category_src)); $where_src = '1'; if ($category_src != 0) { $where_src = "pc.category_id IN ('" . join("','", $subcats) . "')"; } foreach ($pids as $pid) { $new_pids = cw_query("SELECT pc.product_id as id\n\t\tFROM {$tables['products_categories']} pc \n\t\tWHERE {$where_src} AND pc.product_id!='{$pid}' \n\t\tORDER BY RAND() LIMIT {$products_number}"); $data = array('discount' => $discount, 'disctype' => $disctype, 'bundle' => $new_pids, 'auto' => 1); $offer_id = cw_call('cw_ps_offer_bundle_update', array($pid, $data)); } }
function cw_ab_staticpages_get($page_id, $active, $return = null) { global $tables; $fields = $from_tbls = $query_joins = $where = array(); if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $fields[] = "{$tables['cms']}.contentsection_id as page_id"; $from_tbls[] = 'cms'; $fields[] = "{$tables['cms']}.*"; $where[] = "{$tables['cms']}.contentsection_id='{$page_id}'"; $current_date = time(); $where[] = "if({$tables['cms']}.start_date > 0, {$tables['cms']}.start_date <= '" . $current_date . "', 1)"; $where[] = "if({$tables['cms']}.end_date > 0, {$tables['cms']}.end_date >= '" . $current_date . "', 1)"; if (isset($active)) { $where[] = "{$tables['cms']}.active = '" . ($active ? 'Y' : 'N') . "'"; } $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); return cw_query_first($search_query); }
function cw_gift_get_giftreg_wishlist_database($customer_id, $event_id) { global $tables; global $items_per_page, $page, $sort, $sort_direction, $items_per_page_targets; global $smarty, $target, $action, $mode; $wishlist_items_nav = array(); if (isset($items_per_page)) { $wishlist_items_nav['items_per_page'] = $items_per_page; } if (isset($page)) { $wishlist_items_nav['page'] = $page; } $page = 1; if (isset($sort)) { $wishlist_items_nav['sort_field'] = $sort; } if (isset($sort_direction)) { $wishlist_items_nav['sort_direction'] = $sort_direction; } $items_per_page_targets['wishlist'] = PHP_INT_MAX; $items_fields = array("{$tables['wishlist']}.*"); $items_from_tbls = array('wishlist'); $items_where = array("{$tables['wishlist']}.customer_id='{$customer_id}' and {$tables['wishlist']}.event_id='{$event_id}'"); $items_groupbys = array(); $items_having = array(); if ($wishlist_items_nav['sort_field'] == 'forsale') { $items_orderbys = array("{$tables['wishlist']}.product_id" . ($wishlist_items_nav['sort_direction'] ? ' DESC' : ' ASC')); } $items_count_query = cw_db_generate_query(array('count(*)'), $items_from_tbls, $items_query_joins, $items_where, $items_groupbys, $items_having, null); $items_total_items = cw_query_first_cell($items_count_query); $items_qry = cw_db_generate_query($items_fields, $items_from_tbls, $items_query_joins, $items_where, $items_groupbys, $items_having, $items_orderbys); $items_per_page_targets['wishlist'] = $wishlist_items_nav['items_per_page']; $navigation = cw_core_get_navigation($target, $items_total_items, $wishlist_items_nav['page']); $navigation['script'] = "index.php?target={$target}&action={$action}&mode={$mode}"; $smarty->assign('navigation', $navigation); if ($items_total_items > 0) { $wishlist_items = cw_query($items_qry . " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"); } if (!empty($wishlist_items)) { $smarty->assign('wishlist_items_nav', $wishlist_items_nav); } return $wishlist_items; }
function cw_accounting_get_movements($mtype, $data) { global $tables; $fields = array(); $from_tbls = array(); $query_joins = array(); $where = array(); $groupbys = array(); $having = array(); $orderbys = array(); $from_tbls[] = 'movements'; $query_joins['accounting_categories'] = array('on' => "{$tables['accounting_categories']}.accounting_category_id = {$tables['movements']}.accounting_category_id", 'parent' => 'movements', 'is_inner' => 1); $fields[] = "{$tables['accounting_categories']}.category"; /* $query_joins['movements_info_'.$mtype] = array ( 'tblname' => 'movements_'.$mtype, 'on' => "movements_info.movements_id = $tables[movements].movements_id", ); */ $fields[] = "{$tables['movements']}.*"; // $fields[] = "movements_info.*"; $where[] = "1"; if ($data['warehouse_customer_id']) { $where[] = "{$tables['movements']}.warehouse_customer_id='" . $data['warehouse_customer_id'] . "'"; } if ($data['substring']) { $where[] = "{$tables['movements']}.product like '%" . $data['substring'] . "%'"; } if ($data['productcode']) { $where[] = "{$tables['movements']}.productcode like '%" . $data['productcode'] . "%'"; } if ($data['price_min']) { $where[] = "{$tables['movements']}.price >= '" . $data['price_min'] . "'"; } if ($data['price_max']) { $where[] = "{$tables['movements']}.price <= '" . $data['price_max'] . "'"; } if ($data['amount_min']) { $where[] = "{$tables['movements']}.amount >= '" . $data['amount_min'] . "'"; } if ($data['amount_max']) { $where[] = "{$tables['movements']}.amount <= '" . $data['amount_max'] . "'"; } if ($data['pos_customer_id']) { $movements_info[] = 'G'; $fields[] = "movements_G.pos_customer_id"; $where[] = "movements_G.pos_customer_id='" . $data['pos_customer_id'] . "'"; } if ($data['date_start']) { $where[] = "{$tables['movements']}.date >= '" . $data['date_start'] . "'"; } if ($data['date_end']) { $where[] = "{$tables['movements']}.date <= '" . $data['date_end'] . "'"; } if (count($movements_info)) { $movements_info = array_unique($movements_info); foreach ($movements_info as $tp) { $query_joins['movements_' . $tp] = array('tblname' => 'movements_' . $tp, 'on' => "movements_{$tp}.movements_id = {$tables['movements']}.movements_id", 'parent' => 'movements'); } } if ($data['by_doc']) { $query_joins['docs'] = array('on' => "{$tables['docs']}.doc_id = {$tables['movements']}.doc_id", 'is_inner' => 1); $query_joins['docs_user_info'] = array('on' => "{$tables['docs_user_info']}.doc_info_id = {$tables['docs']}.doc_info_id", 'is_inner' => 1); $query_joins['docs_info'] = array('on' => "{$tables['docs_info']}.doc_info_id = {$tables['docs']}.doc_info_id", 'is_inner' => 1); $query_joins['warehouse_divisions'] = array('on' => "{$tables['warehouse_divisions']}.division_id = {$tables['movements']}.warehouse_customer_id", 'is_inner' => 1); $fields[] = "{$tables['warehouse_divisions']}.title as warehouse_title"; $fields[] = "{$tables['docs']}.date"; $fields[] = "{$tables['docs_user_info']}.customer_id"; $fields[] = "{$tables['docs_info']}.total"; $fields[] = "{$tables['docs_info']}.warehouse_customer_id"; $groupbys[] = "{$tables['movements']}.doc_id"; } $count_query = cw_db_generate_query(array('count(*)'), $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); if ($data['by_doc']) { $_res = db_query($count_query); $total_items = db_num_rows($_res); db_free_result($_res); } else { $total_items = cw_query_first_cell($count_query); } if ($data['all']) { $navigation = cw_core_get_navigation($target, $total_items, 0, $total_items); } else { $navigation = cw_core_get_navigation($target, $total_items, $data['page']); } if ($total_items) { $movements = cw_query(cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys) . " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"); if ($data['by_doc']) { foreach ($movements as $k => $v) { $movements[$k]['movements'] = cw_query($sql = "select * from {$tables['movements']} where doc_id='{$v['doc_id']}'"); $movements[$k]['items_count'] = cw_query_first_cell("select count(*) from {$tables['docs_items']} where doc_id='{$v['doc_id']}'"); } } } return array($movements, $navigation); }
function cw_taxes_search($params, $return = null) { extract($params); global $tables, $current_language; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $from_tbls[] = 'taxes'; $fields[] = "{$tables['taxes']}.*"; if (!empty($product_id)) { $fields[] = "{$product_id} as product_id"; } # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } if ($data['rates_count']) { $fields[] = "COUNT({$tables['tax_rates']}.tax_id) as rates_count"; $query_joins[$tables['tax_rates']] = array('tblname' => "tax_rates", 'on' => "{$tables['tax_rates']}.tax_id={$tables['taxes']}.tax_id"); $groupbys[] = "{$tables['taxes']}.tax_id"; } if (isset($data['active'])) { $where[] = "{$tables['taxes']}.active='{$data['active']}'"; } if (isset($data['use_info'])) { $where[] = "{$tables['taxes']}.use_info='{$data['use_info']}'"; } if (!empty($data['sort_field'])) { $direction = $data['sort_direction'] ? 'DESC' : 'ASC'; $orderbys[] = $data['sort_field'] . ' ' . $direction; } else { $orderbys[] = 'priority'; } $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); return cw_query($search_query); }
} $groupbys[] = "{$tables['products']}.product_id"; cw_event('on_prepare_search_orders', array($data, $docs_type, &$fields, &$query_joins, &$where, &$groupbys, &$having, &$orderbys)); # kornev, we don't need to sort the result in counter - because it's faster to do it this way $count_query = cw_db_generate_query(array('count(*)'), $from_tbls, $query_joins, $where, $groupbys, $having, null); $_res = db_query($count_query); $total_items = db_num_rows($_res); db_free_result($_res); $app_config_file['interface']['items_per_page'] = array(20, 50, 100, 500, 1000, 5000, 10000); $smarty->assign('app_config_file', $app_config_file); $navigation = cw_core_get_navigation($target, $total_items, $page); $navigation['script'] = "index.php?target={$target}&mode=search"; $smarty->assign('navigation', $navigation); if ($total_items > 0) { $page = $data['page']; $products = cw_query($qry = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys) . " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"); } $smarty->assign('products', $products); $smarty->assign('orders', $products); $smarty->assign('mode', $mode); } $location[] = array(cw_get_langvar_by_name('lbl_docs_info_' . $docs_type), 'index.php?target=' . $target); $smarty->assign('docs_type', $docs_type); $smarty->assign('countries', cw_map_get_countries()); $smarty->assign('states', cw_map_get_states()); $smarty->assign('payment_methods', cw_func_call('cw_payment_search', array('data' => array('type' => 1)))); $smarty->assign('shippings', cw_func_call('cw_shipping_search', array('data' => array('active' => 1)))); $smarty->assign('search_prefilled', $search_data['profit_reports'][$docs_type]); $smarty->assign('js_tab', $search_data['profit_reports'][$docs_type]['js_tab']); $smarty->assign('attribute_data', array('field' => 'posted_data[advanced][domain_id][]', 'values' => $search_data['profit_reports'][$docs_type]['advanced']['domain_id'])); $smarty->assign('main', 'profit_reports');
<?php $search_data =& cw_session_register('search_data', array()); if ($action == 'go') { $date_fields = array('' => array('start_date' => 0, 'end_date' => 1)); cw_core_process_date_fields($posted_data, $date_fields); $search_data['payment_history'] = $posted_data; cw_header_location('index.php?target=' . $target); } $paid_total_result = cw_query_first("SELECT SUM(commissions) AS numba FROM {$tables['salesman_payment']} WHERE paid='Y' AND salesman_customer_id='{$customer_id}'"); $smarty->assign('paid_total', $paid_total); $data = $search_data['payment_history']; $where = array(); $from_tbls = array('salesman_payment'); $where[] = 'paid="Y"'; if ($data['start_date']) { $where[] = "{$tables['salesman_payment']}.add_date>='{$data['start_date']}'"; } if ($data['end_date']) { $where[] = "{$tables['salesman_payment']}.add_date>='{$data['end_date']}'"; } $total_payments = cw_query_first_cell(cw_db_generate_query('count(*)', $from_tbls, '', $where, '', '', '', 0)); if ($total_payments) { $smarty->assign('payments', cw_query(cw_db_generate_query('*', $from_tbls, '', $where, '', '', array('add_date')))); } $navigation = cw_core_get_navigation($target, $total_payments, $page); $navigation['script'] = 'index.php?target=' . $target; $smarty->assign('navigation', $navigation); $smarty->assign('search_prefilled', $data); $smarty->assign('main', 'payment_history');
list($from_time, $to_time) = cw_core_get_time_frame("-1 month"); } elseif ($shippment_search == 4) { $from_time = cw_core_strtotime($from_date); $to_time = cw_core_strtotime($to_date); } $where[] = "type='S'"; if ($from_time) { $where[] = "date >= '{$from_time}'"; } if ($to_time) { $where[] = "date <= '{$to_time}'"; } $count_query = cw_db_generate_query(array('count(*)'), $from_tbls, '', $where, '', '', $orderbys); $total_items = cw_query_first_cell($count_query); $navigation = cw_core_get_navigation($target, $total_items, $page); $navigation['script'] = "indes.php?target={$target}&mode={$mode}"; $smarty->assign('navigation', $navigation); if ($total_items > 0) { $ship_docs = cw_query(cw_db_generate_query($fields, $from_tbls, '', $where, '', '', $orderbys) . " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"); if (is_array($ship_docs)) { foreach ($ship_docs as $k => $v) { $ship_docs[$k] = cw_doc_get($v['doc_id']); } } $smarty->assign('ship_docs', $ship_docs); } $smarty->assign('current_section', false); $smarty->assign('home_style', 'iframe'); } $smarty->assign('mode', $mode); $smarty->assign('main', 'manager');
function cw_manufacturer_get($params, $return = null) { extract($params); global $tables, $current_language; $fields = $from_tbls = $query_joins = $where = array(); # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $from_tbls[] = 'manufacturers'; $fields[] = "{$tables['manufacturers']}.*"; $lang = $lang ? $lang : $current_language; $query_joins['manufacturers_lng'] = array('on' => "{$tables['manufacturers_lng']}.manufacturer_id = {$tables['manufacturers']}.manufacturer_id AND {$tables['manufacturers_lng']}.code = '{$lang}'"); $fields[] = "IFNULL({$tables['manufacturers_lng']}.manufacturer, {$tables['manufacturers']}.manufacturer) as manufacturer"; $fields[] = "IFNULL({$tables['manufacturers_lng']}.descr, {$tables['manufacturers']}.descr) as descr"; $query_joins['manufacturer_images'] = array('on' => "{$tables['manufacturer_images']}.id = {$tables['manufacturers']}.manufacturer_id"); $fields[] = "IF({$tables['manufacturer_images']}.id IS NULL, '', 'Y') as is_image"; $where[] = "{$tables['manufacturers']}.manufacturer_id = '{$manufacturer_id}'"; if (isset($avail)) { $where[] = "{$tables['manufacturers']}.avail = '{$avail}'"; } $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $manuf = cw_query_first($search_query); if (!$manuf) { return false; } if (!empty($manuf['url']) && strpos($manuf['url'], 'www.') === 0) { $manuf['url'] = 'http://' . $manuf['url']; } $manuf['image'] = cw_image_get('manufacturer_images', $manufacturer_id); return $manuf; }
function cw_payment_search($params, $return = null) { extract($params); global $tables, $current_language, $addons, $cart; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $language = $language ? $language : $current_language; $from_tbls[] = 'payment_methods'; $fields[] = "{$tables['payment_methods']}.*"; $query_joins['payment_methods_lng'] = array('on' => "{$tables['payment_methods_lng']}.payment_id = {$tables['payment_methods']}.payment_id AND {$tables['payment_methods_lng']}.code = '{$language}'", 'only_select' => 1); $fields[] = "IFNULL({$tables['payment_methods_lng']}.title, {$tables['payment_methods']}.title) as title"; $fields[] = "IFNULL({$tables['payment_methods_lng']}.descr, {$tables['payment_methods']}.descr) as descr"; $where = array(); if (isset($data['active'])) { $where[] = "active='{$data['active']}'"; } if ($data['type']) { $where[] = "(payment_operations & {$data['type']} or payment_operations & 3)"; } if ($data['quotes'] == 1) { $where[] = "is_quotes = 1"; } elseif ($data['quotes'] == 2) { $where[] = "is_web = 1"; } elseif ($data['quotes'] == 3) { $where[] = "is_quotes != 1"; } if ($data['total']) { $where[] = "(min_limit = 0 or min_limit < '{$total}') and (max_limit = 0 or max_limit > '{$total}')"; } if (isset($data['membership_id'])) { $query_joins['payment_methods_memberships'] = array('on' => "{$tables['payment_methods_memberships']}.payment_id = {$tables['payment_methods']}.payment_id and {$tables['payment_methods_memberships']}.membership_id = '{$membership_id}'", 'is_inner' => 1); } $orderbys[] = "{$tables['payment_methods']}.orderby"; $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $payment_methods = cw_query($search_query); if (empty($payment_methods)) { $payment_methods = null; } if ($info_type & 1 && is_array($payment_methods)) { foreach ($payment_methods as $k => $v) { $payment_methods[$k]['shippings'] = cw_query_column("select shipping_id from {$tables['payments_shippings']} where payment_id='{$v['payment_id']}'"); } } if (is_array($payment_methods)) { $payment_methods[0]['is_default'] = 1; } // if used quote if ($addons['quote_system'] && isset($cart['info']['quote_doc_id']) && !empty($cart['info']['quote_doc_id']) && isset($cart['info']['payment_id'])) { foreach ($payment_methods as $method) { if ($method['payment_id'] == $cart['info']['payment_id']) { return array($method); } } return array(); } return $payment_methods; }
function cw_category_search($params, $return = null) { extract($params); global $tables, $current_language; $fields = $from_tbls = $query_joins = $where = $groupbys = $having = $orderbys = array(); $from_tbls[] = 'categories'; # kornev, merge standart and additional variables if ($return) { foreach ($return as $saname => $sadata) { if (isset(${$saname}) && is_array(${$saname}) && empty(${$saname})) { ${$saname} = $sadata; } } } $query_joins['categories_lng'] = array('on' => "{$tables['categories_lng']}.category_id = {$tables['categories']}.category_id and {$tables['categories_lng']}.code='{$current_language}'\n"); $query_joins['categories_subcount'] = array('on' => "{$tables['categories_subcount']}.category_id = {$tables['categories']}.category_id"); $fields[] = "{$tables['categories_subcount']}.subcategory_count"; $fields[] = "{$tables['categories_subcount']}.product_count"; $query_joins['categories_subcount_1'] = array('tblname' => 'categories_subcount', 'on' => "categories_subcount_1.category_id = {$tables['categories']}.category_id and categories_subcount_1.status=1"); $fields[] = "categories_subcount_1.subcategory_count as subcategory_count_web"; $fields[] = "categories_subcount_1.product_count as product_count_web"; $fields[] = "{$tables['categories']}.*"; $fields[] = "IFNULL({$tables['categories_lng']}.category, {$tables['categories']}.category) as category"; $fields[] = "IFNULL({$tables['categories_lng']}.description, {$tables['categories']}.description) as description"; $where[] = 1; if ($data['substring']) { $where[] = "(IFNULL({$tables['categories_lng']}.category, {$tables['categories']}.category) like '%{$data['substring']}%' or IFNULL({$tables['categories_lng']}.description, {$tables['categories']}.description) like '%{$data['substring']}%')"; } if (isset($data['parent_id'])) { $where[] = "{$tables['categories']}.parent_id='" . intval($data['parent_id']) . "'"; } if (isset($data['active']) || isset($data['status'])) { $data['status'] = intval($data['status'] || $data['active']); $where[] = "{$tables['categories']}.status = '{$data['status']}'"; } if (isset($data['membership_id'])) { $query_joins['categories_memberships'] = array('on' => "{$tables['categories_memberships']}.category_id = {$tables['categories']}.category_id"); $where[] = "{$tables['categories_memberships']}.membership_id='{$data['membership_id']}'"; } $groupbys[] = "{$tables['categories']}.category_id"; $orderbys[] = "{$tables['categories']}.order_by"; $search_query_count = cw_db_generate_query('count(*)', $from_tbls, $query_joins, $where, $groupbys, $having, array(), 0); $search_query = cw_db_generate_query($fields, $from_tbls, $query_joins, $where, $groupbys, $having, $orderbys); $_res = db_query($search_query_count); $total_items = db_num_rows($_res); db_free_result($_res); $page = $data['page']; if ($data['count']) { return $total_items; } elseif ($data['limit']) { $limit_str = " LIMIT {$data['limit']}"; } elseif ($data['all']) { $limit_str = ''; } else { $navigation = cw_core_get_navigation($target, $total_items, $page); $limit_str = " LIMIT {$navigation['first_page']}, {$navigation['objects_per_page']}"; } $categories = cw_query($search_query . $limit_str); if ($data['all']) { $navigation = cw_core_get_navigation($target, count($categories), $page, count($categories)); } if (is_array($categories)) { foreach ($categories as $k => $v) { $categories[$k]['subcounts'] = cw_query_hash("SELECT cs.status, sum(cs.subcategory_count) as subcategory_count, \n\t\t\tsum(cs.product_count) as product_count\n FROM {$tables['categories_subcount']} cs, {$tables['categories_parents']} cp\n WHERE cs.membership_id='{$data['membership_id']}' AND\n\t\t\tcs.category_id = cp.category_id AND cp.parent_id='{$v['category_id']}'\n\t\t\tGROUP BY status", 'status', false, false); } } return array($categories, $navigation); }