![]() ![]() |
Sep 7 2008, 22:26
Post
#1
|
|
|
Newbie ![]() Group: Member Posts: 18 Joined: 12-June 08 Member No.: 2 291 |
Just for anyone that might be interested; the excellent IBPWI project made it possible for me to write a module that integrates an IPB forum with the Drupal CMS system. Currently the following functionality is included (quick copy/paste from the code here):
/* * @file * This module provides simultaneous login for Drupal and the Invision Powerboard forum (IPB) * The module depends on the ipbwi module to provide the IPBWI scripts * IPBWI functions are used for all IPB actions. It can be found at http://ipbwi.pc-intern.com/ * Current functionality includes: * - drupal login when active ipb forum session found * - automatic ipb forum login from Drupal login(if password is identical) * - logout from ipb if logging out in Drupal (configurable in the settings) * - automatic creation of a Drupal account if a valid IPB account is active / logged into * - selection of role to use when a new account is created (configurable in the settings) * - check for duplicate email in Drupal when creating account * - check if email addresses are identical between Drupal account and IPB account * - redirect user to IPB lost password page instead of using the Drupal form * - Drupal change account settings (email & password) also updates IPB account settings * - Debug functionality to screen and file (can be turned on in the settings) */ I'm still testing it and I'm still contemplating if I will request CVS access for this, but if you're interested, send me an email. And of course a big THANKS to Matthias for making this possible! This post has been edited by WhiskeyJack: Sep 19 2008, 12:26
Attached File(s)
|
|
|
|
Sep 8 2008, 21:24
Post
#2
|
|
|
Forensklave ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 8 794 Joined: 12-May 03 From: Hamburg / Germany Member No.: 1 |
Hi WhiskeyJack,
that sounds really good. I've pinned this topic, so it get's a higher level of awareness from the users of IPBWI. If you want to, you could upload your releases into this topic. You could use this topic for support-requests, too. If the posting-count in this topic increases rapidly, it's possible to create an own subforum for your project here, to help you handling the requests. Additionally, I provide you a svn-repository on my server for free to support your great work. svn is quite better than cvs. If you have some co-workers, I would give them svn-write-access to your repository, too. Write me a PM if you want to use this service. Kind regards, Matthias |
|
|
|
Sep 11 2008, 23:34
Post
#3
|
|
|
Newbie ![]() Group: Member Posts: 18 Joined: 12-June 08 Member No.: 2 291 |
Thanks for pinning it, and I'm all for attaching the modules, but I don't think I can? Do I need special permissions?
For now, let's assume I've uploaded as I had already typed all this nonsense There are actually two modules, one provides the IPBWI class and one that implements the actual functionality by using the other module. It is important to know that all actions are based on account names, so if you have an existing Drupal userbase and an exisiting IPB userbase it is probably not wise to enable these modules without further thought. You should at least make sure no usernames are in duplicate. I started writing these modules from the perspective of having only a userbase in IPB and nothing in Drupal (my situation). So that's why I haven't given other scenario's as much thought. Since I haven't released these before I had to slap a version number on it, which became 0.8. I'm still testing and expect I have to make a few updates, but it seems stable and most functionality I planned to put in is already there. So 0.8 seemed a reasonable figure With regard to the CVS access, I was thinking of Drupal CVS access when I said that as that is the way Drupal community modules are released and maintained. For now it's just me, so I can do without CVS or SVN. But thanks anyways! |
|
|
|
Sep 12 2008, 1:03
Post
#4
|
|
|
Forensklave ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 8 794 Joined: 12-May 03 From: Hamburg / Germany Member No.: 1 |
Hi,
you now should be able to attach the file Kind regards, Matthias |
|
|
|
Sep 16 2008, 22:36
Post
#5
|
|
|
Rookie Group: Active Member Posts: 1 Joined: 16-September 08 Member No.: 2 556 |
WoW
Greate job man. I was looking for it. Could you explain how to install it? i've just installed this two modules. But i'm getting error. ipb module can't find init.php. It is looking for it in basedir, but in drupal configuration i set up good root_dir. I'm going to explain you my configuration. /home/user1/domains/public_html/drupal-domain.com/ and my IPB is there: /home/user2/domains/public_html/ipb-forum.com/ How to set up it correctly ? Thanks This post has been edited by Tramp: Sep 16 2008, 23:12 |
|
|
|
Sep 17 2008, 8:47
Post
#6
|
|
|
Newbie ![]() Group: Member Posts: 18 Joined: 12-June 08 Member No.: 2 291 |
In the IPBWI settings, the first path should be the file path to your IPB installation, in your case /home/user2/domains/public_html/ipb-forum.com/
The second path entry should contain the URL on which your IPB installation can be found through the web, something starting with http:// You don't need to enter your Drupal path anywhere. |
|
|
|
Sep 18 2008, 6:10
Post
#7
|
|
|
Rookie Group: Active Member Posts: 2 Joined: 16-September 08 Member No.: 2 552 |
great work!
with these two modules running apart from the login side could i also call normal ipbwi functions from drupal ? e.g. if wished to show forum stats etc if so how do i call them |
|
|
|
Sep 18 2008, 19:04
Post
#8
|
|
|
Newbie ![]() Group: Member Posts: 18 Joined: 12-June 08 Member No.: 2 291 |
I don't know how well it integrates with other ipbwi functions. I'm planning to take a look at that, but this might give some problems as I've had quite a bit of difficulty making sure the class isn't called twice. That can happen easily if you try to use the class in multiple locations in the (Drupal) code and will give the infamous multiple instance error. For some reason I couldn't get Drupal (or php) to pass the class instance properly so it could be used again.
Update: just quickly wanted to see if this would work so I whipped up the attached module. It's dirty and has no configuration, but proofs it can be done. I'll work on this a more bit later. This post has been edited by WhiskeyJack: Sep 18 2008, 21:48
Attached File(s)
|
|
|
|
Sep 20 2008, 14:46
Post
#9
|
|
|
Rookie Group: Active Member Posts: 2 Joined: 16-September 08 Member No.: 2 552 |
thanks for posting up
using that as a guide have managed to make use of other functions in custom modules on the main module overall one suggestion if I can, is that if use the actual member user name rather than the display name when creating accounts it may pan out better in future when members may change their display name thanks again |
|
|
|
Sep 20 2008, 22:24
Post
#10
|
|
|
Newbie ![]() Group: Member Posts: 18 Joined: 12-June 08 Member No.: 2 291 |
thanks for pointing that out. I never took a very close look at all the fields available and what you're saying makes sense, so I'll change it. As I'm lazy, you don't happen to know exactly what field that is? I'm actually not familiar with IPB at all
|
|
|
|
Nov 14 2008, 0:48
Post
#11
|
|
|
Rookie Group: Active Member Posts: 2 Joined: 14-November 08 Member No.: 2 712 |
Hello
Could make the version on drupal 5.x and IPB 2.3.x? |
|
|
|
Nov 17 2008, 12:28
Post
#12
|
|
|
Labertasche Group: IPBWI Sponsor Posts: 276 Joined: 28-June 06 From: Neuwied Member No.: 641 |
I don't know how well it integrates with other ipbwi functions. I'm planning to take a look at that, but this might give some problems as I've had quite a bit of difficulty making sure the class isn't called twice. That can happen easily if you try to use the class in multiple locations in the (Drupal) code and will give the infamous multiple instance error. For some reason I couldn't get Drupal (or php) to pass the class instance properly so it could be used again. Hi Jack, I think there could be a method that will help you. You have to create a staic container class called Singleton, This is a static klass that you can't call twice, The only thing you have to implement is to initialize the IPBWI class at first time calling the singleton! You can find out more about singletones in the web. For Example: Singleton (Wikipedia) Kind Regards, Jan Ecker |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 30th July 2010 - 15:56 |
| Skin By: atsaunier Winxperts.net |