require_once('include/nav.php');
define ( 'FRIENDIKA_PLATFORM', 'Free Friendika');
-define ( 'FRIENDIKA_VERSION', '2.3.1123' );
+define ( 'FRIENDIKA_VERSION', '2.3.1124' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1094 );
if( ! ($icontacts && count($icontacts)))
return;
-
// avoid race condition with deleting entries
if($items[0]['deleted']) {
if(! $item_contact)
continue;
- $atom .= atom_entry($item,'text',$item_contact,$owner,true);
+ if($normal_mode) {
+ if($item_id == $item['id'])
+ $atom .= atom_entry($item,'text',$item_contact,$owner,true);
+ }
+ else
+ $atom .= atom_entry($item,'text',$item_contact,$owner,true);
}
}
-function subscribe_to_hub($url,$importer,$contact,$submode = 'subscribe') {
+function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
if(is_array($importer)) {
$r = q("SELECT `nickname` FROM `user` WHERE `uid` = %d LIMIT 1",
$params= 'hub.mode=' . $hubmode . '&hub.callback=' . urlencode($push_url) . '&hub.topic=' . urlencode($contact['poll']) . '&hub.verify=async&hub.verify_token=' . $verify_token;
- logger('subscribe_to_hub: subscribing ' . $contact['name'] . ' to hub ' . $url . ' with verifier ' . $verify_token);
+ logger('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token);
if(! strlen($contact['hub-verify'])) {
$r = q("UPDATE `contact` SET `hub-verify` = '%s' WHERE `id` = %d LIMIT 1",
if(! $contact)
continue;
- $atom .= atom_entry($item,'text',$contact,$owner,true);
+ if($normal_mode) {
+ if($item_id == $item['id'])
+ $atom .= atom_entry($item,'text',$contact,$owner,true);
+ }
+ else
+ $atom .= atom_entry($item,'text',$contact,$owner,true);
if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire))
$slaps[] = atom_entry($item,'html',$contact,$owner,true);
// We must initiate an unsubscribe request with a verify_token.
// Don't allow outsiders to unsubscribe us.
- if(($hub_mode === 'unsubscribe') && (! strlen($hub_verify)))
- hub_return(false, '');
+ if($hub_mode === 'unsubscribe') {
+ if(! strlen($hub_verify)) {
+ logger('pubsub: bogus unsubscribe');
+ hub_return(false, '');
+ }
+ logger('pubsub: unsubscribe success');
+ }
$r = q("UPDATE `contact` SET `subhub` = %d WHERE `id` = %d LIMIT 1",
intval($subscribe),