2025-02-01 17:18:05 +01:00
|
|
|
<?php
|
|
|
|
|
2025-02-06 17:40:34 +01:00
|
|
|
use Kirby\Cms\App as Kirby;
|
2025-02-06 19:25:06 +01:00
|
|
|
use Kirby\Cms\Page;
|
2025-02-01 17:18:05 +01:00
|
|
|
use Kirby\Filesystem\F;
|
2025-02-06 19:25:06 +01:00
|
|
|
use Mmk2410\KirbyHelpers\Controller\ScribbleController;
|
|
|
|
use Mmk2410\KirbyHelpers\Helpers\Mastodon;
|
2025-02-01 17:18:05 +01:00
|
|
|
|
|
|
|
F::loadClasses([
|
2025-02-06 19:25:06 +01:00
|
|
|
'Mmk2410\\KirbyHelpers\\Helpers\\Mastodon' => 'src/Helpers/Mastodon.php',
|
2025-02-06 17:40:34 +01:00
|
|
|
'Mmk2410\\KirbyHelpers\\RssFeed' => 'src/RssFeed.php',
|
|
|
|
'Mmk2410\\KirbyHelpers\\Middleware\\ApiAuthentication' => 'src/Middleware/ApiAuthentication.php',
|
|
|
|
'Mmk2410\\KirbyHelpers\\Controller\\ScribbleController' => 'src/Controller/ScribbleController.php',
|
2025-02-01 17:18:05 +01:00
|
|
|
], __DIR__);
|
2025-02-06 17:40:34 +01:00
|
|
|
|
|
|
|
Kirby::plugin('mmk2410/kirby-helpers', [
|
|
|
|
'routes' => [
|
|
|
|
[
|
|
|
|
'pattern' => 'my/api/v1/scribble',
|
2025-02-06 19:25:06 +01:00
|
|
|
'action' => fn () => (new ScribbleController())->addScribble(),
|
2025-02-06 17:40:34 +01:00
|
|
|
'method' => 'POST'
|
|
|
|
],
|
2025-02-06 19:25:06 +01:00
|
|
|
],
|
|
|
|
'hooks' => [
|
|
|
|
'page.changeStatus:after' => function (Page $newPage, Page $oldPage): void {
|
|
|
|
$ignore = ($newPage->template()->name() !== 'scribble')
|
|
|
|
|| (!$newPage->isListed())
|
|
|
|
|| ($oldPage->status() === $newPage->status());
|
|
|
|
if ($ignore) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
(new Mastodon())->post($newPage);
|
|
|
|
}
|
|
|
|
],
|
2025-02-06 17:40:34 +01:00
|
|
|
]);
|