forum.coppermine-gallery.net
Support => cpg1.3.x Support => Older/other versions => cpg1.3 (BBS) Integration / Bridging => Topic started by: [Unknown] on September 13, 2004, 07:33:17 am
-
As I posted at simplemachines.org (http://www.simplemachines.org/community/index.php?topic=16572.0), I've finally released a tool for integrating software into SMF. I think this should solve many of the problems associated with integration currently.
I know that currently, one of the barriers is licensing. SMF is not released under the GPL, and so including ("linking") SMF with it is a problem. Further, SMF uses the function "db_query" - but Coppermine uses a function with the same name that takes different parameters. I wrote this tool specifically to solve these issues.
First off, we seem to have received approval from our lawyer to release this under many licenses. I would like to speak with the people here directly on this topic, but I believe this can be resolved easily. As well, all the functions and variables used in this tool are prefixed with "smf_" - meaning, no more conflicts.
This alone could make the smf.inc.php file a lot cleaner and more efficient.
A few of the other problems facing the current bridge are logout, login redirection, and database usage. These can also be solved with smf_api.php.
The logout problem is most likely caused by either $_SESSION['rand_code'] not being set yet, or the session being stored in the database. The smf_api.php tool allows you to access the database session data (although, that must be used to store session data...), and stores this code in $GLOBALS['smf_user_info']['session_id'].
Login redirection also seems resolved by the current bridge - except one very critical problem. The session, again, is often stored in the database - so this does not, in fact, pass the login_url properly unless it is stored in the correct session data. Again, this is easily solved with smf_api.php.
Database usage is practically a non-problem with this tool as well. The prefix is only available as `database_name`.prefix_, through $smf_settings['db_prefix']. This will always access the correct database, assuming the user being used has access to it. To solve this problem, the function smf_query may be used to ensure that the correct connection is used to access the database. As long as no joins are used between SMF and Coppermine, this should mean that the bridge can be used with two different databases.
An example usage of smf_api.php would be as follows:
<?php
require_once('smf_api.php');
smf_authenticateUser();
smf_loadSession();
// Optionally. Passing 'coppermine' to the function (also optional) will make SMF act as if you went to ?action=coppermine - allowing for this action to be shown in the who's online listing.
smf_logOnline('coppermine');
?>
The tool can also be used to directly set the login cookie, with no help from SMF or any redirection. This may or may not be ideal for integration. (I would think so, but I'm not totally familiar with your integration system.)
As well, smf_api.php can be included in a function or anywhere, without flaw. SMF does not have to be defined when using it, and generally it should just be better in every way for integration.
If you have any suggestions on how it could be improved, I would be very happy to hear them. A detailed listing of the functions and variables provided by it are available near the top of the file - comments on that are welcome to.
Thanks - I hope this can be used to improve both SMF and Coppermine,
-[Unknown]
-
This is excellent news - hopefully Jack (who wrote the SMF and YaBB SE bridges) will find the time to look into this (I'll notify him in case he isn't monitoring this thread).
The duplicate function names in coppermine and SMF have been ironed out for the current coppermine devel version as well, using a similar approach: kegobeer changed the function names to be more unique ("cpg_db_query" instead of "db_query" etc.). The next version of coppermine should then be able to benefit from SMF's ssi.php as well (e.g. on Coppermine's anycontent.php that can be used to include dynamic content from non-coppermine pages).
I'll sticky this topic, hopefully there will be an announcement soon that the session issues have been settled ;-)
Joachim (aka GauGau)
-
The sessions issues have been fixed with the variable changes and function renames. Matter of fact, SSI.php is enabled automatically when using the SMF bridge. :)
-
Ok...
I have integrate this code at the first part of smf.inc.php
require_once('../forum/smf_api.php');
smf_authenticateUser();
smf_loadSession();
smf_logOnline('coppermine');
The logout run correctly, but i have some error on the page...
Notice: Constant ¨Ōë 6 already defined in /home/httpd/vhosts/gothic-culture.net/httpdocs/gallery/bridge/smf.inc.php on line 85
Notice: A session had already been started - ignoring session_start() in /home/httpd/vhosts/gothic-culture.net/httpdocs/gallery/bridge/smf.inc.php on line 154
Fatal error: Call to undefined function: db_affected_rows() in /home/httpd/vhosts/gothic-culture.net/httpdocs/forum/smf_api.php on line 591
Warning: Unknown(): A session is active. You cannot change the session module's ini settings at this time. in Unknown on line 0
-
The sessions issues have been fixed with the variable changes and function renames.
Not quite. At least in the current download, 1.3.2, you're still using the method of "manually" including in files which does not use the database session method. It's possible you could turn this off and still have logout work, but many have it on - as it is the default.
Matter of fact, SSI.php is enabled automatically when using the SMF bridge. :)
Not in the one available for download right now, at least. Are you certain?
Ok...
I have integrate this code at the first part of smf.inc.php
You can't just add to smf.inc.php - it has to be changed and partially rewritten. It already loads a session, and defines SMF, all things it should no longer be doing if using smf_api.php.
-[Unknown]
-
@[Unknown]: kegobeer wasn't refering to the current release, but the devel version that hasn't been packaged up yet, you can get it from the web cvs: http://cvs.sourceforge.net/viewcvs.py/coppermine/devel/bridge/smf.inc.php?rev=1.24&view=log (I'm not sure though this cpg1.4 bridge file will work on a cpg1.3.x install, but you should get the idea).
@Xavie_ McHot: This thread is actually not a "usual" support thread. It's about future versions of SMF and CPG, nothing you could use with your existing install, unless you know your way around and are able to modify/fix things for you, sorry. Please give us a bit more time to figure this out, we'll post a solution for everybody once it's ready.
Joachim
-
Hi Guys,
After a far too long hiatus (and an absoultely hellish exam earlier in the week), I'm back on the case :)
Currently pulling down the latest dev code & will be starting work to see if I can get something knocked up by this evening ;)
At first glance, this doesn't look too dissimilar to the API code that Unknown gave me a few months ago, hopefully it will only require minor changes to what I had written against that.
-
I'm not quite certain how the integration of CPG and SMF is supposed to go, but mine hasn't been quite as described in either the docs or on the support forum.
First, I didn't lose any uploads. Is that possible? Second, am I supposed to be able to use the CPG Admin interface when viewing users? I can't - it takes me directly to my SMF users list. Finally, I can't log out from CPG. I get the following error: An Error Has Occurred!
Unable to verify referring url. Please go back and try again.
Can someone tell me if I've done something incorrectly and, if so, what? I've read and re-read everything I can find on the support forum related to this issue and I've read through the docs several times to double-check that I've done everything asked but I feel as if I've missed something.
Thank you, in advance, for your help with this and thank you for your patience with me.
Gina
-
the answer given in http://forum.coppermine-gallery.net/index.php?topic=9934.msg44729#msg44729 to Xavie applies to you as well: this thread deals with new means of integration that haven't been implemented yet, it's basically developer's talk here. No support given on this thread. It's expected behaviour that when bridged you're being sent to your BBS app's user management, as coppermine doesn't use it's own user management when bridged, but the one from your bridged application. Nobody said you'd lose any uploads when integrating, you just lose the correlation between the users who uploaded the files and the "new" users from the bbs. The logout issue you're experiencing is what is being discussed on this thread, it's a known issue and yet awaits a solution. Please do not reply to this thread, but use the search to find more detailed answers to your questions and post in another (new) thread.
Joachim
P.S. We have a "one question per thread" policy...
-
I have now added an smf-api.inc.php
Obviously, you will need to download the smf_api.php file from www.simplemachines.org and put it in the folder that SMF is installed in.
Caveat :
The SMF db and the CPG db must be on the same server and accessible with the same username & password. I'm currently assuming that that is the case.
Due to the lack of info about database access provided by the api file, I'm trying to think of the most efficient way of determining wether you can link tables. I think I will have to do so by trying a db query, but I'd like something less kludgey.
Oh, and the logout problem is still there :-[
Fixed after commiting my current version of the code, ::)
BTW, it has been committed in the 1.4 devel branch (just noticed that this thread is in the 1.3 forum)
-
Jack,
Using [Unknown]'s api, is it now possible to have separate databases? That's what I assumed after playing with it. Thanks for working on the SMF bridge, BTW!
Also, in the devel, I see that smf.inc.php is still there, with smf-api.inc.php added. Should the original be deleted/renamed and replaced with yours?
-
Using [Unknown]'s api, is it now possible to have separate databases? That's what I assumed after playing with it. Thanks for working on the SMF bridge, BTW!
It's certainly possible to have seperate databases, but at the moment, I'm going to say that they must be on the same server and both accessible with the same mysql username & password.
Also, in the devel, I see that smf.inc.php is still there, with smf-api.inc.php added. Should the original be deleted/renamed and replaced with yours?
I suppose that eventually that will be possible, but definately not now. This commit is the first version that appears to work correctly ;)
Also, it hasn't been integrated into the bridgemanager yet, and there's a couple of new features I want to add too :)
People are just gonna love what happens when you click on login/logout now ;D
-
Sweet! I can't wait, Jack!
-
Me either. :-*
-
smf, mos and cpg are all working together with users integrated. next is osc!! argg
http://www.talbotautos.com
-
Shit, why did i see this thread not early... i rewite the smf bridge so i can use the theme changes of the forum... but now i see... there is a easier way... how ever it work now but for the next Version i use this ;).
-
Looks like im going to keep my eye on this thread. I did suceed to merge the two but batch ad is giving problems. Thanks for the work dev people ;)
-
Hi all, I am a newbie to both Coppermine and SMF and having a little trouble integrating them. It seems so far that all works except that this message appears at the top of my Coppermine forum:
Notice: Undefined index: 10.0.6.38 in /home/content/m/y/f/myfieldstone/html/coppermine/bridge/smf.inc.php on line 560
Any help would be greatly appreciated.
-
Don't post support requests here, make your own thread. Don't be shy :)