UNbridge Coppermine from SMF UNbridge Coppermine from SMF
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

UNbridge Coppermine from SMF

Started by ~phocas~, April 05, 2007, 04:28:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

~phocas~

Currently, I have coppermine bridged with SMF and it was only recently that I converted the user base from phpBB to SMF.  That worked pretty good actually.

Regardless, I have decided that I am no longer interested in administering 3 pieces of software and the constant upgrades that go with that... and I want Coppermine ONLY.  (the enhancements you guyz are making are awesome and are slowly eliminating the need for any other software to be integrated!)

Anyhow... I thought I had found a post on here at one time that contained a procedure for extracting the user-base from SMF's dB without having to manually move everything.

Has anyone seen this post?  I have been searching for a couple of days and just can't find it again.  :P

Joachim Müller

There's no pre-made script available that can do what you're up to afaik.

If you know your way around in phpMyAdmin you could easily come up with a conversion script. Here's a sample a dump of SMF's members table:
QuoteINSERT INTO `smf_members` VALUES (1, 'admin', 1081202400, 201, 1, '', 1147361472, 'Admin', 0, 0, '', 'c823699a6f8080490862a12dadf22a3075a4bbe9', 'bla@email.com', '', 0, '0001-01-01', '', '', '', '', '', '', '', 0, 1, '', '', 0, '', 0, 0, 0, '', 1, 1, '172.26.17.126', '', '', 4, 1, '', 8, '', '', 6, 15549, '2f27', '', '', 0, 2);
INSERT INTO `smf_members` VALUES (2, 'tester', 1093298400, 4, 0, '', 1115995422, 'tester', 0, 0, '', '8e3a3e8f977f9a1b8902ea970e8b22b7', 'tester@some.com', '', 0, '0001-01-01', '', '', '', '', '', '', '', 0, 1, '', '', 0, 'foo', 1, 0, 0, '', 1, 1, '172.26.17.126', '', '', 4, 1, '', 6, '', '', 4, 438, '', '', '', 0, 2);
(with more data in it of course).

The dump of a coppermine user table will look like this:
QuoteINSERT INTO `cpg140_users` VALUES (1, 1, 'YES', 'admin', 'c823699a6f808sdf0490862a12dadhhhf22a5a4bbe9', '2006-09-11 19:12:49', '2004-12-09 17:33:32', '', 'user@some.com', '', '', '', '', '', '', '');
INSERT INTO `cpg140_users` VALUES (2, 2, 'YES', 'tester', 'dfhdfhgdfhgdfg', '2005-02-25 19:23:17', '2004-12-09 18:30:44', '6', '', '', '', '', '', '', '', '');

What we have is this: ID_MEMBER, memberName, dateRegistered, posts, ID_GROUP, lngfile, lastLogin, realName, instantMessages, unreadMessages, pm_ignore_list, passwd, emailAddress, personalText, gender, birthdate, websiteTitle, websiteUrl, location, ICQ, AIM, YIM, MSN, hideEmail, showOnline, timeFormat, signature, timeOffset, avatar, pm_email_notify, karmaBad, karmaGood, usertitle, notifyAnnouncements, notifyOnce, memberIP, secretQuestion, secretAnswer, ID_THEME, is_activated, validation_code, ID_MSG_LAST_VISIT, additionalGroups, smileySet, ID_POST_GROUP, totalTimeLoggedIn, passwordSalt, messageLabels, buddy_list, notifySendBody, notifyTypes

What we need (in coppermine) is   `user_id`, `user_name`, `user_password`, `user_email` - just four fields, the rest could be empty (or rather: filled with default values).

Let's find the corresponding fields in SMF:
Coppermine field nameSMF field name
user_idID_MEMBER
user_namememberName
user_passwordpasswd
user_emailemailAddress

Now you'll just need to come up with a little PHP script that queries SMF's members table (SELECT) and writes a corresponding query (INSERT INTO) into coppermine's user table.

HTH

Joachim

~phocas~

hrm... i was certain i read that someone had written a little script to do just that, but... mayb I was dreaming.  :P

anywho ... thank you very much for your help and advice on this...

i will give it a try, see how it works out and post a followup...

i am definitely looking forward to gettin back to StandAlone

~phocas~

I know this is late, but ... I really did mean to post a follow-up to this, for anyone else looking to do the same.

This worked out great, excepting one issue.  The passwords did not convert over, but that was a no brainer that I had already anticipated.   Athe time, the SMF dB was encrypted and Coppermine dB was not. 

After weighing the consequences of that, I went ahead with the conversion (a rather simple query... that I have since lost track of).  Ultimately, setting a new password was the only inconvenience my users faced.

Thank you again for your help on this matter!