ok
Direktori : /proc/thread-self/root/home2/selectio/www/application/helpers/ |
Current File : //proc/thread-self/root/home2/selectio/www/application/helpers/product_helper.php |
<?php defined('BASEPATH') or exit('No direct script access allowed'); //get product title if (!function_exists('get_product_title')) { function get_product_title($product) { if (!empty($product)) { if (!empty($product->title)) { return $product->title; } elseif (!empty($product->second_title)) { return $product->second_title; } } return ""; } } //get available product if (!function_exists('get_active_product')) { function get_active_product($id) { $ci =& get_instance(); return $ci->product_model->get_active_product($id); } } //get product details if (!function_exists('get_product_details')) { function get_product_details($id, $lang_id, $get_main_on_null = true) { $ci =& get_instance(); return $ci->product_model->get_product_details($id, $lang_id, $get_main_on_null); } } //product location cache key if (!function_exists('get_location_cache_key')) { function get_location_cache_key($ci) { $key = ""; if (!empty($ci->default_location->country_id)) { $key .= $ci->default_location->country_id; } if (!empty($ci->default_location->state_id)) { $key .= "_" . $ci->default_location->state_id; } if (!empty($ci->default_location->city_id)) { $key .= "_" . $ci->default_location->city_id; } if (empty($key)) { $key = "1"; } $key = trim($key); return $key; } } //get subcategories if (!function_exists('get_subcategories')) { function get_subcategories($parent_id) { $ci =& get_instance(); return $ci->category_model->get_subcategories($parent_id); } } if (!function_exists('get_category_by_id')) { function get_category_by_id($id) { $ci =& get_instance(); return $ci->category_model->get_category($id); } } //get category name if (!function_exists('category_name')) { function category_name($category) { if (!empty($category)) { if (!empty($category->name)) { return html_escape($category->name); } else { if (!empty($category->second_name)) { return html_escape($category->second_name); } } } return ""; } } //get category image url if (!function_exists('get_category_image_url')) { function get_category_image_url($category) { if ($category->storage == "aws_s3") { $ci =& get_instance(); return $ci->aws_base_url . $category->image; } else { return base_url() . $category->image; } } } //get parent categories tree if (!function_exists('get_parent_categories_tree')) { function get_parent_categories_tree($category, $only_visible = true) { $ci =& get_instance(); return $ci->category_model->get_parent_categories_tree($category, $only_visible); } } if (!function_exists('get_ids_from_array')) { function get_ids_from_array($array, $column = 'id') { if (!empty($array)) { return get_array_column_values($array, $column); } return array(); } } //generate ids string if (!function_exists('generate_ids_string')) { function generate_ids_string($array) { if (empty($array)) { return "0"; } else { return implode(',', $array); } } } //product form data if (!function_exists('get_product_form_data')) { function get_product_form_data($product) { $ci =& get_instance(); $data = new stdClass(); $data->add_to_cart_url = ""; $data->button = ""; if (!empty($product)) { $disabled = ""; if (!check_product_stock($product)) { $disabled = " disabled"; } if ($product->listing_type == 'sell_on_site' || $product->listing_type == 'license_key') { if ($product->is_free_product != 1) { $data->add_to_cart_url = base_url() . 'add-to-cart'; $data->button = '<button class="btn btn-md btn-block btn-product-cart"' . $disabled . '><span class="btn-cart-icon"><i class="icon-cart-solid"></i></span>' . trans("add_to_cart") . '</button>'; } } elseif ($product->listing_type == 'bidding') { $data->add_to_cart_url = base_url() . 'request-quote'; $data->button = '<button class="btn btn-md btn-block btn-product-cart"' . $disabled . '>' . trans("request_a_quote") . '</button>'; if (!$ci->auth_check && $product->listing_type == 'bidding') { $data->button = '<button type="button" data-toggle="modal" data-target="#loginModal" class="btn btn-md btn-block btn-product-cart"' . $disabled . '>' . trans("request_a_quote") . '</button>'; } } else { if ($ci->auth_check) { $data->button = '<button type="button" class="btn btn-md btn-block btn-product-cart" data-toggle="modal" data-target="#messageModal">' . trans("contact_seller") . '</button>'; } else { $data->button = '<button type="button" class="btn btn-md btn-block btn-product-cart" data-toggle="modal" data-target="#loginModal">' . trans("contact_seller") . '</button>'; } if (!empty($product->external_link)) { $data->button = '<a href="' . $product->external_link . '" class="btn btn-md btn-block" target="_blank" rel="nofollow">' . trans("buy_now") . '</a>'; } } } return $data; } } //get product item image if (!function_exists('get_product_item_image')) { function get_product_item_image($product, $get_second = false) { $ci =& get_instance(); if (!empty($product)) { $image = $product->image; if (!empty($product->image_second) && $get_second == true) { $image = $product->image_second; } if (!empty($image)) { $image_array = explode("::", $image); if (!empty($image_array[0]) && !empty($image_array[1])) { if ($image_array[0] == "aws_s3") { return $ci->aws_base_url . "uploads/images/" . $image_array[1]; } else { return base_url() . "uploads/images/" . $image_array[1]; } } } } return base_url() . 'assets/img/no-image.jpg'; } } //get index categories products if (!function_exists('get_index_categories_products')) { function get_index_categories_products($ci, $categories) { return $ci->product_model->get_index_categories_products($categories); } } //is product in wishlist if (!function_exists('is_product_in_wishlist')) { function is_product_in_wishlist($product) { $ci =& get_instance(); if ($ci->auth_check) { if (!empty($product->is_in_wishlist)) { return true; } } else { $wishlist = $ci->session->userdata('mds_guest_wishlist'); if (!empty($wishlist)) { if (in_array($product->id, $wishlist)) { return true; } } } return false; } } //get currency by code if (!function_exists('get_currency_by_code')) { function get_currency_by_code($currency_code) { $ci =& get_instance(); if (!empty($ci->currencies[$currency_code])) { return $ci->currencies[$currency_code]; } } } //get currency symbol if (!function_exists('get_currency_symbol')) { function get_currency_symbol($currency_code) { $ci =& get_instance(); if (!empty($ci->currencies)) { if (isset($ci->currencies[$currency_code])) { return $ci->currencies[$currency_code]->symbol; } } return ""; } } //calculate product price if (!function_exists('calculate_product_price')) { function calculate_product_price($price, $discount_rate) { if (!empty($price)) { $price = $price / 100; if (!empty($discount_rate)) { $price = $price - (($price * $discount_rate) / 100); } $price = number_format($price, 2, ".", ""); $price = $price * 100; return $price; } return 0; } } //calculate product vat if (!function_exists('calculate_product_vat')) { function calculate_product_vat($product) { if (!empty($product)) { if (!empty($product->vat_rate)) { $price = calculate_product_price($product->price, $product->discount_rate); return ($price * $product->vat_rate) / 100; } } return 0; } } //price formatted if (!function_exists('price_formatted')) { function price_formatted($price, $currency_code, $convert_currency = false) { $ci =& get_instance(); $price = $price / 100; //convert currency if ($ci->payment_settings->currency_converter == 1 && $convert_currency == true) { $rate = 1; if (isset($ci->selected_currency) && isset($ci->selected_currency->exchange_rate)) { $rate = $ci->selected_currency->exchange_rate; $price = $price * $rate; $currency_code = $ci->selected_currency->code; } } $dec_point = '.'; $thousands_sep = ','; if (isset($ci->currencies[$currency_code]) && $ci->currencies[$currency_code]->currency_format != 'us') { $dec_point = ','; $thousands_sep = '.'; } if (filter_var($price, FILTER_VALIDATE_INT) !== false) { $price = number_format($price, 0, $dec_point, $thousands_sep); } else { $price = number_format($price, 2, $dec_point, $thousands_sep); } $price = price_currency_format($price, $currency_code); return $price; } } //price cart if (!function_exists('price_decimal')) { function price_decimal($price, $currency_code, $convert_currency = false, $money_sign = true) { $ci =& get_instance(); //convert currency if ($ci->payment_settings->currency_converter == 1 && $convert_currency == true) { $rate = 1; if (isset($ci->selected_currency) && isset($ci->selected_currency->exchange_rate)) { $rate = $ci->selected_currency->exchange_rate; $price = $price * $rate; $currency_code = $ci->selected_currency->code; } } $dec_point = '.'; $thousands_sep = ','; if (isset($ci->currencies[$currency_code]) && $ci->currencies[$currency_code]->currency_format != 'us') { $dec_point = ','; $thousands_sep = '.'; } if (strpos($price, '.00') !== false) { $price = str_replace('.00', '', $price); } if (filter_var($price, FILTER_VALIDATE_INT) !== false) { $price = number_format($price, 0, $dec_point, $thousands_sep); } else { $price = number_format($price, 2, $dec_point, $thousands_sep); } if ($money_sign == false) { return $price; } $price = price_currency_format($price, $currency_code); return $price; } } //price currency format if (!function_exists('price_currency_format')) { function price_currency_format($price, $currency_code) { $ci =& get_instance(); if (isset($ci->currencies[$currency_code])) { $currency = $ci->currencies[$currency_code]; $space = ""; if ($currency->space_money_symbol == 1) { $space = " "; } if ($currency->symbol_direction == "left") { $price = "<span>" . $currency->symbol . "</span>" . $space . $price; } else { $price = $price . $space . "<span>" . $currency->symbol . "</span>"; } } return $price; } } //get price if (!function_exists('get_price')) { function get_price($price, $format_type) { $ci =& get_instance(); if ($format_type == "input") { $price = $price / 100; if (filter_var($price, FILTER_VALIDATE_INT) !== false) { $price = number_format($price, 0, ".", ""); } else { $price = number_format($price, 2, ".", ""); } if ($ci->thousands_separator == ',') { $price = str_replace('.', ',', $price); } return $price; } elseif ($format_type == "decimal") { $price = $price / 100; if (filter_var($price, FILTER_VALIDATE_INT) !== false) { return number_format($price, 0, ".", ""); } else { return number_format($price, 2, ".", ""); } } elseif ($format_type == "database") { $price = str_replace(',', '.', $price); $price = floatval($price); $price = number_format($price, 2, '.', '') * 100; return $price; } elseif ($format_type == "separator_format") { $price = $price / 100; $dec_point = '.'; $thousands_sep = ','; if ($ci->thousands_separator != '.') { $dec_point = ','; $thousands_sep = '.'; } return number_format($price, 2, $dec_point, $thousands_sep); } } } //convert currency for payments in the cart if (!function_exists('convert_currency_by_exchange_rate')) { function convert_currency_by_exchange_rate($amount, $exchange_rate) { $ci =& get_instance(); if ($amount <= 0) { return 0; } if (empty($exchange_rate)) { $exchange_rate = 1; } if ($ci->payment_settings->currency_converter == 1) { $amount = $amount * $exchange_rate; if (filter_var($amount, FILTER_VALIDATE_INT) !== false) { $amount = number_format($amount, 0, ".", ""); } else { $amount = number_format($amount, 2, ".", ""); } } return $amount; } } //get variation label if (!function_exists('get_variation_label')) { function get_variation_label($label_array, $lang_id) { $ci =& get_instance(); $label = ""; if (!empty($label_array)) { $label_array = unserialize_data($label_array); foreach ($label_array as $item) { if ($lang_id == $item['lang_id']) { $label = $item['label']; break; } } if (empty($label)) { foreach ($label_array as $item) { if ($ci->general_settings->site_lang == $item['lang_id']) { $label = $item['label']; break; } } } } return $label; } } //get variation option name if (!function_exists('get_variation_option_name')) { function get_variation_option_name($names_array, $lang_id) { $ci =& get_instance(); $name = ""; if (!empty($names_array)) { $names_array = unserialize_data($names_array); foreach ($names_array as $item) { if ($lang_id == $item['lang_id']) { $name = $item['option_name']; break; } } if (empty($name)) { foreach ($names_array as $item) { if ($ci->general_settings->site_lang == $item['lang_id']) { $name = $item['option_name']; break; } } } } return $name; } } //get variation default option if (!function_exists('get_variation_default_option')) { function get_variation_default_option($variation_id) { $ci =& get_instance(); return $ci->variation_model->get_variation_default_option($variation_id); } } //get variation sub options if (!function_exists('get_variation_sub_options')) { function get_variation_sub_options($parent_id) { $ci =& get_instance(); return $ci->variation_model->get_variation_sub_options($parent_id); } } //is there variation uses different price if (!function_exists('is_there_variation_uses_different_price')) { function is_there_variation_uses_different_price($product_id, $except_id = null) { $ci =& get_instance(); return $ci->variation_model->is_there_variation_uses_different_price($product_id, $except_id); } } //discount rate format if (!function_exists('discount_rate_format')) { function discount_rate_format($discount_rate) { return $discount_rate . "%"; } } //check product stock if (!function_exists('check_product_stock')) { function check_product_stock($product) { if (!empty($product)) { if ($product->product_type == 'digital') { return true; } if ($product->stock > 0) { return true; } } return false; } } //get product stock status if (!function_exists('get_product_stock_status')) { function get_product_stock_status($product) { if (!empty($product)) { if ($product->product_type == 'digital') { return '<span class="text-success">' . trans("in_stock") . '</span>'; } elseif ($product->listing_type == 'ordinary_listing') { if ($product->is_sold == 1) { return '<span class="text-danger">' . trans("sold") . '</span>'; } else { return '<span class="text-success">' . trans("active") . '</span>'; } } else { if ($product->stock < 1) { return '<span class="text-danger">' . trans("out_of_stock") . '</span>'; } else { return '<span class="text-success">' . trans("in_stock") . " (" . $product->stock . ")" . '</span>'; } } } return ""; } } //get query string array if (!function_exists('get_query_string_array')) { function get_query_string_array($custom_filters = null) { $array_filter_keys = array(); if ($custom_filters != null) { $array_filter_keys = get_array_column_values($custom_filters, 'product_filter_key'); } array_push($array_filter_keys, "p_min"); array_push($array_filter_keys, "p_max"); array_push($array_filter_keys, "product_type"); array_push($array_filter_keys, "sort"); array_push($array_filter_keys, "search"); array_push($array_filter_keys, "p_cat"); $queries = array(); $array_queries = array(); $str = $_SERVER["QUERY_STRING"]; $str = str_replace('<', '', $str); $str = str_replace('>', '', $str); $str = str_replace('*', '', $str); $str = str_replace('"', '', $str); $str = str_replace('(', '', $str); $str = str_replace(')', '', $str); @parse_str($str, $queries); if (!empty($queries)) { foreach ($queries as $key => $value) { if (in_array($key, $array_filter_keys)) { $key = str_slug($key); $array_values = explode(',', $value); for ($i = 0; $i < item_count($array_values); $i++) { $array_values[$i] = remove_forbidden_characters($array_values[$i]); } $array_queries[$key] = $array_values; } } } return $array_queries; } } //generate filter url if (!function_exists('generate_filter_url')) { function generate_filter_url($query_string_array, $key, $value) { $key = str_slug($key); $query = ""; if (!empty($key) && $key != "rmv_prc" && $key != "rmv_psrc" && $key != "rmv_srt" && $key != "rmv_p_cat") { if (empty($query_string_array) || !is_array($query_string_array)) { return "?" . $key . "=" . @urlencode($value); } //add remove the key value if (!empty($query_string_array[$key])) { if ($key == "sort") { $query_string_array[$key] = [$value]; } if ($key == "p_cat") { $query_string_array[$key] = [$value]; } else { if (in_array($value, $query_string_array[$key])) { $new_array = array(); foreach ($query_string_array[$key] as $item) { if (!empty($item) && $item != $value) { $new_array[] = $item; } } $query_string_array[$key] = $new_array; } else { $query_string_array[$key][] = $value; } } } else { $query_string_array[$key][] = $value; } } //generate query string $i = 0; foreach ($query_string_array as $array_key => $array_values) { $add_keys = true; if ($key == "rmv_prc" && ($array_key == "p_min" || $array_key == "p_max")) { $add_keys = false; } if ($key == "rmv_psrc" && ($array_key == "search")) { $add_keys = false; } if ($key == "rmv_srt" && ($array_key == "sort")) { $add_keys = false; } if ($key == "rmv_p_cat" && ($array_key == "p_cat")) { $add_keys = false; } if ($add_keys && !empty($array_values)) { if ($i == 0) { $query = "?" . generate_filter_string($array_key, $array_values); } else { $query .= "&" . generate_filter_string($array_key, $array_values); } $i++; } } return $query; } } //generate filter string if (!function_exists('generate_filter_string')) { function generate_filter_string($key, $array_values) { $str = ""; $j = 0; if (!empty($array_values)) { foreach ($array_values as $value) { if (!empty($value) && !is_array($value)) { $value = urlencode($value); if ($j == 0) { $str = $value; } else { $str .= "," . $value; } $j++; } } $str = $key . "=" . $str; } return $str; } } //get query string array to array of objects if (!function_exists('convert_query_string_to_object_array')) { function convert_query_string_to_object_array($query_string_array) { $array = array(); if (!empty($query_string_array)) { foreach ($query_string_array as $key => $array_values) { if (!empty($array_values)) { foreach ($array_values as $value) { $obj = new stdClass(); $obj->key = $key; $obj->value = $value; array_push($array, $obj); } } } } return $array; } } //is custom field option selected if (!function_exists('is_custom_field_option_selected')) { function is_custom_field_option_selected($query_string_object_array, $key, $value) { if (!empty($query_string_object_array)) { foreach ($query_string_object_array as $item) { if ($item->key == $key && $item->value == $value) { return true; break; } } } return false; } } //get product filter id by key if (!function_exists('get_product_filter_id_by_key')) { function get_product_filter_id_by_key($custom_filters, $key) { if (!empty($custom_filters)) { foreach ($custom_filters as $item) { if ($item->product_filter_key == $key) { return $item->id; break; } } } return false; } } //get continents if (!function_exists('get_continents')) { function get_continents() { return array('EU' => 'Europe', 'AS' => 'Asia', 'AF' => 'Africa', 'NA' => 'North America', 'SA' => 'South America', 'OC' => 'Oceania', 'AN' => 'Antarctica'); } } //get continent name by key if (!function_exists('get_continent_name_by_key')) { function get_continent_name_by_key($continent_key) { $continents = get_continents(); if (!empty($continents)) { foreach ($continents as $key => $value) { if ($key == $continent_key) { return $value; } } } return ""; } } //get shipping methods if (!function_exists('get_shipping_methods')) { function get_shipping_methods() { return array('flat_rate', 'local_pickup', 'free_shipping'); } } //get shipping locations by zone if (!function_exists('get_shipping_locations_by_zone')) { function get_shipping_locations_by_zone($zone_id) { $ci =& get_instance(); return $ci->shipping_model->get_shipping_locations_by_zone($zone_id); } } //get shipping payment methods by zone if (!function_exists('get_shipping_payment_methods_by_zone')) { function get_shipping_payment_methods_by_zone($zone_id) { $ci =& get_instance(); return $ci->shipping_model->get_shipping_payment_methods_by_zone($zone_id); } } //parse shipping name array if (!function_exists('parse_shipping_name_array')) { function parse_shipping_name_array($name_array, $lang_id) { $ci =& get_instance(); if (!empty($name_array)) { $name_array = unserialize_data($name_array); if (!empty($name_array)) { foreach ($name_array as $item) { if ($item['lang_id'] == $lang_id && !empty($item['method_name'])) { return html_escape($item['method_name']); } } } //if not exist if ($get_main_name == true) { if (!empty($name_array)) { foreach ($name_array as $item) { if ($item['lang_id'] == $ci->site_lang->id) { return html_escape($item['name']); } } } } } } } //get shipping class cost by method if (!function_exists('get_shipping_class_cost_by_method')) { function get_shipping_class_cost_by_method($cost_array, $class_id) { $ci =& get_instance(); if (!empty($cost_array) && !empty($class_id)) { $shipping_class = $ci->shipping_model->get_shipping_class($class_id); if (!empty($shipping_class) && $shipping_class->status == 1) { $cost_array = unserialize_data($cost_array); if (!empty($cost_array)) { foreach ($cost_array as $item) { if ($item['class_id'] == $class_id && !empty($item['cost'])) { return html_escape($item['cost']); } } } } } } } //get coupon products by category if (!function_exists('get_coupon_products_by_category')) { function get_coupon_products_by_category($user_id, $category_id) { $ci =& get_instance(); $ci->load->model('coupon_model'); return $ci->coupon_model->get_coupon_products_by_category($user_id, $category_id); } } ?>