API: improved mail handling
This commit is contained in:
parent
3c8a08840b
commit
6fe916a390
10 changed files with 91 additions and 23 deletions
29
update.php
29
update.php
|
@ -49,6 +49,7 @@ use Friendica\Database\DBStructure;
|
|||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\ItemURI;
|
||||
use Friendica\Model\Notification;
|
||||
use Friendica\Model\Photo;
|
||||
use Friendica\Model\Post;
|
||||
|
@ -912,3 +913,31 @@ function update_1413()
|
|||
return Update::FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
function update_1419()
|
||||
{
|
||||
$mails = DBA::select('mail', ['id', 'from-url', 'uri', 'parent-uri', 'guid'], [], ['order' => ['id']]);
|
||||
while ($mail = DBA::fetch($mails)) {
|
||||
$fields = [];
|
||||
$fields['author-id'] = Contact::getIdForURL($mail['from-url'], 0, false);
|
||||
if (empty($fields['author-id'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$fields['uri-id'] = ItemURI::insert(['uri' => $mail['uri'], 'guid' => $mail['guid']]);
|
||||
$fields['parent-uri-id'] = ItemURI::getIdByURI($mail['parent-uri']);
|
||||
|
||||
$reply = DBA::selectFirst('mail', ['uri', 'uri-id', 'guid'], ['parent-uri' => $mail['parent-uri'], 'reply' => false]);
|
||||
if (!empty($reply)) {
|
||||
$fields['thr-parent'] = $reply['uri'];
|
||||
if (!empty($reply['uri-id'])) {
|
||||
$fields['thr-parent-id'] = $reply['uri-id'];
|
||||
} else {
|
||||
$fields['thr-parent-id'] = ItemURI::insert(['uri' => $reply['uri'], 'guid' => $reply['guid']]);
|
||||
}
|
||||
}
|
||||
|
||||
DBA::update('mail', $fields, ['id' => $mail['id']]);
|
||||
}
|
||||
return Update::SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue