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; }
static function formatMoneyForMail($money) { return basket::getCurrency() . " " . number_format($money, 2, ',', '.'); }
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; }
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; }