/**
  * Base filter, allows logged in and non-logged in users to cache the page
  */
 public function filters()
 {
     $id = Yii::app()->getRequest()->getQuery('id');
     if ($id == NULL || $id === false) {
         throw new CHttpException(400, Yii::t('ciims.controllers.Categories', 'Invalid routing'));
     }
     return CMap::mergeArray(parent::filters(), array(array('CHttpCacheFilter + index', 'cacheControl' => Cii::get(Yii::app()->user->id) == NULL ? 'public' : 'private' . ', no-cache, must-revalidate', 'etagSeed' => $id), array('COutputCache + list', 'duration' => YII_DEBUG ? 1 : 86400, 'varyByParam' => array('page'), 'varyByLanguage' => true, 'dependency' => array('class' => 'CDbCacheDependency', 'sql' => 'SELECT MAX(updated) FROM content WHERE category_id = :id', 'params' => array(':id' => $id))), array('COutputCache + rss', 'duration' => YII_DEBUG ? 1 : 86400, 'dependency' => array('class' => 'CDbCacheDependency', 'sql' => 'SELECT MAX(updated) FROM content WHERE category_id = :id', 'params' => array(':id' => $id)))));
 }
示例#2
0
 /**
  * Base filter, allows logged in and non-logged in users to cache the page
  */
 public function filters()
 {
     $id = Yii::app()->getRequest()->getQuery('id');
     if ($id != NULL) {
         $vid = Yii::app()->getRequest()->getQuery('vid');
         return array('accessControl', array('CHttpCacheFilter + index', 'cacheControl' => Cii::get(Yii::app()->user->id) == NULL ? 'public' : 'private' . ', no-cache, must-revalidate', 'etagSeed' => $id . $vid), array('COutputCache + index', 'duration' => YII_DEBUG ? 1 : 86400, 'varyByParam' => array('id', 'vid'), 'varyByLanguage' => true, 'varyByExpression' => 'Yii::app()->user->isGuest'));
     }
     return CMap::mergeArray(parent::filters(), array(array('COutputCache + list', 'duration' => YII_DEBUG ? 1 : 86400, 'varyByParam' => array('page'), 'varyByLanguage' => true, 'dependency' => array('class' => 'CDbCacheDependency', 'sql' => 'SELECT MAX(updated) FROM content'))));
 }
示例#3
0
 /**
  * @return array action filters
  */
 public function filters()
 {
     return CMap::mergeArray(parent::filters(), array('accessControl'));
 }