X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FModule%2FProfile.php;h=d103c614e67ebae35ebbcffabd89713421d65cdf;hb=e8bbdc9bedb1328385052b8a5e5964a704a8deb8;hp=afebede4d0dcdf155145cfa9c8c51d0340d6a943;hpb=57f6086fcd42e97069ebdf2c81bd481db4f3e2c4;p=friendica.git diff --git a/src/Module/Profile.php b/src/Module/Profile.php index afebede4d0..d103c614e6 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -11,6 +11,7 @@ use Friendica\Core\Config; 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; @@ -56,21 +57,22 @@ class Profile extends BaseModule { if (ActivityPub::isRequest()) { $user = DBA::selectFirst('user', ['uid'], ['nickname' => self::$which]); - $data = []; if (DBA::isResult($user)) { + // The function returns an empty array when the account is removed, expired or blocked $data = ActivityPub\Transmitter::getProfile($user['uid']); + if (!empty($data)) { + System::jsonExit($data, 'application/activity+json'); + } } - if (!empty($data)) { - System::jsonExit($data, 'application/activity+json'); - } elseif (DBA::exists('userd', ['username' => self::$which])) { + if (DBA::exists('userd', ['username' => self::$which])) { // Known deleted user $data = ActivityPub\Transmitter::getDeletedUser(self::$which); System::jsonError(410, $data); } else { // Any other case (unknown, blocked, unverified, expired, no profile, no self contact) - System::jsonError(404, $data); + System::jsonError(404, []); } } } @@ -82,11 +84,13 @@ class Profile extends BaseModule if (!$update) { ProfileModel::load($a, self::$which, self::$profile); + $a->page['htmlhead'] .= "\n"; + $blocked = !local_user() && !remote_user() && Config::get('system', 'block_public'); $userblock = !local_user() && !remote_user() && $a->profile['hidewall']; if (!empty($a->profile['page-flags']) && $a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY) { - $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= '' . "\n"; } if (!empty($a->profile['openidserver'])) { @@ -107,6 +111,11 @@ class Profile extends BaseModule } $a->page['htmlhead'] .= '' . "\n"; + + if (!$a->profile['net-publish'] || $a->profile['hidewall']) { + $a->page['htmlhead'] .= '' . "\n"; + } + $a->page['htmlhead'] .= '' . "\n"; $a->page['htmlhead'] .= '' . "\n"; $a->page['htmlhead'] .= '' . "\n"; @@ -223,8 +232,10 @@ class Profile extends BaseModule $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. @@ -249,7 +260,7 @@ class Profile extends BaseModule AND `item`.`wall` $sql_extra4 $sql_extra - ORDER BY `item`.`created` DESC", + ORDER BY `item`.`received` DESC", $a->profile['profile_uid'], GRAVITY_ACTIVITY ); @@ -273,10 +284,10 @@ class Profile extends BaseModule } 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? @@ -323,7 +334,7 @@ class Profile extends BaseModule $sql_extra3 $sql_extra $sql_extra2 - ORDER BY `thread`.`created` DESC + ORDER BY `thread`.`received` DESC $pager_sql", $a->profile['profile_uid'] ); @@ -331,7 +342,8 @@ class Profile extends BaseModule // 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(); @@ -347,7 +359,7 @@ class Profile extends BaseModule $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));