Пропустить

Проблема с добавлением модератора или пользователя в группу

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!

Проблема с добавлением модератора или пользователя в группу

Сообщение AEC » 25.02.2005 23:00

При попытке сделать пользователя модератором любого из разделов выдаёт ошибку:

Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_vote, auth_pollcreate, auth_attachments, auth_download, auth_mod) VALUES (8, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)

Line : 388
File : /usr/home/aeclub/www/www.aeclub.net.ua/admin/admin_ug_auth.php


В чем причина?

AEC
 

Сообщение Xpert » 26.02.2005 15:32

Где-то у него с группами непорядок.
Запустите нижепредложенное и выложите результат:
<?php
//*****  check users and user groups ****//

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
// End session management

$sql = "SELECT user_id, username
    FROM " . USERS_TABLE ."
    WHERE user_id > 0";
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not obtain user list', '', __LINE__, __FILE__, $sql);
}

$liste ='';
while ( $row = $db->sql_fetchrow($result) )
{
   $username = $row['username'];
   $user_id = $row['user_id'];
   $usergroup = '';

   $sql1 = "SELECT ug.group_id
          FROM " . USER_GROUP_TABLE ." ug, ". GROUPS_TABLE. " g
          WHERE ug.user_id = $user_id
            AND ug.group_id = g.group_id
            AND g.group_single_user  = 1
            ";

   if ( ($result1 = $db->sql_query($sql1)) )
   {
       $row1 = $db->sql_fetchrow($result1);
          $usergroup =( ( $row1['group_id'] != '' ) ? $row1['group_id'] : 'User has no user group'.$row1 );

   }

          if (!($row1['group_id'] != ''))
          {

         $sql2 = "SELECT MAX(group_id) AS total
            FROM " . GROUPS_TABLE;
         if ( !($result2 = $db->sql_query($sql2)) )
         {
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sq2l);
         }

         if ( !($row2 = $db->sql_fetchrow($result2)) )
         {
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sql2);
         }
         $group_id = $row2['total'] + 1;


         $sql3 = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator)
            VALUES ($group_id, '', 'Personal User', 1, 0)";
         if ( !($result3 = $db->sql_query($sql3, BEGIN_TRANSACTION)) )
         {
            message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql3);
         }

         $sql4 = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
            VALUES ($user_id, $group_id, 0)";
         if( !($result4 = $db->sql_query($sql4, END_TRANSACTION)) )
         {
            message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql4);
         }


             $usergroup = $usergroup.', adding user group '.$group_id;
          }


   $liste .= ( ( $liste != '' ) ? '<br> ' : '' ) . $username.' <b>'.$usergroup.'</b>';
}

message_die(GENERAL_MESSAGE,'Users:<br>'.$liste);

?>
Последний раз редактировалось Xpert 14.11.2005 8:53, всего редактировалось 1 раз.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5492
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение AEC » 26.02.2005 16:40

Xpert, спасибо!
Я не буду выкладывать результат, т.к. запустив этот файл ещё раз уже не увидел "проблемных" юзеров. их было около десятка.

AEC
 

Сообщение Сергей Секирин » 03.05.2005 17:59

Так что же это за ошибка? У меня сейчас тоже выдало:
При попытке изменения статуса пользователя на Администратора выдаёт:
Общая ошибка
Couldn't delete auth access info
ОТЛАДЧИК
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND auth_mod = 0' at line 3
DELETE FROM bhpbb_auth_access WHERE group_id = AND auth_mod = 0
Line : 180
File : admin_ug_auth.php



При попытке назначить пользователя модератором:
Общая ошибка
Couldn't update private forum permissions
ОТЛАДЧИК
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1)' at line 2
INSERT INTO bhpbb_auth_access (forum_id, group_id, auth_mod) VALUES (4, , 1)
Line : 390
File : admin_ug_auth.php


Откуда этот group_id пустой и причём он здесь. И, главное - что же делать? У меня стоит мод admin_userlist, через который пользователь и был добавлен...

Добавлено спустя 9 минут 15 секунд:

Это я к тому, что проблема удалилась (спасибо Xpert'у) после запуска этого скрипта - конкретно у того пользователя не оказалось группы. Но какая группа имелась ввиду? У меня вообще нет групп пользователей, так что я и гадаю :? Поясните - просто интересно.
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
Сергей Секирин
phpBB 2.0.5
 
Сообщения: 244
Зарегистрирован: 03.02.2005 0:59
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Егор Наклоняев » 03.05.2005 18:18

У каждого пользователя есть группа из него самого. Это нужно для настройки прав доступа.
Аватара пользователя
Егор Наклоняев
phpBB 2.0.12
 
Сообщения: 404
Зарегистрирован: 25.10.2004 3:27
Откуда: оттуда
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Сергей Секирин » 03.05.2005 23:10

Спасибо, теперь понятно. Неясно только почему её не оказалось и только у одного единственного пользователя из всех, и именно у того, которого понадобилось назначить модератором. Судьба ... :)
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
Сергей Секирин
phpBB 2.0.5
 
Сообщения: 244
Зарегистрирован: 03.02.2005 0:59
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Nemo1987 » 02.04.2006 15:02

Users:
Nemo 2
Декан 5
Drug User has no user group, adding user group 9
Л@пк@ User has no user group, adding user group 10
Вот это он мне выдал. Что делать дальше?
grammatica falsa non vitiat chartam
Моя хата www.vowik.ru
Аватара пользователя
Nemo1987
phpBB 2.0.18
 
Сообщения: 563
Зарегистрирован: 14.02.2006 11:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Предупреждения: 2

Сообщение Xpert » 03.04.2006 11:50

Это означает, что у двух пользователей были пробелмы с группами, но они успешно решены.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5492
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Nemo1987 » 04.04.2006 9:53

Xpert, вот :) Большое спасибо :)
grammatica falsa non vitiat chartam
Моя хата www.vowik.ru
Аватара пользователя
Nemo1987
phpBB 2.0.18
 
Сообщения: 563
Зарегистрирован: 14.02.2006 11:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Предупреждения: 2

Сообщение Gvozd » 29.05.2006 18:19

А как можно сделать, что бы он автоматичски добавлял новых пользователй в группу?
Если я правильно понял надо включить этот кусок в файл, который делает регистрацию. Вот только куда, пока еще не смотрел.
$sql2 = "SELECT MAX(group_id) AS total 
            FROM " . GROUPS_TABLE; 
         if ( !($result2 = $db->sql_query($sql2)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sq2l); 
         } 

         if ( !($row2 = $db->sql_fetchrow($result2)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sql2); 
         } 
         $group_id = $row2['total'] + 1; 


         $sql3 = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator) 
            VALUES ($group_id, '', 'Personal User', 1, 0)"; 
         if ( !($result3 = $db->sql_query($sql3, BEGIN_TRANSACTION)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql3); 
         } 

         $sql4 = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) 
            VALUES ($user_id, $group_id, 0)"; 
         if( !($result4 = $db->sql_query($sql4, END_TRANSACTION)) ) 
         { 
            message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql4); 
         } 


             $usergroup = $usergroup.', adding user group '.$group_id; 
          } 

Gvozd
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 29.05.2006 18:10
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 30.05.2006 2:00

Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2581
Зарегистрирован: 11.01.2005 15:29
Откуда: Питер
Благодарил (а): 1 раз.
Поблагодарили: 3 раз.

Сообщение LittleDjaga » 30.05.2006 2:36

Скажите плз как запустить код который дал Xpert?
Заранее спасибо

LittleDjaga
phpBB 1.2.0
 
Сообщения: 11
Зарегистрирован: 30.05.2006 1:22
Откуда: from the space
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение /DiOs » 30.05.2006 9:08

LittleDjaga
Записать в файл, положить в корень форума и запустить из браузера.
И если я неправ, пусть старшие товарищи поправят меня
Аватара пользователя
/DiOs
Former team member
 
Сообщения: 1139
Зарегистрирован: 21.02.2006 8:53
Откуда: Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение LittleDjaga » 30.05.2006 15:35

Спасибо !

LittleDjaga
phpBB 1.2.0
 
Сообщения: 11
Зарегистрирован: 30.05.2006 1:22
Откуда: from the space
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Gvozd » 30.05.2006 16:02

Siava, спасибо за мод, но там проблема была в том, что регистрация была совмещена со слаедом и работала из-за этого криво. Раздельно все нормально работает.

Gvozd
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 29.05.2006 18:10
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в FAQ (phpBB 2.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы