/** * Получить все комменты сгрупированные по типу(для вывода прямого эфира) * * @param string $sTargetType Тип владельца комментария * @param int $iLimit Количество элементов * * @return array */ public function GetCommentsOnline($sTargetType, $iLimit) { /** * Исключаем из выборки идентификаторы закрытых блогов (target_parent_id) */ $aCloseBlogs = $this->oUserCurrent ? E::ModuleBlog()->GetInaccessibleBlogsByUser($this->oUserCurrent) : E::ModuleBlog()->GetInaccessibleBlogsByUser(); $s = serialize($aCloseBlogs); $sCacheKey = "comment_online_{$sTargetType}_{$s}_{$iLimit}"; if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = $this->oMapper->GetCommentsIdOnline($sTargetType, $aCloseBlogs, $iLimit); E::ModuleCache()->Set($data, $sCacheKey, array("comment_online_update_{$sTargetType}"), 'P1D'); } if ($data) { $data = $this->GetCommentsAdditionalData($data); } return $data; }