mail sync debugging

This commit is contained in:
redmatrix
2015-10-15 20:40:24 -07:00
parent 93f061f78a
commit 3f7ee613fc
2 changed files with 63 additions and 15 deletions

View File

@@ -95,6 +95,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
);
if($r) {
$retconv = $r[0];
$retconv['subject'] = base64url_decode(str_rot47($retconv['subject']));
}
}
@@ -105,6 +106,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
);
if($r) {
$retconv = $r[0];
$retconv['subject'] = base64url_decode(str_rot47($retconv['subject']));
}
}
@@ -209,7 +211,8 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
);
if($r) {
$post_id = $r[0]['id'];
$retmail = $r;
$retmail = $r[0];
xchan_mail_query($retmail);
}
else {
$ret['message'] = t('Stored post could not be verified.');
@@ -382,31 +385,67 @@ function private_messages_fetch_message($channel_id, $messageitem_id, $updatesee
function private_messages_drop($channel_id, $messageitem_id, $drop_conversation = false) {
if($drop_conversation) {
// find the parent_id
$p = q("SELECT parent_mid, conv_guid FROM mail WHERE id = %d AND channel_id = %d LIMIT 1",
intval($messageitem_id),
$x = q("select * from mail where id = %d and channel_id = %d limit 1",
intval($messageitem_id),
intval($channel_id)
);
if(! $x)
return false;
$conversation = null;
if($x[0]['conv_guid']) {
$y = q("select * from conv where guid = '%s' and uid = %d limit 1",
dbesc($x[0]['conv_guid']),
intval($channel_id)
);
if($p) {
$r = q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
dbesc($p[0]['parent_mid']),
intval($channel_id)
);
if($r)
return true;
if($y) {
$conversation = $y[0];
$conversation['subject'] = base64url_decode(str_rot47($conversation['subject']));
}
}
if($drop_conversation) {
$m = array();
$m['conv'] = array($conversation);
$m['conv'][0]['deleted'] = 1;
$z = q("select * from mail where parent_mid = '%s' and channel_id = %d",
dbesc($x[0]['parent_mid']),
intval($channel_id)
);
if($z) {
q("delete from conv where guid = '%s' and uid = %d limit 1",
dbesc($x[0]['conv_guid']),
intval($channel_id)
);
$m['mail'] = array();
foreach($z as $zz) {
xchan_mail_query($zz);
$zz['mail_deleted'] = 1;
$m['mail'][] = encode_mail($zz,true);
}
q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
dbesc($x[0]['parent_mid']),
intval($channel_id)
);
}
build_sync_packet($channel_id,$m);
return true;
}
else {
xchan_mail_query($x[0]);
$x[0]['mail_deleted'] = true;
$r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
intval($messageitem_id),
intval($channel_id)
);
if($r)
return true;
build_sync_packet($channel_id,array('mail' => array(encode_mail($x,true))));
return true;
}
return false;
}