diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-10-14 17:40:50 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-10-14 17:40:50 -0700 |
commit | b33a9a71f6d13efb68d140ecbc41cc442564cde0 (patch) | |
tree | 42f68fd1b5df56bd7995f15898f71bc4e5df8128 /include/import.php | |
parent | 8af3dc140e34094ce101f050feb3da2b8b39470b (diff) | |
download | volse-hubzilla-b33a9a71f6d13efb68d140ecbc41cc442564cde0.tar.gz volse-hubzilla-b33a9a71f6d13efb68d140ecbc41cc442564cde0.tar.bz2 volse-hubzilla-b33a9a71f6d13efb68d140ecbc41cc442564cde0.zip |
more work on import & sync of private mail and conversations
Diffstat (limited to 'include/import.php')
-rw-r--r-- | include/import.php | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/include/import.php b/include/import.php index ad8bcd84e..d5ff0d617 100644 --- a/include/import.php +++ b/include/import.php @@ -790,7 +790,7 @@ function import_likes($channel,$likes) { if($r) continue; - dbesc_array($config); + dbesc_array($like); $r = dbq("INSERT INTO likes (`" . implode("`, `", array_keys($like)) . "`) VALUES ('" @@ -800,6 +800,71 @@ function import_likes($channel,$likes) { } } +function import_conv($channel,$convs) { + if($channel && $convs) { + foreach($convs as $conv) { + if($conv['deleted']) { + q("delete from conv where guid = '%s' and uid = %d limit 1", + dbesc($conv['guid']), + intval($channel['channel_id']) + ); + continue; + } + + unset($conv['id']); + + $conv['uid'] = $channel['channel_id']; + $conv['subject'] = str_rot47(base64url_encode($conv['subject'])); + + $r = q("select id from conv where guid = '%s' and uid = %d limit 1", + dbesc($conv['guid']), + intval($channel['channel_id']) + ); + if($r) + continue; + + dbesc_array($conv); + $r = dbq("INSERT INTO conv (`" + . implode("`, `", array_keys($conv)) + . "`) VALUES ('" + . implode("', '", array_values($conv)) + . "')" ); + } + } +} + + + +function import_mail($channel,$mails) { + if($channel && $mails) { + foreach($mails as $mail) { + if(array_key_exists('flags',$mail) && in_array('deleted',$mail['flags'])) { + q("delete from mail where mid = '%s' and uid = %d limit 1", + dbesc($mail['message_id']), + intval($channel['channel_id']) + ); + continue; + } + $m = get_mail_elements($mail); + if(! $m) + continue; + if($mail['conv_guid']) { + $x = q("select id from conv where guid = '%s' and uid = %d limit 1", + dbesc($mail['conv_guid']), + intval($channel['channel_id']) + ); + if($x) { + $m['convid'] = $x[0]['id']; + } + } + $m['aid'] = $channel['channel_account_id']; + $m['uid'] = $channel['channel_id']; + mail_store($m); + } + } +} + + |