|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/laciasmara.com/public_html/shop/application/models/ |
Upload File : |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Product_attributes_m extends MY_Model
{
protected $_table_name = 'product_attributes';
protected $_primary_key = 'id';
protected $_order_by = 'id';
public $rules = array(
array(
'field' => 'attribute',
'label' => 'atribut (id)',
'rules' => 'trim|required|callback__cek_existing_attribute'
),
array(
'field' => 'attribute_en',
'label' => 'atribut (en)',
'rules' => 'trim|required|callback__cek_existing_attribute_en'
),
);
public $detail_rules = array(
array(
'field' => 'attribute_detail',
'label' => 'detil atribut (id)',
'rules' => 'trim|required'
/* 'rules' => 'trim|required|callback__cek_existing_detail_title' */
),
array(
'field' => 'attribute_detail_en',
'label' => 'detil atribut (en)',
'rules' => 'trim|required'
/* 'rules' => 'trim|required|callback__cek_existing_detail_title_en' */
),
);
function __construct()
{
parent::__construct();
}
public function record_count()
{
return $this->db->get('product_attributes')->num_rows();
}
public function record_count_detail($attribute_id)
{
$this->db->select('id')->from('product_attributes_detail')->where('product_attribute_id', $attribute_id);
$count = $this->db->get()->num_rows();
return $count;
}
function get_all_attributes($limit, $start)
{
$this->db->select('*');
$this->db->from('product_attributes');
$this->db->limit($limit, $start);
$this->db->order_by('priority', 'ASC');
$query = $this->db->get();
return $query->result();
}
public function get_new()
{
$attribute = new stdClass();
$attribute->product_attribute = '';
$attribute->product_attribute_en = '';
$attribute->is_color = '';
return $attribute;
}
public function count_exist($id)
{
$this->db->select('*');
$this->db->from('product_attributes');
$this->db->where('id', $id);
$query = $this->db->get();
return $query->num_rows();
}
public function count_exist_detail($attribute_id, $detail_id)
{
$this->db->select('id');
$this->db->from('product_attributes_detail');
$this->db->where('id', $detail_id);
$this->db->where('product_attribute_id', $attribute_id);
$query = $this->db->get();
return $query->num_rows();
}
public function cek_existing_attribute($str, $attribute_id)
{
$this->db->select('id');
$this->db->from('product_attributes');
$this->db->where('product_attribute', $str);
if ($attribute_id != NULL) {
$this->db->where('id !=', $attribute_id);
}
$query = $this->db->get();
return $query->num_rows();
}
public function cek_existing_attribute_en($str, $attribute_id)
{
$this->db->select('id');
$this->db->from('product_attributes');
$this->db->where('product_attribute_en', $str);
if ($attribute_id != NULL) {
$this->db->where('id !=', $attribute_id);
}
$query = $this->db->get();
return $query->num_rows();
}
function add_attribute($data)
{
$this->db->insert('product_attributes', $data);
$user_id = $this->session->userdata('admin')['id'];
$activity = 'User menambah jenis varian (' . $data['product_attribute'] . ')';
log_activity($user_id, $activity);
return $this->db->insert_id();
}
function edit_attribute($id, $data)
{
$this->db->where('id', $id);
$this->db->update('product_attributes', $data);
$user_id = $this->session->userdata('admin')['id'];
$activity = 'User mengedit jenis varian (' . $data['product_attribute'] . ')';
log_activity($user_id, $activity);
}
function get_all_attribute_details($attribute_id)
{
$this->db->select('*');
$this->db->from('product_attributes_detail');
$this->db->where('product_attribute_id', $attribute_id);
$this->db->order_by('priority', 'ASC');
$query = $this->db->get();
return $query->result();
}
public function get_new_detail()
{
$detail = new stdClass();
$detail->attribute_detail = '';
$detail->attribute_detail_en = '';
$detail->id = '';
return $detail;
}
//function edit product_attribute
function edit_attribute_detail($id, $data)
{
$this->db->where('id', $id);
$this->db->update('product_attributes_detail', $data);
$user_id = $this->session->userdata('admin')['id'];
$activity = 'User mengedit varian (' . $data['attribute_detail'] . ')';
log_activity($user_id, $activity);
}
//function add new product_attribute
function add_attribute_detail($data)
{
$this->db->insert('product_attributes_detail', $data);
$user_id = $this->session->userdata('admin')['id'];
$activity = 'User menambah varian (' . $data['attribute_detail'] . ')';
log_activity($user_id, $activity);
return $this->db->insert_id();
}
//get all product_size
function get_product_size()
{
$this->db->select('*');
$this->db->from('product_size');
$query = $this->db->get();
return $query->result();
}
//FOR FRONT END REGISTRATION PAGE
//get all product_size to display at front registration page, with status display 1 only
function get_product_size_display_on()
{
$this->db->select('*');
$this->db->from('product_size');
$this->db->where('status', '1');
$this->db->where('id_product_size !=', '0');
$this->db->order_by('id_product_size asc');
$query = $this->db->get();
return $query->result();
}
//cek if size title already exist
public function cek_existing_detail_title($str, $detail_id)
{
$this->db->select('id');
$this->db->from('product_attributes_detail');
$this->db->where('attribute_detail', $str);
if ($detail_id != NULL) {
$this->db->where('id !=', $detail_id);
}
$query = $this->db->get();
return $query->num_rows();
}
//cek if size title already exist
public function cek_existing_detail_title_en($str, $detail_id)
{
$this->db->select('id');
$this->db->from('product_attributes_detail');
$this->db->where('attribute_detail_en', $str);
if ($detail_id != NULL) {
$this->db->where('id !=', $detail_id);
}
$query = $this->db->get();
return $query->num_rows();
}
}