Changes in the user experience

This commit is contained in:
Jakob Sack 2011-04-16 17:49:57 +02:00
parent b5f913a3fc
commit af1e48df80
21 changed files with 239 additions and 69 deletions

View File

@ -1,14 +1,10 @@
<?php
OC_APP::register( array( "order" => 1, "id" => "admin", "name" => "Administration" ));
if( OC_GROUP::inGroup( $_SESSION['user_id'], 'admin' ))
{
OC_APP::addNavigationEntry( array( "id" => "admin_index", "order" => 1, "href" => OC_HELPER::linkTo( "admin", "index.php" ), "icon" => OC_HELPER::imagePath( "admin", "navicon.png" ), "name" => "Administration" ));
}
OC_APP::addAdminPage( array( "id" => "core_basic", "order" => 1, "href" => OC_HELPER::linkTo( "admin", "basic.php" ), "name" => "Basic Settings" ));
OC_APP::addAdminPage( array( "id" => "core_system", "order" => 2, "href" => OC_HELPER::linkTo( "admin", "system.php" ), "name" => "System settings" ));
OC_APP::addAdminPage( array( "id" => "core_users", "order" => 3, "href" => OC_HELPER::linkTo( "admin", "users.php" ), "name" => "Users" ));
OC_APP::addAdminPage( array( "id" => "core_apps", "order" => 4, "href" => OC_HELPER::linkTo( "admin", "apps.php" ), "name" => "Apps" ));
OC_APP::addAdminPage( array( "id" => "core_plugins", "order" => 5, "href" => OC_HELPER::linkTo( "admin", "plugins.php" ), "name" => "Plugins" ));
OC_APP::addAdminPage( array( "id" => "core_system", "order" => 2, "href" => OC_HELPER::linkTo( "admin", "system.php" ), "name" => "System settings", "icon" => OC_HELPER::imagePath( "admin", "navicon.png" )));
OC_APP::addAdminPage( array( "id" => "core_users", "order" => 3, "href" => OC_HELPER::linkTo( "admin", "users.php" ), "name" => "Users", "icon" => OC_HELPER::imagePath( "admin", "navicon.png" )));
OC_APP::addAdminPage( array( "id" => "core_apps", "order" => 4, "href" => OC_HELPER::linkTo( "admin", "apps.php" ), "name" => "Apps", "icon" => OC_HELPER::imagePath( "admin", "navicon.png" )));
OC_APP::addAdminPage( array( "id" => "core_plugins", "order" => 5, "href" => OC_HELPER::linkTo( "admin", "plugins.php" ), "name" => "Plugins", "icon" => OC_HELPER::imagePath( "admin", "navicon.png" )));
?>

39
admin/apps.php Normal file
View File

@ -0,0 +1,39 @@
<?php
/**
* ownCloud
*
* @author Frank Karlitschek
* @copyright 2010 Frank Karlitschek karlitschek@kde.org
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
require_once('../lib/base.php');
require( 'template.php' );
if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin' )){
header( "Location: ".OC_HELPER::linkTo( "index.php" ));
exit();
}
// We have some javascript foo!
OC_UTIL::addScript( "admin", "apps" );
$tmpl = new OC_TEMPLATE( "admin", "apps", "admin" );
$tmpl->printPage();
?>

101
admin/js/users.js Normal file
View File

@ -0,0 +1,101 @@
$(document).ready(function(){
// Dialog for adding users
$( "#adduser-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Create an account": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( "#adduser-button" )
.click(function() {
$( "#adduser-form" ).dialog( "open" );
return false;
});
// Dialog for adding users
$( "#edituser-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Edit password": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( ".edituser-button" )
.click(function() {
$( "#edituser-form" ).dialog( "open" );
return false;
});
// Dialog for adding users
$( "#removeuser-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Remove user": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( ".removeuser-button" )
.click(function() {
$( "#removeuser-form" ).dialog( "open" );
return false;
});
// Dialog for adding users
$( "#removegroup-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Remove group": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( ".removegroup-button" )
.click(function() {
$( "#removegroup-form" ).dialog( "open" );
return false;
});
} );

View File

@ -3,6 +3,6 @@
OC_APP::register( array( "order" => 2, "id" => "files", "name" => "Files" ));
OC_APP::addNavigationEntry( array( "id" => "files_index", "order" => 1, "href" => OC_HELPER::linkTo( "files", "index.php" ), "icon" => OC_HELPER::imagePath( "files", "navicon.png" ), "name" => "Files" ));
OC_APP::addAdminPage( array( "order" => 1, "href" => OC_HELPER::linkTo( "files", "admin.php" ), "name" => "Files" ));
OC_APP::addSettingsPage( array( "order" => 1, "href" => OC_HELPER::linkTo( "files", "admin.php" ), "name" => "Files" ));
?>

6
help/appinfo/app.php Normal file
View File

@ -0,0 +1,6 @@
<?php
OC_APP::register( array( "id" => "help", "name" => "Help" ));
OC_APP::addPersonalMenuEntry( array( "order" => 2, "href" => OC_HELPER::linkTo( "help", "index.php" ), "name" => "Help" ));
?>

33
help/index.php Normal file
View File

@ -0,0 +1,33 @@
<?php
require_once('../lib/base.php');
require( 'template.php' );
if( !OC_USER::isLoggedIn()){
header( "Location: ".OC_HELPER::linkTo( "index.php" ));
exit();
}
$settings = array();
// Do the work ...
if( $_POST["submit"] )
{
if( $_POST["newpassword"] != $_POST["newpasswordconfirm"] ){
// Say "Passwords not equal"
}
else{
if( OC_USER::checkPassword( $_SESSION["username"], $_POST["password"] )){
// Set password
OC_USER::setPassord( $_SESSION["username"], $_POST["newpassword"] );
}
else{
// Say "old password bad"
}
}
}
$tmpl = new OC_TEMPLATE( "help", "index", "user" );
$tmpl->assign( "settings", $settings );
$tmpl->printPage();
?>

8
help/templates/index.php Normal file
View File

@ -0,0 +1,8 @@
<?php
/*
* Template for settings page
*/
?>
<h1>Help</h1>
Help.

BIN
img/layout/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

BIN
img/layout/help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

BIN
img/layout/logout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

BIN
img/layout/settings.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

View File

@ -53,7 +53,7 @@ class OC_APP{
}
// Our very own core apps are hardcoded
foreach( array( "admin", "files", "log", "settings" ) as $app ){
foreach( array( "admin", "files", "log", "help", "settings" ) as $app ){
require( "$app/appinfo/app.php" );
}
@ -165,11 +165,22 @@ class OC_APP{
* property from all other entries. The templates can use this for
* highlighting the current position of the user.
*/
public static function activateNavigationEntry( $id ){
public static function setActiveNavigationEntry( $id ){
self::$activeapp = $id;
return true;
}
/**
* @brief gets the active Menu entry
* @returns id or empty string
*
* This function returns the id of the active navigation entry (set by
* setActiveNavigationEntry
*/
public static function getActiveNavigationEntry(){
return self::$activeapp;
}
/**
* @brief adds an entry to the personal menu
* @param $data array containing the data

View File

@ -190,11 +190,25 @@ class OC_TEMPLATE{
{
$page = new OC_TEMPLATE( "core", "layout.user" );
// Add menu data
// Add navigation entry and personal menu
$page->assign( "navigation", OC_APP::getNavigation());
$page->assign( "personalmenu", OC_APP::getPersonalMenu());
}
elseif( $this->renderas == "admin" )
{
$page = new OC_TEMPLATE( "core", "layout.admin" );
// Add menu data
$navigation = array();
if( OC_GROUP::inGroup( $_SESSION["user_id"], "admin" )){
foreach( OC_APP::getAdminPages() as $i ){
$navigation[] = $i;
}
}
foreach( OC_APP::getSettingsPages() as $i ){
$navigation[] = $i;
}
$page->assign( "navigation", $navigation );
}
else
{
@ -210,10 +224,6 @@ class OC_TEMPLATE{
$page->append( "cssfiles", "$WEBROOT/$style.css" );
}
// Add navigation entry and personal menu
$page->assign( "navigation", OC_APP::getNavigation());
$page->assign( "personalmenu", OC_APP::getPersonalMenu());
// Add css files and js files
$page->assign( "content", $data );
return $page->fetchPage();

View File

@ -1,6 +1,6 @@
<?php
OC_APP::register( array( "order" => 1, "id" => "log", "name" => "Log" ));
OC_APP::addPersonalMenuEntry( array( "order" => 2, "href" => OC_HELPER::linkTo( "log", "index.php" ), "name" => "Log" ));
OC_APP::addSettingsPage( array( "order" => 2, "href" => OC_HELPER::linkTo( "log", "index.php" ), "name" => "Log", "icon" => OC_HELPER::imagePath( "admin", "navicon.png" )));
?>

View File

@ -37,7 +37,7 @@ foreach( $logs as &$i ){
$i["action"] = OC_LOG::$TYPE[$i['type']];
}
$tmpl = new OC_TEMPLATE( "log", "index", "user" );
$tmpl = new OC_TEMPLATE( "log", "index", "admin" );
$tmpl->assign( "logs", $logs );
$tmpl->printPage();

View File

@ -2,3 +2,4 @@ audioplayer
ldap
test
textviewer
publiclink

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

View File

@ -7,27 +7,8 @@ if( !OC_USER::isLoggedIn()){
exit();
}
$settings = array();
// Do the work ...
if( $_POST["submit"] )
{
if( $_POST["newpassword"] != $_POST["newpasswordconfirm"] ){
// Say "Passwords not equal"
}
else{
if( OC_USER::checkPassword( $_SESSION["username"], $_POST["password"] )){
// Set password
OC_USER::setPassord( $_SESSION["username"], $_POST["newpassword"] );
}
else{
// Say "old password bad"
}
}
}
$tmpl = new OC_TEMPLATE( "settings", "index", "user" );
$tmpl->assign( "settings", $settings );
$tmpl = new OC_TEMPLATE( "settings", "index", "admin" );
$tmpl->printPage();
?>

View File

@ -5,20 +5,4 @@
?>
<h1>Settings</h1>
<form action="" type="">
<p>
<span>New password:</span>
<input type="password" name="newpassword" value="">
</p>
<p>
<span>Confirm new password:</span>
<input type="password" name="newpasswordconfirm" value="">
</p>
<p>
<span>Old password:</span>
<input type="password" name="password" value="">
</p>
<p>
<input type="submit" name="submit" value="Send">
</p>
</form>
Welcome to the settings! Bla bla bla

View File

@ -22,20 +22,20 @@
<a href="<?php echo link_to("", "index.php"); ?>" title="" id="owncloud"><img src="<?php echo image_path("", "owncloud-logo-small-white.png"); ?>" alt="ownCloud" /></a>
<div id="user">
<a id="user_menu_link" href="" title=""><? echo $_SESSION["user_id"] ?></a>
<ul id="user_menu">
<?php foreach($_["personalmenu"] as $entry): ?>
<li><a href="<?php echo $entry["href"]; ?>" title=""><?php echo $entry["name"]; ?></a></li>
<?php endforeach; ?>
</ul>
<a href="<?php echo link_to("","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/back.png"); ?>"></a>
<a href="<?php echo link_to("settings","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/settings.png"); ?>"></a>
<a href="<?php echo link_to("help","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/help.png"); ?>"></a>
<a href="<?php echo link_to("","index.php?logout=true"); ?>" title=""><img src="<?php echo image_path("", "layout/logout.png"); ?>"></a>
</div>
</div>
<div id="main">
<div id="plugins">
<ul>
<li><a style="background-image:url(<?php echo image_path("admin", "navicon.png"); ?>)" href="<?php echo link_to("admin", "index.php"); ?>" title="">Administration</a></li>
<li><a style="background-image:url(<?php echo image_path("", "actions/arrow-left.png"); ?>)" href="<?php echo link_to("", "index.php"); ?>" title="">Back</a></li>
<li><a style="background-image:url(<?php echo image_path("settings", "information.png"); ?>)" href="<?php echo link_to("settings", "index.php"); ?>" title="">Information</a></li>
<?php foreach($_["navigation"] as $entry):?>
<li><a style="background-image:url(<?php echo $entry["icon"]; ?>)" href="<?php echo $entry["href"]; ?>" title=""><?php echo $entry["name"] ?></a></li>
<?php endforeach; ?>
</ul>
</div>

View File

@ -22,12 +22,12 @@
<a href="<?php echo link_to("", "index.php"); ?>" title="" id="owncloud"><img src="<?php echo image_path("", "owncloud-logo-small-white.png"); ?>" alt="ownCloud" /></a>
<div id="user">
<a id="user_menu_link" href="" title=""><? echo $_SESSION["user_id"] ?></a>
<ul id="user_menu">
<?php foreach($_["personalmenu"] as $entry): ?>
<li><a href="<?php echo $entry["href"]; ?>" title=""><?php echo $entry["name"]; ?></a></li>
<?php endforeach; ?>
</ul>
<?php if( OC_APP::getActiveNavigationEntry() == "help" ): ?>
<a href="<?php echo link_to("","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/back.png"); ?>"></a>
<?php endif; ?>
<a href="<?php echo link_to("settings","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/settings.png"); ?>"></a>
<a href="<?php echo link_to("help","index.php"); ?>" title=""><img src="<?php echo image_path("", "layout/help.png"); ?>"></a>
<a href="<?php echo link_to("","index.php"); ?>?logout=true" title=""><img src="<?php echo image_path("", "layout/logout.png"); ?>"></a>
</div>
</div>