Frontenduser - Newsletter - Kombi + individuelle Profildaten

aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von aSoahc » Mo 16. Mär 2009, 16:04

Hi Christian,

für deine Userliste hab ich dir ein SQL-Statement gebaut. Über phpmyadmin kannst du es direkt auf die Datenbank testen.
Es liefert die User-Id und den Username zurück. Aber letztendlich kann man auch alles andere damit mit ausgeben.
newimagine hat geschrieben: 1. Müsste ich eine Liste der User ausgeben, die im System angelegt sind (Soll eine Mitgliederliste werden).
Hierfür habe ich angefangen eine Ausgabe zu scheiben. Über:

Code: Alles auswählen

SELECT DISTINCT `itemid` , `username` 
FROM `con_properties` , `con_frontendusers` 
WHERE `itemtype` = "idfrontenduser"
AND `itemid` = `idfrontenduser` 
Gruß aSoahc

aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von aSoahc » Mo 16. Mär 2009, 16:11

Hi Idea-tec,
idea-tec hat geschrieben: Mit diesem GRUNDgedanken beginnen wir mal eine gesonderte aber dennoch STANDARDISIERTE Tabelle zu entwerfen:
Einfach wird es noch bei: Titel, Name, Vorname, Strasse,...
Kompliziert wird es bereits bei Alter, geschlecht, firma oder privat, beruf, berufstitel, 2ter wohnsitz, hobby, neigungen, etc., etc.

also ich muss gestehen, dass ich das nicht als VORGEGEBENE Tabelle in einer Opensource-Software haben will und eine Kaufversion mit einer solch aufgeblähten Tabelle würde ich mir nicht kaufen wollen.
Du hast damit natürlich recht. Aber man kann sich ja auf einen Grundsatz einigen. Wenn jemand für sein Contenido dann 5 Felder mehr haben möchte, erweitert man die Tabelle entsprechend und für alle bisher vorhandenen User bleiben die neuen Spalten leer.

Mich stört ein wenig, wie umständlich das Thema Frontenduser scheinbar bisher angegangen und gelöst wurde. :twisted:
Warum kann man nicht im Backend einfach sagen, ich möchte, dass sich meine Frontenduser selbst registrieren dürfen. Ist das denn generell so ungewöhnlich :?:

Gruß aSoahc

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von idea-tec » Mo 16. Mär 2009, 16:18

Hallo aSoahc,

nein, das ist ganz sicher NICHT ungewöhnlich, dass sich User auf einer Internetseite selbst registrieren. Man denke hierbei gerade einmal an einen Shop oder eine sonstige Plattform (muss ja nicht gleich ein Social Network sein).

Ebenso ist es sicher möglich die notwendigsten Daten in einem standardisierten Umfang in einer extra Tabelle vorzuhalten, was sicher auch schon der eine oder andere Contenido-Kollege (inkl. mir selbst) realisert hat. Danach kann man hingehen und ein Erweiterungsplugin schreiben/installieren (falls es vorhanden sein sollte), mit dem man wiederum in einer gesonderten Tabelle weitere Inhalte pflegen und einfügen kann. Das Ganze natürlich immer bezogen auf die feuserid, die 2te Extra-Tabelle wäre geil, wenn die Felder übers Backend (unterhalb von Administrator) frei definierbar wären.

Und wieder bin ich an dem Punkt: Wer macht es?
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von aSoahc » Mo 16. Mär 2009, 16:45

Hi Idea-Tec,
idea-tec hat geschrieben:Und wieder bin ich an dem Punkt: Wer macht es?
Richtig. Es ist erstaunlich, dass hier doch eher jeder für sich selbst baut, anstatt es mit anderen zu teilen und nur die Überbleibsel werden als Brotkrummen für den Rest ins Forum gestellt. Schade, dass sich hier der Community-Gedanke scheinbar nicht durchgesetzt hat. :(

Das bringt mich zu dem Punkt, ob ich vielleicht doch besser ein anderes CMS nutzen sollte. :?:
Denn momentan hab ich das Gefühl mit Contenido von einer Baustelle in die Nächste zu fallen. Einerseits spornt das ungemein an, auch mal wieder selbst ein wenig zu basteln. Anderseits sieht man absolut kein Ende ...

Viele Funktionen, die ich mühsam in Contenido integriere, gehen mit DokuWiki in wenigen Clicks und das ist wirklich frustrierend.

Gruß aSoahc

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von GaMbIt_ » Mo 16. Mär 2009, 18:08

Man könnte ja eine zusätzliche Tabelle für die User-Properties anlegen, ähnlich wie es für Upload Files gemacht wurde...
aber damit wäre das selbe Problem auf zwei Tabellen verteilt.
Nützliche Contenido Infos gibts hier: Contenido Wiki

Putzi
Beiträge: 22
Registriert: Di 10. Mär 2009, 17:29
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von Putzi » Di 28. Jul 2009, 14:40

Hallo Zusammen,

nach langem Hin und Her habe ich es geschaft die Module auf einer 4.8.12 Version zum Laufen zu bringen.
Für all diejenigen von euch, die wie ich (noch) keine Ahnung von Contenido haben, die Lösung aber trotzdem verwenden wollen und keine Ahnung haben, was wo warum anpassen, hier meine Anleitung, was ich gemacht habe:
  • 1. Dateien downloaden und entpacken
    2. Ordner "contenido" und "cms" auf den Server laden
    3. Über die "Aus einer Datei importieren" Funktion die Module installieren
    4. Im Modul "Metzner - FrontendUser Edit" folgende Zeilen anpassen (korrigiert den Fehler, dass Titel und Vorname beim Speichern nicht geändert werden):

    Code: Alles auswählen

    $oFEUser->setProperty("address", "title", $_REQUEST["Titel"]);
    $oFEUser->setProperty("address", "vorname", $_REQUEST["Vorname"]);
    5. Für jedes Modul die Übersetzungsangaben machen
    6. Für jedes Modul ein Template anlegen (keine Vorkonfiguration)
    7. Für jedes Template einen Artikel anlegen (Seite mit dem Modul "Metzner - Kundencenter Übersicht" ist die Startseite)
    8. In den Editmodus des Moduls "Metzner - Kundencenter Übersicht" gehen und dort entsprechend in den Zeilen 28, 29 und 30 die idart der Artikel mit den Modulen "Metzner - Kundencenter Anmeldung", "Metzner - Kundencenter UserDelete" und "Metzner - Kundencenter Passwort vergessen" angeben (damit die Verlinkung zwischen den Artikeln funktioniert)
    9. In den Editmodus des Moduls "Metzner - LoginForm" gehen und dort in der Zeile 38 die idart der Artikels mit dem Modul "Metzner - Kundencenter Handler" angeben (damit die Verlinkung zwischen den Artikeln funktioniert)
Ich wünschte diejenigen, die es ebenfalls erfolgreich hinbekommen haben, hätten eine solche Anleitung geschrieben - das hat jetzt 3min gedauert, mich hat es aber 3h gekostet da durchzublicken. Hoffe es erspart jemand anderem weiteres Kopfzerbrechen!

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von marphin » Fr 7. Aug 2009, 15:38

Hallo Zusammen,

erstmal ein Dank an Putzi für die ausführliche Anleitung.

Allerdings wüsste ich gern, ob ich per sql-Dump die User und deren Daten einspielen kann. Es handelt sich um einen Karnevalsverein mit über 400 Mitgliedern, für den ich ehrenamtlich tätig bin. Jedes Mitglied soll eine eigene Info-Seite mit Bild haben, auf die im geschützten Bereich alle Mitglieder zugreifen sollen. Über eine Liste (Sortierung ist zweitrangig) soll man über entsprechende Links zu den Detailseiten gelangen.

Nun meine Fragen:
1. Ist das mit dem Modul möglich? Das Wichtigste ist der Dump, da ich keine Lust habe 400 Mitglieder anzulegen. Und selbst anlegen sollen die sich nicht.
2. Wie erzeuge ich die Liste?

Ich würde mich sehr über eine Hilfestellung freuen.

Viele Grüße
Martin

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von Fips » Mo 5. Okt 2009, 09:10

Hallo putzi,
vielen Dank für die gute Beschreibung. Die Frontenduserverwaltung habe ich soweit eigebaut, aber folgende Fehler sind bei mir:
- Die E-Mailadresse in der Verwaltung werden nicht angezeigt.
Ich habe dann im Verzeichnis Plugins
/contenido/plugins/frontendusers
den Ordner email angelegt und die Anpassungen in den Dateien vorgenommen. Leider kommt dann beim Aufruf der Verwaltung die Fehlermeldung
Fatal error: Call to a member function render() on a non-object in /var/www/htdocs/contenido/plugins/frontendusers/email/email.php on line 23
Habe die Datei mit den anderen verglichen und kann leider die Ursache für diese Fehlermeldung nicht finden. Hier ist die code der Datei:

Code: Alles auswählen

<?php
/*****************************************
* File      :   $RCSfile: strasse.php,v $
* Project   :   Contenido
* Descr     :   Example plugin for adding an email address to a frontend user
* Modified  :   $Date: 2005/09/19 14:51:28 $
*
* © four for business AG, www.4fb.de
*
* $Id: strasse.php,v 1.2 2005/09/19 14:51:28 timo.hummel Exp $
******************************************/

function frontendusers_email_getTitle ()
{
	return i18n("E-Mail.", "frontendusers_email");	
}

function frontendusers_email_display ()
{
	global $feuser;
	
	$strasse = new cHTMLTextbox("email", $feuser->getProperty("address", "email"),40);
	return $email->render();	
}

function frontendusers_email_wantedVariables ()
{
	return (array("email"));	
}

function frontendusers_email_canonicalVariables ()
{	
	return array("email" => i18n("E-Mail:.", "frontendusers_email"));
}

function frontendusers_email_getvalue ($field)
{
	global $feuser;
	if ($field == "email")
	{
		return $feuser->getProperty("address", "email");
	}
}

function frontendusers_email_store ($variables)
{
	global $feuser;
	
	if (!array_key_exists("email",$variables))
	{
		return false;	
	} else {
		$feuser->setProperty("address", "email", $variables["email"]);
		return true;
	}
}

?>
- Da dieses Feld nicht hinterlegt ist, geht natürlich auch die Funktion Passwort vergessen nicht.
- Beim Versuch einen neuen Benutzer zu registrieren, wird dieser leider nicht angelegt.

Kann du bitte nicht einmal diese aktuelle Version für die 4.8.12 bereitstellen?

Vielen Dank im vorraus
Fips

Axel
Beiträge: 82
Registriert: Di 26. Aug 2003, 08:35
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von Axel » Fr 26. Feb 2010, 12:34

Hi zusammen,

prima Sache diese Frontenduser/Profildaten Kombi - klappt prima, auch unter 4.8.12
Ich suche und suche, finde aber nicht heraus welche Routine das Login überprüft. Bei falschem Login dauert es zu lange bis die Seite angezeigt wird und man landet wieder auf der Startseite. Schöner wäre eine flotte Anzeige einer login-error-page. Weiß jemand wo ich diese angeben kann?

Danke
Axel

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von Fips » Mo 1. Mär 2010, 11:25

Hallo Axel,
ich habe auch das Tool in die 4.8.12 eingebaut, aber leider werden die E-Mail-Adressen im Backend nicht angezeigt. Funktioniert dies bei Dir?
Wenn ja, kannst du nicht einmal das Verzeichnis frondenuser im plugin Ordner posten.

Vielen Dank

Fips

Axel
Beiträge: 82
Registriert: Di 26. Aug 2003, 08:35
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profildaten

Beitrag von Axel » Mo 1. Mär 2010, 15:10

Hallo Fips,

die E-Mail ist bei den Frontendusern nicht vorgesehen - fehlt bei mir auch, allerdings auch nicht nötig, denn die MAiladressen werden ja automatisch bei den NEwslettern-USern eingetragen. Das Modul macht ja "nix anderes" als zusätzlich zu den Newsletter-Empfänger auch Frontenduser anzulegen.

Hilft dir das?
HAst du ev. eine IDee zu meiner Frage?

Gruß
AXel

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Frontenduser - Newsletter - Kombi + individuelle Profild

Beitrag von stefkey » Mi 10. Apr 2013, 14:21

Hallo,

ich nutze das Modul in Contenido Version 4.8.12. Es funktioniert soweit fast alles.
Leider klappt die "Passwort ändern" Funktion nicht. Sobald ich auf OK klicke auf der Passwort ändern-Seite gehts wieder zur Startseite obwohl eine Bestätigung laut Modulcode ausgegeben werden soll. Hier das Modul:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Passwort ändern
* Author(s)   :     HerrB
* Copyright   :     HerrB
* Created     :     31.03.2006
************************************************/

cInclude("classes", "class.frontend.users.php");

$frontendusers = new FrontendUserCollection;
$frontendusers->select("idclient = '$client' AND username = '".urlencode($auth->auth[uname])."'");
if ($frontenduser = $frontendusers->next()) {
   $idfrontend    = $frontenduser->get("idfrontenduser");

   $strMsg = "";

   if ($_REQUEST["action"] == "save") {
      if ($_REQUEST["oldpw"] != "" || $_REQUEST["newpw1"] != "" || $_REQUEST["newpw2"] != "") {
         if ($_REQUEST["oldpw"] == "") {
            $strMsg = mi18n("If changing the password please provide the current password.");
         } else if ($_REQUEST["newpw1"] == "" || $_REQUEST["newpw2"] == "") {
            $strMsg = mi18n("If changing the password please specify new password and retype the new password to avoid typos.");
         } else if (md5($_REQUEST["oldpw"]) != $frontenduser->get("password")) {
            $strMsg = mi18n("Old password is wrong.");
         } else if ($_REQUEST["newpw1"] != $_REQUEST["newpw2"]) {
            $strMsg = mi18n("If changing the password the new password and the retyped new password must be equal.");
         } else if (strlen($_REQUEST["newpw1"]) > 24) {
             $strMsg = mi18n("If changing the password please specify a new password with 24 characters max..");
         } else if (strlen($_REQUEST["newpw1"]) < 6) {
             $strMsg = mi18n("If changing the password please specify a new password with at least 6 characters.");
         }
      }
 
      if ($strMsg == "" && $_REQUEST["oldpw"] != "") {
        $frontenduser->set("password", $_REQUEST["newpw1"]);
        $frontenduser->store();
        $strMsg = mi18n("Changes has been saved.");
      } else {
        $strMsg = '<font color="#FF0000">'.$strMsg.'</font>';
      }
   }

   echo '<form name="frmProfile" method="post" action="'.$auth->url().'">',chr(10);
   echo '  <table cellspacing="0"> ',chr(10);
   echo '    <tr>',chr(10);
   echo '      <td colspan="2"><p>'.mi18n("Change Password:").'</p></td>',chr(10);
   echo '    </tr>',chr(10);
   if ($strMsg != "") {
      echo '    <tr>',chr(10);
      echo '      <td colspan="2"><p> -- '.$strMsg.' -- </p></td>',chr(10);
      echo '    </tr>',chr(10);
   }
   echo '    <tr>',chr(10);
   echo '    <tr>',chr(10);
   echo '      <td style="width: 150px;"><p>'.mi18n("Old password:").'</p></td>',chr(10);
   echo '      <td class="detail_text"><input name="oldpw" type="password" size="24" maxlength="24"></td>',chr(10);
   echo '    </tr>',chr(10);
   echo '    <tr>',chr(10);
   echo '      <td style="width: 150px;"><p>'.mi18n("New password:").'</p></td>',chr(10);
   echo '      <td><input name="newpw1" type="password" size="24" maxlength="24"></td>',chr(10);
   echo '    </tr>',chr(10);
   echo '    <tr>',chr(10);
   echo '      <td style="width: 150px;"><p>'.mi18n("Retype password:").'</p></td>',chr(10);
   echo '      <td><input name="newpw2" type="password" size="24" maxlength="24"></td>',chr(10);
   echo '    </tr>',chr(10);
   echo '    <tr>',chr(10);
   echo '      <td style="width: 150px;">&nbsp;</td>',chr(10);
   echo '      <td><input type="hidden" name="action" value="save"><input class="submit" name="subscribe" type="submit" id="subscribe" value="'.mi18n("OK").'"></td>',chr(10);
   echo '    </tr>',chr(10);
   echo '  </table>',chr(10);
   echo '</form>',chr(10);
}
?>
Hat jemand eine Lösung für das Problem?

Gesperrt