static function fetchListBySubscriptionListID($subscriptionListID, $condArray = array(), $offset = 0, $limit = 10, $asObject = true) { return eZPersistentObject::fetchObjectList(eZSubscription::definition(), null, array_merge(array('version_status' => eZSubscription::VersionStatusPublished, 'subscriptionlist_id' => $subscriptionListID), $condArray), null, array('limit' => $limit, 'offset' => $offset), $asObject); }
function objectAttributeContent($contentObjectAttribute) { newsletterlistType::storeSession($contentObjectAttribute); $return = array(); $lists = eZSubscriptionList::fetchList(); $userID = $contentObjectAttribute->attribute('contentobject_id'); $selection = unserialize($contentObjectAttribute->attribute("data_text")); $subscriptions = eZPersistentObject::fetchObjectList(eZSubscription::definition(), null, array('user_id' => $userID, 'version_status' => eZSubscription::VersionStatusPublished), true); foreach ($lists as $list) { $attribute_filter = array(array('newsletter_group/newsletter_id', '=', $list->attribute('url'))); $treeParameters = array('OnlyTranslated' => true, 'AttributeFilter' => $attribute_filter, 'ClassFilterType' => 'include', 'ClassFilterArray' => array('newsletter_group'), 'IgnoreVisibility' => false, 'MainNodeOnly' => true); $listitem = array(); $listitem['list'] = $list; if (in_array($list->attribute('id'), $selection['register'])) { $listitem['selected'] = true; } elseif (in_array($list->attribute('id'), $selection['unregister'])) { $listitem['selected'] = false; } $nodesList = eZContentObjectTreeNode::fetch(2)->subTree($treeParameters); foreach ($subscriptions as $subscription) { $listitem['disabled'] = false; if ($subscription->attribute('subscriptionlist_id') == $list->attribute('id')) { $listitem['subscription'] = $subscription; if ($listitem['subscription']->attribute('status') == eZSubscription::StatusPending or $listitem['subscription']->attribute('status') == eZSubscription::StatusConfirmed or $listitem['subscription']->attribute('status') == eZSubscription::StatusRemovedAdmin) { $listitem['disabled'] = true; } if (!array_key_exists('selected', $listitem)) { if ($listitem['subscription']->attribute('status') == eZSubscription::StatusApproved) { $listitem['selected'] = true; } else { $listitem['selected'] = false; } } break; } } if (isset($nodesList[0]) and is_object($nodesList[0])) { $listitem['node'] = $nodesList[0]; } if (count($listitem) > 0) { $return['list'][] = $listitem; } unset($listitem); } if ($selection['show_newsletter_tab']) { $return['show_newsletter_tab'] = true; } else { $return['show_newsletter_tab'] = false; } return $return; }
function fetchSubscriptionArrayCount($versionStatus = eZSubscription::VersionStatusPublished, $status = eZSubscription::StatusApproved) { $rows = eZPersistentObject::fetchObject(eZSubscription::definition(), array(), array('version_status' => $versionStatus, 'status' => $status, 'subscriptionlist_id' => $this->attribute('id')), false, false, array(array('operation' => 'count( id )', 'name' => 'count'))); return $rows['count']; }