HEX
Server: Apache/2.4.57 (Unix) OpenSSL/1.1.1k
System: Linux server.eshhar.net 4.18.0-553.89.1.el8_10.x86_64 #1 SMP Mon Dec 8 03:53:08 EST 2025 x86_64
User: xdas (1048)
PHP: 7.4.33
Disabled: mail,sendmail
Upload Files
File: /home/xdas/public_html/oldsite/app/Http/Controllers/Admin/RoleController.php
<?php

namespace App\Http\Controllers\Admin;

use App\Permission;
use App\Role;
use App\RolePermission;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class RoleController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
            $all_role = Role::all();
            return view('Admin.role.index')->with('all_roles', $all_role);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create(Request $request)
    {
        
            $permissions = Permission::all();
            return view('Admin.role.create', compact('permissions'));
       
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //dd($request->lang);
        $this->validate($request, [
            'name' => 'required|unique:roles,name',
            'display_name' => 'required',
            'description' => 'required',
            'permission' => 'required',
        ]);
        $role = new Role();
        $role->name = $request->input('name');
        $role->display_name = $request->input('display_name');
        $role->description = $request->input('description');
        $role->save();
       $role ->permision()->sync($request->input('permission'));
        // foreach ($request->input('permission') as $key => $value) {
        //     $role->attachPermission(array($value));

        // }
        // dd($value ,$role->id);
        // 
        return redirect()->route('Roles.index')
            ->with('success','Role created successfully');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show(Request $request,$id)
    {
    //     $roles= Role::find($request->role);
    //     $permissionrole=Permission::join('permission_role','permission_role.permission_id','permissions.id')
    //         ->where('permission_role.role_id',$roles->id)->get();
    //    // dd($permissionrole);
    //     return view('Admin.role.show')->with('roles',$roles)->with('permissionrole',$permissionrole);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
     
            $permissions = Permission::all();
            $role=Role::find($id);
            return view('Admin.role.edit', compact('permissions','role'));
  
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
         
        $role =Role::find($id);
        $role->name = $request->input('name');
        $role->display_name = $request->input('display_name');
        $role->description = $request->input('description');
        $role->save();
        if($request->input('permission')){
        //     $delete_old_permation=RolePermission::where('role_id',$request->role)->delete();
        // foreach ($request->input('permission') as $key => $value) {
        //     $role->attachPermission($value);
        // }
          $role ->permision()->sync($request->input('permission'));
        
        }
        return redirect()->route('Roles.index')
            ->with('success','Role Updated successfully');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        Role::find($id)->delete();
        return redirect()->route('Roles.index')->with('delete','User deleted successfully');
    }
}