/** * 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(); }