Would you mind specifying exactly what you changed in the WordPress wp-includes/pluggable.php, inside the wp_set_auth_cookie() function?
A neat little diff file would be great, thanks
======== REPLY FROM jcwatson11==============
Sorry stash. I haven't been back here in a while, so I didn't see your question. The change was pretty easy and straight forward. I don't know how to create those neat little diff files. Sorry about that.
But as long as you can generally read PHP, you should be able to open up the People.Class.WordpressAuthentication.php module that comes with the WP 2.5 Bridge and replace all calls to the method $this->v_hash_hmac() with the PHP native function call hash_hmac(). The version of $this->v_hash_hmac() in WP Bridge I downloaded didn't work. I suppose it might have been written for backward compatibility with PHP 4 or earlier. It appears that the PHP native hash_hmac function wasn't added until PHP 5.1.2 according to the PHP docs. I'm running PHP 5. I'm not sure what the implications of that are, but I know our implementation of WordPress/Vanilla with LDAP Authentication works, and the cookies are stored correctly between WordPress and Vanilla.
I give up. I give up!
I leave the forum for a week - untouched - no changes - and the cookies break again.
*throws arms up in the air in defeat*
Time to look for another alternative. Maybe bbPress wasn't so bad after all.
Hi. Just did it with WP2.6.1 and V1.1.4 and it DID NOT worked out completely. So it's useless, unfortunately
The results:
- I'm still able to login my WP admin account into WP. - I can add users there at WP backend. - I can't register via WP frontend (there is a new subscriber though i don't get the confirmation mail) - I can't login via Vanilla frontend (i checked LUM_Users and there is only the admin account from the Vanilla installation. but even this one doesn't work, since it prompts: "The requested username and password combination could not be found.") - I can register via Vanilla frontend and i can see the new user at WP Backend, but it has assigend the role "none", so if i try to login with that user into WP it forwards me to a page, where "sorry, no acces" or sth. like that is displayed. (because of the missing role, i assume) - Needless to say, that i can't login with this Vanilla-frontend-created account into Vanilla. It does not appear at LUM_Users as well.
Finally, i double-checked everything above with different names, eMail Adresses and so on...
These are the differences that came up during the process:
my database.php did not looked like that: <?php
// Database Configuration Settings
$Configuration['DATABASE_HOST'] = 'localhost';
$Configuration['DATABASE_NAME'] = 'wordpress';
$Configuration['DATABASE_USER'] = 'mysql_user';
$Configuration['DATABASE_PASSWORD'] = 'mysql_password';
?>[/code]
it was like that:
[code]<?php
// Database Configuration Settings
$Configuration['DATABASE_HOST'] = 'localhost';
$Configuration['DATABASE_NAME'] = 'wordpress;
$Configuration['DATABASE_USER'] = 'mysql_user';
$Configuration['DATABASE_PASSWORD'] = 'mysql_passwor';
$Configuration['DATABASE_CHARACTER_ENCODING'] = 'utf8';
$DatabaseTables['User'] = 'LUM_User';
?>
the "default" parts from my mysql.sql are not written in uppercase. I think it does'nt really matter though... (?)
CREATE TABLE `LUM_User` (
`UserID` int(10) NOT NULL auto_increment,
`RoleID` int(2) NOT NULL default '0',
`StyleID` int(3) NOT NULL default '1',
`CustomStyle` varchar(255) default NULL,
`FirstName` varchar(50) NOT NULL default '',
`LastName` varchar(50) NOT NULL default '',
`Name` varchar(20) NOT NULL default '',
`Password` varchar(32) default NULL,
`VerificationKey` varchar(50) NOT NULL default '',
`EmailVerificationKey` varchar(50) default NULL,
`Email` varchar(200) NOT NULL default '',
`UtilizeEmail` enum('1','0') NOT NULL default '0',
`ShowName` enum('1','0') NOT NULL default '1',
`Icon` varchar(255) default NULL,
`Picture` varchar(255) default NULL,
`Attributes` text NULL,
`CountVisit` int(8) NOT NULL default '0',
`CountDiscussions` int(8) NOT NULL default '0',
`CountComments` int(8) NOT NULL default '0',
`DateFirstVisit` datetime NOT NULL default '0000-00-00 00:00:00',
`DateLastActive` datetime NOT NULL default '0000-00-00 00:00:00',
`RemoteIp` varchar(100) NOT NULL default '',
`LastDiscussionPost` datetime default NULL,
`DiscussionSpamCheck` int(11) NOT NULL default '0',
`LastCommentPost` datetime default NULL,
`CommentSpamCheck` int(11) NOT NULL default '0',
`UserBlocksCategories` enum('1','0') NOT NULL default '0',
`DefaultFormatType` varchar(20) default NULL,
`Discovery` text,
`Preferences` text,
`SendNewApplicantNotifications` enum('1','0') NOT NULL default '0',
PRIMARY KEY (`UserID`),
KEY `user_role` (`RoleID`),
KEY `user_style` (`StyleID`),
KEY `user_name` (`Name`)
);
I see, everyone has got problem with that.
I encounter the following error:
A fatal, non-recoverable error has occurred
Technical information (for support personel):
Error Message
An error occurred while retrieving cookie names.
Affected Elements
WordpressAuthenticator.GetCookieName();
The error occurred on or near: Table 'd008f769.options' doesn't exist
For additional support documentation, visit the Lussumo Documentation website at: lussumo.com/docs
----
The Table d008f769 is a the vanilla table...this seems to be wrong with me :(
Hi All,
Firstly, thank you to everyone that's put information here. I am also really interested in getting this to work with WP >2.6 . I would be really interested in trying to get this to work with someone who is very familiar with Vanilla. I'm a fairly experience WP user and if someone from a Vanilla background would like to work collaboratively, if we get this to work, I would hapilly create a thorough readme. It is highly unlikely that the core functions or the way WP creates/stores its passwords and cookies are going to change for a least a couple of iterations now so this would have a decent lifespan and I believe it would allow a lot of people to utilise the wonderful Vanilla within Wordpress. There are some integrated forum plugins already designed for WP, however there are circumstances where they are not available for some people (on one of my WP sites there is a plugin clash which is unavoidable, unfortunately).
So, would anyone from here who is experienced with the way Vanilla works like to work with myself to attempt to make this process work and the publish our findings? If so, either give me a shout on here, or contact me directly on richard [dot] tape [at] gmail [dot] com
I've been trying to integrate with wordpress 2.6.1 and have followed the steps as outlined earlier. When I go to the blog section of my site to turnon the md5hash plugin, I get the following error: Fatal error: Cannot unset string offsets in /home/..../blog/wp-includes/widgets.php on line 362
When I comment the line out (just for curousity) I get a blank page loaded.
I had a fully working 2.5 setup, and had to upgrade WP to 2.6.2 for several reasons - now this integration does not work. Anyone working on an update of the WordpressAuthenticator?
I have managed to edit the Authenticator to check cookies for the new WordPress cookies. This means that if you are logged in, in WP, you are also logged in, in Vanilla. It doesnt work the other way around
Comments
Would you mind specifying exactly what you changed in the WordPress wp-includes/pluggable.php, inside the wp_set_auth_cookie() function?
A neat little diff file would be great, thanks
======== REPLY FROM jcwatson11==============
Sorry stash. I haven't been back here in a while, so I didn't see your question. The change was pretty easy and straight forward. I don't know how to create those neat little diff files. Sorry about that.
But as long as you can generally read PHP, you should be able to open up the People.Class.WordpressAuthentication.php module that comes with the WP 2.5 Bridge and replace all calls to the method $this->v_hash_hmac() with the PHP native function call hash_hmac(). The version of $this->v_hash_hmac() in WP Bridge I downloaded didn't work. I suppose it might have been written for backward compatibility with PHP 4 or earlier. It appears that the PHP native hash_hmac function wasn't added until PHP 5.1.2 according to the PHP docs. I'm running PHP 5. I'm not sure what the implications of that are, but I know our implementation of WordPress/Vanilla with LDAP Authentication works, and the cookies are stored correctly between WordPress and Vanilla.
Just did it with WP2.6.1 and V1.1.4 and it DID NOT worked out completely. So it's useless, unfortunately
The results:
- I'm still able to login my WP admin account into WP.
- I can add users there at WP backend.
- I can't register via WP frontend (there is a new subscriber though i don't get the confirmation mail)
- I can't login via Vanilla frontend (i checked LUM_Users and there is only the admin account from the Vanilla installation. but even this one doesn't work, since it prompts: "The requested username and password combination could not be found.")
- I can register via Vanilla frontend and i can see the new user at WP Backend, but it has assigend the role "none", so if i try to login with that user into WP it forwards me to a page, where "sorry, no acces" or sth. like that is displayed. (because of the missing role, i assume)
- Needless to say, that i can't login with this Vanilla-frontend-created account into Vanilla. It does not appear at LUM_Users as well.
Finally, i double-checked everything above with different names, eMail Adresses and so on...
These are the differences that came up during the process:
my database.php did not looked like that:
<?php // Database Configuration Settings $Configuration['DATABASE_HOST'] = 'localhost'; $Configuration['DATABASE_NAME'] = 'wordpress'; $Configuration['DATABASE_USER'] = 'mysql_user'; $Configuration['DATABASE_PASSWORD'] = 'mysql_password'; ?>[/code] it was like that: [code]<?php // Database Configuration Settings $Configuration['DATABASE_HOST'] = 'localhost'; $Configuration['DATABASE_NAME'] = 'wordpress; $Configuration['DATABASE_USER'] = 'mysql_user'; $Configuration['DATABASE_PASSWORD'] = 'mysql_passwor'; $Configuration['DATABASE_CHARACTER_ENCODING'] = 'utf8'; $DatabaseTables['User'] = 'LUM_User'; ?>
the "default" parts from my mysql.sql are not written in uppercase. I think it does'nt really matter though... (?)
CREATE TABLE `LUM_User` ( `UserID` int(10) NOT NULL auto_increment, `RoleID` int(2) NOT NULL default '0', `StyleID` int(3) NOT NULL default '1', `CustomStyle` varchar(255) default NULL, `FirstName` varchar(50) NOT NULL default '', `LastName` varchar(50) NOT NULL default '', `Name` varchar(20) NOT NULL default '', `Password` varchar(32) default NULL, `VerificationKey` varchar(50) NOT NULL default '', `EmailVerificationKey` varchar(50) default NULL, `Email` varchar(200) NOT NULL default '', `UtilizeEmail` enum('1','0') NOT NULL default '0', `ShowName` enum('1','0') NOT NULL default '1', `Icon` varchar(255) default NULL, `Picture` varchar(255) default NULL, `Attributes` text NULL, `CountVisit` int(8) NOT NULL default '0', `CountDiscussions` int(8) NOT NULL default '0', `CountComments` int(8) NOT NULL default '0', `DateFirstVisit` datetime NOT NULL default '0000-00-00 00:00:00', `DateLastActive` datetime NOT NULL default '0000-00-00 00:00:00', `RemoteIp` varchar(100) NOT NULL default '', `LastDiscussionPost` datetime default NULL, `DiscussionSpamCheck` int(11) NOT NULL default '0', `LastCommentPost` datetime default NULL, `CommentSpamCheck` int(11) NOT NULL default '0', `UserBlocksCategories` enum('1','0') NOT NULL default '0', `DefaultFormatType` varchar(20) default NULL, `Discovery` text, `Preferences` text, `SendNewApplicantNotifications` enum('1','0') NOT NULL default '0', PRIMARY KEY (`UserID`), KEY `user_role` (`RoleID`), KEY `user_style` (`StyleID`), KEY `user_name` (`Name`) );
That's all. I did exactly everything as told here: http://lussumo.com/docs/doku.php?id=vanilla:integration:wordpress
Except the last step (new Memebers / Option 2). But that should'nt count, because i'ld like to use the WP registration form only.
Hope this information is usefull.
Any help is VERY MUCH appreciated!
Fatal error: Cannot unset string offsets in /home/..../blog/wp-includes/widgets.php on line 362
When I comment the line out (just for curousity) I get a blank page loaded.
Also, I visited your site. Looks very good. Nice forum design!
Thanks again
good work!