@@ 799-832 (lines=34) @@ | ||
796 | * @param array $downloads |
|
797 | * @param int $variation_id |
|
798 | */ |
|
799 | private function save_downloadable_files( $product, $downloads, $variation_id = 0 ) { |
|
800 | $files = array(); |
|
801 | ||
802 | // File paths will be stored in an array keyed off md5(file path). |
|
803 | foreach ( $downloads as $key => $file ) { |
|
804 | if ( isset( $file['url'] ) ) { |
|
805 | $file['file'] = $file['url']; |
|
806 | } |
|
807 | ||
808 | if ( ! isset( $file['file'] ) ) { |
|
809 | continue; |
|
810 | } |
|
811 | ||
812 | $file_name = isset( $file['name'] ) ? wc_clean( $file['name'] ) : ''; |
|
813 | ||
814 | if ( 0 === strpos( $file['file'], 'http' ) ) { |
|
815 | $file_url = esc_url_raw( $file['file'] ); |
|
816 | } else { |
|
817 | $file_url = wc_clean( $file['file'] ); |
|
818 | } |
|
819 | ||
820 | $files[ md5( $file_url ) ] = array( |
|
821 | 'name' => $file_name, |
|
822 | 'file' => $file_url, |
|
823 | ); |
|
824 | } |
|
825 | ||
826 | // Grant permission to any newly added files on any existing orders for this product prior to saving. |
|
827 | do_action( 'woocommerce_process_product_file_download_paths', $product->id, $variation_id, $files ); |
|
828 | ||
829 | $id = ( 0 === $variation_id ) ? $product->id : $variation_id; |
|
830 | ||
831 | update_post_meta( $id, '_downloadable_files', $files ); |
|
832 | } |
|
833 | ||
834 | /** |
|
835 | * Save taxonomy terms. |
@@ 1939-1971 (lines=33) @@ | ||
1936 | * @param array $downloads |
|
1937 | * @param int $variation_id |
|
1938 | */ |
|
1939 | private function save_downloadable_files( $product_id, $downloads, $variation_id = 0 ) { |
|
1940 | $files = array(); |
|
1941 | ||
1942 | // File paths will be stored in an array keyed off md5(file path) |
|
1943 | foreach ( $downloads as $key => $file ) { |
|
1944 | if ( isset( $file['url'] ) ) { |
|
1945 | $file['file'] = $file['url']; |
|
1946 | } |
|
1947 | ||
1948 | if ( ! isset( $file['file'] ) ) { |
|
1949 | continue; |
|
1950 | } |
|
1951 | ||
1952 | $file_name = isset( $file['name'] ) ? wc_clean( $file['name'] ) : ''; |
|
1953 | ||
1954 | if ( 0 === strpos( $file['file'], 'http' ) ) { |
|
1955 | $file_url = esc_url_raw( $file['file'] ); |
|
1956 | } else { |
|
1957 | $file_url = wc_clean( $file['file'] ); |
|
1958 | } |
|
1959 | ||
1960 | $files[ md5( $file_url ) ] = array( |
|
1961 | 'name' => $file_name, |
|
1962 | 'file' => $file_url |
|
1963 | ); |
|
1964 | } |
|
1965 | ||
1966 | // Grant permission to any newly added files on any existing orders for this product prior to saving |
|
1967 | do_action( 'woocommerce_process_product_file_download_paths', $product_id, $variation_id, $files ); |
|
1968 | ||
1969 | $id = ( 0 === $variation_id ) ? $product_id : $variation_id; |
|
1970 | update_post_meta( $id, '_downloadable_files', $files ); |
|
1971 | } |
|
1972 | ||
1973 | /** |
|
1974 | * Get attribute taxonomy by slug. |