X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=object%2FConversation.php;h=8b838f7d006c510284500c13aeae559b0c28ce4b;hb=0180ac563eebea23df3ffb95c35f5a9da164de52;hp=d8d14589d2d2f7256399daeeaf7e3136242b46a7;hpb=1581e02f8f2dd6c4515cbb33f3cb85b8f66ec8e0;p=friendica.git diff --git a/object/Conversation.php b/object/Conversation.php index d8d14589d2..8b838f7d00 100644 --- a/object/Conversation.php +++ b/object/Conversation.php @@ -15,11 +15,13 @@ require_once('include/text.php'); class Conversation extends BaseObject { private $threads = array(); private $mode = null; - private $writeable = false; + private $writable = false; private $profile_owner = 0; + private $preview = false; - public function __construct($mode) { + public function __construct($mode, $preview) { $this->set_mode($mode); + $this->preview = $preview; } /** @@ -35,15 +37,15 @@ class Conversation extends BaseObject { case 'network': case 'notes': $this->profile_owner = local_user(); - $this->writeable = true; + $this->writable = true; break; case 'profile': $this->profile_owner = $a->profile['profile_uid']; - $this->writeable = can_write_wall($a,$this->profile_owner); + $this->writable = can_write_wall($a,$this->profile_owner); break; case 'display': $this->profile_owner = $a->profile['uid']; - $this->writeable = can_write_wall($a,$this->profile_owner); + $this->writable = can_write_wall($a,$this->profile_owner); break; default: logger('[ERROR] Conversation::set_mode : Unhandled mode ('. $mode .').', LOGGER_DEBUG); @@ -61,10 +63,17 @@ class Conversation extends BaseObject { } /** - * Check if page is writeable + * Check if page is writable */ - public function is_writeable() { - return $this->writeable; + public function is_writable() { + return $this->writable; + } + + /** + * Check if page is a preview + */ + public function is_preview() { + return $this->preview; } /** @@ -78,8 +87,8 @@ class Conversation extends BaseObject { * Add a thread to the conversation * * Returns: - * _ The inserted item on success - * _ false on failure + * _ The inserted item on success + * _ false on failure */ public function add_thread($item) { $item_id = $item->get_id(); @@ -91,6 +100,18 @@ class Conversation extends BaseObject { logger('[WARN] Conversation::add_thread : Thread already exists ('. $item->get_id() .').', LOGGER_DEBUG); return false; } + + /* + * Only add will be displayed + */ + if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) { + logger('[WARN] Conversation::add_thread : Thread is a mail ('. $item->get_id() .').', LOGGER_DEBUG); + return false; + } + if($item->get_data_value('verb') === ACTIVITY_LIKE || $item->get_data_value('verb') === ACTIVITY_DISLIKE) { + logger('[WARN] Conversation::add_thread : Thread is a (dis)like ('. $item->get_id() .').', LOGGER_DEBUG); + return false; + } $item->set_conversation($this); $this->threads[] = $item; return end($this->threads); @@ -102,8 +123,8 @@ class Conversation extends BaseObject { * We should find a way to avoid using those arguments (at least most of them) * * Returns: - * _ The data requested on success - * _ false on failure + * _ The data requested on success + * _ false on failure */ public function get_template_data($alike, $dlike) { $result = array(); @@ -126,8 +147,8 @@ class Conversation extends BaseObject { * Get a thread based on its item id * * Returns: - * _ The found item on success - * _ false on failure + * _ The found item on success + * _ false on failure */ private function get_thread($id) { foreach($this->threads as $item) {