From af1e48df80680dfa2b6e1367752a41aee750c308 Mon Sep 17 00:00:00 2001
From: Jakob Sack <kde@jakobsack.de>
Date: Sat, 16 Apr 2011 17:49:57 +0200
Subject: [PATCH] Changes in the user experience

---
 admin/appinfo/app.php        |  14 ++---
 admin/apps.php               |  39 ++++++++++++++
 admin/js/users.js            | 101 +++++++++++++++++++++++++++++++++++
 files/appinfo/app.php        |   2 +-
 help/appinfo/app.php         |   6 +++
 help/index.php               |  33 ++++++++++++
 help/templates/index.php     |   8 +++
 img/layout/back.png          | Bin 0 -> 670 bytes
 img/layout/help.png          | Bin 0 -> 670 bytes
 img/layout/logout.png        | Bin 0 -> 670 bytes
 img/layout/settings.png      | Bin 0 -> 670 bytes
 lib/app.php                  |  15 +++++-
 lib/template.php             |  18 +++++--
 log/appinfo/app.php          |   2 +-
 log/index.php                |   2 +-
 plugins/blacklist.txt        |   1 +
 settings/img/information.png | Bin 0 -> 803 bytes
 settings/index.php           |  21 +-------
 settings/templates/index.php |  18 +------
 templates/layout.admin.php   |  16 +++---
 templates/layout.user.php    |  12 ++---
 21 files changed, 239 insertions(+), 69 deletions(-)
 create mode 100644 admin/apps.php
 create mode 100644 admin/js/users.js
 create mode 100644 help/appinfo/app.php
 create mode 100644 help/index.php
 create mode 100644 help/templates/index.php
 create mode 100644 img/layout/back.png
 create mode 100644 img/layout/help.png
 create mode 100644 img/layout/logout.png
 create mode 100644 img/layout/settings.png
 create mode 100644 settings/img/information.png

diff --git a/admin/appinfo/app.php b/admin/appinfo/app.php
index 9e39a05244..2426adc9f8 100644
--- a/admin/appinfo/app.php
+++ b/admin/appinfo/app.php
@@ -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" )));
 
 ?>
diff --git a/admin/apps.php b/admin/apps.php
new file mode 100644
index 0000000000..10bfd83c9b
--- /dev/null
+++ b/admin/apps.php
@@ -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();
+
+?>
+
diff --git a/admin/js/users.js b/admin/js/users.js
new file mode 100644
index 0000000000..6d59a2efb7
--- /dev/null
+++ b/admin/js/users.js
@@ -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;
+		});
+} );
diff --git a/files/appinfo/app.php b/files/appinfo/app.php
index a3532e805d..eff45cbe6e 100644
--- a/files/appinfo/app.php
+++ b/files/appinfo/app.php
@@ -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" ));
 
 ?>
diff --git a/help/appinfo/app.php b/help/appinfo/app.php
new file mode 100644
index 0000000000..184f4d345b
--- /dev/null
+++ b/help/appinfo/app.php
@@ -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" ));
+
+?>
diff --git a/help/index.php b/help/index.php
new file mode 100644
index 0000000000..0a54ddb9cf
--- /dev/null
+++ b/help/index.php
@@ -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();
+
+?>
diff --git a/help/templates/index.php b/help/templates/index.php
new file mode 100644
index 0000000000..945969d88c
--- /dev/null
+++ b/help/templates/index.php
@@ -0,0 +1,8 @@
+<?php
+/*
+ * Template for settings page
+ */
+?>
+<h1>Help</h1>
+
+Help.
\ No newline at end of file
diff --git a/img/layout/back.png b/img/layout/back.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2d5c841335d19c0f64b9b6aafdc275dd09a2bb7
GIT binary patch
literal 670
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj
zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3
zkz!zAlJ<0Q45_$Pd(q!RB#`0w$M>_pKbt>m*Q;r10qspqN*@-Ka%i<W7=66py1SI`
z>m^k#o6`Qixjef{171B@xF}dQq-B#)^1&4AC%@E7%dX%2ervnqn+?(O5^QY`t@qCq
zJSO4t>(1oGaqr4RTyxr%KX@ZyDz)8%_e|l|_ZBmAru}T~760|`(S$`#^Y`4bKX8|w
zf2Fz^dyg)!QPDHD#j%U`WY)P>zdrr?(aIf*H`LYL`L*HBp|c0Ir(Ci%nX~_>qi1jr
z@3nUiuZ!rfF`hm*bxCc**Ei9NDp)6qPwui8i?-g?cHNB2<hSObX(o4l^<M8}x)xW}
zzVe*rvERowR`q{L-ddaWx@g6s#}Y3sG9FKv&-b>yrY8L23V(x-rA?R5v%bHUw!^%7
zqPKC=*)Pwcj23u%Xnu^DUh_s^%K3fIFYPq;cp$GVd?=1{lj5H54E^q%4S$tS6}}19
zcHgM-VuSV+|MSx`58bs}ceel2oA9=R%#5o%vyXSNG*9V^4Jc)u#T40BdU>~1?^BM5
z$haST6F4jyf+n>cSUhVz%RI9T-&O&p>z`NhhCHh_X=S|HV!+~*V3Og$5VyCXC^jls
zQ_6Y1igh#tTP}~nDaQ3?54>C@SWJG{ef3CWW@<iI`dT-D>$rr|ePzv`RuYZT`Hdly
zYU=LSov3I3cklHzHUYk$PV<~THni;WPEne0^X^ThTes7cx1W7}HUE$QMv=|(uJ#Od
a%oqH(%6|T5wwQr|fx*+&&t;ucLK6UKRW1qu

literal 0
HcmV?d00001

diff --git a/img/layout/help.png b/img/layout/help.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2d5c841335d19c0f64b9b6aafdc275dd09a2bb7
GIT binary patch
literal 670
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj
zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3
zkz!zAlJ<0Q45_$Pd(q!RB#`0w$M>_pKbt>m*Q;r10qspqN*@-Ka%i<W7=66py1SI`
z>m^k#o6`Qixjef{171B@xF}dQq-B#)^1&4AC%@E7%dX%2ervnqn+?(O5^QY`t@qCq
zJSO4t>(1oGaqr4RTyxr%KX@ZyDz)8%_e|l|_ZBmAru}T~760|`(S$`#^Y`4bKX8|w
zf2Fz^dyg)!QPDHD#j%U`WY)P>zdrr?(aIf*H`LYL`L*HBp|c0Ir(Ci%nX~_>qi1jr
z@3nUiuZ!rfF`hm*bxCc**Ei9NDp)6qPwui8i?-g?cHNB2<hSObX(o4l^<M8}x)xW}
zzVe*rvERowR`q{L-ddaWx@g6s#}Y3sG9FKv&-b>yrY8L23V(x-rA?R5v%bHUw!^%7
zqPKC=*)Pwcj23u%Xnu^DUh_s^%K3fIFYPq;cp$GVd?=1{lj5H54E^q%4S$tS6}}19
zcHgM-VuSV+|MSx`58bs}ceel2oA9=R%#5o%vyXSNG*9V^4Jc)u#T40BdU>~1?^BM5
z$haST6F4jyf+n>cSUhVz%RI9T-&O&p>z`NhhCHh_X=S|HV!+~*V3Og$5VyCXC^jls
zQ_6Y1igh#tTP}~nDaQ3?54>C@SWJG{ef3CWW@<iI`dT-D>$rr|ePzv`RuYZT`Hdly
zYU=LSov3I3cklHzHUYk$PV<~THni;WPEne0^X^ThTes7cx1W7}HUE$QMv=|(uJ#Od
a%oqH(%6|T5wwQr|fx*+&&t;ucLK6UKRW1qu

literal 0
HcmV?d00001

diff --git a/img/layout/logout.png b/img/layout/logout.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2d5c841335d19c0f64b9b6aafdc275dd09a2bb7
GIT binary patch
literal 670
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj
zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3
zkz!zAlJ<0Q45_$Pd(q!RB#`0w$M>_pKbt>m*Q;r10qspqN*@-Ka%i<W7=66py1SI`
z>m^k#o6`Qixjef{171B@xF}dQq-B#)^1&4AC%@E7%dX%2ervnqn+?(O5^QY`t@qCq
zJSO4t>(1oGaqr4RTyxr%KX@ZyDz)8%_e|l|_ZBmAru}T~760|`(S$`#^Y`4bKX8|w
zf2Fz^dyg)!QPDHD#j%U`WY)P>zdrr?(aIf*H`LYL`L*HBp|c0Ir(Ci%nX~_>qi1jr
z@3nUiuZ!rfF`hm*bxCc**Ei9NDp)6qPwui8i?-g?cHNB2<hSObX(o4l^<M8}x)xW}
zzVe*rvERowR`q{L-ddaWx@g6s#}Y3sG9FKv&-b>yrY8L23V(x-rA?R5v%bHUw!^%7
zqPKC=*)Pwcj23u%Xnu^DUh_s^%K3fIFYPq;cp$GVd?=1{lj5H54E^q%4S$tS6}}19
zcHgM-VuSV+|MSx`58bs}ceel2oA9=R%#5o%vyXSNG*9V^4Jc)u#T40BdU>~1?^BM5
z$haST6F4jyf+n>cSUhVz%RI9T-&O&p>z`NhhCHh_X=S|HV!+~*V3Og$5VyCXC^jls
zQ_6Y1igh#tTP}~nDaQ3?54>C@SWJG{ef3CWW@<iI`dT-D>$rr|ePzv`RuYZT`Hdly
zYU=LSov3I3cklHzHUYk$PV<~THni;WPEne0^X^ThTes7cx1W7}HUE$QMv=|(uJ#Od
a%oqH(%6|T5wwQr|fx*+&&t;ucLK6UKRW1qu

literal 0
HcmV?d00001

diff --git a/img/layout/settings.png b/img/layout/settings.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2d5c841335d19c0f64b9b6aafdc275dd09a2bb7
GIT binary patch
literal 670
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj
zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3
zkz!zAlJ<0Q45_$Pd(q!RB#`0w$M>_pKbt>m*Q;r10qspqN*@-Ka%i<W7=66py1SI`
z>m^k#o6`Qixjef{171B@xF}dQq-B#)^1&4AC%@E7%dX%2ervnqn+?(O5^QY`t@qCq
zJSO4t>(1oGaqr4RTyxr%KX@ZyDz)8%_e|l|_ZBmAru}T~760|`(S$`#^Y`4bKX8|w
zf2Fz^dyg)!QPDHD#j%U`WY)P>zdrr?(aIf*H`LYL`L*HBp|c0Ir(Ci%nX~_>qi1jr
z@3nUiuZ!rfF`hm*bxCc**Ei9NDp)6qPwui8i?-g?cHNB2<hSObX(o4l^<M8}x)xW}
zzVe*rvERowR`q{L-ddaWx@g6s#}Y3sG9FKv&-b>yrY8L23V(x-rA?R5v%bHUw!^%7
zqPKC=*)Pwcj23u%Xnu^DUh_s^%K3fIFYPq;cp$GVd?=1{lj5H54E^q%4S$tS6}}19
zcHgM-VuSV+|MSx`58bs}ceel2oA9=R%#5o%vyXSNG*9V^4Jc)u#T40BdU>~1?^BM5
z$haST6F4jyf+n>cSUhVz%RI9T-&O&p>z`NhhCHh_X=S|HV!+~*V3Og$5VyCXC^jls
zQ_6Y1igh#tTP}~nDaQ3?54>C@SWJG{ef3CWW@<iI`dT-D>$rr|ePzv`RuYZT`Hdly
zYU=LSov3I3cklHzHUYk$PV<~THni;WPEne0^X^ThTes7cx1W7}HUE$QMv=|(uJ#Od
a%oqH(%6|T5wwQr|fx*+&&t;ucLK6UKRW1qu

literal 0
HcmV?d00001

diff --git a/lib/app.php b/lib/app.php
index 9f1ce6f104..b08733e04d 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -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
diff --git a/lib/template.php b/lib/template.php
index c36b1e7a36..fcf6334b95 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -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();
diff --git a/log/appinfo/app.php b/log/appinfo/app.php
index d3e848e960..fd53d1ec22 100644
--- a/log/appinfo/app.php
+++ b/log/appinfo/app.php
@@ -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" )));
 
 ?>
diff --git a/log/index.php b/log/index.php
index a401a38fa1..23194f18a6 100644
--- a/log/index.php
+++ b/log/index.php
@@ -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();
 
diff --git a/plugins/blacklist.txt b/plugins/blacklist.txt
index 08c79e5e75..e113a39d0b 100644
--- a/plugins/blacklist.txt
+++ b/plugins/blacklist.txt
@@ -2,3 +2,4 @@ audioplayer
 ldap
 test
 textviewer
+publiclink
diff --git a/settings/img/information.png b/settings/img/information.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbabb0e54a5f50e447982e63d9b9777c1bab64c0
GIT binary patch
literal 803
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj
zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3
zkz!zATHxv87*cVobn<;~kwB5-`^%r5JNNIBukh45okSOwv@ZJ&F8LOxR~y?ER65qY
z5RXi3iICL(G9fcS;oAf6F9G!qLN~n=n-=oBW=!hxw%sy&^VwbJ-kdvg?(MzUu#iv8
z?bVjgYxbw}89PfP-(YySutQ>Ql*V)wr>Ly*ql`Cfbma7|ZMf*L?_0@|Lc25@y}Lm%
zdpB>|q46Np!zNKG>e7t0THnjRY>|~?e(>kKgH=J^2Jdg8rQ7A#hp*Oh4iJ@Glw+xv
zw5xIZ<nF#@>TGUG>bqM`S~YJH-n)HUSl;{H#k(Y<PPOezI=udrfW%Clt{SdwQ&&~|
zEEFsLeDU}F_Vexx8|E-(?%6keTA0t>yzH;D#ZLS3{?d3i?-sw~ldIuNeArtU6!$l^
zueYCJviR!qdv|6}Q&`}YUwqfDK4$xm6mHMMO%ux$yj@y$e2&@ot@z}DiLbQodr3{4
zBf`|grnLIU>CLRu&ho6|>vOhQc<g#)cX%K}=e6fN9%r8lvHVR`64cuikg(*r1lJZj
z3D(4j+U8YG3>yqq?hJC8_*KY2{NxngRTd`{s|!~AmbLpT*QzjeX~A8cFHd>CqzG+n
z;Y`UrpeB@h|CedehqRicw2e&~avJv(G87oRL{)@1IgTw-+rcaz(Qwq?y~DWB>~Bt|
z(}PX&1(!s7x^+(;t`0dcaRXN<qtesnoeoj#Z@$P_{M73#Q4%e7cv7=@k<;sZC&ssd
zvI~9{S2lcb33+pC=R0R5Us>l5t$GRWx&k`P_f_>5{VBQhbMDvs2mV+jygGmL$bq9@
z*<?)0c$}A|D_r%uA<XpV?$4F;SQDP{tE68lmHo|XXK#7hVl`W~BCmN=h`cP*)Wc!N
zK6b1U`fy{)!|AC}Z_h>C|Lyz#Sg(ia^h1kI?c;IV$oZdPI)_f2mVgrv0|Nttr>mdK
II;Vst01O#lh5!Hn

literal 0
HcmV?d00001

diff --git a/settings/index.php b/settings/index.php
index 85e4281c91..31db326f6b 100644
--- a/settings/index.php
+++ b/settings/index.php
@@ -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();
 
 ?>
diff --git a/settings/templates/index.php b/settings/templates/index.php
index 20410e06d1..106d313c01 100644
--- a/settings/templates/index.php
+++ b/settings/templates/index.php
@@ -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
\ No newline at end of file
diff --git a/templates/layout.admin.php b/templates/layout.admin.php
index 85eba13827..ea352a0fb7 100644
--- a/templates/layout.admin.php
+++ b/templates/layout.admin.php
@@ -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>
 
diff --git a/templates/layout.user.php b/templates/layout.user.php
index 9fc4f97e1d..be14cc0fc0 100644
--- a/templates/layout.user.php
+++ b/templates/layout.user.php
@@ -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>
 
-- 
GitLab