Вход Регистрация
Файл: src/app/Http/Controllers/UsersController.php
Строк: 225
<?php 
namespace AppHttpControllers;
use 
AppHttpControllersController;
use 
IlluminateSupportFacadesInput;
use 
Auth;
use 
Validator;
use 
Hash;
use 
AppModelsUsers;
use 
AppModelsSettings;
use 
IlluminateSupportStr;
use 
Mail;
class 
UsersController extends Controller{
    public function 
getLogin(){
        return 
view("users.login");
    }

    public function 
postLogin(){
            
$Inputs Input::only("Username","Password","RememberMe");
            
$Credidentals = array(
                    
"Username"=>$Inputs["Username"],
                    
"password"=>$Inputs["Password"]
            );
            
$RememberMe = (bool) $Inputs["RememberMe"];
            if (
Auth::attempt($Credidentals$RememberMe)) {
                return 
redirect()->route("get.dashboard");
            }
            return 
redirect()->route("get.login")->with("ErrorMessage",trans('messages.user_login_failure'));
    }
    public function 
getForgotPassword(){
        return 
view("users.forgot_password");
    }
    public function 
postForgotPassword(){
        
$Settings Settings::findOrFail(1);
        
$Inputs Input::only("Username");
        
$Validator Validator::make($Inputs,[
            
"Username" => "required|exists:Users,Username"
        
]);
        if (
$Validator->fails()) {
            return 
redirect()->route("get.forgot_password")->with("ErrorMessage",trans('messages.forgotpassword_login_failure'));
        }
        
$User Users::where("Username",$Inputs["Username"])->first();
        
Mail::send('emails.reminder', ['User' => $User], function ($Mail) use ($User) {
            
$Mail->from($Settings->Email,"Cup Invoice");
            
$Mail->to($User->Email$User->Name)->subject(trans('email.label_reset_subject'));
        });
        return 
redirect()->route("get.forgot_password")->with("SuccessMessage",trans('messages.forgotpassword_login_success'));
    }
    public function 
getResetPassword($ActivationToken,$Username){
        
$User Users::where("ActivationToken",$ActivationToken)->where("Username",$Username)->first();
        if (!
$User) {
            return 
redirect()->route('get.login');
        }
        return 
view("users.reset_password");    
    }
    public function 
postResetPassword($ActivationToken,$Username){
        
$Inputs Input::only("Password","PasswordConfirmation");
        
$Inputs["ActivationToken"] = $ActivationToken;
        
$Inputs["Username"] = $Username;
        
$Validator Validator::make($Inputs,[
            
"Username" => "required|exists:Users,Username",
            
"ActivationToken" => "required|exists:Users,ActivationToken",
            
"Password" => "required|min:5|max:10",
            
"PasswordConfirmation" => "required|min:5|max:10|same:Password"
        
]);
        if (
$Validator->fails()) {
            return 
redirect()->route("get.reset_password",[$ActivationToken,$Username])->withErrors($Validator)->with("ErrorMessage",trans('messages.resetpassword_login_failure'));
        }
        
$User Users::where("Username","=",$Username)->first();
        
$Payload = array(
            
"ActivationToken" => Str::random(60),
            
"Password" => Hash::make($Inputs['Password'])
        );
        
$User->update($Payload);
        return 
redirect()->route("get.login")->with("SuccessMessage",trans('messages.resetpassword_login_success'));
    }
    public function 
getLogout(){
        
Auth::logout();
        return 
redirect()->route("get.login")->with("SuccessMessage",trans('messages.user_logout_success'));
    }
    public function 
getUsers(){
        
$Users Users::orderBy("UserID","DESC")->paginate(10);
        return 
view("users.index",compact('Users'));
    }
    public function 
getAdd(){
        return 
view('users.add');
    }
    public function 
postAdd(){
        
$Inputs Input::only("Username","Email","Name","Surname","Password","Repassword");
        
$Validator Validator::make($Inputs,array(
            
"Username" => "required|min:3|max:45|alpha_num|unique:Users,Username",
            
"Password" => "min:5|max:45",
            
"Email" => "required|email|min:3|max:45|unique:Users,Email",
            
"Name" => "required|min:3|max:45",
            
"Surname" => "required|min:3|max:45"
        
));
        if (
$Validator->fails()) {
            return 
redirect()->route('users::add')->withInput()->withErrors($Validator)->with("ErrorMessage",trans('messages.users_create_failure'));
        }
        if (
$Inputs['Password']=="") {
            
$Inputs["Password"] = str_random(8);
        }
        
$PasswordVisible $Inputs["Password"];
        
$Inputs["Password"] = Hash::make($Inputs["Password"]);
        
Mail::send('emails.new_user', ['Password'=>$PasswordVisible,'User'=>$Inputs], function ($m) use ($Inputs) {
                
$Settings Settings::findOrFail(1);
                
$m->from($Settings->Email'Cup Invoice');
                
$m->to($Inputs["Email"], $Inputs["Name"].' '.$Inputs["Surname"])->subject('User Registration');
            });
        
Users::create($Inputs);
        return 
redirect()->route('users::list')->with("SuccessMessage",trans('messages.users_create_success'));
    }

    public function 
getUpdate($UserID){
        
$User Users::findOrFail($UserID);
        return 
view('users.edit',compact('User'));
    }
    public function 
postUpdate($UserID){
        
$Inputs Input::only("Username","Email","Name","Surname","Password","Repassword");
        
$Validator Validator::make($Inputs,array(
            
"Username" => "required|min:3|max:45|alpha_num|unique:Users,Username,".$Inputs["Username"].",Username",
            
"Password" => "min:5|max:45",
            
"Repassword" => "",
            
"Email" => "required|email|min:3|max:45|unique:Users,Email,".$Inputs["Email"].",Email",
            
"Name" => "required|min:3|max:45",
            
"Surname" => "required|min:3|max:45"
        
));
        if (
$Validator->fails()) {
            return 
redirect()->route('users::edit',$UserID)->withInput()->withErrors($Validator)->with("ErrorMessage",trans('messages.users_update_failure'));
        }
        
$User Users::findOrFail($UserID);
        
$User->update($Inputs);
        return 
redirect()->route('users::list')->with("SuccessMessage",trans('messages.users_update_success'));
    }
    public function 
getDelete($UserID){
        
$User Users::findOrFail($UserID);
        
$User->delete();
        return 
redirect()->route("users::list")->with("SuccessMessage",trans('messages.users_delete_success'));
    }
}
?>
Онлайн: 3
Реклама