コード例 #1
0
 public function delete($userType, $id, Request $req)
 {
     $temp = null;
     $profile = null;
     if ($userType == 'admin') {
         //$profile=  Founder::findOrFail($id)->toArray();
         //dd($profile);
         Admin::findOrFail($id)->delete();
     } elseif ($userType == 'founder') {
         //$profile=  Founder::findOrFail($id)->toArray();
         //dd($profile);
         Founder::findOrFail($id)->delete();
     } elseif ($userType = 'investor') {
         //$profile=  Investor::findOrFail($id)->toArray();
         //dd($profile);
         Investor::findOrFail($id)->delete();
     } elseif ($userType = 'campaign') {
         //$profile=  Investor::findOrFail($id)->toArray();
         //dd($profile);
         Campaign::findOrFail($id)->delete();
     }
     flash()->success($userType . ' Deleted');
     $users = User::all();
     return view('admin.home', compact('users'));
 }
コード例 #2
0
ファイル: PowerCheck.php プロジェクト: smartgirl001/Test
 /**
  * 检查权限
  */
 public function power_check()
 {
     /**
      * var_dump(request()->method());
      *      string 'GET' (length=3)
      * var_dump(Route::currentRouteAction());
      *      string 'App\Http\Controllers\Admin\GroupController@get_list' (length=51)
      */
     // route
     $route = Route::currentRouteAction();
     $temp_r = explode('@', $route);
     $temp_ctl = explode('\\', $temp_r[0]);
     // controller acction method
     $controller = end($temp_ctl);
     // controller
     $action = end($temp_r);
     // action
     $method = request()->method();
     // method
     // delete temp var
     unset($temp_r);
     unset($temp_ctl);
     $oAdmin = Admin::findOrFail(session('admin_id'));
     $oGroups = AdminGroup::whereIn('id', json_decode($oAdmin->groups))->get();
     $oPowers = Power::where('controller', $controller)->where('action', $action)->get();
     $aPowers = array_column($oPowers->toArray(), 'method', 'id');
     /**
      * 选出继续操作需要的权限ID
      */
     $iNeedPower = null;
     // id
     foreach ($aPowers as $key => $value) {
         if ($value === $method || $value === '') {
             $iNeedPower = $key;
             break;
         }
     }
     if ($iNeedPower === null) {
         // 没有此权限记录
         return False;
     }
     /**
      * 检查用户所属的组中有没有拥有这种权限的组
      */
     $flag = False;
     foreach ($oGroups as $oGroup) {
         $powers = json_decode($oGroup->power);
         $powers = empty($powers) ? array() : $powers;
         if (in_array($iNeedPower, $powers)) {
             $flag = True;
             break;
         }
     }
     return $flag;
 }
コード例 #3
0
ファイル: AdminController.php プロジェクト: kshar1989/dianpou
 public function update(Request $request, $id)
 {
     $admin = Admin::findOrFail($id);
     $admin->fill(array_except($request->json()->all(), 'roles'));
     $admin->save();
     if ($roles = array_filter($request->json()->get('roles'))) {
         $admin->roles()->detach();
         if (!empty($roles)) {
             $admin->roles()->attach($roles);
         }
     }
     return response()->updated($admin);
 }
コード例 #4
0
 public function siteUpdate(SiteRequest $request, $id)
 {
     DB::beginTransaction();
     try {
         $inputs = $request->all();
         $admin = Admin::findOrFail($id);
         $oldImageAdmin = "";
         $oldImageLogo = "";
         $dest_path = public_path() . config('model.admin.path_folder_photo_website');
         if ($request->hasFile('image_admin')) {
             $inputs['image_admin'] = $this->__storeImage($request->file('image_admin'));
             $oldImageAdmin = $dest_path . $admin->image_admin;
         }
         if ($request->hasFile('logo_site')) {
             $inputs['logo_site'] = $this->__storeImage($request->file('logo_site'));
             $oldImageLogo = $dest_path . $admin->logo_site;
         }
         $admin->fill($inputs);
         $admin->save();
         if (File::exists($oldImageLogo)) {
             File::delete($oldImageLogo);
         }
         if (File::exists($oldImageAdmin)) {
             File::delete($oldImageAdmin);
         }
     } catch (Exception $e) {
         $message = "Cập nhật thông tin lỗi";
         $alertClass = "alert-danger";
         DB::rollback();
         return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
     }
     DB::commit();
     $message = "Cập nhật thông tin thành công.";
     $alertClass = "alert-success";
     return redirect(route('admin.site.index'))->with(compact('message', 'alertClass'));
 }
コード例 #5
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $data = $request->all();
     $validator = Validator::make($data, ['name' => 'max:255', 'email' => 'max:255|email', 'password' => 'min:6']);
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     if (!empty($data['password'])) {
         $data['password'] = bcrypt($data['password']);
     } else {
         unset($data['password']);
     }
     $user = Admin::findOrFail($id);
     $user->update($data);
     $roles = $data['roles'];
     if (empty($roles)) {
         $roles = array();
     }
     $user->roles()->sync($roles);
     $msg = array('msg' => '已成功更新');
     return json_encode($msg);
 }
コード例 #6
0
ファイル: AdminController.php プロジェクト: smartgirl001/Test
 /**
  * 修改管理员信息
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit(Request $request, $id)
 {
     //
     $oAdmin = Admin::findOrFail($id);
     $aGroups = Admin::get_groups($id);
     // get method
     if ($request->isMethod('get')) {
         $oAllGroup = Group::all();
         return view('admin.manager.edit', ['admin' => $oAdmin, 'belongs' => $aGroups, 'all_groups' => $oAllGroup]);
     }
     // post method
     // inputs
     $username = trim($request->input('username'));
     $password = trim($request->input('password'));
     $email = $request->input('email');
     $groups = $request->input('groups');
     $groups = empty($groups) ? array() : array_filter(array_unique($groups));
     $oCurrentAdmin = Admin::findOrFail(session('admin_id'));
     $aCurrentGroups = Admin::get_groups(session('admin_id'));
     if (in_array(1, $aGroups) && !in_array(1, $aCurrentGroups)) {
         // 用户拥有超级管理员权限,而自己没有
         session()->flash('msg_error', '修改失败:对方属于超级管理员组');
         return back();
     }
     if (Admin::is_last_superadmin($id) && !in_array(1, $groups)) {
         // 用户已经是最后一个超级管理员时无法移除
         array_unshift($groups, 1);
         session()->flash('msg_error', '已经是最后一个超级管理员,无法从超级管理员组中移除');
         return back();
     }
     //
     $validate = $this->edit_validator(['username' => $username, 'password' => $password, 'email' => $email]);
     if ($validate->fails()) {
         session()->flash('msg_error', '输入格式不正确');
         return back();
     }
     if ($oAdmin->username != $username && Admin::exists_username($username)) {
         session()->flash('msg_error', '此用户名已存在');
         return back();
     }
     /**
      * 处理修改用户所属的组
      */
     $aAllGroups = Group::select(['id'])->get()->toArray();
     $aAllGroups = array_column($aAllGroups, 'id');
     $temp_length = count($groups);
     for ($i = 0; $i < $temp_length; $i++) {
         $groups[$i] = intval($groups[$i]);
         if (!in_array($groups[$i], $aAllGroups)) {
             // 数据库中不存在该组
             unset($groups[$i]);
             continue;
         }
         if (!(in_array(1, $aCurrentGroups) || in_array($groups[$i], $aCurrentGroups))) {
             // 无法给予自己也没有的权限组,除非自己属于超级管理员组
             unset($groups[$i]);
             session()->flash('msg_error', '抱歉,部分组添加失败.首先你要是该组组员');
             continue;
         }
     }
     $oAdmin->username = $username;
     $oAdmin->email = $email;
     if ($password) {
         $oAdmin->password = password_encrypt($password);
     }
     $oAdmin->save();
     Admin::update_groups($groups, $id);
     session()->flash('msg_success', '修改成功');
     return back();
 }