コード例 #1
0
 public static function fetchNewsletterRecipientsCount($object_id, $status = array())
 {
     $conds = array('jaj_newsletter_recipients_list.contentobject_id' => $object_id);
     if (is_string($status)) {
         $status = array($status);
     }
     if (is_array($status)) {
         $status = array_intersect(jajNewsletterSubscription::states(), $status);
     }
     if (count($status)) {
         $conds['jaj_newsletter_subscription.state'] = array($status);
     }
     $field = 'jaj_newsletter_subscription.email';
     $custom_fields = array(array('operation' => 'COUNT( DISTINCT ' . $field . ' )', 'name' => 'row_count'));
     $custom_tables = array('jaj_newsletter_subscription_list', 'jaj_newsletter_recipients_list');
     $custom_conds = ' AND jaj_newsletter_subscription.subscription_list_id = jaj_newsletter_subscription_list.id' . ' AND jaj_newsletter_recipients_list.subscription_list_id = jaj_newsletter_subscription_list.id';
     $rows = eZPersistentObject::fetchObjectList(jajNewsletterSubscription::definition(), array(), $conds, array(), null, false, false, $custom_fields, $custom_tables, $custom_conds);
     return array('result' => $rows[0]['row_count']);
 }
コード例 #2
0
ファイル: view.php プロジェクト: jjohnsen/jaj_newsletter
}
switch (eZPreferences::value('admin_jaj_newsletter_subscription_list_limit')) {
    case '25':
        $limit = 25;
        break;
    case '50':
        $limit = 50;
        break;
    default:
        $limit = 10;
        break;
}
$offset = $Params['Offset'];
$tpl = eZTemplate::factory();
$ViewState = $Params['ViewState'];
$SubscriptionStates = jajNewsletterSubscription::states();
if (!in_array($ViewState, $SubscriptionStates)) {
    $ViewState = $SubscriptionStates[0];
}
for ($i = 0; $i < count($SubscriptionStates); $i++) {
    $id = $SubscriptionStates[$i];
    $SubscriptionStates[$i] = array('id' => $id, 'name' => ucwords($id), 'count' => $list->fetchSubscribersCount($id), 'selected' => $id == $ViewState, 'first' => $i == 0);
    if ($id == $ViewState) {
        $ItemCount = $SubscriptionStates[$i]['count'];
    }
}
$subscribers = $list->fetchSubscribersByState($ViewState, $limit, $offset);
$viewParameters = array('offset' => $offset);
$tpl->setVariable('view_state', $ViewState);
$tpl->setVariable('list', $list);
$tpl->setVariable('subscriber_states', $SubscriptionStates);