diff --git a/boot.php b/boot.php index 86ad29296..adb1b96f8 100644 --- a/boot.php +++ b/boot.php @@ -2215,3 +2215,17 @@ function link_compare($a,$b) { return true; return false; }} + + +if(! function_exists('prepare_body')) { +function prepare_body($item) { + + require_once('include/bbcode.php'); + + $s = smilies(bbcode($item['body'])); + + return $s; + + + +}} \ No newline at end of file diff --git a/include/Scrape.php b/include/Scrape.php index 8478ea407..e4f7a0878 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -161,6 +161,8 @@ function scrape_feed($url) { $x = $item->getAttribute('rel'); if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml')) $ret['feed_atom'] = $item->getAttribute('href'); + if(($x === 'alternate') && ($item->getAttribute('type') === 'application/rss+xml')) + $ret['feed_rss'] = $item->getAttribute('href'); } return $ret; diff --git a/include/items.php b/include/items.php index 5f8264beb..cbe0e970d 100644 --- a/include/items.php +++ b/include/items.php @@ -423,19 +423,29 @@ function get_atom_elements($feed,$item) { else $res['private'] = 0; - $rawcreated = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'published'); - if($rawcreated) - $res['created'] = unxmlify($rawcreated[0]['data']); $rawlocation = $item->get_item_tags(NAMESPACE_DFRN, 'location'); if($rawlocation) $res['location'] = unxmlify($rawlocation[0]['data']); + $rawcreated = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'published'); + if($rawcreated) + $res['created'] = unxmlify($rawcreated[0]['data']); + + $rawedited = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'updated'); if($rawedited) $res['edited'] = unxmlify($rawcreated[0]['data']); + + if(! $res['created']) + $res['created'] = $item->get_date(); + + if(! $res['edited']) + $res['edited'] = $item->get_date(); + + $rawowner = $item->get_item_tags(NAMESPACE_DFRN, 'owner'); if($rawowner[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']) $res['owner-name'] = unxmlify($rawowner[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']); @@ -1155,6 +1165,10 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0) { ); $datarray['last-child'] = 1; } + if(($contact['network'] === 'feed') || (! strlen($contact['poll']))) { + // one way feed - no remote comment ability + $datarray['last-child'] = 0; + } $datarray['parent-uri'] = $parent_uri; $datarray['uid'] = $importer['uid']; $datarray['contact-id'] = $contact['id']; @@ -1207,6 +1221,11 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0) { $datarray['last-child'] = 1; } + if(($contact['network'] === 'feed') || (! strlen($contact['poll']))) { + // one way feed - no remote comment ability + $datarray['last-child'] = 0; + } + $datarray['parent-uri'] = $item_id; $datarray['uid'] = $importer['uid']; $datarray['contact-id'] = $contact['id']; @@ -1216,7 +1235,6 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0) { } } } - } function new_follower($importer,$contact,$datarray,$item) { diff --git a/mod/follow.php b/mod/follow.php index e5eb7763b..bad2e74f9 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -74,8 +74,8 @@ function follow_post(&$a) { $ret = scrape_feed($url); - if(count($ret) && $ret['feed_atom']) { - $poll = $ret['feed_atom']; + if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) { + $poll = ((x($ret,'feed_atom')) ? $ret['feed_atom'] : $ret['feed_rss']); $vcard = array(); require_once('simplepie/simplepie.inc'); $feed = new SimplePie(); @@ -115,7 +115,6 @@ function follow_post(&$a) { logger('follow: poll=' . $poll . ' notify=' . $notify . ' profile=' . $profile . ' vcard=' . print_r($vcard,true)); - // do we have enough information? if(! ((x($vcard['fn'])) && ($poll) && ($profile))) { diff --git a/mod/settings.php b/mod/settings.php index 1923c58da..32906d86e 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -87,11 +87,14 @@ function settings_post(&$a) { $err = ''; + $name_change = false; + if($username != $a->user['username']) { - if(strlen($username) > 40) - $err .= t(' Please use a shorter name.'); - if(strlen($username) < 3) - $err .= t(' Name too short.'); + $name_change = true; + if(strlen($username) > 40) + $err .= t(' Please use a shorter name.'); + if(strlen($username) < 3) + $err .= t(' Name too short.'); } if($email != $a->user['email']) { @@ -165,6 +168,15 @@ function settings_post(&$a) { intval(local_user()) ); + + if($name_change) { + q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `self` = 1 LIMIT 1", + dbesc($username), + dbesc(datetime_convert()), + intval(local_user()) + ); + } + if($old_visibility != $net_publish) { // Update global directory in background $php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); diff --git a/view/theme/default/style.css b/view/theme/default/style.css index e34b622c6..fcc9c94a8 100644 --- a/view/theme/default/style.css +++ b/view/theme/default/style.css @@ -985,6 +985,10 @@ input#dfrn-url { width: 450px; margin-left: 10px; margin-bottom: 20px; + padding: 20px; + max-height: 400px; + overflow: auto; + } .wall-item-title { diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index ae7968b3f..1a415db45 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -856,6 +856,9 @@ input#dfrn-url { width: 450px; margin-left: 10px; margin-bottom: 20px; + padding: 20px; + max-height: 400px; + overflow: auto; } .wall-item-title { @@ -1882,4 +1885,3 @@ a.mail-list-link { margin-bottom: 15px; } -