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')); }
/** * 检查权限 */ 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; }
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); }
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')); }
/** * 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); }
/** * 修改管理员信息 * * @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(); }