]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Conversation.php
Merge pull request #11230 from annando/account-type
[friendica.git] / src / Content / Conversation.php
index b5a9ab9766ef478fce7a698f50c4c2d90dc52ce6..af96deebdb2b7a9d5f2a1b5f480c8bfd8533f1f2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -25,14 +25,11 @@ use Friendica\App;
 use Friendica\App\Arguments;
 use Friendica\App\BaseURL;
 use Friendica\BaseModule;
-use Friendica\Content\ContactSelector;
-use Friendica\Content\Feature;
-use Friendica\Content\Item;
 use Friendica\Core\ACL;
-use Friendica\Core\Config\IConfig;
+use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\Core\Hook;
 use Friendica\Core\L10n;
-use Friendica\Core\PConfig\IPConfig;
+use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
 use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\Core\Session;
@@ -69,11 +66,11 @@ class Conversation
        private $item;
        /** @var App\Arguments */
        private $args;
-       /** @var IPConfig */
+       /** @var IManagePersonalConfigValues */
        private $pConfig;
        /** @var BaseURL */
        private $baseURL;
-       /** @var IConfig */
+       /** @var IManageConfigValues */
        private $config;
        /** @var App */
        private $app;
@@ -82,7 +79,7 @@ class Conversation
        /** @var App\Mode */
        private $mode;
 
-       public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IConfig $config, IPConfig $pConfig, App\Page $page, App\Mode $mode, App $app)
+       public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app)
        {
                $this->activity = $activity;
                $this->item     = $item;
@@ -226,12 +223,12 @@ class Conversation
                                        break;
                        }
                } elseif ($total > 1) {
-                       if ($total < MAX_LIKERS) {
+                       if ($total < $this->config->get('system', 'max_likers')) {
                                $likers = implode(', ', array_slice($links, 0, -1));
                                $likers .= ' ' . $this->l10n->t('and') . ' ' . $links[count($links) - 1];
                        } else {
-                               $likers = implode(', ', array_slice($links, 0, MAX_LIKERS - 1));
-                               $likers .= ' ' . $this->l10n->t('and %d other people', $total - MAX_LIKERS);
+                               $likers = implode(', ', array_slice($links, 0, $this->config->get('system', 'max_likers') - 1));
+                               $likers .= ' ' . $this->l10n->t('and %d other people', $total - $this->config->get('system', 'max_likers'));
                        }
 
                        $spanatts = "class=\"fakelink\" onclick=\"openClose('{$verb}list-$id');\"";
@@ -288,15 +285,15 @@ class Conversation
                $this->profiler->startRecording('rendering');
                $o = '';
 
-               $x['allow_location']   = $x['allow_location'] ?? $user['allow_location'];
+               $x['allow_location']   = $x['allow_location']   ?? $user['allow_location'];
                $x['default_location'] = $x['default_location'] ?? $user['default-location'];
-               $x['nickname']         = $x['nickname'] ?? $user['nickname'];
-               $x['lockstate']        = $x['lockstate'] ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock';
-               $x['acl']              = $x['acl'] ?? ACL::getFullSelectorHTML($this->page, $user['uid'], true);
-               $x['bang']             = $x['bang'] ?? '';
-               $x['visitor']          = $x['visitor'] ?? 'block';
-               $x['is_owner']         = $x['is_owner'] ?? true;
-               $x['profile_uid']      = $x['profile_uid'] ?? local_user();
+               $x['nickname']         = $x['nickname']         ?? $user['nickname'];
+               $x['lockstate']        = $x['lockstate']        ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock';
+               $x['acl']              = $x['acl']              ?? ACL::getFullSelectorHTML($this->page, $user['uid'], true);
+               $x['bang']             = $x['bang']             ?? '';
+               $x['visitor']          = $x['visitor']          ?? 'block';
+               $x['is_owner']         = $x['is_owner']         ?? true;
+               $x['profile_uid']      = $x['profile_uid']      ?? local_user();
 
 
                $geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : '';
@@ -443,16 +440,16 @@ class Conversation
                                        . "; var netargs = '" . substr($this->args->getCommand(), 8)
                                        . '?f='
                                        . (!empty($_GET['contactid']) ? '&contactid=' . rawurlencode($_GET['contactid']) : '')
-                                       . (!empty($_GET['search']) ? '&search=' . rawurlencode($_GET['search']) : '')
-                                       . (!empty($_GET['star']) ? '&star=' . rawurlencode($_GET['star']) : '')
-                                       . (!empty($_GET['order']) ? '&order=' . rawurlencode($_GET['order']) : '')
-                                       . (!empty($_GET['bmark']) ? '&bmark=' . rawurlencode($_GET['bmark']) : '')
-                                       . (!empty($_GET['liked']) ? '&liked=' . rawurlencode($_GET['liked']) : '')
-                                       . (!empty($_GET['conv']) ? '&conv=' . rawurlencode($_GET['conv']) : '')
-                                       . (!empty($_GET['nets']) ? '&nets=' . rawurlencode($_GET['nets']) : '')
-                                       . (!empty($_GET['cmin']) ? '&cmin=' . rawurlencode($_GET['cmin']) : '')
-                                       . (!empty($_GET['cmax']) ? '&cmax=' . rawurlencode($_GET['cmax']) : '')
-                                       . (!empty($_GET['file']) ? '&file=' . rawurlencode($_GET['file']) : '')
+                                       . (!empty($_GET['search'])    ? '&search='    . rawurlencode($_GET['search'])    : '')
+                                       . (!empty($_GET['star'])      ? '&star='      . rawurlencode($_GET['star'])      : '')
+                                       . (!empty($_GET['order'])     ? '&order='     . rawurlencode($_GET['order'])     : '')
+                                       . (!empty($_GET['bmark'])     ? '&bmark='     . rawurlencode($_GET['bmark'])     : '')
+                                       . (!empty($_GET['liked'])     ? '&liked='     . rawurlencode($_GET['liked'])     : '')
+                                       . (!empty($_GET['conv'])      ? '&conv='      . rawurlencode($_GET['conv'])      : '')
+                                       . (!empty($_GET['nets'])      ? '&nets='      . rawurlencode($_GET['nets'])      : '')
+                                       . (!empty($_GET['cmin'])      ? '&cmin='      . rawurlencode($_GET['cmin'])      : '')
+                                       . (!empty($_GET['cmax'])      ? '&cmax='      . rawurlencode($_GET['cmax'])      : '')
+                                       . (!empty($_GET['file'])      ? '&file='      . rawurlencode($_GET['file'])      : '')
 
                                        . "'; </script>\r\n";
                        }
@@ -632,7 +629,7 @@ class Conversation
 
                                        $body_html = ItemModel::prepareBody($item, true, $preview);
 
-                                       list($categories, $folders) = $this->item->determineCategoriesTerms($item, local_user());
+                                       [$categories, $folders] = $this->item->determineCategoriesTerms($item, local_user());
 
                                        if (!empty($item['content-warning']) && $this->pConfig->get(local_user(), 'system', 'disable_cw', false)) {
                                                $title = ucfirst($item['content-warning']);
@@ -672,6 +669,7 @@ class Conversation
                                                'folders'              => $folders,
                                                'text'                 => strip_tags($body_html),
                                                'localtime'            => DateTimeFormat::local($item['created'], 'r'),
+                                               'utc'                  => DateTimeFormat::utc($item['created'], 'c'),
                                                'ago'                  => (($item['app']) ? $this->l10n->t('%s from %s', Temporal::getRelativeDate($item['created']), $item['app']) : Temporal::getRelativeDate($item['created'])),
                                                'location_html'        => $location_html,
                                                'indent'               => '',
@@ -687,7 +685,7 @@ class Conversation
                                                'like_html'            => '',
                                                'dislike_html '        => '',
                                                'comment_html'         => '',
-                                               'conv'                 => ($preview ? '' : ['href' => 'display/' . $item['guid'], 'title'=> $this->l10n->t('View in context')]),
+                                               'conv'                 => ($preview ? '' : ['href' => 'display/' . $item['guid'], 'title' => $this->l10n->t('View in context')]),
                                                'previewing'           => $previewing,
                                                'wait'                 => $this->l10n->t('Please wait'),
                                                'thread_level'         => 1,
@@ -699,7 +697,6 @@ class Conversation
                                        $threads[$threadsid]['id']      = $item['id'];
                                        $threads[$threadsid]['network'] = $item['network'];
                                        $threads[$threadsid]['items']   = [$arr['output']];
-
                                }
                        } else {
                                // Normal View
@@ -847,8 +844,8 @@ class Conversation
                                }
 
                                if (($row['gravity'] == GRAVITY_PARENT) && !empty($row['causer-id'])) {
-                                       $causer = ['uid' => 0, 'id' => $row['causer-id'],
-                                               'network' => $row['causer-network'], 'url' => $row['causer-link']];
+                                       $causer = ['uid' => 0, 'id' => $row['causer-id'], 'network' => $row['causer-network'], 'url' => $row['causer-link']];
+
                                        $row['reshared'] = $this->l10n->t('%s reshared this.', '<a href="'. htmlentities(Contact::magicLinkByContact($causer)) .'">' . htmlentities($row['causer-name']) . '</a>');
                                }
                                $row['direction'] = ['direction' => 3, 'title' => (empty($row['causer-id']) ? $this->l10n->t('Reshared') : $this->l10n->t('Reshared by %s <%s>', $row['causer-name'], $row['causer-link']))];