Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 /**
  * @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);
 }
Exemplo n.º 5
0
     $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':
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 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;
 }