Seite 1 von 2
Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 15:14
von tune389
Hallo,
Ich hab ein proplem mit den Gruppen/Benutzer wenn ich in der Legende unten auf eine Benutzergruppe drück kommt folgende Meldung:
Code: Alles auswählen
Allgemeiner Fehler
SQL ERROR [ mysql4 ]
Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '' in Zeile 3 [1064]
SQL
SELECT forum_id, auth_option_id, auth_role_id, auth_setting FROM phpbb_acl_users WHERE user_id =
BACKTRACE
FILE: includes/db/mysql.php
LINE: 174
CALL: dbal_mysql->sql_error()
FILE: includes/auth.php
LINE: 826
CALL: dbal_mysql->sql_query()
FILE: includes/auth.php
LINE: 382
CALL: auth->acl_raw_data_single_user()
FILE: includes/auth.php
LINE: 71
CALL: auth->acl_cache()
FILE: memberlist.php
LINE: 1754
CALL: auth->acl()
Die gleiche Meldung kommt auch wenn man auf "nach einem Mitglied suchen geht". Wenn man bei nem Benutzer ne andere Gruppe einstellt kann dieser nichts mehr machen da kommen nur noch Debugg Meldungen oder so.
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 15:24
von Mahony
Hallo
Du hast sicher MODs eingebaut, die Änderungen an der memberlist.php erfordern.
Überprüfe die Änderungen in der memberlist.php
Grüße: Mahony
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 16:06
von tune389
Danke jetzt funktioniert es

. Habe zuertst alles in der memberlist.php geprüft hat auch gestimmt ging aber nichts dann hab ich ne neue (stadart) Datei geholt alle Mod änderungen rein und jetzt gehts. Die Datei war dann um fast die hälft kleiner als die Davor

.
Edit:
Hab hier doch noch ne Fehlermeldung die beim Cache leeren kommt
Code: Alles auswählen
Allgemeiner Fehler
SQL ERROR [ mysql4 ]
Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '/Clear arcade permissions global , , ; if (!defined('ACL_ARCADE_ROLES_DATA' in Zeile 4 [1064]
SQL
UPDATE phpbb_users SET user_permissions = '', user_perm_from = 0 //Clear arcade permissions global , , ; if (!defined('ACL_ARCADE_ROLES_DATA_TABLE')) { include( . 'includes/arcade/arcade_constants.' . ); } if (!class_exists('auth_arcade')) { include( . 'includes/auth_arcade.' . ); } = new auth_arcade(); ();
BACKTRACE
FILE: includes/db/mysql.php
LINE: 174
CALL: dbal_mysql->sql_error()
FILE: includes/auth.php
LINE: 529
CALL: dbal_mysql->sql_query()
FILE: includes/acp/acp_main.php
LINE: 343
CALL: auth->acl_clear_prefetch()
FILE: includes/functions_module.php
LINE: 507
CALL: acp_main->main()
FILE: adm/index.php
LINE: 74
CALL: p_master->load_active()
Edit2:
Mir ist grade aufgefallen das man sich nicht mehr registrieren kann da kommt folgende meldung:
Code: Alles auswählen
SQL ERROR [ mysql4 ]
Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '/Clear arcade permissions global , , ; if (!defined('ACL_ARCADE_ROLES_DATA' in Zeile 4 [1064]]
Kann man das noch iwie Retten ?
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 18:30
von Dr.Death
Hi,
das ganze sieht nach einem MOD Einbaufehler vom Arcade MOD aus.
Überprüfe den MOD Einbau noch einmal genau.
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 19:07
von tune389
Habe den Mod jetzt vollständig überprüft und keinen Fehler gefunden der Mod ist bisher auch Proplemlos gelaufen.
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 03.11.2010 23:05
von Dr.Death
Naja, Du musst aber irgendwo den Kommentar:
falsch eingesetzt habe, da er laut Fehlermeldungen in die SQL Abfrage reingerutscht ist.
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 04.11.2010 12:19
von tune389
Hab mit notepad die Dateien nach der zeile "user_perm_from = 0" durchsucht und der hat die auth.php im includes order angezeigt die hab ich geprüft es wurde alles richtig eingefügt ?
Hier der abschnitt:
Code: Alles auswählen
$result = $db->sql_query($sql);
$this->role_cache = array();
while ($row = $db->sql_fetchrow($result))
{
$this->role_cache[$row['role_id']][$row['auth_option_id']] = (int) $row['auth_setting'];
}
$db->sql_freeresult($result);
foreach ($this->role_cache as $role_id => $role_options)
{
$this->role_cache[$role_id] = serialize($role_options);
}
$cache->put('_role_cache', $this->role_cache);
// Now empty user permissions
$where_sql = '';
if ($user_id !== false)
{
$user_id = (!is_array($user_id)) ? $user_id = array((int) $user_id) : array_map('intval', $user_id);
$where_sql = ' WHERE ' . $db->sql_in_set('user_id', $user_id);
}
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_permissions = '',
user_perm_from = 0
//Clear arcade permissions
global $phpbb_root_path, $table_prefix, $phpEx;
if (!defined('ACL_ARCADE_ROLES_DATA_TABLE'))
{
include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
}
if (!class_exists('auth_arcade'))
{
include($phpbb_root_path . 'includes/auth_arcade.' . $phpEx);
}
$auth_arcade = new auth_arcade();
$auth_arcade->acl_clear_prefetch($user_id);
$where_sql";
$db->sql_query($sql);
return;
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 04.11.2010 13:02
von Dr.Death
Jau, Einbaufehler
Schau mal da:
Code: Alles auswählen
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_permissions = '',
user_perm_from = 0
//Clear arcade permissions
Fehlt da nicht das Ende des $sql Strings ?
Code: Alles auswählen
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_permissions = '',
user_perm_from = 0
";
//Clear arcade permissions
Schau aber besser mal nach wie der Original Code an dieser Stelle lautete....
Re: Allgemeiner Fehler bei Gruppen
Verfasst: 04.11.2010 13:15
von tune389
Also in der Anleitung steht nichts davon. Hab es trotzdem mal eingefügt. Leider kommt nun folgende Meldung :
Code: Alles auswählen
Parse error: syntax error, unexpected '"' in /var/www/web##/html/includes/auth.php on line 529
Edit:
Es tut jetzt bei der Anleitung bei dem Cod ging es 2 zeilen weiter runter das sind die die gefehlt haben. Hab ich wohl übersehen und jetzt verbessert. Danke für die hilfe

Re: Allgemeiner Fehler bei Gruppen
Verfasst: 04.11.2010 13:26
von wolfman24
Natürlich steht es so in der Anleitung!
Find
Code: Alles auswählen
// Now empty user permissions
$where_sql = '';
if ($user_id !== false)
{
$user_id = (!is_array($user_id)) ? $user_id = array((int) $user_id) : array_map('intval', $user_id);
$where_sql = ' WHERE ' . $db->sql_in_set('user_id', $user_id);
}
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_permissions = '',
user_perm_from = 0
$where_sql";
$db->sql_query($sql);
Add After
Code: Alles auswählen
//Clear arcade permissions
global $phpbb_root_path, $table_prefix, $phpEx;
if (!defined('ACL_ARCADE_ROLES_DATA_TABLE'))
{
include($phpbb_root_path . 'includes/arcade/arcade_constants.' . $phpEx);
}
if (!class_exists('auth_arcade'))
{
include($phpbb_root_path . 'includes/auth_arcade.' . $phpEx);
}
$auth_arcade = new auth_arcade();
$auth_arcade->acl_clear_prefetch($user_id);
So und nicht anders steht es in der Anleitung. Du mußt schon den Scrollbalken rechts benutzen, damit du die 2 letzten Zeilen auch siehst
Diese 2 Zeilen schwirren bei dir wahrscheinlich irgendwo anders im Code herum.
Tippt ihr eigentlich alle den Code ab? Es gibt doch extra diese "Alles auswählen" Funktion. Am besten entfernst du den Code der Arcade Mod an dieser Stelle komplett um den Ursprungszustand zu erhalten und fügst ihn dann richtig wieder ein.