better handling of troublesome feeds.

This commit is contained in:
Friendika 2011-04-04 19:36:18 -07:00
commit 793967a1d3
7 changed files with 62 additions and 27 deletions

View file

@ -240,7 +240,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
notice( t('Unexpected response from remote site: ') . EOL . $leading_junk . EOL );
}
$xml = simplexml_load_string($res);
$xml = parse_xml_string($res);
$status = (int) $xml->status;
$message = unxmlify($xml->message); // human readable text of what may have gone wrong.
switch($status) {

View file

@ -69,7 +69,7 @@ function dfrn_poll_init(&$a) {
if(strlen($s)) {
$xml = simplexml_load_string($s);
$xml = parse_xml_string($s);
if((int) $xml->status == 1) {
$_SESSION['authenticated'] = 1;
@ -468,7 +468,7 @@ function dfrn_poll_content(&$a) {
if(strlen($s) && strstr($s,'<?xml')) {
$xml = simplexml_load_string($s);
$xml = parse_xml_string($s);
logger('dfrn_poll: profile: parsed xml: ' . print_r($xml,true), LOGGER_DATA);

View file

@ -15,7 +15,8 @@ function follow_post(&$a) {
$email_conversant = false;
if($url) {
$links = @lrdd($url);
$links = lrdd($url);
if(count($links)) {
foreach($links as $link) {
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
@ -107,7 +108,7 @@ function follow_post(&$a) {
if((! isset($vcard)) && (! $poll)) {
$ret = scrape_feed($url);
logger('mod_follow: scrape_feed returns: ' . print_r($ret,true), LOGGER_DATA);
if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) {
$poll = ((x($ret,'feed_atom')) ? unamp($ret['feed_atom']) : unamp($ret['feed_rss']));
$vcard = array();
@ -156,7 +157,14 @@ function follow_post(&$a) {
}
if((! $vcard['photo']) && strlen($email))
$vcard['photo'] = gravatar_img($email);
if($poll === $profile)
$lnk = $feed->get_permalink();
if(isset($lnk) && strlen($lnk))
$profile = $lnk;
if(! (x($vcard,'fn')))
$vcard['fn'] = notags($feed->get_title());
if(! (x($vcard,'fn')))
$vcard['fn'] = notags($feed->get_description());
$network = 'feed';
$priority = 2;
}