Сейчас пользователь загрузил аватар который, скажем так, не соответствует правилам сайта.
Если в личных фотоальбомах, еще возможно сделать какие-то допущения, например помечая нехорошие изображения специальным статусом и потом на основе этого статуса скрывать изображение из общих списков, то с аватаром все немного иначаче. Он может мелькать где угодно: на форуме, в комментариях, в списках пользователей, поэтому нехороший аватар просто будем удалять.
Ранее здесь предлагались решения на эту тему, загрузка админом пользователю аватара на своё усмотрение, я же просто удаляю аватар, который не соответствует правилам и возвращаю это место к дефолтному состоянию.
Следующим шагом, по идее, для особо настойчивых, должна стать специальная отметка на профиле тех, кто раз за разом продолжает загружать плохие аватары. Отметка на основе которой можно вообще запретить изменение аватара для такого пользователя. Но это может быть как нибудь в следующий раз. В принципе, особо буйных можно просто банить, а для тех, кто понимает предупреждения, пока просто удаляем аватар.
Создаем php файл avatardelete.php со следующим кодом
Кладём этот файл в папку /includes/myphp/
В админке сайта создаём статью с названием Удаление аватара и с url /avatardelete.html
В настройках статьи устанавливаем доступ только для админов.
В принципе в самом коде тоже присутсвует проверка на администратора. Но дополнительное ограничение не повредит.
В теле статьи через "Вставить файл" вставляем avatardelete.php
В шаблоне com_users_profile.tpl в любом месте вставляем
Вроде работает.
Только когда я делал это же самое через php my admin, из ленты активности кажется тоже пропадала запись о том что пользователь загрузил такой то аватар. (Без каких либо дополнительных действий по удалению записи из логов).
При данном варианте запись из ленты не пропала, пришлось удалять вручную из админки.
Не понял в чем разница, сейчас не хочу разбираться с этим вопросом, если кто-то подскажет, хорошо.
Если в личных фотоальбомах, еще возможно сделать какие-то допущения, например помечая нехорошие изображения специальным статусом и потом на основе этого статуса скрывать изображение из общих списков, то с аватаром все немного иначаче. Он может мелькать где угодно: на форуме, в комментариях, в списках пользователей, поэтому нехороший аватар просто будем удалять.
Ранее здесь предлагались решения на эту тему, загрузка админом пользователю аватара на своё усмотрение, я же просто удаляю аватар, который не соответствует правилам и возвращаю это место к дефолтному состоянию.
Следующим шагом, по идее, для особо настойчивых, должна стать специальная отметка на профиле тех, кто раз за разом продолжает загружать плохие аватары. Отметка на основе которой можно вообще запретить изменение аватара для такого пользователя. Но это может быть как нибудь в следующий раз. В принципе, особо буйных можно просто банить, а для тех, кто понимает предупреждения, пока просто удаляем аватар.
Создаем php файл avatardelete.php со следующим кодом
<? $inUser = cmsUser::getInstance(); if ($inUser->is_admin&&$userid) { $inDB = cmsDatabase::getInstance(); $sql = "UPDATE cms_user_profiles SET imageurl = '' WHERE user_id = '$userid'"; $inDB->query($sql); echo 'ok'; } ?>
Кладём этот файл в папку /includes/myphp/
В админке сайта создаём статью с названием Удаление аватара и с url /avatardelete.html
В настройках статьи устанавливаем доступ только для админов.
В принципе в самом коде тоже присутсвует проверка на администратора. Но дополнительное ограничение не повредит.
В теле статьи через "Вставить файл" вставляем avatardelete.php
В шаблоне com_users_profile.tpl в любом месте вставляем
{if $is_admin} <form action="/avatardelete.html" method="post"> <input name="userid" type="hidden" value="{$usr.id}" /> <input name="" type="submit" value="УДАЛИТЬ АВАТАР" /> </form> {/if}
Только когда я делал это же самое через php my admin, из ленты активности кажется тоже пропадала запись о том что пользователь загрузил такой то аватар. (Без каких либо дополнительных действий по удалению записи из логов).
При данном варианте запись из ленты не пропала, пришлось удалять вручную из админки.
Не понял в чем разница, сейчас не хочу разбираться с этим вопросом, если кто-то подскажет, хорошо.
Реклама #
Александр 7 лет назад #
Странник 7 лет назад #
Но, имхо, следует предусмотреть в таблице cms_user_profiles дополнительное поле (например, с именем prohibition), которое будет содержать флаг запрещения наглецам менять аватар после первого же предупреждения. В вашем же файле avatardelete.php: