use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\PConfig;
+use Friendica\Core\Session;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact as ContactModel;
// @TODO: Replace with parameter from router
if ($a->argc < 2) {
- System::httpExit(400);
+ throw new \Friendica\Network\HTTPException\BadRequestException();
}
self::$which = filter_var($a->argv[1], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK);
}
if (!$update) {
- $tab = false;
- if (!empty($_GET['tab'])) {
- $tab = Strings::escapeTags(trim($_GET['tab']));
- }
+ $tab = Strings::escapeTags(trim(defaults($_GET, 'tab', '')));
- $o .= ProfileModel::getTabs($a, $is_owner, $a->profile['nickname']);
+ $o .= ProfileModel::getTabs($a, $tab, $is_owner, $a->profile['nickname']);
if ($tab === 'profile') {
$o .= ProfileModel::getAdvanced($a);
$commpage = $a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
$commvisitor = $commpage && $remote_contact;
- $a->page['aside'] .= posted_date_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'], true);
- $a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (!empty($category) ? XML::escape($category) : ''));
+ $a->page['aside'] .= Widget::postedByYear(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'] ?? 0, true);
+ $a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], XML::escape($category));
$a->page['aside'] .= Widget::tagCloud();
if (Security::canWriteToUserWall($a->profile['profile_uid'])) {
$sql_extra = Item::getPermissionsSQLByUserId($a->profile['profile_uid'], $remote_contact, $groups, $remote_cid);
$sql_extra2 = '';
+ $last_updated_array = Session::get('last_updated', []);
+
if ($update) {
- $last_updated = (defaults($_SESSION['last_updated'], $last_updated_key, 0));
+ $last_updated = $last_updated_array[$last_updated_key] ?? 0;
// If the page user is the owner of the page we should query for unseen
// items. Otherwise use a timestamp of the last succesful update request.
AND `item`.`wall`
$sql_extra4
$sql_extra
- ORDER BY `item`.`created` DESC",
+ ORDER BY `item`.`received` DESC",
$a->profile['profile_uid'],
GRAVITY_ACTIVITY
);
}
if (!empty($datequery)) {
- $sql_extra2 .= Strings::protectSprintf(sprintf(" AND `thread`.`created` <= '%s' ", DBA::escape(DateTimeFormat::convert($datequery, 'UTC', date_default_timezone_get()))));
+ $sql_extra2 .= Strings::protectSprintf(sprintf(" AND `thread`.`received` <= '%s' ", DBA::escape(DateTimeFormat::convert($datequery, 'UTC', date_default_timezone_get()))));
}
if (!empty($datequery2)) {
- $sql_extra2 .= Strings::protectSprintf(sprintf(" AND `thread`.`created` >= '%s' ", DBA::escape(DateTimeFormat::convert($datequery2, 'UTC', date_default_timezone_get()))));
+ $sql_extra2 .= Strings::protectSprintf(sprintf(" AND `thread`.`received` >= '%s' ", DBA::escape(DateTimeFormat::convert($datequery2, 'UTC', date_default_timezone_get()))));
}
// Does the profile page belong to a forum?
$sql_extra3
$sql_extra
$sql_extra2
- ORDER BY `thread`.`created` DESC
+ ORDER BY `thread`.`received` DESC
$pager_sql",
$a->profile['profile_uid']
);
// Set a time stamp for this page. We will make use of it when we
// search for new items (update routine)
- $_SESSION['last_updated'][$last_updated_key] = time();
+ $last_updated_array[$last_updated_key] = time();
+ Session::set('last_updated', $last_updated_array);
if ($is_owner && !$update && !Config::get('theme', 'hide_eventlist')) {
$o .= ProfileModel::getBirthdays();
$items = DBA::toArray($items_stmt);
- $o .= conversation($a, $items, $pager, 'profile', $update, false, 'created', $a->profile['profile_uid']);
+ $o .= conversation($a, $items, $pager, 'profile', $update, false, 'received', $a->profile['profile_uid']);
if (!$update) {
$o .= $pager->renderMinimal(count($items));