Commit 1510e36c authored by Yassine Doghri's avatar Yassine Doghri
Browse files

feat(plugins): load and validate plugin manifest.json

parent b5eddf35
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
        "json.schemas": [
          {
            "fileMatch": ["plugins/**/manifest.json"],
            "url": "/workspaces/castopod/modules/Plugins/manifest.schema.json"
            "url": "/workspaces/castopod/modules/Plugins/Manifest/schema.json"
          }
        ]
      },
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Config;

use App\Validation\FileRules as AppFileRules;
use App\Validation\OtherRules;
use CodeIgniter\Config\BaseConfig;
use CodeIgniter\Validation\StrictRules\CreditCardRules;
use CodeIgniter\Validation\StrictRules\FileRules;
@@ -24,6 +25,7 @@ class Validation extends BaseConfig
        FileRules::class,
        CreditCardRules::class,
        AppFileRules::class,
        OtherRules::class,
    ];

    /**
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ use CodeIgniter\I18n\Time;
use Config\Mimes;
use Modules\Media\Entities\Chapters;
use Modules\Media\Entities\Transcript;
use Modules\Plugins\Plugins;
use Modules\Plugins\Core\Plugins;
use Modules\PremiumPodcasts\Entities\Subscription;

if (! function_exists('get_rss_feed')) {
+24 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace App\Validation;

class OtherRules
{
    /**
     * Is a boolean (true or false)
     */
    public function is_boolean(mixed $str = null): bool
    {
        return is_bool($str);
    }

    /**
     * Is it an array?
     */
    public function is_list(mixed $str = null): bool
    {
        return is_array($str);
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -14,4 +14,6 @@ return [
    'is_image_ratio' =>
        '{field} is either not an image or not of the right ratio.',
    'is_json' => '{field} contains invalid JSON.',
    'is_boolean' => 'The {field} field must be a boolean (true or false).',
    'is_list' => 'The {field} field must be an array.',
];
Loading