laravel 后台权限 展示,修改

来源:互联网 发布:pokemon狙击软件 编辑:程序博客网 时间:2024/05/22 12:26

后台 权限展示

RoleController 

public function show($id){    $permissionRole = PermissionRole::orderBy('permission_id','asc')->get()->toArray();    $permissions = Permission::all()->toArray();                /*$a = array();                $b = array();                    foreach($permissions as $value){                        foreach($permissionRole as $v){                            if($value['id'] == $v['permission_id']  && $id == $v['role_id']){                               $a[] =  $value['id'];                                $str = '<input type="checkbox" name="id" checked value='.$value['id'].'>'.$value['display_name'];                                $b[$value['id']] = $str;                            }                        }                    }                    foreach($permissions as $val){                        if(in_array($val['id'],$a)){                            continue;}                            else{                                $str = '<input type="checkbox" name="id"  value='.$val['id'].'">'.$val['display_name'];                                $b[$val['id']] = $str;                            }                        }                  ksort($b);                    foreach($b as $mm) {                        echo $mm;                    }*/       return view('roles.show',compact('permissions','permissionRole','id'));}

 public function roleStore(Request $request,$id)    {        $permissoinRole = PermissionRole::where('role_id',$id)->get()->toArray();        $arr_perMI = array();        $arr_pr = array();       foreach ($request['permission_id'] as $item =>$v){           $data = [             'permission_id'=>$v,               'role_id'=>$id           ];           array_push($arr_perMI,$data);       }      // var_dump($arr_perMI);
       //新增角色权限        foreach ($arr_perMI as $key =>$value){            if(!in_array($value,$permissoinRole)){                $permissoinRoles = new PermissionRole();                $permissoinRoles->permission_id = $value['permission_id'];                $permissoinRoles->role_id = $value['role_id'];                $permissoinRoles->save();            }        }
     //删除角色权限        foreach ($permissoinRole as $k =>$v){            if(!in_array($v,$arr_perMI)){                $p = $v['permission_id'];                $r = $v['role_id'];                $permissoinRole = PermissionRole::where('permission_id',$p)->where('role_id',$r)->delete();            }        }         return redirect()->route('role.index');    }


@extends('layouts.main')@section('content')    <div class="row">        <div class="col-md-12">            <div class="box box-info">                <form class="form-horizontal" action="{{URL::to('role/'.$id.'/roleStore')}}" method="get" enctype="multipart/form-data">                    <div class="box-header with-border">                        <a href="{{URL::to('role/')}}" class="box-title">角色列表</a>                        <input type="hidden" name="_token" value="{{csrf_token()}}">                    </div>                    <div class="box-body">              <?php                            $a = array();                            $b=array();
                           
                          foreach($permissions as $value){
foreach($permissionRole as $v){ if($value['id'] == $v['permission_id'] && $id == $v['role_id']){
//找出角色的已拥有的权限
$a[] = $value['id'];
//利用正则 筛选出 还有 index 的权限                                     if(strpos($value['name'],'index') == false){                                         $str ="---- ----". '<input type="checkbox" name="permission_id[]" checked onclick="checkbox()" value='.$value['id'].'>'.$value['display_name']."<br>";                                     //把$str 按$value['id'] 放入 $b[] 有利于 排序  
$b[$value['id']] = $str;                                     }else{                                         $str = "<p style='color: gold; font-style: italic;font-size: larger'>" .'<input type="checkbox" name="permission_id[]"  checked onclick="checkbox()" value='.$value['id'].'>'.$value['display_name']."<br>"."</p>";                                         $b[$value['id']] = $str;                                     }                                  }                              }                          }
                          foreach($permissions as $val){
//排除已拥有的权限 即 未选的权限                               if(in_array($val['id'],$a)){                                  continue;
}                              else{                                  $a[] =  $val['id'];                                  if(strpos($val['name'],'index') == false){                                      $str = "  ---- ----".'<input type="checkbox" name="permission_id[]"  value='.$val['id'].'onclick="checkbox()">'.$val['display_name']."<br>";                                      $b[$val['id']] = $str;                                  }else{                                      $str = "<p style='color: gold ;font-style: italic;font-size: larger'>" .'<input type="checkbox" name="permission_id[]" onclick="checkbox()" value='.$val['id'].'>'.$val['display_name']."<br>"."</p>";                                      $b[$val['id']] = $str;                                  }                              }                          }
//按照键名对关联数组进行升序排序:                            ksort($b);                            foreach($b as $mm) {                                echo $mm;                            }                          ?>                    </div>                    <script>                      function checkbox(){                             var flag = 0;                            $("input[name='permission_id[]']:checkbox").each(function () {                                if ($(this).attr("checked")) {                                    flag += 1;                                }                            })                        }                    </script>                    <div class="box-footer">                        <button type="button" class="btn btn-default" onclick="javascript:history.back(-1);return false;">                            返回                        </button>                       <button type="submit" class="btn btn-danger pull-right">确 定</button>                    </div>                </form>            </div>        </div>    </div>@stop

0 0
原创粉丝点击