Пытаюсь удалить пользователя, который является модератором группы. Вот код admin/admin_users.php
Код: Выделить всё
$sql = "SELECT group_id
FROM " . GROUPS_TABLE . "
WHERE group_moderator = $user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select groups where user was moderator', '', __LINE__, __FILE__, $sql);
}
while ( $row_group = $db->sql_fetchrow($result) )
{
$group_moderator[] = $row_group['group_id'];
}
if ( count($group_moderator) )
{
$update_moderator_id = implode(', ', $group_moderator);
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_moderator = " . $userdata['user_id'] . "
WHERE group_moderator IN ($update_moderator_id)";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}
}
потом делается $group_moderator[] = $row_group['group_id'];,
т.е. все идентификаторы групп впихиваются в один массив, а потом - выбираются группы, в которых
Код: Выделить всё
WHERE group_moderator IN ($update_moderator_id)"
А может сделать совсем просто:
Код: Выделить всё
// Если пользователь является модератором группы, то модератором станет текущий пользователь
// Если таковых групп нет, то и хрен с ними
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_moderator = " . $userdata['user_id'] . "
WHERE group_moderator = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}
Или я пропустил какое-то критическое обновление. Сейчас свято верю, что у меня 2.0.22
Добавлено спустя 1 минуту 48 секунд:
Re: Удаление модератора группы
[quote="Brain"]Нашел интересную штуку.
Пытаюсь удалить пользователя, который является модератором группы. Вот код admin/admin_users.php
Код: Выделить всё
$sql = "SELECT group_id
FROM " . GROUPS_TABLE . "
WHERE group_moderator = $user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select groups where user was moderator', '', __LINE__, __FILE__, $sql);
}
while ( $row_group = $db->sql_fetchrow($result) )
{
$group_moderator[] = $row_group['group_id'];
}
if ( count($group_moderator) )
{
$update_moderator_id = implode(', ', $group_moderator);
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_moderator = " . $userdata['user_id'] . "
WHERE group_moderator IN ($update_moderator_id)";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}
}
потом делается $group_moderator[] = $row_group['group_id'];,
т.е. все идентификаторы групп впихиваются в один массив, а потом - выбираются группы, в которых
Код: Выделить всё
WHERE group_moderator IN ($update_moderator_id)"
А может сделать совсем просто:
Код: Выделить всё
// Если пользователь является модератором группы, то модератором станет текущий пользователь
// Если таковых групп нет, то и хрен с ними
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_moderator = " . $userdata['user_id'] . "
WHERE group_moderator = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}