AnonSec Shell
Server IP : 104.21.26.206  /  Your IP : 216.73.216.227   [ Reverse IP ]
Web Server : Apache
System : Linux frog 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web13 ( 5017)
PHP Version : 8.3.31
Disable Function : NONE
Domains : 41 Domains
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Backend/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Backend/OrderController.php
<?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{Order, OrderProduct, Product};
use Auth;

class OrderController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $orders = Order::filter(request(['status', 'keyword', 'range']))
        ->with('invoice')
        ->with('products')
        ->latest()
        ->paginate(20);

        return view('layouts.backend.orders.index', compact('orders'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $order = Order::where('id', $id)
        ->with('invoice')
        ->with('address')
        ->with('products')
        ->with('notes')
        ->first();

        return view('layouts.backend.orders.show', compact('order'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }

    public function changeOrderStatus(Request $request, $id) {
      $data = $request->validate([
        'status' => 'required'
      ],
      [
        'required' => 'Задължително поле'
      ]);

      $order = Order::findOrFail($id);

      $order->update($data);

      return redirect()->back()->with('success', 'Статуса на тази поръчка е сменен успешно.');
    }

    public function updateOrderInfo(Request $request, $id) {

      // $request->validate([
      //   'fname' => 'required',
      //   'lname' => 'required',
      //   'email' => 'required',
      //   'phone' => 'required',
      //   'city' => 'required',
      //   'zip' => 'required',
      // ],
      // [
      //   'required' => 'Задължително поле'
      // ]);

      $order = Order::findOrFail($id);

      $order->update([
        'fname' => $request->input('fname'),
        'lname' => $request->input('lname'),
        'email' => $request->input('email'),
        'phone' => $request->input('phone')
      ]);

      $data_address = [
        'city' => $request->input('city'),
        'zip' => $request->input('zip'),
      ];

      if ($request->shipping_to) {
        $data_address['shipping_to'] = $request->input('shipping_to');
      }

      if ($request->courier) {
        $data_address['courier'] = $request->input('courier');
      }


      if ($request->shipping_to == 1) {
        $data_address['address'] = $request->input('address');
        $data_address['no'] = $request->no;
        $data_address['block'] = $request->block;
        $data_address['entrance'] = $request->entrance;
        $data_address['floor'] = $request->floor;
        $data_address['apartment_no'] = $request->apartment_no;
      }
      elseif ($request->shipping_to == 2) {
        $data_address['office'] = $request->input('office');
      }

      $order->address()->update($data_address);

      return redirect()->back()->with('success', 'Данните на поръчката са обновени.');
    }

    public function updateOrderNote(Request $request, $id) {
      $order = Order::findOrFail($id);

      $order->update(['note' => $request->input('note')]);

      return redirect()->back()->with('success', 'Бележката е обновена.');

    }

    public function updateShippingInfo(Request $request, $id) {
      $request->validate([
        'city' => 'required',
        'zip' => 'required',
        'contents' => 'required',
        'packages' => 'required',
        'amount' => 'required',
      ],
      [
        'required' => 'Задилжително поле.'
      ]);

      // $data_shipping = [
      //
      // ];
      //
      // $order = Order::findOrFail($id);

    }

    public function productRemoveOrder($order_id, $order_product_id){
      OrderProduct::where('order_id',$order_id)->where('id', $order_product_id)->delete();

      return redirect()->back()->with('order_product', 'Продуктът е изтрит от поръчката.');
    }

    public function updateShippingPrice(Request $request, $id){
      $data = $request->validate([
        'shipping' =>'numeric'
      ],
      [
        'numreic' => 'Доставката трябва да е число.'
      ]);

      $order = Order::findOrFail($id);

      $order->update($data);

      return redirect()->back()->with('order_product', 'Доставката е обновена.');
    }

    public function orderSearchProduct(Request $request, $order_id){
      $product = Product::filter(request(['keyword']))
      ->with('category')
      ->with('subcategory')
      ->with('brand')
      ->with('filters')
      ->withWhereHas('translation', fn($q) => $q->where('language', 'bg'))
      ->first();

      return view('layouts.backend.orders.search_product', compact('product', 'order_id'));
    }

    public function addOrderProduct(Request $request, $order_id){
      $product_id = $request->input('product_id');

      $order = Order::find($order_id);

      $product = Product::find($product_id);

      $data = [
        'product_id' => $product_id,
        'weight' => $product->weight,
        'qty' => 1,
        'price' => $product->last_price,
        'price_old' => $product->price_old
      ];

      $order->products()->create($data);

      return redirect()->back()->with('order_product', 'Продуктът е добавен към поръчката');
    }

    public function addNote(Request $request, $id){
      $request->validate([
        'note' => 'required',
      ],
      [
        'required' => 'Задъжлително поле'
      ]);

      $order = Order::where('id', $id)->first();

      $order->notes()->create(['admin_id' => Auth::guard('admin')->user()->id, 'note' => $request->note]);
      return redirect()->back()->with('success', 'Добавихте бележка към тази поръчка.');
    }
}

Anon7 - 2022
AnonSec Team