ModuleTalk_MapperTalk

Package application.modules.talk
Inheritance class ModuleTalk_MapperTalk » Mapper » LsObject
Since 1.0
Source Code /application/classes/modules/talk/mapper/Talk.mapper.class.php
Объект маппера для работы с БД

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
aBehaviors array Список поведений LsObject
oDb DbSimple_Database Объект подключения к базе данных Mapper

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AddTalk() Добавляет новую тему разговора ModuleTalk_MapperTalk
AddTalkUser() Добавляет юзера к разговору(теме) ModuleTalk_MapperTalk
AddUserArrayToBlacklist() Добавление пользователя в блеклист по списку идентификаторов ModuleTalk_MapperTalk
AddUserToBlacklist() Добавление пользователя в блеклист по переданному идентификатору ModuleTalk_MapperTalk
AttachBehavior() Присоединяет поведение к объекту LsObject
DeleteTalk() Удаление письма из БД ModuleTalk_MapperTalk
DeleteTalkUserByArray() Удаляет юзера из разговора ModuleTalk_MapperTalk
DeleteUserFromBlacklist() Удаляем пользователя из блеклиста ModuleTalk_MapperTalk
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
GetBlacklistByTargetId() Возвращает пользователей, у которых данный занесен в Blacklist ModuleTalk_MapperTalk
GetBlacklistByUserId() Получает информацию о пользователях, занесенных в блеклист ModuleTalk_MapperTalk
GetCountCommentNew() Возвращает количество новых комментариев ModuleTalk_MapperTalk
GetCountTalkNew() Получает число новых тем и комментов где есть юзер ModuleTalk_MapperTalk
GetTalkById() Получает тему разговора по айдишнику ModuleTalk_MapperTalk
GetTalkUserByArray() Получить список отношений разговор-юзер по списку айдишников ModuleTalk_MapperTalk
GetTalkUsers() Возвращает массив пользователей, участвующих в разговоре ModuleTalk_MapperTalk
GetTalksByArrayId() Получить список разговоров по списку айдишников ModuleTalk_MapperTalk
GetTalksByFilter() Получить все темы разговора по фильтру ModuleTalk_MapperTalk
GetTalksByUserId() Получить все темы разговора где есть юзер ModuleTalk_MapperTalk
GetUsersTalk() Получает список юзеров в теме разговора ModuleTalk_MapperTalk
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
UpdateTalk() Обновление разговора ModuleTalk_MapperTalk
UpdateTalkUser() Обновляет связку разговор-юзер ModuleTalk_MapperTalk
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля LsObject
__clone() При клонировании сбрасываем поведения LsObject
__construct() Передаем коннект к БД Mapper
__get() Обработка доступа к объекты поведения LsObject
increaseCountCommentNew() Увеличивает число новых комментов у юзеров ModuleTalk_MapperTalk

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
IsSuccessful() Mapper
PrepareBehaviors() Инициализация поведений LsObject

Method Details

AddTalk() method
public int|bool AddTalk(ModuleTalk_EntityTalk $oTalk)
$oTalk ModuleTalk_EntityTalk Объект сообщения
{return} int|bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#36 (show)
public function AddTalk(ModuleTalk_EntityTalk $oTalk)
{
    
$sql "INSERT INTO " Config::Get('db.table.talk') . "
        (user_id,
        talk_title,
        talk_text,
        talk_date,
        talk_date_last,
        talk_user_id_last,
        talk_user_ip
        )
        VALUES(?d,    ?,    ?,    ?,  ?, ?, ?)
    "
;
    if (
$iId $this->oDb->query($sql$oTalk->getUserId(), $oTalk->getTitle(), $oTalk->getText(),
        
$oTalk->getDate(), $oTalk->getDateLast(), $oTalk->getUserIdLast(), $oTalk->getUserIp())
    ) {
        return 
$iId;
    }
    return 
false;
}

Добавляет новую тему разговора

AddTalkUser() method
public bool AddTalkUser(ModuleTalk_EntityTalkUser $oTalkUser)
$oTalkUser ModuleTalk_EntityTalkUser Объект связи пользователя и сообщения(разговора)
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#185 (show)
public function AddTalkUser(ModuleTalk_EntityTalkUser $oTalkUser)
{
    
$sql "INSERT INTO " Config::Get('db.table.talk_user') . "
        (talk_id,
        user_id,
        date_last,
        talk_user_active        
        )
        VALUES(?d,  ?d, ?, ?d)
        ON DUPLICATE KEY 
            UPDATE talk_user_active = ?d 
    "
;
    if (
$this->oDb->query($sql,
            
$oTalkUser->getTalkId(),
            
$oTalkUser->getUserId(),
            
$oTalkUser->getDateLast(),
            
$oTalkUser->getUserActive(),
            
$oTalkUser->getUserActive()
        ) === 
0
    
) {
        return 
true;
    }
    return 
false;
}

Добавляет юзера к разговору(теме)

AddUserArrayToBlacklist() method
public bool AddUserArrayToBlacklist(array $aTargetId, int $sUserId)
$aTargetId array Список ID пользователей, которых добавляем в блэклист
$sUserId int ID пользователя
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#604 (show)
public function AddUserArrayToBlacklist($aTargetId$sUserId)
{
    
$sql "
        INSERT INTO " 
Config::Get('db.table.talk_blacklist') . "
            ( user_id, user_target_id )
        VALUES
            (?d, ?d)
    "
;
    
$bOk true;
    foreach (
$aTargetId as $sTarget) {
        
$bOk $bOk && $this->oDb->query($sql$sUserId$sTarget);
    }
    return 
$bOk;
}

Добавление пользователя в блеклист по списку идентификаторов

AddUserToBlacklist() method
public bool AddUserToBlacklist(int $sTargetId, int $sUserId)
$sTargetId int ID пользователя, которого добавляем в блэклист
$sUserId int ID пользователя
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#563 (show)
public function AddUserToBlacklist($sTargetId$sUserId)
{
    
$sql "
        INSERT INTO " 
Config::Get('db.table.talk_blacklist') . "
            ( user_id, user_target_id )
        VALUES
            (?d, ?d)
    "
;
    if (
$this->oDb->query($sql$sUserId$sTargetId) === 0) {
        return 
true;
    }
    return 
false;
}

Добавление пользователя в блеклист по переданному идентификатору

DeleteTalk() method
public void DeleteTalk(int $iTalkId)
$iTalkId int ID разговора
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#62 (show)
public function DeleteTalk($iTalkId)
{
    
// Удаление беседы
    
$sql 'DELETE FROM ' Config::Get('db.table.talk') . '  WHERE talk_id = ?d';
    
$this->oDb->query($sql$iTalkId);
    
// Физическое удаление пользователей беседы (не флагом)
    
$sql 'DELETE FROM ' Config::Get('db.table.talk_user') . '  WHERE talk_id = ?d';
    
$this->oDb->query($sql$iTalkId);
}

Удаление письма из БД

DeleteTalkUserByArray() method
public bool DeleteTalkUserByArray(array $aTalkId, int $sUserId, int $iActive)
$aTalkId array Список ID сообщений
$sUserId int ID пользователя
$iActive int Статус связи
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#250 (show)
public function DeleteTalkUserByArray($aTalkId$sUserId$iActive)
{
    if (!
is_array($aTalkId)) {
        
$aTalkId = array($aTalkId);
    }
    
$sql "
        UPDATE " 
Config::Get('db.table.talk_user') . "
        SET 
            talk_user_active = ?d
        WHERE
            talk_id IN (?a)
            AND
            user_id = ?d                
    "
;
    
$res $this->oDb->query($sql$iActive$aTalkId$sUserId);
    return 
$this->IsSuccessful($res);
}

Удаляет юзера из разговора

DeleteUserFromBlacklist() method
public bool DeleteUserFromBlacklist(int $sTargetId, int $sUserId)
$sTargetId int ID пользователя, которого удаляем из блэклиста
$sUserId int ID пользователя
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#584 (show)
public function DeleteUserFromBlacklist($sTargetId$sUserId)
{
    
$sql "
        DELETE FROM " 
Config::Get('db.table.talk_blacklist') . "
        WHERE
            user_id = ?d
        AND
            user_target_id = ?d
    "
;
    
$res $this->oDb->query($sql$sUserId$sTargetId);
    return 
$this->IsSuccessful($res);
}

Удаляем пользователя из блеклиста

GetBlacklistByTargetId() method
public array GetBlacklistByTargetId(int $sUserId)
$sUserId int ID пользователя
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#539 (show)
public function GetBlacklistByTargetId($sUserId)
{
    
$sql "SELECT
                tb.user_id                             
            FROM 
                " 
Config::Get('db.table.talk_blacklist') . " as tb
            WHERE 
                tb.user_target_id = ?d"
;
    
$aUserId = array();
    if (
$aRows $this->oDb->select($sql$sUserId)) {
        foreach (
$aRows as $aRow) {
            
$aUserId[] = $aRow['user_id'];
        }
    }
    return 
$aUserId;
}

Возвращает пользователей, у которых данный занесен в Blacklist

GetBlacklistByUserId() method
public array GetBlacklistByUserId(int $sUserId)
$sUserId int ID пользователя
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#516 (show)
public function GetBlacklistByUserId($sUserId)
{
    
$sql "SELECT
                tb.user_target_id                             
            FROM 
                " 
Config::Get('db.table.talk_blacklist') . " as tb
            WHERE 
                tb.user_id = ?d"
;
    
$aTargetId = array();
    if (
$aRows $this->oDb->select($sql$sUserId)) {
        foreach (
$aRows as $aRow) {
            
$aTargetId[] = $aRow['user_target_id'];
        }
    }
    return 
$aTargetId;
}

Получает информацию о пользователях, занесенных в блеклист

GetCountCommentNew() method
public bool GetCountCommentNew($sUserId $sUserId)
$sUserId $sUserId
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#274 (show)
public function GetCountCommentNew($sUserId)
{
    
$sql "
                SELECT
                    SUM(tu.comment_count_new) as count_new                                                
                FROM                           
                      " 
Config::Get('db.table.talk_user') . " as tu
                WHERE                           
                      tu.user_id = ?d  
                      AND
                      tu.talk_user_active=?d                            
    "
;
    if (
$aRow $this->oDb->selectRow($sql$sUserIdModuleTalk::TALK_USER_ACTIVE)) {
        return 
$aRow['count_new'];
    }
    return 
false;
}

Возвращает количество новых комментариев

GetCountTalkNew() method
public int GetCountTalkNew(int $sUserId)
$sUserId int ID пользователя
{return} int
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#298 (show)
public function GetCountTalkNew($sUserId)
{
    
$sql "
                SELECT
                    COUNT(tu.talk_id) as count_new                                                
                FROM                           
                      " 
Config::Get('db.table.talk_user') . " as tu
                WHERE
                    tu.user_id = ?d 
                      AND
                      tu.date_last IS NULL 
                      AND
                      tu.talk_user_active=?d                        
    "
;
    if (
$aRow $this->oDb->selectRow($sql$sUserIdModuleTalk::TALK_USER_ACTIVE)) {
        return 
$aRow['count_new'];
    }
    return 
false;
}

Получает число новых тем и комментов где есть юзер

GetTalkById() method
public ModuleTalk_EntityTalk|null GetTalkById(int $sId)
$sId int ID сообщения
{return} ModuleTalk_EntityTalk|null
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#158 (show)
public function GetTalkById($sId)
{

    
$sql "SELECT
            t.*,
            u.user_login as user_login                             
            FROM 
                " 
Config::Get('db.table.talk') . " as t,
                " 
Config::Get('db.table.user') . " as u
            WHERE 
                t.talk_id = ?d                     
                AND
                t.user_id=u.user_id                    
                "
;

    if (
$aRow $this->oDb->selectRow($sql$sId)) {
        return 
Engine::GetEntity('Talk'$aRow);
    }
    return 
null;
}

Получает тему разговора по айдишнику

GetTalkUserByArray() method
public array GetTalkUserByArray(array $aArrayId, int $sUserId)
$aArrayId array Список ID сообщений
$sUserId int ID пользователя
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#128 (show)
public function GetTalkUserByArray($aArrayId$sUserId)
{
    if (!
is_array($aArrayId) or count($aArrayId) == 0) {
        return array();
    }

    
$sql "SELECT
                t.*                             
            FROM 
                " 
Config::Get('db.table.talk_user') . " as t
            WHERE 
                t.talk_id IN(?a)
                AND
                t.user_id = ?d                                 
            "
;
    
$aTalkUsers = array();
    if (
$aRows $this->oDb->select($sql$aArrayId$sUserId)) {
        foreach (
$aRows as $aRow) {
            
$aTalkUsers[] = Engine::GetEntity('Talk_TalkUser'$aRow);
        }
    }
    return 
$aTalkUsers;
}

Получить список отношений разговор-юзер по списку айдишников

GetTalkUsers() method
public array GetTalkUsers(int $sTalkId)
$sTalkId int ID разговора
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#415 (show)
public function GetTalkUsers($sTalkId)
{
    
$sql "
        SELECT 
            t.* 
        FROM 
            " 
Config::Get('db.table.talk_user') . " as t
        WHERE
            talk_id = ? 

        "
;
    
$aReturn = array();
    if (
$aRows $this->oDb->select($sql$sTalkId)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[] = Engine::GetEntity('Talk_TalkUser'$aRow);
        }
    }

    return 
$aReturn;
}

Возвращает массив пользователей, участвующих в разговоре

GetTalksByArrayId() method
public array GetTalksByArrayId(array $aArrayId)
$aArrayId array Список ID сообщений
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#99 (show)
public function GetTalksByArrayId($aArrayId)
{
    if (!
is_array($aArrayId) or count($aArrayId) == 0) {
        return array();
    }

    
$sql "SELECT
                t.*                             
            FROM 
                " 
Config::Get('db.table.talk') . " as t
            WHERE 
                t.talk_id IN(?a)                                     
            ORDER BY FIELD(t.talk_id,?a) "
;
    
$aTalks = array();
    if (
$aRows $this->oDb->select($sql$aArrayId$aArrayId)) {
        foreach (
$aRows as $aRow) {
            
$aTalks[] = Engine::GetEntity('Talk'$aRow);
        }
    }
    return 
$aTalks;
}

Получить список разговоров по списку айдишников

GetTalksByFilter() method
public array('collection'=>array,'count'=>int) GetTalksByFilter(array $aFilter, int &$iCount, int $iCurrPage, int $iPerPage)
$aFilter array Фильтр
$iCount int Возвращает общее количество элементов
$iCurrPage int Номер страницы
$iPerPage int Количество элементов на страницу
{return} array('collection'=>array,'count'=>int)
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#445 (show)
public function GetTalksByFilter($aFilter, &$iCount$iCurrPage$iPerPage)
{
    if (isset(
$aFilter['id']) and !is_array($aFilter['id'])) {
        
$aFilter['id'] = array($aFilter['id']);
    }
    
$sql "SELECT
                tu.talk_id                                    
            FROM 
                " 
Config::Get('db.table.talk_user') . " as tu,
                " 
Config::Get('db.table.talk') . " as t,
                " 
Config::Get('db.table.user') . " as u
            WHERE 
                tu.talk_id=t.talk_id
                AND tu.talk_user_active = ?d
                AND u.user_id=t.user_id
                { AND tu.user_id = ?d }
                { AND tu.talk_id IN (?a) }
                { AND ( tu.comment_count_new > ?d OR tu.date_last IS NULL ) }
                { AND t.talk_date <= ? }
                { AND t.talk_date >= ? }
                { AND t.talk_title LIKE ? }
                { AND t.talk_text LIKE ? }
                { AND u.user_login = ? }
                { AND t.user_id = ? }
                { AND tu.talk_id IN (
                    SELECT stu.talk_id
                    FROM
                        " 
Config::Get('db.table.talk_user') . " as stu,
                        " 
Config::Get('db.table.talk') . " as st
                    WHERE
                        stu.user_id = ?d
                        AND stu.talk_id = st.talk_id
                        AND st.user_id != stu.user_id
                ) }
            ORDER BY t.talk_date_last desc, t.talk_date desc
            LIMIT ?d, ?d    
                "
;

    
$aTalks = array();
    if (
    
$aRows $this->oDb->selectPage(
        
$iCount,
        
$sql,
        
ModuleTalk::TALK_USER_ACTIVE,
        (!empty(
$aFilter['user_id']) ? $aFilter['user_id'] : DBSIMPLE_SKIP),
        ((isset(
$aFilter['id']) and count($aFilter['id'])) ? $aFilter['id'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['only_new']) ? DBSIMPLE_SKIP),
        (!empty(
$aFilter['date_max']) ? $aFilter['date_max'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['date_min']) ? $aFilter['date_min'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['keyword']) ? $aFilter['keyword'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['text_like']) ? $aFilter['text_like'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['user_login']) ? $aFilter['user_login'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['sender_id']) ? $aFilter['sender_id'] : DBSIMPLE_SKIP),
        (!empty(
$aFilter['receiver_user_id']) ? $aFilter['receiver_user_id'] : DBSIMPLE_SKIP),
        (
$iCurrPage 1) * $iPerPage,
        
$iPerPage
    
)
    ) {
        foreach (
$aRows as $aRow) {
            
$aTalks[] = $aRow['talk_id'];
        }
    }
    return 
$aTalks;
}

Получить все темы разговора по фильтру

GetTalksByUserId() method
public array GetTalksByUserId(int $sUserId, int &$iCount, int $iCurrPage, int $iPerPage)
$sUserId int ID пользователя
$iCount int Возвращает общее количество элементов
$iCurrPage int Номер страницы
$iPerPage int Количество элементов на страницу
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#327 (show)
public function GetTalksByUserId($sUserId, &$iCount$iCurrPage$iPerPage)
{
    
$sql "SELECT
                tu.talk_id                                    
            FROM 
                " 
Config::Get('db.table.talk_user') . " as tu,
                " 
Config::Get('db.table.talk') . " as t
            WHERE 
                tu.user_id = ?d 
                AND
                tu.talk_id=t.talk_id
                AND
                tu.talk_user_active = ?d    
            ORDER BY t.talk_date_last desc, t.talk_date desc
            LIMIT ?d, ?d    
                "
;

    
$aTalks = array();
    if (
$aRows $this->oDb->selectPage($iCount$sql$sUserIdModuleTalk::TALK_USER_ACTIVE,
        (
$iCurrPage 1) * $iPerPage$iPerPage)
    ) {
        foreach (
$aRows as $aRow) {
            
$aTalks[] = $aRow['talk_id'];
        }
    }
    return 
$aTalks;
}

Получить все темы разговора где есть юзер

GetUsersTalk() method
public array GetUsersTalk(int $sTalkId, array $aUserActive=array ( ))
$sTalkId int ID разговора
$aUserActive array Список статусов
{return} array
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#362 (show)
public function GetUsersTalk($sTalkId$aUserActive = array())
{
    
$sql "
        SELECT 
            user_id     
        FROM 
            " 
Config::Get('db.table.talk_user') . "
        WHERE
            talk_id = ? 
            { AND talk_user_active IN(?a) }
        "
;
    
$aReturn = array();
    if (
$aRows $this->oDb->select($sql$sTalkId,
        (
count($aUserActive) ? $aUserActive DBSIMPLE_SKIP)
    )
    ) {
        foreach (
$aRows as $aRow) {
            
$aReturn[] = $aRow['user_id'];
        }
    }

    return 
$aReturn;
}

Получает список юзеров в теме разговора

UpdateTalk() method
public int UpdateTalk(ModuleTalk_EntityTalk $oTalk)
$oTalk ModuleTalk_EntityTalk Объект сообщения
{return} int
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#78 (show)
public function UpdateTalk(ModuleTalk_EntityTalk $oTalk)
{
    
$sql "UPDATE " Config::Get('db.table.talk') . " SET
            talk_date_last = ? ,
            talk_user_id_last = ? ,
            talk_comment_id_last = ? ,
            talk_count_comment = ?
        WHERE 
            talk_id = ?d
    "
;
    
$res $this->oDb->query($sql$oTalk->getDateLast(), $oTalk->getUserIdLast(), $oTalk->getCommentIdLast(),
        
$oTalk->getCountComment(), $oTalk->getId());
    return 
$this->IsSuccessful($res);
}

Обновление разговора

UpdateTalkUser() method
public bool UpdateTalkUser(ModuleTalk_EntityTalkUser $oTalkUser)
$oTalkUser ModuleTalk_EntityTalkUser Объект связи пользователя с разговором
{return} bool
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#216 (show)
public function UpdateTalkUser(ModuleTalk_EntityTalkUser $oTalkUser)
{
    
$sql "UPDATE " Config::Get('db.table.talk_user') . "
        SET 
            date_last = ?,                 
            comment_id_last = ?d,                 
            comment_count_new = ?d,     
            talk_user_active = ?d            
        WHERE
            talk_id = ?d
            AND
            user_id = ?d
    "
;

    
$res $this->oDb->query(
        
$sql,
        
$oTalkUser->getDateLast(),
        
$oTalkUser->getCommentIdLast(),
        
$oTalkUser->getCommentCountNew(),
        
$oTalkUser->getUserActive(),
        
$oTalkUser->getTalkId(),
        
$oTalkUser->getUserId()
    );
    return 
$this->IsSuccessful($res);
}

Обновляет связку разговор-юзер

increaseCountCommentNew() method
public int increaseCountCommentNew(int $sTalkId, array $aExcludeId)
$sTalkId int ID разговора
$aExcludeId array Список ID пользователей для исключения
{return} int
Source Code: /application/classes/modules/talk/mapper/Talk.mapper.class.php#393 (show)
public function increaseCountCommentNew($sTalkId$aExcludeId)
{
    if (!
is_null($aExcludeId) and !is_array($aExcludeId)) {
        
$aExcludeId = array($aExcludeId);
    }

    
$sql "UPDATE
            " 
Config::Get('db.table.talk_user') . "
            SET comment_count_new=comment_count_new+1 
        WHERE
            talk_id = ? 
            { AND user_id NOT IN (?a) }"
;
    
$res $this->oDb->select($sql$sTalkId, !is_null($aExcludeId) ? $aExcludeId DBSIMPLE_SKIP);
    return 
$this->IsSuccessful($res);
}

Увеличивает число новых комментов у юзеров