From 0b5d7b300e90324d0931837550cac5a9ed348f97 Mon Sep 17 00:00:00 2001
From: rabuzarus <>
Date: Mon, 8 Feb 2016 23:15:20 +0100
Subject: [PATCH] contactedit-actions-button: adjust the themes and template
 polishing

---
 mod/contacts.php                              |   9 +-
 view/global.css                               |  30 +++-
 view/templates/contact_edit.tpl               | 167 ++++++++----------
 view/theme/duepuntozero/style.css             |  43 +++--
 view/theme/frost-mobile/js/main.js            |   1 -
 view/theme/frost-mobile/style.css             |  58 +++++-
 .../frost-mobile/templates/contact_edit.tpl   |  83 +++++----
 view/theme/frost/style.css                    |  64 ++++++-
 view/theme/frost/templates/contact_edit.tpl   |  84 +++++----
 view/theme/quattro/dark/style.css             |   5 +-
 view/theme/quattro/green/style.css            |   5 +-
 view/theme/quattro/lilac/style.css            |  11 +-
 view/theme/quattro/quattro.less               |  29 +--
 view/theme/smoothly/style.css                 |  48 +++--
 view/theme/vier/style.css                     | 132 +++++++++-----
 view/theme/vier/templates/contact_edit.tpl    |  99 +++++++++++
 16 files changed, 584 insertions(+), 284 deletions(-)
 create mode 100644 view/theme/vier/templates/contact_edit.tpl

diff --git a/mod/contacts.php b/mod/contacts.php
index 53fb96c5b..77176f6ca 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -565,6 +565,7 @@ function contacts_content(&$a) {
 			($contact['rel'] == CONTACT_IS_FOLLOWER))
 			$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
 
+		// Load contactact related actions like hide, suggest, delete and others
 		$contact_actions = contact_actions($contact);
 
 
@@ -586,7 +587,7 @@ function contacts_content(&$a) {
 			'$lblcrepair' => t("Repair URL settings"),
 			'$lblrecent' => t('View conversations'),
 			'$lblsuggest' => $lblsuggest,
-			'$delete' => t('Delete contact'),
+			//'$delete' => t('Delete contact'),
 			'$nettype' => $nettype,
 			'$poll_interval' => $poll_interval,
 			'$poll_enabled' => $poll_enabled,
@@ -627,6 +628,8 @@ function contacts_content(&$a) {
 			'$keywords_label' => t("Tags:"),
 			'$contact_action_button' => t("Actions"),
 			'$contact_actions' => $contact_actions,
+			'$contact_status' => t("Status"),
+			'$contact_settings_label' => t('Contact Settings'),
 
 		));
 
@@ -970,7 +973,7 @@ function _contact_detail_for_template($rr){
 function contact_actions($contact) {
 
 	$poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2));
-	$contact_action_menu = array();
+	$contact_action = array();
 
 	if($contact['network'] === NETWORK_DFRN) {
 		$contact_actions['suggest'] = array(
@@ -1032,5 +1035,5 @@ function contact_actions($contact) {
 						'id'	=> 'delete',
 				);
 
-	return $contact_action_menu;
+	return $contact_actions;
 }
diff --git a/view/global.css b/view/global.css
index df001ed36..41af643ec 100644
--- a/view/global.css
+++ b/view/global.css
@@ -15,12 +15,16 @@
   padding: 5px 10px;
   text-align: center;
 }
+a.btn, a.btn:hover {
+  text-decoration: none;
+  color: inherit;
+}
 
-ul.menu-popup li.divider {
+.menu-popup .divider {
   height: 1px;
   margin: 3px 0;
   overflow: hidden;
-  background-color: #2d2d2d;;
+  background-color: #2d2d2d;
 }
 
 /* List of social Networks */
@@ -375,6 +379,24 @@ td.federation-data {
 }
 
 /* contact-edit */
+#contact-edit-status-wrapper {
+  border: 1px solid;
+  padding: 10px;
+}
 #contact-edit-actions {
-    float: right;
-}
\ No newline at end of file
+  float: right;
+  display: inline-block;
+  position: relative;
+}
+#contact-edit-actions > .menu-popup {
+  right: 0;
+  left: auto;
+}
+
+#contact-edit-settings-label:after {
+  content: ' ยป';
+}
+
+#contact-edit-settings {
+  display: none;
+}
diff --git a/view/templates/contact_edit.tpl b/view/templates/contact_edit.tpl
index 682ebfa36..91ef45127 100644
--- a/view/templates/contact_edit.tpl
+++ b/view/templates/contact_edit.tpl
@@ -1,110 +1,99 @@
+
 {{if $header}}<h2>{{$header}}</h2>{{/if}}
 
 <div id="contact-edit-wrapper" >
 
+	{{* Insert Tab-Nav *}}
 	{{$tab_str}}
 
-	<div id="contact-edit-actions">
-		<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
-
-		<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
-			{{if $lblsuggest}}<li><a  href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
-			{{if $poll_enabled}}<li><a  href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
-			<li><a  href="#" title="{{$contact_actions.repair.title}}" onclick="window.location.href='{{$contact_actions.repair.url}}'; return false;">{{$contact_actions.repair.label}}</a></li>
-			<li class="divider"></li>
-			<li><a  href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
-			<li><a  href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
-			<li><a  href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
-			<li><a  href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
-		</ul>
-	</div>
-
-	<div id="contact-edit-drop-link" >
-		<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();"  title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);"></a>
-	</div>
-
-	<div id="contact-edit-drop-link-end"></div>
-
 
 	<div id="contact-edit-nav-wrapper" >
 		<div id="contact-edit-links">
-			<ul>
-				{{if $relation_text}}
-					<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
-				{{/if}}
-				{{if $lost_contact}}
-					<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
-				{{/if}}
-				{{if $insecure}}
-					<li><div id="insecure-message">{{$insecure}}</div></li>
-				{{/if}}
-				{{if $blocked}}
-					<li><div id="block-message">{{$blocked}}</div></li>
-				{{/if}}
-				{{if $ignored}}
-					<li><div id="ignore-message">{{$ignored}}</div></li>
-				{{/if}}
-				{{if $archived}}
-					<li><div id="archive-message">{{$archived}}</div></li>
-				{{/if}}
-			</ul>
+			<div id="contact-edit-status-wrapper">
+				<span id="contact-edit-contact-status">{{$contact_status}}</span>
 
-			<ul>
-				<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
-				{{if $lblsuggest}}
-					<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
-				{{/if}}
-				{{if $follow}}
-					<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>
-				{{/if}}
+				{{* This is the Action menu where contact related actions like 'ignore', 'hide' can be performed *}}
+				<div id="contact-edit-actions">
+					<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
 
-			</ul>
+					<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
+						{{if $lblsuggest}}<li role="menuitem"><a  href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
+						{{if $poll_enabled}}<li role="menuitem"><a  href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.repair.title}}" onclick="window.location.href='{{$contact_actions.repair.url}}'; return false;">{{$contact_actions.repair.label}}</a></li>
+						<li class="divider"></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
+					</ul>
+				</div>
 
+				{{* Block with status information about the contact *}}
+				<ul>
+					{{if $relation_text}}<li><div id="contact-edit-rel">{{$relation_text}}</div></li>{{/if}}
+
+					{{if $poll_enabled}}
+						<li><div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
+						{{if $poll_interval}}
+							<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
+						{{/if}}
+						</li>
+					{{/if}}
+
+					{{if $lost_contact}}<li><div id="lost-contact-message">{{$lost_contact}}</div></li>{{/if}}
+					{{if $insecure}}<li><div id="insecure-message">{{$insecure}}</div></li>	{{/if}}
+					{{if $blocked}}<li><div id="block-message">{{$blocked}}</div></li>{{/if}}
+					{{if $ignored}}<li><div id="ignore-message">{{$ignored}}</div></li>{{/if}}
+					{{if $archived}}<li><div id="archive-message">{{$archived}}</div></li>{{/if}}
+				</ul>
+
+				<ul>
+					<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
+					{{if $follow}}<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>{{/if}}
+				</ul>
+			</div> {{* End of contact-edit-status-wrapper *}}
+
+			{{* Some information about the contact from the profile *}}
 			<dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
 			{{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
 			{{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
 			{{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
-		</div>
-	</div>
-	<div id="contact-edit-nav-end"></div>
+		</div>{{* End of contact-edit-links *}}
 
-<hr />
+		<div id="contact-edit-links-end"></div>
 
-<form action="contacts/{{$contact_id}}" method="post" >
-<input type="hidden" name="contact_id" value="{{$contact_id}}">
+		<hr />
 
-	<div id="contact-edit-poll-wrapper">
-		{{if $poll_enabled}}
-			<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
-			{{if $poll_interval}}
-				<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
+		<h4 id="contact-edit-settings-label" class="fakelink" onclick="openClose('contact-edit-settings')">{{$contact_settings_label}}</h4>
+		<div id="contact-edit-settings">
+			<form action="contacts/{{$contact_id}}" method="post" >
+			<input type="hidden" name="contact_id" value="{{$contact_id}}">
+
+				<div id="contact-edit-end" ></div>
+				{{include file="field_checkbox.tpl" field=$notify}}
+				{{if $fetch_further_information}}
+					{{include file="field_select.tpl" field=$fetch_further_information}}
+					{{if $fetch_further_information.2 == 2 }} {{include file="field_textarea.tpl" field=$ffi_keyword_blacklist}} {{/if}}
+				{{/if}}
+				{{include file="field_checkbox.tpl" field=$hidden}}
+
+			<div id="contact-edit-info-wrapper">
+				<h4>{{$lbl_info1}}</h4>
+				<textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea>
+				<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+			</div>
+			<div id="contact-edit-info-end"></div>
+
+			{{if $profile_select}}
+				<div id="contact-edit-profile-select-text">
+				<h4>{{$lbl_vis1}}</h4>
+				<p>{{$lbl_vis2}}</p> 
+				</div>
+				{{$profile_select}}
+				<div id="contact-edit-profile-select-end"></div>
+				<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
 			{{/if}}
-			<span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
-		{{/if}}
-	</div>
-	<div id="contact-edit-end" ></div>
-	{{include file="field_checkbox.tpl" field=$notify}}
-	{{if $fetch_further_information}}
-		{{include file="field_select.tpl" field=$fetch_further_information}}
-		{{if $fetch_further_information.2 == 2 }} {{include file="field_textarea.tpl" field=$ffi_keyword_blacklist}} {{/if}}
-	{{/if}}
-	{{include file="field_checkbox.tpl" field=$hidden}}
-
-<div id="contact-edit-info-wrapper">
-<h4>{{$lbl_info1}}</h4>
-	<textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea>
-	<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
-</div>
-<div id="contact-edit-info-end"></div>
-
-{{if $profile_select}}
-	<div id="contact-edit-profile-select-text">
-	<h4>{{$lbl_vis1}}</h4>
-	<p>{{$lbl_vis2}}</p> 
-	</div>
-	{{$profile_select}}
-	<div id="contact-edit-profile-select-end"></div>
-	<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
-{{/if}}
-</form>
+			</form>
+		</div>
+	</div>{{* End of contact-edit-nav-wrapper *}}
 </div>
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index c004eb53d..787e52600 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -83,6 +83,26 @@ blockquote {
 	margin-right: 5px;
 }
 
+ul.menu-popup {
+	position: absolute;
+	display: none;
+	width: auto;
+	margin: 2px 0 0;
+	padding: 0px;
+	list-style: none;
+	z-index: 100000;
+	border: 2px solid #444444;
+	background: #FFFFFF;
+}
+.menu-popup li a {
+	padding: 2px;
+	white-space: nowrap;
+}
+
+a.btn, a.btn:hover {
+	text-decoration: none;
+	color: inherit;
+}
 
 
 /* nav */
@@ -140,12 +160,12 @@ nav #banner #logo-text a:hover { text-decoration: none; }
 
 
 .nav-commlink, .nav-login-link {
-    display: block;
-    height: 15px;
+	display: block;
+	height: 15px;
 	margin-top: 67px;
 	margin-right: 2px;
-	//padding: 6px 10px;
-       padding: 6px 3px;
+	/*padding: 6px 10px;*/
+	padding: 6px 3px;
 	float: left;
 	bottom: 140px;
 	border: 1px solid #babdb6;
@@ -244,7 +264,7 @@ section {
 	display:block;
 	float:left;
 	padding: 0.4em;
-	//margin-right: 1em;
+	/*margin-right: 1em;*/
 	margin-right: 3px ;
 }
 .tab.active {
@@ -3371,17 +3391,6 @@ div.jGrowl div.info {
 .nav-notify.show {
 	display: block;
 }
-ul.menu-popup {
-	position: absolute;
-	display: none;
-	width: 10em;
-	margin: 0px;
-	padding: 0px;
-	list-style: none;
-	z-index: 100000;
-	top: 90px;
-	left: 200px;
-}
 #nav-notifications-menu {
 	width: 320px;
 	max-height: 400px;
@@ -3391,6 +3400,8 @@ ul.menu-popup {
 	-webkit-border-radius: 5px;
 	border-radius:5px;
 	border: 1px solid #888;
+	top: 90px;
+	left: 200px;
 }
 #nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
 #nav-notifications-menu img { float: left; margin-right: 5px; }
diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js
index 9eac71be8..7e2880594 100644
--- a/view/theme/frost-mobile/js/main.js
+++ b/view/theme/frost-mobile/js/main.js
@@ -13,7 +13,6 @@
 		if($(listID).is(":visible")) {
 			$(listID).hide();
 			$(listID+"-wrapper").show();
-			alert($(listID+"-wrapper").attr("id"));
 		}
 		else {
 			$(listID).show();
diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css
index 400b23c10..a99cc17a9 100644
--- a/view/theme/frost-mobile/style.css
+++ b/view/theme/frost-mobile/style.css
@@ -139,6 +139,47 @@ blockquote {
 	margin-right: 5px;
 }
 
+.btn {
+	outline: none;
+	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
+	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
+	box-shadow: inset 0px 1px 0px 0px #ffffff;
+	background-color: #ededed;
+	text-indent: 0;
+	border: 1px solid #dcdcdc;
+	display: inline-block;
+	color: #777777;
+	padding: 5px 10px;
+	text-align: center;
+	border-radius: 8px;
+}
+
+.menu-popup {
+	width: auto;
+	border: 2px solid #444444;
+	background: #FFFFFF;
+	position: absolute;
+	margin: 2px 0 0;
+	display: none;
+	z-index: 10000;
+}
+
+.menu-popup li a {
+	display: block;
+	padding: 2px;
+}
+
+.menu-popup li a:hover {
+	color: #FFFFFF;
+	background: #3465A4;
+	text-decoration: none;
+}
+ul.menu-popup li.divider {
+	height: 1px;
+	margin: 3px 0;
+	overflow: hidden;
+	background-color: #2d2d2d;
+}
 
 
 /* nav */
@@ -2045,6 +2086,19 @@ input#profile-jot-email {
 	margin-left: 15px;
 }
 
+#contact-edit-status-wrapper {
+	padding: 10px;
+	border: 1px solid #aaa;
+	border-radius: 8px;
+}
+
+#contact-edit-contact-status {
+	font-weight: bold;
+}
+#contact-edit-actions {
+	float: right;
+	display: inline-block;
+}
 #contact-edit-wrapper {
 	margin-top: 10px;
 }
@@ -2059,14 +2113,10 @@ input#profile-jot-email {
 }
 
 #contact-edit-last-update-text {
-	float: left;
-	clear: left;
 	margin-top: 30px;
 }
 
 #contact-edit-poll-text {
-	float: left;
-	clear: left;
 	margin-top: 15px;
 	margin-bottom: 0px;
 }
diff --git a/view/theme/frost-mobile/templates/contact_edit.tpl b/view/theme/frost-mobile/templates/contact_edit.tpl
index e6401de60..48df4a028 100644
--- a/view/theme/frost-mobile/templates/contact_edit.tpl
+++ b/view/theme/frost-mobile/templates/contact_edit.tpl
@@ -6,12 +6,6 @@
 
 	{{$tab_str}}
 
-	<div id="contact-edit-drop-link" >
-		<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();"  title="{{$delete}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);"*}}></a>
-	</div>
-
-	<div id="contact-edit-drop-link-end"></div>
-
 	<div class="vcard">
 		<div class="fn">{{$name}}</div>
 		<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
@@ -20,41 +14,50 @@
 
 	<div id="contact-edit-nav-wrapper" >
 		<div id="contact-edit-links">
-			<ul>
-				<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
-				<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
-				{{if $lost_contact}}
-					<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
-				{{/if}}
-				{{if $insecure}}
-					<li><div id="insecure-message">{{$insecure}}</div></li>
-				{{/if}}
-				{{if $blocked}}
-					<li><div id="block-message">{{$blocked}}</div></li>
-				{{/if}}
-				{{if $ignored}}
-					<li><div id="ignore-message">{{$ignored}}</div></li>
-				{{/if}}
-				{{if $archived}}
-					<li><div id="archive-message">{{$archived}}</div></li>
-				{{/if}}
+			<div id="contact-edit-status-wrapper">
+				<span id="contact-edit-contact-status">{{$contact_status}}</span>
 
-				<li>&nbsp;</li>
+				<div id="contact-edit-actions">
+					<div class="btn" id="contact-edit-actions-button" onclick="openClose('contact-actions-menu')">{{$contact_action_button}}</div>
 
-				{{if $common_text}}
-					<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
-				{{/if}}
-				{{if $all_friends}}
-					<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
-				{{/if}}
+					<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
+						{{if $lblsuggest}}<li role="menuitem"><a  href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
+						{{if $poll_enabled}}<li role="menuitem"><a  href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.repair.title}}" onclick="window.location.href='{{$contact_actions.repair.url}}'; return false;">{{$contact_actions.repair.label}}</a></li>
+						<li class="divider"></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
+					</ul>
+				</div>
 
+				<ul>
+					<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
+					<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
+					{{if $poll_enabled}}
+						<div id="contact-edit-poll-wrapper">
+							<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
+						</div>
+					{{/if}}
+					{{if $lost_contact}}
+						<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
+					{{/if}}
+					{{if $insecure}}
+						<li><div id="insecure-message">{{$insecure}}</div></li>
+					{{/if}}
+					{{if $blocked}}
+						<li><div id="block-message">{{$blocked}}</div></li>
+					{{/if}}
+					{{if $ignored}}
+						<li><div id="ignore-message">{{$ignored}}</div></li>
+					{{/if}}
+					{{if $archived}}
+						<li><div id="archive-message">{{$archived}}</div></li>
+					{{/if}}
 
-				<li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
-				{{if $lblsuggest}}
-					<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
-				{{/if}}
-
-			</ul>
+				</ul>
+			</div>
 		</div>
 	</div>
 	<div id="contact-edit-nav-end"></div>
@@ -63,12 +66,6 @@
 <form action="contacts/{{$contact_id}}" method="post" >
 <input type="hidden" name="contact_id" value="{{$contact_id}}">
 
-	{{if $poll_enabled}}
-		<div id="contact-edit-poll-wrapper">
-			<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
-			<span id="contact-edit-poll-text">{{$updpub}} {{$poll_interval}}</span> <span id="contact-edit-update-now" class="button"><a id="update_now_link" href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
-		</div>
-	{{/if}}
 	<div id="contact-edit-end" ></div>
 
 	{{include file="field_checkbox.tpl" field=$hidden}}
diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css
index 3dd400c76..1054b55c1 100644
--- a/view/theme/frost/style.css
+++ b/view/theme/frost/style.css
@@ -113,6 +113,51 @@ blockquote {
 
 .pull-right { float: right }
 
+.btn {
+	outline: none;
+	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
+	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
+	box-shadow: inset 0px 1px 0px 0px #ffffff;
+	background-color: #ededed;
+	text-indent: 0;
+	border: 1px solid #dcdcdc;
+	display: inline-block;
+	color: #777777;
+	padding: 5px 10px;
+	text-align: center;
+	border-radius: 8px;
+}
+a.btn {
+	text-decoration: none;
+	color: inherit;
+}
+
+.menu-popup {
+	width: auto;
+	border: 2px solid #444444;
+	background: #FFFFFF;
+	position: absolute;
+	margin: 2px 0 0;
+	display: none;
+	z-index: 10000;
+}
+
+.menu-popup li a {
+	display: block;
+	padding: 2px;
+}
+
+.menu-popup li a:hover {
+	color: #FFFFFF;
+	background: #3465A4;
+	text-decoration: none;
+}
+ul.menu-popup li.divider {
+	height: 1px;
+	margin: 3px 0;
+	overflow: hidden;
+	background-color: #2d2d2d;
+}
 
 
 /* nav */
@@ -1952,6 +1997,20 @@ input#dfrn-url {
 	margin-left: 15px;
 }
 
+#contact-edit-status-wrapper {
+	padding: 10px;
+	border: 1px solid #aaa;
+	border-radius: 8px;
+}
+
+#contact-edit-contact-status {
+	font-weight: bold;
+}
+#contact-edit-actions {
+	float: right;
+	display: inline-block;
+}
+
 #contact-edit-wrapper {
 	margin-top: 10px;
 }
@@ -1989,11 +2048,6 @@ input#dfrn-url {
 	margin-top: 5px;
 }
 
-#contact-edit-drop-link {
-	float: right;
-	margin-right: 20px;
-}
-
 #contact-edit-nav-end {
 	clear: both;
 }
diff --git a/view/theme/frost/templates/contact_edit.tpl b/view/theme/frost/templates/contact_edit.tpl
index 731c5e0d4..76cfd7792 100644
--- a/view/theme/frost/templates/contact_edit.tpl
+++ b/view/theme/frost/templates/contact_edit.tpl
@@ -6,50 +6,52 @@
 
 	{{$tab_str}}
 
-	<div id="contact-edit-drop-link" >
-		<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();"  title="{{$delete}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);"*}}></a>
-	</div>
-
-	<div id="contact-edit-drop-link-end"></div>
-
-
 	<div id="contact-edit-nav-wrapper" >
 		<div id="contact-edit-links">
-			<ul>
-				<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
-				<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
-				{{if $lost_contact}}
-					<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
-				{{/if}}
-				{{if $insecure}}
-					<li><div id="insecure-message">{{$insecure}}</div></li>
-				{{/if}}
-				{{if $blocked}}
-					<li><div id="block-message">{{$blocked}}</div></li>
-				{{/if}}
-				{{if $ignored}}
-					<li><div id="ignore-message">{{$ignored}}</div></li>
-				{{/if}}
-				{{if $archived}}
-					<li><div id="archive-message">{{$archived}}</div></li>
-				{{/if}}
+			<div id="contact-edit-status-wrapper">
+				<span id="contact-edit-contact-status">{{$contact_status}}</span>
 
-				<li>&nbsp;</li>
+				<div id="contact-edit-actions">
+					<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
 
-				{{if $common_text}}
-					<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
-				{{/if}}
-				{{if $all_friends}}
-					<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
-				{{/if}}
+					<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
+						{{if $lblsuggest}}<li role="menuitem"><a  href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
+						{{if $poll_enabled}}<li role="menuitem"><a  href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.repair.title}}" onclick="window.location.href='{{$contact_actions.repair.url}}'; return false;">{{$contact_actions.repair.label}}</a></li>
+						<li class="divider"></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
+					</ul>
+				</div>
 
+				<ul>
+					<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
+					<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
+					{{if $poll_enabled}}
+						<div id="contact-edit-poll-wrapper">
+							<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
+						</div>
+					{{/if}}
+					{{if $lost_contact}}
+						<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
+					{{/if}}
+					{{if $insecure}}
+						<li><div id="insecure-message">{{$insecure}}</div></li>
+					{{/if}}
+					{{if $blocked}}
+						<li><div id="block-message">{{$blocked}}</div></li>
+					{{/if}}
+					{{if $ignored}}
+						<li><div id="ignore-message">{{$ignored}}</div></li>
+					{{/if}}
+					{{if $archived}}
+						<li><div id="archive-message">{{$archived}}</div></li>
+					{{/if}}
 
-				<li><a href="network/?cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
-				{{if $lblsuggest}}
-					<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
-				{{/if}}
-
-			</ul>
+				</ul>
+			</div>
 		</div>
 	</div>
 	<div id="contact-edit-nav-end"></div>
@@ -58,12 +60,6 @@
 <form action="contacts/{{$contact_id}}" method="post" >
 <input type="hidden" name="contact_id" value="{{$contact_id}}">
 
-	{{if $poll_enabled}}
-		<div id="contact-edit-poll-wrapper">
-			<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
-			<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}} <span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
-		</div>
-	{{/if}}
 	<div id="contact-edit-end" ></div>
 
 	{{include file="field_checkbox.tpl" field=$hidden}}
diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css
index 847017ee5..aed53fdac 100644
--- a/view/theme/quattro/dark/style.css
+++ b/view/theme/quattro/dark/style.css
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #FFFFFF;
+  background: #ffffff;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+#contact-edit-status-wrapper {
+  border-color: #364e59;
+}
 /* editor */
 .jothidden {
   display: none;
diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css
index 4cfcb5927..74ab5b9cd 100644
--- a/view/theme/quattro/green/style.css
+++ b/view/theme/quattro/green/style.css
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #FFFFFF;
+  background: #ffffff;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+#contact-edit-status-wrapper {
+  border-color: #9ade00;
+}
 /* editor */
 .jothidden {
   display: none;
diff --git a/view/theme/quattro/lilac/style.css b/view/theme/quattro/lilac/style.css
index 2ff7cfcb0..327309fa5 100644
--- a/view/theme/quattro/lilac/style.css
+++ b/view/theme/quattro/lilac/style.css
@@ -420,7 +420,7 @@
 body {
   font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
   font-size: 11px;
-  background-color: #F6ECF9;
+  background-color: #f6ecf9;
   color: #2d2d2d;
   margin: 50px 0 0 0;
   display: table;
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #FFFFFF;
+  background: #ffffff;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+#contact-edit-status-wrapper {
+  border-color: #86608e;
+}
 /* editor */
 .jothidden {
   display: none;
@@ -1753,7 +1756,7 @@ span[id^="showmore-wrap"] {
   height: 20px;
   width: 500px;
   font-weight: bold;
-  border: 1px solid #F6ECF9;
+  border: 1px solid #f6ecf9;
 }
 #jot #jot-title:-webkit-input-placeholder {
   font-weight: normal;
@@ -1780,7 +1783,7 @@ span[id^="showmore-wrap"] {
   margin: 0;
   height: 20px;
   width: 200px;
-  border: 1px solid #F6ECF9;
+  border: 1px solid #f6ecf9;
 }
 #jot #jot-category:hover {
   border: 1px solid #999999;
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
index 681cfcc37..d81aedf41 100644
--- a/view/theme/quattro/quattro.less
+++ b/view/theme/quattro/quattro.less
@@ -408,19 +408,19 @@ aside {
 .group-delete-wrapper {
 	float: right;
 	margin-right: 50px;
-        .drophide {
-            background-image: url('../../../images/icons/22/delete.png');
-            display: block; width: 22px; height: 22px;
-            opacity: 0.3;
-            position: relative;
-            top: -50px;
-        }
-        .drop {
-            background-image: url('../../../images/icons/22/delete.png');
-            display: block; width: 22px; height: 22px;
-            position: relative;
-            top: -50px;
-        }
+	.drophide {
+		background-image: url('../../../images/icons/22/delete.png');
+		display: block; width: 22px; height: 22px;
+		opacity: 0.3;
+		position: relative;
+		top: -50px;
+	}
+	.drop {
+		background-image: url('../../../images/icons/22/delete.png');
+		display: block; width: 22px; height: 22px;
+		position: relative;
+		top: -50px;
+	}
 }
 /*
 #group-members {
@@ -502,7 +502,7 @@ section {
 }
 
 .sparkle {
-  cursor: url('icons/lock.cur'), pointer;
+	cursor: url('icons/lock.cur'), pointer;
 }
 
 /* wall item */
@@ -959,6 +959,7 @@ span[id^="showmore-wrap"] {
 	text-overflow: ellipsis;
 }
 
+#contact-edit-status-wrapper { border-color: @JotToolsOverBackgroundColor;}
 /* editor */
 .jothidden { display: none; }
 #jot {
diff --git a/view/theme/smoothly/style.css b/view/theme/smoothly/style.css
index b9f094932..87c7342c9 100644
--- a/view/theme/smoothly/style.css
+++ b/view/theme/smoothly/style.css
@@ -236,6 +236,39 @@ section {
 	color: #efefef;
 }
 
+ul.menu-popup {
+	position: absolute;
+	display: none;
+	width: auto;
+	margin: 2px 0 0;
+	padding: 0px;
+	list-style: none;
+	z-index: 100000;
+	color: #2e3436;
+	border-top: 1px;
+	background: #eeeeee;
+	border: 1px solid #7C7D7B;
+	border-radius: 0px 0px 5px 5px;
+	-webkit-border-radius: 0px 0px 5px 5px;
+	-moz-border-radius: 0px 0px 5px 5px;
+	box-shadow: 5px 5px 10px #242424;
+	-moz-box-shadow: 5px 5px 10px #242424;
+	-webkit-box-shadow: 5px 5px 10px #242424;
+}
+ul.menu-popup li a {
+	white-space: nowrap;
+	display: block;
+	padding: 5px 2px;
+	color: #2e3436;
+}
+ul.menu-popup li a:hover {
+	color: #efefef;
+	background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
+	background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
+	background-color: #1873a2;
+}
+
 /* ========= */
 /* = Login = */
 /* ========= */
@@ -4271,16 +4304,6 @@ a.active {
 .nav-notify.show {
 	display: block;
 }
-ul.menu-popup {
-	position: absolute;
-	display: none;
-	width: 10em;
-	margin: 0px;
-	padding: 0px;
-	list-style: none;
-	z-index: 100000;
-	top: 40px;
-}
 #nav-notifications-menu {
 	width: 320px;
 	max-height: 400px;
@@ -4298,6 +4321,7 @@ ul.menu-popup {
 	box-shadow: 5px 5px 10px #242424;
 		-moz-box-shadow: 5px 5px 10px #242424;
 		-webkit-box-shadow: 5px 5px 10px #242424;
+	top: 40px;
 }
 
 #nav-notifications-menu .contactname {
@@ -4406,6 +4430,10 @@ ul.menu-popup {
 	background: #000000;
 }
 
+.notify-seen a {
+	color: #efefef !important;
+}
+
 /* Pages profile widget ----------------------------------------------------------- */
 
 #page-profile,
diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css
index 2b78d25d7..5b084567b 100644
--- a/view/theme/vier/style.css
+++ b/view/theme/vier/style.css
@@ -24,72 +24,72 @@ img {
 }
 
 #pending-update {
-        float:right;
-        color: #ffffff;
-        font-weight: bold;
-        background-color: #FF0000;
-        padding: 0em 0.3em;
+  float:right;
+  color: #ffffff;
+  font-weight: bold;
+  background-color: #FF0000;
+  padding: 0em 0.3em;
 }
 
 .admin.linklist {
-        border: 0px;
-	padding: 0px;
-	list-style: none;
-	margin-top: 0px;
+  border: 0px;
+  padding: 0px;
+  list-style: none;
+  margin-top: 0px;
 }
 
 .admin.link {
-        list-style-position: inside;
-        font-size: 1em;
-/*        padding-left: 5px;
-        margin: 5px; */
+  list-style-position: inside;
+  font-size: 1em;
+/*  padding-left: 5px;
+    margin: 5px; */
 }
 
 #adminpage dl {
-        clear: left;
-        margin-bottom: 2px;
-        padding-bottom: 2px;
-        border-bottom: 1px solid black;
+  clear: left;
+  margin-bottom: 2px;
+  padding-bottom: 2px;
+  border-bottom: 1px solid black;
 }
 
 #adminpage dt {
-        width: 200px;
-        float: left;
-        font-weight: bold;
+  width: 200px;
+  float: left;
+  font-weight: bold;
 }
 
 #adminpage dd {
-        margin-left: 200px;
+  margin-left: 200px;
 }
 #adminpage h3 {
-        border-bottom: 1px solid #898989;
-        margin-bottom: 5px;
-        margin-top: 10px;
+  border-bottom: 1px solid #898989;
+  margin-bottom: 5px;
+  margin-top: 10px;
 }
 
 #adminpage .submit {
-        clear:left;
+  clear:left;
 }
 
 #adminpage #pluginslist {
-        margin: 0px; padding: 0px;
+  margin: 0px; padding: 0px;
 }
 
 #adminpage .plugin {
-        list-style: none;
-        display: block;
-	/* border: 1px solid #888888; */
-        padding: 1em;
-        margin-bottom: 5px;
-        clear: left;
+  list-style: none;
+  display: block;
+  /* border: 1px solid #888888; */
+  padding: 1em;
+  margin-bottom: 5px;
+  clear: left;
 }
 
 #adminpage .toggleplugin {
-        float:left;
-        margin-right: 1em;
+  float:left;
+  margin-right: 1em;
 }
 
-#adminpage table {width:100%; border-bottom: 1p solid #000000; margin: 5px 0px;}
+#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
 #adminpage table th { text-align: left;}
 #adminpage td .icon { float: left;}
 #adminpage table#users img { width: 16px; height: 16px; }
@@ -247,15 +247,6 @@ div.pager {
   float: left;
 }
 
-#contact-edit-drop-link-end {
-  /* clear: both; */
-}
-
-#contact-edit-links ul {
-  list-style: none;
-  list-style-type: none;
-}
-
 .hide-comments-outer {
   margin-left: 80px;
   margin-bottom: 5px;
@@ -385,6 +376,14 @@ code {
   overflow: auto;
   padding: 0px;
 }
+.menu-popup .divider {
+  width: 90%;
+  height: 1px;
+  margin: 3px auto;
+  overflow: hidden;
+  background-color: #737373;
+  opacity: 0.4;
+}
 #saved-search-ul .tool:hover,
 #nets-sidebar .tool:hover,
 #sidebar-group-list .tool:hover {
@@ -793,7 +792,8 @@ nav #nav-user-linklabel:hover #nav-user-menu,
 nav #nav-user-linkmenu:hover #nav-user-menu,
 nav #nav-apps-link:hover #nav-apps-menu,
 nav #nav-site-linkmenu:hover #nav-site-menu,
-nav #nav-notifications-linkmenu:hover #nav-notifications-menu {
+nav #nav-notifications-linkmenu:hover #nav-notifications-menu,
+#contact-edit-actions:hover #contact-actions-menu {
   display:block;
   visibility:visible;
   opacity:1;
@@ -2931,6 +2931,48 @@ a.mail-list-link {
   color: #999999;
 }
 
+/* contact edit page */
+#contact-edit-nav-wrapper {
+  margin-top: 24px;
+}
+#contact-edit-status-wrapper {
+  border-color: #c9d8f6;
+  background-color: #e0e8fa;
+  border-radius: 3px;
+}
+
+#contact-edit-contact-status {
+  font-weight: bold;
+}
+
+#contact-edit-drop-link-end {
+  /* clear: both; */
+}
+
+#contact-edit-links ul {
+  list-style: none;
+  list-style-type: none;
+}
+
+#contact-edit-settings {
+  margin-top: 10px;
+}
+
+a.btn#contact-edit-actions-button {
+  cursor: pointer;
+  border-radius: 3px;
+  font-size: inherit;
+  font-weight: normal;
+  height: auto;
+  line-height: inherit;
+  padding: 5px 10px;
+}
+
+#lost-contact-message, #insecure-message,
+#block-message, #ignore-message, #archive-message {
+  color: #CB4437;
+}
+
 /* photo album page */
 .photo-top-image-wrapper {
   position: relative;
diff --git a/view/theme/vier/templates/contact_edit.tpl b/view/theme/vier/templates/contact_edit.tpl
new file mode 100644
index 000000000..df0053fb6
--- /dev/null
+++ b/view/theme/vier/templates/contact_edit.tpl
@@ -0,0 +1,99 @@
+
+{{if $header}}<h2>{{$header}}</h2>{{/if}}
+
+<div id="contact-edit-wrapper" >
+
+	{{* Insert Tab-Nav *}}
+	{{$tab_str}}
+
+
+	<div id="contact-edit-nav-wrapper" >
+		<div id="contact-edit-links">
+			<div id="contact-edit-status-wrapper">
+				<span id="contact-edit-contact-status">{{$contact_status}}</span>
+
+				{{* This is the Action menu where contact related actions like 'ignore', 'hide' can be performed *}}
+				<div id="contact-edit-actions">
+					<a class="btn" id="contact-edit-actions-button">{{$contact_action_button}}</a>
+
+					<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
+						{{if $lblsuggest}}<li role="menuitem"><a  href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
+						{{if $poll_enabled}}<li role="menuitem"><a  href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.repair.title}}" onclick="window.location.href='{{$contact_actions.repair.url}}'; return false;">{{$contact_actions.repair.label}}</a></li>
+						<li class="divider"></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
+						<li role="menuitem"><a  href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
+					</ul>
+				</div>
+
+				{{* Block with status information about the contact *}}
+				<ul>
+					{{if $relation_text}}<li><div id="contact-edit-rel">{{$relation_text}}</div></li>{{/if}}
+
+					{{if $poll_enabled}}
+						<li><div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
+						{{if $poll_interval}}
+							<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
+						{{/if}}
+						</li>
+					{{/if}}
+
+					{{if $lost_contact}}<li><div id="lost-contact-message">{{$lost_contact}}</div></li>{{/if}}
+					{{if $insecure}}<li><div id="insecure-message">{{$insecure}}</div></li>	{{/if}}
+					{{if $blocked}}<li><div id="block-message">{{$blocked}}</div></li>{{/if}}
+					{{if $ignored}}<li><div id="ignore-message">{{$ignored}}</div></li>{{/if}}
+					{{if $archived}}<li><div id="archive-message">{{$archived}}</div></li>{{/if}}
+				</ul>
+
+				<ul>
+					<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
+					{{if $follow}}<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>{{/if}}
+				</ul>
+			</div> {{* End of contact-edit-status-wrapper *}}
+
+			{{* Some information about the contact from the profile *}}
+			<dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
+			{{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
+			{{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
+			{{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
+		</div>{{* End of contact-edit-links *}}
+
+		<div id="contact-edit-links-end"></div>
+
+		<hr />
+
+		<h4 id="contact-edit-settings-label" class="fakelink" onclick="openClose('contact-edit-settings')">{{$contact_settings_label}}</h4>
+		<div id="contact-edit-settings">
+			<form action="contacts/{{$contact_id}}" method="post" >
+			<input type="hidden" name="contact_id" value="{{$contact_id}}">
+
+				<div id="contact-edit-end" ></div>
+				{{include file="field_checkbox.tpl" field=$notify}}
+				{{if $fetch_further_information}}
+					{{include file="field_select.tpl" field=$fetch_further_information}}
+					{{if $fetch_further_information.2 == 2 }} {{include file="field_textarea.tpl" field=$ffi_keyword_blacklist}} {{/if}}
+				{{/if}}
+				{{include file="field_checkbox.tpl" field=$hidden}}
+
+			<div id="contact-edit-info-wrapper">
+				<h4>{{$lbl_info1}}</h4>
+				<textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea>
+				<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+			</div>
+			<div id="contact-edit-info-end"></div>
+
+			{{if $profile_select}}
+				<div id="contact-edit-profile-select-text">
+				<h4>{{$lbl_vis1}}</h4>
+				<p>{{$lbl_vis2}}</p> 
+				</div>
+				{{$profile_select}}
+				<div id="contact-edit-profile-select-end"></div>
+				<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+			{{/if}}
+			</form>
+		</div>
+	</div>{{* End of contact-edit-nav-wrapper *}}
+</div>