WordPress.org

Plugin Directory

Changeset 1637082


Ignore:
Timestamp:
04/13/17 18:55:09 (5 months ago)
Author:
sormano
Message:

Vesioning 1.0.1

Location:
coupon-generator-for-woocommerce
Files:
23 edited
10 copied

Legend:

Unmodified
Added
Removed
  • coupon-generator-for-woocommerce/tags/1.0.1/assets/css/woocommerce-coupon-generator-admin.css

    r1256642 r1637082  
    143143          transition: none; } 
    144144    .wc-coupon-generator-wrap.wc-coupon-generator-wrap-step-3 .spinner { 
    145       float: right; } 
     145      float: right; 
     146      margin: 5px 10px; } 
    146147    .wc-coupon-generator-wrap.wc-coupon-generator-wrap-step-3 pre.wc-coupon-generator-progress-messages { 
    147148      background: #F5F5F5; 
  • coupon-generator-for-woocommerce/tags/1.0.1/assets/css/woocommerce-coupon-generator-admin.scss

    r1256642 r1637082  
    177177            } 
    178178        } 
    179         .spinner { float: right; } 
     179        .spinner {  float: right; margin: 5px 10px; } 
    180180 
    181181        pre.wc-coupon-generator-progress-messages { 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/class-wccg-admin.php

    r1256642 r1637082  
    5353            // Plugins page 
    5454            add_filter( 'plugin_action_links_' . plugin_basename( WooCommerce_Coupon_Generator()->file ), array( $this, 'add_plugin_action_links' ), 10, 2 ); 
    55             add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta'), 10, 2 ); 
     55            add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta' ), 10, 2 ); 
    5656        endif; 
    5757 
     
    124124     * @since 1.0.0 
    125125     * 
    126      * @param   array   $scren_ids  List of existing screen IDs. 
    127      * @return  array               List of modfied screen IDs. 
     126     * @param  array $screen_ids List of existing screen IDs. 
     127     * @return array             List of modfied screen IDs. 
    128128     */ 
    129129    public function add_wc_screen_id( $screen_ids ) { 
     
    144144     * @since 1.0.2 
    145145     * 
    146      * @param   array   $links  List of existing links. 
    147      * @param   string  $file   Name of the current plugin being looped. 
    148      * @return  array           List of modified links. 
     146     * @param  array  $links List of existing links. 
     147     * @param  string $file  Name of the current plugin being looped. 
     148     * @return array         List of modified links. 
    149149     */ 
    150150    public function add_plugin_action_links( $links, $file ) { 
     
    168168     * @since 1.0.2 
    169169     * 
    170      * @param   array   $links  List of existing links. 
    171      * @param   string  $file   Name of the current plugin being looped. 
    172      * @return  array           List of modified links. 
     170     * @param  array  $links List of existing links. 
     171     * @param  string $file  Name of the current plugin being looped. 
     172     * @return array         List of modified links. 
    173173     */ 
    174174    public function add_plugin_row_meta( $links, $file ) { 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/class-wccg-generator.php

    r1256642 r1637082  
    3636                'handler' => 'introduction_handler', 
    3737            ), 
    38             '1' => array( 
     38            '1' => array( 
    3939                'name'    => __( 'Coupon options', 'woocommerce-coupon-generator' ), 
    4040                'handler' => 'coupon_options_handler', 
    4141            ), 
    42             '2' => array( 
     42            '2' => array( 
    4343                'name'    => __( 'Generator options', 'woocommerce-coupon-generator' ), 
    4444                'handler' => 'generator_options_handler', 
    4545            ), 
    46             '3' => array( 
     46            '3' => array( 
    4747                'name'    => __( 'Generate coupons', 'woocommerce-coupon-generator' ), 
    4848                'handler' => 'generate_coupons_handler', 
     
    6060     * @since 1.0.0 
    6161     * 
    62      * @return  int Step number. 
     62     * @return int Step number. 
    6363     */ 
    6464    public function current_step() { 
     
    8383     * @since 1.0.0 
    8484     * 
    85      * @param   int $step   Step to output. Leave empty to use the current step. 
     85     * @param int $step Step to output. Leave empty to use the current step. 
    8686     */ 
    8787    public function output_step( $step = null ) { 
     
    126126 
    127127    } 
     128 
    128129 
    129130    /** 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/views/html-coupon-generator-step-1.php

    r1256642 r1637082  
    3636 
    3737                                $temp_coupon = wp_insert_post( array( 
    38                                     'post_type' => 'shop_coupon', 
     38                                    'post_type'   => 'shop_coupon', 
    3939                                    'post_status' => 'draft', 
    40                                     'post_title' => 'temp_generator_coupon', 
     40                                    'post_title'  => 'temp_generator_coupon', 
    4141                                ) ); 
    4242                                global $thepostid; 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/views/html-coupon-generator-step-2.php

    r1256642 r1637082  
    4242                                            <label for="number_of_coupons"><?php _e( 'Number of coupons', 'woocommerce-coupon-generator' ); ?></label> 
    4343                                            <input type="number" min="1" autofocus class="short" style="width: 200px;" name="number_of_coupons" id="coupon_amount" value="1" placeholder="10"> 
    44                                             <img class="help_tip" data-tip='<?php _e( 'Number of coupons to generate in this batch', 'woocommerce-coupon-generator' ) ?>' src="<?php echo WC()->plugin_url(); ?>/assets/images/help.png" height="16" width="16" /> 
     44                                            <img class="help_tip" data-tip='<?php _e( 'Number of coupons to generate in this batch', 'woocommerce-coupon-generator' ); ?>' src="<?php echo WC()->plugin_url(); ?>/assets/images/help.png" height="16" width="16" /> 
    4545                                        </p> 
    4646 
     
    6565 
    6666                if ( is_array( $val ) ) : 
    67                     foreach( $val as $inner_val ) : 
     67                    foreach ( $val as $inner_val ) : 
    6868                        ?><input type="hidden" name="<?php echo esc_attr( $key ); ?>[]" value="<?php echo esc_attr( $inner_val ); ?>" /><?php 
    6969                    endforeach; 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/views/html-coupon-generator-step-3.php

    r1256642 r1637082  
    5454                                    jQuery( document ).ready( function( $ ) { 
    5555                                        WCCG_Generator.init(); 
    56                                     }); 
     56                                    } ); 
    5757                                    </script> 
    5858 
     
    6262 
    6363                                            if ( is_array( $val ) ) : 
    64                                                 foreach( $val as $inner_val ) : 
     64                                                foreach ( $val as $inner_val ) : 
    6565                                                    ?><input type="hidden" name="<?php echo esc_attr( $key ); ?>[]" value="<?php echo esc_attr( $inner_val ); ?>" /><?php 
    6666                                                endforeach; 
  • coupon-generator-for-woocommerce/tags/1.0.1/includes/admin/wccg-core-functions.php

    r1256642 r1637082  
    6262 
    6363        $insert_coupon_ids[] = $wpdb->insert_id; 
    64         $coupon_id = $wpdb->insert_id; 
     64        $coupon_id           = $wpdb->insert_id; 
    6565 
    6666        // Set GUID 
     
    7272 
    7373    // Add/Replace data to array 
     74    $product_ids = is_array( $args['product_ids'] ) ? $args['product_ids'] : explode( ',', $args['product_ids'] ); 
     75    $exclude_ids = is_array( $args['exclude_product_ids'] ) ? $args['exclude_product_ids'] : explode( ',', $args['exclude_product_ids'] ); 
    7476    $meta_array = apply_filters( 'woocommerce_coupon_generator_coupon_meta_data', array( 
    75         'discount_type'  => empty( $args['discount_type'] ) ? 'fixed_cart' : wc_clean( $args['discount_type'] ), 
    76         'coupon_amount'  => wc_format_decimal( $args['coupon_amount'] ), 
    77         'individual_use'  => isset( $args['individual_use'] ) ? 'yes' : 'no', 
    78         'product_ids'  => implode( ',', array_filter( array_map( 'intval', explode( ',', $args['product_ids'] ) ) ) ), 
    79         'exclude_product_ids'  => implode( ',', array_filter( array_map( 'intval', explode( ',', $args['exclude_product_ids'] ) ) ) ), 
    80         'usage_limit'  => empty( $args['usage_limit'] ) ? '' : absint( $args['usage_limit'] ), 
    81         'usage_limit_per_user'  => empty( $args['usage_limit_per_user'] ) ? '' : absint( $args['usage_limit_per_user'] ), 
    82         'limit_usage_to_x_items'  => empty( $args['limit_usage_to_x_items'] ) ? '' : absint( $args['limit_usage_to_x_items'] ), 
    83         'expiry_date'  => wc_clean( $args['expiry_date'] ), 
    84         'free_shipping'  => isset( $args['free_shipping'] ) ? 'yes' : 'no', 
    85         'exclude_sale_items'  => isset( $args['exclude_sale_items'] ) ? 'yes' : 'no', 
    86         'product_categories'  => isset( $args['product_categories'] ) ? array_map( 'intval', $args['product_categories'] ) : array(), 
    87         'exclude_product_categories'  => isset( $args['exclude_product_categories'] ) ? array_map( 'intval', $args['exclude_product_categories'] ) : array(), 
    88         'minimum_amount'  => wc_format_decimal( $args['minimum_amount'] ), 
    89         'maximum_amount'  => wc_format_decimal( $args['maximum_amount'] ), 
    90         'customer_email'  => array_filter( array_map( 'trim', explode( ',', wc_clean( $args['customer_email'] ) ) ) ), 
     77        'discount_type'              => empty( $args['discount_type'] ) ? 'fixed_cart' : wc_clean( $args['discount_type'] ), 
     78        'coupon_amount'              => wc_format_decimal( $args['coupon_amount'] ), 
     79        'individual_use'             => isset( $args['individual_use'] ) ? 'yes' : 'no', 
     80        'product_ids'                => implode( ',', array_filter( array_map( 'intval', $product_ids ) ) ), 
     81        'exclude_product_ids'        => implode( ',', array_filter( array_map( 'intval', $exclude_ids ) ) ), 
     82        'usage_limit'                => empty( $args['usage_limit'] ) ? '' : absint( $args['usage_limit'] ), 
     83        'usage_limit_per_user'       => empty( $args['usage_limit_per_user'] ) ? '' : absint( $args['usage_limit_per_user'] ), 
     84        'limit_usage_to_x_items'     => empty( $args['limit_usage_to_x_items'] ) ? '' : absint( $args['limit_usage_to_x_items'] ), 
     85        'expiry_date'                => wc_clean( $args['expiry_date'] ), 
     86        'free_shipping'              => isset( $args['free_shipping'] ) ? 'yes' : 'no', 
     87        'exclude_sale_items'         => isset( $args['exclude_sale_items'] ) ? 'yes' : 'no', 
     88        'product_categories'         => isset( $args['product_categories'] ) ? array_map( 'intval', $args['product_categories'] ) : array(), 
     89        'exclude_product_categories' => isset( $args['exclude_product_categories'] ) ? array_map( 'intval', $args['exclude_product_categories'] ) : array(), 
     90        'minimum_amount'             => wc_format_decimal( $args['minimum_amount'] ), 
     91        'maximum_amount'             => wc_format_decimal( $args['maximum_amount'] ), 
     92        'customer_email'             => array_filter( array_map( 'trim', explode( ',', wc_clean( $args['customer_email'] ) ) ) ), 
    9193    ), $coupon_id ); 
    9294 
     
    98100        foreach ( $insert_coupon_ids as $coupon_id ) : 
    99101 
    100             $insert_meta_values .= $wpdb->prepare( "(%d, %s, %s)", $coupon_id, sanitize_title( wp_unslash( $key ) ), maybe_serialize( wp_unslash( $value ) ) ); 
     102            $insert_meta_values .= $wpdb->prepare( '(%d, %s, %s)', $coupon_id, sanitize_title( wp_unslash( $key ) ), maybe_serialize( wp_unslash( $value ) ) ); 
    101103 
    102104            $meta_array_keys = array_keys( $meta_array ); 
    103105            if ( $key == end( $meta_array_keys ) && $coupon_id == end( $insert_coupon_ids ) ) : 
    104                 $insert_meta_values .= ";"; 
     106                $insert_meta_values .= ';'; 
    105107            else : 
    106                 $insert_meta_values .= ", "; 
     108                $insert_meta_values .= ', '; 
    107109            endif; 
    108110 
     
    125127 * @since 1.0.0 
    126128 * 
    127  * @return  string  Random coupon code. 
     129 * @return string Random coupon code. 
    128130 */ 
    129131function wccg_get_random_coupon() { 
    130132 
    131133    // Generate unique coupon code 
    132     $random_coupon  = ''; 
    133     $length         = 12; 
    134     $charset        = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
    135     $count          = strlen( $charset ); 
     134    $random_coupon = ''; 
     135    $length        = 12; 
     136    $charset       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
     137    $count         = strlen( $charset ); 
    136138 
    137139    while ( $length-- ) : 
     
    165167    endif; 
    166168 
    167     $progress = 0; 
    168     $message = ''; 
     169    $progress   = 0; 
     170    $message    = ''; 
    169171    $batch_size = 500; 
    170172    $batch_step = absint( $_POST['batch_step'] ); 
    171173 
    172     $total_numer_coupons = $post_data['number_of_coupons']; 
    173     $coupons_generated = $batch_step * $batch_size; 
    174     $coupons_to_generate = min( $total_numer_coupons - $coupons_generated, $batch_size ); 
     174    $total_number_coupons = $post_data['number_of_coupons']; 
     175    $coupons_generated    = $batch_step * $batch_size; 
     176    $coupons_to_generate  = min( $total_number_coupons - $coupons_generated, $batch_size ); 
    175177 
    176178 
     
    182184    // Step 
    183185    $coupons_generated += $coupons_to_generate; 
    184     if ( $coupons_generated == $total_numer_coupons ) : 
    185         $batch_step = 'done'; 
    186         $message .= '<strong>' . sprintf( __( 'Coupon generation completed! Created %1$d coupons.', 'woocommerce-coupon-generator' ), $coupons_generated ) . '</strong><br/>'; 
     186    if ( $coupons_generated == $total_number_coupons ) : 
     187        $batch_step  = 'done'; 
     188        $message    .= '<strong>' . sprintf( __( 'Coupon generation completed! Created %1$d coupons.', 'woocommerce-coupon-generator' ), $coupons_generated ) . '</strong><br/>'; 
    187189    else : 
    188190        ++$batch_step; 
     
    193195 
    194196    // Progress 
    195     $progress = round( $coupons_generated / $total_numer_coupons * 100 ); 
     197    $progress = round( $coupons_generated / $total_number_coupons * 100 ); 
    196198 
    197199    die( json_encode( array( 'step' => $batch_step, 'progress' => $progress, 'message' => $message ) ) ); 
    198200 
    199201} 
     202 
     203 
    200204add_action( 'wp_ajax_wccg_generate_coupons', 'wccg_ajax_process_batch_coupons' ); 
  • coupon-generator-for-woocommerce/tags/1.0.1/readme.txt

    r1260199 r1637082  
    11=== Coupon Generator for WooCommerce === 
    22Contributors: sormano, shopplugins 
    3 Donate link: http://jeroensormani.com/donate/ 
    43Tags: woocommerce coupon generator, woocommerce, woocommerce coupon, coupons, coupon importer, woocommerce automatic coupons, woocommerce random coupons 
    5 Requires at least: 3.8 
    6 Tested up to: 4.3 
    7 Stable tag: 1.0.0 
     4Requires at least: 4.0.0 
     5Tested up to: 4.7.3 
     6Stable tag: 1.0.1 
    87License: GPLv3 or later 
    98License URI: http://www.gnu.org/licenses/gpl-3.0.html 
     
    44435. Generated coupons 
    4544 
     45 
    4646== Changelog == 
     47 
     48= 1.0.2 - 2017/04/13 = 
     49 
     50* [Fix] - WC 3.0 incompatibility with the 'Products' / 'Excluded products' coupon setting 
    4751 
    4852= 1.0.0 = 
  • coupon-generator-for-woocommerce/tags/1.0.1/woocommerce-coupon-generator.php

    r1256642 r1637082  
    44 * Plugin URI:      http://jeroensormani.com/ 
    55 * Description:     Easily generate <strong>MILLIONS</strong> of unique coupons for your online store. Use all the coupon settings you are familiar with! 
    6  * Version:         1.0.0 
     6 * Version:         1.0.1 
    77 * Author:          Jeroen Sormani 
    88 * Author URI:      http://jeroensormani.com/ 
     
    3030     * @var string $version Plugin version number. 
    3131     */ 
    32     public $version = '1.0.0'; 
     32    public $version = '1.0.1'; 
    3333 
    3434 
     
    158158if ( ! function_exists( 'WooCommerce_Coupon_Generator' ) ) : 
    159159 
    160     function WooCommerce_Coupon_Generator() { 
     160    function WooCommerce_Coupon_Generator() { 
     161 
    161162        return WooCommerce_Coupon_Generator::instance(); 
     163 
    162164    } 
     165 
    163166 
    164167endif; 
  • coupon-generator-for-woocommerce/trunk/assets/css/woocommerce-coupon-generator-admin.css

    r1256642 r1637082  
    143143          transition: none; } 
    144144    .wc-coupon-generator-wrap.wc-coupon-generator-wrap-step-3 .spinner { 
    145       float: right; } 
     145      float: right; 
     146      margin: 5px 10px; } 
    146147    .wc-coupon-generator-wrap.wc-coupon-generator-wrap-step-3 pre.wc-coupon-generator-progress-messages { 
    147148      background: #F5F5F5; 
  • coupon-generator-for-woocommerce/trunk/assets/css/woocommerce-coupon-generator-admin.scss

    r1256642 r1637082  
    177177            } 
    178178        } 
    179         .spinner { float: right; } 
     179        .spinner {  float: right; margin: 5px 10px; } 
    180180 
    181181        pre.wc-coupon-generator-progress-messages { 
  • coupon-generator-for-woocommerce/trunk/includes/admin/class-wccg-admin.php

    r1256642 r1637082  
    5353            // Plugins page 
    5454            add_filter( 'plugin_action_links_' . plugin_basename( WooCommerce_Coupon_Generator()->file ), array( $this, 'add_plugin_action_links' ), 10, 2 ); 
    55             add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta'), 10, 2 ); 
     55            add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta' ), 10, 2 ); 
    5656        endif; 
    5757 
     
    124124     * @since 1.0.0 
    125125     * 
    126      * @param   array   $scren_ids  List of existing screen IDs. 
    127      * @return  array               List of modfied screen IDs. 
     126     * @param  array $screen_ids List of existing screen IDs. 
     127     * @return array             List of modfied screen IDs. 
    128128     */ 
    129129    public function add_wc_screen_id( $screen_ids ) { 
     
    144144     * @since 1.0.2 
    145145     * 
    146      * @param   array   $links  List of existing links. 
    147      * @param   string  $file   Name of the current plugin being looped. 
    148      * @return  array           List of modified links. 
     146     * @param  array  $links List of existing links. 
     147     * @param  string $file  Name of the current plugin being looped. 
     148     * @return array         List of modified links. 
    149149     */ 
    150150    public function add_plugin_action_links( $links, $file ) { 
     
    168168     * @since 1.0.2 
    169169     * 
    170      * @param   array   $links  List of existing links. 
    171      * @param   string  $file   Name of the current plugin being looped. 
    172      * @return  array           List of modified links. 
     170     * @param  array  $links List of existing links. 
     171     * @param  string $file  Name of the current plugin being looped. 
     172     * @return array         List of modified links. 
    173173     */ 
    174174    public function add_plugin_row_meta( $links, $file ) { 
  • coupon-generator-for-woocommerce/trunk/includes/admin/class-wccg-generator.php

    r1256642 r1637082  
    3636                'handler' => 'introduction_handler', 
    3737            ), 
    38             '1' => array( 
     38            '1' => array( 
    3939                'name'    => __( 'Coupon options', 'woocommerce-coupon-generator' ), 
    4040                'handler' => 'coupon_options_handler', 
    4141            ), 
    42             '2' => array( 
     42            '2' => array( 
    4343                'name'    => __( 'Generator options', 'woocommerce-coupon-generator' ), 
    4444                'handler' => 'generator_options_handler', 
    4545            ), 
    46             '3' => array( 
     46            '3' => array( 
    4747                'name'    => __( 'Generate coupons', 'woocommerce-coupon-generator' ), 
    4848                'handler' => 'generate_coupons_handler', 
     
    6060     * @since 1.0.0 
    6161     * 
    62      * @return  int Step number. 
     62     * @return int Step number. 
    6363     */ 
    6464    public function current_step() { 
     
    8383     * @since 1.0.0 
    8484     * 
    85      * @param   int $step   Step to output. Leave empty to use the current step. 
     85     * @param int $step Step to output. Leave empty to use the current step. 
    8686     */ 
    8787    public function output_step( $step = null ) { 
     
    126126 
    127127    } 
     128 
    128129 
    129130    /** 
  • coupon-generator-for-woocommerce/trunk/includes/admin/views/html-coupon-generator-step-1.php

    r1256642 r1637082  
    3636 
    3737                                $temp_coupon = wp_insert_post( array( 
    38                                     'post_type' => 'shop_coupon', 
     38                                    'post_type'   => 'shop_coupon', 
    3939                                    'post_status' => 'draft', 
    40                                     'post_title' => 'temp_generator_coupon', 
     40                                    'post_title'  => 'temp_generator_coupon', 
    4141                                ) ); 
    4242                                global $thepostid; 
  • coupon-generator-for-woocommerce/trunk/includes/admin/views/html-coupon-generator-step-2.php

    r1256642 r1637082  
    4242                                            <label for="number_of_coupons"><?php _e( 'Number of coupons', 'woocommerce-coupon-generator' ); ?></label> 
    4343                                            <input type="number" min="1" autofocus class="short" style="width: 200px;" name="number_of_coupons" id="coupon_amount" value="1" placeholder="10"> 
    44                                             <img class="help_tip" data-tip='<?php _e( 'Number of coupons to generate in this batch', 'woocommerce-coupon-generator' ) ?>' src="<?php echo WC()->plugin_url(); ?>/assets/images/help.png" height="16" width="16" /> 
     44                                            <img class="help_tip" data-tip='<?php _e( 'Number of coupons to generate in this batch', 'woocommerce-coupon-generator' ); ?>' src="<?php echo WC()->plugin_url(); ?>/assets/images/help.png" height="16" width="16" /> 
    4545                                        </p> 
    4646 
     
    6565 
    6666                if ( is_array( $val ) ) : 
    67                     foreach( $val as $inner_val ) : 
     67                    foreach ( $val as $inner_val ) : 
    6868                        ?><input type="hidden" name="<?php echo esc_attr( $key ); ?>[]" value="<?php echo esc_attr( $inner_val ); ?>" /><?php 
    6969                    endforeach; 
  • coupon-generator-for-woocommerce/trunk/includes/admin/views/html-coupon-generator-step-3.php

    r1256642 r1637082  
    5454                                    jQuery( document ).ready( function( $ ) { 
    5555                                        WCCG_Generator.init(); 
    56                                     }); 
     56                                    } ); 
    5757                                    </script> 
    5858 
     
    6262 
    6363                                            if ( is_array( $val ) ) : 
    64                                                 foreach( $val as $inner_val ) : 
     64                                                foreach ( $val as $inner_val ) : 
    6565                                                    ?><input type="hidden" name="<?php echo esc_attr( $key ); ?>[]" value="<?php echo esc_attr( $inner_val ); ?>" /><?php 
    6666                                                endforeach; 
  • coupon-generator-for-woocommerce/trunk/includes/admin/wccg-core-functions.php

    r1256642 r1637082  
    6262 
    6363        $insert_coupon_ids[] = $wpdb->insert_id; 
    64         $coupon_id = $wpdb->insert_id; 
     64        $coupon_id           = $wpdb->insert_id; 
    6565 
    6666        // Set GUID 
     
    7272 
    7373    // Add/Replace data to array 
     74    $product_ids = is_array( $args['product_ids'] ) ? $args['product_ids'] : explode( ',', $args['product_ids'] ); 
     75    $exclude_ids = is_array( $args['exclude_product_ids'] ) ? $args['exclude_product_ids'] : explode( ',', $args['exclude_product_ids'] ); 
    7476    $meta_array = apply_filters( 'woocommerce_coupon_generator_coupon_meta_data', array( 
    75         'discount_type'  => empty( $args['discount_type'] ) ? 'fixed_cart' : wc_clean( $args['discount_type'] ), 
    76         'coupon_amount'  => wc_format_decimal( $args['coupon_amount'] ), 
    77         'individual_use'  => isset( $args['individual_use'] ) ? 'yes' : 'no', 
    78         'product_ids'  => implode( ',', array_filter( array_map( 'intval', explode( ',', $args['product_ids'] ) ) ) ), 
    79         'exclude_product_ids'  => implode( ',', array_filter( array_map( 'intval', explode( ',', $args['exclude_product_ids'] ) ) ) ), 
    80         'usage_limit'  => empty( $args['usage_limit'] ) ? '' : absint( $args['usage_limit'] ), 
    81         'usage_limit_per_user'  => empty( $args['usage_limit_per_user'] ) ? '' : absint( $args['usage_limit_per_user'] ), 
    82         'limit_usage_to_x_items'  => empty( $args['limit_usage_to_x_items'] ) ? '' : absint( $args['limit_usage_to_x_items'] ), 
    83         'expiry_date'  => wc_clean( $args['expiry_date'] ), 
    84         'free_shipping'  => isset( $args['free_shipping'] ) ? 'yes' : 'no', 
    85         'exclude_sale_items'  => isset( $args['exclude_sale_items'] ) ? 'yes' : 'no', 
    86         'product_categories'  => isset( $args['product_categories'] ) ? array_map( 'intval', $args['product_categories'] ) : array(), 
    87         'exclude_product_categories'  => isset( $args['exclude_product_categories'] ) ? array_map( 'intval', $args['exclude_product_categories'] ) : array(), 
    88         'minimum_amount'  => wc_format_decimal( $args['minimum_amount'] ), 
    89         'maximum_amount'  => wc_format_decimal( $args['maximum_amount'] ), 
    90         'customer_email'  => array_filter( array_map( 'trim', explode( ',', wc_clean( $args['customer_email'] ) ) ) ), 
     77        'discount_type'              => empty( $args['discount_type'] ) ? 'fixed_cart' : wc_clean( $args['discount_type'] ), 
     78        'coupon_amount'              => wc_format_decimal( $args['coupon_amount'] ), 
     79        'individual_use'             => isset( $args['individual_use'] ) ? 'yes' : 'no', 
     80        'product_ids'                => implode( ',', array_filter( array_map( 'intval', $product_ids ) ) ), 
     81        'exclude_product_ids'        => implode( ',', array_filter( array_map( 'intval', $exclude_ids ) ) ), 
     82        'usage_limit'                => empty( $args['usage_limit'] ) ? '' : absint( $args['usage_limit'] ), 
     83        'usage_limit_per_user'       => empty( $args['usage_limit_per_user'] ) ? '' : absint( $args['usage_limit_per_user'] ), 
     84        'limit_usage_to_x_items'     => empty( $args['limit_usage_to_x_items'] ) ? '' : absint( $args['limit_usage_to_x_items'] ), 
     85        'expiry_date'                => wc_clean( $args['expiry_date'] ), 
     86        'free_shipping'              => isset( $args['free_shipping'] ) ? 'yes' : 'no', 
     87        'exclude_sale_items'         => isset( $args['exclude_sale_items'] ) ? 'yes' : 'no', 
     88        'product_categories'         => isset( $args['product_categories'] ) ? array_map( 'intval', $args['product_categories'] ) : array(), 
     89        'exclude_product_categories' => isset( $args['exclude_product_categories'] ) ? array_map( 'intval', $args['exclude_product_categories'] ) : array(), 
     90        'minimum_amount'             => wc_format_decimal( $args['minimum_amount'] ), 
     91        'maximum_amount'             => wc_format_decimal( $args['maximum_amount'] ), 
     92        'customer_email'             => array_filter( array_map( 'trim', explode( ',', wc_clean( $args['customer_email'] ) ) ) ), 
    9193    ), $coupon_id ); 
    9294 
     
    98100        foreach ( $insert_coupon_ids as $coupon_id ) : 
    99101 
    100             $insert_meta_values .= $wpdb->prepare( "(%d, %s, %s)", $coupon_id, sanitize_title( wp_unslash( $key ) ), maybe_serialize( wp_unslash( $value ) ) ); 
     102            $insert_meta_values .= $wpdb->prepare( '(%d, %s, %s)', $coupon_id, sanitize_title( wp_unslash( $key ) ), maybe_serialize( wp_unslash( $value ) ) ); 
    101103 
    102104            $meta_array_keys = array_keys( $meta_array ); 
    103105            if ( $key == end( $meta_array_keys ) && $coupon_id == end( $insert_coupon_ids ) ) : 
    104                 $insert_meta_values .= ";"; 
     106                $insert_meta_values .= ';'; 
    105107            else : 
    106                 $insert_meta_values .= ", "; 
     108                $insert_meta_values .= ', '; 
    107109            endif; 
    108110 
     
    125127 * @since 1.0.0 
    126128 * 
    127  * @return  string  Random coupon code. 
     129 * @return string Random coupon code. 
    128130 */ 
    129131function wccg_get_random_coupon() { 
    130132 
    131133    // Generate unique coupon code 
    132     $random_coupon  = ''; 
    133     $length         = 12; 
    134     $charset        = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
    135     $count          = strlen( $charset ); 
     134    $random_coupon = ''; 
     135    $length        = 12; 
     136    $charset       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
     137    $count         = strlen( $charset ); 
    136138 
    137139    while ( $length-- ) : 
     
    165167    endif; 
    166168 
    167     $progress = 0; 
    168     $message = ''; 
     169    $progress   = 0; 
     170    $message    = ''; 
    169171    $batch_size = 500; 
    170172    $batch_step = absint( $_POST['batch_step'] ); 
    171173 
    172     $total_numer_coupons = $post_data['number_of_coupons']; 
    173     $coupons_generated = $batch_step * $batch_size; 
    174     $coupons_to_generate = min( $total_numer_coupons - $coupons_generated, $batch_size ); 
     174    $total_number_coupons = $post_data['number_of_coupons']; 
     175    $coupons_generated    = $batch_step * $batch_size; 
     176    $coupons_to_generate  = min( $total_number_coupons - $coupons_generated, $batch_size ); 
    175177 
    176178 
     
    182184    // Step 
    183185    $coupons_generated += $coupons_to_generate; 
    184     if ( $coupons_generated == $total_numer_coupons ) : 
    185         $batch_step = 'done'; 
    186         $message .= '<strong>' . sprintf( __( 'Coupon generation completed! Created %1$d coupons.', 'woocommerce-coupon-generator' ), $coupons_generated ) . '</strong><br/>'; 
     186    if ( $coupons_generated == $total_number_coupons ) : 
     187        $batch_step  = 'done'; 
     188        $message    .= '<strong>' . sprintf( __( 'Coupon generation completed! Created %1$d coupons.', 'woocommerce-coupon-generator' ), $coupons_generated ) . '</strong><br/>'; 
    187189    else : 
    188190        ++$batch_step; 
     
    193195 
    194196    // Progress 
    195     $progress = round( $coupons_generated / $total_numer_coupons * 100 ); 
     197    $progress = round( $coupons_generated / $total_number_coupons * 100 ); 
    196198 
    197199    die( json_encode( array( 'step' => $batch_step, 'progress' => $progress, 'message' => $message ) ) ); 
    198200 
    199201} 
     202 
     203 
    200204add_action( 'wp_ajax_wccg_generate_coupons', 'wccg_ajax_process_batch_coupons' ); 
  • coupon-generator-for-woocommerce/trunk/readme.txt

    r1260199 r1637082  
    11=== Coupon Generator for WooCommerce === 
    22Contributors: sormano, shopplugins 
    3 Donate link: http://jeroensormani.com/donate/ 
    43Tags: woocommerce coupon generator, woocommerce, woocommerce coupon, coupons, coupon importer, woocommerce automatic coupons, woocommerce random coupons 
    5 Requires at least: 3.8 
    6 Tested up to: 4.3 
    7 Stable tag: 1.0.0 
     4Requires at least: 4.0.0 
     5Tested up to: 4.7.3 
     6Stable tag: 1.0.1 
    87License: GPLv3 or later 
    98License URI: http://www.gnu.org/licenses/gpl-3.0.html 
     
    44435. Generated coupons 
    4544 
     45 
    4646== Changelog == 
     47 
     48= 1.0.2 - 2017/04/13 = 
     49 
     50* [Fix] - WC 3.0 incompatibility with the 'Products' / 'Excluded products' coupon setting 
    4751 
    4852= 1.0.0 = 
  • coupon-generator-for-woocommerce/trunk/woocommerce-coupon-generator.php

    r1256642 r1637082  
    44 * Plugin URI:      http://jeroensormani.com/ 
    55 * Description:     Easily generate <strong>MILLIONS</strong> of unique coupons for your online store. Use all the coupon settings you are familiar with! 
    6  * Version:         1.0.0 
     6 * Version:         1.0.1 
    77 * Author:          Jeroen Sormani 
    88 * Author URI:      http://jeroensormani.com/ 
     
    3030     * @var string $version Plugin version number. 
    3131     */ 
    32     public $version = '1.0.0'; 
     32    public $version = '1.0.1'; 
    3333 
    3434 
     
    158158if ( ! function_exists( 'WooCommerce_Coupon_Generator' ) ) : 
    159159 
    160     function WooCommerce_Coupon_Generator() { 
     160    function WooCommerce_Coupon_Generator() { 
     161 
    161162        return WooCommerce_Coupon_Generator::instance(); 
     163 
    162164    } 
     165 
    163166 
    164167endif; 
Note: See TracChangeset for help on using the changeset viewer.