if (phpAds_isUser(phpAds_Agency)) {
    $query = "SELECT clientid FROM " . $phpAds_config['tbl_clients'] . " WHERE clientid=" . $clientid . " AND agencyid=" . phpAds_getUserID();
    $res = phpAds_dbQuery($query) or phpAds_sqlDie();
    if (phpAds_dbNumRows($res) == 0) {
        phpAds_PageHeader("2");
        phpAds_Die($strAccessDenied, $strNotAdmin);
    }
}
/*********************************************************/
/* Main code                                             */
/*********************************************************/
if (isset($clientid) && $clientid != '') {
    if (isset($startyear) && isset($startmonth) && isset($startday) && $startyear != '' && $startmonth != '' && $startday != '') {
        $first_unixtimestamp = mktime(0, 0, 0, $startmonth, $startday, $startyear);
    } else {
        $first_unixtimestamp = 0;
    }
    if (isset($endyear) && isset($endmonth) && isset($endday)) {
        $last_unixtimestamp = mktime(23, 59, 59, $endmonth, $endday, $endyear);
    } else {
        $last_unixtimestamp = mktime(23, 59, 59, date('m'), date('d'), date('Y'));
    }
    if (phpAds_SendMaintenanceReport($clientid, $first_unixtimestamp, $last_unixtimestamp, false)) {
        $message = $strAdReportSent;
    } else {
        $message = $strErrorOccurred;
    }
} else {
    $message = $strErrorOccurred;
}
header("Location: stats-advertiser-history.php?clientid={$clientid}&message=" . urlencode($message));
/************************************************************************/
// Include required files
require phpAds_path . "/libraries/lib-reports.inc.php";
/*********************************************************/
/* Mail clients and check for activation  				 */
/* and expiration dates					 				 */
/*********************************************************/
/*                                                       */
/* Some extra info: The client interval is the number of */
/* days between reports and thus also the maximum number */
/* of day of statistics of this report. The report       */
/* last date is the date on which the last report was    */
/* generated. A report never included the current date   */
/* because the statistics are not completely collected   */
/* for the current day. The last date therefor must be   */
/* included in the statistics for today.                 */
/*                                                       */
/*********************************************************/
$res_clients = phpAds_dbQuery("SELECT" . " clientid" . ",report" . ",reportinterval" . ",reportlastdate" . ",UNIX_TIMESTAMP(reportlastdate) AS reportlastdate_t" . " FROM " . $phpAds_config['tbl_clients'] . " WHERE report='t'");
while ($client = phpAds_dbFetchArray($res_clients)) {
    // Determine date of interval days ago
    $intervaldaysago = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - $client['reportinterval'] * (60 * 60 * 24);
    // Check if the date is interval is reached
    if ($client['reportlastdate_t'] <= $intervaldaysago && $client['reportlastdate'] != '0000-00-00' || $client['reportlastdate'] == '0000-00-00') {
        // Determine first and last date
        $last_unixtimestamp = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1;
        $first_unixtimestamp = $client['reportlastdate_t'];
        // Sent report
        phpAds_SendMaintenanceReport($client['clientid'], $first_unixtimestamp, $last_unixtimestamp, true);
    }
}