Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

oxOrder Class Reference

Inheritance diagram for oxOrder:
Collaboration diagram for oxOrder:

List of all members.

Public Member Functions

 __construct ()
 __get ($sName)
 assign ($dbRecord)
 getOrderArticles ($blExcludeCanceled=false)
 setOrderArticleList ($aOrderArticleList)
 getOrderDeliveryPrice ()
 getOrderWrappingPrice ()
 getOrderPaymentPrice ()
 getOrderTsProtectionPrice ()
 getOrderNetSum ()
 finalizeOrder (oxBasket $oBasket, $oUser, $blRecalculatingOrder=false)
 getOrderLanguage ()
 save ()
 getDelAddressInfo ()
 validateStock ($oBasket)
 delete ($sOxId=null)
 recalculateOrder ($aNewArticles=array())
 setDelivery ($sDeliveryId)
 getOrderUser ()
 pdfFooter ($oPdf)
 pdfHeaderplus ($oPdf)
 pdfHeader ($oPdf)
 genPdf ($sFilename, $iSelLang=0)
 getInvoiceNum ()
 getNextBillNum ()
 getShippingSetList ()
 getVoucherNrList ()
 getOrderSum ($blToday=false)
 getOrderCnt ($blToday=false)
 getBasket ()
 getPayment ()
 getVoucherList ()
 getDelSet ()
 getPaymentType ()
 getGiftCard ()
 setSeparateNumbering ($blSeparateNumbering=null)
 getLastUserPaymentType ($sUserId)
 getTotalOrderSum ()
 getProductVats ($blFormatCurrency=true)
 getBillCountry ()
 getDelCountry ()
 reloadDelivery ($blReload)
 reloadDiscount ($blReload)
 cancelOrder ()
 getOrderCurrency ()
 validateOrder ($oBasket, $oUser)
 validateDelivery ($oBasket)
 validatePayment ($oBasket)
 getFormattedTotalNetSum ()
 getFormattedTotalBrutSum ()
 getFormattedeliveryCost ()
 getFormattedPayCost ()
 getFormattedWrapCost ()
 getFormattedTotalVouchers ()
 getFormattedDiscount ()
 getFormattedTotalOrderSum ()
 getShipmentTrackingUrl ()

Public Attributes

const ORDER_STATE_MAILINGERROR = 0
const ORDER_STATE_OK = 1
const ORDER_STATE_PAYMENTERROR = 2
const ORDER_STATE_ORDEREXISTS = 3
const ORDER_STATE_INVALIDDELIVERY = 4
const ORDER_STATE_INVALIDPAYMENT = 5
const ORDER_STATE_INVALIDTSPROTECTION = 6

Protected Member Functions

 _getCountryTitle ($sCountryId)
 _setOrderStatus ($sStatus)
 _loadFromBasket (oxBasket $oBasket)
 _setUser ($oUser)
 _setWrapping (oxBasket $oBasket)
 _setOrderArticles ($aArticleList)
 _executePayment (oxBasket $oBasket, $oUserpayment)
 _getGateway ()
 _setPayment ($sPaymentid)
 _setFolder ()
 _updateWishlist ($aArticleList, $oUser)
 _updateNoticeList ($aArticleList, $oUser)
 _markVouchers ($oBasket, $oUser)
 _insert ()
 _update ()
 _getOrderBasket ($blStockCheck=true)
 _checkOrderExist ($sOxId=null)
 _sendOrderByEmail ($oUser=null, $oBasket=null, $oPayment=null)
 _addOrderArticlesToBasket ($oBasket, $aOrderArticles)
 _addArticlesToBasket ($oBasket, $aArticles)
 _setTsProtection (oxBasket $oBasket)
 _executeTsProtection (oxBasket $oBasket)

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
 $_oTsProtectionPrice = null
 $_sClassName = 'oxorder'
 $_blSeparateNumbering = null
 $_iOrderLang = null
 $_blReloadDelivery = true
 $_blReloadDiscount = true
 $_oOrderCurrency = null
 $_oOrderBasket = null

Detailed Description

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

Definition at line 7 of file oxorder.php.


Constructor & Destructor Documentation

oxOrder.__construct (  ) 

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

Reimplemented from oxBase.

Definition at line 188 of file oxorder.php.


Member Function Documentation

oxOrder.__get ( sName  ) 

Getter made for order deliveryset object access

Parameters:
string $sName parameter name
Returns:
mixed

Reimplemented from oxBase.

Definition at line 205 of file oxorder.php.

oxOrder._addArticlesToBasket ( oBasket,
aArticles 
) [protected]

Adds new products to basket/order

Parameters:
oxbasket $oBasket basket to add articles
array $aArticles article array
Returns:
null

Definition at line 1682 of file oxorder.php.

oxOrder._addOrderArticlesToBasket ( oBasket,
aOrderArticles 
) [protected]

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

Parameters:
oxBasket $oBasket basket object
array $aOrderArticles order articles
Returns:
oxBasket

Definition at line 1662 of file oxorder.php.

oxOrder._checkOrderExist ( sOxId = null  )  [protected]

Checking if this order is already stored.

Parameters:
string $sOxId order ID
Returns:
bool

Definition at line 1502 of file oxorder.php.

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

Definition at line 803 of file oxorder.php.

oxOrder._executeTsProtection ( oxBasket oBasket  )  [protected]

Executes Trusted shops protection order. On failure - deletes order and returns error code or 6.

Parameters:
oxBasket $oBasket basket object
Returns:
mixed

Definition at line 1930 of file oxorder.php.

oxOrder._getCountryTitle ( sCountryId  )  [protected]

Gets country title by country id.

Parameters:
string $sCountryId Cuntry ID
Returns:
string

Definition at line 246 of file oxorder.php.

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

Definition at line 836 of file oxorder.php.

oxOrder._getOrderBasket ( blStockCheck = true  )  [protected]

Returns basket object filled up with discount, delivery, wrapping and all other info

Parameters:
bool $blStockCheck perform stock check or not (default true)
Returns:
oxbasket

Definition at line 1231 of file oxorder.php.

oxOrder._insert (  )  [protected]

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

Returns:
bool

Reimplemented from oxBase.

Definition at line 1099 of file oxorder.php.

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

Definition at line 520 of file oxorder.php.

oxOrder._markVouchers ( oBasket,
oUser 
) [protected]

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

Parameters:
oxBasket $oBasket basket object
oxUser $oUser user object
Returns:
null

Definition at line 995 of file oxorder.php.

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

Definition at line 1525 of file oxorder.php.

oxOrder._setFolder (  )  [protected]

Assigns oxfolder as new

Returns:
null

Definition at line 912 of file oxorder.php.

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:
null

Definition at line 703 of file oxorder.php.

oxOrder._setOrderStatus ( sStatus  )  [protected]

Updates order transaction status. Faster than saving whole object

Parameters:
string $sStatus order transaction status
Returns:
null

Definition at line 500 of file oxorder.php.

oxOrder._setPayment ( sPaymentid  )  [protected]

Creats and returns user payment.

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

Definition at line 848 of file oxorder.php.

oxOrder._setTsProtection ( oxBasket oBasket  )  [protected]

Assigns Trusted Shops Protection product id and costs

Parameters:
oxBasket $oBasket basket object
Returns:
null

Definition at line 1911 of file oxorder.php.

oxOrder._setUser ( oUser  )  [protected]

Assigns to new oxorder object customer delivery and shipping info

Parameters:
object $oUser user object
Returns:
null

Definition at line 625 of file oxorder.php.

oxOrder._setWrapping ( oxBasket oBasket  )  [protected]

Assigns wrapping VAT and card price + card message info

Parameters:
oxBasket $oBasket basket object
Returns:
null

Definition at line 674 of file oxorder.php.

oxOrder._update (  )  [protected]

Updates object parameters to DB.

Returns:
null

Reimplemented from oxBase.

Definition at line 1133 of file oxorder.php.

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

Definition at line 967 of file oxorder.php.

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

Definition at line 927 of file oxorder.php.

oxOrder.assign ( dbRecord  ) 

Assigns data, stored in DB to oxorder object

Parameters:
mixed $dbRecord DB record
Returns:
null

Reimplemented from oxBase.

Definition at line 227 of file oxorder.php.

oxOrder.cancelOrder (  ) 

Performs order cancelation process

Returns:
null

Definition at line 1790 of file oxorder.php.

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.

Definition at line 1147 of file oxorder.php.

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

Definition at line 404 of file oxorder.php.

oxOrder.genPdf ( sFilename,
iSelLang = 0 
)

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

Parameters:
string $sFilename file name
int $iSelLang selected language
Returns:
null

Definition at line 1383 of file oxorder.php.

oxOrder.getBasket (  ) 

Returns order basket

Returns:
oxBasket

Definition at line 1553 of file oxorder.php.

oxOrder.getBillCountry (  ) 

Get billing country name from billing country id

Returns:
oxField

Definition at line 1741 of file oxorder.php.

oxOrder.getDelAddressInfo (  ) 

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

Returns:
object

Definition at line 1037 of file oxorder.php.

oxOrder.getDelCountry (  ) 

Get delivery country name from delivery country id

Returns:
oxField

Definition at line 1754 of file oxorder.php.

oxOrder.getDelSet (  ) 

Returns order deliveryset object

Returns:
oxDeliverySet

Definition at line 1583 of file oxorder.php.

oxOrder.getFormattedDiscount (  ) 

Get Discount formatted

Returns:
string

Definition at line 2015 of file oxorder.php.

oxOrder.getFormattedeliveryCost (  ) 

Get Delivery cost sum formatted

Returns:
string

Definition at line 1975 of file oxorder.php.

oxOrder.getFormattedPayCost (  ) 

Get pay cost sum formatted

Returns:
string

Definition at line 1985 of file oxorder.php.

oxOrder.getFormattedTotalBrutSum (  ) 

Get total brut sum formatted

Returns:
string

Definition at line 1965 of file oxorder.php.

oxOrder.getFormattedTotalNetSum (  ) 

Get total net sum formatted

Returns:
string

Definition at line 1955 of file oxorder.php.

oxOrder.getFormattedTotalOrderSum (  ) 

Get formatted total sum from last order

Returns:
string

Definition at line 2025 of file oxorder.php.

oxOrder.getFormattedTotalVouchers (  ) 

Get total vouchers formatted

Returns:
string

Definition at line 2005 of file oxorder.php.

oxOrder.getFormattedWrapCost (  ) 

Get wrap cost sum formatted

Returns:
string

Definition at line 1995 of file oxorder.php.

oxOrder.getGiftCard (  ) 

Get gift card

Returns:
oxWrapping

Definition at line 1617 of file oxorder.php.

oxOrder.getInvoiceNum (  ) 

Returns order invoice number.

Returns:
integer

Definition at line 1392 of file oxorder.php.

oxOrder.getLastUserPaymentType ( sUserId  ) 

Get users payment type from last order

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

Definition at line 1646 of file oxorder.php.

oxOrder.getNextBillNum (  ) 

Returns next possible (free) order bill number.

Returns:
integer

Definition at line 1403 of file oxorder.php.

oxOrder.getOrderArticles ( blExcludeCanceled = false  ) 

Assigns data, stored in oxorderarticles to oxorder object .

Parameters:
bool $blExcludeCanceled excludes canceled items from list
Returns:
null

Definition at line 265 of file oxorder.php.

oxOrder.getOrderCnt ( blToday = false  ) 

Returns orders count

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

Definition at line 1482 of file oxorder.php.

oxOrder.getOrderCurrency (  ) 

Returns actual order currency object. In case currency was not recognized due to changed name returns first shop currency object

Returns:
oxStdClass

Definition at line 1807 of file oxorder.php.

oxOrder.getOrderDeliveryPrice (  ) 

Returns order delivery expenses price object

Returns:
oxprice

Definition at line 303 of file oxorder.php.

oxOrder.getOrderLanguage (  ) 

Returns language id of current order object. If order allready has language defined - checks if this language is defined in shops config

Returns:
int

Definition at line 606 of file oxorder.php.

oxOrder.getOrderNetSum (  ) 

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

Returns:
double

Definition at line 372 of file oxorder.php.

oxOrder.getOrderPaymentPrice (  ) 

Returns order payment expenses price object

Returns:
oxprice

Definition at line 337 of file oxorder.php.

oxOrder.getOrderSum ( blToday = false  ) 

Returns orders total price

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

Definition at line 1463 of file oxorder.php.

oxOrder.getOrderTsProtectionPrice (  ) 

Returns order TS protection price object

Returns:
oxprice

Definition at line 354 of file oxorder.php.

oxOrder.getOrderUser (  ) 

Returns current order user object

Returns:
oxuser

Definition at line 1310 of file oxorder.php.

oxOrder.getOrderWrappingPrice (  ) 

Returns order wrapping expenses price object

Returns:
oxprice

Definition at line 320 of file oxorder.php.

oxOrder.getPayment (  ) 

Returns order payment

Returns:
oxBasket

Definition at line 1563 of file oxorder.php.

oxOrder.getPaymentType (  ) 

Get payment type

Returns:
oxPayment

Definition at line 1599 of file oxorder.php.

oxOrder.getProductVats ( blFormatCurrency = true  ) 

Returns array of palain of formatted VATs stored in order

Parameters:
bool $blFormatCurrency enambles currency formating
Returns:
array

Definition at line 1716 of file oxorder.php.

oxOrder.getShipmentTrackingUrl (  ) 

Returns DPD shipment tracking url if oxorder__oxtrackcode is supplied

Returns:
string

Definition at line 2035 of file oxorder.php.

oxOrder.getShippingSetList (  ) 

Loads possible shipping sets for this order

Returns:
oxdeliverysetlist

Definition at line 1414 of file oxorder.php.

oxOrder.getTotalOrderSum (  ) 

Get total sum from last order

Returns:
string

Definition at line 1703 of file oxorder.php.

oxOrder.getVoucherList (  ) 

Returns order vouchers marked as used

Returns:
array

Definition at line 1573 of file oxorder.php.

oxOrder.getVoucherNrList (  ) 

Get vouchers numbers list which were used with this order

Returns:
array

Definition at line 1441 of file oxorder.php.

oxOrder.pdfFooter ( oPdf  ) 

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

Parameters:
mixed $oPdf pdf object
Returns:
null

Definition at line 1349 of file oxorder.php.

oxOrder.pdfHeader ( oPdf  ) 

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

Parameters:
mixed $oPdf pdf object
Returns:
null

Definition at line 1371 of file oxorder.php.

oxOrder.pdfHeaderplus ( oPdf  ) 

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

Parameters:
mixed $oPdf pdf object
Returns:
null

Definition at line 1360 of file oxorder.php.

oxOrder.recalculateOrder ( aNewArticles = 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:
array $aNewArticles article list of new order
Returns:
null

Definition at line 1187 of file oxorder.php.

oxOrder.reloadDelivery ( blReload  ) 

Tells to keep old or reload delivery costs while recalculating order

Parameters:
bool $blReload reload state marker
Returns:
null

Definition at line 1768 of file oxorder.php.

oxOrder.reloadDiscount ( blReload  ) 

Tells to keep old or reload discount while recalculating order

Parameters:
bool $blReload reload state marker
Returns:
null

Definition at line 1780 of file oxorder.php.

oxOrder.save (  ) 

Updates/inserts order object and related info to DB

Returns:
null

Reimplemented from oxBase.

Definition at line 1015 of file oxorder.php.

oxOrder.setDelivery ( sDeliveryId  ) 

Sets new delivery id for order and forces order to recalculate using new delivery type. Order is not recalculated automatically, to do this oxOrder.recalculateOrder() must be called ;

Parameters:
string $sDeliveryId new delivery id
Returns:
null

Definition at line 1299 of file oxorder.php.

oxOrder.setOrderArticleList ( aOrderArticleList  ) 

Order article list setter

Parameters:
object $aOrderArticleList order article list
Returns:
null

Definition at line 293 of file oxorder.php.

oxOrder.setSeparateNumbering ( blSeparateNumbering = null  ) 

Set usage of seperate orders numbering for different shops

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

Definition at line 1634 of file oxorder.php.

oxOrder.validateDelivery ( oBasket  ) 

Checks if delivery set used for current order is available and active. Throws exception if not available

Parameters:
oxbasket $oBasket basket object
Returns:
null

Definition at line 1860 of file oxorder.php.

oxOrder.validateOrder ( oBasket,
oUser 
)

Validates order parameters like stock, delivery and payment parameters

Parameters:
oxbasket $oBasket basket object
oxuser $oUser order user
Returns:
null

Definition at line 1834 of file oxorder.php.

oxOrder.validatePayment ( oBasket  ) 

Checks if payment used for current order is available and active. Throws exception if not available

Parameters:
oxbasket $oBasket basket object
Returns:
null

Definition at line 1889 of file oxorder.php.

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

Definition at line 1067 of file oxorder.php.


Member Data Documentation

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

Reimplemented from oxBase.

Definition at line 57 of file oxorder.php.

oxOrder.$_aVoucherList = null [protected]

Definition at line 99 of file oxorder.php.

oxOrder.$_blReloadDelivery = true [protected]

Definition at line 169 of file oxorder.php.

oxOrder.$_blReloadDiscount = true [protected]

Definition at line 176 of file oxorder.php.

oxOrder.$_blSeparateNumbering = null [protected]

Definition at line 155 of file oxorder.php.

oxOrder.$_iOrderLang = null [protected]

Definition at line 162 of file oxorder.php.

oxOrder.$_oArticles = null [protected]

Definition at line 64 of file oxorder.php.

oxOrder.$_oBasket = null [protected]

Definition at line 120 of file oxorder.php.

oxOrder.$_oDelPrice = null [protected]

Definition at line 106 of file oxorder.php.

oxOrder.$_oDelSet = null [protected]

Definition at line 71 of file oxorder.php.

oxOrder.$_oGiftCard = null [protected]

Definition at line 78 of file oxorder.php.

oxOrder.$_oOrderBasket = null [protected]

Definition at line 1223 of file oxorder.php.

oxOrder.$_oOrderCurrency = null [protected]

Definition at line 183 of file oxorder.php.

oxOrder.$_oPayment = null [protected]

Definition at line 92 of file oxorder.php.

oxOrder.$_oPaymentPrice = null [protected]

Definition at line 134 of file oxorder.php.

oxOrder.$_oPaymentType = null [protected]

Definition at line 85 of file oxorder.php.

oxOrder.$_oTsProtectionPrice = null [protected]

Definition at line 141 of file oxorder.php.

oxOrder.$_oUser = null [protected]

Definition at line 113 of file oxorder.php.

oxOrder.$_oWrappingPrice = null [protected]

Definition at line 127 of file oxorder.php.

oxOrder.$_sClassName = 'oxorder' [protected]

Reimplemented from oxBase.

Definition at line 148 of file oxorder.php.

Definition at line 38 of file oxorder.php.

Definition at line 44 of file oxorder.php.

Definition at line 50 of file oxorder.php.

Definition at line 14 of file oxorder.php.

Definition at line 20 of file oxorder.php.

Definition at line 32 of file oxorder.php.

Definition at line 26 of file oxorder.php.


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