|
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/helpers/ |
Upload File : |
<?php
function get_varian_data($varian_id, $product_id)
{
$ci = &get_instance();
//get varian name
$ci->db->select('product_attribute, product_attribute_en')->from('product_attributes')->where('id', $varian_id);
$varian_name_data = $ci->db->get()->row();
if ($ci->session->userdata('site_lang') == 'english') {
$varian_array['varian_name'] = $varian_name_data->product_attribute_en;
} else {
$varian_array['varian_name'] = $varian_name_data->product_attribute;
}
//get initial varian detail
if ($ci->session->userdata('site_lang') == 'english') {
$ci->db->select('product_attributes_detail.color_hex, product_attributes_detail.product_attribute_id, attribute_detail_id, product_details_id, attribute_detail_en as attribute_detail, image')
->from('product_combination')
->join('product_attributes_detail', 'product_attributes_detail.id = product_combination.attribute_detail_id')
->where('attribute_id', $varian_id)
->where('product_id', $product_id)
->group_by('attribute_detail_id')
->order_by('product_attributes_detail.priority', 'ASC');
} else {
$ci->db->select('product_attributes_detail.color_hex, product_attributes_detail.product_attribute_id, attribute_detail_id, product_details_id, attribute_detail, image')
->from('product_combination')
->join('product_attributes_detail', 'product_attributes_detail.id = product_combination.attribute_detail_id')
->where('attribute_id', $varian_id)
->where('product_id', $product_id)
->group_by('attribute_detail_id')
->order_by('product_attributes_detail.priority', 'ASC');
}
$varian_array['varian_details'] = $ci->db->get()->result();
return $varian_array;
}
function check_current_stock($id_product)
{
$ci = &get_instance();
$ci->db->select('id')->from('product_details')->where('product_id', $id_product)->where('stock !=', 0);
$count_current_stock = $ci->db->get()->num_rows();
return $count_current_stock;
}
function category_discount($id_product)
{
$ci = &get_instance();
//check this product belong to which categories
$ci->db->select('id_category')->from('category_product')->where('id_product', $id_product);
$categories = $ci->db->get()->result_array();
$product_existing_categories = array();
foreach ($categories as $key => $category) {
$product_existing_categories[] = $category['id_category'];
}
$level1_category = NULL;
$level2_category = NULL;
$level3_category = NULL;
foreach ($product_existing_categories as $category_id) {
//check if this category_id has parent
$ci->db->select('parent')->from('categories')->where('id_categories', $category_id);
$parent_category_id = $ci->db->get()->row()->parent;
if ($parent_category_id != NULL) {
//this category still have parent
//check if the parent category still have parent
$ci->db->select('parent')->from('categories')->where('id_categories', $parent_category_id);
$parent2_category_id = $ci->db->get()->row()->parent;
if ($parent2_category_id != NULL) {
//this is level 3 category
$level3_category = $category_id;
} else {
//this is level 2 category
$level2_category = $category_id;
}
} else {
//this category is parent (level 1)
$level1_category = $category_id;
}
}
if ($level3_category != NULL) {
//check if this category has category discount
$ci->db->select('discount_active, percentage_discount')->from('categories')->where('id_categories', $level3_category);
$category_discount = $ci->db->get()->row();
if ($category_discount->discount_active == 'yes') {
$category_discount_percentage = $category_discount->percentage_discount;
} else {
$category_discount_percentage = NULL;
}
} else {
//$level3_category == NULL
if ($level2_category != NULL) {
//check if this category has category discount
$ci->db->select('discount_active, percentage_discount')->from('categories')->where('id_categories', $level2_category);
$category_discount = $ci->db->get()->row();
if ($category_discount->discount_active == 'yes') {
$category_discount_percentage = $category_discount->percentage_discount;
} else {
$category_discount_percentage = NULL;
}
} else {
//$level2_category == NULL
if ($level1_category != NULL) {
//check if this category has category discount
$ci->db->select('discount_active, percentage_discount')->from('categories')->where('id_categories', $level1_category);
$category_discount = $ci->db->get()->row();
if ($category_discount->discount_active == 'yes') {
$category_discount_percentage = $category_discount->percentage_discount;
} else {
$category_discount_percentage = NULL;
}
}
}
}
return $category_discount_percentage;
}
function get_product_price($id_product)
{
$ci = &get_instance();
$product_price_array = array();
if (isset($ci->session->userdata('customer')['customer_id'])) {
//get product detail id (for 1st detail only)
$ci->db->select('id')->from('product_details')->where('product_id', $id_product)->limit(1);
$id_product_detail = $ci->db->get()->row()->id;
//check if customer is a reseller. if reseller use reseller price
$ci->db->select('reseller_id')->from('customers')->where('id_customers', $ci->session->userdata('customer')['customer_id']);
$reseller_id = $ci->db->get()->row()->reseller_id;
//check if reseller price already available (already input by admin)
$ci->db->select('price')->from('resellers_price')->where('reseller_id', $reseller_id)->where('product_detail_id', $id_product_detail);
$count_reseller = $ci->db->get()->num_rows();
if ($reseller_id != NULL && $count_reseller > 0) {
//customer is reseller. use reseller price
$ci->db->select('price')->from('resellers_price')->where('reseller_id', $reseller_id)->where('product_detail_id', $id_product_detail);
$product_price = $ci->db->get()->row();
$product_price_array['reseller_id'] = $reseller_id;
$product_price_array['count_reseller'] = $count_reseller;
} else {
//get product price and discount price (retail prices)
$ci->db->select('price, discounted_price')->from('product_details')->where('product_id', $id_product)->limit(1);
$product_price_array['reseller_id'] = NULL;
$product_price_array['count_reseller'] = 0;
$product_price = $ci->db->get()->row();
}
$product_price_array['product_price'] = $product_price;
} else {
//get product price and discount price (retail prices)
$ci->db->select('price, discounted_price')->from('product_details')->where('product_id', $id_product)->limit(1);
$product_price = $ci->db->get()->row();
$product_price_array['product_price'] = $product_price;
$product_price_array['reseller_id'] = NULL;
$product_price_array['count_reseller'] = 0;
}
return $product_price_array;
}
function get_product_thumbnail($product_id)
{
$ci = &get_instance();
if ($product_id == 503) {
// Ambil gambar dari product_details_id = 1007
$ci->db->select('priority, image, alt')
->from('product_images')
->where('product_id', $product_id)
->where('product_details_id', 1007)
->where('status', '1')
->order_by('priority', 'ASC');
$product_image = $ci->db->get()->row();
} else {
// Ambil thumbnail default seperti biasa
$ci->db->select('priority, image, alt')
->from('product_images')
->where('product_id', $product_id)
->where('status', '1')
->order_by('product_details_id', 'ASC')
->order_by('priority', 'ASC');
$product_image = $ci->db->get()->row();
}
if (count($product_image) > 0) {
// Get product image 2
$ci->db->select('image')->from('product_images')->where('product_id', $product_id)->where('status', '1')->where('priority >', $product_image->priority)->where('status', '1')->order_by('product_details_id', 'ASC')->order_by('priority', 'ASC');
$product_image2 = $ci->db->get()->row();
} else {
$product_image2 = NULL;
}
// Get placeholder image
$ci->db->select('image_not_available')->from('configuration')->where('id_configuration', 1);
$placeholder_image = $ci->db->get()->row()->image_not_available;
if (count($product_image) == 0) {
$src1 = base_url() . 'uploads/' . $placeholder_image;
$alt1 = '';
} else {
$src1 = base_url() . 'uploads/product/' . $product_image->image;
$alt1 = $product_image->alt;
}
if (!isset($product_image2) || count($product_image2) == 0) {
$src2 = base_url() . 'uploads/' . $placeholder_image;
$alt2 = '';
} else {
$src2 = base_url() . 'uploads/product/' . $product_image2->image;
$alt2 = $product_image2->alt;
}
$thumbnails_array = array(
'image1' => $src1,
'image2' => $src2,
'alt1' => $alt1,
'alt2' => $alt2
);
return $thumbnails_array;
}
function get_lowest_price($product_id)
{
$ci = &get_instance();
//get lowest normal price
$ci->db->select('price, id, discounted_price')->from('product_details')->where('product_id', $product_id)->where('price !=', 0)->order_by('price', 'ASC')->limit(1);
$lowest_price = $ci->db->get()->row();
return $lowest_price;
}