diff options
Diffstat (limited to 'inc')
-rwxr-xr-x | inc/poche/Poche.class.php | 42 | ||||
-rwxr-xr-x | inc/poche/Routing.class.php | 2 | ||||
-rwxr-xr-x | inc/poche/config.inc.default.php | 3 |
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. |