95 lines
2.2 KiB
PHP
Executable File
95 lines
2.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace mdm\admin\controllers;
|
|
|
|
use Yii;
|
|
use mdm\admin\models\Route;
|
|
use yii\web\Controller;
|
|
use yii\filters\VerbFilter;
|
|
|
|
/**
|
|
* Description of RuleController
|
|
*
|
|
* @author Misbahul D Munir <misbahuldmunir@gmail.com>
|
|
* @since 1.0
|
|
*/
|
|
class RouteController extends Controller
|
|
{
|
|
public function behaviors()
|
|
{
|
|
return [
|
|
'verbs' => [
|
|
'class' => VerbFilter::className(),
|
|
'actions' => [
|
|
'create' => ['post'],
|
|
'assign' => ['post'],
|
|
'remove' => ['post'],
|
|
'refresh' => ['post'],
|
|
],
|
|
],
|
|
];
|
|
}
|
|
/**
|
|
* Lists all Route models.
|
|
* @return mixed
|
|
*/
|
|
public function actionIndex()
|
|
{
|
|
$model = new Route();
|
|
return $this->render('index', ['routes' => $model->getRoutes()]);
|
|
}
|
|
|
|
/**
|
|
* Creates a new AuthItem model.
|
|
* If creation is successful, the browser will be redirected to the 'view' page.
|
|
* @return mixed
|
|
*/
|
|
public function actionCreate()
|
|
{
|
|
Yii::$app->getResponse()->format = 'json';
|
|
$routes = Yii::$app->getRequest()->post('route', '');
|
|
$routes = preg_split('/\s*,\s*/', trim($routes), -1, PREG_SPLIT_NO_EMPTY);
|
|
$model = new Route();
|
|
$model->addNew($routes);
|
|
return $model->getRoutes();
|
|
}
|
|
|
|
/**
|
|
* Assign routes
|
|
* @return array
|
|
*/
|
|
public function actionAssign()
|
|
{
|
|
$routes = Yii::$app->getRequest()->post('routes', []);
|
|
$model = new Route();
|
|
$model->addNew($routes);
|
|
Yii::$app->getResponse()->format = 'json';
|
|
return $model->getRoutes();
|
|
}
|
|
|
|
/**
|
|
* Remove routes
|
|
* @return array
|
|
*/
|
|
public function actionRemove()
|
|
{
|
|
$routes = Yii::$app->getRequest()->post('routes', []);
|
|
$model = new Route();
|
|
$model->remove($routes);
|
|
Yii::$app->getResponse()->format = 'json';
|
|
return $model->getRoutes();
|
|
}
|
|
|
|
/**
|
|
* Refresh cache
|
|
* @return type
|
|
*/
|
|
public function actionRefresh()
|
|
{
|
|
$model = new Route();
|
|
$model->invalidate();
|
|
Yii::$app->getResponse()->format = 'json';
|
|
return $model->getRoutes();
|
|
}
|
|
}
|