Example #1
0
 /**
  * Возвращает список блогов по ID, но используя единый кеш
  *
  * @param array      $aBlogId    Список ID блогов
  * @param array|null $aOrder     Сортировка блогов
  *
  * @return array
  */
 public function GetBlogsByArrayIdSolid($aBlogId, $aOrder = null)
 {
     if (!is_array($aBlogId)) {
         $aBlogId = array($aBlogId);
     }
     $aBlogId = array_unique($aBlogId);
     $aBlogs = array();
     $sCacheKey = 'blog_id_' . join(',', $aBlogId);
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         $data = $this->oMapper->GetBlogsByArrayId($aBlogId, $aOrder);
         foreach ($data as $oBlog) {
             $aBlogs[$oBlog->getId()] = $oBlog;
         }
         E::ModuleCache()->Set($aBlogs, $sCacheKey, array('blog_update'), 'P1D');
         return $aBlogs;
     }
     return $data;
 }
Example #2
0
 /**
  * Возвращает список блогов по ID, но используя единый кеш
  *
  * @param array $aBlogId	Список ID блогов
  * @param array|null $aOrder	Сортировка блогов
  * @return array
  */
 public function GetBlogsByArrayIdSolid($aBlogId, $aOrder = null)
 {
     if (!is_array($aBlogId)) {
         $aBlogId = array($aBlogId);
     }
     $aBlogId = array_unique($aBlogId);
     $aBlogs = array();
     $s = join(',', $aBlogId);
     if (false === ($data = $this->Cache_Get("blog_id_{$s}"))) {
         $data = $this->oMapperBlog->GetBlogsByArrayId($aBlogId, $aOrder);
         foreach ($data as $oBlog) {
             $aBlogs[$oBlog->getId()] = $oBlog;
         }
         $this->Cache_Set($aBlogs, "blog_id_{$s}", array("blog_update"), 60 * 60 * 24 * 1);
         return $aBlogs;
     }
     return $data;
 }