Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/isranhadikaltim.id/app/Imports/
Upload File :
Current File : /home/aplikasiposinfo/public_html/isranhadikaltim.id/app/Imports/DataPenggunaImport.php

<?php

namespace App\Imports;

use App\Models\Kabupaten;
use App\Models\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Illuminate\Support\Facades\Auth;
use App\Models\UserLog;
// use Session;
use Exception;
use Illuminate\Support\Facades\Session;

class DataPenggunaImport implements ToModel
{

	public function transformDate($value, $format = 'Y-m-d')
	{
	    try {
	        return \Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value))->format($format);
	    } catch (\ErrorException $e) {
	        return date($format,strtotime($value));
	    }
	}
    /**
    * @param array $row
    *
    * @return \Illuminate\Database\Eloquent\Model|null
    */
    public function model(array $row)
    {
        $user = Auth::user();
        if(isset($row[0]) && strlen($row[0]) > 0 && isset($row[1]) && strlen($row[1]) > 0 && isset($row[2]) && strlen($row[2]) > 0 && isset($row[3]) && strlen($row[3]) > 0 && isset($row[4]) && strlen($row[4]) > 0){
            $pengguna = User::where('email', 'like','%'.$row[1].'%')->first();
            if($pengguna) {
                $s = Session::get('alert_import',[]);
                $s[] = 'data user dari excel dengan name '.$row[0].' tidak bisa di input karena data dengan email tersebut sudah ada / pernah diinput';
                Session::put('alert_import', $s);
            } else {
                if($row[3] == "User Super Admin") {
                    $role = 1;
                } else if($row[3] == "User Admin") {
                    $role = 2;
                } else if($row[3] == "User Operator") {
                    $role = 0;
                }
                // $role =  ==  "User Admin" ? 2 : 0;
                // dd($role);
                if($role == 0) {
                    $kabupaten = Kabupaten::where('nama_kabupaten', 'like','%'.$row[4].'%')->first();
                    // dd($kabupaten->id);
                    if(isset($kabupaten)) {
                        // dd("YES");
                        $data = [
                            'name'=>$row[0],
                            'email'=>$row[1],
                            'no_telepon'=>$row[2],
                            'role'=> $role,
                            'kabupaten_id' => $kabupaten->id,
                            'password'=> password_hash($row[5],PASSWORD_DEFAULT) ,
                            'api_token'=>str_random(100),
                        ];

                        $msg = 'Berhasil menambah data User dari excel';
                        UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);

                        return new User($data);
                    } else {
                        $s = Session::get('alert_import',[]);
                        $s[] = 'data user dari excel dengan name '.$row[0].' tidak bisa di input karena data kabupaten tidak tersedia';
                        Session::put('alert_import', $s);
                    }
                } else {
                    $data = [
                        'name'=>$row[0],
                        'email'=>$row[1],
                        'no_telepon'=>$row[2],
                        'role'=> $role,
                        'kabupaten_id' => null,
                        'password'=> password_hash($row[4],PASSWORD_DEFAULT) ,
                        'api_token'=>str_random(100),
                    ];

                    $msg = 'Berhasil menambah data User dari excel';
                    UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);

                    return new User($data);
                }
            }
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]