MINI Sh3ll
<?php
class product {
private $objdb;
public function __construct(){
$this->objdb=new database;
return true;
}
public function getProducts($status = '1') {
/*$sql = "SELECT p.*, case p.status when 1 then 'Active' else 'Inactive' end product_status, getProductRating(p.code) average_rating FROM products p
WHERE p.status in (".$status.") order by p.id DESC;";*/
$sql = "SELECT p.*, case p.status when 1 then 'Active' else 'Inactive' end product_status, rt.average_rating, rt.user_count FROM products p
LEFT JOIN (SELECT pr.`code`, ifnull(ROUND(AVG(pr.rating),2), 0) average_rating, ifnull(COUNT(pr.user_id), 0) user_count FROM product_ratings pr GROUP BY pr.`code`) rt ON p.code = rt.code WHERE p.status in (".$status.") order by average_rating DESC;";
$result = $this->objdb->get_records($sql);
if($result == false)
return false;
else
return $result;
}
public function updateProductStatus($product)
{
$product['status'] = $product['status'] == '' ? ' (status + 1 ) % 2' : $product['status'];
$sql = "update products SET status = ".$product['status']." WHERE id = '".$product['id']."'";
$result = $this->objdb->saveRecords($sql);
return $result;
}
public function addUserRating($rating = [])
{
$sql = "insert into product_ratings(code, user_id, rating) values(
'".mysql_escape($this->objdb->connection, $rating['code'])."',
'".mysql_escape($this->objdb->connection, $rating['user_id'])."',
'".mysql_escape($this->objdb->connection, $rating['rating'])."'
)";
$result = $this->objdb->saveRecords($sql);
return $result;
}
public function getUserProducts($user_id, $category = '') {
$sql = "SELECT p.*, getProductRating(p.`code`) product_rating, case p.status when 1 then 'Active' else 'Inactive' end product_status,
ifnull(pr.rating, 0) user_rating
FROM products p LEFT JOIN product_ratings pr ON p.`code` = pr.`code` and pr.user_id = '".mysql_escape($this->objdb->connection, $user_id)."'
WHERE p.status = 1 ";
if($category != ''){
$sql .= " and p.category = '".mysql_escape($this->objdb->connection, $category)."'";
}
$sql .= "order by p.description";
$result = $this->objdb->get_records($sql);
if($result == false)
return false;
else
return $result;
}
}
?>
OHA YOOOO