summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Christoph Borchardt <JanCBorchardt@fsfe.org>2011-08-30 21:01:22 +0200
committerJan-Christoph Borchardt <JanCBorchardt@fsfe.org>2011-08-30 21:01:22 +0200
commit57ecf25da71648551dc311e7cd1461de9b276fee (patch)
tree59bba4abe281d0cb7005a943efe9ea978b205177
parentf758d223a2a813e3b2a2f05ba79c902ab10d8288 (diff)
parente89a4b3a0d3d736abccfc3c7e6e1855ea4637580 (diff)
downloadnextcloud-server-57ecf25da71648551dc311e7cd1461de9b276fee.tar.gz
nextcloud-server-57ecf25da71648551dc311e7cd1461de9b276fee.zip
Merge branch 'master' into calendar
-rw-r--r--core/css/styles.css2
-rw-r--r--core/templates/installation.php4
-rw-r--r--core/templates/login.php20
-rw-r--r--core/templates/lostpassword.php14
-rw-r--r--core/templates/resetpassword.php10
-rw-r--r--files/index.php10
-rw-r--r--index.php34
-rw-r--r--lib/files.php2
8 files changed, 79 insertions, 17 deletions
diff --git a/core/css/styles.css b/core/css/styles.css
index d9722fa3174..a3326c00826 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -68,7 +68,7 @@ input[type="submit"].highlight{ background:#ffc100; border:1px solid #db0; text-
#login form fieldset { background:0; border:0; margin-bottom:2em; padding:0; }
#login form fieldset legend { font-weight:bold; }
#login form label { position:absolute; margin:.8em .8em; font-size:1.5em; color:#666; }
-#login form label#directorylabel { display:block; margin:.95em 0 .8em -5.5em; }
+#login #dbhostlabel, #login #dbtableprefixlabel, #login #directorylabel { display:block; margin:.95em 0 .8em -7em; }
#login form input[type="checkbox"]+label { position:relative; margin:0; font-size:1em; text-shadow:#fff 0 1px 0; }
#login form ul.errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 4em 0; padding:1em 1em 1em 5em; }
diff --git a/core/templates/installation.php b/core/templates/installation.php
index ebd726b4fb9..c3cd2968c85 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -74,8 +74,8 @@
<a id='showAdvanced'><strong><?php echo $l->t( 'Advanced' ); ?> ▾</strong></a>
<fieldset id='datadirField'>
- <input type="text" name="dbhost" id="dbhost" value="<?php print OC_Helper::init_var('dbhost', 'localhost'); ?>" placeholder="<?php echo $l->t( 'Host' ); ?>" />
- <input type="text" name="dbtableprefix" id="dbtableprefix" value="<?php print OC_Helper::init_var('dbtableprefix', 'oc_'); ?>" placeholder="<?php echo $l->t( 'Table prefix' ); ?>" />
+ <label id="dbhostlabel" for="dbhost"><?php echo $l->t( 'Database host' ); ?></label><input type="text" name="dbhost" id="dbhost" value="<?php print OC_Helper::init_var('dbhost', 'localhost'); ?>" placeholder="<?php echo $l->t( 'Database host' ); ?>" />
+ <label id="dbtableprefixlabel" for="dbtableprefix"><?php echo $l->t( 'Table prefix' ); ?></label><input type="text" name="dbtableprefix" id="dbtableprefix" value="<?php print OC_Helper::init_var('dbtableprefix', 'oc_'); ?>" placeholder="<?php echo $l->t( 'Table prefix' ); ?>" />
<label id="directorylabel" for="directory"><?php echo $l->t( 'Data folder' ); ?></label><input type="text" name="directory" id="directory" value="<?php print OC_Helper::init_var('directory', $_['directory']); ?>" placeholder="<?php echo $l->t( 'Data folder' ); ?>" />
</fieldset>
diff --git a/core/templates/login.php b/core/templates/login.php
index 85db3bc9a52..717f6bcabda 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -1,17 +1,17 @@
<form action="index.php" method="post">
<fieldset>
<?php if($_['error']): ?>
- <?php echo $l->t( 'Login failed!' ); ?>
+ <a href="index.php?lostpassword"><?php echo $l->t('Lost your password?'); ?></a>
+ <?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 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>
<?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 }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>
- <?php } ?>
<input type="submit" id="submit" value="Log in" />
</fieldset>
</form>
diff --git a/core/templates/lostpassword.php b/core/templates/lostpassword.php
new file mode 100644
index 00000000000..67e34164d08
--- /dev/null
+++ b/core/templates/lostpassword.php
@@ -0,0 +1,14 @@
+<form action="index.php?lostpassword" method="post">
+ <fieldset>
+ <?php echo $l->t('You will receive a link to reset your password via Email.'); ?>
+ <?php if ($_['requested']): ?>
+ <?php echo $l->t('Requested'); ?>
+ <?php else: ?>
+ <?php if ($_['error']): ?>
+ <?php echo $l->t('Login failed!'); ?>
+ <?php endif; ?>
+ <input type="text" name="user" id="user" placeholder="<?php echo $l->t('Username or Email'); ?>" value="" autocomplete="off" required autofocus />
+ <input type="submit" id="submit" value="<?php echo $l->t('Request reset'); ?>" />
+ <?php endif; ?>
+ </fieldset>
+</form> \ No newline at end of file
diff --git a/core/templates/resetpassword.php b/core/templates/resetpassword.php
new file mode 100644
index 00000000000..47d0e69b7d3
--- /dev/null
+++ b/core/templates/resetpassword.php
@@ -0,0 +1,10 @@
+<form action="<?php echo "index.php?".$_SERVER['QUERY_STRING']; ?>" method="post">
+ <fieldset>
+ <?php if($_['success']): ?>
+ <?php echo $l->t('Your password was successfully reset'); ?>
+ <?php else: ?>
+ <input type="password" name="password" id="password" placeholder="<?php echo $l->t('New password'); ?>" value="" required />
+ <input type="submit" id="submit" value="<?php echo $l->t('Reset password'); ?>" />
+ <?php endif; ?>
+ </fieldset>
+</form> \ No newline at end of file
diff --git a/files/index.php b/files/index.php
index 059546391b6..3d62c3385fa 100644
--- a/files/index.php
+++ b/files/index.php
@@ -47,8 +47,14 @@ $files = array();
foreach( OC_Files::getdirectorycontent( $dir ) as $i ){
$i["date"] = OC_Util::formatDate($i["mtime"] );
if($i['type']=='file'){
- $i['extention']=substr($i['name'],strrpos($i['name'],'.'));
- $i['basename']=substr($i['name'],0,strrpos($i['name'],'.'));
+ $fileinfo=pathinfo($i['name']);
+ $i['basename']=$fileinfo['filename'];
+ if (!empty($fileinfo['extension'])) {
+ $i['extention']='.' . $fileinfo['extension'];
+ }
+ else {
+ $i['extention']='';
+ }
}
if($i['directory']=='/'){
$i['directory']='';
diff --git a/index.php b/index.php
index 4520f40107e..52a00465f22 100644
--- a/index.php
+++ b/index.php
@@ -60,7 +60,7 @@ elseif(OC_User::isLoggedIn()) {
}
// Someone wants to log in :
-elseif(isset($_POST["user"])) {
+elseif(isset($_POST["user"]) && isset($_POST['password'])) {
OC_App::loadApps();
if(OC_User::login($_POST["user"], $_POST["password"])) {
header("Location: ".$WEBROOT.'/'.OC_Appconfig::getValue("core", "defaultpage", "files/index.php"));
@@ -81,6 +81,38 @@ elseif(isset($_POST["user"])) {
}
}
+// 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));
+ }
+}
+
// For all others cases, we display the guest page :
else {
OC_App::loadApps();
diff --git a/lib/files.php b/lib/files.php
index dd74b086705..f1789d9c7ac 100644
--- a/lib/files.php
+++ b/lib/files.php
@@ -143,7 +143,7 @@ class OC_Files {
header("HTTP/1.0 403 Forbidden");
die('403 Forbidden');
}
- ob_end_clean();
+ @ob_end_clean();
if($zip){
readfile($filename);
unlink($filename);