mirror of
https://github.com/LBRYFoundation/lbry.com.git
synced 2025-08-23 17:47:26 +00:00
78 lines
2.4 KiB
PHP
78 lines
2.4 KiB
PHP
<?php
|
|
|
|
class MailchimpSubscribeException extends Exception {}
|
|
|
|
class Mailchimp extends MCAPI
|
|
{
|
|
const LIST_GENERAL_ID = '7b74c90030';
|
|
|
|
protected static $instance = null;
|
|
|
|
public function __construct($key = null)
|
|
{
|
|
if ($key === null)
|
|
{
|
|
$key = Config::get('mailchimp_key');
|
|
}
|
|
return parent::__construct($key);
|
|
}
|
|
//
|
|
// public function listBatchSubscribeUsers($listId, $persons, Site $site)
|
|
// {
|
|
// $batch = [];
|
|
// foreach($persons as $person)
|
|
// {
|
|
// $row = $site->isAdmin() ? $this->getMailchimpRowDataAdminSite($person) : $this->getMailchimpRowData($person, $site);
|
|
// if ($row)
|
|
// {
|
|
// $batch[] = $row;
|
|
// }
|
|
// }
|
|
// return $this->listBatchSubscribe($listId, $batch, false, true, false);
|
|
// }
|
|
//
|
|
// protected function getMailchimpRowData($person, $site)
|
|
// {
|
|
// return [
|
|
// 'EMAIL' => $person['email_address'],
|
|
// 'FNAME' => $person['first_name'],
|
|
// 'LNAME' => $person['last_name'],
|
|
// 'GENDER' => $person['gender'],
|
|
// 'USER_ID' => $person['id'],
|
|
// 'USER_CULTURE' => $person['culture']
|
|
// ];
|
|
// }
|
|
//
|
|
// protected function getMailchimpRowDataAdminSite($person)
|
|
// {
|
|
// if (!preg_match('/@(' . implode('|', SiteDomainTable::getAllServiceDomainNames()) . ')$/', $person['email_address'])) //don't add @network addresses
|
|
// {
|
|
// $site = SiteTable::guessMostUsedSiteForPersonId($person['id']);
|
|
// if (!$site)
|
|
// {
|
|
// return null;
|
|
// }
|
|
// $organization = null;
|
|
// if ($site->isMultiOrganization())
|
|
// {
|
|
// $organization = OrganizationTable::guessForNetworkSiteIdAndPersonId($site, $person['id']);
|
|
// }
|
|
// if (!$organization)
|
|
// {
|
|
// $organization = $site->Organization;
|
|
// }
|
|
// return $this->getMailchimpRowData($person, $site) + [
|
|
// 'ORG_FULL' => $organization->full_name,
|
|
// 'ABBR' => $organization->abbr,
|
|
// 'SITE_NAME' => $site->name,
|
|
// 'IS_ADMIN' => isset($site['is_admin']) && $site['is_admin'] ? 'Yes' : 'No',
|
|
// 'URL' => $site->getPrimaryDomain()->getName(),
|
|
// 'STATUS' => $site->is_public ? 'Public' : 'Private',
|
|
// 'SERVICE' => $site->Service->name,
|
|
// 'CULTURE' => $organization->culture,
|
|
// 'USES_PAYMENTS' => PaymentServiceTable::count(['organization_id' => $organization['id'], 'is_enabled' => 1, 'type' => PaymentService::TYPE_TOPSCORE]) ? 'Yes' : 'No'
|
|
// ];
|
|
// }
|
|
// return false;
|
|
// }
|
|
}
|