예제 #1
0
    /**
     * 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";
            }
        }
    }
예제 #2
0
 /**
  * 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";
         }
     }
 }