コード例 #1
0
 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);
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 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'];
 }