/**
  * Creates a new Redirect model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Redirect();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Example #2
0
 public static function processRedirect()
 {
     $redirects = CacheHelper::get('redirects');
     if (empty($redirects)) {
         $redirects = (new Query())->select(['old_url', 'new_url'])->from(Redirect::tableName())->all();
         $redirects = ArrayHelper::map($redirects, 'old_url', 'new_url');
         CacheHelper::set('redirects', $redirects, CacheHelper::getTag(self::className()));
     }
     $url = $_SERVER['REQUEST_URI'];
     if (isset($redirects[$url])) {
         Yii::$app->response->redirect($redirects[$url], 301);
     }
 }
Example #3
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Redirect::find();
     $query->orderBy(['old_url' => SORT_ASC]);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['like', 'old_url', $this->old_url])->andFilterWhere(['like', 'new_url', $this->new_url]);
     return $dataProvider;
 }
Example #4
0
<?php

$params = array_merge(require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php');
return ['id' => 'radiata-fronend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log', 'radiata'], 'modules' => ['radiata' => ['class' => 'common\\modules\\radiata\\Radiata'], 'banner' => ['class' => 'common\\modules\\banner\\Banner', 'controllerNamespace' => 'frontend\\modules\\banner\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/banner/views', 'defaultRoute' => 'banner'], 'vote' => ['class' => 'common\\modules\\vote\\Vote', 'controllerNamespace' => 'frontend\\modules\\vote\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/vote/views', 'defaultRoute' => 'vote'], 'page' => ['class' => 'common\\modules\\page\\Page', 'controllerNamespace' => 'frontend\\modules\\page\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/page/views', 'defaultRoute' => 'page'], 'news' => ['class' => 'common\\modules\\news\\News', 'controllerNamespace' => 'frontend\\modules\\news\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/news/views', 'defaultRoute' => 'news'], 'slider' => ['class' => 'common\\modules\\slider\\Slider', 'controllerNamespace' => 'frontend\\modules\\slider\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/slider/views', 'defaultRoute' => 'slider'], 'menu' => ['class' => 'common\\modules\\menu\\Menu', 'controllerNamespace' => 'frontend\\modules\\menu\\controllers', 'layoutPath' => '@frontend/views/layouts', 'viewPath' => '@frontend/modules/menu/views', 'defaultRoute' => 'menu']], 'controllerNamespace' => 'frontend\\controllers', 'components' => ['user' => ['identityClass' => 'common\\models\\user\\User', 'enableAutoLogin' => true], 'log' => ['traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [['class' => 'yii\\log\\FileTarget', 'levels' => ['error', 'warning']]]], 'errorHandler' => ['errorAction' => 'site/error']], 'params' => $params, 'on beforeRequest' => function ($event) {
    \common\modules\radiata\models\Redirect::processRedirect();
}];