Loading .gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -187,3 +187,7 @@ data castopod/ castopod-*.zip castopod-*.tar.gz # Plugins plugins/* !plugins/.gitkeep app/Config/Autoload.php +2 −0 Original line number Diff line number Diff line Loading @@ -50,10 +50,12 @@ class Autoload extends AutoloadConfig 'Modules\Media' => ROOTPATH . 'modules/Media/', 'Modules\MediaClipper' => ROOTPATH . 'modules/MediaClipper/', 'Modules\Platforms' => ROOTPATH . 'modules/Platforms/', 'Modules\Plugins' => ROOTPATH . 'modules/Plugins/', 'Modules\PodcastImport' => ROOTPATH . 'modules/PodcastImport/', 'Modules\PremiumPodcasts' => ROOTPATH . 'modules/PremiumPodcasts/', 'Modules\Update' => ROOTPATH . 'modules/Update/', 'Modules\WebSub' => ROOTPATH . 'modules/WebSub/', 'Plugins' => ROOTPATH . 'plugins', 'Themes' => ROOTPATH . 'themes', 'ViewComponents' => APPPATH . 'Libraries/ViewComponents/', 'ViewThemes' => APPPATH . 'Libraries/ViewThemes/', Loading ecs.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ return ECSConfig::configure() ->withPaths([ __DIR__ . '/app', __DIR__ . '/modules', __DIR__ . '/plugins', __DIR__ . '/themes', __DIR__ . '/tests', __DIR__ . '/public', Loading modules/Plugins/BasePlugin.php 0 → 100644 +33 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); namespace Modules\Plugins; use App\Entities\Episode; use App\Entities\Podcast; use App\Libraries\SimpleRSSElement; abstract class BasePlugin implements PluginInterface { public function __construct() { // load metadata from json // load name, description, etc. } public function init(): void { // add to admin navigation // TODO: setup navigation and views? } public function setChannelTag(Podcast $podcast, SimpleRSSElement $channel): void { } public function setItemTag(Episode $episode, SimpleRSSElement $item): void { } } modules/Plugins/Commands/InstallCommand.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); namespace Modules\Fediverse\Commands; use CodeIgniter\CLI\BaseCommand; class InstallCommand extends BaseCommand { /** * @param array<int|string, string|null> $params */ public function run(array $params): void { // TODO: } } Loading
.gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -187,3 +187,7 @@ data castopod/ castopod-*.zip castopod-*.tar.gz # Plugins plugins/* !plugins/.gitkeep
app/Config/Autoload.php +2 −0 Original line number Diff line number Diff line Loading @@ -50,10 +50,12 @@ class Autoload extends AutoloadConfig 'Modules\Media' => ROOTPATH . 'modules/Media/', 'Modules\MediaClipper' => ROOTPATH . 'modules/MediaClipper/', 'Modules\Platforms' => ROOTPATH . 'modules/Platforms/', 'Modules\Plugins' => ROOTPATH . 'modules/Plugins/', 'Modules\PodcastImport' => ROOTPATH . 'modules/PodcastImport/', 'Modules\PremiumPodcasts' => ROOTPATH . 'modules/PremiumPodcasts/', 'Modules\Update' => ROOTPATH . 'modules/Update/', 'Modules\WebSub' => ROOTPATH . 'modules/WebSub/', 'Plugins' => ROOTPATH . 'plugins', 'Themes' => ROOTPATH . 'themes', 'ViewComponents' => APPPATH . 'Libraries/ViewComponents/', 'ViewThemes' => APPPATH . 'Libraries/ViewThemes/', Loading
ecs.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ return ECSConfig::configure() ->withPaths([ __DIR__ . '/app', __DIR__ . '/modules', __DIR__ . '/plugins', __DIR__ . '/themes', __DIR__ . '/tests', __DIR__ . '/public', Loading
modules/Plugins/BasePlugin.php 0 → 100644 +33 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); namespace Modules\Plugins; use App\Entities\Episode; use App\Entities\Podcast; use App\Libraries\SimpleRSSElement; abstract class BasePlugin implements PluginInterface { public function __construct() { // load metadata from json // load name, description, etc. } public function init(): void { // add to admin navigation // TODO: setup navigation and views? } public function setChannelTag(Podcast $podcast, SimpleRSSElement $channel): void { } public function setItemTag(Episode $episode, SimpleRSSElement $item): void { } }
modules/Plugins/Commands/InstallCommand.php 0 → 100644 +18 −0 Original line number Diff line number Diff line <?php declare(strict_types=1); namespace Modules\Fediverse\Commands; use CodeIgniter\CLI\BaseCommand; class InstallCommand extends BaseCommand { /** * @param array<int|string, string|null> $params */ public function run(array $params): void { // TODO: } }