WC_Customer_Download_Data_Store::create( WC_Customer_Download $download )
Create download permission for a user.
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 create( &$download ) { global $wpdb; // Always set a access granted date. if ( is_null( $download->get_access_granted( 'edit' ) ) ) { $download->set_access_granted( time() ); } $data = array( 'download_id' => $download->get_download_id( 'edit' ), 'product_id' => $download->get_product_id( 'edit' ), 'user_id' => $download->get_user_id( 'edit' ), 'user_email' => $download->get_user_email( 'edit' ), 'order_id' => $download->get_order_id( 'edit' ), 'order_key' => $download->get_order_key( 'edit' ), 'downloads_remaining' => $download->get_downloads_remaining( 'edit' ), 'access_granted' => date( 'Y-m-d', $download->get_access_granted( 'edit' )->getTimestamp() ), 'download_count' => $download->get_download_count( 'edit' ), 'access_expires' => ! is_null( $download->get_access_expires( 'edit' ) ) ? date( 'Y-m-d', $download->get_access_expires( 'edit' )->getTimestamp() ) : null, ); $format = array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%s', ); $result = $wpdb->insert( $wpdb->prefix . 'woocommerce_downloadable_product_permissions', apply_filters( 'woocommerce_downloadable_file_permission_data', $data ), apply_filters( 'woocommerce_downloadable_file_permission_format', $format, $data ) ); if ( $result ) { $download->set_id( $wpdb->insert_id ); $download->apply_changes(); } do_action( 'woocommerce_grant_product_download_access', $data ); }