From: Adam Magness <adam.magness@gmail.com>
Date: Thu, 16 Nov 2017 18:24:59 +0000 (-0500)
Subject: Conversation to src
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=7c00401c6644c8765637f3d262d529b85c019a71;p=friendica.git

Conversation to src

object/Conversation moved to Friendica\Core namespace.
---

diff --git a/include/conversation.php b/include/conversation.php
index 0e814c6665..d24a01b457 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,7 +1,10 @@
 <?php
-
+/**
+ * @file include/conversation.php
+ */
 use Friendica\App;
 use Friendica\Core\Config;
+use Friendica\Core\Conversation;
 use Friendica\Core\PConfig;
 use Friendica\Core\System;
 use Friendica\Database\DBM;
@@ -860,7 +863,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
 			// Normal View
 			$page_template = get_markup_template("threaded_conversation.tpl");
 
-			require_once 'object/Conversation.php';
 			require_once 'object/Item.php';
 
 			$conv = new Conversation($mode, $preview);
diff --git a/object/Conversation.php b/object/Conversation.php
deleted file mode 100644
index 3b3560f140..0000000000
--- a/object/Conversation.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-/**
- * @file object/Conversation.php
- */
-if (class_exists('Conversation')) {
-	return;
-}
-
-use Friendica\Core\BaseObject;
-
-require_once 'boot.php';
-require_once 'object/Item.php';
-require_once 'include/text.php';
-
-/**
- * A list of threads
- *
- * We should think about making this a SPL Iterator
- */
-class Conversation extends BaseObject {
-	private $threads = array();
-	private $mode = null;
-	private $writable = false;
-	private $profile_owner = 0;
-	private $preview = false;
-
-	public function __construct($mode, $preview) {
-		$this->set_mode($mode);
-		$this->preview = $preview;
-	}
-
-	/**
-	 * Set the mode we'll be displayed on
-	 */
-	private function set_mode($mode) {
-		if($this->get_mode() == $mode)
-			return;
-
-		$a = $this->get_app();
-
-		switch($mode) {
-			case 'network':
-			case 'notes':
-				$this->profile_owner = local_user();
-				$this->writable = true;
-				break;
-			case 'profile':
-				$this->profile_owner = $a->profile['profile_uid'];
-				$this->writable = can_write_wall($a,$this->profile_owner);
-				break;
-			case 'display':
-				$this->profile_owner = $a->profile['uid'];
-				$this->writable = can_write_wall($a,$this->profile_owner);
-				break;
-			default:
-				logger('[ERROR] Conversation::set_mode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
-				return false;
-				break;
-		}
-		$this->mode = $mode;
-	}
-
-	/**
-	 * Get mode
-	 */
-	public function get_mode() {
-		return $this->mode;
-	}
-
-	/**
-	 * Check if page is writable
-	 */
-	public function is_writable() {
-		return $this->writable;
-	}
-
-	/**
-	 * Check if page is a preview
-	 */
-	public function is_preview() {
-		return $this->preview;
-	}
-
-	/**
-	 * Get profile owner
-	 */
-	public function get_profile_owner() {
-		return $this->profile_owner;
-	}
-
-	/**
-	 * Add a thread to the conversation
-	 *
-	 * Returns:
-	 *      _ The inserted item on success
-	 *      _ false on failure
-	 */
-	public function add_thread($item) {
-		$item_id = $item->get_id();
-		if(!$item_id) {
-			logger('[ERROR] Conversation::add_thread : Item has no ID!!', LOGGER_DEBUG);
-			return false;
-		}
-		if($this->get_thread($item->get_id())) {
-			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);
-	}
-
-	/**
-	 * Get data in a form usable by a conversation template
-	 *
-	 * We should find a way to avoid using those arguments (at least most of them)
-	 *
-	 * Returns:
-	 *      _ The data requested on success
-	 *      _ false on failure
-	 */
-	public function get_template_data($conv_responses) {
-		$a = get_app();
-		$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($conv_responses);
-
-			if(!$item_data) {
-				logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG);
-				return false;
-			}
-			$result[] = $item_data;
-		}
-
-		return $result;
-	}
-
-	/**
-	 * Get a thread based on its item id
-	 *
-	 * Returns:
-	 *      _ The found item on success
-	 *      _ false on failure
-	 */
-	private function get_thread($id) {
-		foreach($this->threads as $item) {
-			if($item->get_id() == $id)
-				return $item;
-		}
-
-		return false;
-	}
-}
diff --git a/src/Core/Conversation.php b/src/Core/Conversation.php
new file mode 100644
index 0000000000..13ba8df213
--- /dev/null
+++ b/src/Core/Conversation.php
@@ -0,0 +1,189 @@
+<?php
+/**
+ * @file src/Core/Conversation.php
+ */
+namespace Friendica\Core;
+
+if (class_exists('Conversation')) {
+	return;
+}
+
+use Friendica\Core\BaseObject;
+
+require_once 'boot.php';
+require_once 'object/Item.php';
+require_once 'include/text.php';
+
+/**
+ * A list of threads
+ *
+ * We should think about making this a SPL Iterator
+ */
+class Conversation extends BaseObject
+{
+	private $threads = array();
+	private $mode = null;
+	private $writable = false;
+	private $profile_owner = 0;
+	private $preview = false;
+
+	public function __construct($mode, $preview)
+	{
+		$this->set_mode($mode);
+		$this->preview = $preview;
+	}
+
+	/**
+	 * Set the mode we'll be displayed on
+	 */
+	private function set_mode($mode)
+	{
+		if ($this->get_mode() == $mode) {
+			return;
+		}
+
+		$a = $this->get_app();
+
+		switch ($mode) {
+			case 'network':
+			case 'notes':
+				$this->profile_owner = local_user();
+				$this->writable = true;
+				break;
+			case 'profile':
+				$this->profile_owner = $a->profile['profile_uid'];
+				$this->writable = can_write_wall($a, $this->profile_owner);
+				break;
+			case 'display':
+				$this->profile_owner = $a->profile['uid'];
+				$this->writable = can_write_wall($a, $this->profile_owner);
+				break;
+			default:
+				logger('[ERROR] Conversation::set_mode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
+				return false;
+				break;
+		}
+		$this->mode = $mode;
+	}
+
+	/**
+	 * Get mode
+	 */
+	public function get_mode()
+	{
+		return $this->mode;
+	}
+
+	/**
+	 * Check if page is writable
+	 */
+	public function is_writable()
+	{
+		return $this->writable;
+	}
+
+	/**
+	 * Check if page is a preview
+	 */
+	public function is_preview()
+	{
+		return $this->preview;
+	}
+
+	/**
+	 * Get profile owner
+	 */
+	public function get_profile_owner()
+	{
+		return $this->profile_owner;
+	}
+
+	/**
+	 * Add a thread to the conversation
+	 *
+	 * Returns:
+	 *      _ The inserted item on success
+	 *      _ false on failure
+	 */
+	public function add_thread($item)
+	{
+		$item_id = $item->get_id();
+
+		if (!$item_id) {
+			logger('[ERROR] Conversation::add_thread : Item has no ID!!', LOGGER_DEBUG);
+			return false;
+		}
+
+		if ($this->get_thread($item->get_id())) {
+			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);
+	}
+
+	/**
+	 * Get data in a form usable by a conversation template
+	 *
+	 * We should find a way to avoid using those arguments (at least most of them)
+	 *
+	 * Returns:
+	 *      _ The data requested on success
+	 *      _ false on failure
+	 */
+	public function get_template_data($conv_responses)
+	{
+		$a = get_app();
+		$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($conv_responses);
+
+			if (!$item_data) {
+				logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG);
+				return false;
+			}
+			$result[] = $item_data;
+		}
+
+		return $result;
+	}
+
+	/**
+	 * Get a thread based on its item id
+	 *
+	 * Returns:
+	 *      _ The found item on success
+	 *      _ false on failure
+	 */
+	private function get_thread($id)
+	{
+		foreach ($this->threads as $item) {
+			if ($item->get_id() == $id) {
+				return $item;
+			}
+		}
+
+		return false;
+	}
+}