}
    // Validate start date
    if (!@checkdate($start_month, $start_day, $start_year) || $start_hour > 60 || $start_hour < 0 || $start_minute > 60 || $start_minute < 0) {
        $errortext[] = $l->g('start_date_invalid');
    }
    // Validate expiration date
    if (empty($expires_never) && (!@checkdate($expires_month, $expires_day, $expires_year) || $expires_hour > 60 || $expires_hour < 0 || $expires_minute > 60 || $expires_minute < 0)) {
        $errortext[] = $l->g('expiration_date_invalid');
    }
    // Width
    if ($display_position != 't' && $display_position != 'b' && $width <= 0) {
        $errortext[] = $l->g('width_invalid');
    }
    // Width
    if ($display_position != 't' && $display_position != 'b' && $height <= 0) {
        $errortext[] = $l->g('height_invalid');
    }
    if (empty($errortext)) {
        $start_date = "{$start_year}-{$start_month}-{$start_day} {$start_hour}:{$start_minute}:00";
        $expiration_date = empty($expires_never) ? "{$expires_year}-{$expires_month}-{$expires_day} {$expires_hour}:{$expires_minute}:00" : '0000-00-00 00:00:00';
        if ($banner->addBanner($name, $active, $source_type, $source, $display_position, $max_views, $start_date, $expiration_date, $width, $height)) {
            $xmlwriter->setHeaderMessage($l->g('banner_added'));
        } else {
            $errortext[] = $l->g('error');
        }
    }
}
if (!empty($errortext)) {
    $xmlwriter->setHeaderStatus(1);
    $xmlwriter->setHeaderMessage(implode("\n", $errortext));
}