Не все так однозначно. Во-первых, Imagick дает, как правило, более качественную обработку изображений, чем GD. И работа с анимацией у него, в отличие от GD, заложена изначально. Но минус в том, что тут два уровня обработки получается — пхпешная библиотека и сам пакет ImageMagick. И баги могут быть на любом из этих уровней.
Про класс, который умеет ресайзить с GD, знаю давно. Но не очень понимаю, как его встроить. Ведь у нас изображения не только ресайзятся, а еще и кропаются, и «водяные знаки» на них наносятся. Ничего этого тот класс не умеет. И как быть? Что делать, если юзер загрузил анимированную гифку и пытается вырезать из нее аватарку? Не делать ничего? Вместо кропа делать ресайз? Я не знаю. Но при любом раскладе прогнозирую однотипные багрепорты — не работает заявленные функционал, или работает не так, как ожидается.
В общем, проблема явно либо в пакете ImageMagick, либо в PHP-библиотеке imagick. Один и тот же код на одном сервере работает, а на другом — нет (просто читаю и записываю анимированный файл). У серверов немного отличаются и версии PHP, и версии пакета ImageMagick. Кстати, последняя версия пакета — 6.9.1-1, но как его аккуратно обновить без танцев с бубнами, я сходу не нашел
Проблема имеет место быть, но причины пока непонятны, т.к. есть два хоста, куда положил конфиг один в один, как приведен выше, и на одном работает все без проблем, а на другом анимация не работает. Есть подозрение, что проблема в конкретной версии Imagick, но пока не могу сказать наверняка. Буду разбираться
Имеется ввиду, что в одном блоге может быть и обычный контент, и 18+? Тогда штатными средствами никак, нужно писать плагин, который позволит отдельно взятые топики не показывать в выдаче. Сделать можно так:
У соответствующих топиков задается свойство перед сохранением:
Чтоб сказать «ты не прав...» или «есть проблема...», нужно, как минимум, протестировать. Раз молчим, то значит пока эти проблемы еще не тестировались. Да, не все так быстро происходит, как хотелось бы. И кому-то релиз новой версии ускорить хочется, а кто-то возмущается, что в старой версии мелкие ошибки не все еще пофиксили.
А вообще, что касается анимации, какая библиотека установлена? Анимация только с Imagick/Gmagick работает
Надо поправить чтобы в базу писалось с указанием домена.
Наоборот, от этого давно пытаемся отойти, т.к. возникает куча проблем при переезде сайта. Скорее, надо поправить формирование RSS-ленты, чтобы при отдаче относительные пути менялись на абсолютные
А какая возможность выбора нужна? Вы либо разрешаете ссылки в топиках (сейчас это по умолчанию), либо запрещаете (как предложено выше). На репутации сайта в поисковиках отсутствие внешних ссылок вряд ли скажется.
Или Вы хотите для разных юзеров задавать опции — кому разрешить, а кому запретить? Это слишком специфический функционал, только написанием плагина можно сделать
Ничего не могу сказать, пока не воспроизведу эту ошибку у себя. Именно у себя, а не увижу удаленно, т.к. если она будет воспроизведена, то нужно будет дебаггером в IDE пройтись, чтоб обнаружить причину. Удаленно я это сделать не смогу.
Не, не объясню. Не скажу, что я ни разу подобную ошибку не встречал, но каждый раз оказывалось, что баг у меня в голове — либо папку неверно назвал, либо класс. Но вот чтоб все было верно и лечилось бы изменением порядка подключения плагинов — вот с таким не сталкивался.
Чтоб с этим разобраться, мне нужно у себя ситуацию воспроизвести. Напр., однозначно определено, что если поставить плагины А, Б, В, то такая ошибка вылезает. Меняем порядок — Б, А, В — ошибка пропадает. И мне передаются эти самые плагины. И я воспроизвожу у себя баг. И решаю проблему.
1) Параметр 'save' => false означает, что оригинал НЕ будет сохраняться. Если нужно, чтоб он сохранялся, то нужно ставить значение true
2) То, что сохраняется оригинал без всякой обработки еще не значит, что именно этот файл будет показываться на страницу сайта. Выше я написал, для чего это может быть использовано, но задача взять и отдать оригинал юзеру ложиться уже на плечи разработчика сайта/плагина.
3) Если нужно, чтоб при клике выводился лайтбокс с увеличенной картинкой, то нет смысла играть параметром 'original', достаточно просто закомментировать параметры 'max_width' и 'max_height'. Тогда у сохраняемого изображения размеры останутся прежние.
Про класс, который умеет ресайзить с GD, знаю давно. Но не очень понимаю, как его встроить. Ведь у нас изображения не только ресайзятся, а еще и кропаются, и «водяные знаки» на них наносятся. Ничего этого тот класс не умеет. И как быть? Что делать, если юзер загрузил анимированную гифку и пытается вырезать из нее аватарку? Не делать ничего? Вместо кропа делать ресайз? Я не знаю. Но при любом раскладе прогнозирую однотипные багрепорты — не работает заявленные функционал, или работает не так, как ожидается.
У соответствующих топиков задается свойство перед сохранением:
И при выдаче можно задавать фильтр по этому полю.
Если же речь про то, что все они будут в отдельном блоге, то все проще — в админке задается индексации блога и все.
А вообще, что касается анимации, какая библиотека установлена? Анимация только с Imagick/Gmagick работает
Или Вы хотите для разных юзеров задавать опции — кому разрешить, а кому запретить? Это слишком специфический функционал, только написанием плагина можно сделать
Надо просто надо внести нужные изменения в сам движок, js-скрипты и шаблоны. :)
Как Вы себе представляете «просто подсказать»? Это довольно приличный объем работ, который не опишешь парой предложений
PluginMailing_ModuleMailing_EntityUser — не?
Несоответствие папки и класса
Чтоб с этим разобраться, мне нужно у себя ситуацию воспроизвести. Напр., однозначно определено, что если поставить плагины А, Б, В, то такая ошибка вылезает. Меняем порядок — Б, А, В — ошибка пропадает. И мне передаются эти самые плагины. И я воспроизвожу у себя баг. И решаю проблему.
2) То, что сохраняется оригинал без всякой обработки еще не значит, что именно этот файл будет показываться на страницу сайта. Выше я написал, для чего это может быть использовано, но задача взять и отдать оригинал юзеру ложиться уже на плечи разработчика сайта/плагина.
3) Если нужно, чтоб при клике выводился лайтбокс с увеличенной картинкой, то нет смысла играть параметром 'original', достаточно просто закомментировать параметры 'max_width' и 'max_height'. Тогда у сохраняемого изображения размеры останутся прежние.