Página 2 de 2

Respuesta: Error En Los Permisos De Los Usuarios

Publicado: 24 Sep 2006, 11:01
por lord_david
ok. Gracias :wink:

Re: Respuesta: Error En Los Permisos De Los Usuarios

Publicado: 24 Sep 2006, 13:23
por HuanManwe

Código: Seleccionar todo

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)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (17, , 1)

Line : 391
File : admin_ug_auth.php
Ese es el famoso error del group_id que sale sin valor. Fíjate bien:

Código: Seleccionar todo

(forum_id, group_id, auth_mod) VALUES (17, , 1)
. Para group_id no se le asignó un valor, sale en blanco.
He mirado en el foro oficial y he visto referencias a que quizás deberías volver a subir el archivo admin/admin_ug_auth.php. Otros dicen que hay que ir a phpMyAdmin y dar a Repair Table.
SI, y sólo SI eso falla entonces haz ésto (después de hacer una copia de seguridad de la base de datos a través de phpMyAdmin, incluyendo las líneas que empiezan por DROP y activando la opción de generar un archivo).

Crea un archivo llamado groupfix.php y escribe dentro:

Código: Seleccionar todo

<?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);

?>
Súbelo a la carpeta RAIZ del foro, no a la de admin. Luego ve con tu navegador hacia ese archivo. Supongo que sería así: http://www.tuweb.com/tuforo/groupfix.php
Y crucemos los dedos para que esa aplicación solucione el problema. Si lo hace borra ese archivo del foro y ya está.

Recuerda que ése es la última opción. Primero prueba a reparar todas las tablas, después a resubir ese archivo y si no funciona prueba eso pero después de haber hecho una copia de seguridad de la base de datos. Por si acaso.

He visto otras soluciones y puede que alguna sea otra posible solución pero es mejor ir paso a paso.

Respuesta: Error En Los Permisos De Los Usuarios

Publicado: 24 Sep 2006, 23:36
por lord_david
Gracias Batusai!

Ire probando poco a poco, si tengo algun problema lo publicare

Saludos

Re: Respuesta: Error En Los Permisos De Los Usuarios

Publicado: 25 Sep 2006, 13:02
por lord_david
Gracias Batusai!

Ire probando poco a poco, si tengo algun problema lo publicare

Saludos Al fin lo consegui. Solo he podido le esa ultima forma, con el groupfix.php.

Gracias a todos por ayudarme

Un saludo

Respuesta: [SOLUCIONADO] Error En Los Permisos De Los Usuari

Publicado: 25 Sep 2006, 16:20
por HuanManwe
Me alegro que te sirviera :-D En otro foro hay un usuario con un problema similar pero no le sirve ese parche.