Exemplo n.º 1
0
 /**
  * Удаление топиков по массиву ID пользователей
  *
  * @param int[] $aUsersId
  *
  * @return bool
  */
 public function DeleteTopicsByUsersId($aUsersId)
 {
     $aFilter = array('user_id' => $aUsersId);
     $aTopicsId = $this->oMapper->GetAllTopics($aFilter);
     if ($bResult = $this->oMapper->DeleteTopic($aTopicsId)) {
         $bResult = $this->DeleteTopicAdditionalData($aTopicsId);
     }
     // * Чистим зависимые кеши
     $aTags = array('topic_update');
     foreach ($aUsersId as $nUserId) {
         $aTags[] = 'topic_update_user_' . $nUserId;
     }
     E::ModuleCache()->CleanByTags($aTags);
     if ($aTopicsId) {
         // * Чистим зависимые кеши
         $aCacheTags = array('topic_update');
         foreach ($aUsersId as $iUserId) {
             $aCacheTags[] = 'topic_update_user_' . $iUserId;
         }
         E::ModuleCache()->CleanByTags($aCacheTags);
         foreach ($aTopicsId as $iTopicId) {
             E::ModuleCache()->Delete('topic_' . $iTopicId);
         }
     }
     return $bResult;
 }