/** * Пересчет количества топиков в конкретном блоге * * @param int $iBlogId ID блога * @return bool */ public function RecalculateCountTopicByBlogId($iBlogId) { //чистим зависимые кеши $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('blog_update', "blog_update_{$iBlogId}")); $this->Cache_Delete("blog_{$iBlogId}"); return $this->oMapperBlog->RecalculateCountTopic($iBlogId); }
/** * Пересчет количества топиков в конкретном блоге * * @param int|array $aBlogIds Список ID блогов * @return bool */ public function RecalculateCountTopicByBlogId($aBlogIds) { if (!is_array($aBlogIds)) { $aBlogIds = array($aBlogIds); } if ($aBlogIds) { foreach ($aBlogIds as $iBlogId) { //чистим зависимые кеши $this->oMapperBlog->RecalculateCountTopic($iBlogId); $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("blog_update_{$iBlogId}")); $this->Cache_Delete("blog_{$iBlogId}"); } } $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('blog_update')); return true; }
/** * Пересчет количества топиков в конкретном блоге * * @param int|array $aBlogsId - ID of blog | IDs of blogs * * @return bool */ public function RecalculateCountTopicByBlogId($aBlogsId) { $aBlogsId = $this->_entitiesId($aBlogsId); if ($aBlogsId) { $bResult = $this->oMapper->RecalculateCountTopic($aBlogsId); if ($bResult) { //чистим зависимые кеши if (is_array($aBlogsId)) { $aCacheTags = array('blog_update'); foreach ($aBlogsId as $iBlogId) { E::ModuleCache()->Delete("blog_{$iBlogId}"); $aCacheTags[] = "blog_update_{$iBlogId}"; } E::ModuleCache()->CleanByTags($aCacheTags); } else { E::ModuleCache()->CleanByTags(array('blog_update', "blog_update_{$aBlogsId}")); E::ModuleCache()->Delete("blog_{$aBlogsId}"); } return $bResult; } } return true; }