public function DeleteVote($sTargetId, $sTargetType, $sUserId) { /** * Чистим зависимые кеши */ $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("vote_update_{$sTargetType}")); return $this->oMapper->DeleteVote($sTargetId, $sTargetType, $sUserId); }
/** * Получить статистику по юзерам * cnt_topics_p / cnt_topics_m - Количество голосований за топик +/- * sum_topics_p / sum_topics_m - Количество голосований за топик +/- * cnt_comments_p / cnt_comments_m - Количество голосований за комментарий +/- * sum_comments_p / sum_comments_m - Количество голосований за комментарий +/- * cnt_user_p / cnt_user_m - Количество голосований за пользователя +/- * sum_user_p / sum_user_m - Количество голосований за пользователя +/- * * @param int $iUserId ID пользователя * * @return array */ public function GetUserVoteStats($iUserId) { $sCacheKey = 'user_vote_stats_' . $iUserId; if (false === ($aResult = E::ModuleCache()->Get($sCacheKey))) { $aResult = $this->oMapper->GetUserVoteStats($iUserId); E::ModuleCache()->Set($aResult, $sCacheKey, array("vote_update_topic_{$iUserId}", "vote_update_comment_{$iUserId}", "vote_update_user_{$iUserId}")); } return $aResult; }
/** * Удаляет голосование из базы по списку идентификаторов таргета * * @param array|int $aTargetId Список ID владельцев * @param string $sTargetType Тип владельца * @return bool */ public function DeleteVoteByTarget($aTargetId, $sTargetType) { if (!is_array($aTargetId)) { $aTargetId = array($aTargetId); } $aTargetId = array_unique($aTargetId); /** * Чистим зависимые кеши */ $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("vote_update_{$sTargetType}")); return $this->oMapper->DeleteVoteByTarget($aTargetId, $sTargetType); }