X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FThread.php;h=4eda1f8f7eedd2c730b36f26c9613b2d3774c2a6;hb=b543ee8ac78168328c7a7f2d725ee01bb333e941;hp=a03bae6e9d1da65f3b052293fb0d1090e86f8d72;hpb=6e71a840755c270fe144e638dbe17374f8f575f2;p=friendica.git diff --git a/src/Object/Thread.php b/src/Object/Thread.php index a03bae6e9d..4eda1f8f7e 100644 --- a/src/Object/Thread.php +++ b/src/Object/Thread.php @@ -5,10 +5,10 @@ namespace Friendica\Object; use Friendica\BaseObject; -use Friendica\Object\Post; - -require_once 'boot.php'; -require_once 'include/text.php'; +use Friendica\Core\Logger; +use Friendica\Core\Protocol; +use Friendica\Protocol\Activity; +use Friendica\Util\Security; /** * A list of threads @@ -17,7 +17,7 @@ require_once 'include/text.php'; */ class Thread extends BaseObject { - private $parents = array(); + private $parents = []; private $mode = null; private $writable = false; private $profile_owner = 0; @@ -26,9 +26,10 @@ class Thread extends BaseObject /** * Constructor * - * @param string $mode The mode - * @param boolean $preview Are we in the preview mode? + * @param string $mode The mode + * @param boolean $preview Are we in the preview mode? * @param boolean $writable Override the writable check + * @throws \Exception */ public function __construct($mode, $preview, $writable = false) { @@ -39,10 +40,11 @@ class Thread extends BaseObject /** * Set the mode we'll be displayed on * - * @param string $mode The mode to set + * @param string $mode The mode to set * @param boolean $writable Override the writable check * * @return void + * @throws \Exception */ private function setMode($mode, $writable) { @@ -60,18 +62,22 @@ class Thread extends BaseObject break; case 'profile': $this->profile_owner = $a->profile['profile_uid']; - $this->writable = can_write_wall($a, $this->profile_owner); + $this->writable = Security::canWriteToUserWall($this->profile_owner); break; case 'display': $this->profile_owner = $a->profile['uid']; - $this->writable = can_write_wall($a, $this->profile_owner) || $writable; + $this->writable = Security::canWriteToUserWall($this->profile_owner) || $writable; break; case 'community': - $this->profile_owner = local_user(); + $this->profile_owner = 0; + $this->writable = $writable; + break; + case 'contacts': + $this->profile_owner = 0; $this->writable = $writable; break; default: - logger('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', LOGGER_DEBUG); + Logger::log('[ERROR] Conversation::setMode : Unhandled mode ('. $mode .').', Logger::DEBUG); return false; break; } @@ -121,35 +127,36 @@ class Thread extends BaseObject /** * Add a thread to the conversation * - * @param object $item The item to insert + * @param Post $item The item to insert * * @return mixed The inserted item on success * false on failure + * @throws \Exception */ public function addParent(Post $item) { $item_id = $item->getId(); if (!$item_id) { - logger('[ERROR] Conversation::addThread : Item has no ID!!', LOGGER_DEBUG); + Logger::log('[ERROR] Conversation::addThread : Item has no ID!!', Logger::DEBUG); return false; } if ($this->getParent($item->getId())) { - logger('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').', LOGGER_DEBUG); + Logger::log('[WARN] Conversation::addThread : Thread already exists ('. $item->getId() .').', Logger::DEBUG); return false; } /* * Only add will be displayed */ - if ($item->getDataValue('network') === NETWORK_MAIL && local_user() != $item->getDataValue('uid')) { - logger('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').', LOGGER_DEBUG); + if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) { + Logger::log('[WARN] Conversation::addThread : Thread is a mail ('. $item->getId() .').', Logger::DEBUG); return false; } - if ($item->getDataValue('verb') === ACTIVITY_LIKE || $item->getDataValue('verb') === ACTIVITY_DISLIKE) { - logger('[WARN] Conversation::addThread : Thread is a (dis)like ('. $item->getId() .').', LOGGER_DEBUG); + 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); return false; } @@ -164,26 +171,25 @@ class Thread extends BaseObject * * We should find a way to avoid using those arguments (at least most of them) * - * @param object $conv_responses data + * @param array $conv_responses data * * @return mixed The data requested on success * false on failure + * @throws \Exception */ public function getTemplateData($conv_responses) { - $a = self::getApp(); - $result = array(); - $i = 0; + $result = []; foreach ($this->parents as $item) { - if ($item->getDataValue('network') === NETWORK_MAIL && local_user() != $item->getDataValue('uid')) { + if ($item->getDataValue('network') === Protocol::MAIL && local_user() != $item->getDataValue('uid')) { continue; } $item_data = $item->getTemplateData($conv_responses); if (!$item_data) { - logger('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').', LOGGER_DEBUG); + Logger::log('[ERROR] Conversation::getTemplateData : Failed to get item template data ('. $item->getId() .').', Logger::DEBUG); return false; } $result[] = $item_data;