rudiw

Untitled

May 23rd, 2012
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.80 KB | None | 0 0
  1. <?php
  2. require_once '/home/rudi/public_html/berbatik/app/Mage.php';
  3.  
  4. Mage::app();
  5.  
  6.  
  7. //Get customer by Magento Customer ID
  8. $mageCustomer = Mage::getModel('customer/customer')->load('3');
  9. if ( is_null($mageCustomer->getId()) ) {
  10.     throw new Exception("Can't add sales order: customer {$customerEmail} does not exist.");
  11. }
  12.  
  13. //Get Resource Transaction
  14. $transaction = Mage::getModel('core/resource_transaction');
  15. $storeId = $mageCustomer->getStoreId();
  16. $reservedOrderId = Mage::getSingleton('eav/config')->getEntityType('order')->fetchNewIncrementId($storeId);
  17.  
  18. //Set order
  19. $salesOrder = Mage::getModel('sales/order');
  20. $salesOrder
  21. ->setIncrementId($reservedOrderId)
  22. ->setStoreId($storeId)
  23. ->setQuoteId(0)
  24. ->setGlobal_currency_code('IDR')
  25. ->setBase_currency_code('IDR')
  26. ->setStore_currency_code('IDR')
  27. ->setOrder_currency_code('IDR');
  28.  
  29. // Associate the sales order with the Magento customer
  30. $salesOrder->setCustomer_email($mageCustomer->getEmail())
  31. ->setCustomerFirstname($mageCustomer->getFirstname())
  32. ->setCustomerLastname($mageCustomer->getLastname())
  33. ->setCustomerGroupId($mageCustomer->getGroupId())
  34. ->setCustomer_is_guest(0)
  35. ->setCustomer($mageCustomer);
  36.  
  37. // Set sales order status to 'complete'
  38. $salesOrder->setStatus(Mage_Sales_Model_Order::STATE_COMPLETE);
  39.  
  40. // Set sales order payment method
  41. $payment = Mage::getModel('sales/order_payment')->setMethod('checkmo');
  42. $salesOrder->setPayment($payment);
  43.  
  44. //Set 2 products
  45. $subTotal = 0;
  46. $products = array('194' => array('qty' => 1),'195'=>array('qty' => 3));
  47. foreach ($products as $productId=>$product) {
  48.     $_product = Mage::getModel('catalog/product')->load($productId);
  49.     $rowTotal = $_product->getPrice() * $product['qty'];
  50.     $orderItem = Mage::getModel('sales/order_item')
  51.     ->setStoreId($storeId)
  52.     ->setQuoteItemId(0)
  53.     ->setQuoteParentItemId(NULL)
  54.     ->setProductId($productId)
  55.     ->setProductType($_product->getTypeId())
  56.     ->setQtyBackordered(NULL)
  57.     ->setTotalQtyOrdered($product['rqty'])
  58.     ->setQtyOrdered($product['qty'])
  59.     ->setName($_product->getName())
  60.     ->setSku($_product->getSku())
  61.     ->setPrice($_product->getPrice())
  62.     ->setBasePrice($_product->getPrice())
  63.     ->setOriginalPrice($_product->getPrice())
  64.     ->setRowTotal($rowTotal)
  65.     ->setBaseRowTotal($rowTotal);
  66.  
  67.     $subTotal += $rowTotal;
  68.     $salesOrder->addItem($orderItem);
  69. }
  70.  
  71.  
  72. // Save the sales order
  73. $salesOrder->save();
  74.  
  75. $convertQuote = Mage::getSingleton('sales/convert_quote');
  76.  
  77. // set Billing Address
  78. $billing = $mageCustomer->getDefaultBillingAddress();
  79. //echo ("Billing is ".var_export($billing, true));
  80.  
  81. // Set sales order billing address
  82. // $salesOrderBillAddress = Mage::getModel('sales/order_address')->setStore(Mage::app()->getStore());
  83. // $salesOrderBillAddress->setData($mageCustomer->getDefaultBillingAddress()->getData());
  84. $salesOrder->setBillingAddress($convertQuote->addressToOrderAddress($mageCustomer->getDefaultBillingAddress()));
  85. //$salesOrderBillAddress = clone $billing;
  86. //$salesOrder->setBillingAddress($salesOrderBillAddress);
  87.  
  88. // echo ("Sales order: ".var_export($salesOrder, true));
  89.  
  90. // Set sales order shipping address
  91. $shipping = $mageCustomer->getDefaultShippingAddress();
  92. // $salesOrderShipAddress = Mage::getModel('sales/order_address')->setStore(Mage::app()->getStore());
  93. // $salesOrderShipAddress->setData($mageCustomer->getDefaultShippingAddress()->getData());
  94. $salesOrderShipAddress = clone $shipping;
  95. $salesOrder->setShippingAddress($salesOrderShipAddress);
  96.  
  97. $salesOrder->save();
  98.  
  99. // $transaction->addObject($salesOrder);
  100. // $transaction->addCommitCallback(array($salesOrder, 'place'));
  101. // $transaction->addCommitCallback(array($salesOrder, 'save'));
  102. // $transaction->save();
  103.  
  104. echo ("ID: ".var_export($reservedOrderId, true));
  105. $order = Mage::getModel('sales/order')->load($array_data[$reservedOrderId]);
  106. echo ("Order: ".var_export($order->getData(), true));
Advertisement
Add Comment
Please, Sign In to add comment