CSV Export for Mastdon
Added a link to export current active sites in the DB to a consumable CSV file. More formats will be added but this one needs to be tested first based on the ubiquity of Mastodonsymfony-version
parent
b8eda54267
commit
88e78f2c4a
@ -0,0 +1,12 @@
|
|||||||
|
section[role="exports"] {
|
||||||
|
background: var(--primary);
|
||||||
|
width: 100%;
|
||||||
|
max-width: 600px;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
section[role="exports"] a {
|
||||||
|
color: var(--highlight);
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Service;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use League\Csv\Reader;
|
||||||
|
|
||||||
|
class HandleExports
|
||||||
|
{
|
||||||
|
private $locations;
|
||||||
|
|
||||||
|
public function __construct(HandleLocations $locations)
|
||||||
|
{
|
||||||
|
$this->locations = $locations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function buildMastodonCSV()
|
||||||
|
{
|
||||||
|
$records = [['domain', 'severity', 'public_comment', 'reject_media', 'reject_reports', 'obfuscate']];
|
||||||
|
$entries = $this->locations->getActiveLocations();
|
||||||
|
foreach ($entries as $entry) {
|
||||||
|
$item = [$entry->getUrl(), $entry->getRating(), $entry->getDescription(), "FALSE", "FALSE", "FALSE"];
|
||||||
|
array_push($records, $item);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = new \SplTempFileObject();
|
||||||
|
foreach ($records as $record) {
|
||||||
|
$tmp->fputcsv($record);
|
||||||
|
}
|
||||||
|
|
||||||
|
$reader = Reader::createFromFileObject($tmp);
|
||||||
|
return new Response($reader->getContent(), 200, [
|
||||||
|
'Content-Encoding' => 'none',
|
||||||
|
'Content-Type' => 'text/csv; charset=UTF-8',
|
||||||
|
'Content-Disposition' => 'attachment; filename="the-bad-space-mastodon.csv"',
|
||||||
|
'Content-Description' => 'File Transfer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
//return $path;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
{% extends "base/frame.twig" %}
|
||||||
|
{% block stylesheets %}
|
||||||
|
<link rel="stylesheet" type="text/css" href="/assets/css/front/start.css?=sdfsdf">
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
<section role="exports">
|
||||||
|
<h1>File Exports</h1>
|
||||||
|
<a href="/exports/mastodon">For Mastodon</a>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue