示例#1
0
 public function conversationMessageHasFlag($flag)
 {
     if (!$flag instanceof FlagType) {
         $flag = FlagType::getByHandle($flag);
     }
     if ($flag instanceof FlagType) {
         foreach ($this->getConversationMessageFlagTypes() as $type) {
             if ($flag->getConversationFlagTypeID() == $type->getConversationFlagTypeID()) {
                 return true;
             }
         }
     }
     return false;
 }
 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;
     }
 }
<?php

defined('C5_EXECUTE') or die("Access Denied.");
use Concrete\Core\Conversation\Message\Message as ConversationMessage;
use Concrete\Core\Conversation\FlagType\FlagType as ConversationFlagType;
$ax = Loader::helper('ajax');
$vs = Loader::helper('validation/strings');
$ve = Loader::helper('validation/error');
$as = Loader::helper('validation/antispam');
if (Loader::helper('validation/numbers')->integer($_POST['cnvMessageID']) && $_POST['cnvMessageID'] > 0) {
    $message = ConversationMessage::getByID($_POST['cnvMessageID']);
    if (is_object($message)) {
        $mp = new Permissions($message);
        if ($mp->canFlagConversationMessage()) {
            $flagtype = ConversationFlagType::getByHandle('spam');
            $message->flag($flagtype);
            $message->unapprove();
            $as->report($message->getConversationMessageBody(), $message->getConversationMessageUserObject(), $message->getConversationMessageSubmitIP(), $message->getConversationMessageSubmitUserAgent());
            Loader::element('conversation/message', array('message' => $message));
        }
    }
}
示例#4
0
 public function unflag_message()
 {
     $e = Core::make('error');
     $message = ConversationMessage::getByID($this->post('cnvMessageID'));
     if (!is_object($message)) {
         $e->add(t('Invalid message'));
     } else {
         $mp = new \Permissions($message);
         if (!$mp->canFlagConversationMessage()) {
             $e->add(t('You do not have permission to flag this message.'));
         }
     }
     $er = new EditResponse($e);
     if (!$e->has()) {
         $spamFlag = ConversationFlagType::getByHandle('spam');
         $message->unflag($spamFlag);
         $er->setMessage(t('Message unflagged.'));
     }
     $er->outputJSON();
 }
 public function skipItem()
 {
     $type = FlagType::getByHandle($this->object->getHandle());
     return is_object($type);
 }