oxOrder Class Reference

Inheritance diagram for oxOrder:

Inheritance graph
[legend]
Collaboration diagram for oxOrder:

Collaboration graph
[legend]

List of all members.


Detailed Description

Inlcudes PDF class. Order manager. Performs creation assigning, updating, deleting and other order functions.

Public Member Functions

 __construct ()
 __get ($sName)
 assign ($dbRecord)
 getOrderArticles ()
 getOrderDeliveryPrice ()
 getOrderWrappingPrice ()
 getOrderPaymentPrice ()
 getOrderNetSum ()
 finalizeOrder (oxBasket $oBasket, $oUser, $blRecalculatingOrder=false)
 save ()
 getDelAddressInfo ()
 validateStock ($oBasket)
 delete ($sOxId=null)
 recalculateOrder ($aNewOrderArticles=array())
 pdfFooter ($oPdf)
 pdfHeaderplus ($oPdf)
 pdfHeader ($oPdf)
 genPdf ($sFilename, $iSelLang=0)
 getInvoiceNum ()
 getShippingSetList ()
 getVoucherNrList ()
 getOrderSum ($blToday=false)
 getOrderCnt ($blToday=false)
 getUser ()
 getBasket ()
 getPayment ()
 getVoucherList ()
 getDelSet ()
 getPaymentType ()
 getGiftCard ()
 setSeparateNumbering ($blSeparateNumbering=null)
 getLastUserPaymentType ($sUserId)
 getTotalOrderSum ()

Protected Member Functions

 _getCountryTitle ($sCountryId)
 _setOrderStatus ($sStatus)
 _loadFromBasket (oxBasket $oBasket)
 _setUser ($oUser)
 _setWrapping (oxBasket $oBasket)
 _setOrderArticles ($aArticleList)
 _executePayment (oxBasket $oBasket, $oUserpayment)
 _getGateway ()
 _setPayment ($sPaymentid)
 _updateWishlist ($aArticleList, $oUser)
 _updateNoticeList ($aArticleList, $oUser)
 _updateStock ()
 _markVouchers ($oBasket, $oUser)
 _insert ()
 _update ()
 _checkOrderExist ($sOxId=null)
 _sendOrderByEmail ($oUser=null, $oBasket=null, $oPayment=null)
 _makeSelListArray ($sArtId=null, $sOrderArtSelList=null)
 _addOrderArticlesToBasket ($oUser=null, $aOrderArticles=null)
 _setDeprecatedValues ()

Protected Attributes

 $_aSkipSaveFields = array( 'oxorderdate' )
 $_oArticles = null
 $_oDelSet = null
 $_oGiftCard = null
 $_oPaymentType = null
 $_oPayment = null
 $_aVoucherList = null
 $_oDelPrice = null
 $_oUser = null
 $_oBasket = null
 $_oWrappingPrice = null
 $_oPaymentPrice = null
 $_sClassName = 'oxorder'
 $_blSeparateNumbering = null

Constructor & Destructor Documentation

oxOrder.__construct (  ) 

Class constructor, initiates parent constructor (parent.oxBase()).

Reimplemented from oxBase.


Member Function Documentation

oxOrder.__get ( sName  ) 

Getter made for order deliveryset object access

Parameters:
string $sName parameter name
Returns:
mixed

Reimplemented from oxBase.

oxOrder.assign ( dbRecord  ) 

Assigns data, stored in DB to oxorder object

Parameters:
mixed $dbRecord DB record
Returns:
null

Reimplemented from oxBase.

oxOrder._getCountryTitle ( sCountryId  )  [protected]

Gets country title by country id.

Parameters:
string $sCountryId Cuntry ID
Returns:
string

oxOrder.getOrderArticles (  ) 

Assigns data, stored in oxorderarticles to oxorder object .

Returns:
null

oxOrder.getOrderDeliveryPrice (  ) 

Returns order delivery expenses price object

Returns:
oxprice

oxOrder.getOrderWrappingPrice (  ) 

Returns order wrapping expenses price object

Returns:
oxprice

oxOrder.getOrderPaymentPrice (  ) 

Returns order payment expenses price object

Returns:
oxprice

oxOrder.getOrderNetSum (  ) 

Returns order netto sum (total price, including delivery, payment etc - VAT) (A. this is very unprecise :())

Returns:
double

oxOrder.finalizeOrder ( oxBasket oBasket,
oUser,
blRecalculatingOrder = false 
)

Order checking, processing and saving method. Before saving performed checking if order is still not executed (checks in database oxorder table for order with know ID), if yes - returns error code 3, if not - loads payment data, assigns all info from basket to new oxorder object and saves full order with error status. Then executes payment. On failure - deletes order and returns error code 2. On success - saves order (oxorder.save()), removes article from wishlist (oxorder._updateWishlist()), updates voucher data (oxorder._markVouchers()). Finally sends order confirmation email to customer (oxemail.SendOrderEMailToUser()) and shop owner (oxemail.SendOrderEMailToOwner()). If this is order racalculation, skipping payment execution, marking vouchers as used and sending order by email to shop owner and user Mailing status (1 if OK, 0 on error) is returned.

Parameters:
oxBasket $oBasket Shopping basket object
object $oUser Current user object
bool $blRecalculatingOrder Order recalculation
Returns:
integer

oxOrder._setOrderStatus ( sStatus  )  [protected]

Updates order transaction status. Faster than saving whole object

Parameters:
string $sStatus order transaction status
Returns:
null

oxOrder._loadFromBasket ( oxBasket oBasket  )  [protected]

Gathers and assigns to new oxorder object customer data, payment, delivery and shipping info, customer odere remark, currency, voucher, language data. Additionally stores general discount and wrapping. Sets order status to "error" and creates oxorderarticle objects and assigns to them basket articles.

Parameters:
oxBasket $oBasket Shopping basket object
Returns:
null

oxOrder._setUser ( oUser  )  [protected]

Assigns to new oxorder object customer delivery and shipping info

Parameters:
object $oUser user object
Returns:
null

oxOrder._setWrapping ( oxBasket oBasket  )  [protected]

Assigns wrapping VAT and card price + card message info

Parameters:
oxBasket $oBasket basket object
Returns:
null

oxOrder._setOrderArticles ( aArticleList  )  [protected]

Creates oxorderarticle objects and assigns to them basket articles. Updates quantity of sold articles (oxarticle.updateSoldAmount()).

Parameters:
array $aArticleList article list
Returns:
array $articlelist

oxOrder._executePayment ( oxBasket oBasket,
oUserpayment 
) [protected]

Executes payment. Additionally loads oxPaymentGateway object, initiates it by adding payment parameters (oxPaymentGateway.setPaymentParams()) and finally executes it (oxPaymentGateway.executePayment()). On failure - deletes order and returns * error code 2.

Parameters:
oxBasket $oBasket basket object
object $oUserpayment user payment object
Returns:
integer 2 or an error code

oxOrder._getGateway (  )  [protected]

Returns the correct gateway. At the moment only switch between default and IPayment, can be extended later.

Returns:
object $oPayTransaction payment gateway object

oxOrder._setPayment ( sPaymentid  )  [protected]

Creats and returns user payment.

Parameters:
string $sPaymentid used payment id
Returns:
object $oUserpayment payment object

oxOrder._updateWishlist ( aArticleList,
oUser 
) [protected]

aAdds/removes user chosen article to/from his noticelist or wishlist (oxuserbasket.addItemToBasket()).

Parameters:
array $aArticleList basket products
object $oUser user object
Returns:
null

oxOrder._updateNoticeList ( aArticleList,
oUser 
) [protected]

After order is finished this method cleans up users notice list, by removing bought items from users notice list

Parameters:
array $aArticleList array of basket products
oxuser $oUser basket user object
Returns:
null

oxOrder._updateStock (  )  [protected]

Bought item stock updater

Returns:
null

oxOrder._markVouchers ( oBasket,
oUser 
) [protected]

Markes voucher as used (oxvoucher.markAsUsed()) and sets them to $this->_aVoucherList.

Deprecated:
sets deprecated values for usage in mail templates
Parameters:
oxBasket $oBasket basket object
oxUser $oUser user object
Returns:
null

oxOrder.save (  ) 

Updates/inserts order object and related info to DB

Returns:
null

Reimplemented from oxBase.

oxOrder.getDelAddressInfo (  ) 

Loads and returns delivery adress object or null if deladrid is not configured, or object was not loaded

Returns:
object

oxOrder.validateStock ( oBasket  ) 

Function whitch cheks if article stock is valid. If not displays error and returns false.

Parameters:
object $oBasket basket object
Exceptions:
oxOutOfStockException exception
Returns:
null

oxOrder._insert (  )  [protected]

Inserts order object information in DB. Returns true on success.

Returns:
bool

Reimplemented from oxBase.

oxOrder._update (  )  [protected]

Updates object parameters to DB.

Returns:
null

Reimplemented from oxBase.

oxOrder.delete ( sOxId = null  ) 

Updates stock information, deletes current ordering details from DB, returns true on success.

Parameters:
string $sOxId Ordering ID (default null)
Returns:
bool

Reimplemented from oxBase.

oxOrder.recalculateOrder ( aNewOrderArticles = array()  ) 

Recalculates order. Starts transactions, deletes current order and order articles from DB, adds current order articles to virtual basket and finaly recalculates order by calling oxorder.finalizeOrder() If no errors, finishing transaction.

Parameters:
bool $oOrderArticles allow uneven amounts or not
Returns:
null

oxOrder.pdfFooter ( oPdf  ) 

Fake entries, pdf is generated in modules.. myorder.

Parameters:
mixed &$oPdf pdf object
Returns:
null

oxOrder.pdfHeaderplus ( oPdf  ) 

Fake entries, pdf is generated in modules.. myorder.

Parameters:
mixed &$oPdf pdf object
Returns:
null

oxOrder.pdfHeader ( oPdf  ) 

Fake entries, pdf is generated in modules.. myorder.

Parameters:
mixed &$oPdf pdf object
Returns:
null

oxOrder.genPdf ( sFilename,
iSelLang = 0 
)

Fake entries, pdf is generated in modules.. myorder.

Parameters:
string &$sFilename file name
Returns:
null

oxOrder.getInvoiceNum (  ) 

Returns order invoice number.

Returns:
integer

oxOrder.getShippingSetList (  ) 

Loads possible shipping sets for this order

Returns:
oxdeliverysetlist

oxOrder.getVoucherNrList (  ) 

Get vouchers numbers list which were used with this order

Returns:
array

oxOrder.getOrderSum ( blToday = false  ) 

Returns orders total price

Parameters:
bool $blToday if true calculates only current day orders
Returns:
int

oxOrder.getOrderCnt ( blToday = false  ) 

Returns orders count

Parameters:
bool $blToday if true calculates only current day orders
Returns:
int

oxOrder._checkOrderExist ( sOxId = null  )  [protected]

Checking if this order is already stored.

Parameters:
string $sOxId order ID
Returns:
bool

oxOrder._sendOrderByEmail ( oUser = null,
oBasket = null,
oPayment = null 
) [protected]

Send order to shop owner and user

Parameters:
oxUser $oUser order user
oxBasket $oBasket current order basket
oxPayment $oPayment order payment
Returns:
bool

oxOrder.getUser (  ) 

Returns order user

Returns:
oxUser

oxOrder.getBasket (  ) 

Returns order basket

Returns:
oxBasket

oxOrder.getPayment (  ) 

Returns order payment

Returns:
oxBasket

oxOrder.getVoucherList (  ) 

Returns order vouchers marked as used

Returns:
array

oxOrder.getDelSet (  ) 

Returns order deliveryset object

Returns:
oxDeliverySet

oxOrder.getPaymentType (  ) 

Get payment type

Returns:
oxPayment

oxOrder.getGiftCard (  ) 

Get gift card

Returns:
oxWrapping

oxOrder.setSeparateNumbering ( blSeparateNumbering = null  ) 

Set usage of seperate orders numbering for different shops

Parameters:
bool $blSeparateNumbering use or not separate orders numbering
Returns:
bool

oxOrder.getLastUserPaymentType ( sUserId  ) 

Get users payment type from last order

Parameters:
string $sUserId order user id
Returns:
string $sLastPaymentId payment id

oxOrder._makeSelListArray ( sArtId = null,
sOrderArtSelList = null 
) [protected]

Make select list array from oxorderarticles__oxselvariant string. This select list array is used when recalculating order and adding items to basket (oxBasket.addToBaske())

Parameters:
string $sArtId order article ID
string $sOrderArtSelList select list string stored in oxorderarticles__oxselvariant
Returns:
array()

oxOrder._addOrderArticlesToBasket ( oUser = null,
aOrderArticles = null 
) [protected]

Adds order articles back to virtual basket. Needed for recalculating order.

Parameters:
oxUser $oUser basket user object
array $aOrderArticles order articles
Returns:
oxBasket

oxOrder._setDeprecatedValues (  )  [protected]

Sets deprecate values

Deprecated:
This method as well as all deprecated class variables is deprecated
Returns:
null

oxOrder.getTotalOrderSum (  ) 

Get total sum from last order

Returns:
string


Member Data Documentation

oxOrder.$_aSkipSaveFields = array( 'oxorderdate' ) [protected]

Reimplemented from oxBase.

oxOrder.$_oArticles = null [protected]

oxOrder.$_oDelSet = null [protected]

oxOrder.$_oGiftCard = null [protected]

oxOrder.$_oPaymentType = null [protected]

oxOrder.$_oPayment = null [protected]

oxOrder.$_aVoucherList = null [protected]

oxOrder.$_oDelPrice = null [protected]

oxOrder.$_oUser = null [protected]

oxOrder.$_oBasket = null [protected]

oxOrder.$_oWrappingPrice = null [protected]

oxOrder.$_oPaymentPrice = null [protected]

oxOrder.$_sClassName = 'oxorder' [protected]

Reimplemented from oxBase.

oxOrder.$_blSeparateNumbering = null [protected]


The documentation for this class was generated from the following file:

Generated on Wed Oct 29 23:45:04 2008 for OXID eShop CE by  doxygen 1.5.5