The beta version of the module has once again been updated. Quite a few things have been changed. In short: You have to replace all the files, including the two new ones: functions_drupal.php (contains three configuration values near the top) and acp_users.php. You can find the download and instructions here: http://kepp.net/phpbb3/
1) The code has been cleaned up a little, added checks to detect disparities between phpBBs and Drupals user tables. Make sure your users have a way of contacting you in case something doesn't work.
2) Registered users need not have group_id = 2 in phpBB anymore. Instead a join is used. I think this only pertains to people who are trying to upgrade from phpBB 2.x, which I haven't done much work on anyway.
3) Admins can change the user profiles through the ACP and it will be updated in Drupal as well. Support is limited to email address, username and password. Avatars appear to work, and when a user is banned this also goes to Drupal. However, when you remove a ban, you have to lift it separately in Drupal.
4) There is a diagnostic mode that checks for the most basic errors, for a demo see http://kepp.net/phpbb3/phpbb/diagnostic. You should include the output of this page (on your site) with any support requests.
Comments
nice..
Hi arkepp,nice update but i'm already here to submit a bug:
i get this error after the install:
user warning: 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 'ON phpbb_acl_groups.group_id = .group_id WHERE .group_name = 'GUESTS' AND phpbb_' at line 1 query: SELECT phpbb_topics.topic_id, phpbb_topics.topic_title, phpbb_topics.topic_last_post_id FROM phpbb_topics LEFT JOIN phpbb_acl_groups ON phpbb_topics.forum_id = phpbb_acl_groups.forum_id LEFT JOIN phpbb_acl_roles ON phpbb_acl_groups.auth_role_id = phpbb_acl_roles.role_id LEFT JOIN ON phpbb_acl_groups.group_id = .group_id WHERE .group_name = 'GUESTS' AND phpbb_acl_roles.role_name IN ('ROLE_FORUM_POLLS', 'ROLE_FORUM_STANDARD', 'ROLE_FORUM_READONLY') ORDER BY phpbb_topics.topic_last_post_id DESC LIMIT 10; in /usr/home/deb4463/domains/ashladan.be/public_html/includes/database.mysql.inc on line 172.
and youre tool is not working :S
when i go to www.ashladan.be/phpbb/diagnostic
i get this error:
Query failed: 0 SELECT * FROM WHERE
group_name= 'REGISTERED'please help me fast with this :)
Because you didn't update
Because you didn't update the configuration file, you are missing
$phpbbcfg['db_groups'] = $db_prefix . 'groups';I really don't think this module is the right tool for you.
update
edit:
this is very strange.. now its all working and i dident change a thing..
this is what i did:
uinstall the old module
remove old files
upload new files
enable the module
got the error so i runned update.php but nothing changed..
so i checked all the files and its all okay..
and i refreshed again(did it already 20 times or so) and it was working now..
but anyway here is the debuge log:
Relative path and phpBBs configuration file: /home/deb4463/domains/ashladan.be/public_html/forum/config.php OK
functions_drupal.php: /home/deb4463/domains/ashladan.be/public_html/forum/includes/functions_drupal.php OK
Access to phpBBs database OK
Raw cookie domain value in phpBBs database ashladan.be
Cookie domain value module will try to use .ashladan.be
Current domain: ashladan.be
_k cookie Present
_u cookie UID not matching, 154, Drupal: 1
_sid cookie (after going to the forum this should change from 1) OK
Cookies: All below: substr(string,0,32)
__utmz 99054094.1189451849.143.7.utmccn
activecolumn 0
sortdir up
activefilter all
__utma 99054094.1507190823.1188848618.1
SESS9b0bfaa3d2aa25d20204d3e61ba682c1 efd28e76657cbc9d2a0f19b0dd3370d2
__utmv 99054094.1
phpbb3_6niie_k eb41df89490e698f
SESS31b1274e2a896f17478110fa3fc9ceeb 0262d5f3b9d29be880185ec0626d0857
phpbb3_6niie_sid 83fa64e019067386dfdcad5e877b3099
phpbb3_6niie_u 154
__utmb 99054094
__utmc 99054094
has_js 1
Server software: Apache/1.3.37 (Unix) PHP/5.2.3 mod_ssl/2.8.28 OpenSSL/0.9.7e-p1 FrontPage/5.0.2.2510
PHP OS: FreeBSD
PHP version: 5.2.3
arkepp, i'm not stupid.. i know what i'm doing and updated all the files in the modules/phpbb folder!
and the .inc file is okay cause thats the file i always check before i install it,i just want the module to sync the users.. i dont care about the code behind it i'm not a programer :)
Greetz
edit2:
when i want to ban somebody i get this error in phpbb:
General Error
SQL ERROR [ mysql4 ]
Table 'deb4463_drupal.drupal_sessions' doesn't exist [1146]
SQL
DELETE FROM drupal_sessions WHERE uid = 1020
BACKTRACE
FILE: includes/db/mysql.php
LINE: 158
CALL: dbal->sql_error()
FILE: includes/functions_drupal.php
LINE: 61
CALL: dbal_mysql->sql_query()
FILE: includes/acp/acp_users.php
LINE: 273
CALL: update_drupal()
FILE: includes/functions_module.php
LINE: 463
CALL: acp_users->main()
FILE: adm/index.php
LINE: 74
CALL: p_master->load_active()
What is the name of the
What is the name of the database that Drupal is using, and what table prefix does it use?
this is the name off the
this is the name off the database "deb4463_drupal" the other name is the same :)
no table prefix for drupal and phpbb
just drupal_table name here
phpbb_tablename here ..
If it is drupal_<table> ,
If it is drupal_[table] , then your prefix is drupal_ . If you are not using a table prefix then it is just [table]
The error message you provided complains that phpBB cannot find the table "drupal_sessions", which leads me to believe that it is not drupal_ , and that you have not edited
$drupal_user_table = 'drupal_users';$drupal_session_table = 'drupal_sessions';
$drupal_avatar_path = 'forum/' . $config['avatar_path'];
in functions_drupal.php to match your installation.
screenshot
here is the screenshot of our phpbb and drupal tables:
http://users.telenet.be/demonhunter327/tables.JPG
gona check the details now :)
edit: i'm sure that its the right table standard i dident installed phpbb/drupal with a prefix.
this is the "config" file off drupal:
$db_prefix = '';
lik you see there is no prefix installed :)
ps: i think i have to do it like this :
drupal_user_table = '_users';$drupal_session_table = '_sessions';
i tryed it with the session table and got the same error...
edit:
nevermind arkepp,
i found it i removed "drupal_ so there is only sessions.. i just found it by acident :D
Bug: Group_ID not inserted properly.
When the minimal user is created after logging in for the first time in the forum, theres a database insert for it.
The entry in the groups table is made correctly, but there is another field in the users table which holds a group information as well.
This must also be inserted, or the standard group ID for logged in users is chosen, which has as a cosequence, that the user is not found on queries in phpbb3RC5. A simply hack of the SQL statement where the user is created can fix this. Just add the group ID you queried before ($gid) in the field (group_id) in the users table in the phpbb3 database.
File affected: phpbb.module, line 48 ff
Thanks, I have fixed it per
Thanks, I have fixed it per your suggestion, I will put out a new copy soon.
Password update through user control panel not working
I always get a message the old password provided was wrong, I tried a couple of times logging out and in through drupal, switching to the forums, going into the user control panel and trying this - no way to change it .
I also get an error when I leave out the second line of the email thingy (the email confirmation):
General Error
SQL ERROR [ mysqli ]
Column was set to data type implicit default; NULL supplied for NOT NULL column 'picture' at row 1 [1263]
An SQL error occurred while fetching this page. Please contact the Board Administrator if this problem persists.
The hashes of the password fields of the drupal user and the phpbb3 user differ - no idea why.
When I tried to copy the drupal user password hash to the phpbb3 database it didn't help.
The drupal hash seems to be the proper MD5 hash of the password, but the phpbb one not.
At least I could login directly at the forum after logging out of drupal and everything.
So - the password hashing phpbb is using workd correctly. Maybe its a coding problem, since drupal uses utf8_general_ci coding and phpbb utf8_bin in the password column of their user table. No clue, honestly. Shouldn't play a role - since I could login in both systems.
I am not able to recreate
I am not able to recreate any of this, both applications use MD5 to hash the password and so the hash should be identical. Please try with a new user? My guess is that you had a problem with the module at some point that made the passwords go out of sync.
It wont matter until the day you perhaps decide to drop Drupal and continue with just phpBB, but I bet it will confuse some users ;)
With regards to the mysqli error message, I suspect you are missing Drupal upgrades, NULL should be a valid value for the picture field in Drupal 5.2?
Odd ...
I manually changed the not-null constraint of the picture field in the drupal users table to null allowed and now it works.
Hell knows why not-null was required.
I hope this is not going to break anything - I'm checking right now.
My Drupal install was new - 5.2
The passwords seem to get updated properly now.
I think the mess came , because it updated the passwords in phpbb, even if the error occured, but not in drupal - so they were out of sync.
phpbb settings not visible in Site configuration
Is this intended, that the phpbb settings are no longer visible in Site configuration ?
Or did i mess something up ?
There are none. Getting the
There are none. Getting the variables from the database for each pageview is too slow, so three quarters of the configuration has to be in code anyway, may as well have the rest there too.
Thanks for the other two, I will look into it over the weekend.
user count update in phpbb
Hi arkepp,i dont know if somebody already noticed it but the user count does not update in phpbb on the board index unless i Resynchronise statistics by going in the ACP..,i think it hase something to do with the bug that Yorlik sayed but i'm not sure so i'm asking you if its a bug in phpbb or a bug done by the phpbb module :)
Probably the module, I'll
Probably the module, I'll have a look over the weekend or next week.
Edit: Fixed, thanks.
username_clean not inserted properly into (phpbb_)users table
When the phpbb3 minimal user is created the username gets inserted two times: One is the username as it appears, and one as it is used in search operations when looking up a user in phpbb.
The according database columns are username and username_clean. The username clean must not have any uppercase letters, or it won't be found by phpbb.
Thus any insert or update to the phpbb table (prefix)"users" must be changed accordingly to provide properly coverted usernames.
I didn't yet found out, how exactly the conversion works, especially when tehre are special characters.
However - its a bug, since I saw uppercase letters in the username_clean column in the database. Changing it to lowercase fixed the search problem.
BTW: Great module - I love it !
Keep up the good work!
Ok, this one has been fixed
Ok, this one has been fixed too. It really looks like the conversion is just to lowercase, but I assume someone didn't write the UTF functions for fun, so I am using the originals.