aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2015-02-13 19:13:01 +0100
committerThomas Citharel <tcit@tcit.fr>2015-02-13 19:13:01 +0100
commit31556b05d0fc64c6d183d418d2d00f0ea5a0a136 (patch)
tree841dc5acaa92127a37332c4cde4f395a2b1daab4 /inc
parentaf13787e74ea45d7edc1005810f15a8baa428a77 (diff)
parent6cb5e1c9f511996d52b45b459bb26047f0dead38 (diff)
downloadwallabag-31556b05d0fc64c6d183d418d2d00f0ea5a0a136.tar.gz
wallabag-31556b05d0fc64c6d183d418d2d00f0ea5a0a136.tar.zst
wallabag-31556b05d0fc64c6d183d418d2d00f0ea5a0a136.zip
Merge pull request #1022 from wallabag/sendmailatregistration
Send email at registration
Diffstat (limited to 'inc')
-rwxr-xr-xinc/poche/Poche.class.php42
-rwxr-xr-xinc/poche/Routing.class.php2
-rwxr-xr-xinc/poche/config.inc.default.php3
3 files changed, 42 insertions, 5 deletions
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index d096de91..8ade91b4 100755
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -74,16 +74,50 @@ 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 ($email != "") { // if email is filled
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 (SEND_CONFIRMATION_EMAIL && function_exists('mail')) {
86 Tools::redirect(); 86
87 // if internal registration
88 $body_internal = _('Hi,') . "\r\n\r\n" . sprintf(_('Someone just created a wallabag account for you on %1$s.'), Tools::getPocheUrl()) .
89 "\r\n\r\n" . sprintf(_('Your login is %1$s.'), $newUsername) ."\r\n\r\n" .
90 _('Note : The password has been chosen by the person who created your account. Get in touch with that person to know your password and change it as soon as possible') . "\r\n\r\n" .
91 _('Have fun with it !') . "\r\n\r\n" .
92 _('This is an automatically generated message, no one will answer if you respond to it.');
93
94 // if external (public) registration
95 $body = "Hi, " . $newUsername . "\r\n\r\nYou've just created a wallabag account on " . Tools::getPocheUrl() . ".\r\nHave fun with it !";
96 $body = $internalRegistration ? $body_internal : $body;
97
98 $body = wordwrap($body, 70, "\r\n"); // cut lines with more than 70 caracters (MIME standard)
99 if (mail($email, sprintf(_('Your new wallabag account on %1$s'), Tools::getPocheUrl()), $body,
100 'X-Mailer: PHP/' . phpversion() . "\r\n" .
101 'Content-type: text/plain; charset=UTF-8' . "\r\n" .
102 "From: " . $newUsername . "@" . gethostname() . "\r\n")) {
103 Tools::logm('The user ' . $newUsername . ' has been emailed');
104 $this->messages->add('i', sprintf(_('The new user %1$s has been sent an email at %2$s. You may have to check spam folder.'), $newUsername, $email));
105
106 } else {
107 Tools::logm('A problem has been encountered while sending an email');
108 $this->messages->add('e', _('A problem has been encountered while sending an email'));
109 }
110 } else {
111 Tools::logm('The user has been created, but the server did not authorize sending emails');
112 $this->messages->add('i', _('The server did not authorize sending a confirmation email'));
113 }
114 } else {
115 Tools::logm('The user has been created, but no email was saved, so no confimation email was sent');
116 $this->messages->add('i', _('The user was created, but no email was sent because email was not filled in'));
117 }
118 Tools::logm('The new user ' . $newUsername . ' has been installed');
119 $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername));
120 Tools::redirect();
87 } 121 }
88 else { 122 else {
89 Tools::logm('error during adding new user'); 123 Tools::logm('error during adding new user');
diff --git a/inc/poche/Routing.class.php b/inc/poche/Routing.class.php
index 709831d5..82ff20d6 100755
--- a/inc/poche/Routing.class.php
+++ b/inc/poche/Routing.class.php
@@ -117,7 +117,7 @@ class Routing
117 // update password 117 // update password
118 $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']); 118 $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
119 } elseif (isset($_GET['newuser'])) { 119 } elseif (isset($_GET['newuser'])) {
120 $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail']); 120 $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail'], true);
121 } elseif (isset($_GET['deluser'])) { 121 } elseif (isset($_GET['deluser'])) {
122 $this->wallabag->deleteUser($_POST['password4deletinguser']); 122 $this->wallabag->deleteUser($_POST['password4deletinguser']);
123 } elseif (isset($_GET['epub'])) { 123 } elseif (isset($_GET['epub'])) {
diff --git a/inc/poche/config.inc.default.php b/inc/poche/config.inc.default.php
index 91b50c24..fbf4ae9a 100755
--- a/inc/poche/config.inc.default.php
+++ b/inc/poche/config.inc.default.php
@@ -59,6 +59,9 @@
59@define ('MOBI', FALSE); 59@define ('MOBI', FALSE);
60@define ('PDF', FALSE); 60@define ('PDF', FALSE);
61 61
62// registration
63@define ('SEND_CONFIRMATION_EMAIL', TRUE);
64
62// display or not print link in article view 65// display or not print link in article view
63@define ('SHOW_PRINTLINK', '1'); 66@define ('SHOW_PRINTLINK', '1');
64// display or not percent of read in article view. Affects only default theme. 67// display or not percent of read in article view. Affects only default theme.