function markRecipientMessageAsRead($mark_read_message_ids) { return $this->returnHandler(MessageControlFactory::markRecipientMessageAsRead($this->getCurrentCompanyObject()->getId(), $this->getCurrentUserObject()->getId(), $mark_read_message_ids)); }
function getByCompanyIdAndObjectTypeAndObjectAndNotUser($company_id, $object_type_id, $object_id, $user_id = 0, $where = NULL, $order = NULL) { if ($company_id == '') { return FALSE; } if ($object_type_id == '') { return FALSE; } if ($object_id == '') { return FALSE; } $uf = new UserFactory(); $mcf = new MessageControlFactory(); $ph = array('company_id' => $company_id, 'object_type_id' => $object_type_id, 'object_id' => $object_id, 'user_id' => (int) $user_id); $query = ' SELECT a.* FROM ' . $this->getTable() . ' as a LEFT JOIN ' . $mcf->getTable() . ' as b ON a.message_control_id = b.id LEFT JOIN ' . $uf->getTable() . ' as c ON a.user_id = c.id WHERE c.company_id = ? AND ( b.object_type_id = ? AND b.object_id = ? ) AND a.user_id != ? AND ( b.deleted = 0 AND c.deleted = 0 ) '; $this->ExecuteSQL($query, $ph); return $this; }
$from_user_full_name = Misc::getFullName($message->getColumn('from_first_name'), $message->getColumn('from_middle_name'), $message->getColumn('from_last_name')); $to_user_id = $message->getColumn('to_user_id'); $to_user_full_name = Misc::getFullName($message->getColumn('to_first_name'), $message->getColumn('to_middle_name'), $message->getColumn('to_last_name')); $messages[] = array('id' => $message->getId(), 'parent_id' => $message->getParent(), 'object_type_id' => $message->getObjectType(), 'object_id' => $message->getObject(), 'status_id' => $message->getStatus(), 'subject' => $message->getSubject(), 'body' => $message->getBody(), 'from_user_id' => $from_user_id, 'from_user_full_name' => $from_user_full_name, 'to_user_id' => $to_user_id, 'to_user_full_name' => $to_user_full_name, 'created_date' => $message->getCreatedDate(), 'created_by' => $message->getCreatedBy(), 'updated_date' => $message->getUpdatedDate(), 'updated_by' => $message->getUpdatedBy(), 'deleted_date' => $message->getDeletedDate(), 'deleted_by' => $message->getDeletedBy()); //Mark own messages as read. if ($message->getStatus() == 10 and $message->getCreatedBy() != $current_user->getId()) { $mark_read_message_ids[] = $message->getId(); } //Parent ID should be the ID of ONLY the first message in the thread. Single level threading... if ($i == 0) { $parent_id = $message->getId(); $default_subject = 'Re: ' . $message->getSubject(); } $i++; } MessageControlFactory::markRecipientMessageAsRead($current_user->getCompany(), $current_user->getID(), $mark_read_message_ids); } //Get object data /* $object_name_options = $mclf->getOptions('object_name'); $smarty->assign_by_ref('object_name', $object_name_options[$object_type_id]); */ $smarty->assign_by_ref('messages', $messages); $smarty->assign_by_ref('message_data', $message_data); $smarty->assign_by_ref('default_subject', $default_subject); $smarty->assign_by_ref('total_messages', $i); $smarty->assign_by_ref('id', $id); $smarty->assign_by_ref('parent_id', $parent_id); $smarty->assign_by_ref('filter_folder_id', $filter_folder_id); $smarty->assign_by_ref('object_type_id', $object_type_id); $smarty->assign_by_ref('object_id', $object_id);