// include needed functions require_once DIR_FS_INC . 'vam_break_string.inc.php'; require_once DIR_FS_INC . 'vam_date_long.inc.php'; // lets retrieve all $HTTP_GET_VARS keys and values.. $get_params = vam_get_all_get_params(array('reviews_id')); $get_params = substr($get_params, 0, -1); //remove trailing & $reviews_query = "select rd.reviews_text, r.reviews_rating, r.reviews_id, r.products_id, r.customers_name, r.date_added, r.last_modified, r.reviews_read, p.products_id, pd.products_name, p.products_image from " . TABLE_REVIEWS . " r left join " . TABLE_PRODUCTS . " p on (r.products_id = p.products_id) left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on (p.products_id = pd.products_id and pd.language_id = '" . (int) $_SESSION['languages_id'] . "'), " . TABLE_REVIEWS_DESCRIPTION . " rd where r.reviews_id = '" . (int) $_GET['reviews_id'] . "' and r.reviews_id = rd.reviews_id and p.products_status = '1'"; $reviews_query = vam_db_query($reviews_query); if (!vam_db_num_rows($reviews_query)) { vam_redirect(vam_href_link(FILENAME_REVIEWS)); } $reviews = vam_db_fetch_array($reviews_query); $breadcrumb->add(NAVBAR_TITLE_PRODUCT_REVIEWS, vam_href_link(FILENAME_PRODUCT_REVIEWS, $get_params)); vam_db_query("update " . TABLE_REVIEWS . " set reviews_read = reviews_read+1 where reviews_id = '" . $reviews['reviews_id'] . "'"); $reviews_text = vam_break_string(htmlspecialchars($reviews['reviews_text']), 60, '-<br />'); require DIR_WS_INCLUDES . 'header.php'; $vamTemplate->assign('PRODUCTS_NAME', $reviews['products_name']); $vamTemplate->assign('AUTHOR', $reviews['customers_name']); $vamTemplate->assign('DATE', vam_date_long($reviews['date_added'])); $vamTemplate->assign('REVIEWS_TEXT', nl2br($reviews_text)); $vamTemplate->assign('RATING', vam_image('templates/' . CURRENT_TEMPLATE . '/img/stars_' . $reviews['reviews_rating'] . '.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating']))); $vamTemplate->assign('PRODUCTS_LINK', vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($reviews['products_id'], $reviews['products_name']))); $vamTemplate->assign('BUTTON_BACK', '<a class="button" href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS, $get_params) . '">' . vam_image_button('back.png', IMAGE_BUTTON_BACK) . '</a>'); $vamTemplate->assign('BUTTON_BUY_NOW', '<a class="button" href="' . vam_href_link(FILENAME_DEFAULT, 'action=buy_now&BUYproducts_id=' . $reviews['products_id']) . '">' . vam_image_button('buy.png', IMAGE_BUTTON_IN_CART) . '</a>'); $products_image = DIR_WS_THUMBNAIL_IMAGES . $reviews['products_image']; if (!is_file($products_image)) { $products_image = DIR_WS_THUMBNAIL_IMAGES . '../noimage.gif'; } $image = vam_image($products_image, $reviews['products_name'], '', '', 'hspace="5" vspace="5"'); $vamTemplate->assign('IMAGE', $image);
/** * * select reviews * */ function getReviews() { $data_reviews = array(); $reviews_query = vamDBquery("select\n\t\t\t r.reviews_rating,\n\t\t\t r.reviews_id,\n\t\t\t r.customers_name,\n\t\t\t r.date_added,\n\t\t\t r.last_modified,\n\t\t\t r.reviews_read,\n\t\t\t rd.reviews_text\n\t\t\t from " . TABLE_REVIEWS . " r,\n\t\t\t " . TABLE_REVIEWS_DESCRIPTION . " rd\n\t\t\t where r.products_id = '" . $this->pID . "'\n\t\t\t and r.reviews_id=rd.reviews_id\n\t\t\t and rd.languages_id = '" . $_SESSION['languages_id'] . "'\n\t\t\t order by reviews_id DESC"); if (vam_db_num_rows($reviews_query, true)) { $row = 0; $data_reviews = array(); while ($reviews = vam_db_fetch_array($reviews_query, true)) { $row++; $data_reviews[] = array('AUTHOR' => $reviews['customers_name'], 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/' . CURRENT_TEMPLATE . '/img/stars_' . $reviews['reviews_rating'] . '.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => vam_break_string(nl2br(htmlspecialchars($reviews['reviews_text'])), 60, '-<br />')); if ($row == PRODUCT_REVIEWS_VIEW) { break; } } } return $data_reviews; }
} $reviews_query_raw = "select r.reviews_id, left(rd.reviews_text, 250) as reviews_text, r.reviews_rating, r.date_added, p.products_id, pd.products_name, p.products_image, r.customers_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and p.products_id = pd.products_id and pd.language_id = '" . (int) $_SESSION['languages_id'] . "' and rd.languages_id = '" . (int) $_SESSION['languages_id'] . "' order by r.reviews_id DESC"; $reviews_split = new splitPageResults($reviews_query_raw, $_GET['page'], MAX_DISPLAY_NEW_REVIEWS); if ($reviews_split->number_of_rows > 0) { $vamTemplate->assign('NAVBAR', TEXT_RESULT_PAGE . ' ' . $reviews_split->display_links(MAX_DISPLAY_PAGE_LINKS, vam_get_all_get_params(array('page', 'info', 'x', 'y')))); $vamTemplate->assign('NAVBAR_PAGES', $reviews_split->display_count(TEXT_DISPLAY_NUMBER_OF_REVIEWS)); } $module_data = array(); if ($reviews_split->number_of_rows > 0) { $reviews_query = vam_db_query($reviews_split->sql_query); while ($reviews = vam_db_fetch_array($reviews_query)) { $products_image = DIR_WS_THUMBNAIL_IMAGES . $reviews['products_image']; if (!is_file($products_image)) { $products_image = DIR_WS_THUMBNAIL_IMAGES . '../noimage.gif'; } $module_data[] = array('PRODUCTS_IMAGE' => $products_image, $reviews['products_name'], 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $reviews['products_id']), 'PRODUCTS_NAME' => $reviews['products_name'], 'AUTHOR' => $reviews['customers_name'], 'TEXT' => '(' . sprintf(TEXT_REVIEW_WORD_COUNT, vam_word_count($reviews['reviews_text'], ' ')) . ')<br />' . vam_break_string(htmlspecialchars($reviews['reviews_text']), 60, '-<br />') . '..', 'RATING' => vam_image('templates/' . CURRENT_TEMPLATE . '/img/stars_' . $reviews['reviews_rating'] . '.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating']))); } $vamTemplate->assign('module_content', $module_data); } $vamTemplate->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) { $vamTemplate->caching = 0; $main_content = $vamTemplate->fetch(CURRENT_TEMPLATE . '/module/reviews.html'); } else { $vamTemplate->caching = 1; $vamTemplate->cache_lifetime = CACHE_LIFETIME; $vamTemplate->cache_modified_check = CACHE_CHECK; $cache_id = $_SESSION['language'] . '_' . $_GET['page']; $main_content = $vamTemplate->fetch(CURRENT_TEMPLATE . '/module/reviews.html', $cache_id); }
} $product_info_query = vam_db_query("select pd.products_name from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_PRODUCTS . " p on pd.products_id = p.products_id where pd.language_id = '" . (int) $_SESSION['languages_id'] . "' and p.products_status = '1' and pd.products_id = '" . (int) $_GET['products_id'] . "'"); if (!vam_db_num_rows($product_info_query)) { vam_redirect(vam_href_link(FILENAME_REVIEWS)); } $product_info = vam_db_fetch_array($product_info_query); $breadcrumb->add(NAVBAR_TITLE_PRODUCT_REVIEWS, vam_href_link(FILENAME_PRODUCT_REVIEWS, $get_params)); require DIR_WS_INCLUDES . 'header.php'; $vamTemplate->assign('PRODUCTS_NAME', $product_info['products_name']); $data_reviews = array(); $reviews_query = vam_db_query("select reviews_rating, reviews_id, customers_name, date_added, last_modified, reviews_read from " . TABLE_REVIEWS . " where products_id = '" . (int) $_GET['products_id'] . "' order by reviews_id DESC"); if (vam_db_num_rows($reviews_query)) { $row = 0; while ($reviews = vam_db_fetch_array($reviews_query)) { $row++; $data_reviews[] = array('ID' => $reviews['reviews_id'], 'AUTHOR' => '<a href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_INFO, $get_params . '&reviews_id=' . $reviews['reviews_id']) . '">' . $reviews['customers_name'] . '</a>', 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/' . CURRENT_TEMPLATE . '/img/stars_' . $reviews['reviews_rating'] . '.gif', sprintf(BOX_REVIEWS_TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => vam_break_string(htmlspecialchars($reviews['reviews_text']), 60, '-<br />')); } } $vamTemplate->assign('module_content', $data_reviews); $vamTemplate->assign('BUTTON_BACK', '<a class="button" href="' . vam_href_link(FILENAME_PRODUCT_INFO, $get_params_back) . '">' . vam_image_button('back.png', IMAGE_BUTTON_BACK) . '</a>'); $vamTemplate->assign('BUTTON_WRITE', '<a class="button" href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, $get_params) . '">' . vam_image_button('add.png', IMAGE_BUTTON_WRITE_REVIEW) . '</a>'); $vamTemplate->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) { $vamTemplate->caching = 0; $main_content = $vamTemplate->fetch(CURRENT_TEMPLATE . '/module/product_reviews.html'); } else { $vamTemplate->caching = 1; $vamTemplate->cache_lifetime = CACHE_LIFETIME; $vamTemplate->cache_modified_check = CACHE_CHECK; $cache_id = $_SESSION['language'] . $_GET['products_id'];
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = ' and p.products_fsk18!=1'; } $random_select = "select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id " . $fsk_lock . " and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int) $_SESSION['languages_id'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int) $_SESSION['languages_id'] . "'"; if ($product->isProduct()) { $random_select .= " and p.products_id = '" . $product->data['products_id'] . "'"; } $random_select .= " order by r.reviews_id desc limit " . MAX_RANDOM_SELECT_REVIEWS; $random_product = vam_random_select($random_select); if ($random_product) { // display random review box $review_query = "select substring(reviews_text, 1, 60) as reviews_text from " . TABLE_REVIEWS_DESCRIPTION . " where reviews_id = '" . $random_product['reviews_id'] . "' and languages_id = '" . $_SESSION['languages_id'] . "'"; $review_query = vamDBquery($review_query); $review = vam_db_fetch_array($review_query, true); $review = htmlspecialchars($review['reviews_text']); $review = vam_break_string($review, 15, '-<br />'); $products_image = DIR_WS_THUMBNAIL_IMAGES . $random_product['products_image']; if (!file_exists($products_image)) { $products_image = DIR_WS_THUMBNAIL_IMAGES . '../noimage.gif'; } $box_content = '<p><a href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_INFO, 'products_id=' . $random_product['products_id'] . '&reviews_id=' . $random_product['reviews_id']) . '">' . vam_image($products_image, $random_product['products_name']) . '</a></p><a href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_INFO, 'products_id=' . $random_product['products_id'] . '&reviews_id=' . $random_product['reviews_id']) . '">' . $review . ' ..</a><p>' . vam_image('templates/' . CURRENT_TEMPLATE . '/img/stars_' . $random_product['reviews_rating'] . '.gif', sprintf(BOX_REVIEWS_TEXT_OF_5_STARS, $random_product['reviews_rating'])) . '</p>'; } elseif ($product->isProduct()) { // display 'write a review' box $box_content = '<p><a href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, vam_product_link($product->data['products_id'], $product->data['products_name'])) . '">' . vam_image('templates/' . CURRENT_TEMPLATE . '/img/box_write_review.gif', IMAGE_BUTTON_WRITE_REVIEW) . '</a></p><p><a href="' . vam_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, vam_product_link($product->data['products_id'], $product->data['products_name'])) . '">' . BOX_REVIEWS_WRITE_REVIEW . '</a></p>'; } if ($box_content != '') { $box->assign('REVIEWS_LINK', vam_href_link(FILENAME_REVIEWS)); $box->assign('BOX_CONTENT', $box_content); $box->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) {