public function getSearchableContent() { $ml = new MessageList(); $ml->filterByConversation($this->getConversationObject()); $messages = $ml->get(); if (!count($messages)) { return ''; } $content = ''; foreach ($messages as $message) { $content .= $message->getConversationMessageSubject() . ' ' . strip_tags($message->getConversationMessageBody()) . ' '; } return rtrim($content); }
public function markUser() { $json = Loader::helper('json'); $response = new stdClass(); $message = ConversationMessage::getByID($this->post('messageID')); if (is_object($message)) { $targetUser = UserInfo::getByID($message->uID); if (is_object($targetUser)) { $userMessageList = new ConversationMessageList(); $userMessageList->filterByUser($message->uID); $userMessages = $userMessageList->get(); $spamFlag = ConversationFlagType::getByHandle('spam'); foreach ($userMessages as $userMessage) { $userMessage->flag($spamFlag); } $response->success = t('All user messages marked as spam.'); echo $json->encode($response); exit; } $response->error = t('Invalid User'); echo $json->encode($response); exit; } else { $response->error = t('Invalid message'); echo $json->encode($response); exit; } }
public function view() { $ml = new ConversationMessageList(); $ml->setItemsPerPage(20); $cmpFilterTypes = array('all' => t('** Show All'), 'unapproved' => t('Unapproved'), 'approved' => t('Approved'), 'deleted' => t('Deleted')); $fl = new ConversationFlagTypeList(); foreach ($fl->get() as $flagtype) { $cmpFilterTypes[$flagtype->getConversationFlagTypeHandle()] = Loader::helper('text')->unhandle($flagtype->getConversationFlagTypeHandle()); } $cmpSortTypes = array('date_desc' => t('Recent First'), 'date_asc' => t('Earliest First')); if ($_REQUEST['cmpMessageKeywords']) { $ml->filterByKeywords($_REQUEST['cmpMessageKeywords']); $ml->filterByNotDeleted(); } $cmpMessageFilter = $this->getDefaultMessageFilter(); if ($this->request->query->has('cmpMessageFilter') && in_array($this->request->query->get('cmpMessageFilter'), array_keys($cmpFilterTypes))) { $cmpMessageFilter = $this->request->query->get('cmpMessageFilter'); } switch ($cmpMessageFilter) { case 'all': break; case 'approved': $ml->filterByApproved(); break; case 'deleted': $ml->filterByDeleted(); break; case 'unapproved': $ml->filterByUnapproved(); $ml->filterByNotDeleted(); break; default: // flag $flagtype = ConversationFlagType::getByHandle($_REQUEST['cmpMessageFilter']); if (is_object($flagtype)) { $ml->filterByFlag($flagtype); $ml->filterByNotDeleted(); } else { $ml->filterByNotDeleted(); } break; } if ($_REQUEST['cmpMessageSort'] == 'date_asc') { $ml->sortByDateAscending(); } else { $ml->sortByDateDescending(); } $this->set('list', $ml); $this->set('messages', $ml->getPage()); $this->set('cmpFilterTypes', $cmpFilterTypes); $this->set('cmpSortTypes', $cmpSortTypes); $this->set('cmpMessageFilter', $cmpMessageFilter); }
/** * @return \Concrete\Core\User\UserInfo[] */ public function getConversationMessageUsers() { $ml = new ConversationMessageList(); $ml->filterByConversation($this); $users = array(); foreach ($ml->get() as $message) { $ui = $message->getConversationMessageUserObject(); if ($ui instanceof \Concrete\Core\User\UserInfo) { $users[$ui->getUserID()] = $ui; } } return array_values($users); }
$displayMode = $_POST['displayMode']; } else { $displayMode = 'threaded'; } $addMessageLabel = t('Add Message'); if ($_POST['addMessageLabel']) { $addMessageLabel = Loader::helper('security')->sanitizeString($_POST['addMessageLabel']); } switch ($_POST['task']) { case 'get_messages': $displayForm = false; break; } switch ($displayMode) { case 'flat': $ml = new ConversationMessageList(); $ml->filterByConversation($cnv); break; default: // threaded $ml = new ConversationMessageThreadedList($cnv); break; } switch ($_POST['orderBy']) { case 'date_desc': $ml->sortByDateDescending(); break; case 'date_asc': $ml->sortByDateAscending(); break; case 'rating':
public function get_unApproved_conversations() { $ml = new MessageList(); $ml->filterByNotDeleted(); $ml->filterByUnapproved(); $ml->sortByDateDescending(); $messages = $ml->get(); foreach ($messages as $msg) { $cnv = $msg->getConversationObject(); $page = $cnv->getConversationPageObject(); if ($page instanceof Page && $page->getCollectionTypeHandle() == 'forum_post') { $sort = $this->get_active(); if ($sort['sort_category'] > 0) { if ($page->getCollectionParentID() == $sort) { $replies[] = $msg; } } else { $replies[] = $msg; } } } return $replies; }
public function getLandingPageConversations($cID) { $db = Database::connection(); $res = $db->GetRow("select cnvID from Conversations where cID = ?", $cID); if ($res) { $cnv = Conversation::getByID($res['cnvID']); $ml = new MessageList(); $ml->filterByConversation($cnv); $ml->filterByNotDeleted(); $ml->filterByApproved(); $ml->sortByDateDescending(); $messages = $ml->get(); } return $messages; }