renamed 'language' column in users table to 'user_language' to avoid collisions

This commit is contained in:
HB9HIL
2024-06-06 10:46:12 +02:00
parent 2237807020
commit f339af6ae6
5 changed files with 49 additions and 46 deletions

View File

@@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
*/
$config['migration_version'] = 203;
$config['migration_version'] = 204;
/*
|--------------------------------------------------------------------------

View File

@@ -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

View File

@@ -0,0 +1,22 @@
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Migration_user_language extends CI_Migration {
// Rename 'language' column in users table to 'user_language'
public function up() {
$fields = $this->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)');
}
}

View File

@@ -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)
);

View File

@@ -165,19 +165,16 @@
</select>
</div>
<hr/>
<?php if ($this->config->item('cl_multilanguage')) { ?>
<div class="mb-3">
<label for="language"><?php echo lang('account_wavelog_language'); ?></label>
<?php
foreach($existing_languages as $lang){
$options[$lang] = ucfirst($lang);
}
echo form_dropdown('language', $options, $language);
?>
<small id="language_Help" class="form-text text-muted"><?php echo lang('account_choose_wavelog_language'); ?></small>
</div>
<?php } ?>
<div class="mb-3">
<label for="user_language"><?php echo lang('account_wavelog_language'); ?></label>
<?php
foreach ($existing_languages as $lang) {
$options[$lang['folder']] = $lang['name_en'];
}
echo form_dropdown('user_language', $options, $language['folder']);
?>
<small id="language_Help" class="form-text text-muted"><?php echo lang('account_choose_wavelog_language'); ?></small>
</div>
<div class="mb-3">
<label><?php echo lang('account_timezone'); ?></label>
<?php