]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Post.php
Group selection: Respect "pubmail" and ignore atchived or blocked contacts
[friendica.git] / src / Object / Post.php
index 7dd5308017749b58cd819bf8efb4cb9c20165eaf..5dbcfeeedec7ce7d482844abc3dd09082d8c79f6 100644 (file)
@@ -15,8 +15,8 @@ use Friendica\Core\L10n;
 use Friendica\Core\Logger;
 use Friendica\Core\PConfig;
 use Friendica\Core\Protocol;
-use Friendica\Core\Session;
 use Friendica\Core\Renderer;
+use Friendica\Core\Session;
 use Friendica\Database\DBA;
 use Friendica\Model\Contact;
 use Friendica\Model\Item;
@@ -140,8 +140,11 @@ class Post extends BaseObject
                $sparkle = '';
                $buttons = '';
                $dropping = false;
+               $pinned = '';
+               $pin = false;
                $star = false;
                $ignore = false;
+               $ispinned = "unpinned";
                $isstarred = "unstarred";
                $indent = '';
                $shiny = '';
@@ -190,6 +193,8 @@ class Post extends BaseObject
                        if (DBA::isResult($parent)) {
                                $origin = $parent['origin'];
                        }
+               } elseif ($item['pinned']) {
+                       $pinned = L10n::t('pinned item');
                }
 
                if ($origin && ($item['id'] != $item['parent']) && ($item['network'] == Protocol::ACTIVITYPUB)) {
@@ -240,7 +245,7 @@ class Post extends BaseObject
 
                $isevent = false;
                $attend = [];
-               if ($item['object-type'] === ACTIVITY_OBJ_EVENT) {
+               if ($item['object-type'] === Activity\ObjectType::EVENT) {
                        $response_verbs[] = 'attendyes';
                        $response_verbs[] = 'attendno';
                        $response_verbs[] = 'attendmaybe';
@@ -284,6 +289,19 @@ class Post extends BaseObject
                                }
 
                                if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) {
+                                       if ($origin) {
+                                               $ispinned = ($item['pinned'] ? 'pinned' : 'unpinned');
+
+                                               $pin = [
+                                                       'do'        => L10n::t('pin'),
+                                                       'undo'      => L10n::t('unpin'),
+                                                       'toggle'    => L10n::t('toggle pin status'),
+                                                       'classdo'   => $item['pinned'] ? 'hidden' : '',
+                                                       'classundo' => $item['pinned'] ? '' : 'hidden',
+                                                       'pinned'   => L10n::t('pinned'),
+                                               ];
+                                       }
+
                                        $isstarred = (($item['starred']) ? "starred" : "unstarred");
 
                                        $star = [
@@ -360,6 +378,11 @@ class Post extends BaseObject
 
                $tags = Term::populateTagsFromItem($item);
 
+               $ago = Temporal::getRelativeDate($item['created']);
+               if (Config::get('system', 'show_received') && (abs(strtotime($item['created']) - strtotime($item['received'])) > Config::get('system', 'show_received_seconds'))) {
+                       $ago = L10n::t('%s (Received %s)', $ago, Temporal::getRelativeDate($item['received']));
+               }
+
                $tmp_item = [
                        'template'        => $this->getTemplate(),
                        'type'            => implode("", array_slice(explode("/", $item['verb']), -1)),
@@ -394,7 +417,7 @@ class Post extends BaseObject
                        'sparkle'         => $sparkle,
                        'title'           => $title_e,
                        'localtime'       => DateTimeFormat::local($item['created'], 'r'),
-                       'ago'             => $item['app'] ? L10n::t('%s from %s', Temporal::getRelativeDate($item['created']), $item['app']) : Temporal::getRelativeDate($item['created']),
+                       'ago'             => $item['app'] ? L10n::t('%s from %s', $ago, $item['app']) : $ago,
                        'app'             => $item['app'],
                        'created'         => Temporal::getRelativeDate($item['created']),
                        'lock'            => $lock,
@@ -407,6 +430,9 @@ class Post extends BaseObject
                        'owner_name'      => $owner_name_e,
                        'plink'           => Item::getPlink($item),
                        'edpost'          => $edpost,
+                       'ispinned'        => $ispinned,
+                       'pin'             => $pin,
+                       'pinned'          => $pinned,
                        'isstarred'       => $isstarred,
                        'star'            => $star,
                        'ignore'          => $ignore,
@@ -531,8 +557,8 @@ class Post extends BaseObject
                 */
                if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) {
                        return false;
-               } elseif ($activity->match($item->getDataValue('verb'), ACTIVITY_LIKE) ||
-                         $activity->match($item->getDataValue('verb'), ACTIVITY_DISLIKE)) {
+               } elseif ($activity->match($item->getDataValue('verb'), Activity::LIKE) ||
+                         $activity->match($item->getDataValue('verb'), Activity::DISLIKE)) {
                        return false;
                }