Example #1
0
function escape($value)
{
    // Escape any special values
    $double = false;
    if (strpos($value, ',') !== false) {
        $double = true;
    }
    if (strpos($value, '"') !== false) {
        $double = true;
        $value = str_replace('"', '""', $value);
    }
    if ($double) {
        $value = '"' . $value . '"';
    }
    return $value;
}
header('Content-Disposition: attachment; filename="audit-trail.csv"');
$trail = AT_Audit::get_everything();
if (count($trail) > 0) {
    echo "Date,Time,User,Operation,Item,IP\r\n";
    foreach ($trail as $item) {
        $csv = array();
        $csv[] = escape(date('Y-m-d', $item->happened_at));
        $csv[] = escape(date('H:i', $item->happened_at));
        $csv[] = escape($item->username);
        $csv[] = escape(strip_tags($item->get_operation()));
        $csv[] = escape(strip_tags($item->get_item()));
        $csv[] = escape(long2ip($item->ip));
        echo implode(',', $csv) . "\r\n";
    }
}