X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=object%2FConversation.php;h=94eed94d5f9eaa8661d6a9508b4be21a0512ff90;hb=1c640902177afad3dfe3d38db723414ff47a8a01;hp=d8d14589d2d2f7256399daeeaf7e3136242b46a7;hpb=04f14d96c679d1732993252d137515ad38c4b41f;p=friendica.git diff --git a/object/Conversation.php b/object/Conversation.php index d8d14589d2..94eed94d5f 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,16 +123,21 @@ 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) { + public function get_template_data($conv_responses) { + global $a; $result = array(); + $i = 0; + foreach($this->threads as $item) { if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) continue; - $item_data = $item->get_template_data($alike, $dlike); + + $item_data = $item->get_template_data($conv_responses); + if(!$item_data) { logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG); return false; @@ -119,6 +145,7 @@ class Conversation extends BaseObject { $result[] = $item_data; } + //$a->mark_timestamp(); return $result; } @@ -126,8 +153,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) {