瀏覽代碼

Error when only oc_remember_login cookie set fixed.

Filled username field when oc_username is set repaired.
Problems with "advanced settings" button in installation wizard fixed.
CSS improved - login and installation now looks more clean.
Request password link removed (email feature not implemented yet).
Database radio button bugs removed.
It is possible to have an empty database password, now ownCloud will support this "security issue".
Ignore Mac OS X ".DSstore" files.
Fade in/out of login button and remember checkbox removed due to some display errors.
tags/v3.0
Marvin Thomas Rabe 12 年之前
父節點
當前提交
ccfa2dd24c
共有 9 個文件被更改,包括 46 次插入46 次删除
  1. 2
    0
      .gitignore
  2. 8
    5
      core/css/styles.css
  3. 2
    0
      core/js/js.js
  4. 4
    6
      core/js/setup.js
  5. 11
    10
      core/templates/installation.php
  6. 6
    6
      core/templates/login.php
  7. 6
    15
      index.php
  8. 7
    1
      lib/helper.php
  9. 0
    3
      lib/setup.php

+ 2
- 0
.gitignore 查看文件

@@ -31,3 +31,5 @@ RCS/*

# netbeans
nbproject

.DS_Store

+ 8
- 5
core/css/styles.css 查看文件

@@ -16,7 +16,7 @@ body { background:#fefefe; font:normal .8em/1.6em "Lucida Grande", Arial, Verdan

/* HEADERS */
#body-user #header, #body-settings #header { position:fixed; top:0; z-index:100; width:100%; height:2.5em; padding:.5em; background:#1d2d44; -moz-box-shadow:0 0 10px #000, inset 0 -2px 10px #222; -webkit-box-shadow:0 0 10px #000, inset 0 -2px 10px #222; box-shadow:0 0 10px #000, inset 0 -2px 10px #222; }
#body-login #header { margin:-2em auto 0; text-align:center; height:10em;
#body-login #header { margin: -2em auto 0; text-align:center; height:10em;
-moz-box-shadow:0 0 1em #000; -webkit-box-shadow:0 0 1em #000; box-shadow:0 0 1em #000;
background: #1d2d44; /* Old browsers */
background: -moz-linear-gradient(top, #35537a 0%, #1d2d42 100%); /* FF3.6+ */
@@ -42,7 +42,8 @@ input[type="checkbox"] { width:auto; }
#quota { cursor:default; }

#body-login input { font-size:1.5em; }
#body-login input[type="submit"] { float:right; margin-right:.8em; }
#body-login input[type="text"], #body-login input[type="password"] { width: 13em; }
#body-login input.login { width: auto; float: right; }
#remember_login { margin:.8em .2em 0 1em; }
form.searchbox input[type="search"] { position:fixed; font-size:1.2em; top:.4em; right:3em; padding:.2em .5em .2em 1.5em; background-image:url('../img/actions/search.svg'); background-repeat:no-repeat; background-position:.5em center; border:0; -moz-border-radius:1em; -webkit-border-radius:1em; border-radius:1em; }
input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; }
@@ -61,17 +62,19 @@ input[type="submit"].highlight{ background:#ffc100; border:1px solid #db0; text-

/* LOG IN & INSTALLATION ------------------------------------------------------------ */
#body-login { background:#ddd; }
#body-login p.info { width:21em; margin:2em auto; color:#777; text-shadow:#fff 0 1px 0; }
#body-login div.buttons { text-align: center; }
#body-login p.info { width:22em; text-align: center; margin:2em auto; color:#777; text-shadow:#fff 0 1px 0; }
#body-login p.info a { font-weight:bold; color:#777; }

#login { min-height:30em; margin:2em auto 0; border-bottom:1px solid #f8f8f8; background:#eee; }
#login form { width:18em; margin:2em auto 5em; padding:0; }
#login a#showAdvanced { color: #555; }
#login form { width:22em; margin:2em auto 2em; padding:0; }
#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 #dbhostlabel, #login #directorylabel { display:block; margin:.95em 0 .8em -8em; }
#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; }
#login form ul.errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }

#login form #selectDbType { text-align:center; }
#login form #selectDbType label { position:static; font-size:1em; margin:0 -.3em 1em; cursor:pointer; padding:.4em; border:1px solid #ddd; font-weight:bold; background:#f8f8f8; color:#555; text-shadow:#eee 0 1px 0; -moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; }

+ 2
- 0
core/js/js.js 查看文件

@@ -290,6 +290,7 @@ $(document).ready(function(){
// 'show password' checkbox
$('#pass2').showPassword();

/* @TODO: Currently not working perfect. Remember-Checkbox is flashing.
// hide log in button etc. when form fields not filled
$('#submit').hide();
$('#remember_login').hide();
@@ -312,6 +313,7 @@ $(document).ready(function(){
$('#remember_login+label').fadeIn();
}
});
*/

if($('body').attr("id")=="body-user") { $('#settings #expanddiv').hide(); }
$('#settings #expand').click(function(event) {

+ 4
- 6
core/js/setup.js 查看文件

@@ -1,8 +1,7 @@
$(document).ready(function() {
$('#selectDbType').buttonset();
$('#datadirField').hide(250);
$('#datadirContent').hide(250);
if($('#hasSQLite').val()=='true'){
$('#databaseField').hide();
$('#use_other_db').hide();
$('#dbhost').hide();
$('#dbhostlabel').hide();
@@ -26,11 +25,10 @@ $(document).ready(function() {
$('#dbhostlabel').show(250);
});

$('input[checked]').trigger('click');

$('#showAdvanced').click(function() {
$('#datadirField').slideToggle(250);
if($('#hasSQLite').val()=='true'){
$('#databaseField').slideToggle(250);
}
$('#datadirContent').slideToggle(250);
});
$("form").submit(function(){
// Save form parameters

+ 11
- 10
core/templates/installation.php 查看文件

@@ -27,12 +27,12 @@
<legend><?php echo $l->t( 'Configure the database' ); ?></legend>
<div id="selectDbType">
<?php if($_['hasSQLite']): ?>
<input type='hidden' id='hasSQLite' value='true' />
<input type='hidden' id='hasSQLite' value="true" />
<?php if(!$hasOtherDB): ?>
<p>SQLite <?php echo $l->t( 'will be used' ); ?>.</p>
<input type="hidden" id="dbtype" name="dbtype" value="sqlite" />
<?php else: ?>
<input type="radio" name="dbtype" value='sqlite' id="sqlite" <?php OC_Helper::init_radio('dbtype', 'sqlite', 'sqlite'); ?>/>
<input type="radio" name="dbtype" value="sqlite" id="sqlite" <?php OC_Helper::init_radio('dbtype', 'sqlite', 'sqlite'); ?>/>
<label class="sqlite" for="sqlite">SQLite</label>
<?php endif; ?>
<?php endif; ?>
@@ -43,7 +43,7 @@
<p>MySQL <?php echo $l->t( 'will be used' ); ?>.</p>
<input type="hidden" id="dbtype" name="dbtype" value="mysql" />
<?php else: ?>
<input type="radio" name="dbtype" value='mysql' id="mysql" <?php OC_Helper::init_radio('dbtype','pgsql', 'mysql', 'sqlite'); ?>/>
<input type="radio" name="dbtype" value="mysql" id="mysql" <?php OC_Helper::init_radio('dbtype','mysql', 'sqlite'); ?>/>
<label class="mysql" for="mysql">MySQL</label>
<?php endif; ?>
<?php endif; ?>
@@ -54,7 +54,7 @@
<input type="hidden" id="dbtype" name="dbtype" value="pgsql" />
<?php else: ?>
<label class="pgsql" for="pgsql">PostgreSQL</label>
<input type="radio" name="dbtype" value='pgsql' id="pgsql" <?php OC_Helper::init_radio('dbtype','pgsql', 'mysql', 'sqlite'); ?>/>
<input type="radio" name="dbtype" value='pgsql' id="pgsql" <?php OC_Helper::init_radio('dbtype','pgsql', 'sqlite'); ?>/>
<?php endif; ?>
<?php endif; ?>
</div>
@@ -68,13 +68,14 @@
<?php endif; ?>

</fieldset>
<a id='showAdvanced'><strong><?php echo $l->t( 'Advanced' ); ?> ▾</strong></a>

<fieldset id='datadirField'>
<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="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 id="datadirField">
<legend><a id="showAdvanced"><?php echo $l->t( 'Advanced' ); ?> ▾</a></legend>
<div id="datadirContent">
<input type="text" name="dbhost" id="dbhost" value="<?php print OC_Helper::init_var('dbhost', 'localhost'); ?>" placeholder="<?php echo $l->t( 'Database host' ); ?>" />
<input type="text" name="directory" id="directory" value="<?php print OC_Helper::init_var('directory', $_['directory']); ?>" placeholder="<?php echo $l->t( 'Data folder' ); ?>" />
</div>
</fieldset>

<input type="submit" value="<?php echo $l->t( 'Finish setup' ); ?>" />
<div class="buttons"><input type="submit" value="<?php echo $l->t( 'Finish setup' ); ?>" /></div>
</form>

+ 6
- 6
core/templates/login.php 查看文件

@@ -1,17 +1,17 @@
<form action="index.php" method="post">
<fieldset>
<?php if($_['error']): ?>
<?php /*if($_['error']): ?>
<a href="index.php?lostpassword"><?php echo $l->t('Lost your password?'); ?></a>
<?php endif; ?>
<?php if(empty($_["username"])): ?>
<?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>
<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="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="Log in" />
</fieldset>
</form>

+ 6
- 15
index.php 查看文件

@@ -53,7 +53,7 @@ elseif(OC_User::isLoggedIn()) {
}

// remember was checked after last login
elseif(isset($_COOKIE["oc_remember_login"]) && $_COOKIE["oc_remember_login"]) {
elseif(isset($_COOKIE["oc_remember_login"]) && isset($_COOKIE["oc_token"]) && isset($_COOKIE["oc_username"]) && $_COOKIE["oc_remember_login"]) {
OC_App::loadApps();
if(defined("DEBUG") && DEBUG) {error_log("Trying to login from cookie");}
// confirm credentials in cookie
@@ -63,7 +63,7 @@ elseif(isset($_COOKIE["oc_remember_login"]) && $_COOKIE["oc_remember_login"]) {
OC_Util::redirectToDefaultPage();
}
else {
OC_Template::printGuestPage("", "login", array("error" => true));
OC_Template::printGuestPage("", "login", array("error" => true, 'username' => isset($_COOKIE['oc_username'])?$_COOKIE['oc_username']:'' ));
}
}

@@ -81,13 +81,8 @@ elseif(isset($_POST["user"]) && isset($_POST['password'])) {
OC_User::unsetMagicInCookie();
}
OC_Util::redirectToDefaultPage();
}
else {
if(isset($_COOKIE["oc_username"])){
OC_Template::printGuestPage("", "login", array("error" => true, "username" => $_COOKIE["oc_username"]));
}else{
OC_Template::printGuestPage("", "login", array("error" => true));
}
} else {
OC_Template::printGuestPage('', 'login', array('error' => true, 'username' => isset($_COOKIE['oc_username'])?$_COOKIE['oc_username']:'' ));
}
}

@@ -126,11 +121,7 @@ elseif(isset($_GET['resetpassword']) && isset($_GET['token']) && isset($_GET['us
// For all others cases, we display the guest page :
else {
OC_App::loadApps();
if(isset($_COOKIE["username"])){
OC_Template::printGuestPage("", "login", array("error" => false, "username" => $_COOKIE["username"]));
}else{
OC_Template::printGuestPage("", "login", array("error" => false));
}
OC_Template::printGuestPage('', 'login', array('error' => false, 'username' => isset($_COOKIE['oc_username'])?$_COOKIE['oc_username']:'' ));
}

?>
?>

+ 7
- 1
lib/helper.php 查看文件

@@ -266,8 +266,14 @@ class OC_Helper {
return $r;
}
/**
* returns "checked"-attribut if request contains selected radio element OR if radio element is the default one -- maybe?
* @param string $s Name of radio-button element name
* @param string $v Value of current radio-button element
* @param string $d Value of default radio-button element
*/
public static function init_radio($s, $v, $d) {
if((isset($_REQUEST[$s]) && $_REQUEST[$s]==$v) || $v == $d)
if((isset($_REQUEST[$s]) && $_REQUEST[$s]==$v) || (!isset($_REQUEST[$s]) && $v == $d))
print "checked=\"checked\" ";
}


+ 0
- 3
lib/setup.php 查看文件

@@ -55,9 +55,6 @@ class OC_Setup {
if(empty($options['dbuser'])) {
$error[] = "$dbprettyname enter the database username.";
}
if(empty($options['dbpass'])) {
$error[] = "$dbprettyname enter the database password.";
}
if(empty($options['dbname'])) {
$error[] = "$dbprettyname enter the database name.";
}

Loading…
取消
儲存