4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: Sunny C. on June 20, 2010, 10:16:53 PM
-
Changelog:
v1.0
- FIXED: WBB_WCF_PFAD
- FIXED: Passwort Variable
v1.2
- NEW: Lostpassword
Addons:
- Extern Avatar from WBB in 4images Comments (http://www.4homepages.de/forum/index.php?topic=27520.0)
:flag-de:
Mit dieser Modifikation können sich die User im Woltlab Burning Board und in 4images zu gleich registrieren. Die User erhalten dadurch einheitlich die gleiche ID.
Es ist wichtig, dass das Forum in der gleichen Datenbank wie 4images installiert ist.
Wo das Forum hochgeladen wurde ist im Grunde egal, da man den Pfad angeben kann.
Ich habe es im root/forum angelegt.
:flag-en:
With this modification, the user can in WoltLab Burning Board, and in 4images to register the same. The users will thus uniformly the same ID.
It is important that the forum is installed into the same database as 4images.
Where the forum was uploaded is basically no matter, because you can specify the path.
I have it in root / forum created.
Installation:
Step 1
Open / Öffne: include/constants.php
Search / Suche:
// User levels
Add above / Füge darüber:
// WBB 1zu1 Registrierung
define('WBB_WCF_PFAD', './forum/wcf/'); // Pfad zum Forum
Step 2
Open / Öffne: register.php
Search / Suche:
if ($result) {
$activation_url = $script_url."/register.php?action=activate&activationkey=".$activationkey;
include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_to($user_email);
$site_email->set_subject($lang['register_success_emailsubject']);
$site_email->register_vars(array(
"activation_url" => $activation_url,
"user_name" => $user_name,
"user_password" => $user_password,
"site_name" => $config['site_name']
));
Add above / Füge darüber:
// User im WBB direkt anlegen
require_once(''.WBB_WCF_PFAD.'lib/util/StringUtil.class.php');
$salt = StringUtil::getRandomID();
$user_password_wbb = StringUtil::getDoubleSaltedHash($user_password, $salt);
$sql = "INSERT INTO wcf1_user
(username, password, salt, email, registrationDate)
VALUES
('".$user_name."', '".$user_password_wbb."', '".$salt."', '".$user_email."', '".time()."')";
$result = $site_db->query($sql);
$userID = mysql_insert_id();
$sql = "INSERT INTO wcf1_user_to_groups
(userID, groupID)
VALUES
(".$userID.", '3')";
$result = $site_db->query($sql);
// User im WBB direkt anlegen
Step 3
Open / Öffne: member.php
Search / Suche:
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_password")." = '".$user_password_hashed."'
WHERE ".get_user_table_field("", "user_id")." = ".$checkuser[$user_table_fields['user_id']];
$site_db->query($sql);
Add after / Füge danach ein:
require_once(''.WBB_WCF_PFAD.'lib/util/StringUtil.class.php');
$salt = StringUtil::getRandomID();
$user_password_wbb = StringUtil::getDoubleSaltedHash($user_password, $salt);
$sql = "UPDATE wcf1_user
SET password = '".$user_password_wbb."', salt = '".$salt."'
WHERE userID = ".$checkuser[$user_table_fields['user_id']];
$site_db->query($sql);
Finish / Fertig
-
überprüfe Step 2 noch mal, da fehlt die suche etc.
-
Danke, habe ich hinzugefügt!
-
Hi!
funktioniert das jetzt 100%pro, ich kann das leider nicht überprüfen.
wenn ja würde ich den thread verschieben.
mfg Andi
-
Ja das läuft 100%. Ich habe das für GameVote.NET geschrieben und da läuft es perfekt!
-
Hallo, ich habe das wie beschrieben umgesetzt.
Wenn sich nun ein User in 4images registriert erhält man folgende Fehlermeldung:
Warning: require_once(".WBB_WCF_PFAD."lib/util/StringUtil.class.php) [function.require-once]: failed to open stream: No such file or directory in /www/htdocs/w0097a95/3_test/4images/register.php on line 165
Was habe ich falsch gemacht???
Gruß
Michael
-
Ist der Pfad aus Step 1 richtig?
Wie lautet dieser bei dir?
-
Hallo, ich habe das Forum in kein Unterverzeichnis installiert.
// WBB 1zu1 Registrierung
define('WBB_WCF_PFAD', './wcf/'); // Pfad zum Forum
Gruß
Michael
-
Du hast dein Forum also in dem Ordner "WCF" installiert?
Du musst bedenken, dass Woltlab Burningboard besteht aus zwei Teilen
Dem WBB
und dem WCF
Der Pfad zu deinem Forum wäre von der Gallerie aus: ./forum. Zum WCF aber ./forum/wcf
Du hast dein Forum sicherlich nicht im Root- Verzeichnis deiner Gallerie installiert oder?
Wie heißt der Ordner in dem du dein Forum installiert hast? Und liegt der Ordner im ROOT von der Gallerie?
-
Hallo Benny,
ich habe das Forum auf der obersten Verzeichnisebene, also direkt im root installiert.
Das Verzeichnis wcf befindet sich somit im root/wcf
Die Photogalerie befindet sich im root/4images
Besten Gruß
Michael
-
Somit ist der Pfad FAST richtig.
Nur eine kurze Frage vorweg; aber wieso installierst du dein Forum in einem Ordner namens "wcf"
Der Pfad muss dann so lauten:
// WBB 1zu1 Registrierung
define('WBB_WCF_PFAD', './wcf/wcf/'); // Pfad zum Forum
-
Hallo Benny,
ich hoffe du hast noch ein wenig Geduld mit mir.
Ich habe das Forum nicht in das Verzeichnis wcf installiert, sondern direkt im root.
Somit muss der Pfad doch richig sein:
// WBB 1zu1 Registrierung
define('WBB_WCF_PFAD', './wcf/'); // Pfad zum Forum
Besten Gruß
Michael
-
Dann such mal in der register.php
require_once('".WBB_WCF_PFAD."lib/util/StringUtil.class.php');
Ändere das in:
require_once('./wcf/lib/util/StringUtil.class.php');
-
Hallo Benny,
ich konnte das gestern Abend nicht mehr ausprobieren.
Seit dem ich heute morgen meine Webseite (Forum) öffnen wollte, erhalte ich eine Fehlermeldung.
Was nun?
Bitte schau Dir das mal an: www.ul-piloten.de
Danke und Gruß
Michael
-
Die Fehlermeldung hat mit der Modifikation hier nichts zu tun, dass liegt an irgend einem Plugin (chCounter) oderso!
-
Hallo Benny,
da bin ich wohl über die "Entf" Taste gestolpert, und habe versehentlich das Verzeichnis des Counter gelöscht.
Das Forum tuts wieder :-)
Aber auch mit deiner letzten Änderung des Pfades bekomme ich bei der 1:1 Registrierung die alte Fehlermeldung.
Hast Du das schon einmal mit der WBB Version 3.1.3 versucht?
PS. Kann leider erst heute Abend wieder online gehen.
Besten Gruß
Michael
-
Kannst du mir ein Screenshot deiner Verzeichnis Struktur geben?
Denn im Ordner des WBB muss ein WCF Verzeichnis sein, außer du hast es umbenannt!
Und ja, es läuft mit dem WBB 3.2.1
Ich habe das auf http://www.gamevote.net/ eingebaut und da läuft es auch!
Ps.: Liegt das Forum auch in der gleichen Datenbank wie 4images?
-
Hallo Benny,
hier der gewünschte Sreenshot.
Ja, Forum und 4images liegen in der gleichen Datenbank.
Besten Gruß
Michael
-
Wie es ausieht, muss der Pfad so aussehen:
require_once('../wcf/lib/util/StringUtil.class.php');
-
SUUUUPER, es klappt :D :D :D
Vielen Dank hierfür.
Jetzt muss ich nur schauen das die User nur noch eine Registrationsmöglichkeit auf meiner Webseite haben.
Das heist, alle Verlinkungen zur WBB Registration müssen zur Registration von 4images umgeleitet werden.
Oder hast Du eine andere Idee?
Ich habe später bestimmt noch ein paar Fragen, würde mich freuen wenn ich mich dann wieder melden darf.
PS. Mein Angebot mit dem Rundflug steht noch, melde dich bei Bedarf einfach per PN
Besten Gruß
Michael
-
Ja, die Links müssen umgeschrieben werden.
Auf GameVote.net habe ich das alles gemacht und auch die Profile aus 4images führen zu den Profilen der User im Forum etc etc :D
Viel Arbeit.
Und klaro kannst du dich melden, dafür ist das Forum da!
-
Hi Benny,
super das ich noch weitere Fragen stellen darf, da fange ich doch gleich mal an....
Bei der Registration im WBB Forum werden noch weitere Informationen abgefragt, wie: Geburtstag, PLZ und Ort (siehe Screenshot)
Ist es möglich dieses auch bei der 4images Registration einzubauen, und die Daten bei der 1:1 Registrierung mit zum WBB zu übertragen?
Wenn Du das hinkriegst, wäre das echt die Königslösung :wink:
Besten Gruß
Michael
-
Das ist ganz einfach eigentlich:
Du musst diese Felder in 4images erstellen: Zusätzliche User Felder anlegen (http://www.4homepages.de/forum/index.php?topic=20747.0)
Und dafür muss die SQL dann erstellt werden.
Mal sehen ob ich heute dazu Lust finde!
-
Geht die Installation schon bei einer laufenden 4images Galerie?
-
Ja das geht, allerdings werden auch erst ab diesen Zeitpunkt die user in beiden systemen registriert!
-
...kann ich nur bestätigen, läuft prima. :D
Gruß
Michael
http://www.ul-piloten.de
-
Freut mich!
Danke für das Feedback!
Ps.:
Hi Benny,
super das ich noch weitere Fragen stellen darf, da fange ich doch gleich mal an....
Bei der Registration im WBB Forum werden noch weitere Informationen abgefragt, wie: Geburtstag, PLZ und Ort (siehe Screenshot)
Ist es möglich dieses auch bei der 4images Registration einzubauen, und die Daten bei der 1:1 Registrierung mit zum WBB zu übertragen?
Wenn Du das hinkriegst, wäre das echt die Königslösung :wink:
Besten Gruß
Michael
Dazu kommt auch noch eine Anleitung bei Zeit!
-
Hallo Benny.
Eine Anleitung wäre echt Prima.
Ich würde das dann sofort umsetzen.
Schon jetzt 1.000 Dank
Michael
-
Also, dann könnte man doch auch nachträglich die alten User von PHP mit dem WBB verbinden oder?
-
Wenn du weist wie, gerne :D
-
Das ist ganz einfach eigentlich:
Du musst diese Felder in 4images erstellen: Zusätzliche User Felder anlegen
Und dafür muss die SQL dann erstellt werden.
Mal sehen ob ich heute dazu Lust finde!
Hallo Benny,
ich habe das zusätzlichen Feld "Adresse" wie im Link oben angegeben angelegt.
Funktioniert gut, somit wird nun auch bei der Registration die Adresse (PLZ) abgefragt.
Wie kriege ich das nun hin, das der Datenbankeintrag auch bei der 1:1 Regisirierung mit übernommen wird?
Ich hoffe ich nerve nicht, und du findest ein wenig Zeit mir (wie schon so oft) behilflich zu sein.
Besten Gruß
Michael
-
Dann musst du mir den exakten Name der Felder mal nennen!
-
Hallo Benny.
Gerne, die Tabelle im Forum heißt: wcf1_user_option_value
Und das Feld: userOption9
Die 4images Tabelle heißt: 4images2_users
Und das Feld: user_adresse
Besten Gruß
Michael
-
Hallo Benny,
reichen die Infos?
Gruß
Michael
-
Ja,
suche mal in der register.php
$sql = "INSERT INTO wcf1_user
(username, password, salt, email, registrationDate)
VALUES
('".$user_name."', '".$user_password_wbb."', '".$salt."', '".$user_email."', '".time()."')";
$result = $site_db->query($sql);
$userID = mysql_insert_id();
Füge darunter das ein:
$sql = "INSERT INTO wcf1_user_option_value
(userOption9)
VALUES
('".$user_adresse."')";
$result = $site_db->query($sql);
$userID = mysql_insert_id();
Kann aber sein das die sql-spalten um "user_adresse" erweitert werden müssen. ich habe es nicht getestet.
Eventuell musst du noch das suchen:
$user_name = (isset($HTTP_POST_VARS['user_name'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_name'])) : "";
Und darüber das einfügen
$user_adresse = (isset($HTTP_POST_VARS['user_adresse'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_adresse'])) : "";
wie gesagt, nicht getestet!
-
...Schade, klappt leider nicht :(
Wenn ich den Code in der register.php einfüge erhalte ich bei Registration eine Fehlermeldung im Header:
An unexpected error occured. Please try again later.
Kann aber sein das die sql-spalten um "user_adresse" erweitert werden müssen. ich habe es nicht getestet.
Ich habe die Spalte in der Tabelle "wcf1_user_option_value" hinzugefügt. Ist das korekt? Habe ich die richtigen Einstellungen gewählt?
(siehe Screenshot)
Auch das hinzufügen des Codes brachte leider keine Änderung.
$user_adresse = (isset($HTTP_POST_VARS['user_adresse'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_adresse'])) : "";
Noch ne Idee?
Gruß
Michael
-
... hat denn niemand einen Tip?
wäre echt schade wenn ich so kurz vor dem Ziel aufgeben muss.
Ich habe das ganze noch mal auf einer neuen Testumgebung ausprobiert.
Hierbei ist mir aufgefallen das die Fehlermeldung erst erscheint nachdem ich den Code eingefügt hatte:
$user_adresse = (isset($HTTP_POST_VARS['user_adresse'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_adresse'])) : "";
Gruß
Michael
-
Hallo,
ich habe nur wenig Zeit und keine Testumgebung von WBB zur Hand.
Wenn du mir eine "4images 1.7.9 + WBB" in einer Datenbak installiert zur Verfügung stellen kannst,
dann kann ich eventuell in der Mittagspausen von der Arbeit aus mal tüfteln.
-
Hi Benny,
das ist nett von Dir :D
Ich werde bis morgen Abend eine Testumgebung herrichten und dir die Zugangsdaten per PN schicken.
Vielen Dank und Gruß
Michael
-
Hi!
I installed this mod... works fine (4image v1.7.10)
Maybe german speakers notice this before (i dont understand deutch)...
In my galery user activation via email link is active - than I should be better to create WBB account AFTER activation... not just after registration...
I moved your code in other place - after line
$msg = $lang['activation_success'];
in register.php file
easy in concept... some troubles in realisation - there is need of user name, email and password...
and password is i think problem - to put it into WBB we need uncoded version of password, but at this moment pass is coded.
do you have any idea?
mayby store password uncrypted untill activation?