Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

ocStore 3.0.4.1 - не завантажуються файли .svg і помилка user_permission.php on line 358Warning: Undefined array key 1


Recommended Posts

Доброго вечора.

 

Встановив ocStore 3.0.4.1

1. Коли заходжу в Система - Користувачі - Група користувачів - Administrator чи Demonstration, з'являється помилка:

 

Warning: Undefined array key 1 in /хххх/хххххх/хххххх.com.ua/admin/controller/user/user_permission.php on line 358Warning: Undefined array key 1 in /ххххх/хххххх/хххххх.com.ua/admin/controller/user/user_permission.php on line 358Warning: Undefined array key 1 in /ххххх/хххххх/хххххх.com.ua/admin/controller/user/user_permission.php on line 358

 

2. Не можливо завантажити файл .svg

видає помилку: "Некоректний тип файлу"

 

Інший сайт на osStore_3.0.3.7 немає таких помилок.

 

 

svg_error.jpg

Змінено користувачем komo2000
Надіслати
Поділитися на інших сайтах


Якщо актуально, напишіть доступи. Допоможу вирішити проблему. Але схоже що нюанс в налаштуванях хостингу.

Надіслати
Поділитися на інших сайтах

Інший сайт на osStore_3.0.3.7 немає таких помилок! 

Пишіть де виправити будемо тестувати.

 

2. Вирішено

 

в admin/controller/common/filemanager.php

 

1.
 // Get files
$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);


Додаємо: svg,SVG

 

$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF,svg,SVG}', GLOB_BRACE);


2. 
// Allowed file extension types
$allowed = array(
'jpg',
'jpeg',
'gif',
'png'
);

 

Додаємо: svg

 

// Allowed file extension types
$allowed = array(
'jpg',
'jpeg',
'gif',
'png',
'svg'
);

 

3.
// Allowed file mime types
$allowed = array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif'
);

 

Додаємо: image/svg+xml

 

// Allowed file mime types
$allowed = array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif',
'image/svg+xml'
);

Змінено користувачем komo2000
Надіслати
Поділитися на інших сайтах


В тому то і нюанс, що версія osStore_3.0.3.7 працює максимум на PHP 7.4, а версія ocStore 3.0.4.1 працює з PHP 8 - підтримка PHP 8.0, 8.1, 8.2 тому можуть бути різні глюки, якщо версія PHP не правильна.

Надіслати
Поділитися на інших сайтах

1. Вирішено

Наш добрий друже каже: Помилка Warning: Undefined array key 1 виникає через те, що ваш сайт працює на версії PHP 8.0 або вищій, де правила обробки масивів стали суворішими , а код ocStore 3.0.4.1 у файлі user_permission.php намагається звернутися до індексу масиву, якого не існує (найімовірніше, це результат роботи регулярного виразу preg_match, який не знайшов збігів).

 

Рядок 358-361 замінюємо на код нижче, і все працює.

if (isset($hidefiles[1]) && ($hidefiles[1] == "module" or $hidefiles[1] == "payment" or $hidefiles[1] == "shipping")) {
    if (!in_array($permission, $ignore)) {
        $data['hiden'][] = $permission;
    }

 

Доречі таку саму відповідь ми бачимо і в цьому пості

 

Змінено користувачем komo2000
  • +1 1
Надіслати
Поділитися на інших сайтах


В 22.04.2026 в 00:24, komo2000 сказав:

1. Вирішено

Добре, що знайшли рішення. Може комусь ще згодиться.

  • +1 1
Надіслати
Поділитися на інших сайтах

22.04.2026 в 00:24, komo2000 сказал:

Помилка Warning: Undefined array key 1 виникає через те, що ваш сайт працює на версії PHP 8.0 або вищій

Це не єдиний випадок, коли ви побачити цю помилку. В коді повно місць де звернення йде без перевірки існування або присвоювання без попереднього створення (ініціалізації). PHP8+ не допускає такої поведінки. 

 

21.04.2026 в 22:31, komo2000 сказал:

2. Не можливо завантажити файл .svg

видає помилку: "Некоректний тип файлу"

Ваше рішення дозволить лише завантажити файли svg через файловий менеджер, но не дозолить їх використовувати ні в адмінці ні на фронті. Хіба що, ви використовуєте якесь стороннє рішення, яке дозоляє використовувати файли svg. Проблема в тому, що в шаблонах які відповідають за вивід html не задан розмір зображень (ширина та висота). Буде багато сюрпризів при відображенні. Також svg файли обов'язково повинні перевірятися перед завантаженням, тому що вони можуть містити шкідливий код, та сторонні скрипти.

  • +1 1
Надіслати
Поділитися на інших сайтах


В 22.04.2026 в 18:13, Edvard сказав:

Це не єдиний випадок, коли ви побачити цю помилку. В коді повно місць де звернення йде без перевірки існування або присвоювання без попереднього створення (ініціалізації). PHP8+ не допускає такої поведінки. 

 

Ваше рішення дозволить лише завантажити файли svg через файловий менеджер, но не дозолить їх використовувати ні в адмінці ні на фронті. Хіба що, ви використовуєте якесь стороннє рішення, яке дозоляє використовувати файли svg. Проблема в тому, що в шаблонах які відповідають за вивід html не задан розмір зображень (ширина та висота). Буде багато сюрпризів при відображенні. Також svg файли обов'язково повинні перевірятися перед завантаженням, тому що вони можуть містити шкідливий код, та сторонні скрипти.

 

Шаблон UpStore, svg чітко відображається, як треба. Сторонніх модулів не використовую.

На рахунок перевірки svg, тут згоден, але коли буде тут модуль для безпечного завантаження svg хто зна.

Змінено користувачем komo2000
  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
Гість
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.