Example #1
0
 /**
  * Получить список отношений блог-юзер по списку айдишников используя общий кеш
  *
  * @param array $aBlogId    Список ID блогов
  * @param int   $iUserId    ID пользователя
  *
  * @return array
  */
 public function GetBlogUsersByArrayBlogSolid($aBlogId, $iUserId)
 {
     if (!is_array($aBlogId)) {
         $aBlogId = array($aBlogId);
     }
     $aBlogId = array_unique($aBlogId);
     $aBlogUsers = array();
     $sCacheKey = 'blog_relation_user_' . $iUserId . '_id_' . join(',', $aBlogId);
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         $data = $this->oMapper->GetBlogUsersByArrayBlog($aBlogId, $iUserId);
         foreach ($data as $oBlogUser) {
             $aBlogUsers[$oBlogUser->getBlogId()] = $oBlogUser;
         }
         E::ModuleCache()->Set($aBlogUsers, $sCacheKey, array('blog_update', "blog_relation_change_{$iUserId}"), 'P1D');
         return $aBlogUsers;
     }
     return $data;
 }
Example #2
0
 /**
  * Получить список отношений блог-юзер по списку айдишников используя общий кеш
  *
  * @param array $aBlogId	Список ID блогов
  * @param int $sUserId	ID пользователя
  * @return array
  */
 public function GetBlogUsersByArrayBlogSolid($aBlogId, $sUserId)
 {
     if (!is_array($aBlogId)) {
         $aBlogId = array($aBlogId);
     }
     $aBlogId = array_unique($aBlogId);
     $aBlogUsers = array();
     $s = join(',', $aBlogId);
     if (false === ($data = $this->Cache_Get("blog_relation_user_{$sUserId}_id_{$s}"))) {
         $data = $this->oMapperBlog->GetBlogUsersByArrayBlog($aBlogId, $sUserId);
         foreach ($data as $oBlogUser) {
             $aBlogUsers[$oBlogUser->getBlogId()] = $oBlogUser;
         }
         $this->Cache_Set($aBlogUsers, "blog_relation_user_{$sUserId}_id_{$s}", array("blog_update", "blog_relation_change_{$sUserId}"), 60 * 60 * 24 * 1);
         return $aBlogUsers;
     }
     return $data;
 }