logged_user() function can return User object (if i am log in) or NULL (if i am not log in) .. ok, but some methods like ProjectTasks::getLateTasksByUser() call logged_user()->getTimezone() without checking what data return logged_user() function.
Second moment .. if i want get in cron job (run from wget without user login) all task ProjectTasks::getProjectTasks() or ProjectTasks::getLateTasksByUser() i get Fatal error because permissions_sql_for_listings() call $user->getId() method .. but $user was "NULL" value if i run cron.php without authorization.
-----------------
Something strange ..
getLateTasksByUser() method was User $user argument, but never use it .. always return late tasks logged user has access to
I am modify:
$permissions = ' AND ( ' . permissions_sql_for_listings(ProjectTasks::instance(),ACCESS_LEVEL_READ, logged_user(), 'project_id') .')';
to:
$permissions = ' AND ( ' . permissions_sql_for_listings(ProjectTasks::instance(),ACCESS_LEVEL_READ, $user, 'project_id') .')';
And maybe:
$to_date = DateTimeValueLib::now()->add('h', logged_user()->getTimezone())->beginningOfDay();
to:
$to_date = DateTimeValueLib::now()->add('h', $user->getTimezone())->beginningOfDay();