public function preparePage() { $this->P = new \HaaseIT\HCSF\CorePage($this->serviceManager); $this->P->cb_pagetype = 'content'; if (!CHelper::getUserData()) { $this->P->oPayload->cl_html = $this->textcats->T("denied_notloggedin"); } else { require_once PATH_BASEDIR . 'src/shop/functions.shoppingcart.php'; $this->P->cb_customcontenttemplate = 'shop/myorders'; if (isset($_GET["action"]) && $_GET["action"] == 'show' && isset($_GET["id"])) { $iId = \filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT); $sql = "SELECT * FROM " . 'orders WHERE o_id = :id AND o_custno = \'' . $_SESSION['user']['cust_no'] . '\' AND o_ordercompleted != \'d\''; $hResult = $this->db->prepare($sql); $hResult->bindValue(':id', $iId); $hResult->execute(); if ($hResult->rowCount() == 1) { $aOrder = $hResult->fetch(); $this->P->cb_customdata['orderdata']['ordertimestamp'] = date(HelperConfig::$core["locale_format_date_time"], $aOrder["o_ordertimestamp"]); $this->P->cb_customdata['orderdata']['orderremarks'] = $aOrder["o_remarks"]; $this->P->cb_customdata['orderdata']['paymentmethod'] = $this->textcats->T("order_paymentmethod_" . $aOrder["o_paymentmethod"]); $this->P->cb_customdata['orderdata']['paymentcompleted'] = $aOrder["o_paymentcompleted"] == 'y' ? $this->textcats->T("myorders_paymentstatus_completed") : $this->textcats->T("myorders_paymentstatus_open"); $this->P->cb_customdata['orderdata']['orderstatus'] = SHelper::showOrderStatusText($this->textcats, $aOrder["o_ordercompleted"]); $this->P->cb_customdata['orderdata']['shippingservice'] = $aOrder["o_shipping_service"]; $this->P->cb_customdata['orderdata']['trackingno'] = $aOrder["o_shipping_trackingno"]; $sql = 'SELECT * FROM orders_items WHERE oi_o_id = :id'; $hResult = $this->db->prepare($sql); $hResult->bindValue(':id', $iId); $hResult->execute(); $aItems = $hResult->fetchAll(); $aItemsforShoppingcarttable = []; foreach ($aItems as $aValue) { $aPrice = ['netto_use' => $aValue["oi_price_netto_use"], 'brutto_use' => $aValue["oi_price_brutto_use"]]; $aItemsforShoppingcarttable[$aValue["oi_cartkey"]] = ['amount' => $aValue["oi_amount"], 'price' => $aPrice, 'vat' => $aValue["oi_vat"], 'name' => $aValue["oi_itemname"], 'img' => $aValue["oi_img"]]; } $aShoppingcart = SHelper::buildShoppingCartTable($aItemsforShoppingcarttable, true, '', '', $aOrder["o_vatfull"], $aOrder["o_vatreduced"]); } else { $this->P->cb_customdata['ordernotfound'] = true; } } else { $COList = [['title' => $this->textcats->T("order_head_orderdate"), 'key' => 'o_ordertime', 'width' => 110, 'linked' => false], ['title' => $this->textcats->T("order_head_paymenthethod"), 'key' => 'o_paymentmethod', 'width' => 125, 'linked' => false], ['title' => $this->textcats->T("order_head_paid"), 'key' => 'o_paymentcompleted', 'width' => 60, 'linked' => false], ['title' => $this->textcats->T("order_head_status"), 'key' => 'o_order_status', 'width' => 80, 'linked' => false], ['title' => $this->textcats->T("order_head_shipping_service"), 'key' => 'o_shipping_service', 'width' => 90, 'linked' => false], ['title' => $this->textcats->T("order_head_shipping_trackingno"), 'key' => 'o_shipping_trackingno', 'width' => 130, 'linked' => false], ['title' => $this->textcats->T("order_show"), 'key' => 'o_id', 'width' => 120, 'linked' => true, 'ltarget' => '/_misc/myorders.html', 'lkeyname' => 'id', 'lgetvars' => ['action' => 'show']]]; $this->P->cb_customdata['listmyorders'] = $this->showMyOrders($COList); } if (isset($aShoppingcart)) { $this->P->cb_customdata['shoppingcart'] = $aShoppingcart['shoppingcart']; } } }
/** * */ public function preparePage() { $this->P = new \HaaseIT\HCSF\CorePage($this->serviceManager); $this->P->cb_pagetype = 'content'; $_SESSION["formsave_addrform"]["country"] = $_POST["country"]; \HaaseIT\HCSF\Shop\Helper::buildShoppingCartTable($_SESSION["cart"]); header("Content-Type: text/html; charset=UTF-8"); $return = '<div>'; $return .= '<div id="shippingcostbrutto_new">' . number_format($_SESSION["cartpricesums"]["fVersandkostenbrutto"], HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '<div id="vatfull_new">' . number_format(round($_SESSION["cartpricesums"]["fSteuervoll"], 2), HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '<div id="totalbrutto_new">' . number_format(round($_SESSION["cartpricesums"]["fGesamtbrutto"], 2), HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '<div id="shippingcostnetto_new">' . number_format($_SESSION["cartpricesums"]["fVersandkostennetto"], HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '<div id="vatreduced_new">' . number_format(round($_SESSION["cartpricesums"]["fSteuererm"], 2), HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '<div id="totalnetto_new">' . number_format(round($_SESSION["cartpricesums"]["fGesamtnetto"], 2), HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . '</div>'; $return .= '</div>'; die($return); }
/** * @param $CSA * @return array */ private function handleShopAdmin($CSA) { $aSData = []; $aData = []; if (!isset($_GET["action"])) { $bIgnoreStorno = false; $sql = 'SELECT * FROM orders WHERE '; if (!isset($_REQUEST["type"]) or $_REQUEST["type"] == 'openinwork') { $sql .= "(o_ordercompleted = 'n' OR o_ordercompleted = 'i') "; } elseif ($_REQUEST["type"] == 'closed') { $sql .= "o_ordercompleted = 'y' "; } elseif ($_REQUEST["type"] == 'open') { $sql .= "o_ordercompleted = 'n' "; } elseif ($_REQUEST["type"] == 'inwork') { $sql .= "o_ordercompleted = 'i' "; } elseif ($_REQUEST["type"] == 'storno') { $sql .= "o_ordercompleted = 's' "; } elseif ($_REQUEST["type"] == 'deleted') { $sql .= "o_ordercompleted = 'd' "; } elseif ($_REQUEST["type"] == 'all') { $sql .= "o_ordercompleted != 'd' "; $bIgnoreStorno = true; } else { die(HardcodedText::get('shopadmin_error_invalidrequest')); } $bFromTo = false; $sFrom = null; $sTo = null; if (isset($_REQUEST["type"]) && ($_REQUEST["type"] == 'deleted' or $_REQUEST["type"] == 'all' or $_REQUEST["type"] == 'closed')) { $sql .= "AND "; $sFrom = \filter_var($_REQUEST["fromyear"], FILTER_SANITIZE_NUMBER_INT) . '-' . Tools::dateAddLeadingZero(\filter_var($_REQUEST["frommonth"], FILTER_SANITIZE_NUMBER_INT)); $sFrom .= '-' . Tools::dateAddLeadingZero(\filter_var($_REQUEST["fromday"], FILTER_SANITIZE_NUMBER_INT)); $sTo = \filter_var($_REQUEST["toyear"], FILTER_SANITIZE_NUMBER_INT) . '-' . Tools::dateAddLeadingZero(\filter_var($_REQUEST["tomonth"], FILTER_SANITIZE_NUMBER_INT)); $sTo .= '-' . Tools::dateAddLeadingZero(\filter_var($_REQUEST["today"], FILTER_SANITIZE_NUMBER_INT)); $sql .= "o_orderdate >= :from "; $sql .= "AND o_orderdate <= :to "; $bFromTo = true; } $sql .= "ORDER BY o_ordertimestamp DESC"; $hResult = $this->db->prepare($sql); if ($bFromTo) { $hResult->bindValue(':from', $sFrom); $hResult->bindValue(':to', $sTo); } $hResult->execute(); if ($hResult->rowCount() != 0) { $i = 0; $j = 0; $k = 0; $fGesamtnetto = 0.0; while ($aRow = $hResult->fetch()) { if ($aRow["o_ordercompleted"] == 'y') { $sStatus = '<span style="color: green; font-weight: bold;">' . HardcodedText::get('shopadmin_orderstatus_completed') . '</span>'; } elseif ($aRow["o_ordercompleted"] == 'n') { $sStatus = '<span style="color: orange; font-weight: bold;">' . HardcodedText::get('shopadmin_orderstatus_open') . '</span>'; } elseif ($aRow["o_ordercompleted"] == 'i') { $sStatus = '<span style="color: orange;">' . HardcodedText::get('shopadmin_orderstatus_inwork') . '</span>'; } elseif ($aRow["o_ordercompleted"] == 's') { $sStatus = '<span style="color: red; font-weight: bold;">' . HardcodedText::get('shopadmin_orderstatus_canceled') . '</span>'; } elseif ($aRow["o_ordercompleted"] == 'd') { $sStatus = HardcodedText::get('shopadmin_orderstatus_deleted'); } else { $sStatus = ''; } if ($aRow["o_paymentcompleted"] == 'y') { $sZahlungsmethode = '<span style="color: green;">'; } else { $sZahlungsmethode = '<span style="color: red;">'; } $mZahlungsmethode = $this->serviceManager->get('textcats')->T("order_paymentmethod_" . $aRow["o_paymentmethod"], true); if ($mZahlungsmethode) { $sZahlungsmethode .= $mZahlungsmethode; } else { $sZahlungsmethode .= ucwords($aRow["o_paymentmethod"]); } $sZahlungsmethode .= '</span>'; if (trim($aRow["o_corpname"]) == '') { $sName = $aRow["o_name"]; } else { $sName = $aRow["o_corpname"]; } $aData[] = ['o_id' => $aRow["o_id"], 'o_account_no' => $aRow["o_custno"], 'o_email' => $aRow["o_email"], 'o_cust' => $sName . '<br>' . $aRow["o_zip"] . ' ' . $aRow["o_town"], 'o_authed' => $aRow["o_authed"], 'o_sumnettoall' => number_format($aRow["o_sumnettoall"], HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . ' ' . HelperConfig::$shop["waehrungssymbol"] . ($aRow["o_mindermenge"] != 0 && $aRow["o_mindermenge"] != '' ? '<br>+' . number_format($aRow["o_mindermenge"], HelperConfig::$core['numberformat_decimals'], HelperConfig::$core['numberformat_decimal_point'], HelperConfig::$core['numberformat_thousands_seperator']) . ' ' . HelperConfig::$shop["waehrungssymbol"] : ''), 'o_order_status' => $sStatus . (trim($aRow["o_lastedit_user"]) != '' ? '<br>' . $aRow["o_lastedit_user"] : ''), 'o_ordertime_number' => date(HelperConfig::$core['locale_format_date_time'], $aRow["o_ordertimestamp"]) . (trim($aRow["o_transaction_no"]) != '' ? '<br>' . $aRow["o_transaction_no"] : ''), 'o_order_host_payment' => $sZahlungsmethode . '<br>' . $aRow["o_srv_hostname"]]; if (!($aRow["o_ordercompleted"] == 's' && $bIgnoreStorno)) { $fGesamtnetto += $aRow["o_sumnettoall"]; $j++; } else { $k++; } $i++; } $aSData['listtable_orders'] = Tools::makeListtable($CSA["list_orders"], $aData, $this->serviceManager->get('twig')); $aSData['listtable_i'] = $i; $aSData['listtable_j'] = $j; $aSData['listtable_k'] = $k; $aSData['listtable_gesamtnetto'] = $fGesamtnetto; } else { $aSData['nomatchingordersfound'] = true; } } elseif (isset($_GET["action"]) && $_GET["action"] == 'edit') { $iId = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT); $sql = 'SELECT * FROM orders WHERE o_id = :id'; /** @var \PDOStatement $hResult */ $hResult = $this->db->prepare($sql); $hResult->bindValue(':id', $iId); $hResult->execute(); if ($hResult->rowCount() == 1) { $aSData["orderdata"] = $hResult->fetch(); $sql = 'SELECT * FROM orders_items WHERE oi_o_id = :id'; $hResult = $this->db->prepare($sql); $hResult->bindValue(':id', $iId); $hResult->execute(); $aItems = $hResult->fetchAll(); $aUserdata = ['cust_no' => $aSData["orderdata"]["o_custno"], 'cust_email' => $aSData["orderdata"]["o_email"], 'cust_corp' => $aSData["orderdata"]["o_corpname"], 'cust_name' => $aSData["orderdata"]["o_name"], 'cust_street' => $aSData["orderdata"]["o_street"], 'cust_zip' => $aSData["orderdata"]["o_zip"], 'cust_town' => $aSData["orderdata"]["o_town"], 'cust_phone' => $aSData["orderdata"]["o_phone"], 'cust_cellphone' => $aSData["orderdata"]["o_cellphone"], 'cust_fax' => $aSData["orderdata"]["o_fax"], 'cust_country' => $aSData["orderdata"]["o_country"], 'cust_group' => $aSData["orderdata"]["o_group"]]; $aSData["customerform"] = \HaaseIT\HCSF\Customer\Helper::buildCustomerForm(HelperConfig::$lang, 'shopadmin', '', $aUserdata); $aSData["orderdata"]["options_shippingservices"] = ['']; foreach (HelperConfig::$shop["shipping_services"] as $sValue) { $aSData["orderdata"]["options_shippingservices"][] = $sValue; } $aItemsCarttable = []; foreach ($aItems as $aValue) { $aPrice = ['netto_list' => $aValue["oi_price_netto_list"], 'netto_sale' => $aValue["oi_price_netto_sale"], 'netto_rebated' => $aValue["oi_price_netto_rebated"], 'netto_use' => $aValue["oi_price_netto_use"], 'brutto_use' => $aValue["oi_price_brutto_use"]]; //$aPrice = $oItem->calcPrice($aValue["oi_price_netto"], HelperConfig::$shop["vat"][$aValue["oi_vat_id"]], '', true); $aItemsCarttable[$aValue["oi_cartkey"]] = ['amount' => $aValue["oi_amount"], 'price' => $aPrice, 'vat' => $aValue["oi_vat"], 'rg' => $aValue["oi_rg"], 'rg_rebate' => $aValue["oi_rg_rebate"], 'name' => $aValue["oi_itemname"], 'img' => $aValue["oi_img"]]; } $aSData = array_merge(\HaaseIT\HCSF\Shop\Helper::buildShoppingCartTable($aItemsCarttable, true, $aSData["orderdata"]["o_group"], '', $aSData["orderdata"]["o_vatfull"], $aSData["orderdata"]["o_vatreduced"]), $aSData); } else { $aSData['ordernotfound'] = true; } } return $aSData; }
/** * @param bool $bCust * @param int $iId * @return mixed */ private function buildOrderMailBody($bCust = true, $iId = 0) { $aSHC = SHelper::buildShoppingCartTable($_SESSION["cart"], true); $aData = ['customerversion' => $bCust, 'datetime' => date("d.m.Y - H:i"), 'custno' => isset($this->post["custno"]) && strlen(trim($this->post["custno"])) >= HelperConfig::$customer["minimum_length_custno"] ? $this->post["custno"] : '', 'corpname' => $this->getPostValue('corpname'), 'name' => $this->getPostValue('name'), 'street' => $this->getPostValue('street'), 'zip' => $this->getPostValue('zip'), 'town' => $this->getPostValue('town'), 'phone' => $this->getPostValue('phone'), 'cellphone' => $this->getPostValue('cellphone'), 'fax' => $this->getPostValue('fax'), 'email' => $this->getPostValue('email'), 'country' => isset($this->post["country"]) && trim($this->post["country"]) != '' ? isset(HelperConfig::$countries["countries_" . HelperConfig::$lang][$this->post["country"]]) ? HelperConfig::$countries["countries_" . HelperConfig::$lang][$this->post["country"]] : $this->post["country"] : '', 'remarks' => $this->getPostValue('remarks'), 'tos' => $this->getPostValue('tos'), 'cancellationdisclaimer' => $this->getPostValue('cancellationdisclaimer'), 'paymentmethod' => $this->getPostValue('paymentmethod'), 'shippingcost' => !isset($_SESSION["shippingcost"]) || $_SESSION["shippingcost"] == 0 ? false : $_SESSION["shippingcost"], 'paypallink' => isset($this->post["paymentmethod"]) && $this->post["paymentmethod"] == 'paypal' ? $_SERVER["SERVER_NAME"] . '/_misc/paypal.html?id=' . $iId : '', 'sofortueberweisunglink' => isset($this->post["paymentmethod"]) && $this->post["paymentmethod"] == 'sofortueberweisung' ? $_SERVER["SERVER_NAME"] . '/_misc/sofortueberweisung.html?id=' . $iId : '', 'SESSION' => !$bCust ? Tools::debug($_SESSION, '$_SESSION', true, true) : '', 'POST' => !$bCust ? Tools::debug($this->post, '$this->post', true, true) : '', 'orderid' => $iId]; $aM["customdata"] = $aSHC; $aM['currency'] = HelperConfig::$shop["waehrungssymbol"]; if (isset(HelperConfig::$shop["custom_order_fields"])) { $aM["custom_order_fields"] = HelperConfig::$shop["custom_order_fields"]; } $aM["customdata"]["mail"] = $aData; return $this->serviceManager->get('twig')->render('shop/mail-order-html.twig', $aM); }