<?php
namespace App\Http\Controllers;
use App\Models\club;
use App\Models\gudep;
use App\Models\kecamatan;
use App\Models\kelurahan;
use App\Models\olahraga;
use App\Models\saka;
use App\Models\User;
use Dotenv\Util\Str;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use PhpParser\Node\Expr\Cast\String_;
class UserController extends Controller
{
public function getall()
{
$data['organisasi'] = User::with('kecamatan', 'kelurahan', 'gudep', 'saka', 'club')->get();
return view('all.index')->with($data);
}
//PEMUDA CLUB ROUTE
public function index()
{
$id = auth()->user()->id;
$data['data'] = User::with('kelurahan', 'kecamatan')->where('id', $id)->first();
$data['kecamatan'] = kecamatan::get();
$data['kelurahan'] = kelurahan::get();
return view('organisasi.index')->with($data);
}
//USER SAKA ROUTE
public function saka(String $id)
{
$decryptedId = Crypt::decryptString($id);
$data['data'] = user::where('id', $decryptedId)->with('saka')->first();
$kecamatan_id = $data['data']->kecamatan_id;
$kelurahan_id = $data['data']->kelurahan_id;
$data['kecamatan'] = kecamatan::get();
$data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
$data['kelurahan'] = kelurahan::get();
$data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();
return view('organisasi.saka')->with($data);
}
//USER GUDEP ROUTE
public function gudep(String $id)
{
$decryptedId = Crypt::decryptString($id);
$data['data'] = user::where('id', $decryptedId)->with('gudep')->first();
$kecamatan_id = $data['data']->kecamatan_id;
$kelurahan_id = $data['data']->kelurahan_id;
$data['kecamatan'] = kecamatan::get();
$data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
$data['kelurahan'] = kelurahan::get();
$data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();
return view('organisasi.gudep')->with($data);
}
//USER CLUB ROUTE
public function club(String $id)
{
$decryptedId = Crypt::decryptString($id);
$data['data'] = user::where('id', $decryptedId)->with('club')->first();
$data['club'] = club::where('id', $decryptedId)->with('club')->first();
$data['olahraga'] = olahraga::get();
$kecamatan_id = $data['data']->kecamatan_id;
$kelurahan_id = $data['data']->kelurahan_id;
$data['kecamatan'] = kecamatan::get();
$data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
$data['kelurahan'] = kelurahan::get();
$data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();
return view('organisasi.club')->with($data);
}
//USER CONTROL
public function store(Request $request)
{
DB::beginTransaction();
try {
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'kelurahan_id' => 'required',
'role' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg',
'organisasi' => 'required',
'gedung' => 'required',
'jenis_keanggotaan' => 'nullable'
], ['email.unique' => 'The email has already been taken.']);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'gedung' => $request->gedung,
'lat' => $request->lat,
'lng' => $request->lng,
'persetujuan' => 0,
'role' => $request->role
];
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
}
User::create($data);
if ($request->role == 2) {
$user_id = User::latest()->first()->id;
$request->validate([
'olahraga_id' => 'required',
'deskripsiclub' => 'required',
]);
$dataclub = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsiclub,
'olahraga_id' => $request->olahraga_id,
'user_id' => $user_id,
];
club::create($dataclub);
}
if ($request->role == 3) {
$user_id = User::latest()->first()->id;
$datasaka = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsi,
'jabatan' => $request->jabatan,
'user_id' => $user_id,
];
saka::create($datasaka);
}
if ($request->role == 4) {
$user_id = User::latest()->first()->id;
$datagudep = [
'name' => $request->organisasi,
'kode' => $request->kode,
'user_id' => $user_id,
];
gudep::create($datagudep);
}
DB::commit();
return redirect()->route('login')->with('success', 'Akun berhasil dibuat!');
} catch (DecryptException $e) {
DB::rollback();
return redirect()->back()->with('error', 'Akun Gagal dibuat!');
}
}
public function update(request $request, string $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'username' => 'required',
'email' => 'required|email',
'namalengkap' => 'required',
'no_telp' => 'required',
'password' => 'sometimes|nullable|min:6',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
'organisasi' => 'required',
'status' => 'required',
'jenis_keanggotaan' => 'nullable'
]);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan
];
if ($request->input('password') != '') {
$data['password'] = bcrypt($request->password);
}
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
$getfoto = User::where('id', $decryptedId)->first();
$foto_lama = $getfoto->photo;
File::delete(public_path('images') . "/" . $foto_lama);
}
User::where('id', $decryptedId)->update($data);
if (Auth()->user()->role == 3) {
$datasaka = [
'name' => $request->organisasi
];
saka::where('user_id', $decryptedId)->update($datasaka);
}
if (Auth()->user()->role == 4) {
$datasaka = [
'name' => $request->organisasi
];
gudep::where('user_id', $decryptedId)->update($datasaka);
}
if (auth()->user()->role == 1) {
return redirect()->route('user.index')->with('success', 'Data successfully changed');
}
if (auth()->user()->role == 3) {
return redirect()->route('satuankarya')->with('success', 'Data successfully changed');
}
if (auth()->user()->role == 4) {
return redirect()->route('gugusdepan')->with('success', 'Data successfully changed');
}
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
//USER CONTROL
// PEMUDA ADMIN CONTROL PEMUDA START
public function controlPemuda()
{
$data['pemuda'] = User::with('kecamatan', 'kelurahan')->where('role', 1)->get();
$data['kecamatan'] = kecamatan::get();
$data['kelurahan'] = kelurahan::get();
return view('organisasi_pemuda.index')->with($data);
}
public function tambahPemuda(Request $request)
{
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'kelurahan_id' => 'required',
'role' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg',
'organisasi' => 'required',
'gedung' => 'required',
'jenis_keanggotaan' => 'nullable'
], ['email.unique' => 'The email has already been taken.']);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'persetujuan' => 0,
'role' => $request->role,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
];
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
}
User::create($data);
return redirect()->route('controlPemuda')->with('success', 'Akun berhasil dibuat!');
}
public function ubahPemuda(Request $request, String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'username' => 'required',
'email' => 'required|email',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'password' => 'sometimes|nullable|min:6',
'alamat' => 'required',
'kecamatan_id' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
'organisasi' => 'required',
'status' => 'required',
'jenis_keanggotaan' => 'nullable'
]);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
];
if ($request->input('password') != '') {
$data['password'] = bcrypt($request->password);
}
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
$getfoto = User::where('id', $decryptedId)->first();
$foto_lama = $getfoto->photo;
File::delete(public_path('images') . "/" . $foto_lama);
}
User::where('id', $decryptedId)->update($data);
return redirect()->route('controlPemuda')->with('success', 'Akun berhasil diubah!');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
public function hapusPemuda($id)
{
try {
$decryptedId = Crypt::decryptString($id);
$user = User::where('id', $decryptedId);
$foto = $user->first();
File::delete(public_path('images') . "/" . $foto->photo);
$user->delete();
return redirect()->route('controlPemuda')->with('delete', 'Data successfully deleted');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
// PEMUDA ADMIN CONTROL END
// CLUB ADMIN CONTROL START
public function controlClub()
{
$data['club'] = User::where('role', 2)->with('kecamatan', 'kelurahan', 'club')->get();
$data['kecamatan'] = kecamatan::get();
$data['kelurahan'] = kelurahan::get();
$data['olahraga'] = olahraga::get();
return view('club.index')->with($data);
}
public function tambahClub(Request $request)
{ {
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'kelurahan_id' => 'required',
'role' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg',
'organisasi' => 'required',
'jenis_keanggotaan' => 'nullable'
], ['email.unique' => 'The email has already been taken.']);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'persetujuan' => 0,
'role' => 2
];
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
}
User::create($data);
$user_id = User::latest()->first()->id;
$dataclub = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsiclub,
'olahraga_id' => $request->olahraga_id,
'user_id' => $user_id,
];
club::create($dataclub);
return redirect()->route('controlClub')->with('success', 'Akun berhasil dibuat!');
}
}
public function ubahClub(Request $request, String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'username' => 'required',
'email' => 'required|email',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'password' => 'sometimes|nullable|min:6',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
'organisasi' => 'required',
'status' => 'required',
'jenis_keanggotaan' => 'nullable'
]);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan
];
if ($request->input('password') != '') {
$data['password'] = bcrypt($request->password);
}
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
$getfoto = User::where('id', $decryptedId)->first();
$foto_lama = $getfoto->photo;
File::delete(public_path('images') . "/" . $foto_lama);
}
User::where('id', $decryptedId)->update($data);
$dataclub = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsiclub,
'olahraga_id' => $request->olahraga_id,
];
club::where('user_id', $decryptedId)->update($dataclub);
return redirect()->route('controlClub')->with('success', 'Akun berhasil diubah!');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
public function hapusClub($id)
{
try {
$decryptedId = Crypt::decryptString($id);
$user = User::where('id', $decryptedId);
$foto = $user->first();
File::delete(public_path('images') . "/" . $foto->photo);
$user->delete();
club::where('user_id', $decryptedId)->delete();
return redirect()->route('controlClub')->with('delete', 'Data successfully deleted');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
// CLUB ADMIN CONTROL END
// SAKA ADMIN CONTROL START
public function controlsaka()
{
$data['saka'] = User::where('role', 3)->with('kecamatan', 'kelurahan', 'saka')->get();
$data['kecamatan'] = kecamatan::get();
$data['kelurahan'] = kelurahan::get();
return view('saka.index')->with($data);
}
public function tambahSaka(Request $request)
{ {
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'kelurahan_id' => 'required',
'role' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg',
'organisasi' => 'required',
'jenis_keanggotaan' => 'nullable',
'gedung' => 'required'
], ['email.unique' => 'The email has already been taken.']);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'persetujuan' => 0,
'role' => 3,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
];
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
}
User::create($data);
$user_id = User::latest()->first()->id;
$datasaka = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsi,
'jabatan' => $request->jabatan,
'user_id' => $user_id,
];
saka::create($datasaka);
return redirect()->route('controlSaka')->with('success', 'Akun berhasil dibuat!');
}
}
public function ubahSaka(Request $request, String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'username' => 'required',
'email' => 'required|email',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'password' => 'sometimes|nullable|min:6',
'alamat' => 'required',
'kecamatan_id' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
'organisasi' => 'required',
'status' => 'required',
'jenis_keanggotaan' => 'nullable',
'gedung' => 'required'
]);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'gedung' => $request->gedung,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
];
if ($request->input('password') != '') {
$data['password'] = bcrypt($request->password);
}
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
$getfoto = User::where('id', $decryptedId)->first();
$foto_lama = $getfoto->photo;
File::delete(public_path('images') . "/" . $foto_lama);
}
User::where('id', $decryptedId)->update($data);
$datasaka = [
'name' => $request->organisasi,
'deskripsi' => $request->deskripsi,
'jabatan' => $request->jabatan,
];
saka::where('user_id', $decryptedId)->update($datasaka);
return redirect()->route('controlSaka')->with('success', 'Akun berhasil diubah!');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
public function hapusSaka($id)
{
try {
$decryptedId = Crypt::decryptString($id);
$user = User::where('id', $decryptedId);
$foto = $user->first();
File::delete(public_path('images') . "/" . $foto->photo);
$user->delete();
saka::where('user_id', $decryptedId)->delete();
return redirect()->route('controlSaka')->with('delete', 'Data successfully deleted');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
// SAKA ADMIN CONTROL END
// GUDEP ADMIN CONTROL START
public function controlGudep()
{
$data['gudep'] = User::where('role', 4)->with('kecamatan', 'kelurahan', 'gudep')->get();
$data['kecamatan'] = kecamatan::get();
$data['kelurahan'] = kelurahan::get();
return view('gudep.index')->with($data);
}
public function tambahGudep(Request $request)
{ {
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'kelurahan_id' => 'required',
'role' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg',
'organisasi' => 'required',
'jenis_keanggotaan' => 'nullable',
'gedung' => 'required'
], ['email.unique' => 'The email has already been taken.']);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'persetujuan' => 0,
'role' => 4,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
'gedung' => $request->gedung
];
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
}
User::create($data);
$user_id = User::latest()->first()->id;
$datagudep = [
'name' => $request->organisasi,
'kode' => $request->kode,
'user_id' => $user_id,
];
gudep::create($datagudep);
return redirect()->route('controlGudep')->with('success', 'Akun berhasil dibuat!');
}
}
public function ubahGudep(Request $request, String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'username' => 'required',
'email' => 'required|email',
'namalengkap' => 'required',
'no_telp' => 'required',
'legalitas' => 'required',
'periode' => 'required',
'password' => 'sometimes|nullable|min:6',
'ketua' => 'required',
'alamat' => 'required',
'kecamatan_id' => 'required',
'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
'organisasi' => 'required',
'status' => 'required',
'jenis_keanggotaan' => 'nullable',
'gedung' => 'required'
]);
$koordinat = $request->koordinat;
$arraykoordinat = explode(',', $koordinat);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'no_telp' => $request->no_telp,
'periode' => $request->periode,
'ketua' => $request->ketua,
'namalengkap' => $request->namalengkap,
'alamat' => $request->alamat,
'legalitas' => $request->legalitas,
'kecamatan_id' => $request->kecamatan_id,
'kelurahan_id' => $request->kelurahan_id,
'status' => 1,
'organisasi' => $request->organisasi,
'jenis_keanggotaan' => $request->jenis_keanggotaan,
'lat' => $arraykoordinat[0],
'lng' => $arraykoordinat[1],
'gedung' => $request->gedung
];
if ($request->input('password') != '') {
$data['password'] = bcrypt($request->password);
}
if ($request->hasFile('photo')) {
$foto_file = $request->file('photo');
$foto_ekstensi = $foto_file->extension();
$foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
$foto_file->move(public_path('images'), $foto_baru);
$data['photo'] = $foto_baru;
$getfoto = User::where('id', $decryptedId)->first();
$foto_lama = $getfoto->photo;
File::delete(public_path('images') . "/" . $foto_lama);
}
User::where('id', $decryptedId)->update($data);
$datasaka = [
'name' => $request->organisasi,
'kode' => $request->kode,
];
gudep::where('user_id', $decryptedId)->update($datasaka);
return redirect()->route('controlGudep')->with('success', 'Akun berhasil diubah!');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
public function hapusGudep($id)
{
try {
$decryptedId = Crypt::decryptString($id);
$user = User::where('id', $decryptedId);
$foto = $user->first();
File::delete(public_path('images') . "/" . $foto->photo);
$user->delete();
gudep::where('user_id', $decryptedId)->delete();
return redirect()->route('controlGudep')->with('delete', 'Data successfully deleted');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
// GUDEP CONTROL END
// PERSETUJUAN START
public function aksesPemuda(Request $request, String $id)
{
$decryptedId = Crypt::decryptString($id);
User::where('id', $decryptedId)->update(['persetujuan' => 1]);
if ($request->role == 1) {
return redirect()->route('controlPemuda')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 2) {
return redirect()->route('controlClub')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 3) {
return redirect()->route('controlSaka')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 4) {
return redirect()->route('controlGudep')->with('succsess', 'Persetujuan Di Berikan.');
} else {
return redirect()->route('getall')->with('succsess', 'Persetujuan Di Berikan.');
}
}
public function lepasAksesPemuda(Request $request, String $id)
{
$decryptedId = Crypt::decryptString($id);
User::where('id', $decryptedId)->update(['persetujuan' => 0]);
if ($request->role == 1) {
return redirect()->route('controlPemuda')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 2) {
return redirect()->route('controlClub')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 3) {
return redirect()->route('controlSaka')->with('succsess', 'Persetujuan Di Berikan.');
} elseif ($request->role == 4) {
return redirect()->route('controlGudep')->with('succsess', 'Persetujuan Di Berikan.');
} else {
return redirect()->route('getall')->with('succsess', 'Persetujuan Di Berikan.');
}
}
// PERSETUJUAN END
// UBAH MAP START
public function editmap(Request $request, String $id)
{
$decryptedId = Crypt::decryptString($id);
$data = [
'lat' => $request->lat,
'lng' => $request->lng
];
if ($request->lat && $request->lng != '') {
user::where('id', $decryptedId)->update($data);
}
return redirect()->back()->with('success,map telah terupdate!');
}
//UBAH MAP END
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]