first_post_date() (used by archive widget) - trigger the query options off of the active module rather than rely on passed parameters

This commit is contained in:
zotlabs 2018-08-23 21:01:28 -07:00
parent 6ecd31a715
commit a66c43166a

View File

@ -3781,33 +3781,34 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
* @brief Return the first post date.
*
* @param int $uid
* @param boolean $wall (optional) default false
* hack: $wall = 2 selects articles
* @param boolean $wall (optional) no longer used
* @return string|boolean date string, otherwise false
*/
function first_post_date($uid, $wall = false) {
$wall_sql = (($wall === 1) ? " and item_wall = 1 " : "" );
if($wall === 2) {
$wall_sql = " and item_type = 7 ";
$sql_extra = '';
switch(\App::$module) {
case 'articles':
$sql_extra .= " and item_type = 7 ";
$item_normal = " and item.item_hidden = 0 and item.item_type = 7 and item.item_deleted = 0
and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_pending_remove = 0
and item.item_blocked = 0 ";
}
else {
break;
case 'channel':
$sql_extra = " and item_wall = 1 ";
default:
$item_normal = item_normal();
break;
}
$r = q("select id, created from item
where uid = %d and id = parent $item_normal $wall_sql
where uid = %d and id = parent $item_normal $sql_extra
order by created asc limit 1",
intval($uid)
);
if($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);
}