class MailChimpCampaignController in Mailchimp 7.4
Same name and namespace in other branches
- 7.5 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController
- 7.2 modules/mailchimp_campaign/mailchimp_campaign.entity.inc \MailChimpCampaignController
- 7.3 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController
@file MailChimpCampaign controller class.
Hierarchy
- class \DrupalDefaultEntityController implements DrupalEntityControllerInterface
- class \EntityAPIController implements EntityAPIControllerRevisionableInterface
- class \MailChimpCampaignController
- class \EntityAPIController implements EntityAPIControllerRevisionableInterface
Expanded class hierarchy of MailChimpCampaignController
1 string reference to 'MailChimpCampaignController'
- mailchimp_campaign_entity_info in modules/
mailchimp_campaign/ mailchimp_campaign.module - Implements hook_entity_info().
File
- modules/
mailchimp_campaign/ includes/ mailchimp_campaign.controller.inc, line 8 - MailChimpCampaign controller class.
View source
class MailChimpCampaignController extends EntityAPIController {
/**
* Implement in order to attach Mailchimp data to campaign entities.
*/
protected function attachLoad(&$campaigns, $revision_id = FALSE) {
$ids = array();
if (!empty($campaigns)) {
foreach ($campaigns as $campaign) {
$ids[] = $campaign->mc_campaign_id;
}
}
$mc_campaigns = mailchimp_campaign_get_campaigns($ids);
foreach ($campaigns as $mc_campaign_id => $campaign) {
$campaign->mc_data = $mc_campaigns[$mc_campaign_id];
// Lists are cached separately, but we want to load them here.
if (isset($campaign->mc_data->recipients->list_id) && $campaign->mc_data->recipients->list_id) {
$campaign->list = mailchimp_get_list($campaign->mc_data->recipients->list_id);
}
if (!empty($campaign->mc_data->settings->template_id)) {
$campaign->mc_template = mailchimp_campaign_get_template($campaign->mc_data->settings->template_id);
}
}
parent::attachLoad($campaigns, $revision_id);
}
/**
* Implement to clear Mailchimp campaign data caches.
*
* @param array $ids
* Optional array of campaign IDs to clear cache for.
*/
public function resetCache(array $ids = NULL) {
parent::resetCache($ids);
if ($cached_campaigns = cache_get('campaigns', 'cache_mailchimp')) {
// Reset granular campaigns.
if (isset($ids)) {
foreach ($cached_campaigns->data as $id => $cached_campaign) {
if (in_array($id, $ids)) {
unset($cached_campaigns->data[$id]);
}
}
}
$cache_data = isset($cached_campaigns) ? $cached_campaigns->data : NULL;
cache_set('campaigns', $cache_data, 'cache_mailchimp');
}
}
/**
* Overrides EntityAPIController::buildQuery().
*
* Implement to order by created date since our IDs are not numeric.
*/
protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
$query = parent::buildQuery($ids, $conditions, $revision_id);
$query
->orderBy('created', 'DESC');
return $query;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalDefaultEntityController:: |
protected | property | Whether this entity type should use the static cache. | |
DrupalDefaultEntityController:: |
protected | property | Static cache of entities, keyed by entity ID. | |
DrupalDefaultEntityController:: |
protected | property | Array of information about the entity. | |
DrupalDefaultEntityController:: |
protected | property | Entity type for this controller instance. | |
DrupalDefaultEntityController:: |
protected | property | Additional arguments to pass to hook_TYPE_load(). | |
DrupalDefaultEntityController:: |
protected | property | Name of the entity's ID field in the entity database table. | |
DrupalDefaultEntityController:: |
protected | property | Name of entity's revision database table field, if it supports revisions. | |
DrupalDefaultEntityController:: |
protected | property | The table that stores revisions, if the entity supports revisions. | |
DrupalDefaultEntityController:: |
protected | function | Gets entities from the static cache. | 1 |
DrupalDefaultEntityController:: |
protected | function | Stores entities in the static entity cache. | |
DrupalDefaultEntityController:: |
protected | function | Ensures integer entity IDs are valid. | |
DrupalDefaultEntityController:: |
protected | function | Callback for array_filter that removes non-integer IDs. | |
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerRevisionableInterface::deleteRevision(). Overrides EntityAPIControllerRevisionableInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Overridden. Overrides DrupalDefaultEntityController:: |
1 |
EntityAPIController:: |
public | function | Builds and executes the query for loading. | |
EntityAPIController:: |
protected | function | Renders a single entity property. | |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
protected | function | Saves an entity revision. | |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Overridden. Overrides DrupalDefaultEntityController:: |
1 |
MailChimpCampaignController:: |
protected | function |
Implement in order to attach Mailchimp data to campaign entities. Overrides DrupalDefaultEntityController:: |
|
MailChimpCampaignController:: |
protected | function |
Overrides EntityAPIController::buildQuery(). Overrides EntityAPIController:: |
|
MailChimpCampaignController:: |
public | function |
Implement to clear Mailchimp campaign data caches. Overrides EntityAPIController:: |