<?php global $smarty, $tables, $customer_id; $extended_review_customer_id =& cw_session_register("extended_review_customer_id", 0); $_customer_id = $customer_id; if (!empty($extended_review_customer_id)) { $_customer_id = $extended_review_customer_id; } if (defined('IS_AJAX') && !empty($review_id)) { cw_load('ajax'); $review = cw_query_first("\n SELECT r.*, v.vote_value\n FROM {$tables['products_reviews']} r\n LEFT JOIN {$tables['products_votes']} v ON r.review_id = v.review_id\n WHERE r.review_id='{$review_id}' AND r.customer_id='{$_customer_id}'\n "); $review['attribute_votes'] = cw_review_get_attribute_vote_values($review); $review['p_vote'] = cw_query_first_cell("SELECT COUNT(*) FROM {$tables['products_reviews_ratings']} WHERE review_id = {$review['review_id']} AND rate = 1"); $review['n_vote'] = cw_query_first_cell("SELECT COUNT(*) FROM {$tables['products_reviews_ratings']} WHERE review_id = {$review['review_id']} AND rate = 2"); $smarty->assign('review_item', $review); $avail_by_settings = cw_review_avail_by_settings($review['product_id'], $_customer_id, $extended_review_customer_id); $smarty->assign('avail_by_settings', $avail_by_settings); cw_add_ajax_block(array('id' => 'customer_review_item_' . $review_id, 'action' => 'update', 'template' => 'addons/estore_products_review/customer_reviews_management_item.tpl')); }
$exists = cw_query_first_cell("SELECT vote_id FROM {$tables['products_votes']} WHERE review_id = '{$review_id}' AND attribute_id ='{$attr_id}'"); if ($exists) { cw_array2update('products_votes', array('vote_value' => $vote), "review_id = '{$review_id}' AND attribute_id ='{$attr_id}'"); } else { cw_array2insert('products_votes', array('remote_ip' => $review_data['remote_ip'], 'vote_value' => $vote, 'product_id' => $review_data['product_id'], 'customer_id' => $review_data['customer_id'], 'review_id' => $review_id, 'attribute_id' => $attr_id)); } cw_review_recalculate_avg_rating($review_data['product_id'], $attr_id); } cw_review_recalculate_avg_rating($review_data['product_id']); // update review $update_review_data = array(); $update_review_data['testimonials'] = $review['addto'] == 'testimonials' ? 1 : 0; $update_review_data['stoplist'] = $review['addto'] == 'stoplist' ? 1 : 0; $update_review_data['name'] = $review['name']; $update_review_data['email'] = $review['email']; $update_review_data['main_title'] = $review['main_title']; $update_review_data['message'] = $review['message']; $update_review_data['status'] = $review['status']; cw_array2update('products_reviews', $update_review_data, "review_id = '{$review_id}'"); } } $review = array(); if (!empty($review_id)) { $review = cw_query_first("SELECT * FROM {$tables['products_reviews']} r WHERE r.review_id='{$review_id}'"); $attribute_votes = cw_review_get_attribute_vote_values($review); } $smarty->assign('review', $review); $smarty->assign('attribute_votes', $attribute_votes); $smarty->assign('current_section_dir', 'main'); $smarty->assign('main', 'estore_review_management'); $smarty->assign('home_style', 'popup');
$vote_reviews[2][0]++; } elseif ($review['vote'] >= 1) { $vote_reviews[1][0]++; } else { $vote_reviews[0][0]++; } } for ($i = 0; $i <= 5; $i++) { $vote_reviews[$i][1] = intval($vote_reviews[$i][0] / count($reviews) * 100); } $smarty->assign('vote_reviews', $vote_reviews); } $reviews = array_slice($reviews, ($page - 1) * $reviews_per_page, $reviews_per_page); foreach ($reviews as $k => $review) { $reviews[$k]['customer_vote'] = cw_query_first_cell("SELECT rate FROM {$tables['products_reviews_ratings']} WHERE customer_id = '{$customer_id}' AND review_id = {$review['review_id']}"); $reviews[$k]['attribute_votes'] = cw_review_get_attribute_vote_values($reviews[$k]); } // Restore review data to fill form if error occured if (!empty($review_store_place)) { $smarty->assign("review", $review_store_place); $review_store_place = false; } $stoplist_where = "remote_ip='{$user_ip}'"; if (!empty($_customer_id)) { $stoplist_where .= " OR customer_id='{$_customer_id}'"; } $block_by_stop_list = cw_query_first_cell("\n SELECT review_id FROM {$tables['products_reviews']}\n WHERE ({$stoplist_where}) AND stoplist = 1\n"); $smarty->assign("block_by_stop_list", $block_by_stop_list); $smarty->assign("user_is_purchasers", cw_review_check_is_purchasers($product_id, $_customer_id)); $smarty->assign("reviews", $reviews); $smarty->assign("extended_review_customer_id", $extended_review_customer_id);