1
0
Fork 0

Conversation to src

object/Conversation moved to Friendica\Core namespace.
This commit is contained in:
Adam Magness 2017-11-16 13:24:59 -05:00
parent 4a1de47513
commit ef56b980cc
2 changed files with 46 additions and 26 deletions

View file

@ -1,7 +1,10 @@
<?php <?php
/**
* @file include/conversation.php
*/
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Conversation;
use Friendica\Core\PConfig; use Friendica\Core\PConfig;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBM; use Friendica\Database\DBM;
@ -860,7 +863,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
// Normal View // Normal View
$page_template = get_markup_template("threaded_conversation.tpl"); $page_template = get_markup_template("threaded_conversation.tpl");
require_once 'object/Conversation.php';
require_once 'object/Item.php'; require_once 'object/Item.php';
$conv = new Conversation($mode, $preview); $conv = new Conversation($mode, $preview);

View file

@ -1,7 +1,9 @@
<?php <?php
/** /**
* @file object/Conversation.php * @file src/Core/Conversation.php
*/ */
namespace Friendica\Core;
if (class_exists('Conversation')) { if (class_exists('Conversation')) {
return; return;
} }
@ -17,14 +19,16 @@ require_once 'include/text.php';
* *
* We should think about making this a SPL Iterator * We should think about making this a SPL Iterator
*/ */
class Conversation extends BaseObject { class Conversation extends BaseObject
{
private $threads = array(); private $threads = array();
private $mode = null; private $mode = null;
private $writable = false; private $writable = false;
private $profile_owner = 0; private $profile_owner = 0;
private $preview = false; private $preview = false;
public function __construct($mode, $preview) { public function __construct($mode, $preview)
{
$this->set_mode($mode); $this->set_mode($mode);
$this->preview = $preview; $this->preview = $preview;
} }
@ -32,13 +36,15 @@ class Conversation extends BaseObject {
/** /**
* Set the mode we'll be displayed on * Set the mode we'll be displayed on
*/ */
private function set_mode($mode) { private function set_mode($mode)
if($this->get_mode() == $mode) {
if ($this->get_mode() == $mode) {
return; return;
}
$a = $this->get_app(); $a = $this->get_app();
switch($mode) { switch ($mode) {
case 'network': case 'network':
case 'notes': case 'notes':
$this->profile_owner = local_user(); $this->profile_owner = local_user();
@ -46,11 +52,11 @@ class Conversation extends BaseObject {
break; break;
case 'profile': case 'profile':
$this->profile_owner = $a->profile['profile_uid']; $this->profile_owner = $a->profile['profile_uid'];
$this->writable = can_write_wall($a,$this->profile_owner); $this->writable = can_write_wall($a, $this->profile_owner);
break; break;
case 'display': case 'display':
$this->profile_owner = $a->profile['uid']; $this->profile_owner = $a->profile['uid'];
$this->writable = can_write_wall($a,$this->profile_owner); $this->writable = can_write_wall($a, $this->profile_owner);
break; break;
default: default:
logger('[ERROR] Conversation::set_mode : Unhandled mode ('. $mode .').', LOGGER_DEBUG); logger('[ERROR] Conversation::set_mode : Unhandled mode ('. $mode .').', LOGGER_DEBUG);
@ -63,28 +69,32 @@ class Conversation extends BaseObject {
/** /**
* Get mode * Get mode
*/ */
public function get_mode() { public function get_mode()
{
return $this->mode; return $this->mode;
} }
/** /**
* Check if page is writable * Check if page is writable
*/ */
public function is_writable() { public function is_writable()
{
return $this->writable; return $this->writable;
} }
/** /**
* Check if page is a preview * Check if page is a preview
*/ */
public function is_preview() { public function is_preview()
{
return $this->preview; return $this->preview;
} }
/** /**
* Get profile owner * Get profile owner
*/ */
public function get_profile_owner() { public function get_profile_owner()
{
return $this->profile_owner; return $this->profile_owner;
} }
@ -95,13 +105,16 @@ class Conversation extends BaseObject {
* _ The inserted item on success * _ The inserted item on success
* _ false on failure * _ false on failure
*/ */
public function add_thread($item) { public function add_thread($item)
{
$item_id = $item->get_id(); $item_id = $item->get_id();
if(!$item_id) {
if (!$item_id) {
logger('[ERROR] Conversation::add_thread : Item has no ID!!', LOGGER_DEBUG); logger('[ERROR] Conversation::add_thread : Item has no ID!!', LOGGER_DEBUG);
return false; return false;
} }
if($this->get_thread($item->get_id())) {
if ($this->get_thread($item->get_id())) {
logger('[WARN] Conversation::add_thread : Thread already exists ('. $item->get_id() .').', LOGGER_DEBUG); logger('[WARN] Conversation::add_thread : Thread already exists ('. $item->get_id() .').', LOGGER_DEBUG);
return false; return false;
} }
@ -109,16 +122,19 @@ class Conversation extends BaseObject {
/* /*
* Only add will be displayed * Only add will be displayed
*/ */
if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) { 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); logger('[WARN] Conversation::add_thread : Thread is a mail ('. $item->get_id() .').', LOGGER_DEBUG);
return false; return false;
} }
if($item->get_data_value('verb') === ACTIVITY_LIKE || $item->get_data_value('verb') === ACTIVITY_DISLIKE) {
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); logger('[WARN] Conversation::add_thread : Thread is a (dis)like ('. $item->get_id() .').', LOGGER_DEBUG);
return false; return false;
} }
$item->set_conversation($this); $item->set_conversation($this);
$this->threads[] = $item; $this->threads[] = $item;
return end($this->threads); return end($this->threads);
} }
@ -131,19 +147,19 @@ class Conversation extends BaseObject {
* _ The data requested on success * _ The data requested on success
* _ false on failure * _ false on failure
*/ */
public function get_template_data($conv_responses) { public function get_template_data($conv_responses)
{
$a = get_app(); $a = get_app();
$result = array(); $result = array();
$i = 0; $i = 0;
foreach($this->threads as $item) { foreach ($this->threads as $item) {
if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid'))
continue; continue;
$item_data = $item->get_template_data($conv_responses); $item_data = $item->get_template_data($conv_responses);
if(!$item_data) { if (!$item_data) {
logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG); logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG);
return false; return false;
} }
@ -160,11 +176,13 @@ class Conversation extends BaseObject {
* _ The found item on success * _ The found item on success
* _ false on failure * _ false on failure
*/ */
private function get_thread($id) { private function get_thread($id)
foreach($this->threads as $item) { {
if($item->get_id() == $id) foreach ($this->threads as $item) {
if ($item->get_id() == $id) {
return $item; return $item;
} }
}
return false; return false;
} }