X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FThread.php;h=5c825dfc7e9ac4cc4c30e45a3e839ec49a682c47;hb=9526daa5b775fd120a9a995bde6d5bec34f1b286;hp=0d0def06120927c00b57f664b9494316b2af2cd4;hpb=6d7f0a6fd8b596263636e55fc9281ad764c95ff6;p=friendica.git diff --git a/src/Object/Thread.php b/src/Object/Thread.php index 0d0def0612..5c825dfc7e 100644 --- a/src/Object/Thread.php +++ b/src/Object/Thread.php @@ -1,14 +1,32 @@ . + * */ + namespace Friendica\Object; +use Friendica\Content\Conversation; use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\DI; use Friendica\Protocol\Activity; -use Friendica\Util\Security; +use Friendica\Security\Security; /** * A list of threads @@ -17,6 +35,7 @@ use Friendica\Util\Security; */ class Thread { + /** @var Post[] */ private $parents = []; private $mode = null; private $writable = false; @@ -55,29 +74,24 @@ class Thread $a = DI::app(); switch ($mode) { - case 'network': - case 'notes': - $this->profile_owner = local_user(); + case Conversation::MODE_NETWORK: + case Conversation::MODE_NOTES: + $this->profile_owner = DI::userSession()->getLocalUserId(); $this->writable = true; break; - case 'profile': - $this->profile_owner = $a->profile['uid']; - $this->writable = Security::canWriteToUserWall($this->profile_owner); - break; - case 'display': - $this->profile_owner = $a->profile['uid']; + case Conversation::MODE_PROFILE: + case Conversation::MODE_DISPLAY: + $this->profile_owner = $a->getProfileOwner(); $this->writable = Security::canWriteToUserWall($this->profile_owner) || $writable; break; - case 'community': - $this->profile_owner = 0; - $this->writable = $writable; - break; - case 'contacts': + case Conversation::MODE_CHANNEL: + case Conversation::MODE_COMMUNITY: + case Conversation::MODE_CONTACTS: $this->profile_owner = 0; $this->writable = $writable; break; default: - Logger::log('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', Logger::DEBUG); + Logger::info('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').'); return false; break; } @@ -138,25 +152,25 @@ class Thread $item_id = $item->getId(); if (!$item_id) { - Logger::log('[ERROR] Conversation::addThread : Item has no ID!!', Logger::DEBUG); + Logger::info('[ERROR] Conversation::addThread : Item has no ID!!'); return false; } if ($this->getParent($item->getId())) { - Logger::log('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').', Logger::DEBUG); + Logger::info('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').'); return false; } /* * Only add will be displayed */ - if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) { - Logger::log('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').', Logger::DEBUG); + if ($item->getDataValue('network') === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item->getDataValue('uid')) { + Logger::info('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').'); return false; } if ($item->getDataValue('verb') === Activity::LIKE || $item->getDataValue('verb') === Activity::DISLIKE) { - Logger::log('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').', Logger::DEBUG); + Logger::info('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').'); return false; } @@ -172,24 +186,25 @@ class Thread * We should find a way to avoid using those arguments (at least most of them) * * @param array $conv_responses data + * @param string $formSecurityToken A 'contact_action' form security token * * @return mixed The data requested on success * false on failure * @throws \Exception */ - public function getTemplateData($conv_responses) + public function getTemplateData(array $conv_responses, string $formSecurityToken) { $result = []; foreach ($this->parents as $item) { - if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) { + if ($item->getDataValue('network') === Protocol::MAIL && DI::userSession()->getLocalUserId() != $item->getDataValue('uid')) { continue; } - $item_data = $item->getTemplateData($conv_responses); + $item_data = $item->getTemplateData($conv_responses, $formSecurityToken); if (!$item_data) { - Logger::log('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').', Logger::DEBUG); + Logger::info('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').'); return false; } $result[] = $item_data;