* @copyright Copyright (c) 2023 Samuel Marshall / JCH Optimize * @license GNU/GPLv3, or later. See LICENSE file * * If LICENSE file missing, see . */ namespace JchOptimize\WordPress\Controller; use JchOptimize\Core\Mvc\Controller; use JchOptimize\WordPress\Log\WordpressNoticeLogger; use JchOptimize\WordPress\Model\BulkSettings; use function __; use function check_admin_referer; use function wp_redirect; class SetDefaultSettings extends Controller { use AuthorizesAdminRequestsTrait; public function __construct(private BulkSettings $bulkSettings) { parent::__construct(); } public function execute(): bool { $this->authorizeManageOptions(); check_admin_referer('jch_bulksettings'); /** @var WordpressNoticeLogger $logger */ $logger = $this->logger; if ($this->bulkSettings->setDefaultSettings() !== false) { $logger->success(__('Successfully restored default settings', 'jch-optimize')); } else { $logger->error(__('Failed restoring default settings', 'jch-optimize')); } wp_redirect('options-general.php?page=jch_optimize'); return true; } }