protected function btnSave_Click($strFormId, $strControlId, $strParameter) { $blnError = false; if ($this->txtPassword->Text != $this->txtPasswordConfirm->Text) { $blnError = true; $this->txtPassword->Warning = "The passwords do not match, please re-enter."; $this->txtPassword->Text = ""; $this->txtPasswordConfirm->Text = ""; } else { if (!($this->blnEditMode && $this->txtPassword->Text == '') && strlen($this->txtPassword->Text) < 8) { $blnError = true; $this->txtPassword->Warning = "Password must be at least 8 characters."; } } // Check for a valid email address if (!filter_var($this->txtEmailAddress->Text, FILTER_VALIDATE_EMAIL)) { $blnError = true; $this->txtEmailAddress->Warning = 'Please enter a valid email address'; } // Do not allow duplicate email addresses $objUserAccountDupe = UserAccount::LoadByEmailAddress($this->txtEmailAddress->Text); if ($this->blnEditMode && $objUserAccountDupe && $objUserAccountDupe->UserAccountId != $this->objUserAccount->UserAccountId || !$this->blnEditMode && $objUserAccountDupe) { $blnError = true; $this->txtEmailAddress->Warning = 'A user account with that email address already exists.'; } $intUserLimit = is_numeric(QApplication::$TracmorSettings->UserLimit) ? QApplication::$TracmorSettings->UserLimit : 99999; // Do not allow creation of a new active user if user limit will be exceeded if (!$this->blnEditMode && $this->chkActiveFlag->Checked) { if (UserAccount::CountActive() >= $intUserLimit) { $blnError = true; $this->chkActiveFlag->Warning = "You have exceeded your user limit."; } } // Do not allow activation of a disabled user if the user limit will be exceeded if ($this->blnEditMode && $this->chkActiveFlag->Checked && !$this->objUserAccount->ActiveFlag) { if (UserAccount::CountActive() >= $intUserLimit) { $blnError = true; $this->chkActiveFlag->Warning = "You have exceeded your user limit."; } } // Do not allow duplicate usernames if ($this->blnEditMode) { $objUserAccountDuplicate = UserAccount::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::UserAccount()->Username, $this->txtUsername->Text), QQ::NotEqual(QQN::UserAccount()->UserAccountId, $this->objUserAccount->UserAccountId))); } else { $objUserAccountDuplicate = UserAccount::QuerySingle(QQ::Equal(QQN::UserAccount()->Username, $this->txtUsername->Text)); } if ($objUserAccountDuplicate) { $blnError = true; $this->btnCancel->Warning = 'A user account already exists with that username. Please choose another.'; } // Do not allow deactivation of owner account $this->objOwnerAccount = UserAccount::LoadOwner(); if ($this->blnEditMode && $this->objOwnerAccount && $this->objOwnerAccount->UserAccountId == $this->objUserAccount->UserAccountId && !$this->chkActiveFlag->Checked) { $blnError = true; $this->btnCancel->Warning = 'This user cannot be deactivated because they are the account owner.'; } if (!$blnError) { try { $this->UpdateUserAccountFields(); $this->objUserAccount->Save(); QApplication::Redirect('user_account_list.php'); } catch (QExtendedOptimisticLockingException $objExc) { $this->btnCancel->Warning = sprintf('This user account has been updated by another user. You must <a href="user_account_edit.php?intUserAccountId=%s">Refresh</a> to edit this user account.', $this->objUserAccount->UserAccountId); } } }
protected function btnSave_Click($strFormId, $strControlId, $strParameter) { $blnError = false; if ($this->txtPassword->Text != $this->txtPasswordConfirm->Text) { $blnError = true; $this->txtPassword->Warning = "The passwords do not match, please re-enter."; $this->txtPassword->Text = ""; $this->txtPasswordConfirm->Text = ""; } $intUserLimit = is_numeric(QApplication::$TracmorSettings->UserLimit) ? QApplication::$TracmorSettings->UserLimit : 99999; // Do not allow creation of a new active user if user limit will be exceeded if (!$this->blnEditMode && $this->chkActiveFlag->Checked) { if (UserAccount::CountActive() >= $intUserLimit) { $blnError = true; $this->chkActiveFlag->Warning = "You have exceeded your user limit."; } } // Do not allow activation of a disabled user if the user limit will be exceeded if ($this->blnEditMode && $this->chkActiveFlag->Checked && !$this->objUserAccount->ActiveFlag) { if (UserAccount::CountActive() >= $intUserLimit) { $blnError = true; $this->chkActiveFlag->Warning = "You have exceeded your user limit."; } } // Do not allow duplicate usernames if ($this->blnEditMode) { $objUserAccountDuplicate = UserAccount::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::UserAccount()->Username, $this->txtUsername->Text), QQ::NotEqual(QQN::UserAccount()->UserAccountId, $this->objUserAccount->UserAccountId))); } else { $objUserAccountDuplicate = UserAccount::QuerySingle(QQ::Equal(QQN::UserAccount()->Username, $this->txtUsername->Text)); } if ($objUserAccountDuplicate) { $blnError = true; $this->btnCancel->Warning = 'A user account already exists with that username. Please choose another.'; } if (!$blnError) { try { $this->UpdateUserAccountFields(); $this->objUserAccount->Save(); QApplication::Redirect('user_account_list.php'); } catch (QExtendedOptimisticLockingException $objExc) { $this->btnCancel->Warning = sprintf('This user account has been updated by another user. You must <a href="user_account_edit.php?intUserAccountId=%s">Refresh</a> to edit this user account.', $this->objUserAccount->UserAccountId); } } }