Удаление пользователей

InstantCMS 2.X
#1 5 августа 2017 в 20:54
Пользователь может удалить свой профиль в настройках, после чего он не может залогиниться, НО
вся инфа остается в том же виде, то есть на страницу профиля можно зайти, там ничего не меняется, остается вся информация, в том числе контактные данные, фото. Какой смысл в этом "удалении"? Или удалить можно только вручную из админки? Имхо при удалении профиля пользователь все-таки ожидает нечто другое, нежели просто появление надписи "профиль удален" на своей страничке.
Просто сейчас это особенно важно, т.к. законы ужесточили и у пользователя должна быть возможность удалить свою страницу с сайта, чтобы она не показывалась всем.
#2 6 августа 2017 в 06:20
Сначала я подумал, что чего-то отредактировал не так, но у меня есть параллельно чистая установка, проверил там — то же самое.
Считаю, это неправильная логика работы удаления, и очень опасная.
Было бы идеально, если бы происходило следующее:
— пользователь удаляет профиль
— его страница становится удаленной и недоступной для просмотра. Возможен вариант с заглушкой типа как вконтакте, когда вся информационная часть из профиля удаляется, показывается картинка с собачкой и выводится надпись, что пользователь удален
— в админке данные о пользователе остаются, поэтому страницу можно восстановить. Или удалить окончательно
— весь контент пользователя (статьи, новости и т.д.) остаются на сайте, просто аватарка автора меняется на удаленную.

Если кто-то может, подскажите как отредактировать файлы, чтобы для удаленного пользователя не выводилась информация его профиля?
#3 6 августа 2017 в 08:04
Думаю, в данном случае не стоит городить огород. Это явный недочет системы и место ему в Гите.
Странно, что раньше никто не обратил на это внимание.
#4 8 августа 2017 в 11:05

Думаю, в данном случае не стоит городить огород

Pocus
Ну, ждать у моря погоды тоже бессмысленно. Надо будет добавить в тему предложений этот пункт, а пока буду через "is_deleted" решать вывод страницы профиля.
У меня тут еще личное: я жутко не люблю, когда мне не разрешают удалить свою страницу с сайта.
#5 8 августа 2017 в 19:40

ждать у моря погоды тоже бессмысленно

alkokrolik
Ну вы всё же отпишитесь на гите
#6 6 апреля 2018 в 08:35
Подниму еще разок вопрос.
Рассмотрим логику работы удаления пользователя со всех точек зрения. Важно учесть как желание самого пользователя удалиться с сайта, так и интересы сайта и других пользователей.

Итак, с точки зрения пользователя:

— Как оно работает
Он удаляет профиль на странице редактирования профиля. При этом появляется отметка "пользователь удален" в его профиле, а сам пользователь больше не показывается в списке. Войти на сайт он уже не может, но страница его профиля остается в общем-то неизменной, то есть каждый может на нее попасть. Весь контент тоже остается. Пользователь удалился, но он как бы не удалился.

— Как оно (имхо) должно работать
Удаляю профиль с сайта. Страница профиля должна выглядеть удаленной: аватарка сменяться либо на дефолтную, либо на специально сделанную "аватарку удаленного пользователя". Кроме имени/ника, дефолтной аватарки и информации о том, что пользователь удалился — на странице профиля не должно быть информации, такой как "о себе" или контактных данных.
При этом все коментарии или новости/статьи, созданные пользователем, могут оставаться на сайте (с дефолтной/удаленной аватаркой). Я же удалил профиль, а не контент. Соблюдается логика: я удалился = страница выглядит удаленной. Где-то какие-то комменты или посты — не так важны.

С точки зрения админа сайта:

— Как оно работает
Пользователь удалился, все осталось как есть. Если пользователь вдруг обнаруживает, что вся его инфа осталась на сайте, а он еще и доступ потерял к странице (не может зайти и удалить контакты, или фотки в альбоме) — это гарантированный недовольный пользователь, который начнет бузить. Это может случиться и через год, через два года после удаления. При этом пациент может вообще не помнить, что регистрировался на сайте, обвиняя администрацию во всем подряд.
Единственное, что можно сделать — удалить его из админки. Но здесь мы получаем большую проблему: например, он написал 10 хороших статей, к которым есть каменты, и вообще — статьи приносят трафик. Все они будут удалены. Если на сайте установлен форум — все его темы со всеми комментариями также будут удалены. Это очень плохо.

— Как оно должно работать
Пользователь чаще всего просто хочет удалить профиль, фотки, всю инфу о себе. Можно на примере крупных соцсетей наблюдать принципы удаления: главное, чтобы страница пользователя была чистой. Надо дать ему эту возможность, но при этом не трогать контент. Можно например при удалении профиля показать пользователю окно с выбором: что конкретно удаляем. При этом профиль сделать выбранным по умолчанию, а альбомы, блог и т.д. — опционально. Форум не трогать :)
Так мы решим проблему, не создавая новых проблем. Не придется лезть в админку и удалять пользователя вручную. Конечно, это не исключит клинические случаи, но их будет совсем не много.
#7 6 апреля 2018 в 09:15
alkokrolik, Как вариант оберните весь файл profile_view.tpl.php в условие
  1. <?php if(!$profile['is_deleted']){ ?>...<?php }else{cmsCore::error404();} ?>
#8 6 апреля 2018 в 10:52
Lora, Да, для себя я примерно так и сделал, только не ошибку вывожу, а пустой профиль. Плюс сделал вывод в профиле однотипной аватарки для удаленных. Но это полумеры, там по всему движку надо менять автарки если серьезно взяться за это дело.
#9 6 апреля 2018 в 11:00
Полезный контент удалять не стоит, но если пользователь допустим много где нагадил, то нужна возможность удалить все в пару кликов
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.