mirror of
https://github.com/torrentpier/torrentpier-lts.git
synced 2025-02-28 15:10:54 +03:00
99 lines
2.7 KiB
PHP
99 lines
2.7 KiB
PHP
<?php
|
|
|
|
if (!defined('IN_AJAX')) die(basename(__FILE__));
|
|
|
|
global $userdata, $lang, $bb_cfg;
|
|
|
|
if (!$user_id = intval($this->request['user_id']))
|
|
{
|
|
$this->ajax_die($lang['NO_USER_ID_SPECIFIED']);
|
|
}
|
|
|
|
if (!$mode = (string) $this->request['mode'])
|
|
{
|
|
$this->ajax_die('invalid mode (empty)');
|
|
}
|
|
|
|
switch ($mode)
|
|
{
|
|
case 'delete_profile':
|
|
|
|
if ($userdata['user_id'] == $user_id) $this->ajax_die($lang['USER_DELETE_ME']);
|
|
if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['USER_DELETE_CONFIRM']);
|
|
|
|
if ($user_id != BOT_UID && $user_id != GUEST_UID)
|
|
{
|
|
delete_user_sessions($user_id);
|
|
user_delete($user_id);
|
|
|
|
$user_id = $userdata['user_id']; // Store self user_id for redirect after successful deleting
|
|
$this->response['info'] = $lang['USER_DELETED'];
|
|
}
|
|
else $this->ajax_die($lang['USER_DELETE_CSV']);
|
|
|
|
break;
|
|
|
|
case 'delete_topics':
|
|
|
|
if (empty($this->request['confirmed']) && $userdata['user_id'] == $user_id) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_ME']);
|
|
if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DELETE_USER_ALL_POSTS_CONFIRM']);
|
|
|
|
if (IS_ADMIN)
|
|
{
|
|
$user_topics = DB()->fetch_rowset("SELECT topic_id FROM ". BB_TOPICS ." WHERE topic_poster = $user_id", 'topic_id');
|
|
$deleted_topics = topic_delete($user_topics);
|
|
$deleted_posts = post_delete('user', $user_id);
|
|
|
|
$this->response['info'] = $lang['USER_DELETED_POSTS'];
|
|
}
|
|
else $this->ajax_die($lang['NOT_ADMIN']);
|
|
|
|
break;
|
|
|
|
case 'delete_message':
|
|
|
|
if (empty($this->request['confirmed']) && $userdata['user_id'] == $user_id) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_ME']);
|
|
if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_CONFIRM']);
|
|
|
|
if (IS_ADMIN)
|
|
{
|
|
post_delete('user', $user_id);
|
|
|
|
$this->response['info'] = $lang['USER_DELETED_POSTS'];
|
|
}
|
|
else $this->ajax_die($lang['NOT_ADMIN']);
|
|
|
|
break;
|
|
|
|
case 'user_activate':
|
|
|
|
if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DEACTIVATE_CONFIRM']);
|
|
|
|
DB()->query("UPDATE ". BB_USERS ." SET user_active = 1 WHERE user_id = ". $user_id);
|
|
|
|
$this->response['info'] = $lang['USER_ACTIVATE_ON'];
|
|
|
|
break;
|
|
|
|
case 'user_deactivate':
|
|
|
|
if ($userdata['user_id'] == $user_id) $this->ajax_die($lang['USER_DEACTIVATE_ME']);
|
|
if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['ACTIVATE_CONFIRM']);
|
|
|
|
DB()->query("UPDATE ". BB_USERS ." SET user_active = 0 WHERE user_id = ". $user_id);
|
|
delete_user_sessions($user_id);
|
|
|
|
$this->response['info'] = $lang['USER_ACTIVATE_OFF'];
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$this->ajax_die('Invalid mode: ' . $mode);
|
|
|
|
break;
|
|
}
|
|
|
|
$this->response['mode'] = $mode;
|
|
$this->response['url'] = html_entity_decode(make_url('/') . PROFILE_URL . $user_id);
|