Subversion-Projekte lars-tiefland.webanos.marine-sales.de

Revision

Revision 176 | Revision 249 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 176 Revision 234
Zeile 1... Zeile 1...
1
<?php
1
<?php
Zeile 2... Zeile 2...
2
 
2
 
Zeile 3... Zeile 3...
3
    namespace App\Http\Controllers\online_shop;
3
    namespace App\Http\Controllers\online_shop;
4
 
4
 
5
    use App\Console\Commands\dump;
5
    use App\Http\Controllers\Controller;
6
    use App\Models\Shipping;
6
    use App\Models\Shipping;
7
    use Illuminate\Contracts\Foundation\Application;
7
    use Illuminate\Contracts\Foundation\Application;
8
    use Illuminate\Contracts\View\Factory;
-
 
9
    use Illuminate\Contracts\View\View;
-
 
Zeile 10... Zeile 8...
10
    use Illuminate\Http\Request;
8
    use Illuminate\Contracts\View\Factory;
11
    use Illuminate\Support\Facades\DB;
9
    use Illuminate\Contracts\View\View;
Zeile 12... Zeile 10...
12
 
10
 
13
    class ShippingController extends Controller
11
    class ShippingController extends Controller
14
    {
12
    {
15
 
13
 
16
        public function index(): Factory|View|Application
14
        public function index(): Factory|View|Application
Zeile 17... Zeile -...
17
        {
-
 
18
            $shipping = Shipping::with("shipping_group")->orderBy("rank")->get();
-
 
19
            return View( "online_shop.shipping", [ "shipping" => $shipping ] );
-
 
20
        }
-
 
21
 
-
 
22
        public function getShippingOptions(): array|bool
-
 
23
        {
-
 
24
            $Land = 47;
-
 
25
            if ( isset( $_GET["Land"] ) )
-
 
26
            {
-
 
27
                $Land = $_GET["Land"];
-
 
28
            }
-
 
29
            $buffer = array();
-
 
30
            $rufnamen = array();
-
 
31
            $sql = "SELECT
-
 
32
                    z.id,
-
 
33
                    z.internal_name
-
 
34
                FROM
-
 
35
                    payment_methods z
-
 
36
                JOIN
-
 
37
                    shipping_payment_methods vz
-
 
38
                ON
-
 
39
                    vz.payment_method_id=z.id  
-
 
40
            ";
-
 
41
            $r = DB::connection( 'mysql' )->select( $sql );
-
 
42
            $rufnamen[] = "- Bezahlarten -";
-
 
43
            foreach ( $r as $row )
-
 
44
            {
-
 
45
                $ini_name = $row->internal_name;
-
 
46
                if ( $row->internal_name == "sofortueberweisung" )
-
 
47
                {
-
 
48
                    $ini_name = "ueberweisung";
-
 
49
                }
-
 
50
                if ( !isset( $_SESSION["zahlarten"][$ini_name] ) )
-
 
51
                {
-
 
52
                    $_SESSION["zahlarten"][$ini_name] = true;
-
 
53
                }
-
 
54
                if ( ( isset( $GLOBALS["INI"][$ini_name]["aktiv"] ) && $GLOBALS["INI"][$ini_name]["aktiv"] == 1 && $_SESSION["zahlarten"][$ini_name] !== false ) || !in_array( $row->internal_name, $GLOBALS["zahlsysteme"] ) )
-
 
55
                {
-
 
56
                    $rufnamen[$row->id] = $row->internal_name;
-
 
57
                }
-
 
58
            }
-
 
59
            if ( $_SESSION["SHOP"]["BASKET"]->items )
-
 
60
            {
-
 
61
                $vgruppen = array();
-
 
62
                $preis = $_SESSION["SHOP"]["BASKET"]->paymentInfo["Total"];
-
 
63
                $gewicht = $_SESSION["SHOP"]["BASKET"]->weight;
-
 
64
                foreach ( $_SESSION["SHOP"]["BASKET"]->items as $artikel )
-
 
65
                {
-
 
66
                    if ( $artikel->spedId )
-
 
67
                    {
-
 
68
                        $vgruppen[] = $artikel->spedId;
-
 
69
                    }
-
 
70
                    elseif ( $artikel->shipping_group_id )
-
 
71
                    {
-
 
72
                        $vgruppen[] = $artikel->shipping_group_id;
-
 
73
                    }
-
 
74
                }
-
 
75
                $vgruppen = array_unique( $vgruppen );
-
 
76
                $sql = "SELECT
-
 
77
                        MAX(rank) AS rank
-
 
78
                    FROM
-
 
79
                        shipping_groups
-
 
80
                    WHERE
-
 
81
                        id IN(" . implode( ",", $vgruppen ) . ")
-
 
82
                ";
-
 
83
                $r = DB::select( $sql );
-
 
84
                $row = $r[0];
-
 
85
                $rang = $row->rank;
-
 
86
                $sql = "SELECT
-
 
87
                        id,
-
 
88
                        name,
-
 
89
                        conditions,
-
 
90
                        shipping_text AS versandtextbaustein
-
 
91
                        -- zahlart_index
-
 
92
                    FROM
-
 
93
                        shipping_groups vg
-
 
94
                    WHERE
-
 
95
                        rank=" . $rang . "
-
 
96
                ";
-
 
97
                $r = DB::select( $sql );
-
 
98
                $row = $r[0];
-
 
99
                $vgId = $row->id;
-
 
100
                $bedingungen = explode( ";", $row->conditions );
-
 
101
                $sqlCondArr = array();
-
 
102
                if ( in_array( "preis", $bedingungen ) )
-
 
103
                {
-
 
104
                    $sqlCondArr[] = "((" . $preis . " >= calc_price_from AND " . $preis . " <= calc_price_to) OR (calc_price_from=calc_price_to))";
-
 
105
                }
-
 
106
                if ( in_array( "gewicht", $bedingungen ) )
-
 
107
                {
-
 
108
                    $sqlCondArr[] = "((" . $gewicht . " >= calc_weight_from AND " . $gewicht . " <= calc_weight_to)
-
 
109
                            OR (calc_weight_from = calc_weight_to))";
-
 
110
                }
-
 
111
                $sql = "SELECT
-
 
112
                        v.*
-
 
113
                    FROM
-
 
114
                        shippings v
-
 
115
                    JOIN
-
 
116
                        shipping_countries vl
-
 
117
                    ON
-
 
118
                        vl.shipping_id=v.id
-
 
119
                    WHERE
-
 
120
                        shipping_group_id=" . $vgId . "
-
 
121
                    AND
-
 
122
                        status = 0
-
 
123
                    AND
-
 
124
                        country_id=" . $Land . "
-
 
125
                ";
-
 
126
                if ( isset( $_SESSION["SHOP"]["vIsland"] ) && $_SESSION["SHOP"]["vIsland"] )
-
 
127
                {
-
 
128
                    //Insel ausgewählt ==> Versandoption darf NICHT auf "kein Inselversand" (Wert: 1) stehen!
-
 
129
                    $sqlCondArr [] = " island_shipping IN (0,2) ";
-
 
130
                }
-
 
131
                else
-
 
132
                {
-
 
133
                    $sqlCondArr [] = " island_shipping IN (0,1) ";
-
 
134
                }
-
 
135
                if ( $sqlCondArr )
-
 
136
                {
-
 
137
                    $sqlCond = implode( " AND ", $sqlCondArr );
-
 
138
                    $sql .= "
-
 
139
                        AND
-
 
140
                            " . $sqlCond . "
-
 
141
                    ";
-
 
142
                }
-
 
143
                $vR = DB::select( $sql );
-
 
144
                if ( !count( $vR ) )
-
 
145
                {
-
 
146
                    $_SESSION["versandFehler"] = "Wir versenden NICHT an diese Adresse! Bitte geben Sie eine andere Adresse ein!";
-
 
147
                }
-
 
148
                $shippingIds = array();
-
 
149
                foreach ( $vR as $vRow )
-
 
150
                {
-
 
151
                    $shippingIds[] = $vRow->id;
-
 
152
                    if ( $vRow->additions )
-
 
153
                    {
-
 
154
                        $vRow->additions = unserialize( $vRow->additions );
-
 
155
                    }
-
 
156
 
-
 
157
                    if ( isset( $_GET["param"] ) && $_GET["param"] == "single" )
-
 
158
                    {
-
 
159
                        if ( $vRow->name && $_SESSION['SHOP']['BASKET']->paymentInfo["Total"] )
-
 
160
                        {
-
 
161
                            $summeInklVersand = $vRow->price + $_SESSION['SHOP']['BASKET']->paymentInfo["Total"];
-
 
162
                            $vkSummeLaender['price'] = $vRow->price;
-
 
163
                            $vkSummeLaender['name'] = $vRow->name;
-
 
164
                            $fmt = new \NumberFormatter( "de_DE.UTF-8", \NumberFormatter::CURRENCY );
-
 
165
                            $vkSummeLaender['price_formatted'] = $fmt->formatCurrency( $vRow->price, "EUR" );
-
 
166
                            $vkSummeLaender['summe_formatted'] = $fmt->formatCurrency( $summeInklVersand, "EUR" );
-
 
167
                            echo view( "vkSummeLaender", [ "vkSummeLaender" => $vkSummeLaender, ] );
-
 
168
                        }
-
 
169
                        else
-
 
170
                        {
-
 
171
                            echo "<div class=''>Fehler: Keine Versandart gefunden!</div>\n";
-
 
172
                        }
-
 
173
 
-
 
174
 
-
 
175
                        return true;
-
 
176
                    }
-
 
177
 
-
 
178
                    $sql = "SELECT
-
 
179
                            z.id,
-
 
180
                            z.name,
-
 
181
                            z.internal_name,
-
 
182
                            z.discount,
-
 
183
                            z.shipping_text AS versandtextbaustein,
-
 
184
                            z.info_in_shop
-
 
185
                        FROM
-
 
186
                            shipping_payment_methods vz
-
 
187
                        JOIN
-
 
188
                            payment_methods z
-
 
189
                        ON
-
 
190
                            z.id=vz.payment_method_id
-
 
191
                        WHERE
-
 
192
                            shipping_id =" . $vRow->id . "
-
 
193
                    ";
-
 
194
                    if ( isset( $_GET['vRufname'] ) && is_numeric( $_GET['vRufname'] ) )
-
 
195
                    {
-
 
196
                        $sql .= " AND z.id = " . $_GET['vRufname'];
-
 
197
                    }
-
 
198
                    $zR = DB::select( $sql );
-
 
199
                    foreach ( $zR as $zRow )
-
 
200
                    {
-
 
201
                        if ( $zRow->internal_name != "nicht_belegt" )
-
 
202
                        {
-
 
203
                            $ini_name = $zRow->internal_name;
-
 
204
                            if ( $ini_name == "sofortueberweisung" )
-
 
205
                            {
-
 
206
                                $ini_name = "ueberweisung";
-
 
207
                            }
-
 
208
                            if ( $GLOBALS["INI"]["PayPalPlus"]["aktiv"] != 1 )
-
 
209
                            {
-
 
210
                                $row->name = ( str_replace( "\r\n", "<br>", $row->name ) );
-
 
211
                            }
-
 
212
                            if ( ( isset( $GLOBALS["INI"][$ini_name]["aktiv"] ) && $GLOBALS["INI"][$ini_name]["aktiv"] == 1 && $_SESSION["zahlarten"][$ini_name] !== false ) || !in_array( $zRow->internal_name, $GLOBALS["zahlsysteme"] ) )
-
 
213
                            {
-
 
214
                                $preis = $vRow->price;
-
 
215
                                $name = $vRow->name . " - " . $zRow->name;
-
 
216
                                if ( isset( $_SESSION["SHOP"]["Lieferadresse"] ) && $_SESSION["SHOP"]["Lieferadresse"] == "abholung" )
-
 
217
                                {
-
 
218
                                    $name = "Abholung - " . $zRow->name;
-
 
219
                                    $preis = 0;
-
 
220
                                }
-
 
221
                                $beschreibung = $zRow->info_in_shop;
-
 
222
                                if ( $beschreibung && $vRow->info_shop )
-
 
223
                                {
-
 
224
                                    $beschreibung .= "<br/><br/>";
-
 
225
                                }
-
 
226
                                if ( $vRow->info_shop )
-
 
227
                                {
-
 
228
                                    $beschreibung .= $vRow->info_shop;
-
 
229
                                }
-
 
230
                                $beschreibung2 = $zRow->versandtextbaustein;
-
 
231
                                if ( $beschreibung2 && $row->versandtextbaustein )
-
 
232
                                {
-
 
233
                                    $beschreibung2 .= "<br><br/>";
-
 
234
                                }
-
 
235
                                if ( $row->versandtextbaustein )
-
 
236
                                {
-
 
237
                                    $beschreibung2 .= $row->versandtextbaustein;
-
 
238
                                }
-
 
239
                                if ( $beschreibung2 && $vRow->info_mail )
-
 
240
                                {
-
 
241
                                    $beschreibung2 .= "<br/><br/>";
-
 
242
                                }
-
 
243
                                if ( $vRow->info_mail )
-
 
244
                                {
-
 
245
                                    $beschreibung2 .= $vRow->info_mail;
-
 
246
                                }
-
 
247
                                $buffer[$zRow->internal_name . "_" . $vRow->id] = array(
-
 
248
                                    "additions"        => $vRow->additions,
-
 
249
                                    "ID"               => $zRow->internal_name . "_" . $vRow->id,
-
 
250
                                    "beschreibung"     => $beschreibung,
-
 
251
                                    "beschreibung2"    => $beschreibung2,
-
 
252
                                    "kurz"             => $name,
-
 
253
                                    "ultrakurz"        => $zRow->name,
-
 
254
                                    "preis"            => $preis,
-
 
255
                                    "gesamt"           => $preis,
-
 
256
                                    "rufname"          => $zRow->internal_name,
-
 
257
                                    "versand_abschlag" => $zRow->discount,
-
 
258
                                    "versandgruppe"    => $vgId,
-
 
259
                                    //"zahlart_index"    => $row->zahlart_index,
-
 
260
                                );
-
 
261
 
-
 
262
                            }
-
 
263
                        }
-
 
264
 
-
 
265
                    }
-
 
266
                }
-
 
267
                if ( is_countable( $vRow->additions ) )
-
 
268
                {
-
 
269
                    $zusaetze = array();
-
 
270
                    foreach ( $vRow->additions as $zId => $zusatz )
-
 
271
                    {
-
 
272
                        $sql = "SELECT
-
 
273
                                    beschreibung
-
 
274
                                FROM
-
 
275
                                    artikel
-
 
276
                                WHERE
-
 
277
                                    id=" . $zId . "
-
 
278
                            ";
-
 
279
                        $res = DB::select( $sql );
-
 
280
                        $row = $res[0];
-
 
281
                        $zusaetze[$zId] = $row->beschreibung;
-
 
282
                    }
-
 
283
                }
-
 
284
            }
-
 
285
            else
-
 
286
            {
-
 
287
                $sql = "
-
 
288
                    SELECT
-
 
289
                        v.*
-
 
290
                    FROM
-
 
291
                        shippings v
-
 
292
                    JOIN
-
 
293
                        shipping_countries vl
-
 
294
                    ON
-
 
295
                        vl.shipping_id=v.id    
-
 
296
                    WHERE
-
 
297
                        country_id=" . $Land . "
-
 
298
                ";
-
 
299
                $res = DB::select( $sql );
-
 
300
                foreach ( $res as $vRow )
-
 
301
                {
-
 
302
                    $vgId = $vRow->shipping_group_id;
-
 
303
                    $sql = "SELECT
-
 
304
                            z.name,
-
 
305
                            z.internal_name,
-
 
306
                            z.info_in_shop,
-
 
307
                            z.discount,
-
 
308
                            z.shipping_text AS versand_textbaustein
-
 
309
                        FROM
-
 
310
                            payment_methods z
-
 
311
                        JOIN
-
 
312
                            shipping_payment_methods vz
-
 
313
                        ON
-
 
314
                            vz.payment_method_id=z.id
-
 
315
                        WHERE
-
 
316
                            vz.shipping_id=" . $vRow->id . "
-
 
317
                    ";
-
 
318
                    if ( isset( $_GET['vRufname'] ) && is_numeric( $_GET['vRufname'] ) )
-
 
319
                    {
-
 
320
                        $sql .= " AND z.id = " . $_GET['vRufname'];
-
 
321
                    }
-
 
322
                    $resZ = DB::select( $sql );
-
 
323
                    foreach ( $resZ as $vzRow )
-
 
324
                    {
-
 
325
                        if ( $vzRow->internal_name != "nicht_belegt" )
-
 
326
                        {
-
 
327
                            $ini_name = $vzRow->internal_name;
-
 
328
                            if ( $ini_name == "sofortueberweisung" )
-
 
329
                            {
-
 
330
                                $ini_name = "ueberweisung";
-
 
331
                            }
-
 
332
                            if ( $GLOBALS["INI"]["PayPalPlus"]["aktiv"] != 1 )
-
 
333
                            {
-
 
334
                                //$row->description = ( str_replace( "\r\n", "<br>", $row->description ) );
-
 
335
                            }
-
 
336
                            if ( ( isset( $GLOBALS["INI"][$ini_name]["aktiv"] ) && $GLOBALS["INI"][$ini_name]["aktiv"] == 1 && $_SESSION["zahlarten"][$ini_name] !== false ) || !in_array( $vzRow->internal_name, $GLOBALS["zahlsysteme"] ) )
-
 
337
                            {
-
 
338
                                $preis = $vRow->price;
-
 
339
                                $name = $vRow->name . " - " . $vzRow->name;
-
 
340
                                if ( isset( $_SESSION["SHOP"]["Lieferadresse"] ) && $_SESSION["SHOP"]["Lieferadresse"] == "abholung" )
-
 
341
                                {
-
 
342
                                    $name = "Abholung - " . $vzRow->name;
-
 
343
                                    $preis = 0;
-
 
344
                                }
-
 
345
                                $beschreibung = $vzRow->info_in_shop;
-
 
346
                                if ( $beschreibung && $vRow->info_in_shop )
-
 
347
                                {
-
 
348
                                    $beschreibung .= "<br/><br/>";
-
 
349
                                }
-
 
350
                                if ( $vRow->info_shop )
-
 
351
                                {
-
 
352
                                    $beschreibung .= $vRow->info_shop;
-
 
353
                                }
-
 
354
                                /*$beschreibung2 = $vzRow->versandtextbaustein;
-
 
355
                                if ( $beschreibung2 && $vRow->versandtextbaustein )
-
 
356
                                {
-
 
357
                                    $beschreibung2 .= "<br><br/>";
-
 
358
                                }
-
 
359
                                if ( $vRow->versandtextbaustein )
-
 
360
                                {
-
 
361
                                    $beschreibung2 .= $vRow->versandtextbaustein;
-
 
362
                                }
-
 
363
                                if ( $beschreibung2 && $vRow->info_mail )
-
 
364
                                {
-
 
365
                                    $beschreibung2 .= "<br/><br/>";
-
 
366
				}*/
-
 
367
                                /*if ( $vRow->info_mail )
-
 
368
                                {
-
 
369
                                    $beschreibung2 .= $vRow->info_mail;
-
 
370
				}*/
-
 
371
                                $buffer[$vzRow->internal_name . "_" . $vRow->id] = array(
-
 
372
                                    "additions"            => $vRow->additions,
-
 
373
                                    "ID"                   => $vzRow->internal_name . "_" . $vRow->id,
-
 
374
                                    "beschreibung"         => $beschreibung,
-
 
375
                                    //"beschreibung2"        => $beschreibung2,
-
 
376
                                    "kurz"                 => $name,
-
 
377
                                    "ultrakurz"            => $vzRow->name,
-
 
378
                                    "preis"                => $preis,
-
 
379
                                    "gesamt"               => $preis,
-
 
380
                                    "rufname"              => $vzRow->internal_name,
-
 
381
                                    "versand_abschlag"     => $vzRow->discount,
-
 
382
                                    "versandgruppe"        => $vgId,
-
 
383
                                    //"zahlart_index"        => $vRow->zahlart_index,
-
 
384
                                    "berechnung_preis_von" => $vRow->calc_price_from,
-
 
385
                                    "berechnung_preis_bis" => $vRow->calc_price_to,
-
 
386
                                    "berechnung_kg_von"    => $vRow->calc_weight_from,
-
 
387
                                    "berechnung_kg_bis"    => $vRow->calc_weight_to,
-
 
388
                                );
-
 
389
                            }
-
 
390
                        }
-
 
391
                    }
-
 
392
                }
-
 
393
                ksort( $buffer );
-
 
394
            }
-
 
395
            return $buffer;
-
 
396
        }
-
 
397
 
-
 
398
        public function updateShipping()
-
 
399
        {
-
 
400
            if ( isset( $_GET["param"] ) && $_GET['param'] == "single" )
-
 
401
            {
-
 
402
                $_SESSION['versand_laenderauswahl'] = $_GET['Land'];
-
 
403
            }
-
 
404
 
-
 
405
            if ( $_GET["Land"] )
-
 
406
            {
-
 
407
                if ( isset( $_SESSION["SHOP"]["Lieferadresse"] ) && $_SESSION["SHOP"]["Lieferadresse"] !== "false" )
-
 
408
                {
-
 
409
                    $_SESSION['SHOP']['buy']['Persdata']['liefer_Land'] = $_GET["Land"];
-
 
410
                }
-
 
411
                else
-
 
412
                {
-
 
413
                    $_SESSION['SHOP']['buy']['Persdata']['Land'] = $_GET["Land"];
-
 
414
                }
-
 
415
            }
-
 
416
            /*trigger_error( $_GET["Land"] );
-
 
417
            trigger_error( $_SESSION['SHOP']['buy']['Persdata']['liefer_Land'] );
-
 
418
            trigger_error( $_SESSION['SHOP']['buy']['Persdata']['Land'] );*/
-
 
419
 
-
 
420
            if ( isset( $_GET["packstation"] ) && $_GET["packstation"] == 1 )
-
 
421
            {
-
 
422
                $_SESSION['SHOP']['buy']['Persdata']['liefer_Land'] = 47;
-
 
423
            }
-
 
424
            $pppVersand = "";
-
 
425
            if ( isset( $_SESSION["SHOP"]["BASKET"]->items ) )
-
 
426
            {
-
 
427
                $versandOptionen = $this->getShippingOptions();
-
 
428
                $v_opt = array();
-
 
429
                $wunschzustellung = 0;
-
 
430
                if ( is_countable( $versandOptionen ) )
-
 
431
                {
-
 
432
                    $oId = 0;
-
 
433
                    foreach ( $versandOptionen as $o_id => $opt )
-
 
434
                    {
-
 
435
                        if ( $opt["rufname"] == "amazon" || $opt["rufname"] == "PayPalExpress" || $opt["rufname"] == "klarna" )
-
 
436
                        {
-
 
437
                            continue;
-
 
438
                        }
-
 
439
                        elseif ( isset( $_GET["packstation"] ) && $_GET["packstation"] == 1 && !stristr( $opt["kurz"], "DHL" ) )
-
 
440
                        {
-
 
441
                            continue;
-
 
442
                        }
-
 
443
                        /*if ( $_GET["kurier"] == 1 && ( $opt->express != 1 || stristr( $opt->kurz, "selbstabholung" ) ) )
-
 
444
                        {
-
 
445
                            continue;
-
 
446
                        }*/
-
 
447
                        if ( !key_exists( "beschr", $opt ) )
-
 
448
                        {
-
 
449
                            $opt["beschr"] = $opt["beschreibung"];
-
 
450
                        }
-
 
451
                        $opt['beschr'] = str_replace( "\r\n", "<br>", $opt['beschr'] );
-
 
452
 
-
 
453
                        if ( ( isset( $_SESSION["SHOP"]["buy"]["Versand_selected"] ) && $_SESSION["SHOP"]["buy"]["Versand_selected"] == $opt["ID"] ) || ( !isset( $_SESSION["SHOP"]["buy"]["Versand_selected"] ) && $oId == 0 ) )
-
 
454
                        {
-
 
455
                            $opt["checked"] = 'checked="checked"';
-
 
456
                        }
-
 
457
                        $wunschzustellung = 0;
-
 
458
                        if ( $GLOBALS["INI"]["modules"]["versandgruppen"] == 1 && isset( $GLOBALS["INI"]["wunschzustellung"]["aktiv"] ) && $GLOBALS["INI"]["wunschzustellung"]["aktiv"] == 1 )
-
 
459
                        {
-
 
460
                            $wzVersandGruppen = array();
-
 
461
                            if ( isset( $GLOBALS["INI"]["wunschzustellung"]["versandgruppen"] ) && $GLOBALS["INI"]["wunschzustellung"]["versandgruppen"] )
-
 
462
                            {
-
 
463
                                $wzVersandGruppen = explode( ",", $GLOBALS["INI"]["wunschzustellung"]["versandgruppen"] );
-
 
464
                            }
-
 
465
                            if ( in_array( $opt["versandgruppe"], $wzVersandGruppen ) || !$wzVersandGruppen )
-
 
466
                            {
-
 
467
                                $wunschzustellung = 1;
-
 
468
                            }
-
 
469
                        }
-
 
470
                        $v_opt[] = $opt;
-
 
471
                        $oId++;
-
 
472
                    }
-
 
473
                    /*$GLOBALS["ui"]->assign( "wunschzustellung", $wunschzustellung );
-
 
474
                    $GLOBALS["ui"]->assign( "versandOptionen", $v_opt );*/
-
 
475
                    \View::share( "wunschzustellung", $wunschzustellung );
-
 
476
                    \View::share( "versandOptionen", $v_opt );
-
 
477
                }
-
 
478
                if ( $GLOBALS["INI"]["PayPalPlus"]["aktiv"] != 1 && $GLOBALS["INI"]["PayPalCheckout"]["aktiv"] != 1 )
-
 
479
                {
-
 
480
                    echo view( "update_versand" );
-
 
481
                }
-
 
482
                elseif ( isset( $GLOBALS["INI"]["weban_vk"]["aktiv"] ) && $GLOBALS["INI"]["weban_vk"]["aktiv"] == 1 && $_SESSION["is_b2b"] == 1 )
-
 
483
                {
-
 
484
                    if ( is_array( $versandOptionen ) )
-
 
485
                    {
-
 
486
                        foreach ( $versandOptionen as $o_id => $opt )
-
 
487
                        {
-
 
488
                            if ( strtolower( $opt["rufname"] ) == "paypalplus" || strtolower( $opt["rufname"] ) == "klarna" || strtolower( $opt["rufname"] ) == "paypalcheckout" )
-
 
489
                            {
-
 
490
                                $pppVersand = $opt["ID"];
-
 
491
                                break;
-
 
492
                            }
-
 
493
                        }
-
 
494
                        if ( $_GET["Land"] || $_GET["liefer"] )
-
 
495
                        {
-
 
496
                            echo $pppVersand;
-
 
497
                        }
-
 
498
                        else
-
 
499
                        {
-
 
500
                            \View::share( "ppplusVersand", $pppVersand );
-
 
501
                        }
-
 
502
                    }
-
 
503
                }
-
 
504
                else
-
 
505
                {
-
 
506
                    if ( isset( $_SESSION["SHOP"]["hash"] ) && $_SESSION["SHOP"]["hash"] )
-
 
507
                    {
-
 
508
                        $thirdPartyMethods = array();
-
 
509
                        $customMethods = array(
-
 
510
                            "vorkasse",
-
 
511
                            "selbstabholung",
-
 
512
                            "ratenzahlung",
-
 
513
                            "nachnahme",
-
 
514
                            "sofortueberweisung",
-
 
515
                        );
-
 
516
                        $buy_link_base = $GLOBALS["INI"]["absoluteURL"];
-
 
517
                        $buy_link_base = str_replace( "http:", "https:", $buy_link_base );
-
 
518
                        $url = $buy_link_base . "/bestellen_seite_2.html";
-
 
519
                        $methodNameField = "kurz";
-
 
520
                        if ( $GLOBALS["INI"]["PayPalPlus"]["methodNameField"] )
-
 
521
                        {
-
 
522
                            $methodNameField = $GLOBALS["INI"]["PayPalPlus"]["methodNameField"];
-
 
523
                        }
-
 
524
                        foreach ( $versandOptionen as $o_id => $opt )
-
 
525
                        {
-
 
526
                            $rufname = strtolower( $opt["rufname"] );
-
 
527
                            $opt["beschr"] = $opt["beschreibung"];
-
 
528
                            if ( in_array( $rufname, $customMethods ) )
-
 
529
                            {
-
 
530
                                if ( $methodNameField == "rufname" )
-
 
531
                                {
-
 
532
                                    $methodName = $GLOBALS["rufnamen"][$opt[$methodNameField]];
-
 
533
                                }
-
 
534
                                else
-
 
535
                                {
-
 
536
                                    $methodName = $opt["kurz"];
-
 
537
                                }
-
 
538
                                $method = array(
-
 
539
                                    "redirectUrl" => $url,
-
 
540
                                    "methodName"  => $methodName,
-
 
541
                                    "description" => $opt["beschr"],
-
 
542
                                );
-
 
543
                                $imgBase = "/images/webelemente/versand_";
-
 
544
                                $imgName = $imgBase . $rufname . ".jpg";
-
 
545
                                $imgUrl = "https://" . $_SERVER["SERVER_NAME"] . $imgName;
-
 
546
                                $imgNameFull = $_SERVER["DOCUMENT_ROOT"] . $imgName;
-
 
547
                                if ( $GLOBALS["INI"]["ssl_buy"] == 1 )
-
 
548
                                {
-
 
549
                                    if ( file_exists( $imgNameFull ) )
-
 
550
                                    {
-
 
551
                                        $method["imageUrl"] = $imgUrl;
-
 
552
                                    }
-
 
553
                                }
-
 
554
                                $thirdPartyMethods[] = $method;
-
 
555
                            }
-
 
556
                        }
-
 
557
                        $payPal3rdParty = json_encode( $thirdPartyMethods );
-
 
558
                        require_once "module/creditcard/paypalPlus.php";
-
 
559
                        $c = new paypalPlus();
-
 
560
                        $apporvalUrl = $c->getCreditcardStatus( null );
-
 
561
 
-
 
562
                        $GLOBALS["ui"]->assign( "paymentMethods", $payPal3rdParty );
-
 
563
                        $GLOBALS["ui"]->assign( "approvalUrl", $apporvalUrl );
-
 
564
                        if ( $_GET['account'] )
-
 
565
                        {
-
 
566
                            $GLOBALS["ui"]->assign( "account", "?account=" . $_GET['account'] );
-
 
567
                        }
-
 
568
 
-
 
569
 
-
 
570
                    }
-
 
571
                    if ( is_array( $versandOptionen ) )
-
 
572
                    {
-
 
573
                        foreach ( $versandOptionen as $o_id => $opt )
-
 
574
                        {
-
 
575
                            if ( strtolower( $opt["rufname"] ) == "paypalplus" || strtolower( $opt["rufname"] ) == "klarna" || strtolower( $opt["rufname"] ) == "paypalcheckout" )
-
 
576
                            {
-
 
577
                                $pppVersand = $opt["ID"];
-
 
578
                                break;
-
 
579
                            }
-
 
580
                        }
-
 
581
                        if ( $_GET["Land"] || $_GET["liefer"] )
-
 
582
                        {
-
 
583
                            return $pppVersand;
-
 
584
                        }
-
 
585
                        else
-
 
586
                        {
-
 
587
                            \View::share( "ppplusVersand", $pppVersand );
-
 
588
                            return view( "update_versand" );
-
 
589
                        }
15
        {