Changeset 3428691
- Timestamp:
- 12/28/2025 05:17:03 PM (3 months ago)
- Location:
- flx-woo/trunk
- Files:
-
- 12 added
- 9 edited
-
flx-woo.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
-
src/Admin/ABTestingPage.php (added)
-
src/Admin/AdminHooks.php (modified) (5 diffs)
-
src/Admin/BenchmarkingPage.php (added)
-
src/Admin/CompatibilityPage.php (added)
-
src/Admin/assets/css/ab-testing.css (added)
-
src/Admin/assets/css/benchmarking.css (added)
-
src/Admin/assets/js/ab-testing.js (added)
-
src/Admin/assets/js/benchmarking.js (added)
-
src/Admin/assets/js/feature-flags.js (modified) (1 diff)
-
src/Admin/views/ab-testing-page.php (added)
-
src/Admin/views/activity-analytics-page.php (modified) (1 diff)
-
src/Admin/views/benchmarking-page.php (added)
-
src/Admin/views/compatibility-page.php (added)
-
src/Admin/views/feature-flags-page.php (modified) (1 diff)
-
src/Admin/views/performance-dashboard.php (modified) (1 diff)
-
src/Bootstrap.php (modified) (2 diffs)
-
src/Compatibility (added)
-
src/Compatibility/Reporter.php (added)
-
src/FeatureFlags/FeatureManager.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
flx-woo/trunk/flx-woo.php
r3428222 r3428691 4 4 Plugin URI: https://flxwoo.com 5 5 Description: Headless WooCommerce checkout with FlxWoo — keep all payment gateways, shipping, and coupons working. 6 Version: 2. 3.16 Version: 2.4.0 7 7 Text Domain: flx-woo 8 8 Domain Path: /languages -
flx-woo/trunk/readme.txt
r3428222 r3428691 7 7 Requires PHP: 8.0 8 8 Requires Plugins: woocommerce 9 Stable tag: 2.3. 19 Stable tag: 2.3.0 10 10 License: MIT 11 11 License URI: https://opensource.org/license/mit -
flx-woo/trunk/src/Admin/AdminHooks.php
r3427885 r3428691 37 37 38 38 /** 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 /** 39 54 * Constructor 40 55 */ … … 44 59 $this->feature_flags_page = new FeatureFlagsPage(); 45 60 $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(); 46 64 47 65 // Register AJAX handlers for analytics … … 55 73 // Register AJAX handler for manual cleanup 56 74 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']); 57 78 58 79 // Register cron action for automated cleanup … … 115 136 add_submenu_page( 116 137 'flx-woo-settings', // Parent slug 117 __(' FlxWoo Analytics', 'flx-woo'),// Page title138 __('Analytics', 'flx-woo'), // Page title 118 139 __('Analytics', 'flx-woo'), // Menu title 119 140 'manage_woocommerce', // Capability 120 141 'flx-woo-analytics', // Menu slug 121 142 [$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 122 173 ); 123 174 } … … 417 468 } 418 469 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 419 559 // Enqueue assets on Activity Analytics page (v2.4.0) 420 560 $is_analytics_page = ($hook === 'flx-woo-settings_page_flx-woo-analytics') -
flx-woo/trunk/src/Admin/assets/js/feature-flags.js
r3427885 r3428691 35 35 'Are you sure you want to activate the global kill switch?\n\n' + 36 36 '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' + 39 39 '• A/B Testing\n' + 40 '• PluginCompatibility\n\n' +40 '• Compatibility\n\n' + 41 41 'This action should only be used in emergency situations.' 42 42 ); -
flx-woo/trunk/src/Admin/views/activity-analytics-page.php
r3428222 r3428691 19 19 20 20 <div class="wrap flx-performance-dashboard"> 21 <h1><?php _e(' FlxWooAnalytics', 'flx-woo'); ?></h1>21 <h1><?php _e('Analytics', 'flx-woo'); ?></h1> 22 22 <p class="description"><?php _e('Visualize feature flag activity with interactive charts and insights.', 'flx-woo'); ?></p> 23 23 -
flx-woo/trunk/src/Admin/views/feature-flags-page.php
r3427885 r3428691 33 33 34 34 <div class="wrap flx-performance-dashboard"> 35 <h1><?php _e('F lxWoo Feature Flags', 'flx-woo'); ?></h1>35 <h1><?php _e('Feature Flags', 'flx-woo'); ?></h1> 36 36 <p class="description"><?php _e('Manage feature flags with enhanced visibility into dependencies and health status.', 'flx-woo'); ?></p> 37 37 -
flx-woo/trunk/src/Admin/views/performance-dashboard.php
r3427885 r3428691 46 46 47 47 <div class="wrap flx-performance-dashboard"> 48 <h1><?php _e(' FlxWooSettings', 'flx-woo'); ?></h1>48 <h1><?php _e('Settings', 'flx-woo'); ?></h1> 49 49 <p class="description"><?php _e('Configure FlxWoo rendering plugin settings.', 'flx-woo'); ?></p> 50 50 -
flx-woo/trunk/src/Bootstrap.php
r3427885 r3428691 39 39 require_once __DIR__ . '/Database/ActivityRepository.php'; 40 40 41 // Compatibility classes (loaded before admin classes that depend on it) 42 require_once __DIR__ . '/Compatibility/Reporter.php'; 43 41 44 // Admin classes (only loaded in admin) 42 45 if (is_admin()) { … … 45 48 require_once __DIR__ . '/Admin/FeatureFlagsPage.php'; 46 49 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'; 47 53 require_once __DIR__ . '/Admin/AdminHooks.php'; 48 54 } -
flx-woo/trunk/src/FeatureFlags/FeatureManager.php
r3427885 r3428691 40 40 self::ANALYTICS_TRACKING => [ 41 41 'name' => self::ANALYTICS_TRACKING, 42 'display_name' => 'Analytics Tracking',42 'display_name' => 'Analytics', 43 43 'description' => 'Track anonymous checkout events for benchmarking (GDPR/CCPA compliant)', 44 44 'enabled_globally' => false, … … 49 49 self::BENCHMARKING_DASHBOARD => [ 50 50 'name' => self::BENCHMARKING_DASHBOARD, 51 'display_name' => 'Benchmarking Dashboard',51 'display_name' => 'Benchmarking', 52 52 'description' => 'Show store performance vs. industry averages', 53 53 'enabled_globally' => false, … … 69 69 self::PLUGIN_COMPATIBILITY => [ 70 70 'name' => self::PLUGIN_COMPATIBILITY, 71 'display_name' => ' Plugin Compatibility Scanner',71 'display_name' => 'Compatibility', 72 72 'description' => 'Automatically detect and report plugin compatibility issues', 73 73 'enabled_globally' => false,
Note: See TracChangeset
for help on using the changeset viewer.