From ddbba521c54c206dcd8574e3cd5f68b778e2c48e Mon Sep 17 00:00:00 2001
From: Fabrixxm <fabrix.xm@gmail.com>
Date: Fri, 4 Dec 2015 15:01:46 +0100
Subject: [PATCH] Add support for attending an event to frost themes

fix #1953
---
 view/theme/frost-mobile/style.css             | 34 +++++++-------
 .../frost-mobile/templates/wall_thread.tpl    | 14 +++++-
 view/theme/frost/style.css                    | 44 +++++++++++--------
 view/theme/frost/templates/wall_thread.tpl    | 18 ++++++--
 4 files changed, 70 insertions(+), 40 deletions(-)

diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css
index 91dd907a0c..400b23c10b 100644
--- a/view/theme/frost-mobile/style.css
+++ b/view/theme/frost-mobile/style.css
@@ -1246,13 +1246,14 @@ input#dfrn-url {
 /*	background: #EEEEEE;*/
 }
 
-.wall-item-like, .wall-item-dislike {
+.wall-item-response {
+	clear: both;
 	font-style: italic;
 	margin-left: 0px;
 	opacity: 0.6;
 }
 
-.wall-item-like.comment, .wall-item-dislike.comment {
+.wall-item-response.comment {
 	margin-left: 5px;
 }
 
@@ -1372,20 +1373,11 @@ input#dfrn-url {
 	margin-right: 10px;
 }
 
-.editpost {
-	margin-left: 10px;
-	float: left;
-}
-.star-item {
-	margin-left: 10px;
-	float: left;
-}
-.tag-item {
-	margin-left: 10px;
-	float: left;
-}
-
-.filer-item {
+.editpost,
+.star-item,
+.tag-item,
+.filer-item,
+.event-item {
 	margin-left: 10px;
 	float: left;
 }
@@ -3990,6 +3982,16 @@ aside input[type='text'] {
 	opacity: 0.5;
 }
 
+.event-icon {
+	display: block; width: 33px; height: 33px;
+	background-size: 100% 100%;
+	background-repeat: no-repeat;
+	opacity: 0.5;
+}
+.event-attend-icon { background-image: url('images/event-attend.png'); }
+.event-maybeattend-icon { background-image: url('images/event-maybeattend.png'); }
+.event-dontattend-icon { background-image: url('images/event-dontattend.png'); }
+
 .icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
 
 [class^="comment-edit-bb"] {
diff --git a/view/theme/frost-mobile/templates/wall_thread.tpl b/view/theme/frost-mobile/templates/wall_thread.tpl
index c961291955..377c90242f 100644
--- a/view/theme/frost-mobile/templates/wall_thread.tpl
+++ b/view/theme/frost-mobile/templates/wall_thread.tpl
@@ -94,6 +94,12 @@
 			<a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
 			{{/if}}			
 			
+			{{if $item.isevent}}
+				<a href="#" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="dolike({{$item.id}},'attendyes'); return false;" class="event-item event-icon event-attend-icon"></a>
+				<a href="#" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="dolike({{$item.id}},'attendno'); return false;"  class="event-item event-icon event-dontattend-icon"></a>
+				<a href="#" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="dolike({{$item.id}},'attendmaybe'); return false;"  class="event-item event-icon event-maybeattend-icon"></a>
+			{{/if}}
+			
 			{{*<!--<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >-->*}}
 				{{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="wall-item-delete-wrapper icon drophide" title="{{$item.drop.delete}}" id="wall-item-delete-wrapper-{{$item.id}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);" *}}></a>{{/if}}
 			{{*<!--</div>-->*}}
@@ -102,8 +108,12 @@
 		</div>
 	</div>	
 	{{*<!--<div class="wall-item-wrapper-end"></div>-->*}}
-	<div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
-	<div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
+	{{if $item.responses}}
+		{{foreach $item.responses as $verb=>$response}}
+			<div class="wall-item-response {{$item.indent}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output}}</div>
+		{{/foreach}}
+	{{/if}}
+
 
 	{{if $item.threaded}}
 	{{if $item.comment}}
diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css
index 7cf1c8a982..3dd400c76b 100644
--- a/view/theme/frost/style.css
+++ b/view/theme/frost/style.css
@@ -1204,22 +1204,22 @@ input#dfrn-url {
 	border: none;
 }
 
-.wall-item-like, .wall-item-dislike {
+.wall-item-response {
 	font-style: italic;
 	margin-left: 0px;
 	opacity: 0.4;
 }
-.wall-item-dislike {
+.wall-item-respose:last-chid {
 	margin-bottom: 15px;
 }
-.wall-item-like:hover, .wall-item-dislike:hover {
+.wall-item-response:hover {
 	opacity: 1.0;
 }
 
-.wall-item-like.comment, .wall-item-dislike.comment {
+.wall-item-response.comment {
 	margin-left: 75px;
 }
-.wall-item-dislike.comment {
+.wall-item-response.comment:last-chid  {
 	margin-bottom: 0px;
 }
 
@@ -1345,20 +1345,11 @@ input#dfrn-url {
 	margin-right: 10px;
 }
 
-.editpost {
-	margin-left: 10px;
-	float: left;
-}
-.star-item {
-	margin-left: 10px;
-	float: left;
-}
-.tag-item {
-	margin-left: 10px;
-	float: left;
-}
-
-.filer-item {
+.editpost,
+.star-item ,
+.tag-item,
+.filer-item,
+.event-item {
 	margin-left: 10px;
 	float: left;
 }
@@ -3831,6 +3822,21 @@ aside input[type='text'] {
 	opacity: 1.0;
 }
 
+.event-icon {
+	display: block; width: 16px; height: 16px;
+	background-size: 100% 100%;
+	background-repeat: no-repeat;
+	opacity: 0.4;
+}
+.event-attend-icon { background-image: url('images/event-attend-16.png'); }
+.event-maybeattend-icon { background-image: url('images/event-maybeattend-16.png'); }
+.event-dontattend-icon { background-image: url('images/event-dontattend-16.png'); }
+
+.filer-icon:hover {
+	opacity: 1.0;
+}
+
+
 .icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
 /*[class^="comment-edit-bb"] {*/
 .comment-edit-bb {
diff --git a/view/theme/frost/templates/wall_thread.tpl b/view/theme/frost/templates/wall_thread.tpl
index 3f98a39eb4..0f1dcf75a4 100644
--- a/view/theme/frost/templates/wall_thread.tpl
+++ b/view/theme/frost/templates/wall_thread.tpl
@@ -90,17 +90,29 @@
 			{{if $item.filer}}
 			<a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
 			{{/if}}			
-			
+
+			{{if $item.isevent}}
+				<a href="#" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="dolike({{$item.id}},'attendyes'); return false;" class="event-item event-icon event-attend-icon"></a>
+				<a href="#" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="dolike({{$item.id}},'attendno'); return false;"  class="event-item event-icon event-dontattend-icon"></a>
+				<a href="#" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="dolike({{$item.id}},'attendmaybe'); return false;"  class="event-item event-icon event-maybeattend-icon"></a>
+			{{/if}}
+
+
 			{{*<!--<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >-->*}}
 				{{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="wall-item-delete-wrapper icon drophide" title="{{$item.drop.delete}}" id="wall-item-delete-wrapper-{{$item.id}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);" *}}></a>{{/if}}
 			{{*<!--</div>-->*}}
 				{{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
 			{{*<!--<div class="wall-item-delete-end"></div>-->*}}
+			
+			
 		</div>
 	</div>	
 	{{*<!--<div class="wall-item-wrapper-end"></div>-->*}}
-	<div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
-	<div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
+	{{if $item.responses}}
+		{{foreach $item.responses as $verb=>$response}}
+			<div class="wall-item-response {{$item.indent}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output}}</div>
+		{{/foreach}}
+	{{/if}}
 
 	{{if $item.threaded}}
 	{{if $item.comment}}