From b9656cbe2379183c4f0130206a396ed1ee2aec75 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 11:49:11 +0200
Subject: [PATCH 01/12] Delegations: Now the menu of the settings appears at
 the delegations settings

---
 mod/delegate.php | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mod/delegate.php b/mod/delegate.php
index 8c50318590..dd9caba252 100644
--- a/mod/delegate.php
+++ b/mod/delegate.php
@@ -117,6 +117,9 @@ function delegate_content(&$a) {
 			if(! in_array($rr['uid'],$uids))
 				$potentials[] = $rr;
 
+	require_once("mod/settings.php");
+	settings_init($a);
+
 	$o = replace_macros(get_markup_template('delegate.tpl'),array(
 		'$header' => t('Delegate Page Management'),
 		'$base' => $a->get_baseurl(),
@@ -136,4 +139,4 @@ function delegate_content(&$a) {
 	return $o;
 
 
-}
\ No newline at end of file
+}

From 9ae9b66328e24475766c2998a45ab6b32c68ea08 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 11:58:04 +0200
Subject: [PATCH 02/12] Export personal data: Now the settings menu on the left
 side is taken from the settings module.

---
 mod/uexport.php | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/mod/uexport.php b/mod/uexport.php
index bad924d8e8..a44620a976 100644
--- a/mod/uexport.php
+++ b/mod/uexport.php
@@ -3,19 +3,23 @@
 function uexport_init(&$a){
 	if(! local_user())
 		killme();
-        
+
+	require_once("mod/settings.php");
+        settings_init($a);
+
+/*
 	$tabs = array(
 		array(
 			'label'	=> t('Account settings'),
 			'url' 	=> $a->get_baseurl(true).'/settings',
 			'selected'	=> '',
-		),	
+		),
 		array(
 			'label'	=> t('Display settings'),
 			'url' 	=> $a->get_baseurl(true).'/settings/display',
 			'selected'	=>'',
-		),	
-		
+		),
+
 		array(
 			'label'	=> t('Connector settings'),
 			'url' 	=> $a->get_baseurl(true).'/settings/connectors',
@@ -42,17 +46,18 @@ function uexport_init(&$a){
 			'selected' => ''
 		)
 	);
-	
+
 	$tabtpl = get_markup_template("generic_links_widget.tpl");
 	$a->page['aside'] = replace_macros($tabtpl, array(
 		'$title' => t('Settings'),
 		'$class' => 'settings-widget',
 		'$items' => $tabs,
 	));
+*/
 }
 
 function uexport_content(&$a){
-    
+
     if ($a->argc > 1) {
         header("Content-type: application/json");
         header('Content-Disposition: attachment; filename="'.$a->user['nickname'].'.'.$a->argv[1].'"');
@@ -73,15 +78,15 @@ function uexport_content(&$a){
             array('/uexport/backup',t('Export all'),t('Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)')),
     );
     call_hooks('uexport_options', $options);
-        
+
     $tpl = get_markup_template("uexport.tpl");
     return replace_macros($tpl, array(
         '$baseurl' => $a->get_baseurl(),
         '$title' => t('Export personal data'),
         '$options' => $options
     ));
-    
-    
+
+
 }
 
 function _uexport_multirow($query) {
@@ -117,7 +122,7 @@ function uexport_account($a){
 	$user = _uexport_row(
         sprintf( "SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval(local_user()) )
 	);
-    
+
 	$contact = _uexport_multirow(
         sprintf( "SELECT * FROM `contact` WHERE `uid` = %d ",intval(local_user()) )
 	);
@@ -139,7 +144,7 @@ function uexport_account($a){
     $group = _uexport_multirow(
         sprintf( "SELECT * FROM `group` WHERE uid = %d",intval(local_user()) )
     );
-    
+
     $group_member = _uexport_multirow(
         sprintf( "SELECT * FROM `group_member` WHERE uid = %d",intval(local_user()) )
     );
@@ -195,4 +200,4 @@ function uexport_all(&$a) {
 		echo json_encode($output)."\n";
 	}
 
-}
\ No newline at end of file
+}

From 2e7549c945e4657caae68101e2595f342d390973 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 12:14:45 +0200
Subject: [PATCH 03/12] Show preview of the correct theme, not the mobile
 theme.

---
 view/templates/field_themeselect.tpl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/view/templates/field_themeselect.tpl b/view/templates/field_themeselect.tpl
index cde744594b..4736235815 100644
--- a/view/templates/field_themeselect.tpl
+++ b/view/templates/field_themeselect.tpl
@@ -3,12 +3,12 @@
  *	DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
  *
  *}}
-	<script>$(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>
+	{{if $field.5}}<script>$(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>{{/if}}
 	<div class='field select'>
 		<label for='id_{{$field.0}}'>{{$field.1}}</label>
 		<select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5}}onchange="previewTheme(this);"{{/if}} >
 			{{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
 		</select>
 		<span class='field_help'>{{$field.3}}</span>
-		<div id="theme-preview"></div>
+		{{if $field.5}}<div id="theme-preview"></div>{{/if}}
 	</div>

From 59c9a9adae49df60db0375a549ee999dc2214bbe Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 12:18:51 +0200
Subject: [PATCH 04/12] OAuth-settings: The "cancel" button generated an error
 message (and is superfluous), so it is removed

---
 view/templates/settings_oauth_edit.tpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/view/templates/settings_oauth_edit.tpl b/view/templates/settings_oauth_edit.tpl
index e3960bf75f..0b55b6b268 100644
--- a/view/templates/settings_oauth_edit.tpl
+++ b/view/templates/settings_oauth_edit.tpl
@@ -16,7 +16,7 @@
 
 <div class="settings-submit-wrapper" >
 <input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-<input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" />
+<!-- <input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" /> -->
 </div>
 
 </form>

From ec1f07d5b7459d354351646f0691ef70e09a0551 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 12:39:27 +0200
Subject: [PATCH 05/12] =?UTF-8?q?Only=20show=20the=20preview=20button=20wh?=
 =?UTF-8?q?en=20it=20is=20activated/Men=C3=BC=20arrangement=20changed=20fo?=
 =?UTF-8?q?r=20settings=20menu.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 view/templates/comment_item.tpl            |  2 +-
 view/templates/jot.tpl                     |  2 +-
 view/theme/vier/templates/comment_item.tpl |  2 +-
 view/theme/vier/templates/nav.tpl          | 10 +++++-----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/view/templates/comment_item.tpl b/view/templates/comment_item.tpl
index caf98168d0..8cc524283e 100644
--- a/view/templates/comment_item.tpl
+++ b/view/templates/comment_item.tpl
@@ -34,7 +34,7 @@
 				<div class="comment-edit-text-end"></div>
 				<div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" >
 					<input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
-					<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>
+					{{if $preview}}<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>{{/if}}
 					<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
 				</div>
 
diff --git a/view/templates/jot.tpl b/view/templates/jot.tpl
index bd9902159c..efa00ce20c 100644
--- a/view/templates/jot.tpl
+++ b/view/templates/jot.tpl
@@ -59,7 +59,7 @@
 		<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon {{$lockstate}}"  title="{{$permset}}" ></a>{{$bang}}
 	</div>
 
-	<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>
+	{{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}}
 
 	<div id="profile-jot-perms-end"></div>
 
diff --git a/view/theme/vier/templates/comment_item.tpl b/view/theme/vier/templates/comment_item.tpl
index b683f12424..557996ba92 100644
--- a/view/theme/vier/templates/comment_item.tpl
+++ b/view/theme/vier/templates/comment_item.tpl
@@ -46,7 +46,7 @@
 
                                 </div>
 					<input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
-					<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>
+					{{if $preview}}<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>{{/if}}
 					<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
 				</div>
 
diff --git a/view/theme/vier/templates/nav.tpl b/view/theme/vier/templates/nav.tpl
index fb3483d446..9254bbccc6 100644
--- a/view/theme/vier/templates/nav.tpl
+++ b/view/theme/vier/templates/nav.tpl
@@ -42,12 +42,12 @@
 
 		<li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear"></span></a>
 			<ul id="nav-site-menu" class="menu-popup">
-				{{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}				
-				{{if $nav.help}} <li><a class="{{$nav.help.2}}" target="friendica-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a></li>{{/if}}
-				<li><a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" >{{$nav.directory.1}}</a></li>
-				<!-- {{if $nav.delegations}}<li><a class="{{$nav.delegations.2}}" href="{{$nav.delegations.0}}" title="{{$nav.delegations.3}}">{{$nav.delegations.1}}</a></li>{{/if}} -->
-				{{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
 				{{if $nav.admin}}<li><a class="{{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" >{{$nav.admin.1}}</a></li>{{/if}}
+				{{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
+				{{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}				
+				<li><a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" >{{$nav.directory.1}}</a></li>
+				{{if $nav.help}} <li><a class="{{$nav.help.2}}" target="friendica-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a></li>{{/if}}
+				<!-- {{if $nav.delegations}}<li><a class="{{$nav.delegations.2}}" href="{{$nav.delegations.0}}" title="{{$nav.delegations.3}}">{{$nav.delegations.1}}</a></li>{{/if}} -->
 				<li><a class="{{$nav.about.2}}" href="{{$nav.about.0}}" title="{{$nav.about.3}}" >{{$nav.about.1}}</a></li>
 
 				{{if $nav.logout}}<li><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}}

From 97d8c03f336a41eb254b1a31956ce68e4a60315c Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 13:02:50 +0200
Subject: [PATCH 06/12] Vier: removed the gray line under the user menu when it
 was selected

---
 view/theme/vier/style.css | 1 +
 1 file changed, 1 insertion(+)

diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css
index 2f05b07e08..6a048aa0f1 100644
--- a/view/theme/vier/style.css
+++ b/view/theme/vier/style.css
@@ -727,6 +727,7 @@ nav #nav-messages-linkmenu.selected,
 nav #nav-user-linklabel.selected,
 nav #nav-apps-link.selected {
   background-color: #364e59;
+  border-bottom-style: none;
 }
 
 /* nav #nav-community-link { */

From 1227d071d11daf8a7b5a36a41e19334be4ff6878 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 13:27:08 +0200
Subject: [PATCH 07/12] The preview button is now a button. This is more
 consistent

---
 view/templates/jot.tpl                     | 3 ++-
 view/theme/vier/style.css                  | 8 ++++----
 view/theme/vier/templates/comment_item.tpl | 3 ++-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/view/templates/jot.tpl b/view/templates/jot.tpl
index efa00ce20c..b1c121e352 100644
--- a/view/templates/jot.tpl
+++ b/view/templates/jot.tpl
@@ -59,7 +59,8 @@
 		<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon {{$lockstate}}"  title="{{$permset}}" ></a>{{$bang}}
 	</div>
 
-	{{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}}
+	<!-- {{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}} -->
+	{{if $preview}}<input type="submit" onclick="preview_post(); return false;" id="jot-preview-link" value="{{$preview}}" />{{/if}}
 
 	<div id="profile-jot-perms-end"></div>
 
diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css
index 6a048aa0f1..57eb6725bf 100644
--- a/view/theme/vier/style.css
+++ b/view/theme/vier/style.css
@@ -1927,12 +1927,12 @@ ul.tabs a {
     margin-bottom: 10px;
 }
 
-div.pager, .birthday-notice, #jot-preview-link, .comment-edit-submit-wrapper .fakelink {
+div.pager, .birthday-notice, .comment-edit-submit-wrapper .fakelink {
     padding: 2px 7px 2px 7px;
     color: black;
 }
 
-div.pager, .birthday-notice, ul.tabs a, #jot-preview-link, .comment-edit-submit-wrapper .fakelink {
+div.pager, .birthday-notice, ul.tabs a, .comment-edit-submit-wrapper .fakelink {
     border: 1px solid lightgray;
     background: #F2F2F2;
     margin-top: 2px;
@@ -1943,11 +1943,11 @@ ul.tabs a:hover {
     color: #333;
 }
 
-#event-notice:hover, #birthday-notice:hover, ul.tabs li .active, #jot-preview-link:hover, .comment-edit-submit-wrapper .fakelink:hover {
+#event-notice:hover, #birthday-notice:hover, ul.tabs li .active, .comment-edit-submit-wrapper .fakelink:hover {
     color: black;
 }
 
-ul.tabs a:hover, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active, #jot-preview-link:hover, .comment-edit-submit-wrapper .fakelink:hover {
+ul.tabs a:hover, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active, .comment-edit-submit-wrapper .fakelink:hover {
     background-color: #e5e5e5;
     text-decoration: none;
     border: 1px solid darkgray;
diff --git a/view/theme/vier/templates/comment_item.tpl b/view/theme/vier/templates/comment_item.tpl
index 557996ba92..7cbc02e060 100644
--- a/view/theme/vier/templates/comment_item.tpl
+++ b/view/theme/vier/templates/comment_item.tpl
@@ -46,7 +46,8 @@
 
                                 </div>
 					<input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
-					{{if $preview}}<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>{{/if}}
+					{{if $preview}}<input type="submit" onclick="preview_comment({{$id}}); return false;" id="comment-edit-preview-link-{{$id}}" class="comment-edit-submit" value="{{$preview}}" />{{/if}}
+					<!-- {{if $preview}}<span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>{{/if}} -->
 					<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
 				</div>
 

From 7134d27bae4d8e4a1611ce2a2fb07fd204171c61 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 15:41:29 +0200
Subject: [PATCH 08/12] Icons for Dreamwidth and InsaneJournal

---
 images/dreamwidth.png    | Bin 0 -> 7538 bytes
 images/insanejournal.gif | Bin 0 -> 5939 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 images/dreamwidth.png
 create mode 100644 images/insanejournal.gif

diff --git a/images/dreamwidth.png b/images/dreamwidth.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe39b962eea4a8462a8ad05f1cae56f89802fa63
GIT binary patch
literal 7538
zcmeI0^-ml?w}uy}K=H+03$zq1E=%#n9g0h_Em~x8XrZ`6afd~V6xYRl+2XRel;T$0
z%H{k1g!{uyZqk#y^X8nBOirH6WReM2SCz+oLHPmz0N^TsWi%h%@;}0S_P9E)Cuu+0
z6B|htNdTZa7W>Zp>0^%Oswpo8sQgL2^O(?o0BfoM0NyMBz~`?3z|CXn^ELqB&J6(U
zngIYJsQ>_(b7qT%*kj|Fg_69?qd&&AbZfw)VL5~KT>$`2rvC`dvrq#1pCZ&*(&o|s
zI|v|@#pE{tK&+!6BdP5<e~{^wsneG<(Ba{A`}f9OkPlib7#S8smCKe&j>TD$D-+$-
z6lKjfWSJi>va8HO7d<W%&O^x`-cR__)<Wjx_$s<%m<BOfoC-n9j-MACe$II+@7{51
z!ZnYJJahfypEDY)*SM=YE!<(~UZ$G0kN`<%dHM_YSN!2Sv}QJf1e^b@$Z4gNwTzxp
z^M!=Q#i*VQWJ@{ikwd)Nj~^Rij&*v=76U0Aa<}v6sXJ$2#CdSvF##i@#5JaSt~%CO
zsmkJLQ-c2D!dkh99CF?692dedXpX?U$ofQao}-JA`^-;<Q!Hr0t|Qpbw-1cC4(>Xx
zs2N6Js^-Kgd>qHy^}l}(0<DSdI>D*n)m|{GdnvOk%#$YPk@PPgwOk#GKT^$koEqC_
zxe6FpIZ{KsPHB7O!}85Cgh^6HCk03O6!t5N?t}H@4VK#memLT6rcIs@KYczjyKxeq
zEO^AzCVCFWT>1J1w<#VRQ`hDdyY{m8s1KA!Evs{b6yW!RZ6bYexEP?KF+&?aMECCn
z1v>B1-{7>mYNYWJW=x`-vUe|Wsv82ta5@?rEpQIa9wPKGzWjIVyRV*0LQHG^wNv16
zFe2kp{kgH`Y#y9Q6Y`^!;P}f#?8$|fMr1cw(=@itz(io;&u?*127yWthbZ?$d)i#a
zQ9?->)AV?FDY!(Ifm(jFxAltn8&h%6qWGLI?Y=CUrL5$rfzA*f)kla7bGjkJ44f6~
zrmvRHF{q!E4X<Y^oM4|HUa0xw1HSgOlpao-Be@Raun0{K7sQ>z9)+gDu`WxghbON}
zH0rp53&FL-V$uGLfDCoq6U9I0cHs3jz;$v8`6={`v@5f~%q@J-$u=bVNYWh_4AhSL
zvJo3HwpzUV1q<@A>kg@yZ)cJZ-DB+)ZRI{QI;yC%7H`Or01r(Be_Q;7p$Nm=hwh`%
z)x0VAK$sum%VyFD7P}JiJ+8ij+oIW{UVU>Q56r|OIi_2A>eR?_Q%8B|MP9Z`zffOQ
zrVgU4Y$JHhdd3wB>3+-Aofr`OGu7Qx!|cxd_`s=~i|%VO^v8E+1islmxduz}XVZK9
zy1MYQX4BwlE-6Oy=~`==yW<z?Buxh(+i0nak>f>?rfbu@Eh{m4sfHsKzthpV+Cz@{
zbi=o}U;&aLYv}|l<;l-=a%J$u-4zLi$reG1hp_|C-*mB*IP^oBs!0v&n2McTz#$j`
zsoA-~Aj>?r**x>HTVkUf{@s=_f!f(YaZy+H>!wZGrr$29!YXZP;$!abPl(IC6s8t1
z^nqTj7u~pxkt^adm)SP_#&sCSSEe%Uj6vgmiu07gIg9KQ#ysQgjQYIOe4QAvT`DWp
z*6|F4HSVn8drlt)BB{XriQtI90t@0iS5n}6A^h1o#b4`~)_PIB4K#dJz9B{OIV>j-
zT+tL0WUs_x@XE%p4vra>VaTF%So(Ci<L4FZP`wvxm$O}ZTajC$B5ReQZ+Lxah1SS<
z0@DkQZ&u6$#ND7>(rTTtRfG){^3`^x$d@1X$%RgY*j@z|>Artp(Vl+qRF}5}WL1#5
z7FV|vI#A*+07CV;b~_{)v1p7LJ7AbUMU9m;s06xhqVwBne9Vsg$xT5rQXhB6{cr3*
z`j@0bo<JXc9;?}a$g%54jYuC{;bM$YtlE=I?u_FJ*?l8#5(7I?o!Q0VZ(3^TE?6fc
zsZrm&q-*~8(l)KVPUY2L<C%9vHapn|&i5a>m|Qg?R&$CBNBym6@2*mQRLRXHUp90G
z3Nuy}5dCdg);yjHckY?ahtv8(I2ZlteD8)jDTn>5f79Y3QX&YUQ#d6~U)`M|#PmtM
z2Ix2@CRq)kJlUUH`XvbyL_@Lzg69R78D=PY_#tl+vzt=ZkBsJ1qD+o6ebEc5;MAYz
zX4Jwe7r;MdUMn?O(~Lj#OtN&rPLhvN&yMdaW{5R~Rom`;%6jX4a#9zH)f$GKQ07Th
zPJ#0w%C|;ts+<%6e>x**d+NjUApJ>MWAP`-8J3$UZ5|izRkzM<&68G}k5o^}2`7Lr
z|90E)9enRGp|<#=b-9tsqw{Ne=0p312hit&A-1Zs-HcN+TsDDOL8kIb1j(*Tw9p=!
z?$A136IBIgj=C+OxWCM8d*flS{iV|I#nUS@QTtmbb_XbSna%aUg)X+CSz}MJ&dfGj
zbZ0MGX7&ai(QG9=r>bH(M3}nHUvxik)!x#F<>q9A;^avU`|NjfLd{w5)_~|ZUvzlm
z!x-a6w1@5eIM-Z<`P))$ATyTFwe9dxTXv^#u@$Wzqj^Nt`~GD+M^+T#`(8Fb$?ezb
zd+Z%bvmwezX-2EU$(=<K-GDIGub-Z754)T{$DqgOe!+|tAr-{bYmHE`p@P)soNI82
z&a*B!?zwV3zC*v+enx1bZ)Gza^4E{Koo4N?)FdX@adq)Kpwmz-7o6ltoD9jX*i6tJ
zT&al`wmO7&rWNNeyKouU*{CvgO{xyn(D}7YKR6Wkq$@IGsTu-^YQagH?NnMRTFNv4
z)Ze<Fl|~=3a3_hcnb7q6`BY$U*561?K<YdxFWU-ud%#t8umX0u%~O0E`*+SL)K{BP
zi`gVW4c9%mr)p-<`YE~@cBpewbWwr3O_4$0QJ2R$kMvPFl4V~(1+H!|hL8RGf+Iz-
zi|VLzO{=%4M!u;A$a@$#FIP>$!G3V->%+QVN=pcW`OC$f&p*2Zmqm#b5tsU06@FRO
zA={+1)bFqLWUyi#%{#5Y2m9A84cC;i!NuUq`jekVQlVzz*}{F4@3=Z%K^IWmIMsFc
z=P#PBRj&|;WR+4jB7{1@ZP<XWG;h+aFYhaX(&{_mp*p$2ZHvW1bIpUS)Q~UC2)1~F
z7=`<hdk}s*Q*nN!U)I%(L(>+N>pbBVti0JU!78Fkh_3W<Dj`b%v@y2Zi?Z06pJBkc
zqrvY?2)1B|Q|wtd>T%ucGbyT;o%@pREvaolq-ErnSYo%~vz~VC+6f_}nw(t@^k}p^
z?;|z|N-lYC3*$pLpsUZ)<1|ik7Re~o$mK1^Qlng~XWz0($&qZN2`9ziOY|!<$1ieD
zC16^I%EnE9!jKh=BcXU@XJaQIP$0-}H4#%?fcZuko)cp|odj1>E9(85$Ie2W4DN(g
z|JY%QH#Nq-6k{aLr?6-l?k~bOKPA;DHh(W_PoU_t<tLeMj$Tv`80^Q04KH+vjUHZZ
zUg-et3z&C0d~{THea$h?^&&ie2dc01%P|Z0tG%cN;kxtc?Yu=<j<NjR68`Z>Ml>^G
z&ieurWgDKb-2R-Sa4pl^VJcxy5NKD6<Bh`AWAK26FM0T|)_H^(AGA|`uOu@e6Ub#}
zNe-c~+Kp4pV@<RzB{ndSo^?A3P?VqLA9Gh$k)CyTQz3iU6A5uN+ZGA24nuJB@N5$i
z38{yfT}*K*41(Dr0_{^Yw4dteXgItsLxxy1GA$g;8AGXO@1KOOgzleX-U<$uswcp3
zUNy%@mhv44E=wZWoiwi}UjK6ZkQMZv`m~*7zxCGKqCly{cTIyhhs-sAhTq0W5ox`~
z7e%cr)u-{c^T{MPLza|M5x95)runK47Lu&|0j9OR!)G9(B2tl8IAJ@)*J5pkS5j^M
zmHF?`)iP{3%^J_ENVs!wIFOND2(BvTk00}y&Q$2LtJ|wT)o<f}kA9)hdK2q1+G?Ik
ze@>=I8L8!SuF`8@Na1rEU6R-zo|mE8bLh9-@xX+uR#6C|w3;BgT+fmqOL!$x1rMgV
ztdf~^V^-+ixXj%X*|DS)ub=~NDwYNA|6o`+0ON@!Ea5?^%2tBc-3z>zz?@`d1JV1R
zn7kGTIazBKa2*9}27+N=a9M<<UR=^*q1$N20`iHR!GN+IITkJ-E)!*+?U77uL!NAb
zEr*6CE(a__lv`9}d|veJ7n+FtRqX4N*a!lV3-CVKn~=m94EaM)`O2KhTT+{c^TzS>
zMRsDO=rbD>o9!Mwd`FrR>aRGlmwy+ths9xtQ!P|_tNUX^;*imw`#Xug)F+fi3kgfB
zG1!r;W;R-UT^{$DdZ7Q5Gv-Tb8O|34PufaA_z^3S>!*w!rU^*s>OJ|h?Qu2(6`G+k
zZy=om>%|(W1>FHleO0=f7L`DT;!dv%qp1Yd!X;;|*n+RzkNVO*H~5J_g<3ho-*L_n
zPwHkinbmL2Pg34=gDTO>K87v-VK1ZgOYa3(4hoR)Z%dxss$=-W%mDRlVQ{{$96&ja
z@Z99&++?}9B~{`^BGiEtG_ujqMfldZDq!5KcOCZqVzS<x2&r}#e37!!yW_@v=##SA
zywgg-)tQ^Wf|LQi%_1Gv(0RNV2KQp;9mWds(r;aa!VC-|40I!0m7gqZ1MLg@N<yP0
zFMQ&&pq8ODsI_-4!d=$40eQbLg5$x!g<}C7i6)Yd=_N)TFRX@TR^Nf-!}{`y@QmYm
zFwmHF2wi`uJk_}m)jd-;OJ~`E>)1;`C^qz#gFLd2t#L#KyZCUTe(Q3#;(r759U=F3
zYt8HA`t-CDzEb17sPT61x3}w2*8eGmI+EU9-pnW^maF4PWG#K|BJ^!RPLIr5uUu^b
z46Ip+JrkDnlGDSfwc7^0L2VHgQ1et!acJZvI<md&yMMi6>wrAD8eZeR_(XE0X83u%
z(SC3hOQCSi@9%V-(_Ch=;02i=!Szg^@a9>vZUb#&>eOF3W*zfxCJ&&PjfN^kMP9f=
z?I@$pN`l7v8dXlOu+~0A#3UdztJpOC)sZNaGN}rbq$PiT`8Tp(K8NC+9d9L;)f3Vz
z<*UHApJ;^(VqI%b$U5?FW^O~32d{1eWUkgv(ZG5KHn(?HFv@%>oQ&ak9jfwzkCBAX
zY!?P&x`5ZiC=$GY%c?m90&_(4*_QU6k=58I{hCPyThtEu5VM?=5eK{O<+XjqPL~cd
z^k@LgJTCfyPvWjPleY*0G;U7sU7lAK&y!_cPX+b8{y?54#uVQRzSw}O6}uuVO{;~B
z>HMUSqy7WQD5a8?UAeQ1MSM*a6{@T2(WbGQU;N1SYmD~*rnKR2JVXlBnaRv|N@`??
z^E@Crfsh?TOplz^!~xX`E8I?vrJ}KZyl%ZTQ`Nog0xuky+%c%kY<ss<rfi@|tXOFh
z!#AhZindBELHW?ebb=H|m%rW~;e!;p@6x^RYiF<Q8F8uq)g!-{pdt%xb~(faspF|D
zF%la)v+#S|>0(-?@`28TKKS1p0o>ZJo`pO3xMV9dHcTEb43so&=`zbQT+Fn(IV@!j
zUD66-Tz;y>GiaJ%=Ysueal+^hsRvbu_{}cG%p43uyzhhqBh?t()_?#h1nGv*`f;WR
z<&n?Vi<I)Jwg^s<$W;`!>#%1mC{sF|fsk>Ccg-nNdLu|J&XH8E5wcku)qc_nR%Jzg
z&+ghD_>Q_55t*2sHlx#1MU>gN{^{PzX7QEi!4xKjZU4a@Ggv5T+1W~6!W(JHxer<O
zvSCEo3l;0FXPTs)8r`m#grt<$-G(W4E0N*0n-fL#v#iaGwmYP!-mHT9$bk%ipQVW>
z9H}aZL_0L_tiZ(IMG@*r*2(st-mR9c5%IuZ%yyKvhNtMVh|z-0()u*sm>LUon;emH
zOUqoguUzky@8Pj=<)k*J)dxNb4h!KMVLQ+Dy&kyTvmCIw4lmvK^mRl_L_(CqU}ZAN
zTrY3-MWVDRwI(4Z=X{kt#g=lo?@;wA8Xltswg(mv)ZJiCJV~0H7M~W2=M8%GhJ=i|
zl;o5%n{-$yg!#K2J_SQ6OSt$gepv(q5&Ej=wP$7`dzb^^iSqcCY4JwA2k&)5Zcc(-
zC9}=~xaa5r=iOFOtitqS%E`Caj?dR3NAII*FQf~8jEWH;FsKO_YDSejhZrpk579cq
zSb5fG+9<C3(+2bC<CQw(HX@37_-Q7&!H13A-iz|eUE=EHGu)C+5Lr7%B<!WE+yPCm
zcvKv5+MgU>x>673Xe{@}CHb1lP1ijkdMQ9RS(fa<5`IDBrd%o;NH9J?KZaSM$r{-i
z(5+Di{{zj5Av0~jK^;&kCQ1iVsEwVCZ9I~$Xb-*<!k>0~N{^7KY{D!g+bJ?1JL?>l
zRthU{0d{G{6kiY33tvWZnFJPS3JqJvW(>aE8vi?Al!?r9P=590Z3l083wWB3z~_=_
z%w1CyI(~OWX^`WCoF`HMeyHpKHhXXzX0Lt5LJKo$i25zj5l3in(iCP?^M<vgtI-+s
zGkmkx;}FSK^lRc&T|NotJAJ)JRqn+h3C8c|9by@SNeKKT+ECo*RvLb+qdmei^Ub$v
zBBb)ra*o_&QljhM2_s)R*4;JSP9`4SqP^5%@V)Wv7x!eHFazyVm{U(-#%JQm8J~{w
zEkCe<d0*;r$sdxWyi@=_9<IU<2j5{C1}8aUm#!%-4dB!<3e#a&R+1m0)f!1ZwFq)v
zSyas=DLBsZ6<bdHjq~wzCtH}K*m$7#Q;xm~v=uYc8)#6s5c7KYb8%Apwd)Tx0yL(C
zvRu!b#+>K(TWKTOlm*|Fn&9wk|D}^6h=rS5U?o#?rXP4uYnj`nCy4oG%I-p@80U#B
z?Vp7Csq;lZ$Y^QLe)zz!H|$bFx~RNpQ)EoLaHY0j?bb*CDGv6FfF!<Ab$aIia~*et
zI{%5s!^`D){A~>P)_(6M?d0HK<>&?gc+S5Z;Ca!_4G0-0I>Xa93II{fv!DX`>VhIU
zW287<D`HEL6$hpqM|fkf()cdyr6cFviXlx#w_S6KnXx^dd-x2I3pxwWn3l*U?&3hE
z5Pt=t2_LTDVi=Fzt}!=2X9OD%S_>E|J_|TNE9*vA9{>WV;27_9t!~iDN}2Iw@sxf&
j4h2w<Rh6lfG7F^t7yk(SBk+&FKLY;<{3G!Hn85!4FoTv=

literal 0
HcmV?d00001

diff --git a/images/insanejournal.gif b/images/insanejournal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1c045aece3f6ae254c2263fb0a2e9dd6ba7d257b
GIT binary patch
literal 5939
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

literal 0
HcmV?d00001


From e0c5934a2873f0ee9aa324448962582a462d74c5 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Thu, 24 Apr 2014 16:41:22 +0200
Subject: [PATCH 09/12] Global CSS changed for opacity of disabled networks.

---
 view/global.css | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/view/global.css b/view/global.css
index 0191c7d7c3..b165cbd4f3 100644
--- a/view/global.css
+++ b/view/global.css
@@ -1,10 +1,14 @@
 /* List of social Networks */
-img.connector {
+img.connector, img.connector-disabled {
   height: 40px;
   margin-right: 10px;
   border-radius: 10px;
 }
 
+img.connector-disabled {
+  opacity: 0.5;
+}
+
 h3.connector {
   display: inline-block;
   vertical-align: bottom;

From 79da821c753e1a8a9a086541239130e0986afbb5 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Sat, 26 Apr 2014 01:33:33 +0200
Subject: [PATCH 10/12] Added template for Diaspora reshare

---
 view/templates/diaspora_reshare.tpl | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 view/templates/diaspora_reshare.tpl

diff --git a/view/templates/diaspora_reshare.tpl b/view/templates/diaspora_reshare.tpl
new file mode 100644
index 0000000000..c2b4bf7744
--- /dev/null
+++ b/view/templates/diaspora_reshare.tpl
@@ -0,0 +1,18 @@
+{{*
+ *	AUTOMATICALLY GENERATED TEMPLATE
+ *	DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+  <post>
+    <reshare>
+      <root_diaspora_id>{{$root_handle}}</root_diaspora_id>
+      <root_guid>{{$root_guid}}</root_guid>
+      <guid>{{$guid}}</guid>
+      <diaspora_handle>{{$handle}}</diaspora_handle>
+      <public>{{$public}}</public>
+      <created_at>{{$created}}</created_at>
+      <provider_display_name>{{$provider}}</provider_display_name>
+    </reshare>
+  </post>
+</XML>

From e75562cd6df1980b922eaa3f64a648f6a9d1c716 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Sat, 26 Apr 2014 01:35:02 +0200
Subject: [PATCH 11/12] Diaspora: support for sending native reshares. If a
 message from Diaspora is repeated, then it will be repeated as native
 reshare.

---
 include/diaspora.php | 83 ++++++++++++++++++++++++++++++++++++++------
 1 file changed, 72 insertions(+), 11 deletions(-)

diff --git a/include/diaspora.php b/include/diaspora.php
index 4db8ea321b..0b0790f022 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -2309,26 +2309,40 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
 	require_once('include/datetime.php');
 	$created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
 
-	// To-Do
 	// Detect a share element and do a reshare
 	// see: https://github.com/Raven24/diaspora-federation/blob/master/lib/diaspora-federation/entities/reshare.rb
-	$tpl = get_markup_template('diaspora_post.tpl');
-	$msg = replace_macros($tpl, array(
-		'$body' => $body,
-		'$guid' => $item['guid'],
-		'$handle' => xmlify($myaddr),
-		'$public' => $public,
-		'$created' => $created,
-		'$provider' => $item["app"]
-	));
+	if (!$item['private'] AND ($ret = diaspora_is_reshare($item["body"]))) {
+		$tpl = get_markup_template('diaspora_reshare.tpl');
+		$msg = replace_macros($tpl, array(
+			'$root_handle' => xmlify($ret['root_handle']),
+			'$root_guid' => $ret['root_guid'],
+			'$guid' => $item['guid'],
+			'$handle' => xmlify($myaddr),
+			'$public' => $public,
+			'$created' => $created,
+			'$provider' => $item["app"]
+		));
+	} else {
+		$tpl = get_markup_template('diaspora_post.tpl');
+		$msg = replace_macros($tpl, array(
+			'$body' => $body,
+			'$guid' => $item['guid'],
+			'$handle' => xmlify($myaddr),
+			'$public' => $public,
+			'$created' => $created,
+			'$provider' => $item["app"]
+		));
+	}
 
-	logger('diaspora_send_status: ' . $owner['username'] . ' -> ' . $contact['name'] . ' base message: ' . $msg, LOGGER_DATA);
+	logger('diaspora_send_status: '.$owner['username'].' -> '.$contact['name'].' base message: '.$msg, LOGGER_DATA);
 
 	$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
 	//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
 
 	$return_code = diaspora_transmit($owner,$contact,$slap,$public_batch);
 
+	logger('diaspora_send_status: guid: '.$item['guid'].' root_guid: '.$ret['root_guid'].' result '.$return_code, LOGGER_DEBUG);
+
 	if(count($images)) {
 		diaspora_send_images($item,$owner,$contact,$images,$public_batch);
 	}
@@ -2336,6 +2350,53 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
 	return $return_code;
 }
 
+function diaspora_is_reshare($body) {
+	$body = trim($body);
+
+        // Skip if it isn't a pure repeated messages
+        // Does it start with a share?
+        if (strpos($body, "[share") > 0)
+                return(false);
+
+        // Does it end with a share?
+        if (strlen($body) > (strrpos($body, "[/share]") + 8))
+                return(false);
+
+        $attributes = preg_replace("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","$1",$body);
+        // Skip if there is no shared message in there
+        if ($body == $attributes)
+                return(false);
+
+        $profile = "";
+        preg_match("/profile='(.*?)'/ism", $attributes, $matches);
+        if ($matches[1] != "")
+                $profile = $matches[1];
+
+        preg_match('/profile="(.*?)"/ism', $attributes, $matches);
+        if ($matches[1] != "")
+                $profile = $matches[1];
+
+        $ret= array();
+
+        $ret["root_handle"] = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile);
+        if ($ret["root_handle"] == $profile)
+                return(false);
+
+        $link = "";
+        preg_match("/link='(.*?)'/ism", $attributes, $matches);
+        if ($matches[1] != "")
+                $link = $matches[1];
+
+        preg_match('/link="(.*?)"/ism', $attributes, $matches);
+        if ($matches[1] != "")
+                $link = $matches[1];
+
+        $ret["root_guid"] = preg_replace("=https?://(.*)/posts/(.*)=ism", "$2", $link);
+        if ($ret["root_guid"] == $link)
+                return(false);
+
+        return($ret);
+}
 
 function diaspora_send_images($item,$owner,$contact,$images,$public_batch = false) {
 	$a = get_app();

From 2846dfeb055eed687f79e4df0c1c9971ec2e5097 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Sat, 26 Apr 2014 02:22:30 +0200
Subject: [PATCH 12/12] Ther eis now a user setting to disabled notices. The
 Diaspora reshare now checks for empty values.

---
 boot.php                            | 4 ++++
 include/diaspora.php                | 6 +++---
 mod/settings.php                    | 6 ++++++
 view/templates/settings_display.tpl | 1 +
 view/theme/vier/style.css           | 3 ++-
 5 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/boot.php b/boot.php
index 139564ec55..3a9e8c3e72 100644
--- a/boot.php
+++ b/boot.php
@@ -1255,6 +1255,10 @@ if(! function_exists('info')) {
 	 */
 	function info($s) {
 		$a = get_app();
+
+		if (local_user() AND get_pconfig(local_user(),'system','ignore_info'))
+			return;
+
 		if(! x($_SESSION,'sysmsg_info')) $_SESSION['sysmsg_info'] = array();
 		if($a->interactive)
 			$_SESSION['sysmsg_info'][] = $s;
diff --git a/include/diaspora.php b/include/diaspora.php
index 0b0790f022..3673b1fc2e 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -2341,7 +2341,7 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
 
 	$return_code = diaspora_transmit($owner,$contact,$slap,$public_batch);
 
-	logger('diaspora_send_status: guid: '.$item['guid'].' root_guid: '.$ret['root_guid'].' result '.$return_code, LOGGER_DEBUG);
+	logger('diaspora_send_status: guid: '.$item['guid'].' result '.$return_code, LOGGER_DEBUG);
 
 	if(count($images)) {
 		diaspora_send_images($item,$owner,$contact,$images,$public_batch);
@@ -2379,7 +2379,7 @@ function diaspora_is_reshare($body) {
         $ret= array();
 
         $ret["root_handle"] = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile);
-        if ($ret["root_handle"] == $profile)
+        if (($ret["root_handle"] == $profile) OR ($ret["root_handle"] == ""))
                 return(false);
 
         $link = "";
@@ -2392,7 +2392,7 @@ function diaspora_is_reshare($body) {
                 $link = $matches[1];
 
         $ret["root_guid"] = preg_replace("=https?://(.*)/posts/(.*)=ism", "$2", $link);
-        if ($ret["root_guid"] == $link)
+        if (($ret["root_guid"] == $link) OR ($ret["root_guid"] == ""))
                 return(false);
 
         return($ret);
diff --git a/mod/settings.php b/mod/settings.php
index c86ca69bb9..2519928b6d 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -265,6 +265,7 @@ function settings_post(&$a) {
 		$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme']))  : $a->user['theme']);
 		$mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme']))  : '');
 		$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile'])  : 0);
+		$noinfo = ((x($_POST,'noinfo')) ? intval($_POST['noinfo'])  : 0);
 		$infinite_scroll = ((x($_POST,'infinite_scroll')) ? intval($_POST['infinite_scroll'])  : 0);
 		$browser_update   = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
 		$browser_update   = $browser_update * 1000;
@@ -287,6 +288,7 @@ function settings_post(&$a) {
 		set_pconfig(local_user(),'system','itemspage_network', $itemspage_network);
 		set_pconfig(local_user(),'system','itemspage_mobile_network', $itemspage_mobile_network);
 		set_pconfig(local_user(),'system','no_smilies',$nosmile);
+		set_pconfig(local_user(),'system','ignore_info',$noinfo);
 		set_pconfig(local_user(),'system','infinite_scroll',$infinite_scroll);
 
 
@@ -850,6 +852,9 @@ function settings_content(&$a) {
 		$nosmile = get_pconfig(local_user(),'system','no_smilies');
 		$nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
 
+		$noinfo = get_pconfig(local_user(),'system','ignore_info');
+		$noinfo = (($noinfo===false)? '0': $noinfo); // default if not set: 0
+
 		$infinite_scroll = get_pconfig(local_user(),'system','infinite_scroll');
 		$infinite_scroll = (($infinite_scroll===false)? '0': $infinite_scroll); // default if not set: 0
 
@@ -873,6 +878,7 @@ function settings_content(&$a) {
 			'$itemspage_network'   => array('itemspage_network',  t("Number of items to display per page:"), $itemspage_network, t('Maximum of 100 items')),
 			'$itemspage_mobile_network'   => array('itemspage_mobile_network',  t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, t('Maximum of 100 items')),
 			'$nosmile'	=> array('nosmile', t("Don't show emoticons"), $nosmile, ''),
+			'$noinfo'	=> array('noinfo', t("Don't show notices"), $noinfo, ''),
 			'$infinite_scroll'	=> array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
 
 			'$theme_config' => $theme_config,
diff --git a/view/templates/settings_display.tpl b/view/templates/settings_display.tpl
index 5da575049f..a135842cf3 100644
--- a/view/templates/settings_display.tpl
+++ b/view/templates/settings_display.tpl
@@ -14,6 +14,7 @@
 {{include file="field_input.tpl" field=$itemspage_mobile_network}}
 {{include file="field_input.tpl" field=$ajaxint}}
 {{include file="field_checkbox.tpl" field=$nosmile}}
+{{include file="field_checkbox.tpl" field=$noinfo}}
 {{include file="field_checkbox.tpl" field=$infinite_scroll}}
 
 
diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css
index 57eb6725bf..5e8d97418c 100644
--- a/view/theme/vier/style.css
+++ b/view/theme/vier/style.css
@@ -1425,8 +1425,9 @@ h2 {
   /* width: 700px; */
   width: 100%;
   padding: 0;
-  margin: 10px 0;
+  margin: 10px 0px 0px 0px;
   border-bottom: 0px;
+  box-shadow: none;
 }
 
 .wall-item-bottom .comment-edit-preview {