Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/www/app/Modules/Users/Http/Controllers/Frontend/ |
<?php
namespace App\Modules\Users\Http\Controllers\Frontend;
use App\Http\Controllers\SiteController;
use App\Modules\Users\Http\Requests\AccountAddressRequest;
use Illuminate\Http\Request;
use App\Modules\Users\Models\UserAddress;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
class AccountAddressController extends SiteController
{
/**
* User address book
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
//get loggedin user and his saved address list
$user = Auth::user();
$data['address'] = $user->address;
//render page
return view('users::frontend_new.address_list',$data);
}
/**
* Create new address page
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function create()
{
//render page
return view('users::frontend_new.address_create_edit');
}
/**
* Store new address
* @param Request $request
*/
public function store(AccountAddressRequest $request)
{
//create dtaa array
$data = [
'address' => $request->address,
'county' => $request->county,
'postcode' => $request->postcode,
'is_main' => (int)$request->is_main,
'user_id' => Auth::user()->id,
];
//save new address
$obj = UserAddress::create($data);
//redirect to account address page
return redirect(route('account.address.index'));
}
/**
* Edit address page
*
* @param $address
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function edit($id)
{
//get user address
$obj = UserAddress::where('user_id',Auth::user()->id)->where('id',$id)->first();
if (!$obj)
abort('404');
//create data array
$data = [
'obj'=> $obj,
];
//render page
return view('users::frontend_new.address_create_edit',$data);
}
/**
* Store new address
* @param Request $request
*/
public function update(AccountAddressRequest $request,UserAddress $id)
{
//get object
$obj = $id;
//create data array
$data = [
'address' => $request->address,
'county' => $request->county,
'postcode' => $request->postcode,
'is_main' => (int)$request->is_main,
];
//update account address
$obj->update($data);
//redirect to account address page
return redirect(route('account.address.index'));
}
/**
* Destroy/delete user address
* @param $id
*/
public function destroy($id)
{
//get user address
$obj = UserAddress::where('user_id',Auth::user()->id)->where('id',$id)->first();
if (!$obj)
abort('404');
$status = $obj->delete();
//redirect back to address list
return redirect(route('account.address.index'));
}
}