Check mail for dupes b4 editing it

This commit is contained in:
int2001
2025-07-25 08:34:03 +00:00
parent 3e5d7aa766
commit aa609decd8
2 changed files with 13 additions and 1 deletions

View File

@@ -157,6 +157,7 @@ class User extends CI_Controller {
$this->form_validation->set_rules('user_callsign', 'Callsign', 'required');
$this->form_validation->set_rules('user_locator', 'Locator', 'required');
$this->form_validation->set_rules('user_locator', 'Locator', 'callback_check_locator');
$this->form_validation->set_rules('user_email', 'EMail', 'required|callback_check_email');
$this->form_validation->set_rules('user_timezone', 'Timezone', 'required');
$data['user_add'] = true;
@@ -380,6 +381,7 @@ class User extends CI_Controller {
$this->form_validation->set_rules('user_lastname', 'Last name', 'required|xss_clean');
$this->form_validation->set_rules('user_callsign', 'Callsign', 'trim|required|xss_clean');
$this->form_validation->set_rules('user_locator', 'Locator', 'callback_check_locator');
$this->form_validation->set_rules('user_email', 'EMail', 'required|callback_check_email');
$this->form_validation->set_rules('user_timezone', 'Timezone', 'required');
$data['user_form_action'] = site_url('user/edit')."/".$this->uri->segment(3);
@@ -1441,6 +1443,15 @@ class User extends CI_Controller {
}
}
function check_email($mail) {
if (($this->session->userdata('user_email') != $mail) && ($this->user_model->exists_by_email($mail) > 0)) {
$this->form_validation->set_message('check_email', sprintf(__("Couldn't set account to this email. Please try another address than (%s)"),$mail));
return FALSE;
} else {
return TRUE;
}
}
function check_locator($grid = '') {
if (empty($grid)) {
$grid = $this->input->post('locator', TRUE);

View File

@@ -61,7 +61,7 @@ class User_Model extends CI_Model {
$clean_email = $this->security->xss_clean($email);
$this->db->where('user_email', $clean_email);
$this->db->where('upper(user_email)', strtoupper($clean_email));
$r = $this->db->get($this->config->item('auth_table'));
return $r;
}
@@ -524,6 +524,7 @@ class User_Model extends CI_Model {
$userdata = array(
'user_id' => $u->row()->user_id,
'user_name' => $u->row()->user_name,
'user_email' => $u->row()->user_email,
'user_type' => $u->row()->user_type,
'user_callsign' => $u->row()->user_callsign,
'operator_callsign' => ((($this->session->userdata('operator_callsign') ?? '') == '') ? $u->row()->user_callsign : $this->session->userdata('operator_callsign')),