function sp_validate_active_plugins() { $plugins = sp_get_option('sp_active_plugins', array()); # validate vartype: array if (!is_array($plugins)) { sp_update_option('sp_active_plugins', array()); $plugins = array(); } if (empty($plugins)) { return; } $invalid = array(); # invalid plugins get deactivated foreach ($plugins as $plugin) { $result = sp_validate_plugin($plugin); if (is_wp_error($result)) { $invalid[$plugin] = $result; sp_deactivate_sp_plugin($plugin, true); } } return $invalid; }
function spa_save_plugin_list_actions() { check_admin_referer('forum-adminform_plugins', 'forum-adminform_plugins'); if (!sp_current_user_can('SPF Manage Plugins')) { spa_etext('Access denied - you do not have permission'); die; } if (empty($_POST['checked'])) { return spa_text('Error - no plugins selected'); } $action = ''; if (isset($_POST['action']) && $_POST['action'] != -1) { $action = $_POST['action']; } if (isset($_POST['action2']) && $_POST['action2'] != -1) { $action = $_POST['action2']; } switch ($action) { case 'activate-selected': $activate = false; foreach ($_POST['checked'] as $plugin) { $plugin = sp_filter_name_save($plugin); if (!sp_is_plugin_active($plugin)) { $activate = true; sp_activate_sp_plugin($plugin); } } if ($activate) { $msg = spa_text('Selected plugins activated'); } else { $msg = spa_text('All selected plugins already active'); } break; case 'deactivate-selected': $deactivate = false; foreach ($_POST['checked'] as $plugin) { $plugin = sp_filter_name_save($plugin); if (sp_is_plugin_active($plugin)) { $deactivate = true; sp_deactivate_sp_plugin($plugin); } } if ($deactivate) { $msg = spa_text('Selected plugins deactivated'); } else { $msg = spa_text('All selected plugins already deactived'); } break; case 'delete-selected': $active = false; foreach ($_POST['checked'] as $plugin) { $plugin = sp_filter_name_save($plugin); if (!sp_is_plugin_active($plugin)) { sp_delete_sp_plugin($plugin); } else { $active = true; } } if ($active) { $msg = spa_text('Selected plugins deleted but any active plugins were not deleted'); } else { $msg = spa_text('Selected plugins deleted'); } break; default: $msg = spa_text('Error - no action selected'); break; } return $msg; }