WC_Customer_Download_Data_Store::read( WC_Customer_Download $download )
Method to read a download permission from the database.
Description Description
Parameters Parameters
- $download
-
(Required) WC_Customer_Download object.
Source Source
File: includes/data-stores/class-wc-customer-download-data-store.php
public function read( &$download ) {
global $wpdb;
if ( ! $download->get_id() ) {
throw new Exception( __( 'Invalid download.', 'woocommerce' ) );
}
$download->set_defaults();
$raw_download = $wpdb->get_row(
$wpdb->prepare(
"SELECT * FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE permission_id = %d",
$download->get_id()
)
);
if ( ! $raw_download ) {
throw new Exception( __( 'Invalid download.', 'woocommerce' ) );
}
$download->set_props(
array(
'download_id' => $raw_download->download_id,
'product_id' => $raw_download->product_id,
'user_id' => $raw_download->user_id,
'user_email' => $raw_download->user_email,
'order_id' => $raw_download->order_id,
'order_key' => $raw_download->order_key,
'downloads_remaining' => $raw_download->downloads_remaining,
'access_granted' => strtotime( $raw_download->access_granted ),
'download_count' => $raw_download->download_count,
'access_expires' => is_null( $raw_download->access_expires ) ? null : strtotime( $raw_download->access_expires ),
)
);
$download->set_object_read( true );
}