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 : /proc/self/root/var/www/laciasmara.com/public_html/shop/application/models/ |
Upload File : |
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Badge_m extends CI_Model { private $table = 'badges'; public function get_all_badges() { return $this->db->get($this->table)->result(); } public function get_badge_by_id($badge_id) { return $this->db->get_where($this->table, ['id' => $badge_id])->row(); } public function get_badge_name_by_id($badge_id) { $query = $this->db->select('name') ->get_where($this->table, ['id' => $badge_id]) ->row(); return $query ? $query->name : null; } public function get_products_by_badge_id($badge_id) { $this->db->select(' products.id_products, products.title, products.alias, product_badges.badge_id, product_badges.position, product_badges.priority, product_badges.start_date, product_badges.end_date, pi.image as image, pd.id as product_detail_id, MIN(pd.price) as min_price, MAX(pd.price) as max_price, badges.* '); $this->db->from('product_badges'); $this->db->join('products', 'products.id_products = product_badges.product_id'); $this->db->join('product_details pd', 'pd.product_id = products.id_products', 'left'); $this->db->join('product_images pi', 'pi.product_details_id = pd.id AND pi.priority = 1 AND pi.status = 1', 'left'); $this->db->join('badges', 'badges.id = product_badges.badge_id', 'left'); $this->db->where('product_badges.badge_id', $badge_id); $this->db->where('product_badges.is_active', 1); $this->db->group_by('products.id_products, product_badges.id'); $this->db->order_by('product_badges.priority', 'ASC'); $results = $this->db->get()->result(); // Process image URLs and price formatting foreach ($results as &$product) { // Handle image URL if (!empty($product->image)) { $product->image_url = base_url('uploads/product/') . $product->image; } else { $product->image_url = base_url('assets/images/product-placeholder.png'); } // Format price display if ($product->min_price == $product->max_price) { $product->price_display = 'Rp ' . number_format($product->min_price, 0, ',', '.'); } else { $product->price_display = 'Rp ' . number_format($product->min_price, 0, ',', '.') . ' - Rp ' . number_format($product->max_price, 0, ',', '.'); } // Format position untuk display $positions = [ 'top-left' => 'Kiri Atas', 'top-right' => 'Kanan Atas', 'bottom-left' => 'Kiri Bawah', 'bottom-right' => 'Kanan Bawah', 'center' => 'Tengah' ]; $product->position_display = $positions[$product->position] ?? $product->position; } return $results; } public function remove_badge_from_product($badge_id, $product_id) { $this->db->where('badge_id', $badge_id); $this->db->where('product_id', $product_id); return $this->db->delete('product_badges'); } }