/** * 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))))); }
/** * 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')))); }
/** * @return array action filters */ public function filters() { return CMap::mergeArray(parent::filters(), array('accessControl')); }