various fixes

This commit is contained in:
Boy132 2025-07-04 11:33:26 +02:00
parent a4109cad9d
commit cfc8223aa6
2 changed files with 6 additions and 6 deletions

View File

@ -15,7 +15,7 @@ use Filament\Panel;
* @method static void installPlugin(Plugin $plugin) * @method static void installPlugin(Plugin $plugin)
* @method static void enablePlugin(string|Plugin $plugin) * @method static void enablePlugin(string|Plugin $plugin)
* @method static void disablePlugin(string|Plugin $plugin) * @method static void disablePlugin(string|Plugin $plugin)
* @method static void updateLoadOrder(array $order) * @method static void updateLoadOrder(array<int, string> $order)
* *
* @see \App\Services\Helpers\PluginService * @see \App\Services\Helpers\PluginService
*/ */

View File

@ -101,11 +101,11 @@ class Plugin extends Model implements HasPluginSettings
$data = array_merge($data, $data['meta']); $data = array_merge($data, $data['meta']);
unset($data['meta']); unset($data['meta']);
if (is_array($data['panels'])) { if (array_key_exists('panels', $data) && is_array($data['panels'])) {
$data['panels'] = implode(',', $data['panels']); $data['panels'] = implode(',', $data['panels']);
} }
if (is_array($data['composer_packages'])) { if (array_key_exists('composer_packages', $data) && is_array($data['composer_packages'])) {
$data['composer_packages'] = implode(',', $data['composer_packages']); $data['composer_packages'] = implode(',', $data['composer_packages']);
} }
@ -181,7 +181,7 @@ class Plugin extends Model implements HasPluginSettings
{ {
$panelVersion = config('app.version', 'canary'); $panelVersion = config('app.version', 'canary');
return $this->panel_version === null || $panelVersion === 'canary' || version_compare($this->panel_version, $panelVersion, $this->isPanelVersionStrict ? '=' : '>='); return $this->panel_version === null || $panelVersion === 'canary' || version_compare($this->panel_version, $panelVersion, $this->isPanelVersionStrict() ? '=' : '>=');
} }
public function isPanelVersionStrict(): bool public function isPanelVersionStrict(): bool
@ -208,8 +208,8 @@ class Plugin extends Model implements HasPluginSettings
return cache()->remember("plugins.$this->id.update", now()->addHour(), function () use ($panelVersion) { return cache()->remember("plugins.$this->id.update", now()->addHour(), function () use ($panelVersion) {
try { try {
/** @var array<string, array{version: string, download_url: string}> */ /** @var array<string, array{version: string, download_url: string}> */
$updateData = file_get_contents($this->update_url); $updateData = json_decode(file_get_contents($this->update_url), true, 512, JSON_THROW_ON_ERROR);
if ($updateData[$panelVersion]) { if (array_key_exists($panelVersion, $updateData)) {
return version_compare($updateData[$panelVersion]['version'], $this->version, '>'); return version_compare($updateData[$panelVersion]['version'], $this->version, '>');
} }
} catch (Exception $exception) { } catch (Exception $exception) {