eZPublish  3.9
eZOrder Class Reference

eZOrder handles orders More...

+ Inheritance diagram for eZOrder:
+ Collaboration diagram for eZOrder:

Public Member Functions

accountEmail ()
 
accountInformation ()
 
accountName ()
 
accountViewTemplate ()
 
 activate ()
 
active ($asObject=true, $offset, $limit, $sortField="created", $sortOrder="asc", $show=SHOW_NORMAL_ORDERS)
 
 activeByUserID ($userID, $asObject=true)
 
 activeCount ($show=SHOW_NORMAL_ORDERS)
 
 canModifyStatus ($statusID, $user=false)
 
 createStatusHistory ()
 
 currencyCode ($collection=false)
 
customerCount ()
 
customerList ($offset, $limit)
 
 definition ()
 
detachProductCollection ()
 
 discount ($userID, &$object)
 
 eZOrder ($row)
 
 fetch ($id, $asObject=true)
 
 fetchList ($asObject=true)
 
 getShowOrdersQuery ($show, $table=null)
 
 modifyStatus ($statusID, $userID=false)
 
orderInfo ()
 
orderItems ()
 
orderItemsByType ($itemType)
 
orderList ($CustomID, $Email)
 
 orderTotalExVAT ()
 
 orderTotalIncVAT ()
 
productCollection ()
 
productItems ($asObject=true)
 
productList ($CustomID, $Email)
 
productTotalExVAT ()
 
productTotalIncVAT ()
 
 purge ($removeCollection=true)
 
 removeCollection ()
 
 removeHistory ()
 
 removeItem ($itemID)
 
 removeOrderItems ()
 
 setStatus ($status)
 
 setStatusModified ($timestamp)
 
 status ($asObject=false)
 
statusModificationList ($user=false)
 
statusName ()
 
statusObject ()
 
totalExVAT ()
 
totalIncVAT ()
 
totalVAT ()
 
user ()
 
- Public Member Functions inherited from eZPersistentObject
attribute ($attr, $noFunction=false)
 
 attributes ()
 
 conditionText (&$conditions)
 
conditionTextByRow (&$conditions, &$row)
 
 definition ()
 
escapeArray (&$array)
 
 eZPersistentObject ($row)
 
 fetchObject (&$def, $field_filters, $conds, $asObject=true, $grouping=null, $custom_fields=null)
 
 fetchObjectList (&$def, $field_filters=null, $conds=null, $sorts=null, $limit=null, $asObject=true, $grouping=false, $custom_fields=null, $custom_tables=null, $custom_conds=null)
 
 fill (&$row)
 
 getShortAttributeName (&$db, &$def, $attrName)
 
 handleRows (&$rows, $class_name, $asObject)
 
 hasAttribute ($attr)
 
 hasDirtyData ()
 
 newObjectOrder (&$def, $orderField, $conditions)
 
 remove ($conditions=null, $extraConditions=null)
 
 removeObject (&$def, $conditions=null, $extraConditions=null)
 
 reorderObject (&$def, $orderField, $conditions, $down=true)
 
 setAttribute ($attr, $val)
 
 setHasDirtyData ($hasDirtyData)
 
 store ($fieldFilters=null)
 
 swapRow ($table, &$keys, &$order_id, &$rows, $id1, $id2)
 
 sync ($fieldFilters=null)
 
 updateObjectList ($parameters)
 

Static Public Member Functions

 archiveOrder ($orderID)
 
 cleanup ()
 
 cleanupOrder ($orderID)
 
 fetchLocaleCurrencyCode ()
 
orderStatistics ($year=false, $month=false)
 
 unArchiveOrder ($orderID)
 

Private Attributes

 $Status
 The cached status object or null if not cached yet. More...
 

Detailed Description

eZOrder handles orders

See Also
eZProductCollection eZBasket

Member Function Documentation

& eZOrder::accountEmail ( )
Returns
the account email The shop account handler decides what is returned here
& eZOrder::accountInformation ( )
Returns
the account information The shop account handler decides what is returned here
& eZOrder::accountName ( )
Returns
the custom name The shop account handler decides what is returned here
& eZOrder::accountViewTemplate ( )
Returns
the template to use for account view
eZOrder::activate ( )

Creates a real order from the temporary state.

The ezorder has an internal (id) and an external (order_nr) ID. The ID will be set as soon as a customer (who buys a product), approves the account information. A row is added to the ezorder table (the ID (auto_increment) is generated). This ID is needed for extensions, such as PaynetTerminal (The ID is given.)

The active (confirmed and paid) orders have an order_nr. This order_nr is generated as soon as the order is processed.

We use order_nr instead of the id to (externally) rever to an order:

  • We don't have gaps in the order_nr's.
  • The lowest order_nr goes to the order which is accepted first. (Not started first.)

Another solution would be to use an temporary_order table, instead of adding two IDs. I think (rb) this is a cleaner solution.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
& eZOrder::active (   $asObject = true,
  $offset,
  $limit,
  $sortField = "created",
  $sortOrder = "asc",
  $show = SHOW_NORMAL_ORDERS 
)
Returns
the active orders
eZOrder::activeByUserID (   $userID,
  $asObject = true 
)
eZOrder::activeCount (   $show = SHOW_NORMAL_ORDERS)
Returns
the number of active orders
eZOrder::archiveOrder (   $orderID)
static

Archive an order.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZOrder::canModifyStatus (   $statusID,
  $user = false 
)
Returns
true if the user $user can modify the status to $statusID
eZOrder::cleanup ( )
static

Removes all orders from the database.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZOrder::cleanupOrder (   $orderID)
static

Removes an order and its related data from the database.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZOrder::createStatusHistory ( )

Creates a status history element from the the current status information and stores it in the database.

Returns
The new history element that was stored in the database.
Note
This is usually only needed the first time an order is created.
transaction unsafe

Referenced by activate().

eZOrder::currencyCode (   $collection = false)
Returns
the used currency code for the order. Will return the locale currency if only a emty string is found from the order.
Parameters
$collectionmay contain:
  • A string with the currency code.
  • An object of the class eZProductCollection.
  • false, to fetch the current productCollection from the order.
& eZOrder::customerCount ( )
Returns
number of customers.
& eZOrder::customerList (   $offset,
  $limit 
)
Returns
the list customers.
eZOrder::definition ( )
& eZOrder::detachProductCollection ( )

Makes a copy of the product collection it currently points to and sets the copied collection as the current collection.

Note
This will store the order with the new product collection.
Returns
the new collection or false if something failed.
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZOrder::discount (   $userID,
$object 
)
Returns
the discountrules for a user
eZOrder::eZOrder (   $row)

Referenced by active(), and orderList().

eZOrder::fetchList (   $asObject = true)
eZOrder::fetchLocaleCurrencyCode ( )
static
Returns
the local currency code, used by the price datatype.

Referenced by currencyCode(), customerList(), orderStatistics(), and productList().

eZOrder::getShowOrdersQuery (   $show,
  $table = null 
)

Referenced by activeCount().

eZOrder::modifyStatus (   $statusID,
  $userID = false 
)

Modifies the status on the order to $statusID. It will store the previous status in the history list using $userID.

Parameters
$statusIDThe ID of the status that is to be set, this must be the global ID not the DB ID.
$userIDThe ID of the user that did the change, if false it will fetch the current user ID.
Note
transaction safe
If you only want to change the status ID use the setStatus() function instead.
& eZOrder::orderInfo ( )
& eZOrder::orderItems ( )
& eZOrder::orderItemsByType (   $itemType)
Parameters
$typeOrder item type
& eZOrder::orderList (   $CustomID,
  $Email 
)
Returns
list of products for a custom
& eZOrder::orderStatistics (   $year = false,
  $month = false 
)
static
Returns
the number of active orders
eZOrder::orderTotalExVAT ( )

Referenced by totalExVAT().

eZOrder::orderTotalIncVAT ( )

Referenced by totalIncVAT().

& eZOrder::productCollection ( )
Returns
the product collection which this order uses.

Referenced by detachProductCollection().

& eZOrder::productItems (   $asObject = true)
& eZOrder::productList (   $CustomID,
  $Email 
)
Returns
list of products for a custom
& eZOrder::productTotalExVAT ( )

Referenced by totalExVAT().

& eZOrder::productTotalIncVAT ( )

Referenced by totalIncVAT().

eZOrder::purge (   $removeCollection = true)

Removes the order.

shop/confirmorder calls this method passing $removeCollection set to false to purge the order if the user doesn't confirm it. Removing the product collection in this case would cause fatal error.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
Parameters
$removeCollection(bool) specifies if we should remove product collection the order uses.
eZOrder::removeCollection ( )

Removes the product collection this order uses.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by purge().

eZOrder::removeHistory ( )

Removes the order status history for this order.

Note
transaction unsafe

Referenced by purge().

eZOrder::removeItem (   $itemID)

Removes the product collection item $itemID.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZOrder::removeOrderItems ( )

Referenced by purge().

eZOrder::setStatus (   $status)

Sets the status ID to $status and updates the status modification timestamp.

Note
This does not create a status history element, use modifyStatus() instead.
eZOrder::setStatusModified (   $timestamp)

Sets the modification time of the status change to $timestamp.

Referenced by setStatus().

eZOrder::status (   $asObject = false)
Returns
The status object if $asObject is true, otherwise the status ID.
& eZOrder::statusModificationList (   $user = false)
Returns
A list of status items that the current user can set this order to.
Note
If the user doesn't have any access at all for this order it will return an empty array.
& eZOrder::statusName ( )
Returns
The name of the current status.
Note
It will cache the current status object in the $Status member variable to make multiple calls to this function fast.
& eZOrder::statusObject ( )
Returns
The current status object.
Note
It will cache the current status object in the $Status member variable to make multiple calls to this function fast.
& eZOrder::totalExVAT ( )
& eZOrder::totalIncVAT ( )
& eZOrder::totalVAT ( )
Returns
the total VAT value of the order
eZOrder::unArchiveOrder (   $orderID)
static

Unarchive an order, make it 'normal' again.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
& eZOrder::user ( )
Returns
the user who has created the order.

Member Data Documentation

eZOrder::$Status
private

The cached status object or null if not cached yet.

Referenced by statusObject().


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