From ff306ed32cb43f1be949f8e8e98fae765695ed39 Mon Sep 17 00:00:00 2001
From: Marcus Quinn <marcus@agentdesign.co.uk>
Date: Tue, 25 Mar 2025 02:29:01 +0000
Subject: [PATCH] Fix AJAX functionality for Install Now and Activate buttons

---
 admin/includes/class-free-plugins-manager.php | 7 +++++++
 admin/js/wp-allstars-admin.js                 | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/admin/includes/class-free-plugins-manager.php b/admin/includes/class-free-plugins-manager.php
index bce3d16..9bb05ce 100644
--- a/admin/includes/class-free-plugins-manager.php
+++ b/admin/includes/class-free-plugins-manager.php
@@ -142,6 +142,13 @@ class WP_Allstars_Free_Plugins_Manager {
                         if (response.success) {
                             // Add plugins to the container
                             $container.html(response.data);
+                            
+                            // Initialize plugin action buttons (fix for AJAX install/activate functionality)
+                            if (typeof initPluginActions === "function") {
+                                initPluginActions();
+                            } else if (typeof window.initPluginActions === "function") {
+                                window.initPluginActions();
+                            }
                         } else {
                             $container.html('<div class="notice notice-error"><p>' + response.data + '</p></div>');
                             console.error('Error loading plugins:', response.data);
diff --git a/admin/js/wp-allstars-admin.js b/admin/js/wp-allstars-admin.js
index 1fb7408..0ebe560 100644
--- a/admin/js/wp-allstars-admin.js
+++ b/admin/js/wp-allstars-admin.js
@@ -295,6 +295,9 @@ jQuery(document).ready(function($) {
         });
     }
     
+    // Expose initPluginActions to global scope for use in other scripts
+    window.initPluginActions = initPluginActions;
+
     // Initialize theme handlers
     function initThemeHandlers() {
         console.log('Initializing theme handlers');