Cotonti / Cotonti

Fast, reliable and flexible PHP CMF/CMS
https://www.cotonti.com
BSD 3-Clause "New" or "Revised" License
92 stars 51 forks source link

Improve (or fix) userimages #1743

Open seditio opened 8 months ago

seditio commented 8 months ago

[RU] Сейчас плагин userimages создает пару usertags: XXX_YYY и XXX_YYY_SRC Соответственно, если пользователь не загрузил аватар или фото, оба тега определяются пустыми. Поэтому сейчас нужна "лишняя" логика в шаблоне для вывода "заглушек" аватара и фото (и любых других изображений). Странно, потому что функция cot_userimages_build() прекрасно понимает отсутствие аргумента $src и вводит "заглушку" в соответствии с соответствующим ресурсом или пустоту если такой ресурс отсутствует (сорян за тавтологию). В userimages.usertags.main.php строка 32 надо убрать условие и оставить просто: $temp_array[strtoupper($code)] = cot_userimages_build($uimage, $code); Теперь при любом незаполненном user image получим заглушку (если есть соотв. ресурс) или пустоту если его нет. Добавим в коробку ресурс заглушки для photo, и от проверок на пустой аватар или фото в шаблонах можно отказаться. Если все же хочется, то проверять можно XXX_YYY_SRC -- он будет пустой если соответствующее изображение не загружено. Из-за этого на cotonti.com и не отображаются заглушки: Firefox_Screenshot_2023-10-13T10-07-51 029Z

Alex300 commented 7 months ago

Сейчас должно использовать $R['userimg_default_xxx'], если есть. Иначе пустую строку. Доработано в https://github.com/Cotonti/Cotonti/commit/233b413ea5ba8d351c29e8b7b585f8fbee9ccca1

$temp_array['XXX_SRC'] не использует ресурсов и если $user_data['user_xxx'] пусто, будет пустая строка
$temp_array[XXX] - будет использовать $R["userimg_default_xxx"] если есть для вывода дефолтного изображения

Надо протестировать