]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge branch 'dev' into sendmailatregistration
authorThomas Citharel <tcit@tcit.fr>
Fri, 13 Feb 2015 16:14:08 +0000 (17:14 +0100)
committerThomas Citharel <tcit@tcit.fr>
Fri, 13 Feb 2015 16:14:08 +0000 (17:14 +0100)
inc/poche/Poche.class.php
inc/poche/Routing.class.php

index d096de9148a3c1f2ee0422a1f3098df70e625a3d..b26826f169bf526ba4dd5e01dc4527c57c1871c1 100755 (executable)
@@ -74,16 +74,35 @@ class Poche
     /**
      * Creates a new user
      */
-    public function createNewUser($username, $password, $email = "")
+    public function createNewUser($username, $password, $email = "", $internalRegistration = false)
     {
         if (!empty($username) && !empty($password)){
             $newUsername = filter_var($username, FILTER_SANITIZE_STRING);
             $email = filter_var($email, FILTER_SANITIZE_STRING);
             if (!$this->store->userExists($newUsername)){
                 if ($this->store->install($newUsername, Tools::encodeString($password . $newUsername), $email)) {
-                    Tools::logm('The new user ' . $newUsername . ' has been installed');
-                    $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername));
-                    Tools::redirect();
+                    if (SEND_CONFIRMATION_EMAIL && function_exists('mail')) {
+                        // if internal registration
+                        $body_internal = "Hi,\r\n\r\nSomeone just created an account for you on " . Tools::getPocheUrl() . ".\r\nHave fun with it !";
+                        // if external (public) registration
+                        $body = "Hi, \r\n\r\nYou've just created an account on " . Tools::getPocheUrl() . ".\r\nHave fun with it !";
+                        $body = $internalRegistration ? $body_internal : $body;
+                        $body = wordwrap($body, 70, "\r\n"); // cut lines with more than 70 caracters (MIME standard)
+                        if (mail($email, sprintf(_('Your new wallabag account on '), Tools::getPocheUrl()), $body, 'X-Mailer: PHP/' . phpversion())) {
+                            Tools::logm('The user ' . $newUsername . ' has been emailed');
+                            $this->messages->add('i', sprintf(_('The new user %1$s has been sent an email at %2$s.'), $newUsername, $email));
+                            
+                        } else {
+                            Tools::logm('A problem has been encountered while sending an email');
+                            $this->messages->add('e', _('A problem has been encountered while sending an email'));
+                        }
+                    } else {
+                        Tools::logm('The user has been created, but the server did not authorize sending emails');
+                        $this->messages->add('i', _('The server did not authorize sending an email'));
+                    }
+                Tools::logm('The new user ' . $newUsername . ' has been installed');
+                $this->messages->add('s', sprintf(_('The new user %s has been installed. Do you want to <a href="?logout">logout ?</a>'), $newUsername));
+                Tools::redirect();
                 }
                 else {
                     Tools::logm('error during adding new user');
index 709831d501c405de05619773399499ef8e6da3e9..82ff20d67b3ff2318638dd25e768c0c8a373fb87 100755 (executable)
@@ -117,7 +117,7 @@ class Routing
                 // update password
                 $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
             } elseif (isset($_GET['newuser'])) {
-                $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail']);
+                $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail'], true);
             } elseif (isset($_GET['deluser'])) {
                 $this->wallabag->deleteUser($_POST['password4deletinguser']);
             } elseif (isset($_GET['epub'])) {