function vam_get_tax_rate($class_id, $country_id = -1, $zone_id = -1)
{
    if ($country_id == -1 && $zone_id == -1) {
        if (!isset($_SESSION['customer_id'])) {
            $country_id = STORE_COUNTRY;
            $zone_id = STORE_ZONE;
        } else {
            $country_id = $_SESSION['customer_country_id'];
            $zone_id = $_SESSION['customer_zone_id'];
        }
    } else {
        $country_id = $country_id;
        $zone_id = $zone_id;
    }
    $tax_query = vamDBquery("select sum(tax_rate) as tax_rate from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . $country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . $zone_id . "') and tr.tax_class_id = '" . $class_id . "' group by tr.tax_priority");
    if (vam_db_num_rows($tax_query, true)) {
        $tax_multiplier = 1.0;
        while ($tax = vam_db_fetch_array($tax_query, true)) {
            $tax_multiplier *= 1.0 + $tax['tax_rate'] / 100;
        }
        return ($tax_multiplier - 1.0) * 100;
    } else {
        return 0;
    }
}
Example #2
0
function ship2pay()
{
    global $order;
    $shipping = $_SESSION['shipping'];
    $shipping_module = substr($shipping['id'], 0, strpos($shipping['id'], '_')) . '.php';
    $q_ship2pay = vamDBquery("SELECT payments_allowed, zones_id FROM " . TABLE_SHIP2PAY . " where shipment = '" . $shipping_module . "' and status=1");
    $check_flag = false;
    while ($mods = vam_db_fetch_array($q_ship2pay, true)) {
        if ($mods['zones_id'] > 0) {
            $check_query = vamDBquery("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . $mods['zones_id'] . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
            while ($check = vam_db_fetch_array($check_query, true)) {
                if ($check['zone_id'] < 1) {
                    $check_flag = true;
                    break 2;
                } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
                    $check_flag = true;
                    break 2;
                }
            }
        } else {
            $check_flag = true;
            break;
        }
    }
    if ($check_flag) {
        $modules = $mods['payments_allowed'];
    } else {
        $modules = MODULE_PAYMENT_INSTALLED;
    }
    $modules = explode(';', $modules);
    return $modules;
}
Example #3
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;
}
function vam_get_path($current_category_id = '')
{
    global $cPath_array;
    if (vam_not_null($current_category_id)) {
        $cp_size = sizeof($cPath_array);
        if ($cp_size == 0) {
            $cPath_new = $current_category_id;
        } else {
            $cPath_new = '';
            $last_category_query = "select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . $cPath_array[$cp_size - 1] . "'";
            $last_category_query = vamDBquery($last_category_query);
            $last_category = vam_db_fetch_array($last_category_query, true);
            $current_category_query = "select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . $current_category_id . "'";
            $current_category_query = vamDBquery($current_category_query);
            $current_category = vam_db_fetch_array($current_category_query, true);
            if ($last_category['parent_id'] == $current_category['parent_id']) {
                for ($i = 0; $i < $cp_size - 1; $i++) {
                    $cPath_new .= '_' . $cPath_array[$i];
                }
            } else {
                for ($i = 0; $i < $cp_size; $i++) {
                    $cPath_new .= '_' . $cPath_array[$i];
                }
            }
            $cPath_new .= '_' . $current_category_id;
            if (substr($cPath_new, 0, 1) == '_') {
                $cPath_new = substr($cPath_new, 1);
            }
        }
    } else {
        $cPath_new = vam_not_null($cPath_array) ? implode('_', $cPath_array) : '';
    }
    return 'cPath=' . $cPath_new;
}
function vam_get_products_image($products_id = '')
{
    $product_query = "select products_image from " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'";
    $product_query = vamDBquery($product_query);
    $products_image = vam_db_fetch_array($product_query, true);
    return $products_image['products_image'];
}
function vam_get_tax_description($class_id, $country_id = -1, $zone_id = -1)
{
    if ($country_id == -1 && $zone_id == -1) {
        if (!isset($_SESSION['customer_id'])) {
            $country_id = STORE_COUNTRY;
            $zone_id = STORE_ZONE;
        } else {
            $country_id = $_SESSION['customer_country_id'];
            $zone_id = $_SESSION['customer_zone_id'];
        }
    } else {
        $country_id = $country_id;
        $zone_id = $zone_id;
    }
    $tax_query = vamDBquery("select tax_description from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . $country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . $zone_id . "') and tr.tax_class_id = '" . $class_id . "' order by tr.tax_priority");
    if (vam_db_num_rows($tax_query, true)) {
        $tax_description = '';
        while ($tax = vam_db_fetch_array($tax_query, true)) {
            $tax_description .= $tax['tax_description'] . ' + ';
        }
        $tax_description = substr($tax_description, 0, -3);
        return $tax_description;
    } else {
        return TEXT_UNKNOWN_TAX_RATE;
    }
}
function vam_get_vpe_name($vpeID)
{
    $vpe_query = "SELECT products_vpe_name FROM " . TABLE_PRODUCTS_VPE . " WHERE language_id='" . (int) $_SESSION['languages_id'] . "' and products_vpe_id='" . $vpeID . "'";
    $vpe_query = vamDBquery($vpe_query);
    $vpe = vam_db_fetch_array($vpe_query, true);
    return $vpe['products_vpe_name'];
}
Example #8
0
 function main()
 {
     $this->SHIPPING = array();
     // prefetch shipping status
     $status_query = vamDBquery("SELECT\n                                     shipping_status_name,\n                                     shipping_status_image,shipping_status_id\n                                     FROM " . TABLE_SHIPPING_STATUS . "\n                                     where language_id = '" . (int) $_SESSION['languages_id'] . "'");
     while ($status_data = vam_db_fetch_array($status_query, true)) {
         $this->SHIPPING[$status_data['shipping_status_id']] = array('name' => $status_data['shipping_status_name'], 'image' => $status_data['shipping_status_image']);
     }
 }
function vam_get_products_name($product_id, $language = '')
{
    if (empty($language)) {
        $language = $_SESSION['languages_id'];
    }
    $product_query = "select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . $product_id . "' and language_id = '" . $language . "'";
    $product_query = vamDBquery($product_query);
    $product = vam_db_fetch_array($product_query, true);
    return $product['products_name'];
}
function vam_has_product_attributes($products_id)
{
    $attributes_query = "select count(*) as count from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . $products_id . "'";
    $attributes_query = vamDBquery($attributes_query);
    $attributes = vam_db_fetch_array($attributes_query, true);
    if ($attributes['count'] > 0) {
        return true;
    } else {
        return false;
    }
}
function vam_has_category_subcategories($category_id)
{
    $child_category_query = "select count(*) as count from " . TABLE_CATEGORIES . " where parent_id = '" . $category_id . "'";
    $child_category_query = vamDBquery($child_category_query);
    $child_category = vam_db_fetch_array($child_category_query, true);
    if ($child_category['count'] > 0) {
        return true;
    } else {
        return false;
    }
}
function vam_get_manufacturers($manufacturers_array = '')
{
    if (!is_array($manufacturers_array)) {
        $manufacturers_array = array();
    }
    $manufacturers_query = vamDBquery("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
    while ($manufacturers = vam_db_fetch_array($manufacturers_query, true)) {
        $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'], 'text' => $manufacturers['manufacturers_name']);
    }
    return $manufacturers_array;
}
function vam_get_subcategories(&$subcategories_array, $parent_id = 0)
{
    $subcategories_query = "select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . $parent_id . "'";
    $subcategories_query = vamDBquery($subcategories_query);
    while ($subcategories = vam_db_fetch_array($subcategories_query, true)) {
        $subcategories_array[sizeof($subcategories_array)] = $subcategories['categories_id'];
        if ($subcategories['categories_id'] != $parent_id) {
            vam_get_subcategories($subcategories_array, $subcategories['categories_id']);
        }
    }
}
function vam_get_categoriesstatus_for_product($product_id)
{
    $categorie_query = "SELECT\n\t                                   categories_id\n\t                                   FROM " . TABLE_PRODUCTS_TO_CATEGORIES . "\n\t                                   WHERE products_id='" . $product_id . "'";
    $categorie_query = vamDBquery($categorie_query);
    while ($categorie_data = vam_db_fetch_array($categorie_query, true)) {
        if (vam_check_categories_status($categorie_data['categories_id']) >= 1) {
            return 1;
        } else {
            return 0;
        }
        echo $categorie_data['categories_id'];
    }
}
function vam_get_products_mo_images($products_id = '')
{
    $mo_query = "select image_id, image_nr, image_name from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . $products_id . "' ORDER BY image_nr";
    $products_mo_images_query = vamDBquery($mo_query);
    while ($row = vam_db_fetch_array($products_mo_images_query, true)) {
        $results[$row['image_nr'] - 1] = $row;
    }
    if (is_array($results)) {
        return $results;
    } else {
        return false;
    }
}
function vam_get_parent_categories(&$categories, $categories_id)
{
    $parent_categories_query = "select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . $categories_id . "'";
    $parent_categories_query = vamDBquery($parent_categories_query);
    while ($parent_categories = vam_db_fetch_array($parent_categories_query, true)) {
        if ($parent_categories['parent_id'] == 0) {
            return true;
        }
        $categories[sizeof($categories)] = $parent_categories['parent_id'];
        if ($parent_categories['parent_id'] != $categories_id) {
            vam_get_parent_categories($categories, $parent_categories['parent_id']);
        }
    }
}
function vam_get_categories($categories_array = '', $parent_id = '0', $indent = '')
{
    $parent_id = vam_db_prepare_input($parent_id);
    if (!is_array($categories_array)) {
        $categories_array = array();
    }
    $categories_query = "select\n                                      c.categories_id,\n                                      cd.categories_name\n                                      from " . TABLE_CATEGORIES . " c,\n                                       " . TABLE_CATEGORIES_DESCRIPTION . " cd\n                                       where parent_id = '" . vam_db_input($parent_id) . "'\n                                       and c.categories_id = cd.categories_id\n                                       and c.categories_status != 0\n                                       and cd.language_id = '" . $_SESSION['languages_id'] . "'\n                                       order by sort_order, cd.categories_name";
    $categories_query = vamDBquery($categories_query);
    while ($categories = vam_db_fetch_array($categories_query, true)) {
        $categories_array[] = array('id' => $categories['categories_id'], 'text' => $indent . $categories['categories_name']);
        if ($categories['categories_id'] != $parent_id) {
            $categories_array = vam_get_categories($categories_array, $categories['categories_id'], $indent . '&nbsp;&nbsp;');
        }
    }
    return $categories_array;
}
function vam_get_product_path($products_id)
{
    $cPath = '';
    $category_query = "select p2c.categories_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = '" . (int) $products_id . "' and p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id != 0 limit 1";
    $category_query = vamDBquery($category_query);
    if (vam_db_num_rows($category_query, true)) {
        $category = vam_db_fetch_array($category_query);
        $categories = array();
        vam_get_parent_categories($categories, $category['categories_id']);
        $categories = array_reverse($categories);
        $cPath = implode('_', $categories);
        if (vam_not_null($cPath)) {
            $cPath .= '_';
        }
        $cPath .= $category['categories_id'];
    }
    return $cPath;
}
function vam_customer_greeting()
{
    if (isset($_SESSION['customer_last_name']) && isset($_SESSION['customer_id'])) {
        if (!isset($_SESSION['customer_gender'])) {
            $check_customer_query = "select customers_gender FROM  " . TABLE_CUSTOMERS . " where customers_id = '" . $_SESSION['customer_id'] . "'";
            $check_customer_query = vamDBquery($check_customer_query);
            $check_customer_data = vam_db_fetch_array($check_customer_query, true);
            $_SESSION['customer_gender'] = $check_customer_data['customers_gender'];
        }
        if ($_SESSION['customer_gender'] == 'f') {
            $greeting_string = sprintf(TEXT_GREETING_PERSONAL, FEMALE . '&nbsp;' . $_SESSION['customer_first_name'] . '&nbsp;' . $_SESSION['customer_last_name'], vam_href_link(FILENAME_PRODUCTS_NEW));
        } else {
            $greeting_string = sprintf(TEXT_GREETING_PERSONAL, MALE . '&nbsp;' . $_SESSION['customer_first_name'] . '&nbsp;' . $_SESSION['customer_last_name'], vam_href_link(FILENAME_PRODUCTS_NEW));
        }
    } else {
        $greeting_string = sprintf(TEXT_GREETING_GUEST, vam_href_link(FILENAME_LOGIN, '', 'SSL'), vam_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));
    }
    return $greeting_string;
}
function vam_count_products_in_category($category_id, $include_inactive = false)
{
    $products_count = 0;
    if ($include_inactive == true) {
        $products_query = "select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p2c.categories_id = '" . $category_id . "'";
    } else {
        $products_query = "select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '" . $category_id . "'";
    }
    $products_query = vamDBquery($products_query);
    $products = vam_db_fetch_array($products_query, true);
    $products_count += $products['total'];
    $child_categories_query = "select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . $category_id . "'";
    $child_categories_query = vamDBquery($child_categories_query);
    if (vam_db_num_rows($child_categories_query, true)) {
        while ($child_categories = vam_db_fetch_array($child_categories_query, true)) {
            $products_count += vam_count_products_in_category($child_categories['categories_id'], $include_inactive);
        }
    }
    return $products_count;
}
 function splitPageResults($query, $page, $max_rows, $count_key = '*')
 {
     $this->sql_query = $query;
     if (empty($page) || is_numeric($page) == false) {
         $page = 1;
     }
     $this->current_page_number = $page;
     $this->number_of_rows_per_page = $max_rows;
     $pos_to = strlen($this->sql_query);
     $pos_from = strpos($this->sql_query, ' FROM', 0);
     $pos_group_by = strpos($this->sql_query, ' GROUP BY', $pos_from);
     if ($pos_group_by < $pos_to && $pos_group_by != false) {
         $pos_to = $pos_group_by;
     }
     $pos_having = strpos($this->sql_query, ' HAVING', $pos_from);
     if ($pos_having < $pos_to && $pos_having != false) {
         $pos_to = $pos_having;
     }
     $pos_order_by = strpos($this->sql_query, ' ORDER BY', $pos_from);
     if ($pos_order_by < $pos_to && $pos_order_by != false) {
         $pos_to = $pos_order_by;
     }
     if (strpos($this->sql_query, 'DISTINCT') || strpos($this->sql_query, 'GROUP BY')) {
         $count_string = 'DISTINCT ' . vam_db_input($count_key);
         //$count_string = vam_db_input($count_key);
     } else {
         $count_string = vam_db_input($count_key);
     }
     $count_query = vamDBquery($query);
     $count = vam_db_num_rows($count_query, true);
     $this->number_of_rows = $count;
     $this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page);
     if ($this->current_page_number > $this->number_of_pages) {
         $this->current_page_number = $this->number_of_pages;
     }
     $offset = $this->number_of_rows_per_page * ($this->current_page_number - 1);
     $this->sql_query .= " LIMIT " . max($offset, 0) . ", " . $this->number_of_rows_per_page;
 }
Example #22
0
function check_stock($products_id)
{
    unset($stock_flag);
    $stock_query = vam_db_query("SELECT products_quantity FROM " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'");
    $stock_values = vam_db_fetch_array($stock_query);
    if ($stock_values['products_quantity'] <= '0') {
        $stock_flag = 'true';
        $stock_warn = TEXT_WARN_MAIN;
        $attribute_stock_query = vam_db_query("SELECT attributes_stock, options_values_id FROM " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . $products_id . "'");
        while ($attribute_stock_values = vam_db_fetch_array($attribute_stock_query)) {
            if ($attribute_stock_values['attributes_stock'] <= '0') {
                $stock_flag = 'true';
                $which_attribute_query = vamDBquery("SELECT products_options_values_name FROM " . TABLE_PRODUCTS_OPTIONS_VALUES . " WHERE products_options_values_id = '" . $attribute_stock_values['options_values_id'] . "' AND language_id = '" . $_SESSION['languages_id'] . "'");
                $which_attribute = vam_db_fetch_array($which_attribute_query);
                $stock_warn .= ', ' . $which_attribute['products_options_values_name'];
            }
        }
    }
    if ($stock_flag == 'true' && $products_id != '') {
        return '<div class="stock_warn">' . $stock_warn . '</div>';
    } else {
        return vam_image(DIR_WS_IMAGES . 'icon_status_green.gif', $stock_values['products_quantity'] . ' ' . IMAGE_ICON_STATUS_GREEN_STOCK, 10, 10);
    }
}
Example #23
0
   ---------------------------------------------------------------------------------------*/
$box = new vamTemplate();
$box->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
$box_content = '';
// include needed functions
require_once DIR_FS_INC . 'vam_random_select.inc.php';
require_once DIR_FS_INC . 'vam_row_number_format.inc.php';
//fsk18 lock
$fsk_lock = '';
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
    $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_product = "select\n                                           p.products_id,\n                                           pd.products_name,\n                                           p.products_price,\n                                           p.products_tax_class_id,\n                                           p.products_image,\n                                           f.expires_date,\n                                           p.products_vpe,\n\t\t\t\t                           p.products_vpe_status,\n\t\t\t\t                           p.products_vpe_value\n                                           from " . TABLE_PRODUCTS . " p,\n                                           " . TABLE_PRODUCTS_DESCRIPTION . " pd,\n                                           " . TABLE_FEATURED . " f where p.products_status = '1'\n                                           and p.products_id = f.products_id\n                                           and pd.products_id = f.products_id\n                                           and pd.language_id = '" . $_SESSION['languages_id'] . "'\n                                           and f.status = '1'\n                                           " . $group_check . "\n                                           " . $fsk_lock . "                                             \n                                           order by rand()\n                                           desc limit 3";
$feat_q = vamDBquery($random_product);
if (vam_db_num_rows($feat_q, true) >= 0) {
    $rows = 0;
    $box_content = array();
    while ($feat = vam_db_fetch_array($feat_q, true)) {
        $rows++;
        //$feat = array_merge($feat, array ('ID' => vam_row_number_format($rows)));
        $box_content[] = $product->buildDataArray($feat);
    }
}
$box->assign('box_content', $box_content);
$box->assign('FEATURED_LINK', vam_href_link(FILENAME_FEATURED));
$box->assign('language', $_SESSION['language']);
$box_featured = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_feature.html');
$vamTemplate->assign('box_FEATURE', $box_featured);
   $Id: popup_content.php 1169 2007-02-06 19:20:03 VaM $

   VaM Shop - open source ecommerce solution
   http://vamshop.ru
   http://vamshop.com

   Copyright (c) 2007 VaM Shop
   -----------------------------------------------------------------------------------------
   based on:
   (c) 2003	 nextcommerce (content_preview.php,v 1.2 2003/08/25); www.nextcommerce.org
   (c) 2004	 xt:Commerce (content_preview.php,v 1.2 2003/08/25); xt-commerce.com
   
   Released under the GNU General Public License 
   ---------------------------------------------------------------------------------------*/
require 'includes/application_top.php';
$content_query = vamDBquery("SELECT\n \t\t\t\t\t*\n \t\t\t\t\tFROM " . TABLE_CONTENT_MANAGER . "\n \t\t\t\t\tWHERE content_group='" . (int) $_GET['coID'] . "' and languages_id = '" . $_SESSION['languages_id'] . "'");
$content_data = vam_db_fetch_array($content_query, true);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html <?php 
echo HTML_PARAMS;
?>
>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php 
echo $_SESSION['language_charset'];
?>
" /> 
<meta http-equiv="Content-Style-Type" content="text/css" />
<title><?php 
   (c) 2004	 xt:Commerce (upcoming_products.php,v 1.7 2003/08/22); xt-commerce.com

   Released under the GNU General Public License 
   ---------------------------------------------------------------------------------------*/
$module = new vamTemplate();
$module->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
// include needed functions
require_once DIR_FS_INC . 'vam_date_short.inc.php';
$module_content = array();
//fsk18 lock
$fsk_lock = '';
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
    $fsk_lock = ' and p.products_fsk18!=1';
}
if (GROUP_CHECK == 'true') {
    $group_check = "and p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 ";
}
$expected_query = vamDBquery("select p.products_id,\n                                  pd.products_name,\n                                  products_date_available as date_expected from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd\n                                  where to_days(products_date_available) >= to_days(now())\n                                  and p.products_id = pd.products_id\n                                  " . $group_check . "\n                                  " . $fsk_lock . "\n                                  and pd.language_id = '" . (int) $_SESSION['languages_id'] . "'\n                                  order by " . EXPECTED_PRODUCTS_FIELD . " " . EXPECTED_PRODUCTS_SORT . "\n                                  limit " . MAX_DISPLAY_UPCOMING_PRODUCTS);
if (vam_db_num_rows($expected_query, true) > 0) {
    $row = 0;
    while ($expected = vam_db_fetch_array($expected_query, true)) {
        $row++;
        $module_content[] = array('PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($expected['products_id'], $expected['products_name'])), 'PRODUCTS_NAME' => $expected['products_name'], 'PRODUCTS_DATE' => vam_date_short($expected['date_expected']));
    }
    $module->assign('language', $_SESSION['language']);
    $module->assign('module_content', $module_content);
    // set cache ID
    $module->caching = 0;
    $module = $module->fetch(CURRENT_TEMPLATE . '/module/upcoming_products.html');
    $default->assign('MODULE_upcoming_products', $module);
}
Example #26
0
 function buildDataArray(&$array, $image = 'thumbnail')
 {
     global $vamPrice, $main;
     $tax_rate = $vamPrice->TAX[$array['products_tax_class_id']];
     $products_price = $vamPrice->GetPrice($array['products_id'], $format = true, 1, $array['products_tax_class_id'], $array['products_price'], 1);
     if ($_SESSION['customers_status']['customers_status_show_price'] != '0') {
         if ($_SESSION['customers_status']['customers_fsk18'] == '1') {
             if ($array['products_fsk18'] == '0') {
                 $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']);
                 $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']);
             }
         } else {
             $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']);
             $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']);
         }
         $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']);
     }
     $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
     $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
     $extra_fields_query = vamDBquery("\n                      SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value\n                      FROM " . TABLE_PRODUCTS_EXTRA_FIELDS . " pef\n             LEFT JOIN  " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " ptf\n            ON ptf.products_extra_fields_id=pef.products_extra_fields_id\n            WHERE ptf.products_id=" . (int) $array['products_id'] . " and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='" . $_SESSION['languages_id'] . "')\n            ORDER BY products_extra_fields_order");
     while ($extra_fields = vam_db_fetch_array($extra_fields_query, true)) {
         if (!$extra_fields['status']) {
             // show only enabled extra field
             continue;
         }
         $extra_fields_data[] = array('NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value']);
     }
     return array('PRODUCTS_NAME' => vam_parse_input_field_data($array['products_name'], array('"' => '&quot;')), 'PRODUCTS_MODEL' => $array['products_model'], 'PRODUCTS_EAN' => $array['products_ean'], 'PRODUCTS_QUANTITY' => $array['products_quantity'], 'COUNT' => $array['ID'], 'REVIEWS_COUNT' => $this->getReviewsCount1($array['products_id']), 'EXTRA_FIELDS' => $extra_fields_data, 'PRODUCTS_ID' => $array['products_id'], 'PRODUCTS_VPE' => $this->getVPEtext($array, $products_price['plain']), 'PRODUCTS_IMAGE' => $this->productImage($array['products_image'], $image), 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($array['products_id'], $array['products_name'])), 'PRODUCTS_PRICE' => $products_price['formated'], 'PRODUCTS_PRICE_PLAIN' => $products_price['plain'], 'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate), 'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(), 'PRODUCTS_BUTTON_BUY_NOW' => $buy_now, 'PRODUCTS_BUTTON_BUY_NOW_NEW' => $buy_now_new, 'PRODUCTS_SHIPPING_NAME' => $shipping_status_name, 'PRODUCTS_SHIPPING_IMAGE' => $shipping_status_image, 'PRODUCTS_DESCRIPTION' => $array['products_description'], 'PRODUCTS_EXPIRES' => $array['expires_date'], 'PRODUCTS_CATEGORY_URL' => $array['cat_url'], 'PRODUCTS_SHORT_DESCRIPTION' => $array['products_short_description'], 'PRODUCTS_FSK18' => $array['products_fsk18'], 'CATEGORIES_NAME' => isset($array['categories_name']) ? $array['categories_name'] : "");
 }
Example #27
0
   Copyright (c) 2007 VaM Shop
   -----------------------------------------------------------------------------------------
   based on: 
   (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
   (c) 2002-2003 osCommerce(new_products.php,v 1.33 2003/02/12); www.oscommerce.com
   (c) 2003	 nextcommerce (new_products.php,v 1.9 2003/08/17); www.nextcommerce.org
   (c) 2004	 xt:Commerce (new_products.php,v 1.9 2003/08/17); www.xt-commerce.com

   Released under the GNU General Public License 
   ---------------------------------------------------------------------------------------*/
$module = new vamTemplate();
$module->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
$sql = "\n    SELECT\n        news_id,\n        headline,\n        content,\n        date_added\n    FROM " . TABLE_LATEST_NEWS . "\n    WHERE\n         status = '1'\n         and language = '" . (int) $_SESSION['languages_id'] . "'\n    ORDER BY date_added DESC\n    LIMIT " . MAX_DISPLAY_LATEST_NEWS . "\n    ";
$row = 0;
$module_content = array();
$query = vamDBquery($sql);
while ($one = vam_db_fetch_array($query, true)) {
    //
    $qI = 0;
    $qIcon = '';
    if ($qI = strpos($one['content'], 'src="')) {
        $qI = $qI + 5;
        $qIcon = substr($one['content'], $qI);
        $qI = strpos($qIcon, '"');
        $qIcon = '<img class="newsImage" src="' . substr($qIcon, 0, $qI) . '" alt="Image" />';
    }
    //
    $SEF_parameter = '';
    if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
        $SEF_parameter = '&headline=' . vam_cleanName($one['headline']);
    }
 function before_process()
 {
     global $customer_id, $order, $vamPrice, $order_totals, $sendto, $billto, $languages_id, $payment, $currencies, $cart;
     global ${$payment};
     $order_id = substr($_SESSION['cart_yandex_id'], strpos($_SESSION['cart_yandex_id'], '-') + 1);
     // initialized for the email confirmation
     $products_ordered = '';
     $subtotal = 0;
     $total_tax = 0;
     for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
         // Stock Update - Joao Correia
         if (STOCK_LIMITED == 'true') {
             if (DOWNLOAD_ENABLED == 'true') {
                 $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename, pad.products_attributes_is_pin \n                                FROM " . TABLE_PRODUCTS . " p\n                                LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa\n                                ON p.products_id=pa.products_id\n                                LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad\n                                ON pa.products_attributes_id=pad.products_attributes_id\n                                WHERE p.products_id = '" . vam_get_prid($order->products[$i]['id']) . "'";
                 // Will work with only one option for downloadable products
                 // otherwise, we have to build the query dynamically with a loop
                 $products_attributes = $order->products[$i]['attributes'];
                 if (is_array($products_attributes)) {
                     $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
                 }
                 $stock_query = vam_db_query($stock_query_raw);
             } else {
                 $stock_query = vam_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . vam_get_prid($order->products[$i]['id']) . "'");
             }
             if (vam_db_num_rows($stock_query) > 0) {
                 $stock_values = vam_db_fetch_array($stock_query);
                 // do not decrement quantities if products_attributes_filename exists
                 if (DOWNLOAD_ENABLED != 'true' || !$stock_values['products_attributes_filename'] || $stock_values['products_attributes_is_pin'] == 1) {
                     $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty'];
                 } else {
                     $stock_left = $stock_values['products_quantity'];
                 }
                 vam_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . vam_get_prid($order->products[$i]['id']) . "'");
                 if ($stock_left < 1 && STOCK_ALLOW_CHECKOUT == 'false') {
                     vam_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . vam_get_prid($order->products[$i]['id']) . "'");
                 }
             }
         }
         // Update products_ordered (for bestsellers list)
         vam_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . vam_get_prid($order->products[$i]['id']) . "'");
         //------insert customer choosen option to order--------
         $attributes_exist = '0';
         $products_ordered_attributes = '';
         if (isset($order->products[$i]['attributes'])) {
             $attributes_exist = '1';
             for ($j = 0, $n2 = sizeof($order->products[$i]['attributes']); $j < $n2; $j++) {
                 if (DOWNLOAD_ENABLED == 'true') {
                     $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename, pad.products_attributes_is_pin\n                                   from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa\n                                   left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad\n                                   on pa.products_attributes_id=pad.products_attributes_id\n                                   where pa.products_id = '" . $order->products[$i]['id'] . "'\n                                   and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "'\n                                   and pa.options_id = popt.products_options_id\n                                   and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "'\n                                   and pa.options_values_id = poval.products_options_values_id\n                                   and popt.language_id = '" . $_SESSION['languages_id'] . "'\n                                   and poval.language_id = '" . $_SESSION['languages_id'] . "'";
                     $attributes = vam_db_query($attributes_query);
                 } else {
                     $attributes = vam_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $_SESSION['languages_id'] . "' and poval.language_id = '" . $_SESSION['languages_id'] . "'");
                 }
                 $attributes_values = vam_db_fetch_array($attributes);
                 $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];
             }
         }
         //------insert customer choosen option eof ----
         $total_weight += $order->products[$i]['qty'] * $order->products[$i]['weight'];
         $total_tax += vam_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty'];
         $total_cost += $total_products_price;
         $products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $vamPrice->Format($order->products[$i]['final_price'], true) . $products_ordered_attributes . "\n";
     }
     // initialize templates
     $vamTemplate = new vamTemplate();
     $vamTemplate->assign('address_label_customer', vam_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />'));
     $vamTemplate->assign('address_label_shipping', vam_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br />'));
     if ($_SESSION['credit_covers'] != '1') {
         $vamTemplate->assign('address_label_payment', vam_address_format($order->billing['format_id'], $order->billing, 1, '', '<br />'));
     }
     $vamTemplate->assign('csID', $order->customer['csID']);
     $it = 0;
     $semextrfields = vamDBquery("select * from " . TABLE_EXTRA_FIELDS . " where fields_required_email = '1'");
     while ($dataexfes = vam_db_fetch_array($semextrfields, true)) {
         $cusextrfields = vamDBquery("select * from " . TABLE_CUSTOMERS_TO_EXTRA_FIELDS . " where customers_id = '" . (int) $_SESSION['customer_id'] . "' and fields_id = '" . $dataexfes['fields_id'] . "'");
         $rescusextrfields = vam_db_fetch_array($cusextrfields, true);
         $extrfieldsinf = vamDBquery("select fields_name from " . TABLE_EXTRA_FIELDS_INFO . " where fields_id = '" . $dataexfes['fields_id'] . "' and languages_id = '" . $_SESSION['languages_id'] . "'");
         $extrfieldsres = vam_db_fetch_array($extrfieldsinf, true);
         $extra_fields .= $extrfieldsres['fields_name'] . ' : ' . $rescusextrfields['value'] . "\n";
         $vamTemplate->assign('customer_extra_fields', $extra_fields);
     }
     $order_total = $order->getTotalData($order_id);
     $vamTemplate->assign('order_data', $order->getOrderData($order_id));
     $vamTemplate->assign('order_total', $order_total['data']);
     // assign language to template for caching
     $vamTemplate->assign('language', $_SESSION['language']);
     $vamTemplate->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
     $vamTemplate->assign('logo_path', HTTP_SERVER . DIR_WS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/img/');
     $vamTemplate->assign('oID', $order_id);
     if ($order->info['payment_method'] != '' && $order->info['payment_method'] != 'no_payment') {
         include DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_method'] . '.php';
         $payment_method = constant(strtoupper('MODULE_PAYMENT_' . $order->info['payment_method'] . '_TEXT_TITLE'));
     }
     $vamTemplate->assign('PAYMENT_METHOD', $payment_method);
     if ($order->info['shipping_method'] != '') {
         $shipping_method = $order->info['shipping_method'];
     }
     $vamTemplate->assign('SHIPPING_METHOD', $shipping_method);
     $vamTemplate->assign('DATE', vam_date_long($order->info['date_purchased']));
     $vamTemplate->assign('NAME', $order->customer['firstname'] . ' ' . $order->customer['lastname']);
     $vamTemplate->assign('COMMENTS', $order->info['comments']);
     $vamTemplate->assign('EMAIL', $order->customer['email_address']);
     $vamTemplate->assign('PHONE', $order->customer['telephone']);
     // dont allow cache
     $vamTemplate->caching = false;
     $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE . '/mail/' . $_SESSION['language'] . '/order_mail.html');
     $txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE . '/mail/' . $_SESSION['language'] . '/order_mail.txt');
     // create subject
     $order_subject = str_replace('{$nr}', $order_id, EMAIL_BILLING_SUBJECT_ORDER);
     $order_subject = str_replace('{$date}', strftime(DATE_FORMAT_LONG), $order_subject);
     $order_subject = str_replace('{$lastname}', $order->customer['lastname'], $order_subject);
     $order_subject = str_replace('{$firstname}', $order->customer['firstname'], $order_subject);
     // send mail to admin
     vam_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, EMAIL_BILLING_ADDRESS, STORE_NAME, EMAIL_BILLING_FORWARDING_STRING, $order->customer['email_address'], $order->customer['firstname'], '', '', $order_subject, $html_mail, $txt_mail);
     // send mail to customer
     vam_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'] . ' ' . $order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $order_subject, $html_mail, $txt_mail);
     // load the after_process function from the payment modules
     $this->after_process();
     require_once DIR_WS_INCLUDES . 'affiliate_checkout_process.php';
     $_SESSION['cart']->reset(true);
     // unregister session variables used during checkout
     unset($_SESSION['sendto']);
     unset($_SESSION['billto']);
     unset($_SESSION['shipping']);
     unset($_SESSION['payment']);
     unset($_SESSION['comments']);
     unset($_SESSION['cart_yandex_id']);
     vam_redirect(vam_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));
 }
require_once DIR_FS_INC . 'vam_row_number_format.inc.php';
//fsk18 lock
$fsk_lock = '';
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
    $fsk_lock = ' and p.products_fsk18!=1';
}
if (GROUP_CHECK == 'true') {
    $group_check = " and p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 ";
}
$best_sellers_query = "SELECT\r\n                      p.products_id,\r\n                      pd.products_name,\r\n                      p.products_price,\r\n                      p.products_tax_class_id,\r\n                      p.products_image,\r\n                      p.products_fsk18,\r\n                      p.products_vpe,\r\n                      p.products_vpe_status,\r\n                      p.products_vpe_value,\r\n\t\t\t\t\t  IFNULL(cd3.categories_name, IFNULL(cd2.categories_name, IFNULL(cd1.categories_name, cd.categories_name))) as categories_name\r\n                   FROM " . TABLE_PRODUCTS . " p \r\n\t\t\t\t\tINNER JOIN " . TABLE_FEATURED . " s ON  s.products_id = p.products_id AND s.status = '1'\r\n\t\t\t\t\tINNER JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON pd.products_id = p.products_id \r\n\t\t\t\t\t\t\tAND pd.language_id = '" . (int) $_SESSION['languages_id'] . "'\r\n\t\t\t\t\tINNER JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc ON ptc.products_id = p.products_id\r\n\t\t\t\t\tINNER JOIN " . TABLE_CATEGORIES . " c ON c.categories_id = ptc.categories_id\r\n\t\t\t\t\tINNER JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON cd.categories_id = c.categories_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES . " c1 ON c1.categories_id = c.parent_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd1 ON cd1.categories_id = c1.categories_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES . " c2 ON c2.categories_id = c1.parent_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd2 ON cd2.categories_id = c2.categories_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES . " c3 ON c3.categories_id = c2.parent_id\r\n\t\t\t\t\tLEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd3 ON cd3.categories_id = c3.categories_id                                           \r\n                    " . $group_check . "\r\n                    " . $fsk_lock . " LIMIT " . MAX_RANDOM_SELECT_FEATURED;
// set cache ID
if ($cache) {
    $box_best_sellers = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_tops_list.html', $cache_id);
    $vamTemplate->assign('box_BESTSELLERS', $box_best_sellers);
} else {
    $best_sellers_query = vamDBquery($best_sellers_query);
    //if (vam_db_num_rows($best_sellers_query, true) == 0)
    //$best_sellers_query = vamDBquery($on_start_products_query);
    $rows = 0;
    $box_content = array();
    while ($best_sellers = vam_db_fetch_array($best_sellers_query, true)) {
        $rows++;
        $best_sellers = array_merge($best_sellers, array('ID' => vam_row_number_format($rows)));
        $box_content[] = $product->buildDataArray($best_sellers);
    }
    $box->assign('box_content', $box_content);
    $box->assign('box_mark', 'best_sellers_mark');
    $box->assign('tpl_path', 'templates/' . CURRENT_TEMPLATE . '/');
    $box->assign('language', $_SESSION['language']);
    $box->assign('see_all_url', '/featured.php');
    $box_best_sellers = $box->fetch(CURRENT_TEMPLATE . '/boxes/box_tops_list.html');
Example #30
0
// include boxes
require DIR_FS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/source/boxes.php';
// include needed function
require_once DIR_FS_INC . 'vam_date_long.inc.php';
// the following tPath references come from application_top.php
$topic_depth = 'top';
if (isset($tPath) && vam_not_null($tPath)) {
    $topics_articles_query = "select count(*) as total from " . TABLE_ARTICLES_TO_TOPICS . " where topics_id = '" . (int) $current_topic_id . "'";
    $topics_articles_query = vamDBquery($topics_articles_query);
    $topics_articles = vam_db_fetch_array($topics_articles_query);
    if ($topics_articles['total'] > 0) {
        $topic_depth = 'articles';
        // display articles
    } else {
        $topic_parent_query = "select count(*) as total from " . TABLE_TOPICS . " where parent_id = '" . (int) $current_topic_id . "'";
        $topic_parent_query = vamDBquery($topic_parent_query);
        $topic_parent = vam_db_fetch_array($topic_parent_query);
        if ($topic_parent['total'] > 0) {
            $topic_depth = 'nested';
            // navigate through the topics
        } else {
            $topic_depth = 'articles';
            // topic has no articles, but display the 'no articles' message
        }
    }
}
if ($topic_depth == 'top' && !isset($_GET['authors_id'])) {
    $breadcrumb->add(NAVBAR_TITLE_DEFAULT, vam_href_link(FILENAME_ARTICLES));
}
$topic_query = vam_db_query("select td.topics_name, td.topics_heading_title, td.topics_description from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.topics_id = '" . (int) $current_topic_id . "' and td.topics_id = '" . (int) $current_topic_id . "' and td.language_id = '" . (int) $_SESSION['languages_id'] . "'");
$topic = vam_db_fetch_array($topic_query);