Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Conversation/Message/MessageList.php
Строк: 114
<?php
namespace ConcreteCoreConversationMessage;
use 
Loader;
use 
ConcreteCoreConversationConversation;
use 
ConcreteCoreConversationFlagTypeFlagType;
use 
ConcreteCoreLegacyDatabaseItemList;
class 
MessageList extends DatabaseItemList {
    protected 
$autoSortColumns = array('cnvMessageDateCreated');
    protected 
$sortBy 'cnvMessageDateCreated';
    protected 
$sortByDirection 'asc';
    protected 
$cnvID;

    public function 
__construct() {
        
$this->setQuery('select cnvm.cnvMessageID from ConversationMessages cnvm');
    }

    public function 
filterByConversation(Conversation $cnv) {
        
$this->filter('cnvID'$cnv->getConversationID());
    }

    public function 
sortByDateDescending() {
        
$this->sortBy('cnvMessageDateCreated''desc');
    }

    public function 
filterByFlag(FlagType $type) {
        
$this->addToQuery('inner join ConversationFlaggedMessages cnf on cnvm.cnvMessageID = cnf.cnvMessageID');
        
$this->filter('cnf.cnvMessageFlagTypeID'$type->getConversationFlagTypeID());
    }
    
    public function 
sortByDateAscending() {
        
$this->sortBy('cnvMessageDateCreated''asc');
    }

    public function 
sortByRating() {
        
$this->sortBy('cnvMessageTotalRatingScore''desc');
    }

    public function 
filterByApproved() {
        
$this->filter('cnvIsMessageApproved'1);
    }

    public function 
filterByNotDeleted() {
        
$this->filter('cnvIsMessageDeleted'0);
    }

    public function 
filterByUnapproved() {
        
$this->filter('cnvIsMessageApproved'0);
    }
    
    public function 
filterByUser($uID) {
        
$this->filter('uID'$uID);
    }
    
    public function 
filterByDeleted() {
        
$this->filter('cnvIsMessageDeleted'1);
    }

    public function 
filterByKeywords($keywords) {
        
$this->addToQuery('inner join Conversations cnv on cnvm.cnvID = cnv.cnvID left join CollectionVersions cv on (cnv.cID = cv.cID and cv.cvIsApproved = 1)');

        
$db Loader::db();
        
$qk $db->quote('%' $keywords '%');
        
$this->filter(false"(cnvMessageSubject like $qk or cnvMessageBody like $qk or cvName like $qk)");        
    }
    
    public function 
get($num 0$offset 0) {
        
$r parent::get($num$offset);
        
$messages = array();
        foreach(
$r as $row) {
            
$messages[] = Message::getByID($row['cnvMessageID']);    
        }
        return 
$messages;
    }

}
Онлайн: 0
Реклама