aboutsummaryrefslogtreecommitdiffstats
path: root/object/Conversation.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-10-22 20:07:40 -0700
committerfriendica <info@friendica.com>2012-10-22 20:07:40 -0700
commitd9c947663ce2d1361c73b1b0fcb82586dac5a1ab (patch)
treecdb9456594d14cd3885245f7605d980fba6c58a0 /object/Conversation.php
parent88be2eaaae55c79111d5e209eb823e6fd1e64f9c (diff)
downloadvolse-hubzilla-d9c947663ce2d1361c73b1b0fcb82586dac5a1ab.tar.gz
volse-hubzilla-d9c947663ce2d1361c73b1b0fcb82586dac5a1ab.tar.bz2
volse-hubzilla-d9c947663ce2d1361c73b1b0fcb82586dac5a1ab.zip
mv objects from object dir to include where they belong
Diffstat (limited to 'object/Conversation.php')
-rw-r--r--object/Conversation.php162
1 files changed, 0 insertions, 162 deletions
diff --git a/object/Conversation.php b/object/Conversation.php
deleted file mode 100644
index 8b838f7d0..000000000
--- a/object/Conversation.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-if(class_exists('Conversation'))
- return;
-
-require_once('boot.php');
-require_once('object/BaseObject.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($alike, $dlike) {
- $result = array();
-
- 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);
- 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;
- }
-}
-?>