function vam_show_category($counter)
{
    global $foo, $categories_string, $id;
    $categories_string .= '<li class="CatLevel' . $foo[$counter]['level'] . '';
    if ($id && in_array($counter, $id)) {
        $categories_string .= ' Current">';
    } else {
        $categories_string .= '">';
    }
    $categories_string .= '<a href="';
    $cPath_new = vam_category_link($counter, $foo[$counter]['name']);
    $categories_string .= vam_href_link(FILENAME_DEFAULT, $cPath_new);
    $categories_string .= '">';
    // display category name
    $categories_string .= $foo[$counter]['name'];
    if (SHOW_COUNTS == 'true') {
        $products_in_category = vam_count_products_in_category($counter);
        if ($products_in_category > 0) {
            $categories_string .= '&nbsp;(' . $products_in_category . ')';
        }
    }
    $categories_string .= '</a></li>';
    if ($foo[$counter]['next_id']) {
        vam_show_category($foo[$counter]['next_id']);
    } else {
        $categories_string .= '';
    }
}
Example #2
0
function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false, $cPath = '')
{
    if ($parent_id == 0) {
        $cPath = '';
    } else {
        $cPath .= $parent_id . '_';
    }
    if (!is_array($category_tree_array)) {
        $category_tree_array = array();
    }
    if (sizeof($category_tree_array) < 1 && $exclude != '0') {
        $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP);
    }
    if ($include_itself) {
        $category_query = "select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . $_SESSION['languages_id'] . "' and c.categories_status = '1' and cd.categories_id = '" . $parent_id . "'";
        $category_query = vamDBquery($category_query);
        $category = vam_db_fetch_array($category_query, true);
        $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']);
    }
    $categories_query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . $_SESSION['languages_id'] . "' and c.parent_id = '" . $parent_id . "' and c.categories_status = '1' order by c.sort_order, cd.categories_name";
    $categories_query = vamDBquery($categories_query);
    while ($categories = vam_db_fetch_array($categories_query, true)) {
        $SEF_link = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories['categories_id'], $categories['categories_name']));
        if ($exclude != $categories['categories_id']) {
            $category_tree_array[] = array('id' => $categories['categories_id'], 'text' => $spacing . $categories['categories_name'], 'link' => $SEF_link);
        }
        $category_tree_array = get_category_tree($categories['categories_id'], $spacing . '&nbsp;&nbsp;&nbsp;', $exclude, $category_tree_array, false, $cPath);
    }
    return $category_tree_array;
}
}
output(SITEMAP_HEADER);
$strlen = strlen(SITEMAP_HEADER);
$cat_result = vam_db_query("\n    SELECT\n      c.categories_id,\n      c.parent_id,\n      cd.language_id,\n      cd.categories_name,\n      UNIX_TIMESTAMP(c.date_added) as date_added,\n      UNIX_TIMESTAMP(c.last_modified) as last_modified,\n      l.code\n    FROM \n      " . TABLE_CATEGORIES . " c,\n      " . TABLE_CATEGORIES_DESCRIPTION . " cd,\n      " . TABLE_LANGUAGES . " l\n    WHERE c.categories_status = '1' and cd.language_id = '" . $_SESSION['languages_id'] . "' and \n      c.categories_id = cd.categories_id AND\n      cd.language_id = l.languages_id\n    ORDER by \n      cd.categories_id\n  ");
$cat_array = array();
if (vam_db_num_rows($cat_result) > 0) {
    while ($cat_data = vam_db_fetch_array($cat_result)) {
        $cat_array[$cat_data['categories_id']][$cat_data['code']] = $cat_data;
    }
}
reset($cat_array);
foreach ($cat_array as $lang_array) {
    foreach ($lang_array as $cat_id => $cat_data) {
        $lang_param = $cat_data['code'] != DEFAULT_LANGUAGE ? '&language=' . $cat_data['code'] : '';
        $date = $cat_data['last_modified'] != NULL ? $cat_data['last_modified'] : $cat_data['date_added'];
        $string = sprintf(SITEMAP_ENTRY, htmlspecialchars(utf8_encode(vam_href_link(FILENAME_DEFAULT, vam_category_link($cat_data['categories_id'], $cat_data['categories_name']), 'NONSSL', false, SEARCH_ENGINE_FRIENDLY_URLS))), PRIORITY_CATEGORIES, iso8601_date($date), CHANGEFREQ_CATEGORIES);
        output($string);
        $strlen += strlen($string);
        $c++;
        if ($autogenerate) {
            // 500000 entrys or filesize > 10,485,760 - some space for the last entry
            if ($c == MAX_ENTRYS || $strlen >= MAX_SIZE) {
                output(SITEMAP_FOOTER);
                $function_close($fp);
                $c = 0;
                $i++;
                $fp = $function_open('sitemap' . $i . $file_extension, 'w');
                output(SITEMAP_HEADER);
                $strlen = strlen(SITEMAP_HEADER);
            }
        }
Example #4
0
function vam_rss_category_tree($id_parent = 0, $cPath = '', $limit = null)
{
    global $db, $rss;
    if ($limit != null && $limit < 0) {
        return;
    }
    if ($limit != null) {
        $limit--;
    }
    $groups_cat_query = vam_db_query("select c.categories_id, c.parent_id, c.date_added, c.last_modified, c.categories_image, cd.categories_name, cd.categories_description\n\t\t\t\t\t\t\t\t\t\t\t from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd\n\t\t\t\t\t\t\t\t\t\t\t where c.parent_id = '" . (int) $id_parent . "'\n\t\t\t\t\t\t\t\t\t\t\t and c.categories_id = cd.categories_id\n\t\t\t\t\t\t\t\t\t\t\t and cd.language_id='" . (int) $_SESSION['languages_id'] . "'\n\t\t\t\t\t\t\t\t\t\t\t and c.categories_status= '1'\n\t\t\t\t\t\t\t\t\t\t\t order by c.sort_order, cd.categories_name");
    if (vam_db_num_rows($groups_cat_query) == 0) {
        return;
    }
    while ($groups_cat = vam_db_fetch_array($groups_cat_query)) {
        $link_categories = addslashes(vam_href_link(FILENAME_DEFAULT, vam_category_link($groups_cat['categories_id'], $groups_cat['categories_name']) . (isset($_GET['ref']) ? '&ref=' . $_GET['ref'] : null), 'NONSSL', false));
        $products_in_category = vam_count_products_in_category($groups_cat['categories_id']);
        if (CATEGORIES_COUNT_ZERO == '1' && $products_in_category == 0 or $products_in_category >= 1) {
            $rss->rss_feed_item($groups_cat['categories_name'], $link_categories, $link_categories, date('r', strtotime(max($groups_cat['date_added'], $groups_cat['last_modified']))), $groups_cat['categories_description'], $groups_cat['categories_image'], false, STORE_OWNER_EMAIL_ADDRESS . " (" . STORE_OWNER . ")");
        }
        if (vam_has_category_subcategories($groups_cat['categories_id'])) {
            vam_rss_category_tree($groups_cat['categories_id'], vam_not_null($cPath) ? $cPath . '_' . $groups_cat['categories_id'] : $groups_cat['categories_id'], $limit);
            // следующая группа
        }
        //		$groups_cat->MoveNext();
    }
}
Example #5
0
            $list = select_from_array(0);
            vam_show_top2level_category($list);
            // вывод двух первых уровней каталога
            $box->assign('BOX_CONTENT', '<ul id="CatNavi">' . $categories_string . '</ul>');
        }
        //------------  подкатегории на главной <<<<<
    } else {
        // вывод всех подкатегорий выбраной категории
        //проверить есть ли подкатегории у выбранной категории если нету то не выводить блок
        $ids = preg_split('/_/', $cPath);
        // список id дерева категорий
        // заглавная категория
        $sql = "SELECT DISTINCT c.categories_id as id,  cd.categories_name as name, c.parent_id as parent \tFROM " . TABLE_CATEGORIES . " c\n\t\t\t\tINNER JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON cd.categories_id = c.categories_id AND cd.language_id='" . (int) $_SESSION['languages_id'] . "'\n\t\t\tWHERE c.categories_status = '1'\tAND c.categories_id = " . $ids[0] . $group_check;
        $ds = vamDBquery($sql);
        $row = vam_db_fetch_array($ds, true);
        $cPath_new = vam_category_link($row['id'], $row['name']);
        $href = vam_href_link(FILENAME_DEFAULT, $cPath_new);
        $categories_string = '<li class="CatLevel0"><a href="' . $href . '"</a>' . $row['name'] . '</li>';
        // каталог подкатегорий
        getContentNode($ids[0], 1);
        $box->assign('BOX_CONTENT', '<ul id="CatNavi" class="subcat">' . $categories_string . '</ul>');
    }
}
// if !cache
// set cache ID
if (!$cache) {
    $box_categories = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_categories.html');
} else {
    $box_categories = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_categories.html', $cache_id);
}
$vamTemplate->assign('box_CATEGORIES', $box_categories);
// add category names or the manufacturer name to the breadcrumb trail
if (isset($cPath_array)) {
    for ($i = 0, $n = sizeof($cPath_array); $i < $n; $i++) {
        if (GROUP_CHECK == 'true') {
            $group_check = "and c.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 ";
        } else {
            $group_check = '';
        }
        $categories_query = vamDBquery("select\n\t\t\t\t                                        cd.categories_name\n\t\t\t\t                                        from " . TABLE_CATEGORIES_DESCRIPTION . " cd,\n\t\t\t\t                                        " . TABLE_CATEGORIES . " c\n\t\t\t\t                                        where cd.categories_id = '" . $cPath_array[$i] . "'\n\t\t\t\t                                        and c.categories_id=cd.categories_id\n\t\t\t\t                                        " . $group_check . "\n\t\t\t\t                                        and cd.language_id='" . (int) $_SESSION['languages_id'] . "'");
        if (vam_db_num_rows($categories_query, true) > 0) {
            $categories = vam_db_fetch_array($categories_query, true);
            if ($i < $n - 1) {
                $breadcrumb->add($categories['categories_name'], vam_href_link(FILENAME_DEFAULT, vam_category_link($cPath_array[$i], $categories['categories_name'])));
            } else {
                if ($product->isProduct()) {
                    $breadcrumb->add($categories['categories_name'], vam_href_link(FILENAME_DEFAULT, vam_category_link($cPath_array[$i], $categories['categories_name'])));
                } else {
                    $breadcrumb->add($categories['categories_name']);
                }
            }
        } else {
            break;
        }
    }
} elseif (vam_not_null($_GET['manufacturers_id'])) {
    $manufacturers_query = vamDBquery("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int) $_GET['manufacturers_id'] . "'");
    $manufacturers = vam_db_fetch_array($manufacturers_query, true);
    $breadcrumb->add($manufacturers['manufacturers_name'], vam_href_link(FILENAME_DEFAULT, vam_manufacturer_link((int) $_GET['manufacturers_id'], $manufacturers['manufacturers_name'])));
}
// add the products model/name to the breadcrumb trail
if ($product->isProduct()) {
Example #7
0
 } else {
     if (GROUP_CHECK == 'true') {
         $group_check = "and c.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 ";
     }
     if (PRODUCT_LIST_RECURSIVE == 'true') {
         $recursive_check = "and c.parent_id = '" . $current_category_id . "'";
     } else {
         $recursive_check = "";
     }
     $categories_query = "select      cd.categories_description,\n                                          c.categories_id,\n                                          cd.categories_name,\n                                          cd.categories_heading_title,\n                                          c.categories_image,\n                                          c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd\n                                          where c.categories_status = '1'\n                                          and c.parent_id = '" . $current_category_id . "'\n                                          and c.categories_id = cd.categories_id\n                                          " . $recursive_check . "\n                                          " . $group_check . "\n                                          and cd.language_id = '" . (int) $_SESSION['languages_id'] . "'\n                                          order by sort_order, cd.categories_name";
     $categories_query = vamDBquery($categories_query);
 }
 $rows = 0;
 while ($categories = vam_db_fetch_array($categories_query, true)) {
     $rows++;
     $cPath_new = vam_category_link($categories['categories_id'], $categories['categories_name']);
     $width = (int) (100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
     $image = '';
     if ($categories['categories_image'] != '') {
         $image = DIR_WS_IMAGES . 'categories/' . $categories['categories_image'];
     } else {
         $image = DIR_WS_IMAGES . 'product_images/noimage.gif';
     }
     $categories_content[] = array('CATEGORIES_NAME' => $categories['categories_name'], 'CATEGORIES_HEADING_TITLE' => $categories['categories_heading_title'], 'CATEGORIES_IMAGE' => $image, 'CATEGORIES_LINK' => vam_href_link(FILENAME_DEFAULT, $cPath_new), 'CATEGORIES_DESCRIPTION' => $categories['categories_description']);
 }
 $new_products_category_id = $current_category_id;
 include DIR_WS_MODULES . FILENAME_NEW_PRODUCTS;
 $featured_products_category_id = $current_category_id;
 include DIR_WS_MODULES . FILENAME_FEATURED;
 $image = '';
 if ($category['categories_image'] != '') {
function getContentNode($cId, $level)
{
    global $group_check, $categories_string;
    $sql = "SELECT DISTINCT c.categories_id,  cd.categories_name, c.parent_id, CASE WHEN cc.categories_id = NULL THEN 0 ELSE 1 END as issub \n\t\t\tFROM " . TABLE_CATEGORIES . " c\n\t\t\t\tINNER JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON cd.categories_id = c.categories_id\n\t\t\t\t\tAND cd.language_id='" . (int) $_SESSION['languages_id'] . "'\n\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES . " cc ON cc.parent_id = c.categories_id\n\t\t\tWHERE c.categories_status = '1'\n\t\t\t\tAND c.parent_id = " . $cId . $group_check . "\t \n\t\t\tORDER BY c.sort_order, cd.categories_name";
    $ds = vamDBquery($sql);
    while ($categories = vam_db_fetch_array($ds, true)) {
        $cPath_new = vam_category_link($categories['categories_id'], $categories['categories_name']);
        $url = vam_href_link(FILENAME_DEFAULT, $cPath_new);
        $categories_string .= '<li class="CatLevel' . $level . '"><a href="' . $url . '">' . $categories['categories_name'] . '</a></li>';
        if ($categories['issub'] == 1) {
            GetContentNode($categories['categories_id'], $level + 1);
        }
    }
}
     $fsk_lock = ' and p.products_fsk18!=1';
 }
 if (GROUP_CHECK == 'true') {
     $group_check = " and p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 ";
 }
 $random_query = "select p.products_id,\n                                           pd.products_name,\n                                           p.products_price,\n                                           p.products_tax_class_id,\n                                           p.products_image,\n                                           p2c.categories_id,\n                                           p.products_vpe,\n\t\t\t\t                           p.products_vpe_status,\n\t\t\t\t                           p.products_vpe_value,\n                                           cd.categories_name \n                                           from \n                                           " . TABLE_PRODUCTS . " p,\n                                           " . TABLE_PRODUCTS_DESCRIPTION . " pd,\n                                           " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c,\n                                           " . TABLE_CATEGORIES_DESCRIPTION . " cd\n                                           where p.products_status = '1'                                                                                               \n                                           and p.products_id = '" . (int) $_SESSION[tracking][products_history][$random_last_viewed] . "'\n                                           and pd.products_id = '" . (int) $_SESSION[tracking][products_history][$random_last_viewed] . "'\n                                           and p2c.products_id = '" . (int) $_SESSION[tracking][products_history][$random_last_viewed] . "'\n                                           and pd.language_id = '" . $_SESSION['languages_id'] . "'\n                                           and cd.categories_id = p2c.categories_id\n                                           " . $group_check . "\n                                           " . $fsk_lock . "\n                                           and cd.language_id = '" . $_SESSION['languages_id'] . "'";
 $random_query = vamDBquery($random_query);
 $random_product = vam_db_fetch_array($random_query, true);
 $random_products_price = $vamPrice->GetPrice($random_product['products_id'], $format = true, 1, $random_product['products_tax_class_id'], $random_product['products_price']);
 $category_path = vam_get_path($random_product['categories_id']);
 if ($random_product['products_name'] != '') {
     $box->assign('box_content', $product->buildDataArray($random_product));
     $box->assign('MY_PAGE', 'TEXT_MY_PAGE');
     $box->assign('WATCH_CATGORY', 'TEXT_WATCH_CATEGORY');
     $box->assign('MY_PERSONAL_PAGE', vam_href_link(FILENAME_ACCOUNT));
     $box->assign('CATEGORY_LINK', vam_href_link(FILENAME_DEFAULT, vam_category_link($random_product['categories_id'], $random_product['categories_name'])));
     $box->assign('CATEGORY_NAME', $random_product['categories_name']);
     $box->assign('language', $_SESSION['language']);
     // set cache ID
     if (!CacheCheck()) {
         $box->caching = 0;
         $box_last_viewed = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_last_viewed.html');
     } else {
         $box->caching = 1;
         $box->cache_lifetime = CACHE_LIFETIME;
         $box->cache_modified_check = CACHE_CHECK;
         $cache_id = $_SESSION['language'] . $random_product['products_id'] . $_SESSION['customers_status']['customers_status_name'];
         $box_last_viewed = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_last_viewed.html', $cache_id);
     }
     $vamTemplate->assign('box_LAST_VIEWED', $box_last_viewed);
 }