Plugin Directory

Changeset 3428691


Ignore:
Timestamp:
12/28/2025 05:17:03 PM (3 months ago)
Author:
rickey29
Message:

v2.4.0

Location:
flx-woo/trunk
Files:
12 added
9 edited

Legend:

Unmodified
Added
Removed
  • flx-woo/trunk/flx-woo.php

    r3428222 r3428691  
    44  Plugin URI: https://flxwoo.com
    55  Description: Headless WooCommerce checkout with FlxWoo — keep all payment gateways, shipping, and coupons working.
    6   Version: 2.3.1
     6  Version: 2.4.0
    77  Text Domain: flx-woo
    88  Domain Path: /languages
  • flx-woo/trunk/readme.txt

    r3428222 r3428691  
    77Requires PHP: 8.0
    88Requires Plugins: woocommerce
    9 Stable tag: 2.3.1
     9Stable tag: 2.3.0
    1010License: MIT
    1111License URI: https://opensource.org/license/mit
  • flx-woo/trunk/src/Admin/AdminHooks.php

    r3427885 r3428691  
    3737
    3838    /**
     39     * @var BenchmarkingPage
     40     */
     41    private $benchmarking_page;
     42
     43    /**
     44     * @var ABTestingPage
     45     */
     46    private $ab_testing_page;
     47
     48    /**
     49     * @var CompatibilityPage
     50     */
     51    private $compatibility_page;
     52
     53    /**
    3954     * Constructor
    4055     */
     
    4459        $this->feature_flags_page = new FeatureFlagsPage();
    4560        $this->activity_analytics_page = new ActivityAnalyticsPage();
     61        $this->benchmarking_page = new BenchmarkingPage();
     62        $this->ab_testing_page = new ABTestingPage();
     63        $this->compatibility_page = new CompatibilityPage();
    4664
    4765        // Register AJAX handlers for analytics
     
    5573        // Register AJAX handler for manual cleanup
    5674        add_action('wp_ajax_flx_manual_cleanup', [$this->feature_flags_page, 'ajax_manual_cleanup']);
     75
     76        // Register AJAX handler for compatibility page
     77        add_action('wp_ajax_flx_woo_compatibility', [$this->compatibility_page, 'handle_ajax']);
    5778
    5879        // Register cron action for automated cleanup
     
    115136        add_submenu_page(
    116137            'flx-woo-settings',                             // Parent slug
    117             __('FlxWoo Analytics', 'flx-woo'),             // Page title
     138            __('Analytics', 'flx-woo'),                    // Page title
    118139            __('Analytics', 'flx-woo'),                    // Menu title
    119140            'manage_woocommerce',                           // Capability
    120141            'flx-woo-analytics',                            // Menu slug
    121142            [$this->activity_analytics_page, 'render']     // Callback
     143        );
     144
     145        // Add Benchmarking Dashboard submenu (v2.4.0)
     146        add_submenu_page(
     147            'flx-woo-settings',                             // Parent slug
     148            __('Benchmarking', 'flx-woo'),                 // Page title
     149            __('Benchmarking', 'flx-woo'),                 // Menu title
     150            'manage_woocommerce',                           // Capability
     151            'flx-woo-benchmarking',                         // Menu slug
     152            [$this->benchmarking_page, 'render']           // Callback
     153        );
     154
     155        // Add A/B Testing submenu (v2.5.0)
     156        add_submenu_page(
     157            'flx-woo-settings',                             // Parent slug
     158            __('A/B Testing', 'flx-woo'),                  // Page title
     159            __('A/B Testing', 'flx-woo'),                  // Menu title
     160            'manage_woocommerce',                           // Capability
     161            'flx-woo-ab-testing',                           // Menu slug
     162            [$this->ab_testing_page, 'render']             // Callback
     163        );
     164
     165        // Add Plugin Compatibility submenu (v2.4.0)
     166        add_submenu_page(
     167            'flx-woo-settings',                             // Parent slug
     168            __('Compatibility', 'flx-woo'),                // Page title
     169            __('Compatibility', 'flx-woo'),                // Menu title
     170            'manage_woocommerce',                           // Capability
     171            'flx-woo-compatibility',                        // Menu slug
     172            [$this->compatibility_page, 'render']          // Callback
    122173        );
    123174    }
     
    417468        }
    418469
     470        // Enqueue assets on Benchmarking Dashboard page (v2.4.0)
     471        $is_benchmarking_page = ($hook === 'flx-woo-settings_page_flx-woo-benchmarking')
     472            || (isset($_GET['page']) && $_GET['page'] === 'flx-woo-benchmarking');
     473
     474        if ($is_benchmarking_page) {
     475            // Enqueue base dashboard CSS (shared styles)
     476            wp_enqueue_style(
     477                'flx-woo-settings-dashboard',
     478                plugins_url('src/Admin/assets/css/performance-dashboard.css', dirname(dirname(__FILE__))),
     479                [],
     480                '2.3.2'
     481            );
     482
     483            // Enqueue Benchmarking CSS
     484            wp_enqueue_style(
     485                'flx-woo-benchmarking',
     486                plugins_url('src/Admin/assets/css/benchmarking.css', dirname(dirname(__FILE__))),
     487                ['flx-woo-settings-dashboard'],
     488                '2.4.0'
     489            );
     490
     491            // Enqueue Chart.js library (shared with Analytics page)
     492            wp_enqueue_script(
     493                'chartjs',
     494                plugins_url('src/Admin/assets/js/chart.min.js', dirname(dirname(__FILE__))),
     495                [],
     496                '4.4.0',
     497                true
     498            );
     499
     500            // Enqueue jQuery explicitly
     501            wp_enqueue_script('jquery');
     502
     503            // Enqueue Benchmarking JavaScript
     504            wp_enqueue_script(
     505                'flx-woo-benchmarking',
     506                plugins_url('src/Admin/assets/js/benchmarking.js', dirname(dirname(__FILE__))),
     507                ['jquery', 'chartjs'],
     508                '2.4.0',
     509                true
     510            );
     511
     512            // Pass AJAX URL and nonce to JavaScript
     513            wp_localize_script(
     514                'flx-woo-benchmarking',
     515                'flxBenchmarkData',
     516                [
     517                    'ajaxurl' => admin_url('admin-ajax.php'),
     518                    'nonce' => wp_create_nonce('flx_benchmark_nonce'),
     519                ]
     520            );
     521        }
     522
     523        // Enqueue assets on A/B Testing page (v2.5.0)
     524        $is_ab_testing_page = ($hook === 'flx-woo-settings_page_flx-woo-ab-testing')
     525            || (isset($_GET['page']) && $_GET['page'] === 'flx-woo-ab-testing');
     526
     527        if ($is_ab_testing_page) {
     528            // Enqueue base dashboard CSS (shared styles)
     529            wp_enqueue_style(
     530                'flx-woo-settings-dashboard',
     531                plugins_url('src/Admin/assets/css/performance-dashboard.css', dirname(dirname(__FILE__))),
     532                [],
     533                '2.3.2'
     534            );
     535
     536            // Enqueue A/B Testing CSS
     537            wp_enqueue_style(
     538                'flx-woo-ab-testing',
     539                plugins_url('src/Admin/assets/css/ab-testing.css', dirname(dirname(__FILE__))),
     540                ['flx-woo-settings-dashboard'],
     541                '2.5.0'
     542            );
     543
     544            // Enqueue jQuery explicitly
     545            wp_enqueue_script('jquery');
     546
     547            // Enqueue A/B Testing JavaScript
     548            wp_enqueue_script(
     549                'flx-woo-ab-testing',
     550                plugins_url('src/Admin/assets/js/ab-testing.js', dirname(dirname(__FILE__))),
     551                ['jquery'],
     552                '2.5.0',
     553                true
     554            );
     555
     556            // Pass AJAX URL and nonce to JavaScript (data is passed in view template)
     557        }
     558
    419559        // Enqueue assets on Activity Analytics page (v2.4.0)
    420560        $is_analytics_page = ($hook === 'flx-woo-settings_page_flx-woo-analytics')
  • flx-woo/trunk/src/Admin/assets/js/feature-flags.js

    r3427885 r3428691  
    3535                    'Are you sure you want to activate the global kill switch?\n\n' +
    3636                    'This will immediately disable ALL v2.3.0 features including:\n' +
    37                     '• Analytics Tracking\n' +
    38                     '• Benchmarking Dashboard\n' +
     37                    '• Analytics\n' +
     38                    '• Benchmarking\n' +
    3939                    '• A/B Testing\n' +
    40                     '• Plugin Compatibility\n\n' +
     40                    '• Compatibility\n\n' +
    4141                    'This action should only be used in emergency situations.'
    4242                );
  • flx-woo/trunk/src/Admin/views/activity-analytics-page.php

    r3428222 r3428691  
    1919
    2020<div class="wrap flx-performance-dashboard">
    21     <h1><?php _e('FlxWoo Analytics', 'flx-woo'); ?></h1>
     21    <h1><?php _e('Analytics', 'flx-woo'); ?></h1>
    2222    <p class="description"><?php _e('Visualize feature flag activity with interactive charts and insights.', 'flx-woo'); ?></p>
    2323
  • flx-woo/trunk/src/Admin/views/feature-flags-page.php

    r3427885 r3428691  
    3333
    3434<div class="wrap flx-performance-dashboard">
    35     <h1><?php _e('FlxWoo Feature Flags', 'flx-woo'); ?></h1>
     35    <h1><?php _e('Feature Flags', 'flx-woo'); ?></h1>
    3636    <p class="description"><?php _e('Manage feature flags with enhanced visibility into dependencies and health status.', 'flx-woo'); ?></p>
    3737
  • flx-woo/trunk/src/Admin/views/performance-dashboard.php

    r3427885 r3428691  
    4646
    4747<div class="wrap flx-performance-dashboard">
    48     <h1><?php _e('FlxWoo Settings', 'flx-woo'); ?></h1>
     48    <h1><?php _e('Settings', 'flx-woo'); ?></h1>
    4949    <p class="description"><?php _e('Configure FlxWoo rendering plugin settings.', 'flx-woo'); ?></p>
    5050
  • flx-woo/trunk/src/Bootstrap.php

    r3427885 r3428691  
    3939require_once __DIR__ . '/Database/ActivityRepository.php';
    4040
     41// Compatibility classes (loaded before admin classes that depend on it)
     42require_once __DIR__ . '/Compatibility/Reporter.php';
     43
    4144// Admin classes (only loaded in admin)
    4245if (is_admin()) {
     
    4548  require_once __DIR__ . '/Admin/FeatureFlagsPage.php';
    4649  require_once __DIR__ . '/Admin/ActivityAnalyticsPage.php';
     50  require_once __DIR__ . '/Admin/BenchmarkingPage.php';
     51  require_once __DIR__ . '/Admin/ABTestingPage.php';
     52  require_once __DIR__ . '/Admin/CompatibilityPage.php';
    4753  require_once __DIR__ . '/Admin/AdminHooks.php';
    4854}
  • flx-woo/trunk/src/FeatureFlags/FeatureManager.php

    r3427885 r3428691  
    4040            self::ANALYTICS_TRACKING => [
    4141                'name' => self::ANALYTICS_TRACKING,
    42                 'display_name' => 'Analytics Tracking',
     42                'display_name' => 'Analytics',
    4343                'description' => 'Track anonymous checkout events for benchmarking (GDPR/CCPA compliant)',
    4444                'enabled_globally' => false,
     
    4949            self::BENCHMARKING_DASHBOARD => [
    5050                'name' => self::BENCHMARKING_DASHBOARD,
    51                 'display_name' => 'Benchmarking Dashboard',
     51                'display_name' => 'Benchmarking',
    5252                'description' => 'Show store performance vs. industry averages',
    5353                'enabled_globally' => false,
     
    6969            self::PLUGIN_COMPATIBILITY => [
    7070                'name' => self::PLUGIN_COMPATIBILITY,
    71                 'display_name' => 'Plugin Compatibility Scanner',
     71                'display_name' => 'Compatibility',
    7272                'description' => 'Automatically detect and report plugin compatibility issues',
    7373                'enabled_globally' => false,
Note: See TracChangeset for help on using the changeset viewer.