/** * * @param integer $listContentobjectId * @return array */ static function fetchSubscriptionListCount($listContentObjectId, $listContentObjectVersion, $status) { $statusId = false; switch ($status) { case 'pending': $statusId = CjwNewsletterSubscription::STATUS_PENDING; break; case 'confirmed': $statusId = CjwNewsletterSubscription::STATUS_CONFIRMED; break; case 'approved': $statusId = CjwNewsletterSubscription::STATUS_APPROVED; break; case 'removed': $statusId = array(CjwNewsletterSubscription::STATUS_REMOVED_ADMIN, CjwNewsletterSubscription::STATUS_REMOVED_SELF); break; case 'bounced': $statusId = array(CjwNewsletterSubscription::STATUS_BOUNCED_SOFT, CjwNewsletterSubscription::STATUS_BOUNCED_HARD); break; case 'blacklisted': $statusId = CjwNewsletterSubscription::STATUS_BLACKLISTED; break; default: // default is approved $statusId = CjwNewsletterSubscription::STATUS_APPROVED; break; } $objectCount = 0; $listObject = CjwNewsletterList::fetchByListObjectVersion($listContentObjectId, $listContentObjectVersion); if (is_object($listObject)) { //$objectCount = CjwNewsletterSubscription::fetchSubscriptionListByListIdCount( $listContentobjectId, $statusId ); $objectCount = $listObject->getSubscriptionObjectCount($statusId); } else { eZDebug::writeError("CjwNewsletterFunctinCollection::fetchSubscriptionListCount - no object found for ObjectId: {$listContentObjectId} {$Version}: {$listContentObjectVersion}"); } return array('result' => $objectCount); }
/** * Return CjwNewsletterList object * * if the this is a CjwNewsletterSubscription or * CjwNewsletterSubscriptionVirtual * * A Virtual Subscription is connected at minimun to one CjwNewsletterList * * @return CjwNewsletterList object or false */ function getNewsletterListAttributeContent() { $object = eZContentObject::fetch($this->attribute('list_contentobject_id')); // fetch current version of list // list version is not needed for subscriptions!! // a subscription is valid for a complete list if ($this->attribute('is_virtual')) { return CjwNewsletterListVirtual::fetchByListObjectVersion($this->attribute('list_contentobject_id'), 0); } else { return CjwNewsletterList::fetchByListObjectVersion($this->attribute('list_contentobject_id'), 0); } }
/** * @see in cronjob create * * should handle the correct fetch of subscripers static + virtual * */ function getSubscriptionObjectArray($subscriptionStatus = CjwNewsletterSubscription::STATUS_APPROVED, $limit = 0, $offset = 0) { $listContentObjectId = $this->attribute('list_contentobject_id'); $listContentObjectVersion = $this->attribute('list_contentobject_version'); $listIsVirtual = $this->attribute('list_is_virtual'); $subscriptionObjectList = false; // static list (CjwNewsletterList) or virtual (CjwNewsletterListVirtual) $listObject = CjwNewsletterList::fetchByListObjectVersion($listContentObjectId, $listContentObjectVersion); if (is_object($listObject)) { $subscriptionObjectList = $listObject->getSubscriptionObjectArray($subscriptionStatus, $limit, $offset); } return $subscriptionObjectList; }