Загрузка изображений со стороннего сайта

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 102
Сообщения: 1540
Зарегистрирован: 03.12.2015
С нами: 5 лет 10 месяцев
Skype

Сообщение #1 korshunov » 29.08.2021, 06:46

Пришлось немного поработать с загрузкой файла изображения со стороннего сайта в Okay. Выяснилось, что этот функционал работает весьма странно.

1. Делаются две попытки загрузки (если первая неудачна). Сначала по URL, потом по такому же URL, но с http:. Изначально идея не слишком хороша, так адреса http: и https: на стороннем сервере могут работать по разному. А если уж хочется непременно такое делать, то надо бы с настройкой, делать вторую попытку или нет...
2. Из пункта 1 сразу вытекает серьезный недостаток . Если ссылка http: не рабочая, то ДВАЖДЫ выполняется одна и та же попытка. Вторая попытка - явно лишняя работа.
3. При первой попытке делается действие Перед долгим копированием займем это имя. А при второй (для исходного https:) - нет.
4. Создана функция private function isNotHttpsSource($filename). Применяется всего один раз. Лишнее усложнение на пустом месте.
5. Сама функция выглядит так:
private function isNotHttpsSource($filename)
{
if (!preg_match("~^https://~", $filename)) {
return true;
}
return false;
}
В то время как само собой напрашивается более простое
private function isNotHttpsSource($filename)
{
return !preg_match("~^https://~", $filename)) ;
}
6. Сами попытки оформлены отдельными участками кода, которые практически дублируются. Вот где надо бы функцию отдельную создавать и вызывать ее в двух местах! И тогда бы, скорее всего, ошибки 2,3 сами исчезли.

Столько ляпов в довольно простом функционале - выглядит как малоквалифицированная работа, простительная разве что начинающему...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 208
Сообщения: 1540
Зарегистрирован: 12.11.2015
С нами: 5 лет 11 месяцев
Сайт Skype

Сообщение #2 OkayCMS » 30.08.2021, 10:20

Посмотрим ваши замечания, ориентировочно на следующей неделе.


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость