public function init() { if (!is_file(Yii::getPathOfAlias('config.general') . '.php')) { // ToDo: Сделать вызов инсталлятора Yii::app()->end(); } ini_set('mbstring.internal_encoding', 'UTF-8'); ini_set('mbstring.func_overload', 2); if (Yii::app()->settings->getValue('timezone')) { $timezone = Yii::app()->settings->getValue('timezone'); if (Yii::app()->user->data && Yii::app()->user->data->timezone) { $timezone = Yii::app()->user->data->timezone; } date_default_timezone_set($timezone); $tz = date("Z"); $tz = sprintf('%s%02d:%02d', $tz < 0 ? '-' : '+', abs($tz / 3600), abs($tz % 3600) / 60); Yii::app()->db->createCommand('set @@session.time_zone = "' . $tz . '";')->execute(); } $language = 'en'; $langs = array_keys(I18nActiveRecord::getLangs()); if (Yii::app()->request->preferredLanguage && in_array(Yii::app()->request->preferredLanguage, $langs)) { $language = Yii::app()->request->preferredLanguage; } if (Yii::app()->settings->getValue('language')) { $language = Yii::app()->settings->getValue('language'); } if (isset($_REQUEST['language']) && in_array($_REQUEST['language'], $langs)) { $language = $_REQUEST['language']; } if (!in_array($language, $langs)) { $language = $langs[0]; } Yii::app()->language = $language; // $e = Yii::app()->user->checkAccess('read', array('object' => array('Page', 1))); // echo intval($e); // Yii::app()->end(); if (!Yii::app()->request->isAjaxRequest) { Yii::app()->getClientScript()->registerCssFile(Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.assets.css')) . '/icons/' . Yii::app()->params['icons'] . '.css'); } ContentUnit::loadUnits(); Yii::app()->getClientScript()->packages = (require Yii::getPathOfAlias('application.config') . '/packages.php'); }
public function actionFeed($type = 'rss') { header('Content-Type: application/rss+xml'); if (Yii::app()->request->getQuery('model') !== null) { $modelClass = 'Model' . ucfirst(Yii::app()->request->getQuery('model')); ContentUnit::loadUnits(); if (!FeedHelper::isFeedPresent($modelClass, Yii::app()->request->getQuery('id') === null)) { throw new CHttpException(404, Yii::t('cms', 'The requested page does not exist.')); } // Фид определенного раздела if (Yii::app()->request->getQuery('id') !== null && ($content = call_user_func(array($modelClass, 'model'))->findByPk(intval(Yii::app()->request->getQuery('id'))))) { FeedHelper::renderFeed($type, $content); // Фид всех записей этого типа } else { FeedHelper::renderFeed($type, $modelClass); } // Общий фид } else { FeedHelper::renderFeed($type); } }