posted_dates() needs a re-write so we can make a much prettier archive widget
This commit is contained in:
parent
c1f8eda719
commit
f96a81d274
@ -3723,13 +3723,53 @@ function first_post_date($uid,$wall = false) {
|
|||||||
intval($uid)
|
intval($uid)
|
||||||
|
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if($r) {
|
||||||
// logger('first_post_date: ' . $r[0]['id'] . ' ' . $r[0]['created'], LOGGER_DATA);
|
// 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 substr(datetime_convert('',date_default_timezone_get(),$r[0]['created']),0,10);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* modified posted_dates() {below} to arrange the list in years, which we'll eventually
|
||||||
|
* use to make a menu of years with collapsible sub-menus for the months instead of the
|
||||||
|
* current flat list of all representative dates.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function list_post_dates($uid,$wall) {
|
||||||
|
$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();
|
||||||
|
// Starting with the current month, get the first and last days of every
|
||||||
|
// month down to and including the month of the first post
|
||||||
|
while(substr($dnow, 0, 7) >= substr($dthen, 0, 7)) {
|
||||||
|
$dyear = intval(substr($dnow,0,4));
|
||||||
|
$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'));
|
||||||
|
if(! $ret[$dyear])
|
||||||
|
$ret[$dyear] = array();
|
||||||
|
$ret[$dyear][] = array($str,$end_month,$start_month);
|
||||||
|
$dnow = datetime_convert('','',$dnow . ' -1 month', 'Y-m-d');
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function posted_dates($uid,$wall) {
|
function posted_dates($uid,$wall) {
|
||||||
$dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
|
$dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user