diff options
author | Thomas Citharel <tcit@tcit.fr> | 2015-01-24 15:09:18 +0100 |
---|---|---|
committer | Thomas Citharel <tcit@tcit.fr> | 2015-01-24 15:09:18 +0100 |
commit | 3e1daa4c9016944b444829151334ab87cd3d3dcb (patch) | |
tree | a9613949c3380cc5eb4c26be05466e25315e517f | |
parent | e25972f83000bc664c4f3f880ae0a874c6b33f75 (diff) | |
download | wallabag-3e1daa4c9016944b444829151334ab87cd3d3dcb.tar.gz wallabag-3e1daa4c9016944b444829151334ab87cd3d3dcb.tar.zst wallabag-3e1daa4c9016944b444829151334ab87cd3d3dcb.zip |
allow to send confirmation emails when creating a new user
-rwxr-xr-x | inc/poche/Poche.class.php | 27 | ||||
-rwxr-xr-x | inc/poche/Routing.class.php | 2 |
2 files changed, 24 insertions, 5 deletions
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php index 81a18c86..adb335c9 100755 --- a/inc/poche/Poche.class.php +++ b/inc/poche/Poche.class.php | |||
@@ -74,16 +74,35 @@ class Poche | |||
74 | /** | 74 | /** |
75 | * Creates a new user | 75 | * Creates a new user |
76 | */ | 76 | */ |
77 | public function createNewUser($username, $password, $email = "") | 77 | public function createNewUser($username, $password, $email = "", $internalRegistration = false) |
78 | { | 78 | { |
79 | if (!empty($username) && !empty($password)){ | 79 | if (!empty($username) && !empty($password)){ |
80 | $newUsername = filter_var($username, FILTER_SANITIZE_STRING); | 80 | $newUsername = filter_var($username, FILTER_SANITIZE_STRING); |
81 | $email = filter_var($email, FILTER_SANITIZE_STRING); | 81 | $email = filter_var($email, FILTER_SANITIZE_STRING); |
82 | if (!$this->store->userExists($newUsername)){ | 82 | if (!$this->store->userExists($newUsername)){ |
83 | if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) { | 83 | if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) { |
84 | Tools::logm('The new user ' . $newUsername . ' has been installed'); | 84 | if (SEND_CONFIRMATION_EMAIL && function_exists('mail')) { |
85 | $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername)); | 85 | // if internal registration |
86 | Tools::redirect(); | 86 | $body_internal = "Hi,\r\n\r\nSomeone just created an account for you on " . Tools::getPocheUrl() . ".\r\nHave fun with it !"; |
87 | // if external (public) registration | ||
88 | $body = "Hi, \r\n\r\nYou've just created an account on " . Tools::getPocheUrl() . . ".\r\nHave fun with it !"; | ||
89 | $body = $internalRegistration ? $body_internal : $body; | ||
90 | $body = wordwrap($body, 70, "\r\n"); // cut lines with more than 70 caracters (MIME standard) | ||
91 | if (mail($email, sprintf(_('Your new wallabag account on '), Tools::getPocheUrl()), $body, 'From: {$email}')) { | ||
92 | Tools::logm('The user ' . $newUsername . ' has been emailed'); | ||
93 | $this->messages->add('i', sprintf(_('The new user %1$s has been sent an email at %2$s.'), $newUsername, $email)); | ||
94 | |||
95 | } else { | ||
96 | Tools::logm('A problem has been encountered while sending an email'); | ||
97 | $this->messages->add('e', _('A problem has been encountered while sending an email'); | ||
98 | } | ||
99 | } else { | ||
100 | Tools::logm('The user has been created, but the server did not authorize sending emails'); | ||
101 | $this->messages->add('i', _('The server did not authorize sending an email'); | ||
102 | } | ||
103 | Tools::logm('The new user ' . $newUsername . ' has been installed'); | ||
104 | $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername)); | ||
105 | Tools::redirect(); | ||
87 | } | 106 | } |
88 | else { | 107 | else { |
89 | Tools::logm('error during adding new user'); | 108 | Tools::logm('error during adding new user'); |
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php index a8d00b89..b8cab0ec 100755 --- a/inc/poche/Routing.class.php +++ b/inc/poche/Routing.class.php | |||
@@ -116,7 +116,7 @@ class Routing | |||
116 | // update password | 116 | // update password |
117 | $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']); | 117 | $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']); |
118 | } elseif (isset($_GET['newuser'])) { | 118 | } elseif (isset($_GET['newuser'])) { |
119 | $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail']); | 119 | $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail'], true); |
120 | } elseif (isset($_GET['deluser'])) { | 120 | } elseif (isset($_GET['deluser'])) { |
121 | $this->wallabag->deleteUser($_POST['password4deletinguser']); | 121 | $this->wallabag->deleteUser($_POST['password4deletinguser']); |
122 | } elseif (isset($_GET['epub'])) { | 122 | } elseif (isset($_GET['epub'])) { |