]> source.dussan.org Git - nextcloud-server.git/commitdiff
Merge branch 'lostpassword'
authorBart Visscher <bartv@thisnet.nl>
Fri, 30 Sep 2011 21:48:20 +0000 (23:48 +0200)
committerBart Visscher <bartv@thisnet.nl>
Fri, 30 Sep 2011 21:48:20 +0000 (23:48 +0200)
Conflicts:
core/templates/login.php
index.php
lib/util.php

1  2 
core/templates/login.php
index.php
lib/util.php
settings/templates/personal.php

index 641e0adb6e04f24ddfa3307773f8ebe87bc2dca6,c8a86d71a910a347c8ba1166a875a0e71170598c..6564847014b8abae3c04e9cfc83c9458fcd6194a
@@@ -1,17 -1,17 +1,17 @@@
  <form action="index.php" method="post">
        <fieldset>
-               <?php /*if($_['error']): ?>
+               <?php if($_['error']): ?>
 -                      <a href="lostpassword/index.php"><?php echo $l->t('Lost your password?'); ?></a>
 +                      <a href="index.php?lostpassword"><?php echo $l->t('Lost your password?'); ?></a>
-               <?php endif;*/ ?>
+               <?php endif; ?>
 -              <?php if(empty($_["username"])): ?>
 -                      <input type="text" name="user" id="user" placeholder="Username" value="" autocomplete="off" required autofocus />
 -                      <input type="password" name="password" id="password" placeholder="Password" value="" required />
 -                      <input type="checkbox" name="remember_login" id="remember_login" /><label for="remember_login"><?php echo $l->t('remember'); ?></label>
 +              <?php if(empty($_['username'])): ?>
 +                      <input type="text" name="user" id="user" placeholder="<?php echo $l->t( 'Username' ); ?>" value="<?php echo !empty($_POST['user'])?$_POST['user'].'"':'" autofocus'; ?> autocomplete="off" required />
 +                      <input type="password" name="password" id="password" placeholder="<?php echo $l->t( 'Password' ); ?>" value="" required <?php echo !empty($_POST['user'])?'autofocus':''; ?> />
 +                      <input type="checkbox" name="remember_login" value="1" id="remember_login" /><label for="remember_login"><?php echo $l->t('remember'); ?></label>
                <?php else: ?>
 -                    <input type="text" name="user" id="user" placeholder="Username" value="<?php echo $_['username']; ?>" autocomplete="off" required >
 -                    <input type="password" name="password" id="password" placeholder="Password" value="" required autofocus />
 -                    <input type="checkbox" name="remember_login" id="remember_login" checked /><label for="remember_login"><?php echo $l->t('remember'); ?></label>
 +                    <input type="text" name="user" id="user" placeholder="<?php echo $l->t( 'Username' ); ?>" value="<?php echo $_['username']; ?>" autocomplete="off" required >
 +                    <input type="password" name="password" id="password" placeholder="<?php echo $l->t( 'Password' ); ?>" value="" required autofocus />
 +                    <input type="checkbox" name="remember_login" value="1" id="remember_login" checked /><label for="remember_login"><?php echo $l->t('remember'); ?></label>
                <?php endif; ?>
 -              <input type="submit" id="submit" value="Log in" />
 +              <input type="submit" id="submit" class="login" value="<?php echo $l->t( 'Log in' ); ?>" />
        </fieldset>
  </form>
diff --cc index.php
index 68754fcc567a9ebdc464306061ba544918b6bc20,0db8ad126ce7ae2755b24a3dc7c4088cf36a3e1f..17429b9747646ee9f5e700c0866f1a4992423e91
+++ b/index.php
@@@ -81,40 -81,9 +81,8 @@@ elseif(isset($_POST["user"]) && isset($
                        OC_User::unsetMagicInCookie();
                }
                OC_Util::redirectToDefaultPage();
 -      }
 -      else {
 +      } else {
-               OC_Template::printGuestPage('', 'login', array('error' => true, 'username' => isset($_COOKIE['oc_username'])?$_COOKIE['oc_username']:'' ));
-       }
- }
- // Someone lost their password:
- elseif(isset($_GET['lostpassword'])) {
-       OC_App::loadApps();
-       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
-                       OC_Template::printGuestPage("", "lostpassword", array("error" => false, "requested" => true));
-               } else {
-                       OC_Template::printGuestPage("", "lostpassword", array("error" => true, "requested" => false));
-               }
-       } else {
-               OC_Template::printGuestPage("", "lostpassword", array("error" => false, "requested" => false));
-       }
- }
- // Someone wants to reset their password:
- elseif(isset($_GET['resetpassword']) && isset($_GET['token']) && isset($_GET['user']) && OC_Preferences::getValue($_GET['user'], "owncloud", "lostpassword") === $_GET['token']) {
-       OC_App::loadApps();
-       if (isset($_POST['password'])) {
-               if (OC_User::setPassword($_GET['user'], $_POST['password'])) {
-                       OC_Preferences::deleteKey($_GET['user'], "owncloud", "lostpassword");
-                       OC_Template::printGuestPage("", "resetpassword", array("success" => true));
-               } else {
-                       OC_Template::printGuestPage("", "resetpassword", array("success" => false));
-               }
-       } else {
-               OC_Template::printGuestPage("", "resetpassword", array("success" => false));
+               OC_Util::displayLoginPage(array('error' => true));
        }
  }
  
diff --cc lib/util.php
index 26d718da94471b0c7d6af6a5c95a04e72eceb665,39cd1a7afaba7dd972a9002783a943edc4b8b140..f21ec8208b4703734e49a23083f1952bbaf919ae
@@@ -258,34 -247,13 +258,42 @@@ class OC_Util 
                return $errors;
        }
  
+       public static function displayLoginPage($parameters = array()){
+               if(isset($_COOKIE["username"])){
+                       $parameters["username"] = $_COOKIE["username"];
++              } else {
++                      $parameters["username"] = '';
+               }
+               OC_Template::printGuestPage("", "login", $parameters);
+       }
  
 +      /**
 +      * Try to get the username the httpd server runs on, used in hints
 +      */
 +        public static function checkWebserverUser(){
 +              $stat=stat($_SERVER['DOCUMENT_ROOT']);
 +              if(is_callable('posix_getpwuid')){
 +                      $serverUser=posix_getpwuid($stat['uid']);
 +                      $serverUser='\''.$serverUser['name'].'\'';
 +              }elseif(exec('whoami')){
 +                      $serverUser=exec('whoami');
 +                }else{
 +                      $serverUser='\'www-data\' for ubuntu/debian'; //TODO: try to detect the distro and give a guess based on that
 +              }
 +                return $serverUser;
 +        }
 +
 +
 +      /**
 +      * Check if the app is enabled, send json error msg if not
 +      */
 +      public static function checkAppEnabled($app){
 +              if( !OC_App::isEnabled($app)){
 +                      header( 'Location: '.OC_Helper::linkTo( '', 'index.php' , true));
 +                      exit();
 +              }
 +      }
 +
        /**
        * Check if the user is logged in, redirects to home if not
        */
Simple merge