aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-11 23:12:10 -0700
committerfriendica <info@friendica.com>2013-10-11 23:12:10 -0700
commit1c8a36f9ca1f1cfd4cab47b47c855b530467593d (patch)
tree79bffc25d168bcc1d3b12147925440a4f76beeb6
parent7e850e0687ed30231bd185e8a19776a11a74d2a8 (diff)
downloadvolse-hubzilla-1c8a36f9ca1f1cfd4cab47b47c855b530467593d.tar.gz
volse-hubzilla-1c8a36f9ca1f1cfd4cab47b47c855b530467593d.tar.bz2
volse-hubzilla-1c8a36f9ca1f1cfd4cab47b47c855b530467593d.zip
mail recall
-rw-r--r--mod/message.php21
-rw-r--r--view/theme/redbasic/css/style.css10
-rwxr-xr-xview/tpl/mail_conv.tpl4
-rwxr-xr-xview/tpl/mail_list.tpl2
4 files changed, 36 insertions, 1 deletions
diff --git a/mod/message.php b/mod/message.php
index 652481579..058641a5e 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -233,6 +233,24 @@ function message_content(&$a) {
}
}
+ if((argc() == 3) && (argv(1) === 'recall')) {
+ if(! intval(argv(2)))
+ return;
+ $cmd = argv(1);
+ $r = q("update mail set mail_flags = mail_flags | %d where id = %d and channel_id = %d limit 1",
+ intval(MAIL_RECALLED),
+ intval(argv(2)),
+ intval(local_user())
+ );
+ proc_run('php','include/notifier.php','mail',intval(argv(2)));
+
+ if($r) {
+ info( t('Message recalled.') . EOL );
+ }
+ goaway($a->get_baseurl(true) . '/message' );
+
+ }
+
if((argc() > 1) && ($a->argv[1] === 'new')) {
@@ -422,6 +440,9 @@ function message_content(&$a) {
'subject' => $message['title'],
'body' => smilies(bbcode($message['body']) . $s),
'delete' => t('Delete message'),
+ 'recall' => t('Recall message'),
+ 'can_recall' => (($channel['channel_hash'] == $message['from_xchan']) ? true : false),
+ 'is_recalled' => (($message['mail_flags'] & MAIL_RECALLED) ? t('Message has been recalled.') : ''),
'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
);
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 38174a004..e91e4dc5a 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -1827,6 +1827,12 @@ a.mail-list-link {
margin-right: 30px;
margin-top: 15px;
}
+.mail-conv-recall-wrapper {
+ float: right;
+ margin-right: 10px;
+ margin-top: 15px;
+}
+
.mail-conv-break {
clear: both;
}
@@ -3321,6 +3327,10 @@ float: left;
width: 20%;
}
+.mail-list-remove {
+width: 5% !important;
+}
+
span.mail-delete {
float: left;
width: 30px;
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index d25919b39..84bdb451a 100755
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
@@ -4,10 +4,14 @@
<div class="mail-conv-sender-name" >{{$mail.from_name}}</div>
</div>
<div class="mail-conv-detail" >
+ {{if $mail.is_recalled}}<strong>{{$mail.is_recalled}}</strong>{{/if}}
<div class="mail-conv-date">{{$mail.date}}</div>
<div class="mail-conv-subject">{{$mail.subject}}</div>
<div class="mail-conv-body">{{$mail.body}}</div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-{{$mail.id}}" ><a href="message/drop/{{$mail.id}}" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" ><i class="icon-remove mail-icons drop-icons"></i></a></div><div class="mail-conv-delete-end"></div>
+ {{if $mail.can_recall}}
+ <div class="mail-conv-recall-wrapper" id="mail-conv-recall-wrapper-{{$mail.id}}" ><a href="message/recall/{{$mail.id}}" title="{{$mail.recall}}" id="mail-conv-recall-icon-{{$mail.id}}" class="mail-conv-recall-icon" ><i class="icon-undo mail-icons drop-icons"></i></a></div><div class="mail-conv-recall-end"></div>
+ {{/if}}
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl
index 4d18a080c..e6ddf3651 100755
--- a/view/tpl/mail_list.tpl
+++ b/view/tpl/mail_list.tpl
@@ -1,5 +1,5 @@
<div class="generic-content-wrapper" id="mail-list-wrapper">
- <span class="mail-list"><a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" ><i class="icon-remove mail-icons drop-icons"></i></a></span>
+ <span class="mail-list mail-list-remove"><a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" ><i class="icon-remove mail-icons drop-icons"></i></a></span>
<a href="{{$from_url}}" class ="mail-list" ><img class="mail-list-sender-photo" src="{{$from_photo}}" alt="{{$from_name}}" /></a>
<span class="mail-list">{{$from_name}}</span>
<span class="mail-list" {{if $seen}}seen{{else}}unseen{{/if}}"><a href="message/{{$id}}" class="mail-link">{{$subject}}</a></span>