<?php
class Curd extends CI_Model{
public function __construct(){
$this->load->database();
}
function product_color_price_list($product_id,$color_id,$limit,$order_ty){
$this->db->select('pp.*,tc.name as color_name');
$this->db->from('tb_product_price pp');
$this->db->where('pp.product_id',$product_id);
if($color_id){$this->db->where('pp.color_id',$color_id);}
$this->db->order_by('pp.id',$order_ty);
$this->db->join('tb_colors tc', 'pp.color_id = tc.id', 'left');
$query = $this->db->get();
if($limit==1){
return $query->row();
}else{
return $query->result();
}
}
/*insert Coding*/
public function insert($tab,$data){
$this->db->insert($tab,$data);
return true;
}
function all_order_list($to,$from,$status){
$this->db->select('*');
if(($from) &&($to) ) {
$dw= "invoice_date BETWEEN '$to' AND '$from'";
$this->db->where($dw); }
if($status) { $this->db->where('order_staus',$status); }
$this->db->order_by('id','desc');
$query=$this->db->get('tb_order');
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function get_query($qer){
$query=$this->db->query($qer);
// $query=$this->db->get();
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_where($tab,array $fetch_col,array $base_col){
$final_fetch_col=implode(",",$fetch_col);
$this->db->select($final_fetch_col);
$this->db->from($tab);
$this->db->where($base_col);
$query=$this->db->get();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}
public function fetch_where_order($tab_name,$data,$cnd,$order_by){
$query = $this->db->select($data)->from($tab_name)->where($cnd)->order_by("id",$order_by)->get();
// $query = $this->db->select('name,page_link')->from($tab_name)->where($cnd)->order_by("id",$order_by)->get();
// echo $this->db->last_query();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}
public function fetch_where_slider($tab_name,$data,$cnd,$order_by){
// $query = $this->db->select($data)->from($tab_name)->where($cnd)->order_by("id",$order_by)->get();
$query = $this->db->select('name,page_link')->from($tab_name)->where($cnd)->order_by("id",$order_by)->get();
// echo $this->db->last_query();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}
/*public function fetch_where_min_order($tab_name,$data,$cnd,$order_by){
$query = $this->db->select($data)->from($tab_name)->where($cnd)->order_by("id",$order_by)->get();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}*/
//fetch custom
public function fetch_where_custom($tab,array $fetch_col,$base_col){
$final_fetch_col=implode(",",$fetch_col);
$this->db->select($final_fetch_col);
$this->db->from($tab);
$this->db->where($base_col);
$query=$this->db->get();
if($query->num_rows()>0){
return $query->result();
return true;
}
else{
return false;
}
}
/*for delete coding*/
public function delete($tab,array $base_col){
$this->db->delete($tab,$base_col);
return true;
}
//update table
public function update($tab,array $set,$base_col_name,$base_col_value){
$this->db->set($set);
$this->db->where($base_col_name,$base_col_value);
if($this->db->update($tab)){
return true;
}else{
return false;
}
}
//array update table
public function array_update($tab,array $set,array $base){
$this->db->set($set);
$this->db->where($base);
if($this->db->update($tab)){
return true;
}else{
return false;
}
}
public function all_fetcher($tab){
$query=$this->db->from($tab)->order_by('id','desc')->get();
if($query->num_rows>0){
return $query->result();
}else{
return false;
}
}
public function all_fetcher_order($tab,$order){
$query=$this->db->from($tab)->order_by('id',$order)->get();
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_customer($do){
$this->db->like('birthdate',date('d-m',strtotime($do)));
$this->db->order_by('id','desc');
$query = $this->db->get('tb_user');
// $query=$this->db->from('tb_user')->order_by('id',$order)->get();
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_where_order_limit($tab_name, $data, $cnd, $order_by, $limit){ //extra use for limit
$query = $this->db->select($data)->from($tab_name)->where($cnd)->order_by('id',$order_by)->limit($limit)->get();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}
//date function
public function getdate(){
date_default_timezone_set('Asia/Kolkata');
return date('Y-m-d');
}
public function JoinCategoryLocation($id=null){
if($id==null){
$query = $this->db->query("SELECT t1.id,t1.status, t2.name AS category,t3.name AS country,t4.name AS state from tb_category_location t1 INNER JOIN tb_category t2 ON t2.id=t1.cat_id INNER JOIN tb_country t3 ON t3.id=t1.country_id INNER JOIN tb_states t4 ON t4.id=t1.state_id");
}else{
$query = $this->db->query("SELECT t1.id,t1.status, t2.name AS category,t3.name AS country,t4.name AS state from tb_category_location t1 INNER JOIN tb_category t2 ON t2.id=t1.cat_id INNER JOIN tb_country t3 ON t3.id=t1.country_id INNER JOIN tb_states t4 ON t4.id=t1.state_id where t1.id=$id");
}
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function innerJoinCategory($tab1,$tab2){
$query = $this->db->query("SELECT t1.id AS id ,t1.name AS cat_name,t2.name AS main_cat_name, t1.status from $tab1 t1 INNER JOIN $tab2 t2 ON t2.id=t1.main_cat_id");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function innerJoinSubcategory($tab1,$tab2,$tab3){
$query = $this->db->query("SELECT t1.id AS id ,t1.name AS subcat_name,t2.name AS cat_name,t3.name AS main_cat_name, t1.status from $tab1 t1 INNER JOIN $tab2 t2 ON t2.id=t1.cat_id INNER JOIN $tab3 t3 ON t3.id=t1.main_cat_id");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function innerJoinProduct($where){
$query = $this->db->query("SELECT t1.*,t2.name AS main_cat_name,t3.name AS cat_name from tb_product t1 INNER JOIN tb_main_category t2 ON t1.main_cat_id=t2.id INNER JOIN tb_category t3 ON t1.cat_id=t3.id where $where order by t1.id DESC");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
// return $query->result();
}
public function inner_featured_Product($where){
$query = $this->db->query("SELECT t1.*,t2.name AS main_cat_name from tb_product t1 INNER JOIN tb_main_category t2 ON t1.main_cat_id=t2.id where $where order by t1.id DESC");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
// return $query->result();
}
public function row_count($tab){
$query=$this->db->from($tab)->get();
return $query->num_rows();
}
public function fetch_where_row_count($tab,$base_col){
$query=$this->db->from($tab)->where($base_col)->get();
return $query->num_rows();
}
/*public function innerJoinProduct($where){
$query = $this->db->query("SELECT t1.*,t2.name AS cat_name,t3.name AS sub_cat_name,t4.name AS main_cat from tb_product t1 INNER JOIN tb_category t2 ON t1.cat_id=t2.id INNER JOIN tb_subcategory t3 ON t1.sub_cat_id=t3.id INNER JOIN tb_main_category t4 ON t1.main_cat_id=t4.id WHERE $where order by t1.id DESC");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}*/
public function fetch_where_in($tab_name,$base,$in){
$query = $this->db->query("select * from $tab_name where $base IN ($in) AND status=1");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_where_in_dynamic($tab_name,$base,$in,$base2,$in2){
$query = $this->db->query("select * from $tab_name where $base IN ($in) AND IN($in2)");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_where_product_weight_in($tab_name,$base,$in,$main_cat_id,$cat_id=null){
if($cat_id==null){
$query = $this->db->query("select * from $tab_name where $base IN ($in) AND main_cat_id=$main_cat_id");
}else{
$query = $this->db->query("select * from $tab_name where $base IN ($in) AND main_cat_id=$main_cat_id AND cat_id IN($cat_id)");
}
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function fetch_where_order_dynamic($tab_name, $data, $cnd, $order_by){ //extra use for limit
$query = $this->db->select($data)->from($tab_name)->where($cnd)->order_by('price',$order_by)->get();
if($query->num_rows()>0){
return $query->result();
return true;
}else{
return false;
}
}
public function fetch_where_notin($tab_name,$base,$in){
$query = $this->db->query("select * from $tab_name where $base NOT IN ($in)");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function innerJoinUserAddress($where){
$query = $this->db->query("SELECT t1.*,t2.name AS country_name,t3.name AS state_name from tb_additional_address t1 INNER JOIN countries t2 ON t1.country=t2.id INNER JOIN states t3 ON t1.state=t3.id WHERE $where");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function auto_search($key){
$query = $this->db->query("SELECT t1.name AS main_category,t2.name AS category, t3.name AS subcategory, t4.title,t4.id FROM tb_main_category t1 INNER JOIN tb_product t4 ON t4.main_cat_id=t1.id INNER JOIN tb_category t2 ON t4.cat_id=t2.id INNER JOIN tb_subcategory t3 ON t4.sub_cat_id=t3.id WHERE t1.name LIKE '$key%' OR t2.name LIKE '$key%' OR t3.name LIKE '$key%' OR t4.title LIKE '$key%'");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function user_search($main_cat_id,$cat_id,$sub_cat_id,$budget,$city_id){
$query = $this->db->query("SELECT tb_vendor.*, st.name as state,ct.name as city, m.name as main_cat_name,c.name AS cat_name,sb_c.name AS sub_cat_name, b.min_budget,b.max_budget,b.unit from tb_vendor INNER JOIN tb_states st ON st.id=tb_vendor.state INNER JOIN tb_cities ct ON ct.id=city INNER JOIN tb_vendor_profession p1 ON p1.vendor_id=tb_vendor.id INNER JOIN tb_main_category m ON m.id=p1.main_cat_id INNER JOIN tb_category c ON c.id=$cat_id INNER JOIN tb_subcategory sb_c ON sb_c.id=$sub_cat_id INNER JOIN tb_budget b ON b.id=p1.budget_id WHERE tb_vendor.id IN (SELECT vendor_id as vendor_id FROM tb_vendor_profession WHERE main_cat_id=$main_cat_id AND FIND_IN_SET($cat_id,cat_id) AND FIND_IN_SET($sub_cat_id,sub_cat_id)) AND (b.min_budget<=$budget AND b.max_budget>=$budget) AND tb_vendor.city=$city_id");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function serachProduct($match){
$this->db->select('t1.*');
$this->db->from('tb_product as t1');
$this->db->join('tb_main_category as t2', 't2.id=t1.main_cat_id');
$this->db->join('tb_category as t3', 't3.id=t1.cat_id');
$this->db->join('tb_subcategory as t4', 't4.id=t1.sub_cat_id');
$this->db->like('t1.title',$match);
$this->db->or_like('t2.name',$match,'after');
$this->db->or_like('t3.name',$match);
$this->db->or_like('t4.name',$match);
$result = $this->db->get();
if($result->num_rows()>0){
return $result->result();
return true;
}else{
return false;
}
}
/*Start for promocode work*/
public function get_promo($p_code){
$today = $this->getdate();
$query = $this->db->query("SELECT * FROM tb_coupon WHERE promo_code = '$p_code' AND start <= '$today'
AND expire >= '$today'");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function min_price($user_id){
$query = $this->db->query("SELECT MIN(sale_price*qty) AS min_price, COUNT(id) AS total_cart FROM `tb_cart` WHERE user_id=$user_id");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
public function deleteTable($tab){
return $this->db->query("DROP TABLE $tab");
}
public function total_cart_price($user_id){
$query = $this->db->query("SELECT SUM(sale_price*qty) AS total_cart_value FROM `tb_cart` WHERE user_id=$user_id");
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
/*End for promocode work*/
private function get_last_id(){
$insert_id = $this->db->insert_id();
return $insert_id;
}
function send_query(){
$to = 'rajinfotechjaipur@yahoo.com';
$subject ="Enquiry Message";
$name = $this->input->post('name');
$email = $this->input->post('email');
$phone = $this->input->post('mobile');
$service = $this->input->post('sub');
$message1 = $this->input->post('msg');
$ip=$_SERVER['REMOTE_ADDR'];
$message = '<table style="width:100%">'
. '<tr><td colspan="2">Inquiry Details</td></tr>'
. '<tr><td>Name</td><td>'.$name.'</td></tr>'
. '<tr><td>Email ID</td><td>'.$email.'</td></tr>'
. '<tr><td>Phone</td><td>'.$phone.'</td></tr>'
. '<tr><td>Subject</td><td>'.$service.'</td></tr>'
. '<tr><td>IP Address</td><td>'.$ip.'</td></tr>'
. '<tr><td>Message</td><td>'.$message1.'</td></tr>'
. '</table>';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$subject = 'Query from website For';
$headers .= 'From: "rajinfotechjaipur@yahoo.com"' . "\r\n";
mail($to,$subject,$message,$headers);
$data = array('name'=>$name,'email'=>$email,'phone'=>$phone,'subject'=>$service,'message'=>$message1);
$this->db->insert('contact_us',$data);
return true;
}
function send_newsletter(){
$to = 'info@kandp.me';
$subject ="NEWSLETTER";
$email = $this->input->post('email');
$ip=$_SERVER['REMOTE_ADDR'];
$message = '<table style="width:100%">'
. '<tr><td colspan="2">NEWSLETTER</td></tr>'
. '<tr><td>Email ID</td><td>'.$email.'</td></tr>'
. '<tr><td>IP Address</td><td>'.$ip.'</td></tr>'
. '</table>';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$subject = 'Query from website For';
$headers .= 'From: "info@kandp.me"' . "\r\n";
mail($to,$subject,$message,$headers);
return true;
}
function product_data($product_list){
foreach($product_list as $row){
$gallery = $this->fetch_where_order("tb_gallery",array("*"),array("product_id"=>$row->id),"ASC");?>
<div class="col-md-4 mb-3">
<a href="<?=base_url('home/product_detail/'.base64_encode($row->id))?>">
<div class="itemHover">
<div class="item-feature position-relative">
<img src="<?=base_url('uploads/gallery/'.$gallery[0]->name)?>">
<button class="btn-remove"><i class="fe fe-heart"></i></button>
</div>
<div class="product-header">
<h2><?=ucwords($row->title)?></h2>
<?php
$price_res = $this->fetch_where("tb_product_price",array('MIN(price) AS price,weight,reg_discount,reg_sale_price',),array("product_id"=>$row->id));?>
<h6 class="mb-3">Weight <?=$price_res[0]->weight?></h6>
<h4> <i class="fa fa-rupee-sign"></i> <?=$price_res[0]->reg_sale_price?> <span><?=$price_res[0]->price?></span></h4>
</div>
</div>
</a>
</div>
<?php
}
}
function table_order_by($tab_name,$cnd,$order_col,$order_by,$limit){
$query = $this->db->select('*')->from($tab_name)->where($cnd)->order_by($order_col,$order_by)->limit($limit)->get();
if($query->num_rows()>0){
return $query->result();
}else{
return false;
}
}
function table_row_order_by($tab_name,$cnd,$order_col,$order_by,$limit){
$query = $this->db->select('*')->from($tab_name)->where($cnd)->order_by($order_col,$order_by)->limit($limit)->get();
if($query->num_rows()>0){
if($limit==1){
return $query->row();
}else{
return $query->result();
}
}else{
return false;
}
}
}
?>