Brak opisu

Setup.php 920B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace MailPoet\API\JSON\v1;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\API\JSON\Endpoint as APIEndpoint;
  5. use MailPoet\Config\AccessControl;
  6. use MailPoet\Config\Activator;
  7. use MailPoet\WP\Functions as WPFunctions;
  8. class Setup extends APIEndpoint {
  9. public $permissions = [
  10. 'global' => AccessControl::PERMISSION_MANAGE_SETTINGS,
  11. ];
  12. /** @var WPFunctions */
  13. private $wp;
  14. /** @var Activator */
  15. private $activator;
  16. public function __construct(
  17. WPFunctions $wp,
  18. Activator $activator
  19. ) {
  20. $this->wp = $wp;
  21. $this->activator = $activator;
  22. }
  23. public function reset() {
  24. try {
  25. $this->activator->deactivate();
  26. $this->activator->activate();
  27. $this->wp->doAction('mailpoet_setup_reset');
  28. return $this->successResponse();
  29. } catch (\Exception $e) {
  30. return $this->errorResponse([
  31. $e->getCode() => $e->getMessage(),
  32. ]);
  33. }
  34. }
  35. }