drop items to group pages if no mentions in it. should fix bug 557
This commit is contained in:
parent
d861225d40
commit
dd02b7bd00
1 changed files with 37 additions and 15 deletions
|
@ -1180,7 +1180,11 @@ function item_store($arr,$force_parent = false) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
tag_deliver($arr['uid'],$current_post);
|
$deleted = tag_deliver($arr['uid'],$current_post);
|
||||||
|
|
||||||
|
// current post can be deleted if is for a communuty page and no mention are
|
||||||
|
// in it.
|
||||||
|
if (!$deleted) {
|
||||||
|
|
||||||
// Store the fresh generated item into the cache
|
// Store the fresh generated item into the cache
|
||||||
$cachefile = get_cachefile($arr["guid"]."-".hash("md5", $arr['body']));
|
$cachefile = get_cachefile($arr["guid"]."-".hash("md5", $arr['body']));
|
||||||
|
@ -1201,7 +1205,7 @@ function item_store($arr,$force_parent = false) {
|
||||||
else {
|
else {
|
||||||
logger('item_store: new item not found in DB, id ' . $current_post);
|
logger('item_store: new item not found in DB, id ' . $current_post);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $current_post;
|
return $current_post;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1217,10 +1221,15 @@ function get_item_contact($item,$contacts) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* look for mention tags and setup a second delivery chain for forum/community posts if appropriate
|
||||||
|
* @param int $uid
|
||||||
|
* @param int $item_id
|
||||||
|
* @return bool true if item was deleted, else false
|
||||||
|
*/
|
||||||
function tag_deliver($uid,$item_id) {
|
function tag_deliver($uid,$item_id) {
|
||||||
|
|
||||||
// look for mention tags and setup a second delivery chain for forum/community posts if appropriate
|
//
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
@ -1262,8 +1271,21 @@ function tag_deliver($uid,$item_id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $mention)
|
if(! $mention){
|
||||||
|
if ( ($community_page || $prvgroup) &&
|
||||||
|
(!$item['wall']) && (!$item['origin']) && ($item['id'] == $item['parent'])){
|
||||||
|
// mmh.. no mention.. community page or private group... no wall.. no origin.. top-post (not a comment)
|
||||||
|
// delete it!
|
||||||
|
logger("tag_deliver: no-mention top-level post to communuty or private group. delete.");
|
||||||
|
q("DELETE FROM item WHERE id = %d and uid = %d limit 1",
|
||||||
|
intval($item_id),
|
||||||
|
intval($uid)
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// send a notification
|
// send a notification
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue