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;
    }
Example #3
0
         $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);