LLMS_Meta_Box_Voucher_Export::export()
Export vouchers.
Return Return
([type]) [description]
Source Source
File: includes/admin/post-types/meta-boxes/class.llms.meta.box.voucher.export.php
public static function export() { if ( empty( llms_filter_input( INPUT_POST, 'llms_generate_export' ) ) || ! llms_verify_nonce( 'lifterlms_export_nonce', 'lifterlms_csv_export_data' ) ) { return false; } $type = llms_filter_input( INPUT_POST, 'llms_voucher_export_type' ); if ( ! empty( $type ) ) { if ( 'vouchers' === $type || 'redeemed' === $type ) { // Export CSV. $csv = array(); $file_name = ''; global $post; $voucher = new LLMS_Voucher( $post->ID ); switch ( $type ) { case 'vouchers': $voucher = new LLMS_Voucher( $post->ID ); $codes = $voucher->get_voucher_codes( 'ARRAY_A' ); if ( ! $codes ) { /** * @todo error handling here */ return; } foreach ( $codes as $k => $v ) { unset( $codes[ $k ]['id'] ); unset( $codes[ $k ]['voucher_id'] ); $codes[ $k ]['count'] = $codes[ $k ]['redemption_count']; $codes[ $k ]['used'] = $codes[ $k ]['used']; $codes[ $k ]['created'] = $codes[ $k ]['created_at']; $codes[ $k ]['updated'] = $codes[ $k ]['updated_at']; unset( $codes[ $k ]['redemption_count'] ); unset( $codes[ $k ]['created_at'] ); unset( $codes[ $k ]['updated_at'] ); unset( $codes[ $k ]['is_deleted'] ); } $csv = self::array_to_csv( $codes ); $file_name = 'vouchers.csv'; break; case 'redeemed': $redeemed_codes = $voucher->get_redeemed_codes( 'ARRAY_A' ); if ( ! $redeemed_codes ) { /** * @todo error handling here */ return; } foreach ( $redeemed_codes as $k => $v ) { unset( $redeemed_codes[ $k ]['id'] ); unset( $redeemed_codes[ $k ]['code_id'] ); unset( $redeemed_codes[ $k ]['voucher_id'] ); unset( $redeemed_codes[ $k ]['redemption_count'] ); unset( $redeemed_codes[ $k ]['user_id'] ); } $csv = self::array_to_csv( $redeemed_codes ); $file_name = 'redeemed_codes.csv'; break; } $send_email = llms_parse_bool( llms_filter_input( INPUT_POST, 'llms_voucher_export_send_email' ) ); if ( $send_email ) { // Send email. $email_text = trim( llms_filter_input_sanitize_string( INPUT_POST, 'llms_voucher_export_email' ) ); if ( ! empty( $email_text ) ) { $emails = array_filter( array_map( 'is_email', array_map( 'trim', explode( ',', $email_text ) ) ) ); if ( ! empty( $emails ) ) { $voucher = new LLMS_Voucher( $post->ID ); self::send_email( $csv, $emails, $voucher->get_voucher_title() ); } } return false; } self::download_csv( $csv, $file_name ); }// End if(). }// End if(). }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
5.9.0 | Introduced. |