Exemplo n.º 1
0
 function index()
 {
     // Init
     $data = array();
     $data['breadcrumb'] = set_crumbs(array(current_url() => 'General Settings'));
     $this->load->model('settings/settings_model');
     $this->load->model('users/groups_model');
     $this->load->model('content/entries_model');
     // Get Themes
     $data['themes'] = $this->template->get_themes();
     $data['layouts'] = $this->template->get_theme_layouts();
     // Get Groups
     $Groups = new Groups_model();
     $data['Groups'] = $Groups->where('type !=', 'super_admin')->order_by('name')->get();
     // Get All Entries
     $Entries = new Entries_model();
     $data['Entries'] = $Entries->order_by('title')->get();
     // Build object with current settings
     $Settings_table = $this->settings_model->get();
     $data['Settings'] = new stdClass();
     foreach ($Settings_table as $Setting) {
         $data['Settings']->{$Setting->slug} = new stdClass();
         $data['Settings']->{$Setting->slug}->value = $Setting->value;
         $data['Settings']->{$Setting->slug}->module = $Setting->module;
     }
     // Form Validation Rules
     $this->form_validation->set_rules('site_name', 'Site Name', 'trim|required');
     $this->form_validation->set_rules('notification_email', 'Notification Email', 'trim|required|valid_email');
     $this->form_validation->set_rules('content[site_homepage]', 'Site Homepage', 'trim|required');
     $this->form_validation->set_rules('content[custom_404]', 'Custom 404', 'trim|required');
     $this->form_validation->set_rules('enable_admin_toolbar', 'Admin Toolbar', 'trim|required');
     $this->form_validation->set_rules('suspend', 'Suspend Site', 'trim|required');
     $this->form_validation->set_rules('users[default_group]', 'Default User Group', 'trim|required');
     $this->form_validation->set_rules('users[enable_registration]', 'User Registration', 'trim|required');
     $this->form_validation->set_rules('users[email_activation]', 'Require Email Activation', 'trim|required');
     // Form Processing
     if ($this->form_validation->run() == TRUE) {
         foreach ($_POST as $slug => $value) {
             if (is_array($value)) {
                 // Value is an array so save it as a module setting
                 foreach ($value as $module_slug => $module_value) {
                     $Settings_m = new Settings_model();
                     $Settings_m->where('slug', $module_slug)->where('module', $slug)->update('value', $module_value);
                 }
             } else {
                 $Settings_m = new Settings_model();
                 $Settings_m->where('slug', $slug)->where('module IS NULL')->update('value', $value);
             }
             unset($Settings_m);
         }
         $this->load->library('cache');
         $this->cache->delete_all('settings');
         $this->session->set_flashdata('message', '<p class="success">Settings Saved.</p>');
         redirect(uri_string());
     }
     $this->template->view('admin/general_settings', $data);
 }
Exemplo n.º 2
0
 function display_field()
 {
     $data = get_object_vars($this);
     // Get all entries for link dropdown
     $this->load->model('content/entries_model');
     $Pages = new Entries_model();
     $Pages->where('status', 'published')->where('slug !=', 'NULL')->or_where('id =', $this->settings->content_module->site_homepage)->order_by('title')->get();
     $page_array = array('' => '');
     foreach ($Pages as $Page) {
         $page_array['/' . $Page->slug] = $Page->title;
     }
     $data['Pages'] = $page_array;
     return $this->load->view('page_url', $data, TRUE);
 }
Exemplo n.º 3
0
 function pre_save_output()
 {
     if (!is_ajax()) {
         return show_404();
     }
     // Init
     $this->load->model('entries_model');
     $this->load->model('content_fields_model');
     $response = array();
     $editable_id = $this->input->post('editable_id');
     $content = $this->input->post('content');
     // Preg match the entry id and the field id from the html element's id attribute
     if (preg_match("/cc_field_(\\d+)_(\\d+)/", $editable_id, $matches)) {
         $entry_id = $matches[1];
         $field_id = $matches[2];
     } else {
         $response['status'] = 'error';
         $response['message'] = 'Unable to parse the entry id and field id.';
         echo json_encode($response);
     }
     $Entry = new Entries_model();
     $Entry->get_by_id($entry_id);
     if (!$Entry->exists()) {
         $response['status'] = 'error';
         $response['message'] = 'The entry id provided does not exist.';
         echo json_encode($response);
     }
     $Field = new Content_fields_model();
     $Field->order_by('sort', 'ASC')->include_related('content_field_types', array('model_name'))->get_by_id($field_id);
     if (!$Field->exists()) {
         $response['status'] = 'error';
         $response['message'] = 'The field id provided does not exist.';
         echo json_encode($response);
     }
     $Content_object = new stdClass();
     $Content_object->{'field_id_' . $Field->id} = $content;
     $Field_type = Field_type::factory($Field->content_field_types_model_name, $Field, $Entry, $Content_object);
     $output = $Field_type->output();
     $response['status'] = 'success';
     $response['content'] = $output;
     echo json_encode($response);
 }
Exemplo n.º 4
0
 function index()
 {
     // Init
     $data = array();
     $data['breadcrumb'] = set_crumbs(array(current_url() => 'General Settings'));
     $this->load->model('settings/settings_model');
     $this->load->model('users/groups_model');
     $this->load->model('content/entries_model');
     // Get Themes
     $data['themes'] = $this->template->get_themes();
     $data['layouts'] = $this->template->get_theme_layouts();
     // Get Groups
     $Groups = new Groups_model();
     $data['Groups'] = $Groups->where('type !=', 'super_admin')->order_by('name')->get();
     // Get All Entries
     $Entries = new Entries_model();
     $data['Entries'] = $Entries->order_by('title')->get();
     // Build object with current settings
     $Settings_table = $this->settings_model->get();
     $data['Settings'] = new stdClass();
     foreach ($Settings_table as $Setting) {
         $data['Settings']->{$Setting->slug} = new stdClass();
         $data['Settings']->{$Setting->slug}->value = $Setting->value;
         $data['Settings']->{$Setting->slug}->module = $Setting->module;
     }
     // Form Validation Rules
     $this->form_validation->set_rules('site_name', 'Site Name', 'trim|required');
     $this->form_validation->set_rules('notification_email', 'Notification Email', 'trim|required|valid_email');
     $this->form_validation->set_rules('content[site_homepage]', 'Site Homepage', 'trim|required');
     $this->form_validation->set_rules('content[custom_404]', 'Custom 404', 'trim|required');
     // $this->form_validation->set_rules('enable_admin_toolbar', 'Admin Toolbar', 'trim|required');
     $this->form_validation->set_rules('suspend', 'Suspend Site', 'trim|required');
     $this->form_validation->set_rules('pagination_count', 'Pagination Count', 'trim|required|integer');
     $this->form_validation->set_rules('points_earned_trivia_question', 'Point Earned In Correct Answer', 'trim|required|decimal');
     $this->form_validation->set_rules('amount_earned_trivia_correct_answer', 'Amount Earned In One Point', 'trim|required|decimal');
     // $this->form_validation->set_rules('users[default_group]', 'Default User Group', 'trim|required');
     //$this->form_validation->set_rules('users[enable_registration]', 'User Registration', 'trim|required');
     // $this->form_validation->set_rules('users[email_activation]', 'Require Email Activation', 'trim|required');
     $this->form_validation->set_rules('bronze_points_per_referrals', 'Bronze(Points Per Referrals)', 'trim|required|decimal');
     $this->form_validation->set_rules('silver_points_per_referrals', 'Silver(Points Per Referrals)', 'trim|required|decimal');
     $this->form_validation->set_rules('gold_points_per_referrals', 'Gold(Points Per Referrals)', 'trim|required|decimal');
     $this->form_validation->set_rules('bronze_club_quote_point', 'Points Per Quote', 'trim|decimal');
     $this->form_validation->set_rules('silver_club_quote_point', 'Points Per Quote', 'trim|decimal');
     $this->form_validation->set_rules('gold_club_quote_point', 'Points Per Quote', 'trim|decimal');
     $this->form_validation->set_rules('bronze_no_referrals_trailing_months', 'Bronze Referrals In Trailing Months', 'trim|decimal');
     $this->form_validation->set_rules('bronze_club_binder_point', 'Points Per Binder', 'trim|decimal');
     $this->form_validation->set_rules('silver_club_binder_point', 'Points Per Binder', 'trim|decimal');
     $this->form_validation->set_rules('gold_club_binder_point', 'Points Per Binder', 'trim|decimal');
     $this->form_validation->set_rules('trialing_months', 'Trialing Months', 'trim|required|integer');
     $this->form_validation->set_rules('registration_point', 'Points On Registration', 'trim|required|integer');
     $this->form_validation->set_rules('allow_point_auto_registration', 'Allow Points On Auto Registration', 'trim|required');
     $this->form_validation->set_rules('send_user_on_icontact', 'Send user on Icontact', 'trim|required');
     $this->form_validation->set_rules('resubmit_survey_counter', 'Resubmit Survey Link After (How Many Requests)', 'trim|required|integer');
     $this->form_validation->set_rules('survey_link', 'Survey Link', 'trim|required');
     $this->form_validation->set_rules('min_amount_redeem', 'Minimum Amount For Redeem Points', 'trim|required|integer');
     $this->form_validation->set_rules('flash_message', 'Flash Message', 'trim|required');
     // Form Processing
     if ($this->form_validation->run() == TRUE) {
         foreach ($_POST as $slug => $value) {
             //                print_r($_POST);exit;
             if (is_array($value)) {
                 // Value is an array so save it as a module setting
                 foreach ($value as $module_slug => $module_value) {
                     $Settings_m = new Settings_model();
                     $Settings_m->where('slug', $module_slug)->where('module', $slug)->update('value', $module_value);
                 }
             } else {
                 $Settings_m = new Settings_model();
                 $Settings_m->where('slug', $slug)->where('module IS NULL')->update('value', $value);
             }
             unset($Settings_m);
         }
         $this->load->library('cache');
         $this->cache->delete_all('settings');
         $this->session->set_flashdata('message', '<p class="success">Settings Saved.</p>');
         redirect(uri_string());
     }
     $this->template->view('admin/general_settings', $data);
 }