diff --git a/application/controllers/Options.php b/application/controllers/Options.php index 3b275c5df..4a9ea734b 100644 --- a/application/controllers/Options.php +++ b/application/controllers/Options.php @@ -429,4 +429,20 @@ class Options extends CI_Controller { } + function version_dialog_show_to_all() { + $update_vd_confirmation_to_false = $this->user_options_model->set_option_at_all_users('version_dialog', 'confirmed', array('boolean' => 'false')); + if($update_vd_confirmation_to_false == TRUE) { + $this->session->set_flashdata('success_trigger', $this->lang->line('options_version_dialog_success_show_all')); + } + redirect('/options/version_dialog'); + } + + function version_dialog_show_to_none() { + $update_vd_confirmation_to_true = $this->user_options_model->set_option_at_all_users('version_dialog', 'confirmed', array('boolean' => 'true')); + if($update_vd_confirmation_to_true == TRUE) { + $this->session->set_flashdata('success_trigger', $this->lang->line('options_version_dialog_success_hide_all')); + } + redirect('/options/version_dialog'); + } + } diff --git a/application/models/User_options_model.php b/application/models/User_options_model.php index 71253ecd8..765f7a9d7 100644 --- a/application/models/User_options_model.php +++ b/application/models/User_options_model.php @@ -16,6 +16,23 @@ class User_options_model extends CI_Model { } } + public function set_option_at_all_users($option_type, $option_name, $option_array) { + $query = $this->db->select('user_id')->get('users'); + if ($query->num_rows() > 0) { + foreach ($query->result() as $row) { + $user_id = $row->user_id; + $sql = 'INSERT INTO user_options (user_id, option_type, option_name, option_key, option_value) VALUES (?, ?, ?, ?, ?) + ON DUPLICATE KEY UPDATE option_value = ?'; + foreach ($option_array as $option_key => $option_value) { + $this->db->query($sql, array($user_id, $option_type, $option_name, $option_key, $option_value, $option_value)); + return true; + } + } + } else { + log_message('error','set_option_at_all_users() failed because users table is empty'); + } + } + public function get_options($option_type, $option_array=null) { $uid=$this->session->userdata('user_id'); $sql_more = ""; diff --git a/application/views/options/version_dialog.php b/application/views/options/version_dialog.php index 20875a873..bf6c5a012 100644 --- a/application/views/options/version_dialog.php +++ b/application/views/options/version_dialog.php @@ -1,84 +1,116 @@