Beispiel #1
0
 /**
  * Retrieves an existing order by ID.
  *
  * @param int $order_id Order ID
  *
  * @return object|bool APP_Order Object representing the order. Boolean False on failure.
  */
 public static function retrieve($order_id)
 {
     if (!is_numeric($order_id)) {
         trigger_error('Invalid order id given. Must be an integer', E_USER_WARNING);
         return false;
     }
     $order_data = get_post($order_id);
     if (!$order_data || $order_data->post_type != APPTHEMES_ORDER_PTYPE) {
         return false;
     }
     // retrieve an escrow order instead if the order is flagged as escrow
     if (appthemes_is_escrow_order($order_id)) {
         return APP_Escrow_Order_Factory::retrieve($order_id);
     }
     if (appthemes_is_recurring_available()) {
         return new APP_Recurring_Order($order_data, self::get_order_items($order_id));
     }
     $order = new APP_Instant_Order($order_data, self::get_order_items($order_id));
     return $order;
 }
/**
 * Creates a blank escrow order object.
 *
 * @return APP_Escrow_Order An order object representing the new escrow order
 */
function appthemes_new_escrow_order()
{
    return APP_Escrow_Order_Factory::create();
}