Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /* */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$O..

Decoded Output download


namespace App\Http\Controllers;
use App\Imports\importusers;
use App\Jobs\Proseslogweb;
use App\Notifwa;
use App\Security;
use App\User;
use Auth;
use Carbon\Carbon;
use DataTables;
use DB;
use File;
use Hash;
use hisorange\BrowserDetect\Parser;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Image;
use Maatwebsite\Excel\Facades\Excel;
use Session;
use Storage;
class listuserController extends Controller
{
public function index()
{
$jabatan = DB::table('jabatan')->get();
if ('Admin'== Auth::user()->role) {
$depart = DB::table('depart')->orderby('nama','ASC')->get();
}else {
$depart = DB::table('depart')->where('nama','<>','SEMUA DEPARTEMEN')->orderby('nama','ASC')->get();
}
return view('admin/listuser',compact('jabatan','depart'));
}
public function loaduser()
{
if ('Admin'== Auth::user()->role) {
$data = User::with('notifwa')->where('id','<>',Auth::user()->id)
->orderBy('name','ASC')
->orderBy('role','ASC')
->orderBy('id','DESC')
->where('email','<>','[email protected]')
;
}
if ('Staff'== Auth::user()->role and 'SEMUA DEPARTEMEN'== Auth::user()->depart) {
$data = User::with('notifwa')->where('id','<>',Auth::user()->id)
->orderBy('name','ASC')
->where('role','<>','Admin')
->where('role','<>','Staff')
;
}
if ('Staff'== Auth::user()->role and 'SEMUA DEPARTEMEN'!== Auth::user()->depart) {
$data = User::with('notifwa')->where('id','<>',Auth::user()->id)
->orderBy('name','ASC')
->where('role','<>','Admin')
->where('role','<>','Staff')
;
}
return Datatables::of($data)
->editColumn('role',function ($data) {
if ('Admin'== $data->role) {
$role = '<b> <span class="badge bg-pink">'.$data->role.'</span></b>';
}
if ('Staff'== $data->role) {
$role = '<b> <span class="badge bg-secondary">'.$data->role.'</span></b>';
}
if ('Pegawai'== $data->role) {
$role = $data->role;
}
return $role;
})
->addColumn('aksi',function ($data) {
$offidcard = DB::table('security')->where('tele','on')->count();
$idcard = '';
if ($offidcard >0) {
$idcard = "<button class='far fa-address-card btn btn-primary btn-sm mt-1 ml-1' data-toggle='modal' data-target='#idcard'
           data-txtid='{$data->id}'
           </button>";
}
$resetpass = "<a href='/resetpass/{$data->id}' class='btn btn-light btn-sm mt-1 ml-1'><i aria-hidden='true' class='fas fa-sync-alt'></i></a>";
if ('blokir'== $data->status) {
$blokir = "<a href='/bukablokir/{$data->id}' class='btn btn-danger btn-sm mt-1 ml-1'><i aria-hidden='true' class='fa fa-lock'></i></a>";
}
if ('blokir'!== $data->status) {
$blokir = "<a href='/blokir/{$data->id}' class='btn btn-secondary btn-sm mt-1 ml-1'><i aria-hidden='true' class='fa fa-lock'></i></a>";
}
return "
    <button class='btn btn-dark btn-sm mt-1 ml-1' data-toggle='modal' data-target='#info'
            data-txtid='{$data->id}'><i class='fas fa-info-circle'></i>
           </button>

    <button class='far fa-trash-alt btn btn-danger btn-sm mt-1 ml-1' data-toggle='modal' data-target='#hapus'
            data-txtid='{$data->id}'
            data-txtemail='{$data->email}'
            >
           </button>
   
    <button class='far fa2x fa-edit btn btn-success btn-sm mt-1 ml-1' data-toggle='modal' data-target='#update'
           data-txtid='{$data->id}'
           data-txtnama='{$data->name}'
           data-txtemail='{$data->email}'
           data-txtrole='{$data->role}'
           data-jabatan='{$data->jabatan}'
           data-depart='{$data->depart}'
           data-country_name='{$data->nip}'>
          </button>
  
    {$blokir}
   
    {$resetpass}

    {$idcard} 

     


    ";
})
->rawColumns(['role','aksi'])
->addIndexColumn()
->make(true)
;
}
public function hapus(Request $request)
{
DB::beginTransaction();
try {
$hapusUser = DB::table('users')->where('id',$request->txtid)->delete();
$hapusizin = DB::table('izin')->where('user_id',$request->txtid)->delete();
$hapusnotfwa = DB::table('notifwa')->where('user_id',$request->txtid)->delete();
$hapuskegiatan = DB::table('kegiatan')->where('user_id',$request->txtid)->delete();
$hapuslembur = DB::table('lembur')->where('user_id',$request->txtid)->delete();
$dinas = DB::table('dinasluar')->where('user_id',$request->txtid)->delete();
$facerecog = DB::table('facerecog')->where('user_id',$request->txtid)->delete();
$surat = DB::table('surat')->where('user_id',$request->txtid)->delete();
DB::commit();
$namauser = Auth::user()->name;
$text = '[HAPUS] '.$namauser.' Mengahpus user '.$request->txtemail;
Proseslogweb::dispatch($text,$namauser);
return redirect('admin/admin_list_user')->with('SuksesHapus',$request->txtemail.'Berhasil di hapus');
}catch (Exception $e) {
DB::rollback();
return redirect('admin/admin_list_user')->with('gagalHapus','Gagal di hapus');
}
}
public function update(Request $request)
{
if (''== $request->jabatan or 'pilih'== $request->jabatan or ''== $request->depart or 'pilih'== $request->depart) {
return back()->with('gagalHapus','Jabatan dan Departemen harus di pilih terlebih dahulu');
}
if ('Admin'!== Auth::user()->role and 'Admin'== $request->txtstatus) {
return back()->with('gagalHapus','Anda tidak di izinkan merubah role menjadi Admin');
}
$cari1 = DB::table('users')
->where('id','<>',$request->txtid)->where('email',$request->txtemail)->count();
$cari2 = DB::table('users')->where('nip',$request->nip)
->where('id','<>',$request->txtid)->count();
if ($cari1 <1 and $cari2 <1) {
if (Session::get('id') == $request->txtid) {
$request->session()->forget(['nama','email',' id','role']);
Session::put('nama',$request->txtnama);
Session::put('email',$request->txtemail);
Session::put('id',$request->txtid);
Session::put('role',$request->txtstatus);
$update = DB::table('users')->where('id',$request->txtid)->update([
'name'=>$request->txtnama,
'email'=>$request->txtemail,
'nip'=>$request->nip,
'role'=>$request->txtstatus,
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[UPDATE] '.$namauser.' Mengupdate user ID '.$request->txtid.' | '.$request->txtnama.' | '.$request->txtemail.' | '.$request->txtnip.' | '.$request->txtstatus;
Proseslogweb::dispatch($text,$namauser);
return redirect('admin/admin_list_user')->with('SuksesUpdate','  '.$request->txtemail.'\n Sukses di update');
}
return redirect('admin/admin_list_user')->with('gagalUpdate','Gagal diupdate');
}
$update = DB::table('users')->where('id',$request->txtid)->update([
'name'=>$request->txtnama,
'email'=>$request->txtemail,
'role'=>$request->txtstatus,
'nip'=>$request->nip,
'jabatan'=>$request->jabatan,
'depart'=>$request->depart,
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[UPDATE] '.$namauser.' Mengupdate user ID '.$request->txtid.' | '.$request->txtnama.' | '.$request->txtemail.' | '.$request->txtnip.' | '.$request->txtstatus;
Proseslogweb::dispatch($text,$namauser);
return redirect('admin/admin_list_user')->with('SuksesUpdate','  '.$request->txtemail.'\n Sukses di update');
}
return redirect('admin/admin_list_user')->with('gagalUpdate','Gagal diupdate');
}
if ($cari1 >0) {
return redirect('admin/admin_list_user')->with('gagalUpdate','Gagal diupdate  EMAIL sudah ada yang menggunakan');
}
if ($cari2 >0) {
return redirect('admin/admin_list_user')->with('gagalUpdate','Gagal diupdate  NIP sudah ada yang menggunakan');
}
}
public function tampiltambah()
{
$maxuser = Security::first();
$cont = User::where('role','Pegawai')->count();
if ($maxuser->maxuser <= $cont) {
return redirect('home')->with('gagal','Anda sudah melebihi batas penggunaan jumlah pegawai, Silahkan upgrade paket di hubungi CS');
}
$departemen = DB::table('depart')->get();
$jabatan = DB::table('jabatan')->get();
return view('admin/tambah_user',compact('departemen','jabatan'));
}
public function posttambah(Request $request)
{
$cari = User::where('email',$request->email)->count();
if ($cari <1) {
DB::beginTransaction();
try {
$saveuser = User::create([
'name'=>$request['name'],
'email'=>$request['email'],
'role'=>$request['role'],
'nip'=>'',
'foto'=>'user.png',
'device'=>'-',
'face'=>'-',
'status'=>'-',
'qrcode'=>Str::random(20),
'jabatan'=>$request->jabatan,
'depart'=>$request->depart,
'password'=>Hash::make($request['password']),
]);
if ('SEMUA DEPARTEMEN'== $request->depart and 'Pegawai'== $request->role) {
return back()->with('Gagal','Gagal menambahkan, DEPT. SEMUA DEPARTEMAN tidak boleh digunakan oleh role Pegawai');
}
$notifwa = DB::table('notifwa')->insert([
'user_id'=>$saveuser->id,
]);
$path = 'storage/public/absensi/'.$saveuser->id;
if (!is_dir($path)) {
mkdir($path);
}
$user = Storage::copy('public/user.png','public/absensi/'.$saveuser->id.'/'.'user.png');
$alpa = Storage::copy('public/alpa.png','public/absensi/'.$saveuser->id.'/'.'alpa.png');
$cekidcard = DB::table('idcard')->orderBy('id','DESC')->first();
$output = storage_path("app/public/public/absensi/{$saveuser->id}/{$saveuser->qrcode}.png");
$input = storage_path('app/public/public/idcard/back.png');
$gambar = imagecreatefrompng($input);
$black = imagecolorallocate($gambar,0,0,0);
$white = imagecolorallocate($gambar,255,255,255);
$font_size = $cekidcard->sizenama ??30;
$rotasi = $cekidcard->rotasi ??0;
$x_text = $cekidcard->x ??89;
$y_text = $cekidcard->y ??190;
$font_type = storage_path('app/public/public/font/Montserrat-Light.ttf');
$text_input = $saveuser->name;
$text_input2 = $saveuser->jabatan;
$text_input3 = $saveuser->email;
$y_text2 = $cekidcard->y2 ??228;
$font_size2 = $cekidcard->sizejabatan ??20;
$text1 = imagettftext($gambar,$font_size,$rotasi,$x_text,$y_text,$white,$font_type,$text_input);
$text2 = imagettftext($gambar,$font_size2,$rotasi,$x_text,$y_text2,$white,$font_type,$text_input2);
imagepng($gambar,$output);
$text_input3 = \QrCode::format('png')
->size(200)
->backgroundColor(255,255,255)
->generate($saveuser->qrcode,storage_path("app/public/public/absensi/{$saveuser->id}/qrcode.png"))
;
$image = imagecreatefrompng($output);
$frame = imagecreatefrompng(storage_path("app/public/public/absensi/{$saveuser->id}/qrcode.png"));
$qrx = $cekidcard->qrx ??810;
$qry = $cekidcard->qry ??260;
$qrw = $cekidcard->qrw ??200;
$qrh = $cekidcard->qrh ??200;
imagecopymerge($image,$frame,$qrx,$qry,0,0,$qrw,$qrh,100);
imagepng($image,storage_path("app/public/public/absensi/{$saveuser->id}/idcard.png"));
unlink($output);
unlink("storage/public/absensi/{$saveuser->id}/qrcode.png");
DB::commit();
}catch (Exception $e) {
DB::rollback();
}
if ($user) {
$namauser = Auth::user()->name;
$text = '[TAMBAH] '.$namauser.' Menambahkan user '.$request->name.' | '.$request->email.' dengan role '.$request->role;
Proseslogweb::dispatch($text,$namauser);
return redirect('admin/admin_add_user')->with('Sukses','  '.'Sukses di tambahkan');
}
return back()->with('Gagal','Gagal menambahkan');
}
return back()->with('Gagal','Gagal email sudah terdaftar');
}
public function simpandevice(Request $request)
{
$browser = new Parser(null,null,[
'cache'=>[
'interval'=>86400,
],
]);
$os = '';
$mobile = '';
$br = '';
$browserFamily = $browser->browserFamily();
$browserVersion = $browser->browserVersion();
$browserVersionMajor = $browser->browserVersionMajor();
$browserVersionMinor = $browser->browserVersionMinor();
$browserVersionPatch = $browser->browserVersionPatch();
$platformName = $browser->platformName();
$platformFamily = $browser->platformFamily();
$platformVersionMajor = $browser->platformVersionMajor();
$platformVersionMinor = $browser->platformVersionMinor();
$platformVersionPatch = $browser->platformVersionPatch();
$deviceFamily = $browser->deviceFamily();
$deviceModel = $browser->deviceModel();
$mobileGrade = $browser->mobileGrade();
if ($browser->isMac()) {
$os = 'ios';
}
if ($browser->isAndroid()) {
$os = 'Android';
}
if ($browser->isWindows()) {
$os = 'Windows';
}
if ($browser->isLinux()) {
$os = 'Linux';
}
if ($browser->isMobile()) {
$mobile = 'Mobile';
}
if ($browser->isTablet()) {
$mobile = 'Tablet';
}
if ($browser->isDesktop()) {
$mobile = 'Dekstop';
}
if ($browser->isBot()) {
$mobile = 'Bot';
}
if ($browser->isChrome()) {
$br = 'Google Chrome';
}
if ($browser->isFirefox()) {
$br = 'Firefox';
}
if ($browser->isOpera()) {
$br = 'Opera';
}
if ($browser->isSafari()) {
$br = 'Safari';
}
if ($browser->isEdge()) {
$br = 'Edge';
}
if ($browser->isIE()) {
$br = 'Internet Explore';
}
$useragent = $browser->userAgent();
$browsername = $browser->browserName();
$browserengine = $browser->browserEngine();
$platformversion = $browser->platformVersion();
$device = 'User Agent : '.$useragent.' | Nama Browser : '.$browsername.' | OS : '.$os.' | Engine : '.$browserengine.' | platformVersion : '.$platformversion.' | Type : '.$mobile.' | Browser : '.$br.' | Browser Fmly : '.$browserFamily.' | Browser Version : '.$browserVersion.' | Major : '.$browserVersionMajor.' | Minor : '.$browserVersionMinor.' | Versi Patch  : '.$browserVersionPatch.' | Platform : '.$platformName.' | Platform fmly : '.$platformFamily.' | Version Major : '.$platformVersionMajor.' | Platform Minor : '.$platformVersionMinor.' | Platform Patch : '.$platformVersionPatch.' | Device : '.$deviceFamily.' | Model : '.$deviceModel.' | Grade : '.$mobileGrade;
$id = $request->id;
$update = DB::table('users')->where('id',Auth::user()->id)->update([
'device'=>$device,
]);
if ($update) {
return redirect('absen');
}
}
public function hapusfotouser(Request $request)
{
$id = $request->txtid;
$cr = User::findOrFail($id);
$update = DB::table('users')->where('id',$id)->update([
'face'=>'-',
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[HAPUS] '.$namauser.' Menghapus  wajah '.$cr->name.'| Email '.$cr->email.' dari database';
Proseslogweb::dispatch($text,$namauser);
return back()->with('sukses','foto berhasil di hapus');
}
return back()->with('gagal','foto gagal di hapus');
}
public function hapusallfoto(Request $request)
{
$all = $request->allhapus;
if ('allhapus'== $all) {
$update = DB::table('users')->update([
'face'=>'-',
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[HAPUS] '.$namauser.' Menghapus  semua wajah dari database';
Proseslogweb::dispatch($text,$namauser);
return back()->with('sukses','Semua foto berhasil di hapus');
}
return back()->with('gagal','Semua foto gagal di hapus');
}
}
public function bukablokir($id)
{
$cr = DB::table('users')->where('id',$id)->first();
$update = DB::table('users')->where('id',$id)->update([
'status'=>'-',
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[ALL] '.$namauser.' Membuka blokir user ID '.$cr->id.' | '.$cr->name.' | '.$cr->email.' | '.$cr->role;
Proseslogweb::dispatch($text,$namauser);
return back()->with('SuksesUpdate','Blokir Berhasil di buka');
}
return back()->with('gagalUpdate','Blokir gagal di buka');
}
public function blokir($id)
{
$cr = DB::table('users')->where('id',$id)->first();
$update = DB::table('users')->where('id',$id)->update([
'status'=>'blokir',
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[ALL] '.$namauser.' Memblokir user ID '.$cr->id.' | '.$cr->name.' | '.$cr->email.' | '.$cr->role;
Proseslogweb::dispatch($text,$namauser);
return back()->with('SuksesUpdate','Blokir Berhasil');
}
return back()->with('gagalUpdate','Blokir Gagal');
}
public function resetpass(Request $request)
{
$cr = DB::table('users')->where('id',$request->id)->first();
$update = DB::table('users')->where('id',$request->id)->update([
'password'=>Hash::make('123456'),
]);
if ($update) {
$namauser = Auth::user()->name;
$text = '[ALL] '.$namauser.' Melakukan reset password user ID '.$cr->id.' | '.$cr->name.' | '.$cr->email.' | '.$cr->role;
Proseslogweb::dispatch($text,$namauser);
return back()->with('SuksesUpdate','Berhasil reset, Password baru adalah 123456');
}
}
public function postcekid(Request $request)
{
$idcard = $request->txtidcard;
$data = User::where('id',$idcard)->first();
$cekfoto = file_exists("storage/public/absensi/{$data->id}/idcard.png");
$fotoidcard = "<img src='/storage/public/absensi/{$data->id}/idcard.png' class='img-fluid' alt='No Image' />";
$fotoidcarddepan = "<img src='/storage/public/idcard/front.png' class='img-fluid' alt='No Image' />";
$none = "<span class='text-danger'>ID Card tidak tersedia</span> <a href='/buatidcard/{$data->id}/{$data->qrcode}'>Buat ID CARD</a>";
$linkfront = "<a href='/storage/public/idcard/front.png' download>Download</a>";
$linkback = "<a href='/storage/public/absensi/{$data->id}/idcard.png' download>Download</a>";
if ('true'== $cekfoto) {
return response()->json(
[
'sukses'=>'sukses',
'pesan'=>$fotoidcard,
'front'=>$fotoidcarddepan,
'link1'=>$linkfront,
'link2'=>$linkback,
]
);
}
return response()->json(
[
'sukses'=>'sukses',
'pesan'=>$none,
]
);
}
public function buatidcard($id,$qrcode)
{
$cari = User::where('qrcode',$qrcode)->where('id',$id)->first();
$cekidcard = DB::table('idcard')->orderBy('id','DESC')->first();
$output = storage_path("app/public/public/absensi/{$cari->id}/{$cari->qrcode}.png");
$input = storage_path('app/public/public/idcard/back.png');
$gambar = imagecreatefrompng($input);
$black = imagecolorallocate($gambar,0,0,0);
$white = imagecolorallocate($gambar,255,255,255);
$font_size = $cekidcard->sizenama ??30;
$rotasi = $cekidcard->rotasi ??0;
$x_text = $cekidcard->x ??89;
$y_text = $cekidcard->y ??190;
$font_type = storage_path('app/public/public/font/Montserrat-Light.ttf');
$text_input = $cari->name;
$text_input2 = $cari->jabatan ??'-';
$text_input3 = $cari->email;
$y_text2 = $cekidcard->y2 ??228;
$font_size2 = $cekidcard->sizejabatan ??20;
$text1 = imagettftext($gambar,$font_size,$rotasi,$x_text,$y_text,$white,$font_type,$text_input);
$text2 = imagettftext($gambar,$font_size2,$rotasi,$x_text,$y_text2,$white,$font_type,$text_input2);
imagepng($gambar,$output);
$text_input3 = \QrCode::format('png')
->size(200)
->backgroundColor(255,255,255)
->generate($cari->qrcode,storage_path("app/public/public/absensi/{$cari->id}/qrcode.png"))
;
$image = imagecreatefrompng($output);
$frame = imagecreatefrompng(storage_path("app/public/public/absensi/{$cari->id}/qrcode.png"));
$qrx = $cekidcard->qrx ??810;
$qry = $cekidcard->qry ??260;
$qrw = $cekidcard->qrw ??200;
$qrh = $cekidcard->qrh ??200;
imagecopymerge($image,$frame,$qrx,$qry,0,0,$qrw,$qrh,100);
imagepng($image,storage_path("app/public/public/absensi/{$cari->id}/idcard.png"));
unlink($output);
unlink("storage/public/absensi/{$cari->id}/qrcode.png");
return back()->with('SuksesUpdate','ID CARD berhasil di buat');
}
public function resetpasswa(Request $request)
{
$handphone = $request->nope;
$jumlah_digit_handphone = strlen(substr($handphone,0));
if (''== $handphone) {
return response()->json([
'sukses'=>'sukses',
'pesan'=>'No whatsapp harus di isi',
]);
}
if ('08'!= substr($handphone,0,2)) {
return response()->json([
'sukses'=>'sukses',
'pesan'=>'No telp harus di awali dengan 08',
]);
}
if ($jumlah_digit_handphone >13 or $jumlah_digit_handphone <10) {
return response()->json([
'sukses'=>'sukses',
'pesan'=>'No telp hanya boleh di isi 11 , 12 dan 13 digit nomor',
]);
}
$ceknomor = Notifwa::where('nope',$handphone)->first();
if (!$ceknomor) {
return response()->json([
'sukses'=>'sukses',
'pesan'=>'No whatsapp tidak kami temukan',
]);
}
if ($ceknomor) {
$tanggal = Carbon::now()->addMinutes(5);
$token = Str::random(10);
$simpan = DB::table('password_resets')->insert([
'email'=>$handphone,
'token'=>$token,
'created_at'=>$tanggal,
]);
if ($simpan) {
$cariapikey = DB::table('modul')->where('kata','Apikeywa')->first();
$apikeywa = $cariapikey->status ??env('APIWA');
$carinowa = DB::table('modul')->where('kata','Wanotif')->first();
$nowa = $carinowa->status ??env('WANUM');
$url = env('APP_URL').'/reset'.'/'.$token.'/'.$handphone.'/'.$ceknomor->user->id;
$pesan = '
*[RESET PASSWORD]*

Anda melakukan reset password 
Abaikan pesan ini bila anda tidak merasa melakukan reset password';
$nope = $handphone;
$data = [
'api_key'=>$apikeywa,
'sender'=>$nowa,
'number'=>$nope,
'message'=>$pesan,
'footer'=>'Link akan kadarluasa dalam 5 menit',
'template1'=>"url|RESET PASSWORD|{$url}",
];
$curl = curl_init();
curl_setopt_array($curl,[
CURLOPT_URL =>ENV('MYWATEMPLATE'),
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_ENCODING =>'',
CURLOPT_MAXREDIRS =>10,
CURLOPT_TIMEOUT =>0,
CURLOPT_FOLLOWLOCATION =>true,
CURLOPT_HTTP_VERSION =>CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST =>'POST',
CURLOPT_POSTFIELDS =>json_encode($data),
CURLOPT_HTTPHEADER =>[
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
return response()->json([
'sukses'=>'ya',
'pesan'=>'berhasil',
'redirect'=>'\login',
]);
}
}
}
public function getresetpass($token,$nope,$id)
{
$cari = DB::table('password_resets')->where('token',$token)->where('email',$nope)->count();
$cek1 = DB::table('notifwa')->where('nope',$nope)->Count();
$cek2 = DB::table('users')->where('id',$id)->count();
if ($cari >0 and $cek1 >0 and $cek2 >0) {
$ganti = DB::table('users')->where('id',$id)->update([
'password'=>Hash::make('123456'),
]);
if ($ganti) {
return redirect('/resetpass')->with('sukses','Password berhasil di ganti menjadi 123456 silahkan login dan ganti password anda');
}
}else {
return redirect('/resetpass')->with('gagal','Link kadarluasa, Silahkan reset password ulang');
}
}
public function indexresetpass()
{
return view('reset');
}
public function postdepart(Request $request)
{
$namadepart = $request->txtdepart;
$random = Str::random(20);
$cek = DB::table('depart')->where('nama',$namadepart)->count();
if (''== $namadepart) {
return response()->json(
[
'status'=>'validasi',
'pesan'=>'Nama Departemen harus di isi!',
'class'=>'alert alert-danger',
]
);
}
if ($cek >0) {
return response()->json(
[
'status'=>'validasi',
'pesan'=>'Nama Departemen sudah ada',
'class'=>'alert alert-danger',
]
);
}
$simpan = DB::table('depart')->insertGetId([
'nama'=>$namadepart,
'random'=>$random,
]);
if ($simpan) {
return response()->json(
[
'status'=>'sukses',
'pesan'=>'Data berhasil di tambahkan',
'class'=>'alert alert-success',
'datanya'=>$namadepart,
'idnya'=>"<a href='/hapusdepart/{$simpan}/{$random}'   class='far fa-trash-alt btn btn-danger btn-sm hapusdepart'></a>",
]
);
}
}
public function hapusdepart($id,$random)
{
if ('Admin'== Auth::user()->role) {
$hapus = DB::table('depart')->where('id',$id)->where('random',$random)->delete();
if ($hapus) {
return redirect('admin/admin_add_user')->with('Sukses','Departemen berhasil dihapus');
}
return redirect('admin/admin_add_user')->with('Gagal','Departemen gagal dihapus');
}
}
public function loadepart(Request $request)
{
$cek = DB::table('depart')->where('nama','SEMUA DEPARTEMEN')->count();
if ($cek <1) {
DB::table('depart')->insert(['nama'=>'SEMUA DEPARTEMEN','random'=>Str::random(20)]);
}
$data = [];
if ($request->has('q')) {
$search = $request->q;
$data = DB::table('depart')->select('id','nama')
->where('nama','LIKE',"%{$search}%")
->get()
;
}else {
$data = DB::table('depart')->select('id','nama')->get();
}
return response()->json($data);
}
public function postjabatan(Request $request)
{
$namajabatan = $request->txtjabatan;
$random = Str::random(20);
$cek = DB::table('jabatan')->where('nama',$namajabatan)->count();
if (''== $namajabatan) {
return response()->json(
[
'status'=>'validasi',
'pesan'=>'Nama Jabatan harus di isi!',
'class'=>'alert alert-danger',
]
);
}
if ($cek >0) {
return response()->json(
[
'status'=>'validasi',
'pesan'=>'Nama Jabatan sudah ada',
'class'=>'alert alert-danger',
]
);
}
$simpan = DB::table('jabatan')->insertGetId([
'nama'=>$namajabatan,
'random'=>$random,
]);
if ($simpan) {
return response()->json(
[
'status'=>'sukses',
'pesan'=>'Data berhasil di tambahkan',
'class'=>'alert alert-success',
'datanya'=>$namajabatan,
'idnya'=>"<a href='/hapusjabatan/{$simpan}/{$random}'   class='far fa-trash-alt btn btn-danger btn-sm hapusjabatan'></a>",
]
);
}
}
public function hapusjabatan($id,$random)
{
if ('Admin'== Auth::user()->role) {
$hapus = DB::table('jabatan')->where('id',$id)->where('random',$random)->delete();
if ($hapus) {
return redirect('admin/admin_add_user')->with('Sukses','Jabatan berhasil dihapus');
}
return redirect('admin/admin_add_user')->with('Gagal','Jabatan gagal dihapus');
}
}
public function loadjabatan(Request $request)
{
$data = [];
if ($request->has('q')) {
$search = $request->q;
$data = DB::table('jabatan')->select('id','nama')
->where('nama','LIKE',"%{$search}%")
->get()
;
}else {
$data = DB::table('jabatan')->select('id','nama')->get();
}
return response()->json($data);
}
public function postimportuser(Request $request)
{
$request->validate([
'fileex'=>'required|max:10000|mimes:xlsx,xls',
]);
$data = Excel::import(new importusers(),request()->file('fileex'));
if ($data) {
$cek = User::all();
foreach ($cek as $key) {
$path = 'storage/public/absensi/'.$key->id;
if (!is_dir($path)) {
mkdir($path);
$user = Storage::copy('public/user.png','public/absensi/'.$key->id.'/'.'user.png');
$alpa = Storage::copy('public/alpa.png','public/absensi/'.$key->id.'/'.'alpa.png');
}
$simpan = Notifwa::firstOrCreate([
'user_id'=>$key->id,
]);
}
$cekidcard = DB::table('idcard')->orderBy('id','DESC')->first();
$datauser = DB::table('users')->get();
foreach ($datauser as $key) {
$output = storage_path("app/public/public/absensi/{$key->id}/{$key->qrcode}.png");
$input = storage_path('app/public/public/idcard/back.png');
$gambar = imagecreatefrompng($input);
$black = imagecolorallocate($gambar,0,0,0);
$white = imagecolorallocate($gambar,255,255,255);
$font_size = $cekidcard->sizenama ??30;
$rotasi = $cekidcard->rotasi ??0;
$x_text = $cekidcard->x ??89;
$y_text = $cekidcard->y ??190;
$font_type = storage_path('app/public/public/font/Montserrat-Light.ttf');
$text_input = $key->name;
$text_input2 = $key->jabatan;
$text_input3 = $key->email;
$y_text2 = $cekidcard->y2 ??228;
$font_size2 = $cekidcard->sizejabatan ??20;
$text1 = imagettftext($gambar,$font_size,$rotasi,$x_text,$y_text,$white,$font_type,$text_input);
$text2 = imagettftext($gambar,$font_size2,$rotasi,$x_text,$y_text2,$white,$font_type,$text_input2);
imagepng($gambar,$output);
$text_input3 = \QrCode::format('png')
->size(200)
->backgroundColor(255,255,255)
->generate($key->qrcode,storage_path("app/public/public/absensi/{$key->id}/qrcode.png"))
;
$image = imagecreatefrompng($output);
$frame = imagecreatefrompng(storage_path("app/public/public/absensi/{$key->id}/qrcode.png"));
$qrx = $cekidcard->qrx ??810;
$qry = $cekidcard->qry ??260;
$qrw = $cekidcard->qrw ??200;
$qrh = $cekidcard->qrh ??200;
imagecopymerge($image,$frame,$qrx,$qry,0,0,$qrw,$qrh,100);
imagepng($image,storage_path("app/public/public/absensi/{$key->id}/idcard.png"));
unlink($output);
unlink("storage/public/absensi/{$key->id}/qrcode.png");
var_dump($output);
}
return back()->with('sukses','Data berhasil diupload');
}
return back()->with('gagal','Data gagal diupload');
}
public function cekdetailuser(Request $request)
{
$id = $request->txtid;
$data = User::where('id',$id)->first();
$status = '-';
if ('-'== $data->status) {
$status = '<span class="badge badge-success">Aktif</span>';
}else {
$status = '<span class="badge badge-danger">Diblokir</span>';
}
$tgld = $data->created_at;
$terdaftar = Carbon::parse($tgld)->format('d M Y H:i:s');
$face = '-';
$foto = '-';
if ('-'!= $data->face) {
$foto = 'facerecognition/'.$data->face;
}else {
$foto = 'user.png';
}
$face = "<img src='/storage/public/{$foto}' class='img-fluid ft' alt='No Image' />";
return response()->json(
[
'status'=>'sukses',
'nama'=>strtoupper($data->name),
'email'=>$data->email,
'nip'=>$data->nip ??'-',
'nope'=>$data->notifwa->nope ??'-',
'role'=>$data->role,
'status'=>$status,
'jabatan'=>$data->jabatan,
'depart'=>$data->depart,
'tgldaftar'=>$terdaftar,
'face'=>$face,
'device'=>$data->device ??'-',
]
);
}
};

Did this file decode correctly?

Original Code

<?php /*  */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x8f34;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NDhhKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxYTgpLCdiYWxpa3BuTkFQS0lMQkNjRGRFZUZmR2dIaEpqTW1Pb1FxUnJTc1R0VXVWdld3WHhZeVp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>nqtwvQmDlX\e|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VB{Frz

Function Calls

time 2
fopen 1
fread 3
strtr 2
fclose 1
urldecode 1
str_replace 1
base64_decode 3

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O000O0O fgetc
$O0O00OO00 fread
$OO00O0000 36660
$OO00O00O0 namespace App\Http\Controllers; use App\Imports\importusers..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 a8224749918783763e018e6284c2686a
Eval Count 3
Decode Time 116 ms