X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FUpdate%2FProfile.php;h=741bcc79c5f0f67d2c08310a23e8ef63bc053367;hb=fe373a10aaa8d6efba035319841a9f527f20fdec;hp=79e53168b3a7080807945bf1e712719b4396df35;hpb=0b0309ce8f10e1f7f3a519d6d91408f8e9d35140;p=friendica.git diff --git a/src/Module/Update/Profile.php b/src/Module/Update/Profile.php index 79e53168b3..741bcc79c5 100644 --- a/src/Module/Update/Profile.php +++ b/src/Module/Update/Profile.php @@ -22,11 +22,12 @@ namespace Friendica\Module\Update; use Friendica\BaseModule; -use Friendica\Content\Pager; use Friendica\Core\Session; +use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Item; +use Friendica\Model\Post; use Friendica\Model\Profile as ProfileModel; use Friendica\Network\HTTPException\ForbiddenException; use Friendica\Util\DateTimeFormat; @@ -41,8 +42,6 @@ class Profile extends BaseModule throw new ForbiddenException(); } - $o = ''; - $profile_uid = intval($_GET['p'] ?? 0); // Ensure we've got a profile owner if updating. @@ -56,6 +55,12 @@ class Profile extends BaseModule throw new ForbiddenException(DI::l10n()->t('Access to this profile has been restricted.')); } + $o = ''; + + if (empty($_GET['force']) && DI::pConfig()->get(local_user(), 'system', 'no_auto_update')) { + System::htmlUpdateExit($o); + } + // Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups $sql_extra = Item::getPermissionsSQLByUserId($a->profile['uid']); @@ -66,27 +71,18 @@ class Profile extends BaseModule // 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. if ($is_owner || !$last_updated) { - $sql_extra4 = " AND `item`.`unseen`"; + $sql_extra4 = " AND `unseen`"; } else { $gmupdate = gmdate(DateTimeFormat::MYSQL, $last_updated); - $sql_extra4 = " AND `item`.`received` > '" . $gmupdate . "'"; + $sql_extra4 = " AND `received` > '" . $gmupdate . "'"; } $items_stmt = DBA::p( - "SELECT DISTINCT(`parent-uri`) AS `uri`, `item`.`created` - FROM `item` - INNER JOIN `contact` - ON `contact`.`id` = `item`.`contact-id` - AND NOT `contact`.`blocked` - AND NOT `contact`.`pending` - WHERE `item`.`uid` = ? - AND `item`.`visible` - AND (NOT `item`.`deleted` OR `item`.`gravity` = ?) - AND NOT `item`.`moderated` - AND `item`.`wall` - $sql_extra4 - $sql_extra - ORDER BY `item`.`received` DESC", + "SELECT DISTINCT(`parent-uri`) AS `uri`, `created` FROM `post-view` + WHERE `uid` = ? AND NOT `contact-blocked` AND NOT `contact-pending` + AND `visible` AND (NOT `deleted` OR `gravity` = ?) + AND NOT `moderated` AND `wall` $sql_extra4 $sql_extra + ORDER BY `received` DESC", $a->profile['uid'], GRAVITY_ACTIVITY ); @@ -106,7 +102,7 @@ class Profile extends BaseModule } if ($is_owner) { - $unseen = Item::exists(['wall' => true, 'unseen' => true, 'uid' => local_user()]); + $unseen = Post::exists(['wall' => true, 'unseen' => true, 'uid' => local_user()]); if ($unseen) { Item::update(['unseen' => false], ['wall' => true, 'unseen' => true, 'uid' => local_user()]); } @@ -116,27 +112,6 @@ class Profile extends BaseModule $o .= conversation($a, $items, 'profile', $profile_uid, false, 'received', $a->profile['uid']); - header("Content-type: text/html"); - echo "\r\n"; - // We can remove this hack once Internet Explorer recognises HTML5 natively - echo "
"; - echo $o; - if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { - $replace = "
".DI::l10n()->t("[Embedded content - reload page to view]")."
"; - $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i"; - $o = preg_replace($pattern, $replace, $o); - $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i"; - $o = preg_replace($pattern, $replace, $o); - } - - // reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well - echo str_replace("\t", " ", $o); - echo "
"; - echo "\r\n"; - exit(); + System::htmlUpdateExit($o); } }