geno/wp-content/plugins/mailpoet/lib/API/JSON/v1/UserFlags.php

43 lines
1 KiB
PHP
Raw Permalink Normal View History

2024-02-01 17:24:18 +05:30
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
namespace MailPoet\API\JSON\v1;
if (!defined('ABSPATH')) exit;
use MailPoet\API\JSON\Endpoint as APIEndpoint;
use MailPoet\API\JSON\Error as APIError;
use MailPoet\Config\AccessControl;
use MailPoet\Settings\UserFlagsController;
class UserFlags extends APIEndpoint {
/** @var UserFlagsController */
private $userFlags;
public $permissions = [
'global' => AccessControl::ALL_ROLES_ACCESS,
];
public function __construct(
UserFlagsController $userFlags
) {
$this->userFlags = $userFlags;
}
public function set(array $flags = []) {
if (empty($flags)) {
return $this->badRequest(
[
APIError::BAD_REQUEST =>
__('You have not specified any user flags to be saved.', 'mailpoet'),
]);
} else {
foreach ($flags as $name => $value) {
$this->userFlags->set($name, $value);
}
return $this->successResponse([]);
}
}
}