Exemple #1
0
 static function createOrder($basket, $method)
 {
     // fill customer record; added 2011-08-20
     $customer = ORM::factory("customer");
     $customer->title = $basket->title;
     $customer->initials = $basket->initials;
     $customer->insertion = $basket->insertion;
     $customer->name = $basket->name;
     $customer->street = $basket->street;
     $customer->housenumber = $basket->house;
     $customer->postalcode = $basket->postcode;
     $customer->town = $basket->town;
     $customer->email = $basket->email;
     $customer->phone = $basket->phone;
     //    $customer->childname=$basket->childname;
     //    $customer->childgroup=$basket->childgroup;
     $customer->deliverypref = $basket->ispp();
     $customer->save();
     $order = ORM::factory("order");
     $order->text = "processing";
     $order->customerid = $customer->id;
     $order->save();
     $ordernumber = basket::getOrderPrefix() . $order->id;
     $order_bankaccount = basket::getOrderBankAccount();
     $order_accountowner = basket::getOrderAccountOwner();
     $order_email_closing = basket::getOrderEmailClosing();
     //$admin_address = basket::getEmailAddress();
     $website = basket::getWebsite();
     $postage = $basket->postage_cost();
     $product_cost = $basket->cost();
     $street = $basket->street;
     $fullname = basket::createFullName($basket);
     $ppon = $basket->ispp();
     if ($ppon) {
         $total_cost = $product_cost + $postage;
     } else {
         $total_cost = $product_cost;
     }
     // added Dutch mailtext JtK
     //set the timezone to show correct order time
     date_default_timezone_set('Europe/Amsterdam');
     $text = "U kunt betalen door het totaalbedrag over te maken op de bankrekening van %webshop.\r\nTotaalbedrag: " . basket::formatMoneyForMail($total_cost) . "\r\nRekeningnummer: " . $order_bankaccount . "\r\n tnv " . $order_accountowner . "\r\n ovv bestelnummer " . $ordernumber . "\r\n\r\nDe aflevering vindt plaats circa 10 werkdagen nadat uw betaling is ontvangen door %webshop.\r\nVoor vragen of opmerkingen over uw bestelling kunt u contact opnemen via bestelling@%website.\r\n\r\nBESTELGEGEVENS\r\nBestelnummer: " . $ordernumber . "\r\nBesteld op " . date("d-m-Y G:i") . "\r\n\r\nBestemd voor:\r\n  " . $fullname . "";
     if ($street != "") {
         $text = $text . "\r\n  " . $basket->street . " " . $basket->house . "\r\n  " . $basket->postcode . " " . $basket->town . "";
     }
     $text = $text . "\r\n\r\n  E-mail: " . $basket->email . "";
     if ($basket->phone != "") {
         $text = $text . "\r\n  Telefoon: " . $basket->phone . "\r\n";
     }
     if ($basket->comments != "") {
         $text = $text . "\r\nOpmerking bij de bestelling: " . $basket->comments . "\r\n";
     }
     $text = $text . "\r\n\r\nBestelbedrag: " . basket::formatMoneyForMail($product_cost);
     // continue with payment details
     // posting by normal mail
     if ($ppon && $postage > 0) {
         $method = Order_Model::DELIVERY_MAIL;
         $text = $text . "\r\nVerpakkings- en verzendkosten: " . basket::formatMoneyForMail($postage) . "\r\nBestelling wordt verstuurd via post.";
     } elseif (!$ppon && $postage > 0) {
         $method = Order_Model::DELIVERY_PICKUP;
         $text = $text . "\r\nBestelling afhalen bij %pickup_location.";
     } else {
         $method = Order_Model::DELIVERY_EMAIL;
         $text = $text . "\r\nBestelling wordt verstuurd via e-mail.";
     }
     $text = $text . "\r\nTotaalbedrag: " . basket::formatMoneyForMail($total_cost) . "";
     // continue with order details
     $text = $text . "\r\n\t\t\r\nBestelde foto's:";
     // create the order items
     foreach ($basket->contents as $basket_item) {
         $item = $basket_item->getItem();
         $prod = ORM::factory("product", $basket_item->product);
         $text = $text . "\r\n-> " . $item->title . "\r\n   " . $prod->name . " - " . $prod->description . "\r\n   aantal: " . $basket_item->quantity . " a " . basket::formatMoneyForMail($prod->cost) . "\r\n";
     }
     // continue with footer
     $text = $text . "\r\n" . $order_email_closing . "";
     //replace variables
     $text = basket::replaceStringsAll($text, $order);
     $order->name = $fullname;
     $order->email = $basket->email;
     $order->cost = $total_cost;
     $order->text = $text;
     $order->status = Order_Model::WAITING_PAYMENT;
     $order->method = $method;
     $order->save();
     //$basket->clear();
     return $order;
 }