Exemple #1
0
 static function populateForm($form)
 {
     $form->configure->email->value(basket::getEmailAddress());
     $form->configure->paypal->checked(basket::isPaypal());
     $form->configure->paypal_account->value(basket::getPaypalAccount());
     $form->configure->currency->selected(basket::getCurrency());
 }
 public function complete()
 {
     access::verify_csrf();
     $basket = Session_Basket::get();
     //$admin_address = basket::getEmailAddress();
     $admin_email = "Order for :\n" . $basket->name . "\n" . $basket->house . "\n" . $basket->street . "\n" . $basket->suburb . "\n" . $basket->town . "\n" . $basket->postcode . "\n" . $basket->email . "\n" . $basket->phone . "\nPlaced at " . date("d F Y - H:i", time()) . "\nTotal Owed " . $basket->cost() . " in " . basket::getCurrency() . "\n\nItems Ordered:\n\n";
     // create the order items
     foreach ($basket->contents as $basket_item) {
         $item = $basket_item->getItem();
         $prod = ORM::factory("product", $basket_item->product);
         $admin_email = $admin_email . "\n" . $item->title . " - " . $item->url() . "\n" . $prod->name . " - " . $prod->description . "\n" . $basket_item->quantity . " @ " . $prod->cost . "\n\n";
     }
     $from = "From: " . basket::getEmailAddress();
     mail(basket::getEmailAddress(), "Order from " . $basket->name, $admin_email, $from);
     $basket->clear();
     $template = new Theme_View("page.html", "basket");
     $view = new View("order_complete.html");
     $template->content = $view;
     print $template;
 }
Exemple #3
0
 static function formatMoneyForMail($money)
 {
     return basket::getCurrency() . " " . number_format($money, 2, ',', '.');
 }
Exemple #4
0
 public function process($session_basket, $return_url, $cancel_url, $notify_url)
 {
     $this->add_field('rm', '2');
     $this->add_field('cmd', '_cart');
     $this->add_field('upload', '1');
     $this->add_field('currency_code', basket::getCurrency());
     $this->add_field('business', basket::getPaypalAccount());
     // IPN stuff
     $this->add_field('return', $return_url);
     $this->add_field('cancel_return', $cancel_url);
     $this->add_field('notify_url', $notify_url);
     // postage
     if ($session_basket->ispp()) {
         $postage = $session_basket->postage_cost();
         if ($postage > 0) {
             $this->add_field('shipping_1', $postage);
         }
     }
     // basket contents
     $id = 1;
     foreach ($session_basket->contents as $key => $basket_item) {
         $this->add_field("item_name_{$id}", $basket_item->getCode());
         $this->add_field("amount_{$id}", $basket_item->cost_per);
         $this->add_field("quantity_{$id}", $basket_item->quantity);
         $id++;
     }
     // shipping address
     $this->add_field("payer_email", $session_basket->email);
     $this->add_field("address_name", $session_basket->name);
     $this->add_field("address_street", $session_basket->house . " " . $session_basket->street);
     $this->add_field("address_city", $session_basket->town);
     $this->add_field("address_zip", $session_basket->postcode);
     $this->add_field("contact_phone", $session_basket->phone);
     $string = "<form method=\"post\" name=\"paypal_form\" " . "action=\"" . $this->paypal_url . "\">\n";
     foreach ($this->fields as $name => $value) {
         $string = $string . "<input type=\"hidden\" name=\"{$name}\" value=\"{$value}\"/>\n";
     }
     $string = $string . "</form><script>function s_f(){document.forms[\"paypal_form\"].submit();}; window.setTimeout(s_f,20);</script>";
     return $string;
 }
Exemple #5
0
 static function createOrder($basket, $method)
 {
     $order = ORM::factory("order");
     $order->text = "processing";
     $order->save();
     $ordernumber = basket::getOrderPrefix() . $order->id;
     //$admin_address = basket::getEmailAddress();
     $postage = $basket->postage_cost();
     $product_cost = $basket->cost();
     $ppon = $basket->ispp();
     $text = "\n    Order Number : " . $ordernumber . "\n\n    for :\n" . $basket->name . "\n" . $basket->house . "\n" . $basket->street . "\n" . $basket->suburb . "\n" . $basket->town . "\n" . $basket->postcode . "\n" . $basket->email . "\n" . $basket->phone . "\nPlaced at " . date("d F Y - H:i", time()) . "\nCost of Ordered Products = " . $product_cost;
     if ($ppon) {
         $text = $text . "\nPostage and Packaging Costs + " . $postage . "\nTotal Owed " . ($product_cost + $postage) . " Total in " . basket::getCurrency();
     } else {
         $text = $text . "\nPerson has chosen to pick up product.\nTotal Owed " . $product_cost . " Total in " . basket::getCurrency();
     }
     $text = $text . "\n\nItems Ordered:\n\n";
     // create the order items
     foreach ($basket->contents as $basket_item) {
         $item = $basket_item->getItem();
         $prod = ORM::factory("product", $basket_item->product);
         $text = $text . "\n" . $item->title . " - " . $item->url() . "\n" . $prod->name . " - " . $prod->description . "\n" . $basket_item->quantity . " @ " . $prod->cost . "\n\n";
     }
     if ($ppon) {
         $total_cost = $product_cost + $postage;
     } else {
         $total_cost = $product_cost;
     }
     $order->name = $basket->name;
     $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;
 }