mirror of
https://github.com/friendica/friendica
synced 2025-04-27 04:30:11 +00:00
mail changes
This commit is contained in:
parent
c7bcdf0c18
commit
863ddf1676
6 changed files with 137 additions and 43 deletions
|
@ -289,7 +289,7 @@ function poller_run($argv, $argc){
|
|||
}
|
||||
elseif($contact['network'] === NETWORK_MAIL) {
|
||||
if(! $mbox) {
|
||||
$x = q("SELECT `prvkey` FROM `user` WHERE `uid` = $d LIMIT 1",
|
||||
$x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||
intval($importer_uid)
|
||||
);
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
|
@ -298,7 +298,7 @@ function poller_run($argv, $argc){
|
|||
if(count($x) && count($r)) {
|
||||
$mailbox = construct_mailbox_name($r[0]);
|
||||
$password = '';
|
||||
openssl_private_decrypt($r[0]['pass'],$password,$x[0]['prvkey']);
|
||||
openssl_private_decrypt(hex2bin($r[0]['pass']),$password,$x[0]['prvkey']);
|
||||
$mbox = email_connect($mailbox,$r[0]['user'],$password);
|
||||
unset($password);
|
||||
}
|
||||
|
@ -306,7 +306,42 @@ function poller_run($argv, $argc){
|
|||
if($mbox) {
|
||||
$msgs = email_poll($mbox,$contact['addr']);
|
||||
if(count($msgs)) {
|
||||
// TODO: loop through, fetch, check duplicates, and import
|
||||
foreach($msgs as $msg_uid) {
|
||||
$datarray = array();
|
||||
$meta = email_msg_meta($mbox,$msg_uid);
|
||||
$datarray['uri'] = trim($meta->message_id,'<>');
|
||||
//FIXME
|
||||
$datarray['parent-uri'] = $datarray['uri'];
|
||||
// Have we seen it before?
|
||||
$r = q("SELECT * FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
|
||||
intval($importer_uid),
|
||||
dbesc($datarray['uri'])
|
||||
);
|
||||
if(count($r)) {
|
||||
if($meta->deleted && ! $r[0]['deleted']) {
|
||||
q("UPDATE `item` SET `deleted` = `, `changed` = '%s' WHERE `id` = %d LIMIT 1",
|
||||
dbesc(datetime_convert()),
|
||||
intval($r[0]['id'])
|
||||
);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
$datarray['title'] = notags(trim($meta->subject));
|
||||
$datarray['created'] = datetime_convert('UTC','UTC',$meta->date);
|
||||
|
||||
$r = email_get_msg($mbox,$msg_uid);
|
||||
if(! $r)
|
||||
continue;
|
||||
$datarray['body'] = escape_tags($r['body']);
|
||||
$datarray['uid'] = $importer_uid;
|
||||
$datarray['contact-id'] = $contact['id'];
|
||||
$datarray['private'] = 1;
|
||||
$datarray['author-name'] = $contact['name'];
|
||||
$datarray['author-link'] = 'mailbox';
|
||||
$datarray['author-avatar'] = $contact['photo'];
|
||||
|
||||
item_store($datarray);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -359,6 +394,9 @@ function poller_run($argv, $argc){
|
|||
// loop - next contact
|
||||
}
|
||||
}
|
||||
|
||||
if($mbox && function_exists('imap_close'))
|
||||
imap_close($mbox);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue