- Модуль: pull
- Путь к файлу: ~/bitrix/modules/pull/classes/general/pull_stack.php
- Класс: CAllPullStack
- Вызов: CAllPullStack::Get
static function Get($channelId, $lastId = 0)
{
global $DB;
$newLastId = $lastId;
$arMessage = Array();
$strSql = "
SELECT ps.ID, ps.MESSAGE
FROM b_pull_stack ps ".($lastId > 0? '': 'LEFT JOIN b_pull_channel pc ON pc.CHANNEL_ID = ps.CHANNEL_ID')."
WHERE ps.CHANNEL_ID = '".$DB->ForSQL($channelId)."'".($lastId > 0? " AND ps.ID > ".intval($lastId): " AND ps.ID > pc.LAST_ID" );
$dbRes = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
while ($arRes = $dbRes->Fetch())
{
if ($newLastId < $arRes['ID'])
$newLastId = $arRes['ID'];
$data = unserialize($arRes['MESSAGE'], ["allowed_classes" => false]);
$data['id'] = $arRes['ID'];
$data['extra'] = Array(
'server_time' => date('c'),
'server_time_unix' => microtime(true),
'server_name' => COption::GetOptionString('main', 'server_name', $_SERVER['SERVER_NAME']),
'revision_web' => PULL_REVISION_WEB,
'revision_mobile' => PULL_REVISION_MOBILE,
);
$arMessage[] = $data;
}
if ($lastId < $newLastId)
CPullChannel::UpdateLastId($channelId, $newLastId);
return $arMessage;
}