93 lines
3.9 KiB
PHP
93 lines
3.9 KiB
PHP
<?php
|
|
|
|
include("vendor/autoload.php");
|
|
$token = "OVERWRITE IN CONFIG.php";
|
|
include("config.php");
|
|
|
|
use GuzzleHttp\Client;
|
|
use kekskurse\mobilizon\Mobilizon;
|
|
use kekskurse\mobilizon\MobilizonAddress;
|
|
use kekskurse\mobilizon\MobilizonEvent;
|
|
|
|
$client = new Client([
|
|
"base_uri" => "https://events.gutes.team",
|
|
'timeout' => 2.0,
|
|
"headers" => [
|
|
"Authorization" => "bearer ".$token,
|
|
]
|
|
]);
|
|
|
|
//Calculate the next 3 Events for OpenSpace
|
|
$date = new DateTime('next tuesday');
|
|
$dateList = [$date];
|
|
for($i = 1; $i < 4; $i++) {
|
|
$newDate = clone end($dateList);
|
|
$newDate->modify('+7 days');
|
|
$dateList[] = $newDate;
|
|
}
|
|
|
|
//Remove Events in public holidays
|
|
$dates = file_get_contents("https://get.api-feiertage.de/?states=sh");
|
|
$holidayData = json_decode($dates, true);
|
|
$listOfHolidays = [];
|
|
foreach($holidayData["feiertage"] as $date) {
|
|
if ($date["sh"]) {
|
|
$listOfHolidays[$date["date"]] = true;
|
|
}
|
|
}
|
|
|
|
foreach($dateList as $key => $value) {
|
|
if($listOfHolidays[$value->format("Y-m-d")]) {
|
|
unset($dateList[$key]);
|
|
}
|
|
}
|
|
|
|
// Remove if Date already exists in mobilizion
|
|
$mobilizon = Mobilizon::getInstance($client);
|
|
/** @var MobilizonEvent[] $events */
|
|
$events = $mobilizon->getEventByGroup("c3fl", Mobilizon::EVENT_FIELDS);
|
|
|
|
foreach($dateList as $key => $value) {
|
|
foreach($events as $event) {
|
|
if($event->beginsOn->format("Y-m-d") == $value->format("Y-m-d") && $event->title = "Open Space") {
|
|
unset($dateList[$key]);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
echo "To creat:\r\n";
|
|
var_dump($dateList);
|
|
|
|
|
|
echo "Events:\r\n";
|
|
var_dump($events);
|
|
|
|
|
|
foreach($dateList as $event) {
|
|
|
|
$event->setTime(18, 00);
|
|
$end = clone $event;
|
|
$end->modify("+3 hours");
|
|
$newEvent = new MobilizonEvent();
|
|
$newEvent->beginsOn = $event;
|
|
$newEvent->endsOn = $end;
|
|
$newEvent->title = "Open Space";
|
|
$newEvent->physicalAddress->description = "Chaostreff Flensburg";
|
|
$newEvent->physicalAddress->street = "Apenrader Str. 49";
|
|
$newEvent->physicalAddress->postalCode = "24939";
|
|
$newEvent->physicalAddress->locality = "Flensburg";
|
|
$newEvent->physicalAddress->country = "Germany";
|
|
$newEvent->physicalAddress->region = "Schleswig-Holstein";
|
|
$newEvent->physicalAddress->geom = "9.4235724;54.8045086";
|
|
$newEvent->physicalAddress->type = "house";
|
|
$newEvent->physicalAddress->timezone = "Europe/Berlin";
|
|
$newEvent->picture->mediaId = 1;
|
|
$newEvent->organizerActorId = 3;
|
|
$newEvent->attributedToId = 7;
|
|
|
|
$newEvent->description = "Einmal in der Woche gibt es das sogenannte OpenSpace treffen. Dort sind alle, egal ob Mitglied oder nicht, eingeladen vorbeizukommen. Wir treffen uns jeden Dienstag ab 19 Uhr in unseren Räumen in der Apenrader Str. 49 in Flensburg.<br><br>Was dann passiert steht den Mitgliedern und Gästen frei. Es gibt aber immer die Möglichkeit sich mit anderen auszutauschen, an Projekten zu arbeiten oder einfach nur zu quatschen. Du kannst alles aus unserer Werkstatt benutzen wie: Prusa 3D Drucker, Lötkolben, Oszilloskop, Akkuschrauber, Sägen und vieles mehr. Zum austausch haben wir oben eine Launch, Sofa Ecke und einen Tisch mit Stühlen. Außerdem haben wir einen Beamer und eine Leinwand für Vorträge und Präsentationen.<br><br>Am besten kommst du einfach vorbei, wenn du fragen hast. Wir haben auch einen Public Matrix Channel <a href='https://matrix.to/#/#chaos-fl-public:fairydust.space'>#chaos-fl-public:fairydust.space</a>.<h3>Räumlichkeiten</h3>Unsere Räumlichkeiten befinden sich in der Apenrader Str. 49. Wir haben unten einen geteilten Gemeinschaftsraum mit einer Küche und Toiletten. Oben eine kleine Werkstatt und eine Lounge Raum sowie ein wenig Lagerfläche. Nur der Gemeinschaftsraum ist ohne Umwege barrierefrei erreichbar. Wir haben leider keine Barriefreien Toiletten. Das Haus gehört zum Sydelsvigsk Forening, dem kulturelle Dachverband der dänischen Minderheit in Südschleswig und wird Tønnsethuset genannt.";
|
|
|
|
$mobilizon->createEvent($newEvent);
|
|
}
|