示例#1
0
     $conditions = array();
     $table = '?:products';
     if (!empty($params['product_id'])) {
         $conditions[] = db_quote('product_id != ?i', $params['product_id']);
     }
     if (!empty($params['category_id'])) {
         $table = '?:products_categories';
         $category_ids = db_get_fields("SELECT a.category_id\n                     FROM ?:categories as a\n                     LEFT JOIN ?:categories as b\n                     ON b.category_id = ?i\n                     WHERE a.id_path LIKE CONCAT(b.id_path, '/%')", $params['category_id']);
         $conditions[] = db_quote('category_id IN (?n)', $category_ids);
     }
     $condition = implode(' AND ', $conditions);
     $product_ids = fn_twg_get_random_ids($items_qty, 'product_id', $table, $condition);
     if (!empty($product_ids)) {
         $search_params = array('pid' => $product_ids);
         $search_params = array_merge($_REQUEST, $search_params);
         list($result, $search_params) = fn_twg_api_get_products($search_params, $items_qty, $lang_code);
     }
 } elseif ($meta['object'] == 'categories') {
     $condition = '';
     if (!empty($params['category_id'])) {
         $category_path = db_get_field("SELECT id_path FROM ?:categories WHERE category_id = ?i", $params['category_id']);
         if (!empty($category_path)) {
             $condition = "id_path LIKE '{$category_path}/%'";
         }
     }
     $category_ids = fn_twg_get_random_ids($items_qty, 'category_id', '?:categories', $condition);
     if (!empty($category_ids)) {
         $search_params = array('cid' => $category_ids, 'group_by_level' => false);
         $search_params = array_merge($_REQUEST, $search_params);
         $result = fn_twg_api_get_categories($search_params, $lang_code);
     }
示例#2
0
文件: func.php 项目: arpad9/bygmarket
/**
 * Returns info for homepage
 * @param object $response
 */
function fn_twg_set_response_homepage(&$response)
{
    $home_page_content = TwigmoSettings::get('home_page_content');
    if (empty($home_page_content)) {
        $home_page_content = 'random_products';
    }
    if ($home_page_content == 'home_page_blocks' or $home_page_content == 'tw_home_page_blocks') {
        // Use block manager: get blocks
        if ($home_page_content == 'home_page_blocks') {
            $location = 'index.index';
        } else {
            $location = 'twigmo.post';
        }
        $blocks = TwigmoBlock::getBlocksForLocation($location, TwigmoSettings::get('block_types'));
        // Return blocks
        $response->setData($blocks);
    } else {
        $block = array();
        // Random products or category products
        if ($home_page_content == 'random_products') {
            $product_ids = fn_twg_get_random_ids(TWG_RESPONSE_ITEMS_LIMIT, 'product_id', '?:products', db_quote("status = ?s", 'A'));
            $block['title'] = 'random_products';
        } else {
            $product_ids = fn_twg_get_category_product_ids($home_page_content, false) or array();
            $block['title'] = fn_get_category_name($home_page_content);
        }
        list($block['products']) = fn_twg_api_get_products(array('pid' => $product_ids), count($product_ids));
        $block['total_items'] = count($block['products']);
        $response->setData(array($block));
    }
}
示例#3
0
 $object_name = '';
 $condition = array();
 $options = array('lang_code' => $lang_code);
 $result = array();
 $is_paginate = false;
 $total_items = 0;
 $items_per_page = !empty($_REQUEST['items_per_page']) ? $_REQUEST['items_per_page'] : TWG_RESPONSE_ITEMS_LIMIT;
 if ($object == 'timeline') {
     list($logs, $pagination_params) = fn_twg_get_logs($_REQUEST);
     $response->setData($logs);
     fn_twg_set_response_pagination($response, $pagination_params);
 } elseif ($object == 'dashboard') {
     $permissions = fn_twg_get_admin_permissions($auth);
     $data = array();
     if ($permissions['view_catalog']) {
         list($data['products']) = fn_twg_api_get_products(array('amount_to' => 10), 7, $lang_code);
         $data['products_stats'] = fn_twg_get_product_stats();
     }
     if ($permissions['view_orders']) {
         $data['orders'] = fn_twg_get_latest_orders($lang_code);
     }
     if ($permissions['view_reports']) {
         $data['summary_stats'] = fn_twg_get_summary_stats();
     }
     if ($permissions['view_users']) {
         $data['users_stats'] = fn_twg_get_user_stats();
     }
     if ($permissions['view_logs']) {
         list($logs, $pagination_params) = fn_twg_get_logs();
         $data['timeline'] = array($logs, $pagination_params);
     }