"Exports" ]); } // public function exportCSV($type, $percent) { $columns = []; $list = []; $locations = Location::where("active", true)->get(); $sources = Source::where("active", true)->get(); if ($type == 'mastodon') { $columns = [ 'domain', 'severity', 'public_comment', 'reject_media', 'reject_reports', 'obfuscate', ]; }; foreach ($locations as $location) { $total = $location->block_count + $location->silence_count; if ($total >= 2) { $rate = $total / count($sources); if ($rate * 100 >= $percent) { if ($type == 'mastodon') { //comman break teh CSV so just take them out $comments = str_replace(",", ";", $location->description); //remove extra white space $comments = str_replace(["\n\r", "\n", "\r"], " ", $comments); //add to the export list array_push($list, [$location->url, $location->rating, $comments, "FALSE", "FALSE", "FALSE"]); } } } } header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename=' . $type . "-" . $percent); echo implode(',', $columns) . PHP_EOL; foreach ($list as $item) { echo implode(',', $item) . PHP_EOL; } } }