/**
  * 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);
     }
 }
 /**
  * (non-PHPdoc)
  * @see kernel/classes/eZDataType#deleteStoredObjectAttribute($objectAttribute, $version)
  */
 function deleteStoredObjectAttribute($contentObjectAttribute, $version = null)
 {
     $object = CjwNewsletterListVirtual::fetch($contentObjectAttribute->attribute("id"), $contentObjectAttribute->attribute("version"));
     if (is_object($object)) {
         $object->remove();
     }
 }
 /**
  * Count all user who subscripe to list
  *
  * @param CjwNewsletterListVirtual $virtualListObject
  * @param mixed int|array $statusIds
  * @return integer
  */
 static function fetchSubscriptionListByListIdCount($virtualListObject, $subscriptionStatus = false)
 {
     $filterArray = $virtualListObject->getFilterInternalArray($subscriptionStatus);
     $externalFilterArray = $virtualListObject->getFilterExternalArray($subscriptionStatus);
     //
     // external filters
     // Filters from extra db table not cjwnl
     //
     // fetch all user as rows
     $count = self::fetchByFilterCount($filterArray, $externalFilterArray);
     return $count;
 }