array(
'title' => 'Newsletter Send Statistics',
'help' => 'View Statistics about newsletter sending, including number of recipients, date sent, opened by and more.'
),
2 => array(
'title' => 'Subscriber Statistics',
'help' => 'View statistics about individual subscribers, including date of subscription, links opened and more.'
),
3 => array(
'title' => 'Subscriber Dates',
'help' => 'View number of subscriptions per year, month and day.'
),
4 => array(
'title' => 'Autoresponder Statistics',
'help' => 'View statistics about autoresponders, including number of recipients, date sent, opened by and more.'
),
5 => array(
'title' => 'User Statistics',
'help' => 'View statistics about each control panel user / administator including number of emails sent, date of sending and more.'
),
6 => array(
'title' => 'Mailing List Statistics',
'help' => 'View statistics about each mailing list, including number of subscribers, active subscribers, confirmed subscribers and more'
),
7 => array(
'title' => 'Newsletter Open Statistics',
'help' => 'View which subscribers opened a particular newsletter'
),
8 => array(
'title' => 'Link Click-through Statistics',
'help' => 'View statistics about links and click-throughs'
)
);
if (!$Action) {
$radio_button = '';
foreach($REPORT_TYPES as $id => $details) {
$radio_button .= $id . '->' . $details['title'] . ';';
}
$radio_button = substr($radio_button, 0, -1);
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Statistics Report']='radio|ReportType:1:' . $radio_button;
foreach($REPORT_TYPES as $id => $details) {
$HELP_ITEMS['ReportType'.$id]['Title'] = $details['title'];
$HELP_ITEMS['ReportType'.$id]['Content'] = $details['help'];
}
$FORM_ITEMS[-1]='submit|Next »:1-stats';
$FORM=new AdminForm;
$FORM->title='Reporting';
$FORM->items=$FORM_ITEMS;
$FORM->action=MakeAdminLink('stats?Action=Step2');
$FORM->MakeForm('Choose Report Type');
$FORM->output = 'Select a statistics report type below and click "Next" to continue.
' . $FORM->output;
$OUTPUT = MakeBox('Statistics',$FORM->output);
$OUTPUT .= '
';
}
if ($Action != '') $OUTPUT = "";
if ($Action == 'Step2') {
if ($ReportType != 5) {
// if we're not viewing admin or link stats...
//select ListID form!
$lists=mysql_query("SELECT * FROM " . $TABLEPREFIX . "lists ORDER BY ListName ASC");
$alllists = '';
$foundlist = false;
while($l=mysql_fetch_assoc($lists))
{
$foundlist = true;
$l = stripslashes_array($l);
if(AllowList($l['ListID']))
{
if ($CURRENTADMIN['DisplaySummaries']) {
$numSubs = (int)mysql_result(mysql_query("SELECT COUNT(*) from " . $TABLEPREFIX . "members where ListID=" . addslashes($l['ListID'])), 0, 0);
if($numSubs == 1)
$subs = "1 subscriber";
else
$subs = number_format($numSubs, 0) . " subscribers";
$subs = " (" . $subs . ")";
} else {
$subs = "";
}
$alllists.=$l['ListID']."->".$l['ListName']."$subs;";
}
}
if ($alllists == '') {
$errormsg = "Sorry, you don't have access to any lists.";
if (!$foundlist) $errormsg = 'Sorry, no mailing lists have been created.';
$OUTPUT .= MakeErrorBox("No access", $errormsg);
} else {
$heading = 'Before you view statistics, please choose a mailing list to work with.';
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Choose a mailing list']='select|ListID:5:'.$alllists;
$HELP_ITEMS['ListID']['Title'] = 'Mailing List';
$HELP_ITEMS['ListID']['Content'] = 'Which mailing list would you like to view statistics for? Simply choose it from this list.';
$FORM_ITEMS[-1]='submit|Next »:1-stats';
$FORM=new AdminForm;
$FORM->title='Reporting';
$FORM->items=$FORM_ITEMS;
$FORM->action=MakeAdminLink('stats&Action=Step3&ReportType='.$ReportType);
$FORM->MakeForm('Select a mailing list');
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ')', $heading . $FORM->output);
$OUTPUT .= '';
}
}
if ($ReportType == 5) {
$alladmins = '';
$admin_count = 0;
$qry = "SELECT * FROM " . $TABLEPREFIX . "admins";
if (!$CURRENTADMIN['Root']) $qry .= " WHERE adminid='" . $CURRENTADMIN['AdminID'] . "'";
$qry .= " ORDER BY AdminName";
$admins_result = mysql_query($qry);
while($u = mysql_fetch_assoc($admins_result)) {
$u = stripslashes_array($u);
$admin_count++;
$adminname = ($u['AdminName']) ? ' (' . $u['AdminName'] . ')' : '';
$alladmins .= $u['AdminID'] . '->' . $u['Username'] . $adminname . ';';
}
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Select a user']='select|AdminID:5:'.$alladmins;
$HELP_ITEMS['AdminID']['Title'] = 'Select a user';
$HELP_ITEMS['AdminID']['Content'] = 'Which user would you like to view statistics for? Simply choose it from this list.';
$FORM_ITEMS[-1]='submit|Next »:1-stats';
$FORM=new AdminForm;
$FORM->title='Reporting';
$FORM->items=$FORM_ITEMS;
$FORM->action=MakeAdminLink('stats&Action=Step3&ReportType='.$ReportType);
$FORM->MakeForm('Select a user');
$heading = "Select a user to view statistics about that users activities. Click 'Next' to continue.";
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ')', $heading . $FORM->output);
$OUTPUT .= '
';
}
}
if ($Action == 'Step3') {
if ($ReportType != 5) {
$ReportName = "'" . stripslashes(mysql_result(mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists WHERE ListID = '".addslashes($ListID)."'"), 0, 0)) . "'";
}
$other_heading = '';
switch($ReportType) {
case 1: // Send Statistics
$info = SendStatistics($ListID);
$other_heading = 'The following lists information regarding the newsletters sent for the specified list. Select a newsletter for more detailed statistics.';
break;
case 2: // Subscriber Statistics
$info = SubscriberStatsForm($ListID);
break;
case 3: // Signup Stats
$info = SignUpStats($ListID);
$other_heading = 'The following lists the number of subscribers per year for the specified mailing list. Select a year to view subscribers per month
';
break;
case 4: // Autoresponder Stats
$info = ViewAutoresponderStats($ListID);
$other_heading = 'The following lists information regarding the autoresponders setup for the specified list. Select an autoresponder for more detailed statistics.';
break;
case 5: // admin statistics
$result = mysql_query("SELECT AdminName, Username FROM " . $TABLEPREFIX . "admins WHERE AdminID='" . addslashes($_REQUEST['AdminID']) . "'");
$details = stripslashes_array(mysql_fetch_assoc($result));
$ReportName = "'" . $details['Username'];
if ($details['AdminName'] != '') $ReportName .= ' - ' . $details['AdminName'];
$ReportName .= "'";
$info = ViewAdminStats($_REQUEST['AdminID']);
$other_heading = 'The following lists the number of emails sent by the specified user per month. Select a month to view daily statistics
';
break;
case 6: // List statistics
$info = ViewListStatistics($ListID);
$other_heading = 'The following lists information regarding the selected mailing list.
';
break;
case 7:
$ReportName = 'Mailing List ' . $ReportName;
$info = ViewOpenStats($ListID);
break;
case 8:
$info = ViewClickStats($ListID);
break;
}
// $button = "";
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for ' . $ReportName . ')', $other_heading . $info);
}
if ($Action == 'Step4') {
$HaveClickedLink = (isset($_REQUEST['HaveClickedLink'])) ? $_REQUEST['HaveClickedLink'] : '';
$DisplayPage = (isset($_REQUEST['DisplayPage'])) ? $_REQUEST['DisplayPage'] : 0;
$OffSet = (isset($_REQUEST['OffSet'])) ? $_REQUEST['OffSet'] : 0;
switch($View) {
case 'Send':
list($listname, $results) = ViewDetailedSend($_GET['SendID']);
$OUTPUT .= MakeBox('Statistics (' .$REPORT_TYPES[$ReportType]['title'] . ' for \'' . $listname . '\')', $results);
$backlink = MakeAdminLink("stats?Action=Step3&ReportType=" . $ReportType . "&ListID=" . $ListID);
if (isset($_GET['From']) && $_GET['From'] == 'Admin') {
$backlink = MakeAdminLink('stats?Action=Step4&ReportType=5&View=Admin&AdminID='.$_GET['AdminID'].'&Month='.$_GET['Month']);
}
break;
case 'OpenStats':
$ListID = $_GET['ListID'];
$page = (isset($_GET['Page'])) ? $_GET['Page'] : 1;
$heading = 'The following report provides information on how many subscribers opened a particular newsletter. This only applies to HTML Subscribers. Text Subscribers do not get tracked.
';
list($listname, $emailname, $results) = ViewDetailedOpenStats($_GET['SendID'], $ListID, $page);
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for List \'' . stripslashes($listname) . '\', Newsletter \'' . $emailname . '\')', $heading . $results);
break;
case 'Signups':
$heading = "The following lists the number of subscribers per month for the specified mailing list. Select a month to view subscribers per day
";
list($listname, $results) = ViewDetailedSignups($_GET['ListID'], $_GET['Year']);
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for \'' . stripslashes($listname) . '\')', $heading . $results);
$backlink = MakeAdminLink("stats?Action=Step3&ReportType=" . $ReportType . "&ListID=" . $ListID);
break;
case 'LinkClicks':
$heading = 'The following report provides information on how many links are in this newsletter and how many clicks each link has received
';
list($emailname, $results) = ViewDetailedClicks($_GET['ListID'], $_GET['ComposedID']);
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for \'' . stripslashes($emailname) . '\')', $heading . $results);
break;
case 'Auto':
list($listname, $results) = ViewDetailedResponder($_GET['AutoResponderID']);
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for \'' . $listname . '\')', $results);
break;
case 'Admin':
list($adminname, $results) = ViewDetailedAdmin($_GET['AdminID'], $_GET['Month']);
$heading = "The following lists the number of emails sent by the specified user per day. Select a date to view details of the sent newsletter
";
$OUTPUT .= MakeBox('Statistics (' . $REPORT_TYPES[$ReportType]['title'] . ' for \'' . $adminname . '\')', $heading . $results);
break;
case 'SubscriberStats':
$ListName = "'" . stripslashes_array(mysql_result(mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists WHERE ListID = '".addslashes($ListID)."'"), 0, 0)) . "'";
$Confirmed = (isset($_REQUEST['Confirmed'])) ? $_REQUEST['Confirmed'] : 1;
$Email = (isset($_REQUEST['Email'])) ? $_REQUEST['Email'] : '';
$Fields = (isset($_REQUEST['Fields'])) ? $_REQUEST['Fields'] : array();
$Format = (isset($_REQUEST['Format'])) ? $_REQUEST['Format'] : 1;
$HaveClickedLink = (isset($_REQUEST['HaveClickedLink'])) ? $_REQUEST['HaveClickedLink'] : '';
$PerPage = (isset($_REQUEST['PerPage'])) ? $_REQUEST['PerPage'] : 20;
$Status = (isset($_REQUEST['Status'])) ? $_REQUEST['Status'] : 1;
$Members=ReturnMembers($ListID,$Email,$Status,$Confirmed,$Fields,$HaveClickedLink,$Format, false, array(), true);
$backlink = MakeAdminLink('stats?Action=Step3&ReportType=2&ListID=' . $ListID);
if (!$Members) {
$report = "No subscribers were found for the selected list. Click on the button below to search again.
";
} else {
$TotalResult = $Members;
if ((int)$PerPage <= 0) $PerPage = 20;
if($DisplayPage == "")
$DisplayPage = 0;
if($TotalResult<=$PerPage){
$Pages=1;
}else{
$Pages=ceil($TotalResult/$PerPage);
}
$urldata = EncodeFields($Fields);
$urldata.="PerPage=$PerPage&";
$urldata.="Status=$Status&";
$urldata.="Confirmed=$Confirmed&";
$urldata.="Email=$Email&Format=$Format&";
$urldata.="HaveClickedLink=$HaveClickedLink&";
// so we don't have to work out complex regular expressions to take out the order and direction later, save these for the sorting URL's we'll create below.
$email_order_urldata = $subscribed_order_urldata = $urldata;
if (isset($_GET['Order'])) $urldata .= "Order=" . $_GET['Order'] . "&";
if (isset($_GET['Order']) && isset($_GET['Direction'])) $urldata .= "Direction=" . $_GET['Direction'] . "&";
$OffSet = (isset($_REQUEST['OffSet'])) ? $_REQUEST['OffSet'] : 0;
$Total = number_format($TotalResult, 0) . ($TotalResult == 1 ? ' result' : ' results');
$lastOffset = 0;
$report = "Your search returned " . $Total . ". Currently displaying page " . number_format(($DisplayPage+1), 0) . " of " . number_format($Pages, 0) . " pages.
';
$email_query = "SELECT e.EmailName, eo.TimeStamp FROM " . $TABLEPREFIX . "email_opens eo LEFT JOIN " . $TABLEPREFIX . "sends s ON (s.sendID=eo.sendID) LEFT JOIN " . $TABLEPREFIX . "composed_emails e ON (s.ComposedID=e.ComposedID) WHERE eo.MemberID='" . addslashes($_GET['MemberID']) . "' AND s.ListID='" . addslashes($_GET['ListID'])."' ORDER BY EmailName, TimeStamp";
$email_result = mysql_query($email_query);
if (mysql_num_rows($email_result) > 0) {
while($opened_email = mysql_fetch_assoc($email_result)) {
$emailname = ($opened_email['EmailName']) ? $opened_email['EmailName'] : 'Unknown newsletter (has been deleted)';
$report .= '
' . $emailname . '
' . DisplayDate($opened_email['TimeStamp']) . '
';
}
} else {
$report .= '
Hasn\'t opened any newsletters.
n/a
';
}
$report .= '
';
$heading = "The following lists information regarding the subscriber for the specified list.
";
$OUTPUT .= MakeBox("Statistics (Subscriber Statistics for " . $report_title . ")", $heading . $report);
break;
}
}
if ($Action == 'Step5') {
switch($_GET['View']) {
case 'Signups':
$heading = "The following lists the number of subscribers per day for the specified mailing list.
";
list($listname, $report) = DisplayMonthlySignups($_GET['ListID'], $_GET['Year'], $_GET['Month']);
$OUTPUT.=MakeBox("Statistics (Subscriber dates for '" . stripslashes($listname) . "')", $heading . $report);
break;
}
}
function ViewDetailedClicks($ListID=0, $ComposedID=0) {
global $TABLEPREFIX;
$emailname = stripslashes(mysql_result(mysql_query("SELECT EmailName FROM " . $TABLEPREFIX . "composed_emails WHERE ComposedID='" . addslashes($ComposedID) . "'"), 0, 0));
$report = '
';
$report .= '
Link
Number of Clicks
';
$qry = "SELECT LinkID, URL FROM " . $TABLEPREFIX . "links WHERE LinkType='send' AND ComposedID='" . addslashes($ComposedID) . "' ORDER BY URL";
$result = mysql_query($qry);
while($row = mysql_fetch_assoc($result)) {
$report .= '
' . $row['URL'] . '
';
$link_count_query = "SELECT COUNT(*) FROM " . $TABLEPREFIX . "link_clicks WHERE LinkID='" . addslashes($row['LinkID']) . "' AND LinkType='send' AND ListID='" . addslashes($ListID) . "' AND ComposedID='" . addslashes($ComposedID) . "'";
$link_count_check = mysql_result(mysql_query($link_count_query), 0, 0);
$report .= '
' . number_format($link_count_check, 0) . '
';
}
$report .= '
';
return array($emailname, $report);
}
function ViewOpenStats($ListID=0) {
global $TABLEPREFIX, $CURRENTADMIN, $ROOTURL;
$listname_result = mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists WHERE ListID='" . addslashes($ListID) . "'");
$listname = mysql_result($listname_result, 0, 0);
$qry = "SELECT SendID, TrackOpens, DateStarted, TotalRecipients, HTMLRecipients, ComposedID FROM " . $TABLEPREFIX . "sends s WHERE s.EmailsSent > 0 AND s.ListID='" . addslashes($ListID) . "' ORDER BY DateStarted DESC";
$result = mysql_query($qry);
if (mysql_num_rows($result) == 0) {
return 'No newsletters have been sent';
}
$report = '
';
return array($adminname, $info);
}
function ViewAdminStats($AdminID=0) {
global $TABLEPREFIX;
$query = "SELECT ThisMonth, SUM(spm.EmailsSent) AS EmailsSent FROM " . $TABLEPREFIX . "sends_permonth spm, " . $TABLEPREFIX . "sends s WHERE s.SendID=spm.SendID AND spm.AdminID='" . addslashes($AdminID) . "' AND s.DateStarted != 0 GROUP BY ThisMonth ORDER BY ThisMonth DESC";
$result = mysql_query($query);
$back_link = '';
$info = '
';
$info .= '
Month
';
$info .= '
Emails Sent
';
$info .= '
Action
';
$info .= '
';
if (mysql_num_rows($result) <= 0) {
$info .= '
';
$info .= 'User has not sent any newsletters.';
$info .= '
';
$info .= $back_link;
return $info;
}
function ViewDetailedSend($SendID=0) {
global $TABLEPREFIX, $ROOTDIR, $ROOTURL;
$query = "SELECT * FROM " . $TABLEPREFIX . "sends s WHERE s.SendID='" . addslashes($SendID)."'";
$search_criteria_result = mysql_query($query);
$info = mysql_fetch_assoc($search_criteria_result);
$search_criteria = unserialize(stripslashes($info['SearchCriteria']));
$list = mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists l WHERE l.ListID='" . addslashes($info['ListID'])."'");
if (mysql_num_rows($list) > 0) {
$listname = stripslashes(mysql_result($list, 0, 0));
} else {
$listname = 'Unknown mailing list, has been deleted.';
}
$email = mysql_query("SELECT EmailName FROM " . $TABLEPREFIX . "composed_emails e WHERE e.ComposedID='" . addslashes($info['ComposedID'])."'");
if (mysql_num_rows($email) > 0) {
$emailname = stripslashes(mysql_result($email, 0, 0));
} else {
$emailname = 'Unknown email, has been deleted.';
}
$results = 'The newsletter \'' . $emailname . '\' was sent to the \'' . $listname . '\' list with the following details:';
if (empty($search_criteria)) {
$results .= '
Search Criteria has not been saved. You are viewing statistics for a newsletter that was sent before search information was recorded.';
$search_details = '';
} else {
$search_details = '
';
return array($listname, $results);
}
function ViewDetailedResponder($AutoID=0) {
global $TABLEPREFIX;
$query = "SELECT * FROM " . $TABLEPREFIX . "autoresponders a WHERE a.AutoresponderID='" . addslashes($AutoID)."'";
$search_criteria_result = mysql_query($query);
$info = mysql_fetch_assoc($search_criteria_result);
$search_criteria = unserialize(stripslashes($info['SearchCriteria']));
$list = mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists l WHERE l.ListID='" . addslashes($info['ListID'])."'");
if (mysql_num_rows($list) > 0) {
$listname = mysql_result($list, 0, 0);
} else {
$listname = 'Unknown mailing list, has been deleted.';
}
$results = 'The autoresponder was sent to the \'' . $listname . '\' list with the following details:';
if (empty($search_criteria)) {
$results .= 'Search Criteria has not been saved. You are viewing statistics for a newsletter that was sent before search information was recorded. ';
$search_details = '';
} else {
$search_details = '
';
$results .= $search_details;
if (!empty($search_criteria['Fields'])) {
foreach($search_criteria['Fields'] as $id => $details) {
$name = current(array_keys($details));
// if it's an array, we have a type but we don't have a date, keep going.
if ((is_array($details[$name]) && isset($details[$name]['type'])) && !isset($details[$name]['dd'])) continue;
$results .= '
';
return $info;
}
function SubscriberStatsForm($ListID=0) {
global $TABLEPREFIX, $FORM_REQUIRED_ITEM, $FORM_NOT_REQUIRED_ITEM, $CURRENTADMIN, $HELP_ITEMS;
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Status']='select|Status:1:ALL->View All;0->Inactive;1->Active:1';
$HELP_ITEMS['Status']['Title'] = 'Status';
$HELP_ITEMS['Status']['Content'] = 'Should this report include subscribers who are set to active, inactive or both?';
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Confirmed']='select|Confirmed:1:ALL->Either;0->Not Confirmed;1->Confirmed:1';
$HELP_ITEMS['Confirmed']['Title'] = 'Confirmed';
$HELP_ITEMS['Confirmed']['Content'] = 'Should this report include subscribers who are confirmed, unconfirmed or both?';
$FORM_ITEMS[$FORM_REQUIRED_ITEM . 'Format']='select|Format:1:ALL->Either;1->Text;2->HTML:ALL';
$HELP_ITEMS['Format']['Title'] = 'Format';
$HELP_ITEMS['Format']['Content'] = 'Should this report include subscribers who are flagged to receive text emails, HTML emails or both?';
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . 'Match Email']='textfield|Email:100:44:';
$HELP_ITEMS['Email']['Title'] = 'Match Email';
$HELP_ITEMS['Email']['Content'] = 'If you want to match a particular email address, enter the complete or partial email address here';
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . 'Filter by Date']='dateboxsearch|SubscribeDate::1';
$HELP_ITEMS['SubscribeDate']['Title'] = 'Filter by Date';
$HELP_ITEMS['SubscribeDate']['Content'] = 'If you would like to filter your search by date subscribed, select this and select your date range';
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . 'Members Per DisplayPage']='select|PerPage:1:1->1;10->10;20->20;50->50;100->100:20';
$HELP_ITEMS['PerPage']['Title'] = 'Members Per DisplayPage';
$HELP_ITEMS['PerPage']['Content'] = 'How many members should be shown in the list on the next page?';
$links = FetchLinks();
$alllinks = '0->Not Applicable;A->Any Link;';
foreach($links as $pos => $details) {
$alllinks .= $details['LinkID'] . '->' . $details['URL'] . ';';
}
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . "Clicked on Link"]="select|HaveClickedLink:1:" . str_replace(':', '$$COLON$$', $alllinks);
$HELP_ITEMS["HaveClickedLink"]["Title"] = "Have Clicked Link";
$HELP_ITEMS["HaveClickedLink"]["Content"] = "Should this report only include subscribers who have clicked on a particular link from a newsletter that you sent out?";
//extra fields
$size = $min = $max = $Width = $Height = 0;
$custom_fields = FetchCustomFields();
if (!empty($custom_fields)) {
$FORM_ITEMS['-4']='spacer| ';
$FORM_ITEMS['-100'] = 'spacer|
Filter by Custom Fields
';
}
foreach($custom_fields as $pos => $f) {
switch($f['FieldType']){
case 'shorttext':
list($size,$min,$max)=explode(',',$f['AllValues']);
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . "Search ".$f['FieldName']]='textfield|Fields['.$f['FieldID'].']:'.$max.':44';
break;
case 'longtext':
list($Width,$Height)=explode(',',$f['AllValues']);
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . 'Search '.$f['FieldName']]='textfield|Fields['.$f['FieldID'].']:500:44';
break;
case 'checkbox':
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . $f['FieldName']]='select|Fields['.$f['FieldID'].']:1:y->Yes;n->No;all->All:all';
break;
case 'multicheckbox':
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . $f['FieldName']]='checkboxes|Fields['.$f['FieldID'].']:' . $f['AllValues'] . ':';
break;
case 'datebox':
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . $f['FieldName']]='dateboxsearch|Fields['.$f['FieldID'].']:' . $f['AllValues'] . ':';
break;
case 'dropdown':
$FORM_ITEMS[$FORM_NOT_REQUIRED_ITEM . $f['FieldName']]='select|Fields['.$f['FieldID'].']:1:->All Values;'.$f['AllValues'].':';
break;
}
}
$FORM_ITEMS['-1']='submit|Search:1-stats';
$FORM=new AdminForm;
$FORM->title="SearchMembers";
$FORM->items=$FORM_ITEMS;
$FORM->action=MakeAdminLink("stats?Action=Step4&View=SubscriberStats&ListID=$ListID");
$FORM->MakeForm("Filter Subscriber Details");
$MO=$FORM->output;
$MO = "Complete the form below to filter subscribers for this report (optional)." . $MO;
$return = $MO . '
';
return $return;
}
function SendStatistics($ListID=0) {
global $TABLEPREFIX, $ROOTURL;
$sends=mysql_query("SELECT * FROM " . $TABLEPREFIX . "sends WHERE ListID='".addslashes($ListID)."' AND DateStarted != '' ORDER BY DateStarted DESC");
$newsletter_list = array();
if(mysql_num_rows($sends) > 0)
{
$SO = '