-
Notifications
You must be signed in to change notification settings - Fork 89
/
AccessController.php
75 lines (64 loc) · 1.98 KB
/
AccessController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
namespace app\controllers;
use app\controllers\common\BaseController;
use app\models\Access;
class AccessController extends BaseController {
//权限列表
public function actionIndex(){
$access_list = Access::find()->where([ 'status' => 1 ])->orderBy([ 'id' => SORT_DESC ])->all();
return $this->render('index',[
'list' => $access_list
]);
}
/*
* 添加或者编辑权限
* get 展示页面
* post 处理添加或者编辑权限
*/
public function actionSet(){
//如果是get请求则演示页面
if( \Yii::$app->request->isGet ){
$id = $this->get("id",0);
$info = [];
if( $id ){
$info = Access::find()->where([ 'status' => 1 ,'id' => $id ])->one();
}
return $this->render('set',[
'info' => $info
]);
}
$id = intval( $this->post("id",0) );
$title = trim( $this->post("title","") );
$urls = trim( $this->post("urls","") );
$date_now = date("Y-m-d H:i:s");
if( mb_strlen($title,"utf-8") < 1 || mb_strlen($title,"utf-8") > 20 ){
return $this->renderJSON([],'请输入合法的权限标题~~',-1);
}
if( !$urls ){
return $this->renderJSON([],'请输入合法的Urls~~',-1);
}
$urls = explode("\n",$urls);
if( !$urls ){
return $this->renderJSON([],'请输入合法的Urls~~',-1);
}
//查询同一标题的是否存在
$has_in = Access::find()->where([ 'title' => $title ])->andWhere([ '!=','id',$id ])->count();
if( $has_in ){
return $this->renderJSON([],'该权限标题已存在~~',-1);
}
//查询指定id的权限
$info = Access::find()->where([ 'id' => $id ])->one();
if( $info ){//如果存在则是编辑
$model_access = $info;
}else{//不存在就是添加
$model_access = new Access();
$model_access->status = 1;
$model_access->created_time = $date_now;
}
$model_access->title = $title;
$model_access->urls = json_encode( $urls );//json格式保存的
$model_access->updated_time = $date_now;
$model_access->save(0);
return $this->renderJSON([],'操作成功~~');
}
}