Revision 842 | Revision 860 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use Illuminate\Support\Facades\DB;class ShippingController extends Controller{public function getShippingOptions(): array{$Land = 47;$buffer = array();$rufnamen = array();$sql = "SELECTz.id,z.internal_nameFROMpayment_methods zJOINshipping_payment_methods vzONvz.payment_method_id=z.id";$r = DB::connection( 'mysql' )->select( $sql );$rufnamen[] = "- Bezahlarten -";foreach ( $r as $row ){$ini_name = $row->internal_name;if ( $row->internal_name == "sofortueberweisung" ){$ini_name = "ueberweisung";}if ( !isset( $_SESSION["zahlarten"][$ini_name] ) ){$_SESSION["zahlarten"][$ini_name] = true;}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"] ) ){$rufnamen[$row->id] = $row->internal_name;}}if ( $_SESSION["SHOP"]["BASKET"]->items ){$vgruppen = array();$preis = $_SESSION["SHOP"]["BASKET"]->paymentInfo["Total"];$gewicht = $_SESSION["SHOP"]["BASKET"]->getBasketGewicht();foreach ( $_SESSION["SHOP"]["BASKET"]->items as $artikel ){if ( $artikel->spedId ){$vgruppen[] = $artikel->spedId;}elseif ( $artikel->versandgruppen_id ){$vgruppen[] = $artikel->versandgruppen_id;}}$vgruppen = array_unique( $vgruppen );$sql = "SELECTMAX(rank) AS rankFROMshipping_groupsWHEREid IN(" . implode( ",", $vgruppen ) . ")";$r = DB::select( $sql );$row = $r[0];$rang = $row->rank;$sql = "SELECTid,name,conditions,shipping_text AS versandtextbaustein-- zahlart_indexFROMshipping_groups vgWHERErank=" . $rang . "";$r = DB::select( $sql );$row = $r[0];$vgId = $row->id;$bedingungen = explode( ";", $row->conditions );$sqlCondArr = array();if ( in_array( "preis", $bedingungen ) ){$sqlCondArr[] = "((" . $preis . " >= calc_price_from AND " . $preis . " <= calc_price_to) OR (calc_price_from=calc_price_to))";}if ( in_array( "gewicht", $bedingungen ) ){$sqlCondArr[] = "((" . $gewicht . " >= calc_weight_from AND " . $gewicht . " <= calc_weight_to)OR (calc_weight_from = calc_weight_to))";}$sql = "SELECTv.*FROMshippings vJOINshipping_countries vlONvl.shipping_id=v.idWHEREshipping_group_id=" . $vgId . "ANDstatus = 0ANDcountry_id=" . $Land . "";if ( isset( $_SESSION["SHOP"]["vIsland"] ) && $_SESSION["SHOP"]["vIsland"] ){//Insel ausgewählt ==> Versandoption darf NICHT auf "kein Inselversand" (Wert: 1) stehen!$sqlCondArr [] = " island_shipping IN (0,2) ";}else{$sqlCondArr [] = " island_shipping IN (0,1) ";}if ( $sqlCondArr ){$sqlCond = implode( " AND ", $sqlCondArr );$sql .= "AND" . $sqlCond . "";}$vR = DB::select( $sql );if ( !count( $vR ) ){$_SESSION["versandFehler"] = "Wir versenden NICHT an diese Adresse! Bitte geben Sie eine andere Adresse ein!";}foreach ( $vR as $vRow ){/*if ( $param == "single" ){if ( $vRow->name && $_SESSION['SHOP']['BASKET']->paymentInfo["Total"] ){$summeInklVersand = $vRow->price + $_SESSION['SHOP']['BASKET']->paymentInfo["Total"];$vkSummeLaender['price'] = $vRow->price;$vkSummeLaender['name'] = $vRow->name;$fmt = new NumberFormatter( "de_DE.UTF-8", NumberFormatter::CURRENCY );$vkSummeLaender['price_formatted'] = $fmt->formatCurrency( $vRow->price, "EUR" );$vkSummeLaender['summe_formatted'] = $fmt->formatCurrency( $summeInklVersand, "EUR" );}else{echo "<div class=''>Fehler: Keine Versandart gefunden!</div>\n";}return true;}*/if ( $vRow->additions ){$vRow->additions = unserialize( $vRow->additions );}$sql = "SELECTz.id,z.name,z.internal_name,z.discount,z.shipping_text AS versandtextbaustein,z.info_in_shopFROMshipping_payment_methods vzJOINpayment_methods zONz.id=vz.payment_method_idWHEREshipping_id=" . $vRow->id . "";if ( isset( $_GET['vRufname'] ) && is_numeric( $_GET['vRufname'] ) ){$sql .= " AND z.id = " . $_GET['vRufname'];}$zR = DB::select( $sql );foreach ( $zR as $zRow ){if ( $zRow->internal_name != "nicht_belegt" ){$ini_name = $zRow->internal_name;if ( $ini_name == "sofortueberweisung" ){$ini_name = "ueberweisung";}if ( $GLOBALS["INI"]["PayPalPlus"]["aktiv"] != 1 ){$row->name = ( str_replace( "\r\n", "<br>", $row->name ) );}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"] ) ){$preis = $vRow->price;$name = $vRow->name . " - " . $zRow->name;if ( isset( $_SESSION["SHOP"]["Lieferadresse"] ) && $_SESSION["SHOP"]["Lieferadresse"] == "abholung" ){$name = "Abholung - " . $zRow->name;$preis = 0;}$beschreibung = $zRow->info_in_shop;if ( $beschreibung && $vRow->info_shop ){$beschreibung .= "<br/><br/>";}if ( $vRow->info_shop ){$beschreibung .= $vRow->info_shop;}$beschreibung2 = $zRow->versandtextbaustein;if ( $beschreibung2 && $row->versandtextbaustein ){$beschreibung2 .= "<br><br/>";}if ( $row->versandtextbaustein ){$beschreibung2 .= $row->versandtextbaustein;}if ( $beschreibung2 && $vRow->info_mail ){$beschreibung2 .= "<br/><br/>";}if ( $vRow->info_mail ){$beschreibung2 .= $vRow->info_mail;}$buffer[$zRow->internal_name . "_" . $vRow->id] = array("additions" => $vRow->additions,"ID" => $zRow->internal_name . "_" . $vRow->id,"beschreibung" => $beschreibung,"beschreibung2" => $beschreibung2,"kurz" => $name,"ultrakurz" => $zRow->name,"preis" => $preis,"gesamt" => $preis,"rufname" => $zRow->internal_name,"versand_abschlag" => $zRow->discount,"versandgruppe" => $vgId,//"zahlart_index" => $row->zahlart_index,);}}}if ( is_countable( $vRow->additions ) ){$zusaetze = array();foreach ( $vRow->additions as $zId => $zusatz ){$sql = "SELECTbeschreibungFROMartikelWHEREid=" . $zId . "";$res = DB::select( $sql );$row = $res[0];$zusaetze[$zId] = $row->beschreibung;}}}}else{$sql = "SELECTv.*FROMshippings vJOINshipping_countries vlONvl.shipping_id=v.idWHEREcountry_id=" . $Land . "";$res = DB::select( $sql );foreach ( $res as $vRow ){$vgId = $vRow->shipping_group_id;$sql = "SELECTz.name,z.internal_name,z.info_in_shop,z.discount,z.shipping_text AS versand_textbausteinFROMpayment_methods zJOINshipping_payment_methods vzONvz.payment_method_id=z.idWHEREvz.shipping_id=" . $vRow->id . "";if ( isset( $_GET['vRufname'] ) && is_numeric( $_GET['vRufname'] ) ){$sql .= " AND z.id = " . $_GET['vRufname'];}$resZ = DB::select( $sql );foreach ( $resZ as $vzRow ){if ( $vzRow->internal_name != "nicht_belegt" ){$ini_name = $vzRow->internal_name;if ( $ini_name == "sofortueberweisung" ){$ini_name = "ueberweisung";}if ( $GLOBALS["INI"]["PayPalPlus"]["aktiv"] != 1 ){//$row->description = ( str_replace( "\r\n", "<br>", $row->description ) );}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"] ) ){$preis = $vRow->price;$name = $vRow->name . " - " . $vzRow->name;if ( isset( $_SESSION["SHOP"]["Lieferadresse"] ) && $_SESSION["SHOP"]["Lieferadresse"] == "abholung" ){$name = "Abholung - " . $vzRow->name;$preis = 0;}$beschreibung = $vzRow->info_in_shop;if ( $beschreibung && $vRow->info_in_shop ){$beschreibung .= "<br/><br/>";}if ( $vRow->info_shop ){$beschreibung .= $vRow->info_shop;}/*$beschreibung2 = $vzRow->versandtextbaustein;if ( $beschreibung2 && $vRow->versandtextbaustein ){$beschreibung2 .= "<br><br/>";}if ( $vRow->versandtextbaustein ){$beschreibung2 .= $vRow->versandtextbaustein;}if ( $beschreibung2 && $vRow->info_mail ){$beschreibung2 .= "<br/><br/>";}*//*if ( $vRow->info_mail ){$beschreibung2 .= $vRow->info_mail;}*/$buffer[$vzRow->internal_name . "_" . $vRow->id] = array("additions" => $vRow->additions,"ID" => $vzRow->internal_name . "_" . $vRow->id,"beschreibung" => $beschreibung,//"beschreibung2" => $beschreibung2,"kurz" => $name,"ultrakurz" => $vzRow->name,"preis" => $preis,"gesamt" => $preis,"rufname" => $vzRow->internal_name,"versand_abschlag" => $vzRow->discount,"versandgruppe" => $vgId,//"zahlart_index" => $vRow->zahlart_index,"berechnung_preis_von" => $vRow->calc_price_from,"berechnung_preis_bis" => $vRow->calc_price_to,"berechnung_kg_von" => $vRow->calc_weight_from,"berechnung_kg_bis" => $vRow->calc_weight_to,);}}}}ksort( $buffer );}return $buffer;}}