diff options
author | Geekologist <Conver@users.noreply.github.com> | 2015-09-17 21:26:53 +0200 |
---|---|---|
committer | Geekologist <Conver@users.noreply.github.com> | 2015-09-17 21:26:53 +0200 |
commit | a6d9ec300c7df3643a8c43017fce6a91d727fd29 (patch) | |
tree | 45ff9bcd0d47330911f4001efeabaf630aff720d | |
parent | 94eff82c1dfe7b8f32df659562399d37047ee0df (diff) | |
parent | 42892d5a3e29bcd351302c8011cd1bec93bfddfd (diff) | |
download | PHPAuth-a6d9ec300c7df3643a8c43017fce6a91d727fd29.zip PHPAuth-a6d9ec300c7df3643a8c43017fce6a91d727fd29.tar.gz PHPAuth-a6d9ec300c7df3643a8c43017fce6a91d727fd29.tar.bz2 |
Merge pull request #115 from JacquesLoubser/master
Suppression Cleanup
-rwxr-xr-x | auth.class.php | 43 | ||||
-rwxr-xr-x | config.class.php | 5 | ||||
-rw-r--r-- | database.sql | 3 |
3 files changed, 35 insertions, 16 deletions
diff --git a/auth.class.php b/auth.class.php index c22561a..518e50b 100755 --- a/auth.class.php +++ b/auth.class.php @@ -645,14 +645,13 @@ class Auth * @param int $uid * @param string $email * @param string $type + * @param boolean $suppressed = NULL * @return boolean */ - private function addRequest($uid, $email, $type) + private function addRequest($uid, $email, $type,$suppressed = NULL) { - require 'PHPMailer/PHPMailerAutoload.php'; - $mail = new \PHPMailer; $return['error'] = true; @@ -660,7 +659,25 @@ class Auth $return['message'] = $this->lang["system_error"] . " #08"; return $return; } + if($suppressed == NULL) + { + $suppressed = true; + if($type == "activation") + { + if(!$this->config->emailmessage_suppress_activation) + { + $suppressed = false; + } + } + if($type == "reset") + { + if(!$this->config->emailmessage_suppress_reset) + { + $suppressed = false; + } + } + } $query = $this->dbh->prepare("SELECT id, expire FROM {$this->config->table_requests} WHERE uid = ? AND type = ?"); $query->execute(array($uid, $type)); @@ -696,7 +713,11 @@ class Auth $request_id = $this->dbh->lastInsertId(); // Check configuration for SMTP parameters + if(!$suppressed) + { + require 'PHPMailer/PHPMailerAutoload.php'; + $mail = new \PHPMailer; if($this->config->smtp) { $mail->isSMTP(); $mail->Host = $this->config->smtp_host; @@ -717,27 +738,19 @@ class Auth $mail->addAddress($email); $mail->isHTML(true); - $suppressed = false; - if($type == "activation") { - if(!$this->config->emailmessage_suppress_activation){ + $mail->Subject = sprintf($this->lang['email_activation_subject'], $this->config->site_name); $mail->Body = sprintf($this->lang['email_activation_body'], $this->config->site_url, $this->config->site_activation_page, $key); $mail->AltBody = sprintf($this->lang['email_activation_altbody'], $this->config->site_url, $this->config->site_activation_page, $key); - } else { - $suppressed = true; } - } else { + else { $mail->Subject = sprintf($this->lang['email_reset_subject'], $this->config->site_name); $mail->Body = sprintf($this->lang['email_reset_body'], $this->config->site_url, $this->config->site_password_reset_page, $key); $mail->AltBody = sprintf($this->lang['email_reset_altbody'], $this->config->site_url, $this->config->site_password_reset_page, $key); } - if($suppressed){ - $this->lang["register_success"] = $this->lang["register_success_emailmessage_suppressed"]; - $return['error'] = false; - return $return; - } + if(!$mail->send()) { $this->deleteRequest($request_id); @@ -745,7 +758,7 @@ class Auth $return['message'] = $this->lang["system_error"] . " #10"; return $return; } - + } $return['error'] = false; return $return; } diff --git a/config.class.php b/config.class.php index 1d4fadd..139f7e4 100755 --- a/config.class.php +++ b/config.class.php @@ -97,5 +97,10 @@ class Config if (! isset($this->config['emailmessage_suppress_activation']) ) $this->config['emailmessage_suppress_activation'] = 0; + if (! isset($this->config['emailmessage_suppress_reset']) ) + $this->config['emailmessage_suppress_reset'] = 0; + } + + } diff --git a/database.sql b/database.sql index 962a9a1..2bcc857 100644 --- a/database.sql +++ b/database.sql @@ -49,7 +49,8 @@ INSERT INTO `config` (`id`, `setting`, `value`) VALUES (33, 'attack_mitigation_time', '+30 minutes'), (34, 'attempts_before_verify', '5'), (35, 'attempts_before_ban', '30'), -(36, 'emailmessage_suppress_activation', '0'); +(36, 'emailmessage_suppress_activation', '0'), +(37, 'emailmessage_suppress_reset', '0'); DROP TABLE IF EXISTS `attempts`; CREATE TABLE `attempts` ( |