]> source.dussan.org Git - nextcloud-server.git/commitdiff
Implement mailing of password reset link
authorBart Visscher <bartv@thisnet.nl>
Mon, 26 Sep 2011 19:11:50 +0000 (21:11 +0200)
committerBart Visscher <bartv@thisnet.nl>
Mon, 26 Sep 2011 19:17:26 +0000 (21:17 +0200)
lostpassword/index.php
lostpassword/templates/email.php [new file with mode: 0644]

index 0c078343a8d6f379281012837564b773651e4a97..6d629a71089b4302ff90352de8a612c1058661a0 100644 (file)
@@ -14,8 +14,15 @@ if (isset($_POST['user'])) {
        if (OC_User::userExists($_POST['user'])) {
                $token = sha1($_POST['user']+uniqId());
                OC_Preferences::setValue($_POST['user'], 'owncloud', 'lostpassword', $token);
-               // TODO send email with link+token
-               $link = OC_Helper::linkTo('lostpassword', 'resetpassword.php', null, true).'?user='.$_POST['user'].'&token='.$token;
+               $email = OC_Preferences::getValue($_POST['user'], 'lostpassword', 'email', '');
+               if (!empty($email)) {
+                       $link = OC_Helper::linkTo('lostpassword', 'resetpassword.php', null, true).'?user='.$_POST['user'].'&token='.$token;
+                       $tmpl = new OC_Template('lostpassword', 'email');
+                       $tmpl->assign('link', $link);
+                       $msg = $tmpl->fetchPage();
+                       $l = new OC_L10N('core');
+                       mail($email, $l->t('Owncloud password reset'), $msg);
+               }
                OC_Template::printGuestPage('lostpassword', 'lostpassword', array('error' => false, 'requested' => true));
        } else {
                OC_Template::printGuestPage('lostpassword', 'lostpassword', array('error' => true, 'requested' => false));
diff --git a/lostpassword/templates/email.php b/lostpassword/templates/email.php
new file mode 100644 (file)
index 0000000..d146d8e
--- /dev/null
@@ -0,0 +1 @@
+<?php echo str_replace('{link}', $_['link'], $l->t('Use the following link to reset your password: {link}')) ?>