/** * Получает список таргетов из избранного * * @param int $sUserId ID пользователя * @param string $sTargetType Тип владельца * @param int $iCurrPage Номер страницы * @param int $iPerPage Количество элементов на страницу * @param array $aExcludeTarget Список ID владельцев для исклчения * @return array */ public function GetFavouritesByUserId($sUserId, $sTargetType, $iCurrPage, $iPerPage, $aExcludeTarget = array()) { $s = serialize($aExcludeTarget); if (false === ($data = $this->Cache_Get("{$sTargetType}_favourite_user_{$sUserId}_{$iCurrPage}_{$iPerPage}_{$s}"))) { $data = array('collection' => $this->oMapper->GetFavouritesByUserId($sUserId, $sTargetType, $iCount, $iCurrPage, $iPerPage, $aExcludeTarget), 'count' => $iCount); $this->Cache_Set($data, "{$sTargetType}_favourite_user_{$sUserId}_{$iCurrPage}_{$iPerPage}_{$s}", array("favourite_{$sTargetType}_change", "favourite_{$sTargetType}_change_user_{$sUserId}"), 60 * 60 * 24 * 1); } return $data; }
/** * Получает список таргетов из избранного * * @param int $nUserId ID пользователя * @param string $sTargetType Тип владельца * @param int $iCurrPage Номер страницы * @param int $iPerPage Количество элементов на страницу * @param array $aExcludeTarget Список ID владельцев для исклчения * * @return array */ public function GetFavouritesByUserId($nUserId, $sTargetType, $iCurrPage, $iPerPage, $aExcludeTarget = array()) { $sCacheKey = "{$sTargetType}_favourite_user_{$nUserId}_{$iCurrPage}_{$iPerPage}_" . serialize($aExcludeTarget); if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = array('collection' => $this->oMapper->GetFavouritesByUserId($nUserId, $sTargetType, $iCount, $iCurrPage, $iPerPage, $aExcludeTarget), 'count' => $iCount); E::ModuleCache()->Set($data, $sCacheKey, array("favourite_{$sTargetType}_change", "favourite_{$sTargetType}_change_user_{$nUserId}"), 60 * 60 * 24 * 1); } return $data; }