/** * This function is used to get the product details * * * @return string */ function productDetail() { if (isset($_POST['reviewbutton'])) { $_SESSION['postvaluesreview'] = $_POST; } if (isset($_POST['review']) && $_POST['review'] != '') { if (!isset($_SESSION['user_id'])) { $prodid = $_GET['prodid']; $_SESSION['RequestUrl'] = '?do=prodetail&action=showprod&prodid=' . $prodid; header("Location:?do=login"); exit; } $code = $_SESSION['security_code']; if (!empty($_POST['txtcaptcha']) && !(strtolower(trim($_POST['txtcaptcha'])) == strtolower($code))) { $_SESSION['reviewResult'] = '<div class="bs-docs-example"> <div class="alert alert-error"> <button data-dismiss="alert" class="close" type="button">×</button>Captcha Mismatch</div></div>'; $prodid = $_GET['prodid']; header("Location:?do=prodetail&action=showprod&prodid=" . $prodid); exit; } $id = (int) $_GET['prodid']; $caption = htmlentities($_POST['caption']); $review = htmlentities($_POST['review']); $userid = $_SESSION['user_id']; $rating = (int) $_POST['hidRate']; $status = 0; $sql = 'select * from product_reviews_table where product_id="' . $id . '" and user_id="' . $userid . '"'; $check = new Bin_Query(); $check->executeQuery($sql); if ($check->totrows == 0) { $sqlComment = 'insert into product_reviews_table (product_id,user_id,review_caption,review_txt,review_date,rating,review_status) values(' . $id . ',' . $userid . ',"' . $caption . '","' . $review . '","' . date("Y-m-d") . '",' . $rating . ',' . $status . ')'; $commentqry = new Bin_Query(); $commentqry->executeQuery($sqlComment); $_SESSION['reviewResultSuccess'] = '<div class="bs-docs-example"> <div class="alert alert-success"> <button data-dismiss="alert" class="close" type="button">×</button>Your Review is Posted for Moderation!</div></div>'; } else { $_SESSION['reviewResultSuccess'] = '<div class="bs-docs-example"> <div class="alert alert-error"> <button data-dismiss="alert" class="close" type="button">×</button>Review already Posted!</div></div>'; } } else { if (isset($_POST['reviewbutton'])) { $_SESSION['reviewResult'] = '<div class="bs-docs-example"> <div class="alert alert-error"> <button data-dismiss="alert" class="close" type="button">×</button>Reviews cannot be empty!</div></div>'; } } $this->lastViewedProducts($_GET['prodid']); $sqlReview = "SELECT a.*,b.user_display_name FROM `product_reviews_table` a,users_table b where a.user_id=b.user_id and a.review_status=1 and a.product_id=" . (int) $_GET['prodid']; $reviewqry = new Bin_Query(); $reviewqry->executeQuery($sqlReview); //Get Images for different view $sqlImages = "select * from product_images_table where type='sub' and product_id=" . (int) $_GET['prodid'] . ' limit 0,4'; $imgqry = new Bin_Query(); $imgqry->executeQuery($sqlImages); //Get variation Price $sql = "SELECT distinct product_id,msrp FROM product_variation_table WHERE product_id =" . (int) $_GET['prodid']; $pquery = new Bin_Query(); if ($pquery->executeQuery($sql)) { $flag = $pquery->totrows; } //Get Related Products from Order_products_table table $sqlRelated = "SELECT c.*,a.product_id,count(a.product_id) as cnt FROM `order_products_table` a,`order_products_table` b,products_table c where a.order_id=b.order_id and a.product_id<>b.product_id and a.product_id=c.product_id and b.product_id=" . (int) $_GET['prodid'] . " and c.status=1 group by a.product_id order by cnt desc limit 0,4"; $relatedqry = new Bin_Query(); $relatedqry->executeQuery($sqlRelated); //-----------variation---------------- $varobj = new Core_CProductDetail(); $variation_arr = $varobj->getVariationsOfProduct($_GET['prodid']); //-----------variation---------------- if ($flag == 0) { $sql = "SELECT * , count( c.product_id ) AS reviewcount\n\t\t\tFROM product_inventory_table a INNER JOIN products_table b ON a.product_id = b.product_id\n\t\t\tINNER JOIN product_reviews_table c ON c.product_id = b.product_id WHERE b.product_id =" . (int) $_GET['prodid'] . "\n\t\t\tand c.review_status=1 GROUP BY c.product_id"; $query = new Bin_Query(); $rating = $this->reviewRating(); //$reviewcount=$this->reviewCount(); $breadCrumb = $this->breadCrumb(); if ($query->executeQuery($sql)) { $count = $query->records[0]['reviewcount']; return Display_DProductDetail::productDetail($query->records, $r = 0, $features = 0, $rating, $breadCrumb, $count, $reviewqry->records, $imgqry->records, $pquery->records, $relatedqry->records, $variation_arr); } else { $sql = "SELECT * FROM product_inventory_table a INNER JOIN products_table b ON a.product_id = b.product_id WHERE b.product_id =" . (int) $_GET['prodid'] . " AND b.status=1 "; if ($query->executeQuery($sql)) { $count = '0'; return Display_DProductDetail::productDetail($query->records, $r = 0, $features = 0, $rating, $breadCrumb, $count, $reviewqry->records, $imgqry->records, $pquery->records, $relatedqry->records, $variation_arr); } } } else { if (isset($_GET['varid']) && $_GET['varid'] != '') { $sql = "SELECT b.product_id, b.title, b.cse_enabled, a.price AS oprice, a.msrp AS msrp, a.msrp AS price, \n\t\t\tb.msrp AS quantity, b.description, b.tag, a.shipping_cost, a.sku, b.brand, a.weight, a.dimension, a.image, b.model,a.large_image AS large_image_path,a.thumb_image,\n\t\t\ta.soh, b.meta_desc, b.meta_keywords\n\t\t\tFROM product_variation_table a\n\t\t\tINNER JOIN products_table b ON a.product_id = b.product_id\n\t\t\tWHERE b.product_id =" . (int) $_GET['prodid'] . "\n\t\t\tAND b.status =1\n\t\t\tAND a.variation_id =" . (int) $_GET['varid'] . ""; } else { $sql = "SELECT * FROM product_inventory_table a INNER JOIN products_table b ON a.product_id = b.product_id WHERE b.product_id =" . (int) $_GET['prodid'] . " AND b.status=1 "; } $sqlfeature = "SELECT b.product_id,b.title,b.cse_enabled,b.price as oprice,b.msrp,c.msrp as\n\t\t\tprice,c.quantity,b.description,b.tag,b.sku,b.brand,b.weight,b.dimension,b.image,b.model,a.soh,b.meta_desc,b.meta_keywords \n\t\t\tFROM product_inventory_table a\n\t\t\tINNER JOIN products_table b ON a.product_id = b.product_id \n\t\t\tINNER JOIN msrp_by_quantity_table c ON b.product_id=c.product_id WHERE c.product_id =" . (int) $_GET['prodid'] . " and "; $sqlcount = "select count(product_id) as reviewcount from product_reviews_table where product_id=" . (int) $_GET['prodid'] . " and review_status=1 and b.status=1"; $obj = new Bin_Query(); $obj->executeQuery($sqlcount); $query = new Bin_Query(); $rating = $this->reviewRating(); //$reviewcount=$this->reviewCount(); $reviewcount = $obj->records[0]['reviewcount']; //print_r($reviewcount);exit; $features = new Bin_Query(); $features->executeQuery($sqlfeature); $breadCrumb = $this->breadCrumb(); if ($query->executeQuery($sql)) { $j = 0; foreach ($query->records as $row) { $r[$j] = $row; $prid = $row['product_id']; $obj1 = new Core_CProductDetail(); $minval = $obj1->disRates($prid); if ($minval > 0 or $minval != '') { $r[$j]['msrp'] = '<!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($row['msrp'] * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2) . ' - <!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($minval * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2); } else { $r[$j]['msrp'] = '<!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($row['msrp'] * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2); } } return Display_DProductDetail::productDetail($query->records, $r, $features->records, $rating, $breadCrumb, $reviewcount, $reviewqry->records, $imgqry->records, $pquery->records, $relatedqry->records, $variation_arr); } else { return "Not Found"; } } }
/** * Function gets the inventory details from the database * * * @return string */ function productDetail() { $this->lastViewedProducts($_GET['prodid']); $_SESSION['prodid'] = $_GET['prodid']; $sql = "SELECT quantity,msrp FROM msrp_by_quantity_table WHERE product_id =" . (int) $_GET['prodid']; $pquery = new Bin_Query(); if ($pquery->executeQuery($sql)) { $flag = $pquery->totrows; } if ($flag == 0) { $sql = "SELECT * FROM product_inventory_table a \n\t\t\tINNER JOIN products_table b ON a.product_id = b.product_id\n\t\t\tWHERE b.product_id =" . (int) $_GET['prodid']; $query = new Bin_Query(); $rating = $this->reviewRating(); $reviewcount = $this->reviewCount(); $count = $reviewcount[0]['review']; $sqlAttri = "SELECT attrib_name, attrib_value \n\t\t\tFROM `attribute_value_table` av, attribute_table at\n\t\t\tWHERE av.attrib_id = at.attrib_id AND av.attrib_value_id IN (SELECT attrib_value_id \n\t\t\tFROM product_attrib_values_table\n\t\t\tWHERE product_id =" . (int) $_GET['prodid'] . ')'; $queryAttri = new Bin_Query(); $queryAttri->executeQuery($sqlAttri); $recordsAttri = $queryAttri->records; if ($query->executeQuery($sql)) { return Display_DProductDetail::productDetail($query->records, $rating, $count, $recordsAttri); } else { return "Products Not Available in Stock"; } } else { $sql = "SELECT b.product_id,b.title,b.cse_enabled,b.price as oprice,b.msrp,c.msrp as\n\t\t\tprice,c.quantity,b.description,b.sku,b.tag,b.brand,b.weight,b.dimension,b.image,b.model,a.soh,b.meta_desc,b.meta_keywords \n\t\t\tFROM product_inventory_table a\n\t\t\tINNER JOIN products_table b ON a.product_id = b.product_id \n\t\t\tINNER JOIN msrp_by_quantity_table c ON b.product_id=c.product_id WHERE c.product_id =" . (int) $_GET['prodid']; $query = new Bin_Query(); $rating = $this->reviewRating(); $reviewcount = $this->reviewCount(); $sqlAttri = "SELECT attrib_name, attrib_value \n\t\t\tFROM `attribute_value_table` av, attribute_table at\n\t\t\tWHERE av.attrib_id = at.attrib_id AND av.attrib_value_id IN (SELECT attrib_value_id \n\t\t\tFROM product_attrib_values_table\n\t\t\tWHERE product_id =" . (int) $_GET['prodid'] . ')'; $queryAttri = new Bin_Query(); $queryAttri->executeQuery($sqlAttri); $recordsAttri = $queryAttri->records; if ($query->executeQuery($sql)) { return Display_DProductDetail::productDetail($query->records, $rating, $reviewCount, $recordsAttri); } else { return "Not Found"; } } }