$res['body'] = $purifier->purify($res['body']);
$res['body'] = @html2bbcode($res['body']);
+
+
}
elseif(! $have_real_body) {
if($r[0]['private'])
$arr['private'] = 1;
+ // Edge case. We host a public forum that was originally posted to privately.
+ // The original author commented, but as this is a comment, the permissions
+ // weren't fixed up so it will still show the comment as private unless we fix it here.
+
+ if((intval($r[0]['forum_mode']) == 1) && (! $r[0]['private']))
+ $arr['private'] = 0;
}
else {
return 3;
}
+ if($contact['term-date'] != '0000-00-00 00:00:00') {
+ logger("dfrn_deliver: $url back from the dead - removing mark for death");
+ require_once('include/Contact.php');
+ unmark_for_death($contact);
+ }
+
$res = parse_xml_string($xml);
return $res->status;
function first_post_date($uid,$wall = false) {
- $r = q("select created from item
+ $r = q("select id, created from item
where uid = %d and wall = %d and deleted = 0 and visible = 1 AND moderated = 0
+ and id = parent
order by created asc limit 1",
intval($uid),
intval($wall ? 1 : 0)
);
- if(count($r))
- return substr($r[0]['created'],0,10);
+ if(count($r)) {
+// logger('first_post_date: ' . $r[0]['id'] . ' ' . $r[0]['created'], LOGGER_DATA);
+ return substr(datetime_convert('',date_default_timezone_get(),$r[0]['created']),0,10);
+ }
return false;
}
function posted_dates($uid,$wall) {
- $dnow = datetime_convert('','','now','Y-m-d');
+ $dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
$dthen = first_post_date($uid,$wall);
if(! $dthen)
return array();
+ // If it's near the end of a long month, backup to the 28th so that in
+ // consecutive loops we'll always get a whole month difference.
+
+ if(intval(substr($dnow,8)) > 28)
+ $dnow = substr($dnow,0,8) . '28';
+ if(intval(substr($dthen,8)) > 28)
+ $dnow = substr($dthen,0,8) . '28';
+
$ret = array();
while($dnow >= $dthen) {
- $start_month = datetime_convert('','','first day of ' . $dnow,'Y-m-d');
- $end_month = datetime_convert('','','last day of ' . $dnow,'Y-m-d');
+ $dstart = substr($dnow,0,8) . '01';
+ $dend = substr($dnow,0,8) . get_dim(intval($dnow),intval(substr($dnow,5)));
+ $start_month = datetime_convert('','',$dstart,'Y-m-d');
+ $end_month = datetime_convert('','',$dend,'Y-m-d');
$str = day_translate(datetime_convert('','',$dnow,'F Y'));
$ret[] = array($str,$end_month,$start_month);
$dnow = datetime_convert('','',$dnow . ' -1 month', 'Y-m-d');
function posted_date_widget($url,$uid,$wall) {
$o = '';
+
+ // For former Facebook folks that left because of "timeline"
+
+ if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
+ return $o;
+
$ret = posted_dates($uid,$wall);
if(! count($ret))
return $o;