示例#1
0
 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');
 }
示例#2
0
 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);
     }
 }