X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fprofile.php;h=08c0dfdb86a9e4e16928d81ba2584e67568075df;hb=050ad68b9fc21fc5cf06153d2c6d161d30b241c6;hp=081b5e3a8596f66f15ff4a995f0de1e7c22efc1a;hpb=610f017b28edc37212df6385126993f2dfc41f59;p=friendica.git diff --git a/mod/profile.php b/mod/profile.php index 081b5e3a85..08c0dfdb86 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -2,18 +2,23 @@ /** * @file mod/profile.php */ + use Friendica\App; -use Friendica\Content\Widget; use Friendica\Content\Nav; +use Friendica\Content\Widget; +use Friendica\Core\ACL; use Friendica\Core\Addon; use Friendica\Core\Config; +use Friendica\Core\L10n; use Friendica\Core\PConfig; use Friendica\Core\System; use Friendica\Database\DBM; use Friendica\Model\Group; +use Friendica\Model\Item; use Friendica\Model\Profile; use Friendica\Module\Login; use Friendica\Protocol\DFRN; +use Friendica\Util\DateTimeFormat; function profile_init(App $a) { @@ -29,7 +34,7 @@ function profile_init(App $a) goaway(System::baseUrl() . '/profile/' . $r[0]['nickname']); } else { logger('profile error: mod_profile ' . $a->query_string, LOGGER_DEBUG); - notice(t('Requested profile is not available.') . EOL); + notice(L10n::t('Requested profile is not available.') . EOL); $a->error = 404; return; } @@ -70,10 +75,11 @@ function profile_init(App $a) } $a->page['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; - $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . ($a->path ? '/' . $a->path : '')); + $a->page['htmlhead'] .= '' . "\r\n"; + $a->page['htmlhead'] .= '' . "\r\n"; + $a->page['htmlhead'] .= '' . "\r\n"; + $a->page['htmlhead'] .= '' . "\r\n"; + $uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . ($a->urlpath ? '/' . $a->urlpath : '')); $a->page['htmlhead'] .= '' . "\r\n"; header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false); @@ -112,10 +118,8 @@ function profile_content(App $a, $update = 0) return Login::form(); } - require_once 'include/bbcode.php'; require_once 'include/security.php'; require_once 'include/conversation.php'; - require_once 'include/acl_selectors.php'; require_once 'include/items.php'; $groups = []; @@ -167,7 +171,7 @@ function profile_content(App $a, $update = 0) $last_updated_key = "profile:" . $a->profile['profile_uid'] . ":" . local_user() . ":" . remote_user(); if (x($a->profile, 'hidewall') && !$is_owner && !$remote_contact) { - notice(t('Access to this profile has been restricted.') . EOL); + notice(L10n::t('Access to this profile has been restricted.') . EOL); return; } @@ -187,16 +191,12 @@ function profile_content(App $a, $update = 0) $o .= Widget::commonFriendsVisitor($a->profile['profile_uid']); - if (x($_SESSION, 'new_member') && $is_owner) { - $o .= '' . t('Tips for New Members') . '' . EOL; - } - $commpage = $a->profile['page-flags'] == PAGE_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'], (x($category) ? xmlify($category) : '')); - $a->page['aside'] .= tagcloud_wall_widget(); + $a->page['aside'] .= Widget::tagCloud(); if (can_write_wall($a->profile['profile_uid'])) { $x = [ @@ -210,7 +210,7 @@ function profile_content(App $a, $update = 0) || strlen($a->user['deny_cid']) || strlen($a->user['deny_gid']) ) ? 'lock' : 'unlock', - 'acl' => $is_owner ? populate_acl($a->user, true) : '', + 'acl' => $is_owner ? ACL::getFullSelectorHTML($a->user, true) : '', 'bang' => '', 'visitor' => $is_owner || $commvisitor ? 'block' : 'none', 'profile_uid' => $a->profile['profile_uid'], @@ -233,23 +233,20 @@ function profile_content(App $a, $update = 0) if ($is_owner || !$last_updated) { $sql_extra4 = " AND `item`.`unseen`"; } else { - $gmupdate = gmdate("Y-m-d H:i:s", $last_updated); + $gmupdate = gmdate(DateTimeFormat::MYSQL, $last_updated); $sql_extra4 = " AND `item`.`received` > '" . $gmupdate . "'"; } $r = q("SELECT distinct(parent) AS `item_id`, `item`.`network` AS `item_network`, `item`.`created` FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` - AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 - WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND - (`item`.`deleted` = 0 OR item.verb = '" . ACTIVITY_LIKE . "' - OR item.verb = '" . ACTIVITY_DISLIKE . "' OR item.verb = '" . ACTIVITY_ATTEND . "' - OR item.verb = '" . ACTIVITY_ATTENDNO . "' OR item.verb = '" . ACTIVITY_ATTENDMAYBE . "') - AND `item`.`moderated` = 0 - AND `item`.`wall` = 1 + AND NOT `contact`.`blocked` AND NOT `contact`.`pending` + WHERE `item`.`uid` = %d AND `item`.`visible` AND + (NOT `item`.`deleted` OR `item`.`gravity` = %d) + AND NOT `item`.`moderated` AND `item`.`wall` $sql_extra4 $sql_extra ORDER BY `item`.`created` DESC", - intval($a->profile['profile_uid']) + intval($a->profile['profile_uid']), intval(GRAVITY_ACTIVITY) ); if (!DBM::is_result($r)) { @@ -269,10 +266,10 @@ function profile_content(App $a, $update = 0) } if ($datequery) { - $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery)))); + $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` <= '%s' ", dbesc(DateTimeFormat::convert($datequery, 'UTC', date_default_timezone_get())))); } if ($datequery2) { - $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery2)))); + $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` >= '%s' ", dbesc(DateTimeFormat::convert($datequery2, 'UTC', date_default_timezone_get())))); } // Belongs the profile page to a forum? @@ -285,6 +282,8 @@ function profile_content(App $a, $update = 0) if (!DBM::is_result($r)) { $sql_extra3 = sprintf(" AND `thread`.`contact-id` = %d ", intval(intval($a->profile['contact_id']))); + } else { + $sql_extra3 = ""; } // check if we serve a mobile device and get the user settings @@ -333,35 +332,28 @@ function profile_content(App $a, $update = 0) $parents_arr[] = $rr['item_id']; } - $parents_str = implode(', ', $parents_arr); - - $items = q(item_query() . " AND `item`.`uid` = %d - AND `item`.`parent` IN (%s) - $sql_extra ", - intval($a->profile['profile_uid']), - dbesc($parents_str) - ); - - $items = conv_sort($items, 'created'); + $condition = ['uid' => $a->profile['profile_uid'], 'parent' => $parents_arr]; + $result = Item::selectForUser($a->profile['profile_uid'], [], $condition); + $items = conv_sort(Item::inArray($result), 'created'); } else { $items = []; } if ($is_owner && !$update && !Config::get('theme', 'hide_eventlist')) { $o .= Profile::getBirthdays(); - $o .= Profile::getEvents(); + $o .= Profile::getEventsReminderHTML(); } if ($is_owner) { $unseen = dba::exists('item', ['wall' => true, 'unseen' => true, 'uid' => local_user()]); if ($unseen) { - $r = dba::update('item', ['unseen' => false], + $r = Item::update(['unseen' => false], ['wall' => true, 'unseen' => true, 'uid' => local_user()]); } } - $o .= conversation($a, $items, 'profile', $update); + $o .= conversation($a, $items, 'profile', $update, false, 'commented', local_user()); if (!$update) { $o .= alt_pager($a, count($items));