Rename plugin to wp-seoprostack-plugin, update file structure
This commit is contained in:
65
admin/settings/ajax/class-seoprostack-ajax-plugins.php
Normal file
65
admin/settings/ajax/class-seoprostack-ajax-plugins.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* AJAX handler for plugin-related functionality.
|
||||
*
|
||||
* @package SEO_Pro_Stack
|
||||
* @subpackage SEO_Pro_Stack/Admin/Settings/AJAX
|
||||
*/
|
||||
|
||||
// If this file is called directly, abort.
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* AJAX handler for plugins.
|
||||
*/
|
||||
class SEOProStack_AJAX_Plugins {
|
||||
|
||||
/**
|
||||
* Get list of installed plugins.
|
||||
*/
|
||||
public function get_plugins() {
|
||||
// Check nonce
|
||||
if (!check_ajax_referer('seoprostack-nonce', 'nonce', false)) {
|
||||
wp_send_json_error('Invalid security token sent.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Check permissions
|
||||
if (!current_user_can('manage_options')) {
|
||||
wp_send_json_error('You do not have permission to view plugins.');
|
||||
return;
|
||||
}
|
||||
|
||||
$installed_plugins = get_plugins();
|
||||
$active_plugins = get_option('active_plugins');
|
||||
$plugin_list = array();
|
||||
|
||||
// Create the plugins array
|
||||
foreach ($installed_plugins as $path => $plugin) {
|
||||
// Skip the SEO Pro Stack plugin
|
||||
if (strpos($path, 'wp-seoprostack-plugin') !== false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$is_active = in_array($path, $active_plugins);
|
||||
$plugin_slug = explode('/', $path)[0];
|
||||
|
||||
$plugin_list[] = array(
|
||||
'name' => $plugin['Name'],
|
||||
'slug' => $plugin_slug,
|
||||
'version' => $plugin['Version'],
|
||||
'active' => $is_active,
|
||||
'path' => $path
|
||||
);
|
||||
}
|
||||
|
||||
// Sort plugins alphabetically
|
||||
usort($plugin_list, function ($a, $b) {
|
||||
return strcasecmp($a['name'], $b['name']);
|
||||
});
|
||||
|
||||
wp_send_json_success($plugin_list);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user