class MailChimpCampaignController in Mailchimp 7.2
Same name and namespace in other branches
- 7.5 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController
- 7.3 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController
- 7.4 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController
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.entity.inc - Implements hook_entity_info().
File
- modules/
mailchimp_campaign/ mailchimp_campaign.entity.inc, line 191 - Entity API hooks for mailchimp_campaign module.
View source
class MailChimpCampaignController extends EntityAPIController {
/**
* Implement in order to attach MC data to campaign entities.
*
* @param $campaigns
* @param bool $revision_id
*/
protected function attachLoad(&$campaigns, $revision_id = FALSE) {
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 cachced separately, but we want to load them here.
if (isset($campaign->mc_data['list_id']) && $campaign->mc_data['list_id']) {
$campaign->list = mailchimp_get_list($campaign->mc_data['list_id']);
}
if (isset($campaign->mc_data['template_id']) && $campaign->mc_data['template_id']) {
$campaign->mc_template = mailchimp_campaign_get_templates($campaign->mc_data['template_id']);
}
}
parent::attachLoad($campaigns, $revision_id);
}
/**
* Implement to clear MC campaign data caches.
*
* @param array|null $ids
*/
public function resetCache(array $ids = NULL) {
parent::resetCache($ids);
if ($cached_campaigns = cache_get('mailchimp_campaigns')) {
foreach ($cached_campaigns->data as $id => $cached_campaign) {
if (in_array($id, $ids)) {
unset($cached_campaigns->data[$id]);
}
}
cache_set('mailchimp_campaign', $cached_campaigns);
}
drupal_static_reset('mailchimp_campaign_get_template');
}
}
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:: |
protected | function |
Overrides DrupalDefaultEntityController::buildQuery(). Overrides DrupalDefaultEntityController:: |
1 |
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 MC data to campaign entities. Overrides DrupalDefaultEntityController:: |
|
MailChimpCampaignController:: |
public | function |
Implement to clear MC campaign data caches. Overrides EntityAPIController:: |