function PhpBB_Updateuser($pwg_id, $username, $password, $adresse_mail) { include_once PHPWG_ROOT_PATH . 'include/common.inc.php'; $query = "\nSELECT id_user_PhpBB as PhpBB_id\nFROM " . Register_PhpBB_ID_TABLE . "\nWHERE id_user_pwg = " . $pwg_id . "\n;"; $row = pwg_db_fetch_assoc(pwg_query($query)); if (!empty($row)) { $query = "\nUPDATE " . PhpBB_USERS_TABLE . "\nSET username = '******', username_clean = '" . strtolower(pwg_db_real_escape_string($username)) . "', user_email = '" . $adresse_mail . "', user_password = '******'\nWHERE user_id = " . $row['PhpBB_id'] . "\n;"; $result = pwg_query($query); PhpBB_Linkuser($pwg_id, $row['PhpBB_id']); } else { $query = "\nSELECT user_id as PhpBB_id\nFROM " . PhpBB_USERS_TABLE . "\nWHERE BINARY username = BINARY '" . pwg_db_real_escape_string($username) . "'\n;"; $row = pwg_db_fetch_assoc(pwg_query($query)); if (!empty($row)) { $query = "\nUPDATE " . PhpBB_USERS_TABLE . "\nSET username = '******', username_clean = '" . strtolower(pwg_db_real_escape_string($username)) . "', user_email = '" . $adresse_mail . "', user_password = '******'\nWHERE user_id = " . $row['PhpBB_id'] . "\n;"; $result = pwg_query($query); PhpBB_Linkuser($pwg_id, $row['PhpBB_id']); } } }
$msg_error_Link_Bad .= '<br>' . l10n('Link_Del') . stripslashes($row['pwg_user']) . ' (' . $row['pwg_mail'] . ')' . ' -- ' . stripslashes($row['bb_user']) . ' (' . $row['bb_mail'] . ')'; $subquery = "\nDELETE FROM " . Register_PhpBB_ID_TABLE . "\nWHERE id_user_pwg = " . $row['pwg_id'] . "\nAND id_user_PhpBB = " . $row['bb_id'] . "\n;"; $subresult = pwg_query($subquery); } $query = "\nSELECT COUNT(*) as nbr_dead\nFROM " . Register_PhpBB_ID_TABLE . " AS Link\nWHERE id_user_PhpBB NOT IN (\n SELECT user_id\n FROM " . PhpBB_USERS_TABLE . "\n )\nOR id_user_pwg NOT IN (\n SELECT id\n FROM " . USERS_TABLE . "\n )\n;"; $Compteur = pwg_db_fetch_assoc(pwg_query($query)); if (!empty($Compteur) and $Compteur['nbr_dead'] > 0) { $msg_error_Link_Bad .= '<br>' . l10n('Link_Dead') . $Compteur['nbr_dead']; $query = "\nDELETE FROM " . Register_PhpBB_ID_TABLE . "\nWHERE id_user_PhpBB NOT IN (\n SELECT user_id\n FROM " . PhpBB_USERS_TABLE . "\n )\nOR id_user_pwg NOT IN (\n SELECT id\n FROM " . USERS_TABLE . "\n )\n;"; $result = pwg_query($query); } $query = "\nSELECT COUNT(*) AS nbr_dup, pwg.id AS pwg_id, pwg.username AS pwg_user, bb.username AS bb_user, bb.user_id AS bb_id\nFROM " . PhpBB_USERS_TABLE . " AS bb\nINNER JOIN " . Register_PhpBB_ID_TABLE . " AS link ON link.id_user_PhpBB = bb.user_id\nINNER JOIN " . USERS_TABLE . " as pwg ON link.id_user_pwg = pwg.id\nGROUP BY link.id_user_pwg, link.id_user_PhpBB\nHAVING COUNT(*) > 1\n;"; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $msg_error_Link_Bad .= '<br>' . l10n('Link_Dup') . $row['nbr_dup'] . ' = ' . stripslashes($row['pwg_user']) . ' -- ' . stripslashes($row['bb_user']) . ')'; PhpBB_Linkuser($row['pwg_id'], $row['bb_id']); } if ($msg_error_Link_Bad == '') { array_push($page['infos'], l10n('Sync_Link_Bad') . '<br>' . l10n('Sync_OK')); } else { $msg_error_Link_Bad = l10n('Sync_Link_Bad') . $msg_error_Link_Bad; } $query = "\nSELECT pwg.id as pwg_id, pwg.username as username, pwg.password as pwg_pwd, pwg.mail_address as pwg_eml, PhpBB.user_id as bb_id, PhpBB.user_password as bb_pwd, PhpBB.user_email as bb_eml\nFROM " . PhpBB_USERS_TABLE . " AS PhpBB\nINNER JOIN " . Register_PhpBB_ID_TABLE . " AS link ON link.id_user_PhpBB = PhpBB.user_id\nINNER JOIN " . USERS_TABLE . " as pwg ON link.id_user_pwg = pwg.id\nAND BINARY pwg.username = BINARY PhpBB.username\nORDER BY LOWER(pwg.username)\n;"; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { if ($row['pwg_pwd'] != $row['bb_pwd'] or $row['pwg_eml'] != $row['bb_eml']) { $msg_error_Synchro .= '<br>' . l10n('Sync_User') . stripslashes($row['username']); $query = "\nSELECT id, username, password, mail_address\nFROM " . USERS_TABLE . "\nWHERE BINARY id = '" . $row['pwg_id'] . "'\n;"; $data = pwg_db_fetch_assoc(pwg_query($query)); if (!empty($data)) { PhpBB_Updateuser($data['id'], stripslashes($data['username']), $data['password'], $data['mail_address']);