Example #1
0
 /**
  * Получает список топиков по регулярному выражению (поиск)
  *
  * @param       $sRegexp
  * @param       $iPage
  * @param       $iPerPage
  * @param array $aParams
  *
  * @return array
  */
 public function GetTopicsIdByRegexp($sRegexp, $iPage, $iPerPage, $aParams = array())
 {
     $s = md5(serialize($sRegexp) . serialize($aParams));
     $sCacheKey = 'search_topics_' . $s . '_' . $iPage . '_' . $iPerPage;
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         $data = array('collection' => $this->oMapper->GetTopicsIdByRegexp($sRegexp, $iCount, $iPage, $iPerPage, $aParams), 'count' => $iCount);
         E::ModuleCache()->Set($data, $sCacheKey, array('topic_update', 'topic_new'), 'PT1H');
     }
     return $data;
 }
Example #2
0
 /**
  * Получает список топиков по регулярному выражению (поиск)
  *
  * @param $sRegexp
  * @param $iPage
  * @param $iPerPage
  * @param array $aParams
  * @param bool $bAccessible
  *
  * @return array
  */
 public function GetTopicsIdByRegexp($sRegexp, $iPage, $iPerPage, $aParams = array(), $bAccessible = false)
 {
     $s = md5(serialize($sRegexp) . serialize($aParams));
     $sCacheKey = 'search_topics_' . $s . '_' . $iPage . '_' . $iPerPage;
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         if ($bAccessible) {
             $aParams['aFilter'] = E::ModuleTopic()->GetNamedFilter(FALSE, array('accessible' => true));
         }
         $data = array('collection' => $this->oMapper->GetTopicsIdByRegexp($sRegexp, $iCount, $iPage, $iPerPage, $aParams), 'count' => $iCount);
         E::ModuleCache()->Set($data, $sCacheKey, array('topic_update', 'topic_new'), 'PT1H');
     }
     return $data;
 }