following random feeds
This commit is contained in:
parent
00d2b58358
commit
5be98e3ec8
3 changed files with 91 additions and 3 deletions
|
@ -22,6 +22,8 @@ function scrape_dfrn($url) {
|
|||
|
||||
foreach($items as $item) {
|
||||
$x = $item->getAttribute('rel');
|
||||
if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml'))
|
||||
$ret['feed_atom'] = $item->getAttribute('href');
|
||||
if(substr($x,0,5) == "dfrn-")
|
||||
$ret[$x] = $item->getAttribute('href');
|
||||
if($x === 'lrdd') {
|
||||
|
@ -135,3 +137,31 @@ function scrape_vcard($url) {
|
|||
|
||||
return $ret;
|
||||
}}
|
||||
|
||||
|
||||
if(! function_exists('scrape_feed')) {
|
||||
function scrape_feed($url) {
|
||||
|
||||
$ret = array();
|
||||
$s = fetch_url($url);
|
||||
|
||||
if(! $s)
|
||||
return $ret;
|
||||
|
||||
$dom = HTML5_Parser::parse($s);
|
||||
|
||||
if(! $dom)
|
||||
return $ret;
|
||||
|
||||
$items = $dom->getElementsByTagName('link');
|
||||
|
||||
// get Atom link elements
|
||||
|
||||
foreach($items as $item) {
|
||||
$x = $item->getAttribute('rel');
|
||||
if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml'))
|
||||
$ret['feed_atom'] = $item->getAttribute('href');
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}}
|
|
@ -32,10 +32,18 @@
|
|||
if(($argc > 1) && ($argv[1] == 'force'))
|
||||
$force = true;
|
||||
|
||||
if(($argc > 1) && intval($argv[1])) {
|
||||
$manual_id = intval($argv[1]);
|
||||
$force = true;
|
||||
}
|
||||
|
||||
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
|
||||
|
||||
// 'stat' clause is a temporary measure until we have federation subscriptions working both directions
|
||||
$contacts = q("SELECT * FROM `contact`
|
||||
WHERE ( ( `network` = 'dfrn' AND ( `dfrn-id` != '' OR (`issued-id` != '' AND `duplex` = 1)))
|
||||
OR ( `network` IN ( 'stat', 'feed' ) AND `poll` != '' ))
|
||||
OR ( `network` IN ( 'stat', 'feed' ) AND `poll` != '' ))
|
||||
$sql_extra
|
||||
AND `self` = 0 AND `blocked` = 0 AND `readonly` = 0 ORDER BY RAND()");
|
||||
|
||||
if(! count($contacts))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue