ctms/vendor/mdmsoft/yii2-admin/controllers/RouteController.php
2025-04-10 23:19:13 +08:00

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();
}
}