pragmaMx Support Forum

pragmaMx => Coder und Bastlerecke => Thema gestartet von: Eismann1976 in 02 Januar 2009, 12:45:05

Titel: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 02 Januar 2009, 12:45:05
Hallo,

ich möchte gern in einem Begrüßungsmodul die User mit Ihrem Usernamen ansprechen.
Außerdem soll bei Aufruf des Moduls eine PM mit einem festen Text Der User "xyz" gehört jetzt auch zu uns an eine bestimmte Benutzergruppe verschickt werden.
Zum schluss soll eine Email an eine vorher definierte Adresse verschickt werden, in der auch ein fester Text sowie der Username stehen.

Also Alles nacheinander

1.

Ein normales Modul ist ja kein Problem:

<?php

defined
('mxMainFileLoaded') or die('access denied');

$GLOBALS["index"] = 1;

include(
"header.php");

?>


<p>Hallo,</p>

<p>Hier noch nen bisserl Text ect.
<?PHP

include("footer.php");

?>


Nur wie bekomm ich hinter dem "Hallo den Usernamen desjenigen der das Modul aufruft?
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: GerhardSt in 02 Januar 2009, 13:19:27
Hi Eismann1976,

da du ja immer den Usernamen des geraden eingeloggten Users haben willst. Geht das meiner Meinung am schnellsten mit folgendem Code:        $usersession = mxGetUserSession();
        $username = $usersession[1];


Dann brauchst du nur z.B. Hallo $username einfügen ;)
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 02 Januar 2009, 13:26:53
Hi Gerhard,

also so

<?php

defined
('mxMainFileLoaded') or die('access denied');

$GLOBALS["index"] = 1;
$usersession mxGetUserSession();
$username $usersession[1];

include(
"header.php");

?>


<p>Hallo, $username </p>

<p>Hier noch nen bisserl Text ect.

<?PHP

include("footer.php");

?>


hatte ich das heute schonmal. Das klappt so nicht.   :quest
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: GerhardSt in 02 Januar 2009, 13:41:10
Nein, doch nicht so, die Variable sollte schon im PHP-Code sein.
Versuchs mal so, das funktioniert bei mir.
<?php

defined
('mxMainFileLoaded') or die('access denied');

$GLOBALS["index"] = 1;
$usersession mxGetUserSession();
$username $usersession[1];

include(
"header.php");

echo 
"Hallo," $username;

echo 
"<p>Hier noch nen bisserl Text ect.";

include(
"footer.php");

?>

Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 02 Januar 2009, 14:14:32
Danke,

das konnte ich für meine Zwecke noch nen bisserl ändern aber funktioniert.

Als nächstes soll eine PM an alle Mitglieder einer Benutzergruppe verschickt werden sobald das Modul aufgerufen wird.

Im Text soll auch wieder der User genannt werden der dieses Modul aufruft.

Das es geht weiß ich, nur hab ich den entsprechenden Codeschnippsel verbummelt.

Kann mir da Jemand helfen ?
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: GerhardSt in 02 Januar 2009, 15:39:38
Bitte!

Zum versenden einer PM, brauchst du nur in der Tabelle priv_msgs die entsprechenden Daten eintragen lassen.

Gruß Gerhard
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 02 Januar 2009, 19:50:54
Vom Prinzip her ist mir das klar. Nur wie die Abfrage genau aussehen muss bin ich noch am rumüberlegen.
Wie gesagt, ich hatte den Codefetzen ja schonmal laufen. Nur bekomm ich das nichtmehr zusammen.   :red:
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: GerhardSt in 02 Januar 2009, 20:46:31
Hi Eismann,

wenn dir so ein Beispiel Codefetzen wirklich reicht, dann müsste das hier reichen:sql_query("INSERT INTO " . $prefix . "_priv_msgs (subject, from_userid, to_userid, msg_time, msg_text) values('$subject','" . $usersession[0] . "','$uid',now(),'$text')");

Sonst glaube ich eher daran, du hoffst, das dir hier wer ein ganzes Modul codet :gruebel:
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 02 Januar 2009, 21:24:00
Hallo Gerhard,

danke für Deine Bemühungen.

Das Modul macht natürlich noch so paar Sachen mehr. Neue bzw. geänderte Benutzeregeln für spezielle Gruppen anzeigen und die Möglichkeit zum Annehmen oder Ablehnen geben. Die User werden dann in eine andere Gruppe verschoben. Entweder in die besondere Benutzergruppe (Annehmen) oder halt in die normale Benutzergruppe (Ablehnen).
Dabei werden die Regeln mit dem normalen Contenmodul erstellt und eingebunden. So kann man das mit verschiedenen Gruppen machen ohne alles doppelt schreiben zu müssen. Also doch etwas aufwändiger.
Im Grunde sind das gerade kosmetische Korrekturen. Ich finds aber sehr praktisch.

Der Codefetzen von Dir ist ja der normale wenn ein User dem andern ne PM schickt. Ich brauchs ja etwas anders.

Erst müssen in der Tabelle _users alle User mit  dem Wert "x" im Feld user_ingroup ausgelesen werden.
Danach kann erst der Eintrag in die Tabelle _priv_msgs gemacht werden.

Ich hab gerade das alte Modul gefunden wo ich das schonmal ausgebaut hatte. Jetzt probier ich mal.
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: Eismann1976 in 03 Januar 2009, 12:28:04
Moin   :morning:

Das mit den PM´s hab ich nun hinbekommen. Kann mir bitte noch wer einen Tip geben wie ich beim Aufruf des Moduls automatisch eine Email mit dem Namen des Users der das Modul aufruft an eine festgelegte Adresse verschicke.
Titel: Re: Username in eigenem Modul ausgeben
Beitrag von: GerhardSt in 03 Januar 2009, 12:50:26
Moin Eismann,

alles was du brauchst, findest du eigentlich in der PM-Erwweiterung ;)

Gruß Gerhard