Seite 1 von 3
frontend user registrierungs modul ???
Verfasst: Fr 25. Jan 2008, 03:08
von cms
Gibt es sowas schon ??? Wenn ja wo und wenn nein kann mir jemand dabei helfen hab mir so was gedacht aber irgendwie will das nicht so recht. Ich werde immer wieder auf die Home geschickt . Was ist verkehrt ?
Code: Alles auswählen
<?php
if($_POST['send']==1)
{
$db = new DB_Contenido;
$db1=new DB_Contendido;
$username=$_POST['username'];
$pass=$_POST['passwort'];
$email=$_POST['email'];
$realname=$_POST['realname'];
$wysi=1;
$sql="SELECT * FROM con_phplib_auth_user_md5";
$db1->query($sql);
$id=1;
while($db1->next_record() ){
$id++;
}
//MD5
$id.=$username;
$id=md5($id);
$md5_pass=md5($pass);
$sql="INSERT INTO `con_phplib_auth_user_md5` (
`user_id` ,
`username` ,
`password` ,
`perms` ,
`realname` ,
`email` ,
`telephone` ,
`address_street` ,
`address_zip` ,
`address_city` ,
`address_country` ,
`wysi`
)
VALUES (
'".$id."', '".$username."', '".$md5_pass."', NULL , '".$realname."', ".$email." , NULL , NULL , '', NULL , NULL , '1'
);";
$db->query($sql);
}
?>
<form method="post" action="<?=$sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid") ?>" >
<input type="text" value="username" name="realname" />
<input type="text" value="nicname" name="username" />
<input type="password" value="passwort" />
<input type="hidden" value="1" name="send" />
<input type="submit" value="send" />
<input type="reset" value="zurüksetzen" />
</form>
Verfasst: Fr 25. Jan 2008, 09:04
von delinquent
Also ganz ab von Deinem Home-Problem:
1.) Du vergibst die IDs anhand von Zählen der Tabellenzeilen. Das hat da mit nix zu tun. Wenn ich die Zeilen 0-9 habe und Zeile 4 lösche, wird diese Methode versuchen eine ID 9 zu vergeben. Dafür gibts in der Contenido DB eine Tabelle con_sequence, wo die IDs hochgezählt werden.
2.) Für Dein Vorhaben gibts doch vorgefertigte Klassen. Schau Dir mal die Datei classes/class.user.php an. Versuch mal sowas (ungetestet):
Code: Alles auswählen
cInclude("classes", "class.user.php");
$user = new User;
$user->loadUserByUserID(Users::create($username));
$user->setField('realname', $_POST["realname"]);
// ...
$user->store();
...danach kannst Du Dich dem Home-Problem widmen
Gruß,
Manuel
Verfasst: Fr 25. Jan 2008, 10:45
von cms
Ich danke ,schau mir gleich mal die klassen an

Verfasst: Fr 25. Jan 2008, 11:38
von cms
ps: ganz so Falsch lag ich garnicht .
$md5user = md5($username);
$item->set("user_id", $md5user);

Verfasst: So 27. Jan 2008, 18:59
von HerrB
Wobei das kein Frontend-User-Registrierungs-Modul ist, sondern ein Backend-User-Registrierungs-Modul...
Gruß
HerrB
Verfasst: So 27. Jan 2008, 22:29
von cms
Ja habe ich auch gemerkt ich werde mir eine neue tabelle in der datenbank machen und dort die werte rein schreiben somit ich ein frontenduser selber erstellen kann . und im loggin modul mit einbinden bei der abfrage.
Aber der post kommt halt nicht an ,warum auch immer.
Verfasst: Mo 28. Jan 2008, 00:01
von HerrB
Wie, was? Es gibt doch bereits eine Frontend-User-Tabelle mit Verwaltung...
Siehe Login Modul, siehe Change Password Modul, siehe Newsletter-Module.
Siehe auch Administration -> Frontend.
Gruß
HerrB
Verfasst: Mo 28. Jan 2008, 10:52
von OliverL
Ich hab ein kleines Registrierungs Modul (was noch ausgebaut wird).
- Felder "Confirmatione-Mail-Content" und "Confirmatione-Mail-is-out" sind noch nicht integriert.
- Doku erfolgt nach vollständiger Fertigstellung
Funktionen:
- Einbindung der FEU-Plugins
(Template-Replacer mit '$get_plugin_fields = true;')
- aktivierung einer Bestätiguns-Mail mit direktem Link ins Backend
- Auswahl der Absender-Adresse vom PlugIn
(Absender-Fedl wird automatisch zum Pflichtfeld)
- unterstützt Mail, qMail, sendMail, SMTP (aus irgendeinem Modul geklaut

)
- Einbindung der i18m-Funktionen für die Version 4.6.23
(s. Übersetzung "language_mapping")
Links:
Modul (Package für 4.6.23)
http://lohkemper.team4media.net/gigo/Fr ... ackage.xml
Modul (< 4.6.23)
http://lohkemper.team4media.net/gigo/Fr ... ierung.xml
http://lohkemper.team4media.net/gigo/fr ... eutsch.xml
Template (inkl. Beispiel für Plugin-Felder)
http://lohkemper.team4media.net/gigo/register.html
mfg
OliverL
Verfasst: Mo 28. Jan 2008, 13:41
von delinquent
HerrB hat geschrieben:Wobei das kein Frontend-User-Registrierungs-Modul ist, sondern ein Backend-User-Registrierungs-Modul...
Oh, natürlich. Scusi.
Dann nimm doch sowas, wie (ungetestet)
Code: Alles auswählen
cInclude("classes", "class.frontend.users.php");
$feuc = new FrontendUserCollection;
$feuser = $feuc->create($_POST["benutzername"], $_POST["passwort"]);
$feuser->setField("active", 1);
$feuser->store();
Verfasst: Do 5. Jun 2008, 14:19
von andy-man
Hallo OliverL,
ich habe versucht das modul unter:
http://lohkemper.team4media.net/gigo/Fr ... ackage.xml
zu installieren, doch leider hat dies nicht funktioniert. Da es ein Package ist muss dies bestimmt noch entpackt werden oder? Nur leider weis ich nicht wie?
Gruss andy-man
Verfasst: Do 5. Jun 2008, 15:28
von OliverL
Aber nur Ausnahmsweise und nur weil die geilste der geile Funktionen nicht dokumentiert ist
1. Wenn du das Modul einbinden willst erstellst du ein neues Modul
2. dann bist du direkt in der eingabe Oberfläche für Titel,Input und Output
3. klick oben im Submenü (Bearbeiten, Historie...) auf Package.
4. dann ganz unten auf "Import from File"
5. Zuweisungen machen
6. sich freuen!
oder das hier benutzen:
Modul (< 4.6.23)
http://lohkemper.team4media.net/gigo/Fr ... ierung.xml
http://lohkemper.team4media.net/gigo/fr ... eutsch.xml
-> Ich habe das Modul leider nicht in der 4.8.4 getestet <-
(helfe das gerne auf 4.8.x umzubauen)
mfg
OliverL
PS. Bei Problemen immer die Version vonContenido angeben
Besonderes wenn man 4.8.x benutzt und im 4.6.x postet!
Verfasst: Fr 6. Jun 2008, 08:59
von andy-man
Hallo OliverL,
vielen Dank für den Hinweis. Manchmal sehe ich den Wald voller Bäume nicht. Den Package-Reiter habe ich irgenwie immer übersehen.
Jetzt hat der Import geklappt und werde dann gleich mal zum Einbinden übergehen.
Vielen Dank noch einmal.
andyman
Verfasst: Fr 6. Jun 2008, 09:55
von andy-man
Hallo OliverL,
ich habe jetzt die Daten eingebunden (V4623) und beim Registrierungsformular werden nicht alle Felder übersetzt:
{NAME_COMPANY_NUMBER}
{NAME_COMPANY_NAME}
{NAME_COMPANY_ADD_STREET}
{NAME_COMPANY_ADD_ZIP} / {NAME_COMPANY_ADD_CITY}
{NAME_COMPANY_ADD_COUNTRY}
Die notwendigen Dateien habe ich in die entsprechenden Verzeichnisse kopiert.
Wo muss ich noch diese Anpassung einbauen?
Gruss andy-man
Verfasst: Fr 6. Jun 2008, 10:03
von OliverL
Ich habe das Modul mit Plugins erstellt.
Die Platzhalter sind für ein Plugin:
PI-Name: COMPANY
PI-Value: ADD_COUNTRY
Solltest du keine Plugin's haben hast du nur die Standard-Felder von Contenido.
Alle Möglichen Platzhalter kannst du dir anzeigen lassen wenn du im Output des Moduls (im oberen Bereich) die Variable $get_plugin_fields von false auf true stellst. Im Edit-Modus des entsprechenden Artikel werden dann alle Plugin-Platzhalter unterhalb des Templates angezeigt.
mfg OliverL
Verfasst: Fr 6. Jun 2008, 10:56
von andy-man
Hallo OliverL,
im Augenblick werden nur die Standardfelder von Contenido angezeigt.
Wenn ich die Felder über ein Plugin einbinden will, habe ich nun im Ordner plugins/frontenduser/ einen Ordner erstellt COMPANY_NAME und dort analog der Beschreibung des FEU-Plugins die Datei company_name.php erstellt mit folgendem Code (habe natürlich einen Ordner umbenannt und dort die Änderungen durchgeführt.):
Code: Alles auswählen
<?php
/*****************************************
* File : $RCSfile: company_name.php,v $
* Project : Contenido
* Descr : Example plugin for adding an vornasme address to a frontend user
* Modified : $Date: 2005/09/19 14:51:28 $
*
* © four for business AG, www.4fb.de
*
* $Id: company_name.php,v 1.2 2005/09/19 14:51:28 timo.hummel Exp $
* Angepasst von pixelparts
******************************************/
function frontendusers_company_name_getTitle ()
{
return i18n("COMPANY_NAME", "frontendusers_company_name");
}
function frontendusers_telefon_display ()
{
global $feuser;
$telefon = new cHTMLTextbox("company_name", $feuser->getProperty("address", "company_name"),40);
return $telefon->render();
}
function frontendusers_telefon_wantedVariables ()
{
return (array("company_name"));
}
function frontendusers_telefon_canonicalVariables ()
{
return array("company_name" => i18n("COMPANY_NAME", "frontendusers_company_name"));
}
function frontendusers_telefon_getvalue ($field)
{
global $feuser;
if ($field == "company_name")
{
return $feuser->getProperty("address", "company_name");
}
}
function frontendusers_telefon_store ($variables)
{
global $feuser;
if (!array_key_exists("company_name",$variables))
{
return false;
} else {
$feuser->setProperty("address", "company_name", $variables["company_name"]);
return true;
}
}
?>
Bei der Ausgabe wird aber der Company-name nicht übersetzt.
Was mach ich da falsch?
Danke andy-man