<?php $Module = $Params['Module']; $http = eZHTTPTool::instance(); $tpl = eZTemplate::factory(); $newsletter_node_id = $Params['NewsletterNodeID']; $node = eZContentObject::fetchByNodeID($newsletter_node_id); if (!$node || !$node->canRead()) { return $Module->handleError(eZError::KERNEL_NOT_AVAILABLE, 'kernel'); } $tabs = array('details' => 'Details', 'preview_html' => 'Preview HTML', 'preview_text' => 'Preview Text', 'activity' => "Activity"); $selected_tab = array_key_exists($Params['Tab'], $tabs) ? $Params['Tab'] : 'details'; $recipients_lists = jajNewsletterRecipientsList::fetchByContentObjectID($node->ID); $error_strings = array(); if ($http->hasSessionVariable('PreviewInvalidReceiver')) { $error_strings[] = ezpI18n::tr('design/admin/jaj_newsletter/newsletter', 'The email address of the preview receiver is not valid'); $http->removeSessionVariable('PreviewInvalidReceiver'); } if ($http->hasSessionVariable('PreviewSendEmailFailed')) { $error_strings[] = ezpI18n::tr('design/admin/jaj_newsletter/newsletter', $http->sessionVariable('PreviewSendEmailFailed')); $http->removeSessionVariable('PreviewSendEmailFailed'); } if ($http->hasSessionVariable('PreviewEmailSent')) { $feedback_strings[] = ezpI18n::tr('design/admin/jaj_newsletter/newsletter', 'Preview e-mail was sent to: %email', null, array('%email' => $http->sessionVariable('PreviewEmailSent'))); $http->removeSessionVariable('PreviewEmailSent'); } if ($http->hasSessionVariable('NewsletterSent')) { $feedback_strings[] = ezpI18n::tr('design/admin/jaj_newsletter/newsletter', 'Newsletter delivery started for %count recipients', null, array('%count' => $http->sessionVariable('NewsletterSent'))); $http->removeSessionVariable('NewsletterSent'); } $offset = $Params['Offset'];
foreach ($recipients_lists as $list) { $list->remove(); } // And add the selected ones if ($Module->hasActionParameter('SubscriptionListIdArray')) { $subscription_list_ids = $Module->actionParameter('SubscriptionListIdArray'); foreach ($subscription_list_ids as $list_id) { $recipients_list = jajNewsletterRecipientsList::create($newsletter_id, $list_id); $recipients_list->store(); } } } if ($Module->isCurrentAction('RemoveRecipientsList')) { $recipients_list = jajNewsletterRecipientsList::fetch($newsletter_id, $Module->actionParameter('SubscriptionListID')); if (is_object($recipients_list)) { $recipients_list->remove(); } } if ($Module->isCurrentAction('Cancel') || $Module->isCurrentAction('StoreRecipients') || $Module->isCurrentAction('RemoveRecipientsList')) { return $Module->redirectTo($Module->functionURI("newsletter") . "/" . $node->mainNodeID()); } $lists = jajNewsletterSubscriptionList::fetchByOffset(); $recipients_lists = jajNewsletterRecipientsList::fetchByContentObjectID($newsletter_id, false); $active_list_ids = array(); foreach ($recipients_lists as $list) { array_push($active_list_ids, $list['subscription_list_id']); } $tpl->setVariable('node', $node); $tpl->setVariable('lists', $lists); $tpl->setVariable('active_list_ids', $active_list_ids); $Result = array('content' => $tpl->fetch('design:jaj_newsletter/newsletters/add_recipients.tpl'), 'path' => array(array('url' => 'jaj_newsletter/index', 'text' => ezpI18n::tr('jaj_newsletter/navigation', 'Newsletter')), array('url' => 'jaj_newsletter/newsletters', 'text' => ezpI18n::tr('jaj_newsletter/navigation', 'Newsletters')), array('url' => 'jaj_newsletter/newsletter/' . $node->mainNodeID(), 'text' => $node->attribute('name')), array('url' => false, 'text' => ezpI18n::tr('jaj_newsletter/navigation', 'Add Recipients'))));
public function fetchRecipientsLists($asObject = true) { return eZPersistentObject::fetchObjectList(jajNewsletterRecipientsList::definition(), null, array('subscription_list_id' => $this->ID), array(), array(), $asObject); }
static function removeByContentObjectID($contentobject_id) { return eZPersistentObject::fetchObjectList(jajNewsletterRecipientsList::definition(), array('contentobject_id' => $contentobject_id)); }