Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Str;
- use Mail;
- use App\Mail\verifyEmail;
- //imageuplod
- use Illuminate\Support\Facades\File;
- use Illuminate\Support\Facades\URL;
- use Illuminate\Support\Facades\Input;
- use Illuminate\Support\Facades\DB;
- //email
- class UserController extends Controller
- {
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- $users = User::all();
- //Load all users on the table and pass the users
- $users = User::where(['archive'=>1])
- ->whereIN('roles', [1,2,3])
- ->orderBy('id')
- ->get();
- return view('usercrud.index')->with('users', $users);
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create(Request $request)
- {
- //
- $usersC = new User;
- $url = '';
- $usersC->position = $request->companyPos;
- $usersC->empid = $request->employeeid;
- $usersC->name = $request->fullname;
- $usersC->email = $request->email;
- $usersC->password = bcrypt($request->password);
- $usersC->roles = $request->role_id;
- //token email
- $token= str_random(25);
- $usersC->verifyToken=$token;
- //image uplod
- if(Input::hasFile('images')){
- $file = Input::file('images');
- $file->move(public_path(). '/uploads/', $file->getClientOriginalName());
- $url = '/uploads/'. $file->getClientOriginalName();
- }
- $usersC-> image = $url;
- $usersC -> save();
- Mail::send('mail.confirmation', $token, function($message) use($token){
- $message->to([$email'=>$request->email])->subject('Registration Confirmation');
- });
- $users = User::all();
- $users = User::where(['archive'=>1])->orderBy('id')->first();
- //email verification
- // $thisUser = User::findOrFail($users->id);
- // $this->sendEmail($thisUser);
- //$users = User::where(['archive'=>1])->orderBy('id')->get();
- return redirect()->to('userIndex')->with('users','message', $users, 'confirmation is email was sent');
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function store(Request $request)
- {
- //
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function show($id)
- {
- //
- }
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function edit($id)
- {
- //
- $users = User::where(['id'=>$id])->first();
- // dd($users);
- return view('usercrud.edit',compact('users'));
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, $id)
- {
- //
- $usersUp = new User;
- $url = '';
- $password = bcrypt($request->editpassword);
- if(Input::hasFile('images')){
- $file = Input::file('images');
- $file->move(public_path(). '/uploads/', $file->getClientOriginalName());
- $url = '/uploads/'. $file->getClientOriginalName();
- }
- // dd($request->editcompanyPos);
- $usersUp = User::where('id',$id)
- ->update(['position'=>$request->editcompanyPos,'empid'=>$request->editemployeeid, 'name'=>$request->editfullname,'email'=>$request->editemail,'password'=>$password,'roles'=>$request->editrole_id, 'image'=>$url]);
- $users = User::all();
- $users = User::where(['archive'=>1])->orderBy('id')->get();
- return redirect()->to('userIndex')->with('users', $users);
- }
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function destroy($id)
- {
- $userDel = User::where('id',$id)->update(['archive'=>0]);
- $users = User::all();
- $users = User::where(['archive'=>1])->orderBy('id')->get();
- return redirect()->to('userIndex')->with('users', $users);
- }
- public function verifyEmailFirst(Request $request)
- {
- //
- return view('usercrud.verifyEmailFirst');
- }
- public function sendEmail($thisUser)
- {
- Mail::to($thisUser['email'])->send(new verifyEmail($thisUser));
- }
- public function sendEmailDone($email, $verifyToken)
- {
- $user = User::where(['email'=>$email, 'verifyToken'=>$verifyToken])->first();
- //return $user;
- if ($user){
- return user::where(['email'=>$email, 'verifyToken'=>$verifyToken])->update(['status'=>'1','verifyToken'=>NULL]);
- }else{
- return 'user not found';
- }
- }
- public function enableview()
- {
- $users = User::all();
- //Load all users on the table and pass the users
- $users = User::where(['archive'=>0])->orderBy('id')->get();
- return view('usercrud.enable')->with('users', $users);
- }
- public function enable($id)
- {
- $userEnable = User::where('id',$id)->update(['archive'=>1]);
- $users = User::all();
- $users = User::where(['archive'=>0])->orderBy('id')->get();
- return redirect()->to('userEnableView')->with('users', $users);
- }
- //email
- protected function register(Request $request){
- $input = $request->all();
- $validator = $this->validator($input);
- if ($validator->passes()){
- $data = $this->create($input)->toArray();
- $data['token'] = str_random(25);
- $user= User::find($data['id']);
- $user->token=$data['token'];
- $user->save();
- Mail::send('mail.confirmation', $data, function($message) use($data){
- $message->to($data['email']);
- $message->subject('Registration Confirmation');
- });
- return redirect(route('login'))->with('status','confirmation email has been sent');
- }
- return redirect(route('login'))->with('status', $validator->errors());
- }
- public function confirmation($token, $email){
- $user = User::where('token', $token)->first();
- if(!is_null($user)){
- $user->confirmed = 1;
- $user->token="";
- $user->save();
- return redirect(route('login'))->with('status','your activation is completed');
- }
- return redirect(route(login))->with('status','something went wrong');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement