trialing pubsubhubbub - operational tweaks

This commit is contained in:
Mike Macgirvin 2010-10-01 02:28:06 -07:00
parent 2ae38e3fbf
commit f5615068ca
5 changed files with 42 additions and 9 deletions

View File

@ -153,10 +153,12 @@ function get_feed_for(&$a, $dfrn_id, $owner_id, $last_update, $direction = 0) {
// public feeds get html, our own nodes use bbcode // public feeds get html, our own nodes use bbcode
if($dfrn_id === '*') { if($dfrn_id === '*') {
$allow = (($item['last-child']) ? 1 : 0);
$item['body'] = bbcode($item['body']); $item['body'] = bbcode($item['body']);
$type = 'html'; $type = 'html';
} }
else { else {
$allow = ((($item['last-child']) && ($contact['rel']) && ($contact['rel'] != REL_FAN)) ? 1 : 0);
$type = 'text'; $type = 'text';
} }
@ -188,7 +190,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_id, $last_update, $direction = 0) {
'$content' => xmlify($item['body']), '$content' => xmlify($item['body']),
'$verb' => xmlify($verb), '$verb' => xmlify($verb),
'$actobj' => $actobj, // do not xmlify '$actobj' => $actobj, // do not xmlify
'$comment_allow' => ((($item['last-child']) && ($contact['rel']) && ($contact['rel'] != REL_FAN)) ? 1 : 0) '$comment_allow' => $allow
)); ));
} }
else { else {
@ -206,7 +208,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_id, $last_update, $direction = 0) {
'$verb' => xmlify($verb), '$verb' => xmlify($verb),
'$actobj' => $actobj, // do not xmlify '$actobj' => $actobj, // do not xmlify
'$parent_id' => xmlify($item['parent-uri']), '$parent_id' => xmlify($item['parent-uri']),
'$comment_allow' => (($item['last-child']) ? 1 : 0) '$comment_allow' => $allow
)); ));
} }
} }

View File

@ -302,7 +302,7 @@
} }
} }
if((strlen($hub)) && ($cmd !== 'mail') && (followup == false)) { if((strlen($hub)) && ($cmd !== 'mail') && ($followup == false)) {
$params = 'hub.mode=publish&hub.url=' . urlencode($a->get_baseurl() . '/dfrn_poll/' . $owner['nickname'] ); $params = 'hub.mode=publish&hub.url=' . urlencode($a->get_baseurl() . '/dfrn_poll/' . $owner['nickname'] );
post_url($hub,$params); post_url($hub,$params);
} }

View File

@ -41,7 +41,15 @@ function contacts_post(&$a) {
return; return;
} }
} }
$usehub = ((intval($_POST['usehub'])) ? 1 : 0);
if($orig_record[0]['usehub'] && (! $usehub)) {
// remove hub subscription
}
$priority = intval($_POST['priority']); $priority = intval($_POST['priority']);
if($priority == (-1))
if($priority > 5 || $priority < 0) if($priority > 5 || $priority < 0)
$priority = 0; $priority = 0;
@ -51,9 +59,10 @@ function contacts_post(&$a) {
$reason = notags(trim($_POST['reason'])); $reason = notags(trim($_POST['reason']));
$r = q("UPDATE `contact` SET `profile-id` = %d, `priority` = %d , `rating` = %d, `reason` = '%s' $r = q("UPDATE `contact` SET `profile-id` = %d, `usehub` = %d, `priority` = %d , `rating` = %d, `reason` = '%s'
WHERE `id` = %d AND `uid` = %d LIMIT 1", WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($profile_id), intval($profile_id),
intval($usehub),
intval($priority), intval($priority),
intval($rating), intval($rating),
dbesc($reason), dbesc($reason),
@ -176,8 +185,19 @@ function contacts_content(&$a) {
$url = $r[0]['url']; $url = $r[0]['url'];
$sparkle = ''; $sparkle = '';
} }
$huburl = get_config('system','huburl');
if($huburl) {
// finish selector
$hubenable = '';
}
else
$hubenable = '';
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$poll_interval' => contact_poll_interval($r[0]['priority']), '$poll_interval' => contact_poll_interval($r[0]['priority']),
'$hubenable' => $hubenable,
'$last_update' => (($r[0]['last-update'] == '0000-00-00 00:00:00') '$last_update' => (($r[0]['last-update'] == '0000-00-00 00:00:00')
? t('Never') ? t('Never')
: datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')), : datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')),

View File

@ -33,11 +33,13 @@ function pubsub_init(&$a) {
if($_SERVER['REQUEST_METHOD'] === 'GET') { if($_SERVER['REQUEST_METHOD'] === 'GET') {
$hub_mode = notags(trim($_GET['hub.mode'])); $hub_mode = notags(trim($_GET['hub_mode']));
$hub_topic = notags(trim($_GET['hub.topic'])); $hub_topic = notags(trim($_GET['hub_topic']));
$hub_challenge = notags(trim($_GET['hub.challenge'])); $hub_challenge = notags(trim($_GET['hub_challenge']));
$hub_lease = notags(trim($_GET['hub.lease_seconds'])); $hub_lease = notags(trim($_GET['hub_lease_seconds']));
$hub_verify = notags(trim($_GET['hub.verify_token'])); $hub_verify = notags(trim($_GET['hub_verify_token']));
$subscribe = (($hub_mode === 'subscribe') ? 1 : 0); $subscribe = (($hub_mode === 'subscribe') ? 1 : 0);
@ -47,6 +49,7 @@ function pubsub_init(&$a) {
if(! count($r)) if(! count($r))
hub_return(false, ''); hub_return(false, '');
$owner = $r[0]; $owner = $r[0];
$sql_extra = ((strlen($hub_verify)) ? sprintf(" AND `hub-verify` = '%s' ", dbesc($hub_verify)) : ''); $sql_extra = ((strlen($hub_verify)) ? sprintf(" AND `hub-verify` = '%s' ", dbesc($hub_verify)) : '');
@ -82,6 +85,10 @@ function pubsub_post(&$a) {
$xml = file_get_contents('php://input'); $xml = file_get_contents('php://input');
$debugging = get_config('system','debugging');
if($debugging)
file_put_contents('pubsub.out',$xml);
$nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : ''); $nick = (($a->argc > 1) ? notags(trim($a->argv[1])) : '');
$contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0); $contact_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
@ -103,6 +110,9 @@ function pubsub_post(&$a) {
$contact = $r[0]; $contact = $r[0];
$feedhub = ''; $feedhub = '';
require_once('include/items.php');
consume_feed($xml,$importer,$contact,$feedhub); consume_feed($xml,$importer,$contact,$feedhub);
hub_post_return(); hub_post_return();

View File

@ -27,6 +27,7 @@
<div id="contact-edit-last-update-text">Last updated: <span id="contact-edit-last-updated">$last_update</span</div> <div id="contact-edit-last-update-text">Last updated: <span id="contact-edit-last-updated">$last_update</span</div>
<div id="contact-edit-poll-text">Update public posts: </div> <div id="contact-edit-poll-text">Update public posts: </div>
$poll_interval $poll_interval
$hubenable
</div> </div>
</div> </div>
<div id="contact-edit-end" ></div> <div id="contact-edit-end" ></div>