77 lines
1.8 KiB
PHP
77 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace Zotlabs\Widget;
|
|
|
|
class Conversations {
|
|
|
|
function widget($arr) {
|
|
|
|
if (! local_channel())
|
|
return;
|
|
|
|
if(argc() > 1) {
|
|
|
|
switch(argv(1)) {
|
|
case 'inbox':
|
|
$mailbox = 'inbox';
|
|
$header = t('Received Messages');
|
|
break;
|
|
case 'outbox':
|
|
$mailbox = 'outbox';
|
|
$header = t('Sent Messages');
|
|
break;
|
|
default:
|
|
$mailbox = 'combined';
|
|
$header = t('Conversations');
|
|
break;
|
|
}
|
|
|
|
require_once('include/message.php');
|
|
|
|
$o = '';
|
|
|
|
// private_messages_list() can do other more complicated stuff, for now keep it simple
|
|
$r = private_messages_list(local_channel(), $mailbox, \App::$pager['start'], \App::$pager['itemspage']);
|
|
|
|
if(! $r) {
|
|
info( t('No messages.') . EOL);
|
|
return $o;
|
|
}
|
|
|
|
$messages = [];
|
|
|
|
foreach($r as $rr) {
|
|
|
|
$selected = ((argc() == 3) ? intval(argv(2)) == intval($rr['id']) : $r[0]['id'] == $rr['id']);
|
|
|
|
$messages[] = [
|
|
'mailbox' => $mailbox,
|
|
'id' => $rr['id'],
|
|
'from_name' => $rr['from']['xchan_name'],
|
|
'from_url' => chanlink_hash($rr['from_xchan']),
|
|
'from_photo' => $rr['from']['xchan_photo_s'],
|
|
'to_name' => $rr['to']['xchan_name'],
|
|
'to_url' => chanlink_hash($rr['to_xchan']),
|
|
'to_photo' => $rr['to']['xchan_photo_s'],
|
|
'subject' => (($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'),
|
|
'delete' => t('Delete conversation'),
|
|
'body' => $rr['body'],
|
|
'date' => datetime_convert('UTC',date_default_timezone_get(),$rr['created'], 'c'),
|
|
'seen' => $rr['seen'],
|
|
'selected' => ((argv(1) != 'new') ? $selected : '')
|
|
];
|
|
}
|
|
|
|
$tpl = get_markup_template('mail_head.tpl');
|
|
$o .= replace_macros($tpl, [
|
|
'$header' => $header,
|
|
'$messages' => $messages
|
|
]);
|
|
|
|
}
|
|
return $o;
|
|
}
|
|
|
|
}
|
|
|