Example #1
0
 function block_new_products()
 {
     global $db, $current_category_id;
     $query = "\r\n        SELECT parent_id\r\n        FROM " . TABLE_CATEGORIES . "\r\n        WHERE categories_id = :categoriesID\r\n        ;";
     $query = $db->bindVars($query, ':categoriesID', $current_category_id, 'integer');
     $result = $db->Execute($query);
     $parent_id = $result->fields['parent_id'];
     $return = array();
     $products = array();
     $title = '';
     // display limits
     $display_limit = zen_get_products_new_timelimit();
     if (!isset($parent_id) || $parent_id == '0') {
         $query = "\r\n          SELECT\r\n            p.products_id,\r\n            p.products_image,\r\n            pd.products_name,\r\n            pt.type_handler,\r\n            mf.manufacturers_name\r\n          FROM " . TABLE_PRODUCTS . " p FORCE INDEX(idx_status_dateadded_id_type)\r\n          INNER JOIN " . TABLE_PRODUCT_TYPES . " AS pt \r\n            ON p.products_type = pt.type_id\r\n          INNER JOIN " . TABLE_PRODUCTS_DESCRIPTION . " AS pd\r\n            ON p.products_id = pd.products_id\r\n           AND pd.language_id = :languageID\r\n          LEFT JOIN " . TABLE_MANUFACTURERS . " AS mf\r\n            ON p.manufacturers_id = mf.manufacturers_id\r\n         WHERE p.products_status = 1\r\n         " . $display_limit . "\r\n      ORDER BY p.products_date_added DESC\r\n         LIMIT :limitNew\r\n            ";
     } else {
         $query = "\r\n          SELECT DISTINCT\r\n            p.products_id, p.products_image,\r\n            pd.products_name,\r\n            pt.type_handler,\r\n            mf.manufacturers_name\r\n          FROM " . TABLE_PRODUCTS . " p\r\n            LEFT JOIN " . TABLE_PRODUCT_TYPES . " pt ON p.products_type = pt.type_id\r\n            LEFT JOIN " . TABLE_MANUFACTURERS . " mf ON p.manufacturers_id = mf.manufacturers_id\r\n            , " . TABLE_PRODUCTS_DESCRIPTION . " pd\r\n            , " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c\r\n            , " . TABLE_CATEGORIES . " c\r\n          WHERE p.products_status = 1\r\n            AND p.products_id = pd.products_id\r\n            AND pd.language_id = :languageID\r\n            AND p.products_id = p2c.products_id\r\n            AND p2c.categories_id = c.categories_id\r\n            AND c.parent_id = :parentID\r\n            " . $display_limit;
     }
     $query = $db->bindVars($query, ':limitNew', MODULE_CAROUSEL_UI_MAX_DISPLAY_NEW_PRODUCTS, 'integer');
     $query = $db->bindVars($query, ':languageID', $_SESSION['languages_id'], 'integer');
     $query = $db->bindVars($query, ':parentID', $parent_id, 'integer');
     $result = $db->ExecuteRandomMulti($query, MODULE_CAROUSEL_UI_MAX_DISPLAY_NEW_PRODUCTS);
     while (!$result->EOF) {
         $id = $result->fields['products_id'];
         $name = $result->fields['products_name'];
         $image = $result->fields['products_image'];
         $manufacturers = $result->fields['manufacturers_name'];
         if ($result->fields['type_handler'] == '') {
             $type_handler = 'product_info';
         } else {
             $type_handler = $result->fields['type_handler'] . '_info';
         }
         $link = zen_href_link($type_handler, 'products_id=' . $id);
         $price = zen_get_products_display_price($id);
         $products[] = array('id' => $id, 'name' => $name, 'image' => $image, 'link' => $link, 'price' => $price, 'manufacturers' => $manufacturers);
         $result->MoveNextRandom();
     }
     if (count($products) > 0) {
         // 表示件数の倍になるようにする
         $visibleCount = (int) MODULE_CAROUSEL_UI_CONF_VISIBLE_NEW_PRODUCTS;
         if ($visibleCount == 0) {
             $visibleCount = 1;
         }
         $addCount = count($products) % $visibleCount;
         if ($addCount > 0) {
             $addCount = $visibleCount - $addCount;
         }
         for ($i = 0; $i < $addCount; $i++) {
             $products[] = array('id' => 0, 'name' => '', 'image' => '', 'link' => '', 'price' => '', 'manufacturers' => '');
         }
         if (isset($parent_id) && $parent_id != 0) {
             $category_title = zen_get_categories_name((int) $parent_id);
             $title = sprintf(MODULE_CAROUSEL_UI_BLOCK_NEW_PRODUCTS_TITLE, strftime('%B')) . ($category_title != '' ? ' - ' . $category_title : '');
         } else {
             $title = sprintf(MODULE_CAROUSEL_UI_BLOCK_NEW_PRODUCTS_TITLE, strftime('%B'));
         }
         $return['title'] = $title;
         $return['products'] = $products;
         $return['ui_conf'] = array('auto' => (int) MODULE_CAROUSEL_UI_CONF_AUTO_NEW_PRODUCTS, 'speed' => (int) MODULE_CAROUSEL_UI_CONF_SPEED_NEW_PRODUCTS, 'vertical' => MODULE_CAROUSEL_UI_CONF_VERTICAL_NEW_PRODUCTS == 'true' ? 'true' : 'false', 'circular' => MODULE_CAROUSEL_UI_CONF_CIRCULAR_NEW_PRODUCTS == 'true' ? 'true' : 'false', 'visible' => (int) MODULE_CAROUSEL_UI_CONF_VISIBLE_NEW_PRODUCTS, 'scroll' => (int) MODULE_CAROUSEL_UI_CONF_SCROLL_NEW_PRODUCTS);
     }
     if ((int) MODULE_CAROUSEL_UI_CONF_VISIBLE_NEW_PRODUCTS < count($products)) {
         $return['prevbutton'] = $this->imageButton(BUTTON_IMAGE_CAROUSEL_UI_PREVIOUS, BUTTON_CAROUSEL_UI_PREVIOUS_ALT, 'class="imgover"');
         $return['nextbutton'] = $this->imageButton(BUTTON_IMAGE_CAROUSEL_UI_NEXT, BUTTON_CAROUSEL_UI_NEXT_ALT, 'class="imgover"');
     } else {
         $return['prevbutton'] = $this->imageButton(BUTTON_IMAGE_CAROUSEL_UI_PREVIOUS_DISABLED, BUTTON_CAROUSEL_UI_DISABLED_ALT, '');
         $return['nextbutton'] = $this->imageButton(BUTTON_IMAGE_CAROUSEL_UI_NEXT_DISABLED, BUTTON_CAROUSEL_UI_DISABLED_ALT, '');
     }
     return $return;
 }
Example #2
0
    }
}
if (SHOW_CATEGORIES_BOX_SPECIALS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true' or SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
    // display a separator between categories and links
    if (SHOW_CATEGORIES_SEPARATOR_LINK == '1') {
        $content .= '<hr id="catBoxDivider" />' . "\n";
    }
    if (SHOW_CATEGORIES_BOX_SPECIALS == 'true') {
        $show_this = $db->Execute("select s.products_id from " . TABLE_SPECIALS . " s where s.status= 1 limit 1");
        if ($show_this->RecordCount() > 0) {
            $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_SPECIALS) . '">' . CATEGORIES_BOX_HEADING_SPECIALS . '</a>' . '<br />' . "\n";
        }
    }
    if (SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true') {
        // display limits
        $display_limit = zen_get_products_new_timelimit();
        $show_this = $db->Execute("select p.products_id\r\n                                 from " . TABLE_PRODUCTS . " p\r\n                                 where p.products_status = 1 " . $display_limit . " limit 1");
        if ($show_this->RecordCount() > 0) {
            $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_NEW) . '">' . CATEGORIES_BOX_HEADING_WHATS_NEW . '</a>' . '<br />' . "\n";
        }
    }
    if (SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true') {
        $show_this = $db->Execute("select products_id from " . TABLE_FEATURED . " where status= 1 limit 1");
        if ($show_this->RecordCount() > 0) {
            $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_FEATURED_PRODUCTS) . '">' . CATEGORIES_BOX_HEADING_FEATURED_PRODUCTS . '</a>' . '<br />' . "\n";
        }
    }
    if (SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
        $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_ALL) . '">' . CATEGORIES_BOX_HEADING_PRODUCTS_ALL . '</a>' . "\n";
    }
}