Browse Source

Conversation to src

object/Conversation moved to Friendica\Core namespace.
pull/3909/head
Adam Magness 4 years ago
parent
commit
7c00401c66
  1. 6
      include/conversation.php
  2. 66
      src/Core/Conversation.php

6
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);

66
object/Conversation.php → src/Core/Conversation.php

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