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