diff --git a/upload/admin/controller/common/filemanager.php b/upload/admin/controller/common/filemanager.php index 37ee8b8d..d922fa34 100644 --- a/upload/admin/controller/common/filemanager.php +++ b/upload/admin/controller/common/filemanager.php @@ -70,8 +70,9 @@ public function index() { // Get total number of files and directories $image_total = count($images); + $limit = $this->config->get('config_limit_filemanager') ? $this->config->get('config_limit_filemanager') : 16; // Split the array based on current page number and max number of items per page of 10 - $images = array_splice($images, ($page - 1) * 16, 16); + $images = array_splice($images, ($page - 1) * $limit, $limit); foreach ($images as $image) { $name = $this->basename_fixed($image); @@ -192,7 +193,7 @@ public function index() { $pagination = new Pagination(); $pagination->total = $image_total; $pagination->page = $page; - $pagination->limit = 16; + $pagination->limit = $limit; $pagination->url = $this->url->link('common/filemanager', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true); $data['pagination'] = $pagination->render(); diff --git a/upload/admin/controller/setting/setting.php b/upload/admin/controller/setting/setting.php index d8a8d6f5..356a27e2 100644 --- a/upload/admin/controller/setting/setting.php +++ b/upload/admin/controller/setting/setting.php @@ -133,6 +133,12 @@ public function index() { $data['error_limit_autocomplete'] = ''; } + if (isset($this->error['limit_filemanager'])) { + $data['error_limit_filemanager'] = $this->error['limit_filemanager']; + } else { + $data['error_limit_filemanager'] = ''; + } + if (isset($this->error['encryption'])) { $data['error_encryption'] = $this->error['encryption']; } else { @@ -440,6 +446,14 @@ public function index() { $data['config_limit_autocomplete'] = 5; } + if (isset($this->request->post['config_limit_filemanager'])) { + $data['config_limit_filemanager'] = $this->request->post['config_limit_filemanager']; + } elseif ($this->config->get('config_limit_filemanager')) { + $data['config_limit_filemanager'] = $this->config->get('config_limit_filemanager'); + } else { + $data['config_limit_filemanager'] = 16; + } + if (isset($this->request->post['config_product_count'])) { $data['config_product_count'] = $this->request->post['config_product_count']; } else { @@ -1070,6 +1084,10 @@ protected function validate() { $this->error['limit_autocomplete'] = $this->language->get('error_limit'); } + if (!$this->request->post['config_limit_filemanager']) { + $this->error['limit_filemanager'] = $this->language->get('error_limit'); + } + if ($this->request->post['config_login_attempts'] < 1) { $this->error['login_attempts'] = $this->language->get('error_login_attempts'); } diff --git a/upload/admin/language/en-gb/setting/setting.php b/upload/admin/language/en-gb/setting/setting.php index 767e1248..27dab51c 100644 --- a/upload/admin/language/en-gb/setting/setting.php +++ b/upload/admin/language/en-gb/setting/setting.php @@ -59,6 +59,7 @@ $_['entry_weight_class'] = 'Weight Class'; $_['entry_limit_admin'] = 'Default Items Per Page (Admin)'; $_['entry_limit_autocomplete'] = 'Default Items for search with autocomplete Page (Admin)'; +$_['entry_limit_filemanager'] = 'Default Items Per Page (Filemanager)'; $_['entry_product_count'] = 'Category Product Count'; $_['entry_review'] = 'Allow Reviews'; $_['entry_review_guest'] = 'Allow Guest Reviews'; @@ -147,6 +148,7 @@ $_['help_currency_auto'] = 'Set your store to automatically update currencies daily.'; $_['help_limit_admin'] = 'Determines how many admin items are shown per page (orders, customers, etc).'; $_['help_limit_autocomplete'] = 'Determines how many items are shown for search with autocomplete (attributes, options, filters, products, etc).'; +$_['help_limit_filemanager'] = 'Determines how many items are shown per page in the file manager.'; $_['help_product_count'] = 'Show the number of products inside the subcategories in the storefront header category menu. Be warned, this will cause an extreme performance hit for stores with a lot of subcategories!'; $_['help_review'] = 'Enable/Disable new review entry and display of existing reviews.'; $_['help_review_guest'] = 'Allow guests to post reviews.'; diff --git a/upload/admin/language/ru-ru/setting/setting.php b/upload/admin/language/ru-ru/setting/setting.php index cc165af9..ca6644be 100644 --- a/upload/admin/language/ru-ru/setting/setting.php +++ b/upload/admin/language/ru-ru/setting/setting.php @@ -60,6 +60,7 @@ $_['entry_weight_class'] = 'Единица измерения веса'; $_['entry_limit_admin'] = 'Лимит элементов (Админ)'; $_['entry_limit_autocomplete'] = 'Элементов при поиске с автодополнением'; +$_['entry_limit_filemanager'] = 'Элементов в файловом менеджере'; $_['entry_product_count'] = 'Подсчет товаров в категории'; $_['entry_review'] = 'Разрешить отзывы'; $_['entry_review_guest'] = 'Разрешить отзывы гостям'; @@ -149,6 +150,7 @@ $_['help_currency_auto'] = 'Задать ежедневное автоматическое обновление валют.'; $_['help_limit_admin'] = 'Количество отображаемых на странице элементов (товары, категории, заказы, покупатели и т.п.)'; $_['help_limit_autocomplete'] = 'Количество отображаемых элементов при поиске с автодополнением (атрибуты, опции, фильтры...) ДЛЯ АДМИНИСТРАТОРА'; +$_['help_limit_filemanager'] = 'Количество отображаемых элементов в файловом менеджере'; $_['help_product_count'] = 'Показывать количество товаров в категории. Включение этой опции может привести к увеличению времени загрузки страниц для магазинов с большим количеством товаров!'; $_['help_review'] = 'Включает/выключает добавление новых отзывов и отображение существующих.'; $_['help_review_guest'] = 'Разрешить гостям оставлять отзывы.'; diff --git a/upload/admin/view/template/setting/setting.twig b/upload/admin/view/template/setting/setting.twig index dafc1a90..6d086e6f 100644 --- a/upload/admin/view/template/setting/setting.twig +++ b/upload/admin/view/template/setting/setting.twig @@ -404,6 +404,14 @@