diff --git a/application/config/migration.php b/application/config/migration.php index 8ccc1dacf..60928918a 100644 --- a/application/config/migration.php +++ b/application/config/migration.php @@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | */ -$config['migration_version'] = 203; +$config['migration_version'] = 204; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/User.php b/application/controllers/User.php index f275a2aab..e4016539f 100644 --- a/application/controllers/User.php +++ b/application/controllers/User.php @@ -32,7 +32,7 @@ class User extends CI_Controller { $this->load->model('user_model'); if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } - $data['existing_languages'] = $this->find(); + $data['existing_languages'] = $this->config->item('languages'); $this->load->model('bands'); $this->load->library('form_validation'); @@ -57,7 +57,7 @@ class User extends CI_Controller { // Get timezones $data['timezones'] = $this->user_model->timezones(); - $data['language'] = 'english'; + $data['user_language'] = 'english'; if ($this->form_validation->run() == FALSE) { $data['page_title'] = "Add User"; @@ -103,7 +103,7 @@ class User extends CI_Controller { $data['user_pota_to_qso_tab'] = $this->input->post('user_pota_to_qso_tab'); $data['user_sig_to_qso_tab'] = $this->input->post('user_sig_to_qso_tab'); $data['user_dok_to_qso_tab'] = $this->input->post('user_dok_to_qso_tab'); - $data['language'] = $this->input->post('language'); + $data['user_language'] = $this->input->post('user_language'); $this->load->view('user/edit', $data); } else { $this->load->view('user/edit', $data); @@ -141,7 +141,7 @@ class User extends CI_Controller { $this->input->post('user_qso_end_times'), $this->input->post('user_quicklog'), $this->input->post('user_quicklog_enter'), - $this->input->post('language'), + $this->input->post('user_language'), $this->input->post('user_hamsat_key'), $this->input->post('user_hamsat_workable_only'), $this->input->post('user_iota_to_qso_tab'), @@ -206,34 +206,18 @@ class User extends CI_Controller { $data['user_qso_end_times'] = $this->input->post('user_qso_end_times'); $data['user_quicklog'] = $this->input->post('user_quicklog'); $data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter'); - $data['language'] = $this->input->post('language'); + $data['user_language'] = $this->input->post('user_language'); $this->load->view('user/edit', $data); $this->load->view('interface_assets/footer'); } } - function find() { - $existing_langs = array(); - $lang_path = APPPATH.'language'; - - $results = scandir($lang_path); - - foreach ($results as $result) { - if ($result === '.' or $result === '..') continue; - - if (is_dir(APPPATH.'language' . '/' . $result)) { - $dirs[] = $result; - } - } - return $dirs; - } - function edit() { $this->load->model('user_model'); if ( ($this->session->userdata('user_id') == '') || ((!$this->user_model->authorize(99)) && ($this->session->userdata('user_id') != $this->uri->segment(3))) ) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } $query = $this->user_model->get_by_id($this->uri->segment(3)); - $data['existing_languages'] = $this->find(); + $data['existing_languages'] = $this->config->item('languages'); $pwd_placeholder = '**********'; $this->load->model('bands'); @@ -398,10 +382,10 @@ class User extends CI_Controller { $data['user_date_format'] = $q->user_date_format; } - if($this->input->post('language')) { - $data['language'] = $this->input->post('language', true); + if($this->input->post('user_language')) { + $data['user_language'] = $this->input->post('user_language', true); } else { - $data['language'] = $q->language; + $data['user_language'] = $q->user_language; } @@ -661,7 +645,7 @@ class User extends CI_Controller { $cookie= array( 'name' => 'language', - 'value' => $this->input->post('language', true), + 'value' => $this->input->post('user_language', true), 'expire' => time()+1000, 'secure' => FALSE @@ -730,7 +714,7 @@ class User extends CI_Controller { $data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter'); $data['user_locations_quickswitch'] = $this->input->post('user_locations_quickswitch', true); $data['user_utc_headermenu'] = $this->input->post('user_utc_headermenu', true); - $data['language'] = $this->input->post('language'); + $data['user_language'] = $this->input->post('user_language'); $data['user_winkey'] = $this->input->post('user_winkey'); $data['user_hamsat_key'] = $this->input->post('user_hamsat_key'); $data['user_hamsat_workable_only'] = $this->input->post('user_hamsat_workable_only'); @@ -819,7 +803,7 @@ class User extends CI_Controller { $cookie= array( 'name' => 'language', - 'value' => $data['user']->language, + 'value' => $data['user']->user_language, 'expire' => time()+1000, 'secure' => FALSE diff --git a/application/migrations/204_user_language.php b/application/migrations/204_user_language.php new file mode 100644 index 000000000..b5f756c79 --- /dev/null +++ b/application/migrations/204_user_language.php @@ -0,0 +1,22 @@ +db->field_data('users'); + + foreach ($fields as $field) { + if ($field->name == 'language') { + $this->db->query('ALTER TABLE users CHANGE language user_language VARCHAR(32)'); + } + } + } + + public function down() { + $this->db->query('ALTER TABLE users CHANGE user_language language VARCHAR(32)'); + } +} diff --git a/application/models/User_model.php b/application/models/User_model.php index 7ef0e36cb..893b594c0 100644 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -150,7 +150,7 @@ class User_Model extends CI_Model { $user_pota_lookup, $user_show_notes, $user_column1, $user_column2, $user_column3, $user_column4, $user_column5, $user_show_profile_image, $user_previous_qsl_type, $user_amsat_status_upload, $user_mastodon_url, $user_default_band, $user_default_confirmation, $user_qso_end_times, $user_quicklog, $user_quicklog_enter, - $language, $user_hamsat_key, $user_hamsat_workable_only, $user_iota_to_qso_tab, $user_sota_to_qso_tab, + $user_language, $user_hamsat_key, $user_hamsat_workable_only, $user_iota_to_qso_tab, $user_sota_to_qso_tab, $user_wwff_to_qso_tab, $user_pota_to_qso_tab, $user_sig_to_qso_tab, $user_dok_to_qso_tab, $user_lotw_name, $user_lotw_password, $user_eqsl_name, $user_eqsl_password, $user_clublog_name, $user_clublog_password, $user_winkey) { @@ -188,7 +188,7 @@ class User_Model extends CI_Model { 'user_qso_end_times' => xss_clean($user_qso_end_times), 'user_quicklog' => xss_clean($user_quicklog), 'user_quicklog_enter' => xss_clean($user_quicklog_enter), - 'language' => xss_clean($language), + 'user_language' => xss_clean($user_language), 'user_lotw_name' => xss_clean($user_lotw_name), 'user_lotw_password' => xss_clean($user_lotw_password), 'user_eqsl_name' => xss_clean($user_eqsl_name), @@ -273,7 +273,7 @@ class User_Model extends CI_Model { 'user_qso_end_times' => xss_clean($fields['user_qso_end_times']), 'user_quicklog' => xss_clean($fields['user_quicklog']), 'user_quicklog_enter' => xss_clean($fields['user_quicklog_enter']), - 'language' => xss_clean($fields['language']), + 'user_language' => xss_clean($fields['user_language']), 'winkey' => xss_clean($fields['user_winkey']), ); @@ -446,7 +446,7 @@ class User_Model extends CI_Model { 'user_quicklog' => isset($u->row()->user_quicklog) ? $u->row()->user_quicklog : 1, 'user_quicklog_enter' => isset($u->row()->user_quicklog_enter) ? $u->row()->user_quicklog_enter : 1, 'active_station_logbook' => $u->row()->active_station_logbook, - 'language' => isset($u->row()->language) ? $u->row()->language: 'english', + 'user_language' => isset($u->row()->user_language) ? $u->row()->user_language: 'english', 'isWinkeyEnabled' => $u->row()->winkey, 'hasQrzKey' => $this->hasQrzKey($u->row()->user_id) ); diff --git a/application/views/user/edit.php b/application/views/user/edit.php index e765c1e37..8a3ddab46 100644 --- a/application/views/user/edit.php +++ b/application/views/user/edit.php @@ -165,19 +165,16 @@