eZPublishCommunityProject(LegacyStack)  2013.6
eZOrder Class Reference

eZOrder handles orders More...

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

Public Member Functions

 accountEmail ()
 
 accountInformation ()
 
 accountName ()
 
 accountViewTemplate ()
 
 activate ()
 
 canModifyStatus ($statusID, $user=false)
 
 createStatusHistory ()
 
 currencyCode ($collection=false)
 
 detachProductCollection ()
 
 eZOrder ($row)
 
 getNewID ()
 Get a new auto_increment id from a separate table ezorder_nr_incr. More...
 
 modifyStatus ($statusID, $userID=false)
 
 orderInfo ()
 
 orderItems ()
 
 orderItemsByType ($itemType)
 
 orderTotalExVAT ()
 
 orderTotalIncVAT ()
 
 productCollection ()
 
 productItems ($asObject=true, array $sorts=null)
 Fetch product items that bellongs ot the order. More...
 
 productItemsOrdered ($asObject=true, $order=true)
 Fetch product items ordered by id ( the order they where added to order ) More...
 
 productTotalExVAT ()
 
 productTotalIncVAT ()
 
 purge ($removeCollection=true)
 
 removeCollection ()
 
 removeHistory ()
 
 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)
 Returns the attribute data for $attr, this is either returned from the member variables or a member function depending on whether the definition field or function attributes matched. More...
 
 attributes ()
 Returns the attributes for this object, taken from the definition fields and function attributes. More...
 
 eZPersistentObject ($row)
 Initializes the object with the $row. More...
 
 fill ($row)
 Tries to fill in the data in the object by using the object definition which is returned by the function definition() and the database row data $row. More...
 
 hasAttribute ($attr)
 Checks if $attr is part of the definition fields or function attributes. More...
 
 hasDirtyData ()
 Returns true if the data is considered dirty and needs to be stored. More...
 
 remove ($conditions=null, $extraConditions=null)
 Removes the object from the database, it will use the keys in the object definition to figure out which table row should be removed unless $conditions is defined as an array with fieldnames. More...
 
 setAttribute ($attr, $val)
 Sets the attribute $attr to the value $val. More...
 
 setHasDirtyData ($hasDirtyData)
 Sets whether the object has dirty data or not. More...
 
 store ($fieldFilters=null)
 Stores the object in the database, uses storeObject() to do the actual job and passes $fieldFilters to it. More...
 
 sync ($fieldFilters=null)
 Makes sure data is stored if the data is considered dirty. More...
 

Static Public Member Functions

static active ($asObject=true, $offset, $limit, $sortField="created", $sortOrder="asc", $show=eZOrder::SHOW_NORMAL)
 
static activeByUserID ($userID, $asObject=true)
 
static activeCount ($show=eZOrder::SHOW_NORMAL)
 
static archiveOrder ($orderID)
 
static cleanup ()
 
static cleanupOrder ($orderID)
 
static customerCount ()
 
static customerList ($offset, $limit)
 
static definition ()
 
static discount ($userID, $object)
 
static fetch ($id, $asObject=true)
 
static fetchList ($asObject=true)
 
static fetchLocaleCurrencyCode ()
 
static getShowOrdersQuery ($show, $table=null)
 
static orderList ($CustomID, $Email)
 
static orderStatistics ($year=false, $month=false)
 
static productList ($CustomID, $Email)
 
static removeItem ($itemID)
 
static unArchiveOrder ($orderID)
 
- Static Public Member Functions inherited from eZPersistentObject
static conditionText ($conditions)
 Calls conditionTextByRow with an empty row and $conditions. More...
 
static conditionTextByRow ($conditions, $row)
 Generates an SQL sentence from the conditions $conditions and row data $row. More...
 
static count ($def, $conds=null, $field=null)
 Fetches the number of rows by using the object definition. More...
 
static definition ()
 Returns the definition for the object, the default implementation is to return an empty array. More...
 
static escapeArray ($array)
 Escapes strings in an array with the help of eZDBInterface::escapeString(). More...
 
static fetchObject ($def, $field_filters, $conds, $asObject=true, $grouping=null, $custom_fields=null)
 Fetches and returns an object based on the given parameters and returns is either as an object or as an array. More...
 
static fetchObjectList ($def, $field_filters=null, $conds=null, $sorts=null, $limit=null, $asObject=true, $grouping=false, $custom_fields=null, $custom_tables=null, $custom_conds=null)
 Creates an SQL query out of the different parameters and returns an array with the result. More...
 
static getShortAttributeName ($db, $def, $attrName)
 Returns the short attribute name (alias) if it's defined, given attribute name otherwise. More...
 
static handleRows ($rows, $class_name, $asObject)
 Creates PHP objects out of the database rows $rows. More...
 
static newObjectOrder ($def, $orderField, $conditions)
 Returns an order value which can be used for new items in table, for instance placement. More...
 
static removeObject ($def, $conditions=null, $extraConditions=null)
 Deletes the object from the table defined in $def with conditions $conditions and extra conditions $extraConditions. More...
 
static reorderObject ($def, $orderField, $conditions, $down=true)
 Moves a row in a database table. More...
 
static replaceFieldsWithShortNames ($db, $fieldDefs, &$fields)
 For the given array $fields treats its keys (for associative array) or values (for non-associative array) as table fields names and replaces them with short names (aliases) found in $fieldDefs. More...
 
static storeObject ($obj, $fieldFilters=null)
 Stores the data in $obj to database. More...
 
static swapRow ($table, $keys, $order_id, $rows, $id1, $id2)
 Sets row id $id2 to have the placement of row id $id1. More...
 
static updateObjectList ($parameters)
 Updates rows matching the given parameters. More...
 

Public Attributes

 $Status
 The cached status object or null if not cached yet. More...
 
const SHOW_ALL = 2
 
const SHOW_ARCHIVED = 1
 
const SHOW_NORMAL = 0
 
- Public Attributes inherited from eZPersistentObject
 $PersistentDataDirty
 

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.
static eZOrder::active (   $asObject = true,
  $offset,
  $limit,
  $sortField = "created",
  $sortOrder = "asc",
  $show = eZOrder::SHOW_NORMAL 
)
static
Returns
the active orders
static eZOrder::activeByUserID (   $userID,
  $asObject = true 
)
static
static eZOrder::activeCount (   $show = eZOrder::SHOW_NORMAL)
static
Returns
the number of active orders
static 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
static 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.
static 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.
static eZOrder::customerCount ( )
static
Returns
number of customers.
static eZOrder::customerList (   $offset,
  $limit 
)
static
Returns
the list customers.
static eZOrder::definition ( )
static
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.
static eZOrder::discount (   $userID,
  $object 
)
static
Returns
the discountrules for a user
eZOrder::eZOrder (   $row)

Referenced by active(), and orderList().

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

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

eZOrder::getNewID ( )

Get a new auto_increment id from a separate table ezorder_nr_incr.

Returns
int the inserted id

Referenced by activate().

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

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
static eZOrder::orderList (   $CustomID,
  $Email 
)
static
Returns
list of products for a custom
static 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,
array  $sorts = null 
)

Fetch product items that bellongs ot the order.

Parameters
bool$asObject
array | null$sortsArray with sort data sent directly to eZPersistentObject::fetchObjectList()

Referenced by orderInfo(), productItemsOrdered(), productTotalExVAT(), and productTotalIncVAT().

eZOrder::productItemsOrdered (   $asObject = true,
  $order = true 
)

Fetch product items ordered by id ( the order they where added to order )

Parameters
bool$asObject
bool$orderTrue (default) for ascending[0->9] and false for decending[9->0]
static eZOrder::productList (   $CustomID,
  $Email 
)
static
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().

static eZOrder::removeItem (   $itemID)
static

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
static 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

The cached status object or null if not cached yet.

Referenced by statusObject().

const eZOrder::SHOW_ALL = 2

Referenced by active(), and getShowOrdersQuery().

const eZOrder::SHOW_ARCHIVED = 1

Referenced by getShowOrdersQuery().

const eZOrder::SHOW_NORMAL = 0

Referenced by getShowOrdersQuery().


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