No Description

WoocommerceSettings.php 776B

123456789101112131415161718192021222324252627282930313233343536373839
  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\WP\Functions as WPFunctions;
  7. class WoocommerceSettings extends APIEndpoint {
  8. public $permissions = [
  9. 'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
  10. ];
  11. private $allowedSettings = [
  12. 'woocommerce_email_base_color',
  13. ];
  14. /** @var WPFunctions */
  15. private $wp;
  16. public function __construct(
  17. WPFunctions $wp
  18. ) {
  19. $this->wp = $wp;
  20. }
  21. public function set($data = []) {
  22. foreach ($data as $option => $value) {
  23. if (in_array($option, $this->allowedSettings)) {
  24. $this->wp->updateOption($option, $value);
  25. }
  26. }
  27. return $this->successResponse([]);
  28. }
  29. }