BFH Handwriting Downloads
Verifying download count
SELECT @order_id := [ORDER_ID]; select p.catno, p.name, i.download_token, i.download_count, CONCAT(IFNULL(CONCAT(b.first_name, ' '), ''), IFNULL(b.last_name, '')) as customer, i.product_id from order_item_link i inner join catalog_item p on i.product_id = p.id inner join cart_order o on i.order_id = o.id inner join address b on o.billing_id = b.id where i.order_id = @order_id;
Reseting download count
SELECT @order_id := [ORDER_ID]; SELECT @product_id := [PRODUCT_ID]; update order_item_link set download_count = 0 where order_id = @order_id and product_id = @product_id;
Download link format
/** * DOWNLOAD_URI defined in /_config/scripts.php * $item namespace BFHHand\Cart\CartItemDownload */ <?=DOWNLOAD_URI . $item->downloadCode() ?>
[SERVER_ROOT_URI]/d/[ORDER_ID]-[DOWNLOAD_TOKEN]
SELECT @order_id := [ORDER_ID];
SELECT @product_id := [PRODUCT_ID];
SELECT
CONCAT('https://bfhhandwriting.com/d/', i.order_id, '-', i.download_token) AS `download_url`
FROM order_item_link i
WHERE i.order_id = @order_id
AND i.product_id = @product_id;
Download validation
Code
BFHHand\Assets\AssetsDownloadPage::validate_order_payment()
Required information
- order authorization code (from the payment gateway)
- order authorization date
- order item download token
- order item download count less than maximum download count
Authorization rules
- Download limit of 3 downloads
- Download link is available up to one year from the purchase date.