StatusOptions

- Generate StatusOptions View Data from enum rather than hardcode.
- Add language strings

Signed-off-by: objec <objecttothis@gmail.com>
This commit is contained in:
objec committed 2026-04-21 16:20:44 +04:00
1 parent eae6417f97
commit 6ef6f49693
1 file changed
+18 -3
@@ -2,6 +2,7 @@
namespace app\Plugins\MailchimpPlugin\Libraries;
use App\Plugins\MailchimpPlugin\Enums\SubscriptionStatus;
use App\Plugins\MailchimpPlugin\Models\SubscriptionModel;
use app\Plugins\MailichimpPlugin\Libraries\MailchimpConnector;
use Exception;
@@ -98,13 +99,16 @@ class MailchimpLibrary
public function getMailchimpData(array $customerData): array
{
if (!empty($customerInfo->email)) {
if (!empty($customerData->email)) {
$listId = $this->settings['list_id'];
$mailchimpInfo = $this->getMemberInfo($listId, $customerInfo->email);
$mailchimpInfo = $this->getMemberInfo($listId, $customerData->email);
if ($mailchimpInfo !== false) {
$mailchimpData['mailchimp_info'] = $mailchimpInfo;
$customerActivities = $this->getMemberActivity($listId, $customerInfo->email);
$mailchimpData['subscriptionStatusOptions'] = $this->getSubscriptionStatusOptionViewData();
$customerActivities = $this->getMemberActivity($listId, $customerData->email);
if ($customerActivities !== false) {
if (array_key_exists('activity', $customerActivities)) {
$open = 0;
@@ -146,6 +150,17 @@ class MailchimpLibrary
return [];
}
private function getSubscriptionStatusOptionViewData(): array
{
$statusOptions = [];
foreach (SubscriptionStatus::cases() as $case) {
$lowercaseName = strtolower($case->name);
$statusOptions[(int)$case] = lang("MailchimpPlugin.subscription_status_{$lowercaseName}");
}
return $statusOptions;
}
/**
* Gets information about all lists owned by the authenticated account.
*