From 732c6134ddfc6bb1df191c7967069e008d85acfb Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 14 Oct 2015 13:11:24 -0700 Subject: support for mail sync --- include/identity.php | 25 +++++++++++++++++++++++++ include/items.php | 26 +++++++++++++++++++++++++- version.inc | 2 +- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/include/identity.php b/include/identity.php index d84c22693..edf91f5bf 100644 --- a/include/identity.php +++ b/include/identity.php @@ -622,6 +622,31 @@ function identity_basic_export($channel_id, $items = false) { if($r) $ret['likes'] = $r; + + $r = q("select * from conv where uid = %d", + intval($channel_id) + ); + if($r) + $ret['conv'] = $r; + + + $r = q("select mail.*, conv.guid as conv_guid from mail left join conv on mail.convid = conv.id where mail.uid = %d", + intval($channel_id) + ); + if($r) { + $m = array(); + foreach($r as $rr) { + + + + + } + $ret['mail'] = $m; + } + + + + $r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d", intval($channel_id) ); diff --git a/include/items.php b/include/items.php index eed9dabb2..54dcf2b51 100755 --- a/include/items.php +++ b/include/items.php @@ -1561,7 +1561,7 @@ function encode_item_flags($item) { return $ret; } -function encode_mail($item) { +function encode_mail($item,$extended = false) { $x = array(); $x['type'] = 'mail'; $x['encoding'] = 'zot'; @@ -1595,6 +1595,18 @@ function encode_mail($item) { $x['body'] = ''; } + if($extended) { + $x['conv_guid'] = $item['conv_guid']; + if($item['mail_flags'] & MAIL_DELETED) + $x['flags'][] = 'deleted'; + if($item['mail_flags'] & MAIL_REPLIED) + $x['flags'][] = 'replied'; + if($item['mail_flags'] & MAIL_ISREPLY) + $x['flags'][] = 'isreply'; + if($item['mail_flags'] & MAIL_SEEN) + $x['flags'][] = 'seen'; + } + return $x; } @@ -1619,6 +1631,18 @@ function get_mail_elements($x) { if(in_array('recalled',$x['flags'])) { $arr['mail_flags'] |= MAIL_RECALLED; } + if(in_array('replied',$x['flags'])) { + $arr['mail_flags'] |= MAIL_REPLIED; + } + if(in_array('isreply',$x['flags'])) { + $arr['mail_flags'] |= MAIL_ISREPLY; + } + if(in_array('seen',$x['flags'])) { + $arr['mail_flags'] |= MAIL_SEEN; + } + if(in_array('deleted',$x['flags'])) { + $arr['mail_flags'] |= MAIL_DELETED; + } } $key = get_config('system','pubkey'); diff --git a/version.inc b/version.inc index b8383a060..b94d740a1 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-10-13.1184 +2015-10-14.1185 -- cgit v1.2.3