<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Settings extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->database();
$this->load->helper('url');
$this->load->library('grocery_CRUD');
}
public function _output($output = null){
$data['inner_template'] = "admin/grocery/grocery";
$data['groc_output'] = $output;
$this->load->view('admin/layout/layout_main.php',$data);
}
public function index(){
$crud = new grocery_CRUD();
if( ($this->uri->segment(4) != "edit" || $this->uri->segment(5) != "1") && $this->uri->segment(4) != "update_validation" && $this->uri->segment(4) != "update" && $this->uri->segment(4) != "upload_file"){
redirect("admin/settings/index/edit/1");
exit;
}
$crud->set_table('settings');
$crud->set_subject('General Settings');
$crud->columns('admin_email_address','support_email_address','order_email_address','support_help_number','site_title','logo','favicon','meta_title','default_meta_keywords','default_meta_description');
$crud->required_fields('admin_email_address','site_title');
$crud->fields('admin_email_address','support_email_address','order_email_address','support_help_number','site_title','logo','favicon','meta_title','default_meta_keywords','default_meta_description');
$crud->unset_texteditor('default_meta_keywords','default_meta_description','meta_title');
if(!is_dir('assets/uploads/files/logo')){
mkdir('assets/uploads/files/logo');
}
if(!is_dir('assets/uploads/files/favicon')){
mkdir('assets/uploads/files/favicon');
}
$crud->set_field_upload('logo','assets/uploads/files/logo');
$crud->set_field_upload('favicon','assets/uploads/files/favicon');
$crud->callback_after_insert(array($this, 'render_settings_file'));
$crud->callback_after_update(array($this, 'render_settings_file'));
$output = $crud->render();
$this->_output($output);
}
public function render_settings_file($post_array,$primary_key){
$secureJson = array();
foreach($post_array as $key => $val){
$secureJson[$key] = urlencode($this->common_lib->encode($val));
}
$security_check = "<?php if(\$_REQUEST['sig'] != '!@!1@e$%^&***%rweEW%q**43fwfeD!@DRE%$@d*f2@*R'){exit();}?>";
$security_check = "";
$secureJson = array($secureJson);
file_put_contents($this->common_lib->get_setting_cache_file(),$security_check.json_encode($secureJson));
}
public function contact_detail(){
$crud = new grocery_CRUD();
if( ($this->uri->segment(4) != "edit" || $this->uri->segment(5) != "1") && $this->uri->segment(4) != "update_validation" && $this->uri->segment(4) != "update" && $this->uri->segment(4) != "upload_file"){
redirect("admin/contact_detail/index/edit/1");
exit;
}
$crud->set_table('contact_detail');
$crud->set_subject('Contact Detail');
$crud->columns('full_name','address_line_1','address_line_2','country','state','city','postalcode','mobile');
$crud->fields('full_name','address_line_1','address_line_2','country','state','city','postalcode','mobile');
$crud->set_relation('country','countries','country');
$output = $crud->render();
$this->_output($output);
}
public function homepagesettings(){
$crud = new grocery_CRUD();
if( ($this->uri->segment(4) != "edit" || $this->uri->segment(5) != "1") && $this->uri->segment(4) != "update_validation" && $this->uri->segment(4) != "update" && $this->uri->segment(4) != "upload_file"){
redirect("admin/settings/homepagesettings/edit/1");
exit;
}
$crud->set_table('homepage_settings');
$crud->set_subject('Home Page Settings');
$crud->display_as("banner_1",'Left Banner<br><span class="text-info">Visible on left side of slider only if <b>show_full_slider</b> option is Inactive</span>');
$crud->display_as("banner_1_link",'Left Banner Link');
$crud->display_as("banner_2",'Right Banner<br><span class="text-info">Visible on right side of slider only if <b>show_full_slider</b> option is Inactive</span>');
$crud->display_as("banner_2_link",'Left Banner Link');
$crud->columns('show_slider','show_full_slider','banner_1','banner_1_link','banner_2','banner_2_link','banner_3','banner_3_link','homepage_collections','homepage_categories','show_featured_products','show_bestseller_products','show_new_products','show_popular_products');
$crud->fields('show_slider','show_full_slider','banner_1','banner_1_link','banner_2','banner_2_link','banner_3','banner_3_link','homepage_collections','homepage_categories','show_featured_products','show_bestseller_products','show_new_products','show_popular_products');
$this->load->model("commonm");
$collection_data = $this->commonm->get_all("collections",array(),array(),"collection_name");
$collection_array = array();
foreach($collection_data as $collection){
$collection_array[$collection->collection_id] = $collection->collection_name;
}
$crud->field_type('homepage_collections','multiselect',$collection_array);
$category_data = $this->commonm->get_all("categories",array(),array(),"category_name");
$category_array = array();
foreach($category_data as $category){
$category_array[$category->category_id] = $category->category_name;
}
$crud->field_type('homepage_categories','multiselect',$category_array);
$crud->unset_texteditor('homepage_collections');
$crud->unset_texteditor('homepage_categories');
if(!is_dir('assets/uploads/files/banners')){
mkdir('assets/uploads/files/banners');
}
$crud->set_field_upload('banner_1','assets/uploads/files/banners');
$crud->set_field_upload('banner_2','assets/uploads/files/banners');
$crud->set_field_upload('banner_3','assets/uploads/files/banners');
$output = $crud->render();
$this->_output($output);
}
public function homepagebanners(){
$crud = new grocery_CRUD();
$crud->set_table('homepage_banners');
$crud->set_subject('Home Page Banners');
$crud->set_subject('Home Page Banners');
$crud->columns('banner_image','banner_link','link_location','position','banner_code','visible');
$crud->fields('banner_image','banner_link','link_location','position','banner_code','visible');
$crud->unset_texteditor('banner_code');
$crud->create_block_after(array("banner_code" => "OR"));
if(!is_dir('assets/uploads/files/banners')){
mkdir('assets/uploads/files/banners');
}
$crud->set_field_upload('banner_image','assets/uploads/files/banners');
$output = $crud->render();
$this->_output($output);
}
public function navigation(){
$this->load->model("commonm");
$this->load->model("categorym");
$this->load->model("contentm");
$main_navigation = $this->commonm->get_all("main_navigation");
$collections_list = $this->categorym->get_all_collections();
$categories_list = $this->categorym->get_all_categories();
$contents_list = $this->contentm->get_all_contents();
$manufacturers_list = $this->commonm->get_all("manufacturers",array(),array(),"manufacturer_name");;
$data['collections_list'] = $collections_list;
$data['categories_list'] = $categories_list;
$data['contents_list'] = $contents_list;
$data['manufacturers_list'] = $manufacturers_list;
$data['main_navigation'] = $main_navigation;
$data['action_url'] = site_url("admin/settings/navigation");
$data['inner_template'] = "admin/settings/main_navigation";
$this->load->view('admin/layout/layout_main.php',$data);
}
public function newsletter_settings(){
$crud = new grocery_CRUD();
if( ($this->uri->segment(4) != "edit" || $this->uri->segment(5) != "1") && $this->uri->segment(4) != "update_validation" && $this->uri->segment(4) != "update"){
redirect("admin/settings/newsletter_settings/edit/1");
exit;
}
$crud->set_table('newsletter_settings');
$crud->set_subject('Newsletter Settings');
$crud->columns('is_active','newsletter_main_text','newsletter_footer_text','newsletter_coupon');
$crud->fields('is_active','newsletter_main_text','newsletter_footer_text','newsletter_coupon');
$crud->display_as('is_active','Activate Newsletter Popup');
$crud->set_relation('newsletter_coupon','coupons','coupon_code');
$crud->callback_after_insert(array($this, 'render_newsletter_setting_file'));
$crud->callback_after_update(array($this, 'render_newsletter_setting_file'));
$output = $crud->render();
$this->_output($output);
}
public function render_newsletter_setting_file($post_array,$primary_key){
$secureJson = array();
foreach($post_array as $key => $val){
$secureJson[$key] = urlencode($this->common_lib->encode($val));
}
$security_check = "<?php if(\$_REQUEST['sig'] != '!@!1@e$%^&***%rweEW%q**43fwfeD!@DRE%$@d*f2@*R'){exit();}?>";
$security_check = "";
$secureJson = array($secureJson);
file_put_contents($this->common_lib->get_setting_cache_file("newsletter"),$security_check.json_encode($secureJson));
}
public function product_settings(){
$crud = new grocery_CRUD();
if( ($this->uri->segment(4) != "edit" || $this->uri->segment(5) != "1") && $this->uri->segment(4) != "update_validation" && $this->uri->segment(4) != "update"){
redirect("admin/settings/product_settings/edit/1");
exit;
}
$crud->set_table('product_settings');
$crud->set_subject('Product Settings');
$crud->display_as("check_live_inventory","Check Stock on Add to Cart");
$crud->display_as("track_inventory","Track Stock Management");
$crud->display_as("show_deals","Show Deals");
$crud->columns('show_product_price_after_login','show_products_after_login','show_social_widget','show_size_option','show_color_option','show_required_date','show_promising_date','check_live_inventory','track_inventory','show_deals','enable_user_reviews','show_related_product','weight_unit');
$crud->fields('show_product_price_after_login','show_products_after_login','show_social_widget','show_size_option','show_color_option','show_required_date','show_promising_date','check_live_inventory','track_inventory','show_deals','enable_user_reviews','show_related_product','weight_unit');
$crud->callback_after_insert(array($this, 'render_products_setting_file'));
$crud->callback_after_update(array($this, 'render_products_setting_file'));
$output = $crud->render();
$this->_output($output);
}
public function render_products_setting_file($post_array,$primary_key){
$secureJson = array();
foreach($post_array as $key => $val){
$secureJson[$key] = urlencode($this->common_lib->encode($val));
}
$security_check = "<?php if(\$_REQUEST['sig'] != '!@!1@e$%^&***%rweEW%q**43fwfeD!@DRE%$@d*f2@*R'){exit();}?>";
$security_check = "";
$secureJson = array($secureJson);
file_put_contents($this->common_lib->get_setting_cache_file("product"),$security_check.json_encode($secureJson));
}
public function email_templates(){
$crud = new grocery_CRUD();
$crud->set_table('email_templates');
$crud->set_subject('Email Templates');
//$crud->help_text("");
$crud->columns('template_name','template_subject','template_body');
$crud->required_fields('template_name','template_subject','template_body');
$crud->fields('template_name','template_subject','template_body');
$output = $crud->render();
$this->_output($output);
}
public function shipping_prices(){
$crud = new grocery_CRUD();
$crud->set_table('shipping_range_prices');
$crud->set_subject('Shipping Prices');
$crud->columns('from_price','to_price','shipping_price');
$crud->required_fields('from_price','to_price','shipping_price');
$crud->fields('from_price','to_price','shipping_price');
$crud->set_rules('from_price','From Price','numeric');
$crud->set_rules('to_price','To Price','numeric');
$crud->set_rules('shipping_price','Shipping Price','numeric');
$output = $crud->render();
$this->_output($output);
}
public function admingroups(){
$crud = new grocery_CRUD();
$crud->set_table('user_groups');
$crud->set_subject('User Groups');
$crud->columns('group_name','permission_add','permission_edit','permission_delete','permission_all');
$crud->required_fields('group_name','permission_add','permission_edit','permission_delete','permission_all');
$crud->fields('group_name','permission_add','permission_edit','permission_delete','permission_all');
$output = $crud->render();
$this->_output($output);
}
public function adminusers(){
$crud = new grocery_CRUD();
$crud->set_table('admin_login');
$crud->set_subject('Admin Users');
$crud->columns('username','password','full_name','email','user_type_id','validate_ip_on_login','ip_1','ip_2','ip_3');
$crud->required_fields('username','password','user_type_id','validate_ip_on_login');
$crud->fields('username','password','full_name','email','user_type_id','validate_ip_on_login','ip_1','ip_2','ip_3');
$crud->set_relation('user_type_id','user_groups','group_name');
$output = $crud->render();
$this->_output($output);
}
}
@KyuuKazami