ok
Direktori : /proc/thread-self/root/proc/self/root/home2/selectio/www/application/models/ |
Current File : //proc/thread-self/root/proc/self/root/home2/selectio/www/application/models/Settings_model.php |
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Settings_model extends CI_Model { public function __construct() { parent::__construct(); } //update homepage manager settings public function update_homepage_manager_settings() { $data = array( 'featured_categories' => $this->input->post('featured_categories', true), 'index_promoted_products' => $this->input->post('index_promoted_products', true), 'index_latest_products' => $this->input->post('index_latest_products', true), 'index_blog_slider' => $this->input->post('index_blog_slider', true), 'index_promoted_products_count' => $this->input->post('index_promoted_products_count', true), 'index_latest_products_count' => $this->input->post('index_latest_products_count', true) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update settings public function update_settings() { $data = array( 'site_title' => $this->input->post('site_title', true), 'homepage_title' => $this->input->post('homepage_title', true), 'site_description' => $this->input->post('site_description', true), 'keywords' => $this->input->post('keywords', true), 'facebook_url' => $this->input->post('facebook_url', true), 'twitter_url' => $this->input->post('twitter_url', true), 'instagram_url' => $this->input->post('instagram_url', true), 'pinterest_url' => $this->input->post('pinterest_url', true), 'linkedin_url' => $this->input->post('linkedin_url', true), 'vk_url' => $this->input->post('vk_url', true), 'whatsapp_url' => $this->input->post('whatsapp_url', true), 'telegram_url' => $this->input->post('telegram_url', true), 'youtube_url' => $this->input->post('youtube_url', true), 'about_footer' => $this->input->post('about_footer', true), 'contact_text' => $this->input->post('contact_text', false), 'contact_address' => $this->input->post('contact_address', true), 'contact_email' => $this->input->post('contact_email', true), 'contact_phone' => $this->input->post('contact_phone', true), 'copyright' => $this->input->post('copyright', true), 'cookies_warning' => $this->input->post('cookies_warning', false), 'cookies_warning_text' => $this->input->post('cookies_warning_text', false) ); $lang_id = $this->input->post('lang_id', true); $this->db->where('lang_id', $lang_id); return $this->db->update('settings', $data); } //update general settings public function update_general_settings() { $data = array( 'application_name' => $this->input->post('application_name', true), 'custom_css_codes' => $this->input->post('custom_css_codes', false), 'custom_javascript_codes' => $this->input->post('custom_javascript_codes', false), 'facebook_comment_status' => $this->input->post('facebook_comment_status', false), 'facebook_comment' => $this->input->post('facebook_comment', false) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update recaptcha settings public function update_recaptcha_settings() { $data = array( 'recaptcha_site_key' => $this->input->post('recaptcha_site_key', true), 'recaptcha_secret_key' => $this->input->post('recaptcha_secret_key', true), 'recaptcha_lang' => $this->input->post('recaptcha_lang', true), ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update maintenance mode settings public function update_maintenance_mode_settings() { $data = array( 'maintenance_mode_title' => $this->input->post('maintenance_mode_title', true), 'maintenance_mode_description' => $this->input->post('maintenance_mode_description', true), 'maintenance_mode_status' => $this->input->post('maintenance_mode_status', true), ); if (empty($data["maintenance_mode_status"])) { $data["maintenance_mode_status"] = 0; } $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update email settings public function update_email_settings() { $data = array( 'mail_protocol' => $this->input->post('mail_protocol', true), 'mail_library' => $this->input->post('mail_library', true), 'mail_title' => $this->input->post('mail_title', true), 'mail_encryption' => $this->input->post('mail_encryption', true), 'mail_host' => $this->input->post('mail_host', true), 'mail_port' => $this->input->post('mail_port', true), 'mail_username' => $this->input->post('mail_username', true), 'mail_password' => $this->input->post('mail_password', true), 'mail_reply_to' => $this->input->post('mail_reply_to', true) ); //update $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update email verification public function update_email_verification() { $data = array( 'email_verification' => $this->input->post('email_verification', true), ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update email options public function update_email_options() { $data = array( 'send_email_new_product' => $this->input->post('send_email_new_product', true), 'send_email_buyer_purchase' => $this->input->post('send_email_buyer_purchase', true), 'send_email_order_shipped' => $this->input->post('send_email_order_shipped', true), 'send_email_contact_messages' => $this->input->post('send_email_contact_messages', true), 'send_email_shop_opening_request' => $this->input->post('send_email_shop_opening_request', true), 'send_email_bidding_system' => $this->input->post('send_email_bidding_system', true), 'mail_options_account' => $this->input->post('mail_options_account', true) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update facebook login public function update_facebook_login() { $data = array( 'facebook_app_id' => trim($this->input->post('facebook_app_id', true)), 'facebook_app_secret' => trim($this->input->post('facebook_app_secret', true)) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update google login public function update_google_login() { $data = array( 'google_client_id' => trim($this->input->post('google_client_id', true)), 'google_client_secret' => trim($this->input->post('google_client_secret', true)) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update vk login public function update_vk_login() { $data = array( 'vk_app_id' => trim($this->input->post('vk_app_id', true)), 'vk_secure_key' => trim($this->input->post('vk_secure_key', true)) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update seo tools public function update_seo_tools() { $data_general = array( 'google_analytics' => $this->input->post('google_analytics', false) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data_general); } //update payment gateway public function update_payment_gateway($name_key) { $gateway = $this->get_payment_gateway($name_key); if (!empty($gateway)) { $data = array( 'public_key' => trim($this->input->post('public_key', true)), 'secret_key' => trim($this->input->post('secret_key', true)), 'environment' => !empty($this->input->post('environment', true)) ? $this->input->post('environment', true) : 'production', 'locale' => !empty($this->input->post('locale', true)) ? $this->input->post('locale', true) : '', 'status' => !empty($this->input->post('status', true)) ? 1 : 0, ); if ($this->payment_settings->currency_converter == 1) { $data['base_currency'] = $this->input->post('base_currency', true); } return $this->db->where('name_key', clean_str($name_key))->update('payment_gateways', $data); } return false; } //get payment gateway public function get_payment_gateway($name_key) { return $this->db->where('name_key', clean_slug($name_key))->get('payment_gateways')->row(); } //get active payment gateways public function get_active_payment_gateways() { return $this->db->where('status', 1)->get('payment_gateways')->result(); } //update bank transfer settings public function update_bank_transfer_settings() { $data = array( 'bank_transfer_enabled' => $this->input->post('bank_transfer_enabled', true), 'bank_transfer_accounts' => $this->input->post('bank_transfer_accounts', false) ); $this->db->where('id', 1); return $this->db->update('payment_settings', $data); } //update cash on delivery settings public function update_cash_on_delivery_settings() { $data = array( 'cash_on_delivery_enabled' => $this->input->post('cash_on_delivery_enabled', true) ); $this->db->where('id', 1); return $this->db->update('payment_settings', $data); } //update pricing settings public function update_pricing_settings() { $data = array( 'price_per_day' => $this->input->post('price_per_day', true), 'price_per_month' => $this->input->post('price_per_month', true), 'free_product_promotion' => $this->input->post('free_product_promotion', true) ); $data['price_per_day'] = get_price($data["price_per_day"], 'database'); $data['price_per_month'] = get_price($data["price_per_month"], 'database'); $this->db->where('id', 1); return $this->db->update('payment_settings', $data); } //update preferences public function update_preferences($form) { if ($form == 'homepage') { $data = array( 'index_promoted_products' => $this->input->post('index_promoted_products', true), ); } elseif ($form == 'general') { $data = array( 'multilingual_system' => $this->input->post('multilingual_system', true), 'rss_system' => $this->input->post('rss_system', true), 'vendor_verification_system' => $this->input->post('vendor_verification_system', true), 'hide_vendor_contact_information' => $this->input->post('hide_vendor_contact_information', true), 'guest_checkout' => $this->input->post('guest_checkout', true), 'location_search_header' => $this->input->post('location_search_header', true), 'pwa_status' => $this->input->post('pwa_status', true) ); } elseif ($form == 'products') { $data = array( 'approve_before_publishing' => $this->input->post('approve_before_publishing', true), 'promoted_products' => $this->input->post('promoted_products', true), 'vendor_bulk_product_upload' => $this->input->post('vendor_bulk_product_upload', true), 'show_sold_products' => $this->input->post('show_sold_products', true), 'product_link_structure' => $this->input->post('product_link_structure', true) ); } elseif ($form == 'reviews_comments') { $data = array( 'reviews' => $this->input->post('reviews', true), 'product_comments' => $this->input->post('product_comments', true), 'blog_comments' => $this->input->post('blog_comments', true), 'comment_approval_system' => $this->input->post('comment_approval_system', true) ); } elseif ($form == 'documents_vendors') { $data = array( 'request_documents_vendors' => $this->input->post('request_documents_vendors', true), 'explanation_documents_vendors' => $this->input->post('explanation_documents_vendors', true) ); } $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update visual settings public function update_visual_settings() { $data = array( 'site_color' => $this->input->post('site_color', true) ); $this->load->model('upload_model'); $file_path = $this->upload_model->logo_upload('logo'); if (!empty($file_path)) { $data["logo"] = $file_path; } $file_path = $this->upload_model->logo_upload('logo_email'); if (!empty($file_path)) { $data["logo_email"] = $file_path; } $file_path = $this->upload_model->favicon_upload('favicon'); if (!empty($file_path)) { $data["favicon"] = $file_path; } $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update watermark settings public function update_watermark_settings() { $data = array( 'watermark_product_images' => $this->input->post('watermark_product_images', true), 'watermark_blog_images' => $this->input->post('watermark_blog_images', true), 'watermark_thumbnail_images' => $this->input->post('watermark_thumbnail_images', true), 'watermark_vrt_alignment' => $this->input->post('watermark_vrt_alignment', true), 'watermark_hor_alignment' => $this->input->post('watermark_hor_alignment', true) ); //update watermark image $this->load->model('upload_model'); $file_path = $this->upload_model->watermark_upload('watermark_image'); if (!empty($file_path)) { //delete old watermarks delete_file_from_server($this->general_settings->watermark_image_large); delete_file_from_server($this->general_settings->watermark_image_mid); delete_file_from_server($this->general_settings->watermark_image_small); //upload new files $data['watermark_image_large'] = $file_path; $data['watermark_image_mid'] = $this->upload_model->resize_watermark($file_path, 300, 300); $data['watermark_image_small'] = $this->upload_model->resize_watermark($file_path, 100, 100); } $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update product cache system public function update_product_cache_system() { $data = array( 'product_cache_system' => $this->input->post('product_cache_system', true), 'refresh_cache_database_changes' => $this->input->post('refresh_cache_database_changes', true), 'cache_refresh_time' => $this->input->post('cache_refresh_time', true) * 60 ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update static content cache system public function update_static_content_cache_system() { $data = array( 'static_content_cache_system' => $this->input->post('static_content_cache_system', true) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //update storage settings public function update_storage_settings() { $data = array( 'storage' => $this->input->post('storage', true) ); $this->db->where('id', 1); return $this->db->update('storage_settings', $data); } //update system settings public function update_system_settings() { $data = array( 'physical_products_system' => $this->input->post('physical_products_system', true), 'digital_products_system' => $this->input->post('digital_products_system', true), 'marketplace_system' => $this->input->post('marketplace_system', true), 'classified_ads_system' => $this->input->post('classified_ads_system', true), 'bidding_system' => $this->input->post('bidding_system', true), 'selling_license_keys_system' => $this->input->post('selling_license_keys_system', true), 'multi_vendor_system' => $this->input->post('multi_vendor_system', true), 'vat_status' => $this->input->post('vat_status', true), 'commission_rate' => $this->input->post('commission_rate', true), 'timezone' => trim($this->input->post('timezone', true)) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //get routes public function get_routes() { $query = $this->db->get('routes'); return $query->result(); } //update route settings public function update_route_settings() { $routes = $this->get_routes(); if (!empty($routes)) { foreach ($routes as $route) { $data = array( 'route' => trim($this->input->post('route_' . $route->id, true)) ); $this->db->where('id', $route->id); $this->db->update('routes', $data); } } return true; } //update aws s3 public function update_aws_s3() { $data = array( 'aws_key' => trim($this->input->post('aws_key', true)), 'aws_secret' => trim($this->input->post('aws_secret', true)), 'aws_bucket' => trim($this->input->post('aws_bucket', true)), 'aws_region' => trim($this->input->post('aws_region', true)), 'aws_base_url' => trim($this->input->post('aws_base_url', true)) ); if (substr($data['aws_base_url'], -1) != '/') { $data['aws_base_url'] = $data['aws_base_url'] . '/'; } $this->db->where('id', 1); return $this->db->update('storage_settings', $data); } //update navigation public function update_navigation() { $data = array( 'menu_limit' => $this->input->post('menu_limit', true), 'selected_navigation' => $this->input->post('navigation', true) ); $this->db->where('id', 1); return $this->db->update('general_settings', $data); } //get general settings public function get_general_settings() { $this->db->where('id', 1); $query = $this->db->get('general_settings'); return $query->row(); } //get system settings public function get_system_settings() { $this->db->where('id', 1); $query = $this->db->get('general_settings'); return $query->row(); } //get payment settings public function get_payment_settings() { $this->db->where('id', 1); $query = $this->db->get('payment_settings'); return $query->row(); } //get storage settings public function get_storage_settings() { $this->db->where('id', 1); $query = $this->db->get('storage_settings'); return $query->row(); } //get settings public function get_settings($lang_id) { return $this->db->where('lang_id', clean_number($lang_id))->get('settings')->row(); } /* *------------------------------------------------------------------------------------------------- * FONT SETTINGS *------------------------------------------------------------------------------------------------- */ //get selected fonts public function get_selected_fonts() { $sql = "SELECT * FROM ((SELECT font_url AS site_font_url, font_family AS site_font_family FROM fonts WHERE id = ?) AS tbl_site, (SELECT font_url AS dashboard_font_url, font_family AS dashboard_font_family FROM fonts WHERE id = ?) AS tbl_dashboard)"; $query = $this->db->query($sql, array(clean_number($this->settings->site_font), clean_number($this->settings->dashboard_font))); return $query->row(); } //get fonts public function get_fonts() { $query = $this->db->query("SELECT * FROM fonts ORDER BY font_name"); return $query->result(); } //get font public function get_font($id) { $sql = "SELECT * FROM fonts WHERE id = ?"; $query = $this->db->query($sql, array(clean_number($id))); return $query->row(); } //add font public function add_font() { $data = array( 'font_name' => $this->input->post('font_name', true), 'font_url' => $this->input->post('font_url', false), 'font_family' => $this->input->post('font_family', true), 'is_default' => 0 ); return $this->db->insert('fonts', $data); } //set site font public function set_site_font() { $lang_id = $this->input->post('lang_id', true); $data = array( 'site_font' => $this->input->post('site_font', true), 'dashboard_font' => $this->input->post('dashboard_font', true) ); $this->db->where('lang_id', clean_number($lang_id)); return $this->db->update('settings', $data); } //update font public function update_font($id) { $data = array( 'font_name' => $this->input->post('font_name', true), 'font_url' => $this->input->post('font_url', false), 'font_family' => $this->input->post('font_family', true) ); $this->db->where('id', clean_number($id)); return $this->db->update('fonts', $data); } //delete font public function delete_font($id) { $font = $this->get_font($id); if (!empty($font)) { $this->db->where('id', $font->id); return $this->db->delete('fonts'); } return false; } /* *------------------------------------------------------------------------------------------------- * FORM SETTINGS *------------------------------------------------------------------------------------------------- */ //update product settings public function update_product_settings() { $submit = $this->input->post("submit", true); if ($submit == "marketplace") { $data = array( 'marketplace_sku' => get_checkbox_value($this->input->post('marketplace_sku', true)), 'marketplace_variations' => get_checkbox_value($this->input->post('marketplace_variations', true)), 'marketplace_shipping' => get_checkbox_value($this->input->post('marketplace_shipping', true)), 'marketplace_product_location' => get_checkbox_value($this->input->post('marketplace_product_location', true)) ); } elseif ($submit == "classified_ads") { $data = array( 'classified_price' => get_checkbox_value($this->input->post('classified_price', true)), 'classified_price_required' => get_checkbox_value($this->input->post('classified_price_required', true)), 'classified_product_location' => get_checkbox_value($this->input->post('classified_product_location', true)), 'classified_external_link' => get_checkbox_value($this->input->post('classified_external_link', true)) ); } elseif ($submit == "physical_products") { $data = array( 'physical_demo_url' => get_checkbox_value($this->input->post('physical_demo_url', true)), 'physical_video_preview' => get_checkbox_value($this->input->post('physical_video_preview', true)), 'physical_audio_preview' => get_checkbox_value($this->input->post('physical_audio_preview', true)) ); } elseif ($submit == "digital_products") { $data = array( 'digital_demo_url' => get_checkbox_value($this->input->post('digital_demo_url', true)), 'digital_video_preview' => get_checkbox_value($this->input->post('digital_video_preview', true)), 'digital_audio_preview' => get_checkbox_value($this->input->post('digital_audio_preview', true)), 'digital_allowed_file_extensions' => "" ); $ext_array = @explode(',', $this->input->post('digital_allowed_file_extensions', true)); if (!empty($ext_array)) { $exts = json_encode($ext_array); $exts = str_replace('[', '', $exts); $exts = str_replace(']', '', $exts); $exts = str_replace('.', '', $exts); $exts = strtolower($exts); $data['digital_allowed_file_extensions'] = $exts; } } elseif ($submit == "file_upload") { $data = array( 'product_image_limit' => $this->input->post('product_image_limit', true), 'max_file_size_image' => $this->input->post('max_file_size_image', true) * 1048576, 'max_file_size_video' => $this->input->post('max_file_size_video', true) * 1048576, 'max_file_size_audio' => $this->input->post('max_file_size_audio', true) * 1048576, ); return $this->db->where('id', 1)->update('general_settings', $data); } if (!empty($data)) { return $this->db->where('id', 1)->update('product_settings', $data); } return false; } //get product settings public function get_product_settings() { $this->db->where('id', 1); $query = $this->db->get('product_settings'); return $query->row(); } //delete old sessions function delete_old_sessions() { $this->db->query("DELETE FROM ci_sessions WHERE timestamp < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 DAY))"); } //add validation translations public function add_validation_translations() { $languages = $this->language_model->get_languages(); if (!empty($languages)) { foreach ($languages as $language) { if (empty($this->db->where('lang_id', $language->id)->where('label', 'form_validation_required')->get('language_translations')->row())) { $data = array('lang_id' => $language->id, 'label' => "form_validation_required", 'translation' => "The {field} field is required."); $this->db->insert('language_translations', $data); } if (empty($this->db->where('lang_id', $language->id)->where('label', 'form_validation_min_length')->get('language_translations')->row())) { $data = array('lang_id' => $language->id, 'label' => "form_validation_min_length", 'translation' => "The {field} field must be at least {param} characters in length."); $this->db->insert('language_translations', $data); } if (empty($this->db->where('lang_id', $language->id)->where('label', 'form_validation_max_length')->get('language_translations')->row())) { $data = array('lang_id' => $language->id, 'label' => "form_validation_max_length", 'translation' => "The {field} field cannot exceed {param} characters in length."); $this->db->insert('language_translations', $data); } if (empty($this->db->where('lang_id', $language->id)->where('label', 'form_validation_matches')->get('language_translations')->row())) { $data = array('lang_id' => $language->id, 'label' => "form_validation_matches", 'translation' => "The {field} field does not match the {param} field."); $this->db->insert('language_translations', $data); } if (empty($this->db->where('lang_id', $language->id)->where('label', 'form_validation_is_unique')->get('language_translations')->row())) { $data = array('lang_id' => $language->id, 'label' => "form_validation_is_unique", 'translation' => "The {field} field must contain a unique value."); $this->db->insert('language_translations', $data); } } } } }