diff --git a/app/CMS/Handlers/Registrators/Items/SettingExtension.php b/app/CMS/Handlers/Registrators/Items/SettingExtension.php index f4d29bf1..c9d73335 100644 --- a/app/CMS/Handlers/Registrators/Items/SettingExtension.php +++ b/app/CMS/Handlers/Registrators/Items/SettingExtension.php @@ -15,6 +15,7 @@ class SettingExtension * @var string view used for rendering given settings part */ protected $view; + protected $order; /** * SettingExtension constructor. @@ -23,11 +24,12 @@ class SettingExtension * @param string $name * @param string $view */ - public function __construct($id, $name, $view) + public function __construct($id, $name, $view, $order) { $this->id = $id; $this->name = $name; $this->view = $view; + $this->order = $order; } /** @@ -53,4 +55,14 @@ class SettingExtension { return $this->view; } + + /** + * @return mixed + */ + public function getOrder() + { + return $this->order; + } + + } \ No newline at end of file diff --git a/app/CMS/Handlers/Registrators/SettingsExtensionRegistrator.php b/app/CMS/Handlers/Registrators/SettingsExtensionRegistrator.php index 8784be22..2befc672 100644 --- a/app/CMS/Handlers/Registrators/SettingsExtensionRegistrator.php +++ b/app/CMS/Handlers/Registrators/SettingsExtensionRegistrator.php @@ -1,7 +1,8 @@ checkIfRegistered($sectionId); + if (is_null($order)) { + $order = count($this->settingsExtensions); + } + // register new extension - $this->settingsExtensions[$sectionId] = new SettingExtension($sectionId, $sectionName, $sectionView); + $this->settingsExtensions[$sectionId] = new SettingExtension($sectionId, $sectionName, $sectionView, $order); } /** @@ -44,14 +49,15 @@ class SettingsExtensionRegistrator /** * Getter for all registered extensions - * * @return array */ public function get() { - // sort registered extensions by key - ksort($this->settingsExtensions); - + // sort registered extensions + uasort($this->settingsExtensions, function (SettingExtension $a, SettingExtension $b) { + return $a->getOrder() - $b->getOrder(); + }); + return $this->settingsExtensions; } diff --git a/app/Listeners/CreateImageThumbnail.php b/app/Listeners/CreateImageThumbnail.php index 14f9f236..c569645c 100644 --- a/app/Listeners/CreateImageThumbnail.php +++ b/app/Listeners/CreateImageThumbnail.php @@ -56,6 +56,6 @@ class CreateImageThumbnail implements ShouldQueue }); // save thumbnail with lower quality - $image->save(config('app.thumbnail_path') . DIRECTORY_SEPARATOR . $file->getFilename(), 75); + $image->save(config('app.thumbnail_path') . DIRECTORY_SEPARATOR . $file->getFilename(), setting('previewQuality', 75)); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0043e829..39c11cbb 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -119,7 +119,7 @@ class AppServiceProvider extends ServiceProvider $registrator->register('basic', 'admin/settings.basic', 'admin.settings.parts.basic'); $registrator->register('meta', 'admin/settings.meta', 'admin.settings.parts.meta'); $registrator->register('social', 'admin/settings.socialSites', 'admin.settings.parts.social'); - $registrator->register('widgets', 'admin/settings.widgets.title', 'admin.settings.parts.widgets'); + $registrator->register('advanced', 'admin/settings.advanced.title', 'admin.settings.parts.advanced', 999); } /** diff --git a/resources/lang/cs/admin/settings.php b/resources/lang/cs/admin/settings.php index 8ea55fe2..e4043ed2 100644 --- a/resources/lang/cs/admin/settings.php +++ b/resources/lang/cs/admin/settings.php @@ -21,11 +21,21 @@ return [ ], "socialSites" => "Sociální sítě", "successfullySaved" => "Nastavení úspěšně změněno", - 'widgets' => [ - "title" => 'Widgety', - 'useWidgetPreloading' => 'Používat přednačítání widgetů?', + 'advanced' => [ + "title" => 'Pokročilé', + ], + + 'previews' => [ + 'title' => 'Nastavení obrázkových náhledů', + 'quality' => 'Kvalita', + 'size' => 'Velikost (v pixelech)' + ], + + 'widgets' => [ + 'title' => 'Widgety', + 'useWidgetPreloading' => 'Používat přednačítání widgetů?', 'preloadFrequentedWidgetAreasTreshold' => 'Práh pro přednačtení widgetů', - 'widgetCacheLifetime' => 'Platnost cache pro widgety' + 'widgetCacheLifetime' => 'Platnost cache pro widgety' ] ]; diff --git a/resources/views/admin/settings/parts/advanced.blade.php b/resources/views/admin/settings/parts/advanced.blade.php new file mode 100644 index 00000000..00a3b319 --- /dev/null +++ b/resources/views/admin/settings/parts/advanced.blade.php @@ -0,0 +1,81 @@ + +