Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 958 | Revision 1337 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
108 lars 1
<?php
2
 
779 lars 3
    namespace App\Http\Controllers;
108 lars 4
 
962 lars 5
    use App\Models\WebSetting;
779 lars 6
    use Illuminate\Http\Request;
7
    use App\Models\User;
8
    use App\Models\OrderAddress;
9
    use App\Models\OrderItem;
10
    use App\Models\Order;
108 lars 11
 
779 lars 12
    class OrderController extends Controller
13
    {
14
        //
958 lars 15
        private int       $shipAddrId;
16
        private int       $billAddrId;
17
        private Order     $order;
18
        private int       $orderId;
19
        private OrderItem $orderItem;
20
        private array     $orderItems;
21
 
779 lars 22
        public function create()
23
        {
958 lars 24
            $this->billAddr = new OrderAddress();
787 lars 25
            if ( !( isset( $_SESSION["SHOP"]["buy"]["Persdata"]["ID"] ) && $_SESSION["SHOP"]["buy"]["Persdata"]["ID"] ) )
26
            {
27
                $_SESSION["SHOP"]["buy"]["Persdata"]["ID"] = 1;
28
            }
958 lars 29
            $this->billAddr->user_id = $_SESSION["SHOP"]["buy"]["Persdata"]["ID"];
30
            $this->billAddr->name = $_SESSION["SHOP"]["buy"]["Persdata"]["Vorname"];
31
            $this->billAddr->lastname = $_SESSION["SHOP"]["buy"]["Persdata"]["Nachname"];
781 lars 32
            if ( $_SESSION["SHOP"]["buy"]["Persdata"]["Firma"] )
33
            {
958 lars 34
                $this->billAddr->company = $_SESSION["SHOP"]["buy"]["Persdata"]["Firma"];
781 lars 35
            }
958 lars 36
            $this->billAddr->street = $_SESSION["SHOP"]["buy"]["Persdata"]["Strasse"];
37
            $this->billAddr->houseno = $_SESSION["SHOP"]["buy"]["Persdata"]["Hausnummer"];
38
            $this->billAddr->zip = $_SESSION["SHOP"]["buy"]["Persdata"]["PLZ"];
39
            $this->billAddr->city = $_SESSION["SHOP"]["buy"]["Persdata"]["Ort"];
40
            $this->billAddr->country_id = $_SESSION["SHOP"]["buy"]["Persdata"]["Land"];
41
            $this->billAddr->phone = $_SESSION["SHOP"]["buy"]["Persdata"]["Telefon"];
42
            $this->billAddr->email = $_SESSION["SHOP"]["buy"]["Persdata"]["email"];
43
            $this->billAddr->save();
44
            $this->billAddrId = $this->billAddr->id;
778 lars 45
 
782 lars 46
            if ( $_SESSION["SHOP"]["Lieferadresse"] == "packstation" )
779 lars 47
            {
958 lars 48
                $this->shipAddr = new OrderAddress();
49
                $this->shipAddr->user_id = $_SESSION["SHOP"]["buy"]["Persdata"]["ID"];
50
                $this->shipAddr->name = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Vorname_pst"];
51
                $this->shipAddr->lastname = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Nachname_pst"];
781 lars 52
                if ( $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Firma_pst"] )
53
                {
958 lars 54
                    $this->shipAddr->company = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Firma_pst"];
781 lars 55
                }
958 lars 56
                $this->shipAddr->street = $_SESSION["SHOP"]["buy"]["Persdata"]["lieferStrasse_pst"];
57
                $this->shipAddr->houseno = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Hausnummer_pst"];
58
                $this->shipAddr->zip = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_PLZ_pst"];
59
                $this->shipAddr->city = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Ort_pst"];
60
                $this->shipAddr->country_id = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Land_pst"];
61
                $this->shipAddr->phone = $_SESSION["SHOP"]["buy"]["Persdata"]["Telefon"];
62
                $this->shipAddr->email = $_SESSION["SHOP"]["buy"]["Persdata"]["email"];
63
                $this->shipAddr->save();
64
                $this->shipAddrId = $this->billAddr->id;
779 lars 65
            }
66
            else
67
            {
958 lars 68
                $this->shipAddr = new OrderAddress();
69
                $this->shipAddr->user_id = $_SESSION["SHOP"]["buy"]["Persdata"]["ID"];
70
                $this->shipAddr->name = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Vorname"];
781 lars 71
                if ( $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Firma"] )
72
                {
958 lars 73
                    $this->shipAddr->company = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Firma"];
781 lars 74
                }
958 lars 75
                $this->shipAddr->lastname = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Nachname"];
76
                $this->shipAddr->street = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Strasse"];
77
                $this->shipAddr->houseno = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Hausnummer"];
78
                $this->shipAddr->zip = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_PLZ"];
79
                $this->shipAddr->city = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Ort"];
80
                $this->shipAddr->country_id = $_SESSION["SHOP"]["buy"]["Persdata"]["liefer_Land"];
81
                $this->shipAddr->phone = $_SESSION["SHOP"]["buy"]["Persdata"]["Telefon"];
82
                $this->shipAddr->email = $_SESSION["SHOP"]["buy"]["Persdata"]["email"];
83
                $this->shipAddr->save();
84
                $this->shipAddrId = $this->billAddr->id;
779 lars 85
            }
958 lars 86
            $this->order = new Order();
87
            $this->order->shop_id = $GLOBALS["INI"]["shops_ID"];
88
            $this->order->user_id = $_SESSION["SHOP"]["buy"]["Persdata"]["ID"];
89
            $this->order->order_type_id = 1;
90
            $this->order->ship_addr_id = $this->shipAddrId;
91
            $this->order->bill_addr_id = $this->billAddrId;
92
            $this->order->created_by = "(Bestellung)";
93
            $this->order->save();
94
            $this->orderId = $this->order->id;
95
            $this->orderItems = array();
779 lars 96
            foreach ( $_SESSION["SHOP"]["BASKET"]->items as $item )
97
            {
958 lars 98
                $this->orderItem = new OrderItem();
99
                $this->orderItem->name = $item->name;
100
                $this->orderItem->item_id = $item->id;
101
                $this->orderItem->price = $item->price;
102
                $this->orderItem->amount = $item->menge;
103
                $this->orderItem->option_input = $item->addinfo;
104
                $this->orderItem->save();
105
                $this->orderItems[] = $this->orderItem;
779 lars 106
            }
958 lars 107
            return $this->orderId;
779 lars 108
        }
958 lars 109
 
110
        public function mail()
111
        {
962 lars 112
            $webSettings = WebSetting::where( 'shop_id', '=', $this->order->shop_id )->where( 'order_type_id', '=', $this->order->order_type_id )->whereIn( 'id', [ 11, 12, 13, 14, 17, 18, 1000, ] )->get();
113
            foreach ( $webSettings as $webSetting )
114
            {
115
                switch ( $webSetting->id )
116
                {
117
                    case 11:
118
                        $fromEmail = $webSetting->content;
119
                        break;
120
                    case 12:
121
                        $customerSubject = $webSetting->content;
122
                        break;
123
                    case 13:
124
                        $customerBody = $webSetting->content;
125
                        break;
126
                    case 14:
127
                        $bccAddress = $webSetting->content;
128
                        break;
129
                    case 17:
130
                        $shopSubject = $webSetting->content;
131
                        break;
132
                    case 18:
133
                        $shopBody = $webSetting->content;
134
                        break;
135
                    case 1000:
136
                        $template = $webSetting->content;
137
                        break;
138
                }
139
            }
140
 
958 lars 141
        }
779 lars 142
    }