Plugin Directory

Changeset 3454005


Ignore:
Timestamp:
02/04/2026 05:50:07 PM (8 weeks ago)
Author:
closetechnology
Message:

Update to version 1.0.2 from GitHub

Location:
jump-to-checkout
Files:
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • jump-to-checkout/tags/1.0.2/assets/css/admin.css

    r3434274 r3454005  
    462462}
    463463
     464/* Select2 disabled options (variable products) */
     465.select2-results__option[aria-disabled="true"] {
     466    color: #a7aaad !important;
     467    cursor: not-allowed !important;
     468    background-color: #f6f7f7 !important;
     469    opacity: 0.6;
     470}
     471
     472.select2-results__option[aria-disabled="true"]:hover {
     473    background-color: #f6f7f7 !important;
     474}
     475
     476/* Strike-through effect for disabled options */
     477.select2-results__option--disabled {
     478    text-decoration: line-through;
     479    font-style: italic;
     480}
     481
    464482@media (max-width: 782px) {
    465483    .jump-to-checkout-product-row {
  • jump-to-checkout/tags/1.0.2/assets/js/admin.js

    r3434274 r3454005  
    9393        }
    9494
     95        // Check if product is disabled (variable product).
     96        if (selectedOption.disabled || selectedOption.hasAttribute('disabled')) {
     97            alert(jptcAdmin.i18n.variable_product_error || 'Variable products cannot be added directly. Please select a specific variation.');
     98            // Reset select2.
     99            jQuery('.jump-to-checkout-product-search').val(null).trigger('change');
     100            return;
     101        }
    95102
    96103        const productId = selectedOption.value;
  • jump-to-checkout/tags/1.0.2/includes/Admin/AdminPanel.php

    r3435024 r3454005  
    113113                'upgrade_url'  => Features::get_upgrade_url(),
    114114                'i18n'         => array(
    115                     'copy_success'         => __( 'Link copied to clipboard!', 'jump-to-checkout' ),
    116                     'copy_error'           => __( 'Failed to copy link.', 'jump-to-checkout' ),
    117                     'generate_error'       => __( 'Error generating link.', 'jump-to-checkout' ),
    118                     'search_placeholder'   => __( 'Search products...', 'jump-to-checkout' ),
    119                     'no_products'          => __( 'No products found.', 'jump-to-checkout' ),
    120                     'no_link_name'         => __( 'Please enter a link name.', 'jump-to-checkout' ),
    121                     'no_products_selected' => __( 'Please select at least one product.', 'jump-to-checkout' ),
    122                     'no_link_in_response'  => __( 'No link in response', 'jump-to-checkout' ),
    123                     'no_products_label'    => __( 'No products selected.', 'jump-to-checkout' ),
    124                     'remove_button'        => __( 'Remove', 'jump-to-checkout' ),
     115                    'copy_success'           => __( 'Link copied to clipboard!', 'jump-to-checkout' ),
     116                    'copy_error'             => __( 'Failed to copy link.', 'jump-to-checkout' ),
     117                    'generate_error'         => __( 'Error generating link.', 'jump-to-checkout' ),
     118                    'search_placeholder'     => __( 'Search products...', 'jump-to-checkout' ),
     119                    'no_products'            => __( 'No products found.', 'jump-to-checkout' ),
     120                    'no_link_name'           => __( 'Please enter a link name.', 'jump-to-checkout' ),
     121                    'no_products_selected'   => __( 'Please select at least one product.', 'jump-to-checkout' ),
     122                    'no_link_in_response'    => __( 'No link in response', 'jump-to-checkout' ),
     123                    'no_products_label'      => __( 'No products selected.', 'jump-to-checkout' ),
     124                    'remove_button'          => __( 'Remove', 'jump-to-checkout' ),
     125                    'variable_product_error' => __( 'Variable products cannot be added directly. Please select a specific variation.', 'jump-to-checkout' ),
    125126                ),
    126127            )
     
    473474                }
    474475
     476                // Variable products should NEVER be selectable (FREE or PRO).
     477                // They need specific variations to be added to cart.
     478                if ( $product->is_type( 'variable' ) ) {
     479                    if ( Features::is_pro() ) {
     480                        $product_name .= ' ' . __( '[Variable Product - Select variation below]', 'jump-to-checkout' );
     481                    } else {
     482                        $product_name .= ' ' . __( '[PRO: Variable Product]', 'jump-to-checkout' );
     483                    }
     484
     485                    $results[] = array(
     486                        'id'       => $product->get_id(),
     487                        'text'     => wp_strip_all_tags( $product_name ),
     488                        'disabled' => true,
     489                    );
     490                    continue;
     491                }
     492
     493                // Variations are only selectable in PRO.
     494                if ( $product->is_type( 'variation' ) ) {
     495                    if ( Features::is_pro() ) {
     496                        // PRO: Show variation as selectable with indicator.
     497                        $product_name .= ' ' . __( '[Variation]', 'jump-to-checkout' );
     498
     499                        $results[] = array(
     500                            'id'   => $product->get_id(),
     501                            'text' => wp_strip_all_tags( $product_name ),
     502                        );
     503                    } else {
     504                        // FREE: Disable variations.
     505                        $product_name .= ' ' . __( '[PRO: Variation]', 'jump-to-checkout' );
     506
     507                        $results[] = array(
     508                            'id'       => $product->get_id(),
     509                            'text'     => wp_strip_all_tags( $product_name ),
     510                            'disabled' => true,
     511                        );
     512                    }
     513                    continue;
     514                }
     515
     516                // Simple products are always selectable.
    475517                $results[] = array(
    476518                    'id'   => $product->get_id(),
  • jump-to-checkout/tags/1.0.2/includes/Core/JumpToCheckout.php

    r3435024 r3454005  
    8282
    8383    /**
     84     * Generate unique short token (8-10 characters)
     85     *
     86     * @return string
     87     */
     88    private function generate_short_token() {
     89        global $wpdb;
     90
     91        // Characters allowed in short token (alphanumeric, URL-safe).
     92        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
     93        $length     = 10;
     94        $max_tries  = 10;
     95
     96        for ( $i = 0; $i < $max_tries; $i++ ) {
     97            $token = '';
     98            for ( $j = 0; $j < $length; $j++ ) {
     99                $token .= $characters[ wp_rand( 0, strlen( $characters ) - 1 ) ];
     100            }
     101
     102            // Check if token already exists using Database class method.
     103            $existing_link = $this->db->get_link_by_token( $token );
     104
     105            if ( ! $existing_link ) {
     106                return $token;
     107            }
     108        }
     109
     110        // Fallback: use timestamp + random.
     111        return substr( md5( time() . wp_rand() ), 0, 10 );
     112    }
     113
     114    /**
     115     * Check if token is new short format (10 chars) or old long format
     116     *
     117     * @param string $token Token to check.
     118     * @return bool True if new short format, false if old long format.
     119     */
     120    private function is_short_token( $token ) {
     121        return strlen( $token ) <= 20;
     122    }
     123
     124    /**
    84125     * Add custom query vars
    85126     *
     
    129170        $expiry = apply_filters( 'jptc_link_expiry', 0, $name, $products );
    130171
    131         // Token data - FREE never includes expiry. PRO can add it via filter.
    132         $data = array(
    133             'products' => $products,
    134             'exp'      => 0, // FREE never expires. PRO will modify this via filter.
    135             'iss'      => 'jptc',
    136             'iat'      => time(),
    137         );
    138 
    139         // Allow PRO to modify token data (PRO will add expiry here).
    140         $data = apply_filters( 'jptc_token_data_before_encode', $data, $name, $products, $expiry );
    141 
    142         $token = $this->encode_token( $data );
     172        // Generate short token (new format: just a random ID, products stored in DB).
     173        $token = $this->generate_short_token();
    143174        $url   = home_url( '/jump-to-checkout/' . $token );
    144175
     
    296327        setcookie( 'jptc_link_id', $link->id, time() + DAY_IN_SECONDS, $cookie_path, $cookie_domain, is_ssl(), true );
    297328
    298         // Decode token.
    299         $data = $this->decode_token( $token );
    300 
    301         if ( false === $data ) {
    302             wp_die(
    303                 esc_html__( 'Invalid or expired checkout link.', 'jump-to-checkout' ),
    304                 esc_html__( 'Error', 'jump-to-checkout' ),
    305                 array( 'response' => 403 )
     329        // Check if token is new short format or old long format.
     330        if ( $this->is_short_token( $token ) ) {
     331            // New format: products are stored in database.
     332            $data = array(
     333                'products' => json_decode( $link->products, true ),
    306334            );
     335        } else {
     336            // Old format: decode token to get product data (backward compatibility).
     337            $data = $this->decode_token( $token );
     338
     339            if ( false === $data ) {
     340                wp_die(
     341                    esc_html__( 'Invalid or expired checkout link.', 'jump-to-checkout' ),
     342                    esc_html__( 'Error', 'jump-to-checkout' ),
     343                    array( 'response' => 403 )
     344                );
     345            }
    307346        }
    308347
  • jump-to-checkout/tags/1.0.2/jump-to-checkout.php

    r3435024 r3454005  
    44 * Plugin URI:  https://close.technology/wordpress-plugins/jump-to-checkout-pro/
    55 * Description: Generate direct checkout links with pre-selected products for WooCommerce.
    6  * Version:     1.0.1
     6 * Version:     1.0.2
    77 * Author:      Close Marketing
    88 * Author URI:  https://close.marketing
     
    2525defined( 'ABSPATH' ) || die( 'No script kiddies please!' );
    2626
    27 define( 'JTPC_VERSION', '1.0.1' );
     27define( 'JTPC_VERSION', '1.0.2' );
    2828define( 'JTPC_PLUGIN', __FILE__ );
    2929define( 'JTPC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
     
    4646    // Initialize plugin classes.
    4747    if ( class_exists( 'CLOSE\JumpToCheckout\Core\JumpToCheckout' ) ) {
     48        // Check and update database if needed.
     49        $db = new CLOSE\JumpToCheckout\Database\Database();
     50        $db->maybe_create_table();
     51
    4852        new CLOSE\JumpToCheckout\Core\JumpToCheckout();
    4953        new CLOSE\JumpToCheckout\Admin\AdminPanel();
  • jump-to-checkout/tags/1.0.2/readme.txt

    r3435024 r3454005  
    66Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 1.0.1
     8Stable tag: 1.0.2
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    190190== Changelog ==
    191191
     192= 1.0.2 =
     193* Improved: Shortened token length to 10 characters for cleaner, more shareable URLs
     194* Fixed: Variable products (parent) are now always disabled to prevent direct cart addition
     195* Fixed: Product variations are only selectable in PRO version
     196* Added: Visual indicators showing product type (Variable Product, Variation, or Simple)
     197* Added: Clear PRO upgrade prompts for variable products and variations in FREE version
     198* Enhanced: Better backward compatibility with existing long-format tokens
     199
    192200= 1.0.1 =
    193201* Fixed: some issues in admin area.
     
    207215== Upgrade Notice ==
    208216
     217= 1.0.2 =
     218Shorter, cleaner URLs and better handling of variable products. All existing links continue to work.
     219
     220= 1.0.1 =
     221Bug fixes and stability improvements.
     222
    209223= 1.0.0 =
    210224Initial release of Jump to Checkout. Install now to start creating direct checkout links for your WooCommerce store!
  • jump-to-checkout/tags/1.0.2/vendor/composer/installed.php

    r3435024 r3454005  
    22    'root' => array(
    33        'name' => 'closemarketing/jump-to-checkout',
    4         'pretty_version' => '1.0.1',
    5         'version' => '1.0.1.0',
    6         'reference' => 'fc70488f0d16cb863b4cb7c30c3fb24219d661e9',
     4        'pretty_version' => '1.0.2',
     5        'version' => '1.0.2.0',
     6        'reference' => '19416ac6343e97e541035be1437b358d2a898b4a',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'closemarketing/jump-to-checkout' => array(
    14             'pretty_version' => '1.0.1',
    15             'version' => '1.0.1.0',
    16             'reference' => 'fc70488f0d16cb863b4cb7c30c3fb24219d661e9',
     14            'pretty_version' => '1.0.2',
     15            'version' => '1.0.2.0',
     16            'reference' => '19416ac6343e97e541035be1437b358d2a898b4a',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
  • jump-to-checkout/trunk/assets/css/admin.css

    r3434274 r3454005  
    462462}
    463463
     464/* Select2 disabled options (variable products) */
     465.select2-results__option[aria-disabled="true"] {
     466    color: #a7aaad !important;
     467    cursor: not-allowed !important;
     468    background-color: #f6f7f7 !important;
     469    opacity: 0.6;
     470}
     471
     472.select2-results__option[aria-disabled="true"]:hover {
     473    background-color: #f6f7f7 !important;
     474}
     475
     476/* Strike-through effect for disabled options */
     477.select2-results__option--disabled {
     478    text-decoration: line-through;
     479    font-style: italic;
     480}
     481
    464482@media (max-width: 782px) {
    465483    .jump-to-checkout-product-row {
  • jump-to-checkout/trunk/assets/js/admin.js

    r3434274 r3454005  
    9393        }
    9494
     95        // Check if product is disabled (variable product).
     96        if (selectedOption.disabled || selectedOption.hasAttribute('disabled')) {
     97            alert(jptcAdmin.i18n.variable_product_error || 'Variable products cannot be added directly. Please select a specific variation.');
     98            // Reset select2.
     99            jQuery('.jump-to-checkout-product-search').val(null).trigger('change');
     100            return;
     101        }
    95102
    96103        const productId = selectedOption.value;
  • jump-to-checkout/trunk/includes/Admin/AdminPanel.php

    r3435024 r3454005  
    113113                'upgrade_url'  => Features::get_upgrade_url(),
    114114                'i18n'         => array(
    115                     'copy_success'         => __( 'Link copied to clipboard!', 'jump-to-checkout' ),
    116                     'copy_error'           => __( 'Failed to copy link.', 'jump-to-checkout' ),
    117                     'generate_error'       => __( 'Error generating link.', 'jump-to-checkout' ),
    118                     'search_placeholder'   => __( 'Search products...', 'jump-to-checkout' ),
    119                     'no_products'          => __( 'No products found.', 'jump-to-checkout' ),
    120                     'no_link_name'         => __( 'Please enter a link name.', 'jump-to-checkout' ),
    121                     'no_products_selected' => __( 'Please select at least one product.', 'jump-to-checkout' ),
    122                     'no_link_in_response'  => __( 'No link in response', 'jump-to-checkout' ),
    123                     'no_products_label'    => __( 'No products selected.', 'jump-to-checkout' ),
    124                     'remove_button'        => __( 'Remove', 'jump-to-checkout' ),
     115                    'copy_success'           => __( 'Link copied to clipboard!', 'jump-to-checkout' ),
     116                    'copy_error'             => __( 'Failed to copy link.', 'jump-to-checkout' ),
     117                    'generate_error'         => __( 'Error generating link.', 'jump-to-checkout' ),
     118                    'search_placeholder'     => __( 'Search products...', 'jump-to-checkout' ),
     119                    'no_products'            => __( 'No products found.', 'jump-to-checkout' ),
     120                    'no_link_name'           => __( 'Please enter a link name.', 'jump-to-checkout' ),
     121                    'no_products_selected'   => __( 'Please select at least one product.', 'jump-to-checkout' ),
     122                    'no_link_in_response'    => __( 'No link in response', 'jump-to-checkout' ),
     123                    'no_products_label'      => __( 'No products selected.', 'jump-to-checkout' ),
     124                    'remove_button'          => __( 'Remove', 'jump-to-checkout' ),
     125                    'variable_product_error' => __( 'Variable products cannot be added directly. Please select a specific variation.', 'jump-to-checkout' ),
    125126                ),
    126127            )
     
    473474                }
    474475
     476                // Variable products should NEVER be selectable (FREE or PRO).
     477                // They need specific variations to be added to cart.
     478                if ( $product->is_type( 'variable' ) ) {
     479                    if ( Features::is_pro() ) {
     480                        $product_name .= ' ' . __( '[Variable Product - Select variation below]', 'jump-to-checkout' );
     481                    } else {
     482                        $product_name .= ' ' . __( '[PRO: Variable Product]', 'jump-to-checkout' );
     483                    }
     484
     485                    $results[] = array(
     486                        'id'       => $product->get_id(),
     487                        'text'     => wp_strip_all_tags( $product_name ),
     488                        'disabled' => true,
     489                    );
     490                    continue;
     491                }
     492
     493                // Variations are only selectable in PRO.
     494                if ( $product->is_type( 'variation' ) ) {
     495                    if ( Features::is_pro() ) {
     496                        // PRO: Show variation as selectable with indicator.
     497                        $product_name .= ' ' . __( '[Variation]', 'jump-to-checkout' );
     498
     499                        $results[] = array(
     500                            'id'   => $product->get_id(),
     501                            'text' => wp_strip_all_tags( $product_name ),
     502                        );
     503                    } else {
     504                        // FREE: Disable variations.
     505                        $product_name .= ' ' . __( '[PRO: Variation]', 'jump-to-checkout' );
     506
     507                        $results[] = array(
     508                            'id'       => $product->get_id(),
     509                            'text'     => wp_strip_all_tags( $product_name ),
     510                            'disabled' => true,
     511                        );
     512                    }
     513                    continue;
     514                }
     515
     516                // Simple products are always selectable.
    475517                $results[] = array(
    476518                    'id'   => $product->get_id(),
  • jump-to-checkout/trunk/includes/Core/JumpToCheckout.php

    r3435024 r3454005  
    8282
    8383    /**
     84     * Generate unique short token (8-10 characters)
     85     *
     86     * @return string
     87     */
     88    private function generate_short_token() {
     89        global $wpdb;
     90
     91        // Characters allowed in short token (alphanumeric, URL-safe).
     92        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
     93        $length     = 10;
     94        $max_tries  = 10;
     95
     96        for ( $i = 0; $i < $max_tries; $i++ ) {
     97            $token = '';
     98            for ( $j = 0; $j < $length; $j++ ) {
     99                $token .= $characters[ wp_rand( 0, strlen( $characters ) - 1 ) ];
     100            }
     101
     102            // Check if token already exists using Database class method.
     103            $existing_link = $this->db->get_link_by_token( $token );
     104
     105            if ( ! $existing_link ) {
     106                return $token;
     107            }
     108        }
     109
     110        // Fallback: use timestamp + random.
     111        return substr( md5( time() . wp_rand() ), 0, 10 );
     112    }
     113
     114    /**
     115     * Check if token is new short format (10 chars) or old long format
     116     *
     117     * @param string $token Token to check.
     118     * @return bool True if new short format, false if old long format.
     119     */
     120    private function is_short_token( $token ) {
     121        return strlen( $token ) <= 20;
     122    }
     123
     124    /**
    84125     * Add custom query vars
    85126     *
     
    129170        $expiry = apply_filters( 'jptc_link_expiry', 0, $name, $products );
    130171
    131         // Token data - FREE never includes expiry. PRO can add it via filter.
    132         $data = array(
    133             'products' => $products,
    134             'exp'      => 0, // FREE never expires. PRO will modify this via filter.
    135             'iss'      => 'jptc',
    136             'iat'      => time(),
    137         );
    138 
    139         // Allow PRO to modify token data (PRO will add expiry here).
    140         $data = apply_filters( 'jptc_token_data_before_encode', $data, $name, $products, $expiry );
    141 
    142         $token = $this->encode_token( $data );
     172        // Generate short token (new format: just a random ID, products stored in DB).
     173        $token = $this->generate_short_token();
    143174        $url   = home_url( '/jump-to-checkout/' . $token );
    144175
     
    296327        setcookie( 'jptc_link_id', $link->id, time() + DAY_IN_SECONDS, $cookie_path, $cookie_domain, is_ssl(), true );
    297328
    298         // Decode token.
    299         $data = $this->decode_token( $token );
    300 
    301         if ( false === $data ) {
    302             wp_die(
    303                 esc_html__( 'Invalid or expired checkout link.', 'jump-to-checkout' ),
    304                 esc_html__( 'Error', 'jump-to-checkout' ),
    305                 array( 'response' => 403 )
     329        // Check if token is new short format or old long format.
     330        if ( $this->is_short_token( $token ) ) {
     331            // New format: products are stored in database.
     332            $data = array(
     333                'products' => json_decode( $link->products, true ),
    306334            );
     335        } else {
     336            // Old format: decode token to get product data (backward compatibility).
     337            $data = $this->decode_token( $token );
     338
     339            if ( false === $data ) {
     340                wp_die(
     341                    esc_html__( 'Invalid or expired checkout link.', 'jump-to-checkout' ),
     342                    esc_html__( 'Error', 'jump-to-checkout' ),
     343                    array( 'response' => 403 )
     344                );
     345            }
    307346        }
    308347
  • jump-to-checkout/trunk/jump-to-checkout.php

    r3435024 r3454005  
    44 * Plugin URI:  https://close.technology/wordpress-plugins/jump-to-checkout-pro/
    55 * Description: Generate direct checkout links with pre-selected products for WooCommerce.
    6  * Version:     1.0.1
     6 * Version:     1.0.2
    77 * Author:      Close Marketing
    88 * Author URI:  https://close.marketing
     
    2525defined( 'ABSPATH' ) || die( 'No script kiddies please!' );
    2626
    27 define( 'JTPC_VERSION', '1.0.1' );
     27define( 'JTPC_VERSION', '1.0.2' );
    2828define( 'JTPC_PLUGIN', __FILE__ );
    2929define( 'JTPC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
     
    4646    // Initialize plugin classes.
    4747    if ( class_exists( 'CLOSE\JumpToCheckout\Core\JumpToCheckout' ) ) {
     48        // Check and update database if needed.
     49        $db = new CLOSE\JumpToCheckout\Database\Database();
     50        $db->maybe_create_table();
     51
    4852        new CLOSE\JumpToCheckout\Core\JumpToCheckout();
    4953        new CLOSE\JumpToCheckout\Admin\AdminPanel();
  • jump-to-checkout/trunk/readme.txt

    r3435024 r3454005  
    66Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 1.0.1
     8Stable tag: 1.0.2
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    190190== Changelog ==
    191191
     192= 1.0.2 =
     193* Improved: Shortened token length to 10 characters for cleaner, more shareable URLs
     194* Fixed: Variable products (parent) are now always disabled to prevent direct cart addition
     195* Fixed: Product variations are only selectable in PRO version
     196* Added: Visual indicators showing product type (Variable Product, Variation, or Simple)
     197* Added: Clear PRO upgrade prompts for variable products and variations in FREE version
     198* Enhanced: Better backward compatibility with existing long-format tokens
     199
    192200= 1.0.1 =
    193201* Fixed: some issues in admin area.
     
    207215== Upgrade Notice ==
    208216
     217= 1.0.2 =
     218Shorter, cleaner URLs and better handling of variable products. All existing links continue to work.
     219
     220= 1.0.1 =
     221Bug fixes and stability improvements.
     222
    209223= 1.0.0 =
    210224Initial release of Jump to Checkout. Install now to start creating direct checkout links for your WooCommerce store!
  • jump-to-checkout/trunk/vendor/composer/installed.php

    r3435024 r3454005  
    22    'root' => array(
    33        'name' => 'closemarketing/jump-to-checkout',
    4         'pretty_version' => '1.0.1',
    5         'version' => '1.0.1.0',
    6         'reference' => 'fc70488f0d16cb863b4cb7c30c3fb24219d661e9',
     4        'pretty_version' => '1.0.2',
     5        'version' => '1.0.2.0',
     6        'reference' => '19416ac6343e97e541035be1437b358d2a898b4a',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'closemarketing/jump-to-checkout' => array(
    14             'pretty_version' => '1.0.1',
    15             'version' => '1.0.1.0',
    16             'reference' => 'fc70488f0d16cb863b4cb7c30c3fb24219d661e9',
     14            'pretty_version' => '1.0.2',
     15            'version' => '1.0.2.0',
     16            'reference' => '19416ac6343e97e541035be1437b358d2a898b4a',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.