Удаление профиля пользователя по нажатию кнопки
Добрый день.
Подскажите, как сделать удаление профиля пользователя по нажатию кнопки.
Сделал такую форму:
Где я ошибся?
Подскажите, как сделать удаление профиля пользователя по нажатию кнопки.
Сделал такую форму:
<form action="" method="post">
<input type="hidden" name="uid" value="[[!+modx.user.id]]">
<input type="hidden" name="remove_profile" value="1">
<button type="submit" class="btn btn-danger" name="remove" value="remove" onclick="return confirm('Удалить Ваш профиль?')">Удалить</button>
</form>
и такой сниппет, вызываемый также на странице с формой<?php
if ($_POST['remove'] && ($_POST['remove_profile'] == 1)) {
$processor = 'user/delete';
}
$processorProps = array('processors_path' => $modx->getOption('core_path'). 'model/modx/processors/security/');
$response = $modx->runProcessor($processor, $_POST, $processorProps);
return true;
Но что-то не работает…Где я ошибся?
Комментарии: 6
Для ясности… отдельно профиль удалить нельзя. Он удаляется автоматически при удалении пользователя. Собственно указанный процессор удаляет именно пользователя.
Каким образом процессор должен понять какого пользователя удалять? Ему нужно передать id пользователя. А форма ему передаёт uid.
Ну и наконец (насколько я помню) MODX не разрешает удалять текущего пользователя.
П.С. Если не нужны события плагинов, то можно удалить через
Каким образом процессор должен понять какого пользователя удалять? Ему нужно передать id пользователя. А форма ему передаёт uid.
Ну и наконец (насколько я помню) MODX не разрешает удалять текущего пользователя.
П.С. Если не нужны события плагинов, то можно удалить через
$user = $modx->getObject('modUser', (int) $_POST['uid']);
$user->remove();
Получается в связи с тем, что нельзя удалить текущего пользователя, вся моя идея не выполнима?
Попробуй через $user->remove(). Он менее строгий. Но страницу надо сразу обновлять или пользователя перенаправлять куда-то.
То есть после этого можно сделать для редиректа?
$modx->sendRedirect($modx->makeUrl($id,'','','full'));
Может лучше вместо удаления очищать профиль?
Стоит задача удалить «себя»?
тогда сценарий, видимо, такой: выходим из текущего профиля. удаляем его, делаем редирект на страницу «Пользователь удален».
тогда сценарий, видимо, такой: выходим из текущего профиля. удаляем его, делаем редирект на страницу «Пользователь удален».
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.