PN´s per E-Mail mit Absenderangabe

Begonnen von GerhardSt, 05 August 2006, 09:25:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

GerhardSt

Hallo ich habe die PN´s als E-Mail Funktion von hier http://www.pragmamx.org/modules.php?name=Forum&topic=17935.0;topicseen eingebaut.
Ich möchte diese aber ein wenig ändern. In der E-Mail-Benachrichtigung soll man auch erfahren von wem man eine PN erhalten hat.
Gibt es schon eine Variable für den Absender oder wie kann man so etwas einbauen?
Danke für Eure Hilfe, Gerhard!

wave

@ GerhardSt sag mal funktioniert die funktion bei dir??
bin schon seit ewigkeiten auf der suche nach dieser funktion, aber hier wird das ja leider nicht umgesetzt!
kannst du mir da weiter helfen?
lg

GerhardSt

@wave
Ich habe die Funktion gerade auf meiner Homepage eingebaut, bis jetzt funktioniert´s problemlos.
Ich habe einfach nur die Änderungen von schnikemike hier http://www.pragmamx.org/modules.php?name=Forum&topic=17935.0;topicseen bei mir eingefügt und angepaßt.
Der Fehler den schnikemike im letzten Post beschreibt, ist bei mir nicht aufgetreten, er muß wohl irgendetwas nicht richtig geändert haben.
lg Gerhard!

wave

oje.. da blickt ja wieder keiner genau durch.. vor lauter posts und änderungen!
hast du da was genaueres??
also welcher code, wo rein muß?
danke und lg

jubilee

@GerhardSt: Den Absendernamen kannst du als 7. Parameter bei mxMail einsetzen:
Bezogen auf den anderen Thread heisst das :
ZitatmxMail($touser_email, "$subject", $message, $GLOBALS['adminmail'],"text","PM-Mail", "Hierder Absendename");

Absendemane muss ein String sein, kann als Variable oder als Text (in Anführungszeichen wie im Beispiel)
übergeben werden.

Mfg




wave


GerhardSt

@jubilee
Danke für die schnelle Antwort, aber ich meinte den Absender der PN.
Also
Zitatlist($touser_uname,$touser_email,$user_pm_mail,) = sql_fetch_row(sql_query("SELECT uname, email, user_pm_mail FROM ".$user_prefix."_users WHERE uid='$to_userid'", $dbi), $dbi);
$message = "Hallo $touser_uname,\nDu hast auf ... eine neue Private Nachricht von (Hier sollte der Absender der PN stehen) erhalten.

GerhardSt

@wave
Wo kommst du da nicht weiter?
Befolge einfach die ganzen Angaben die schnikemike am 4. August um 23:43 hier http://www.pragmamx.org/modules.php?name=Forum&topic=17935.0;topicseen gepostet hat.
So hat es bei mir funktioniert oder gibt´s da bei dir irgenwelche Fehlermeldungen?
lg Gerhard!

wave

weil da wieder auf xxx verschiedene links verwiesen wird und ich nihct genau weiß, was nun der richtige ist! einfach ein riesen durcheinander!

GerhardSt

Zitat von: wave am 05 August 2006, 21:34:41
weil da wieder auf xxx verschiedene links verwiesen wird und ich nihct genau weiß, was nun der richtige ist! einfach ein riesen durcheinander!
Die Links die du dort findest, brauchst du nicht beachten. Das sind nur die Quellen von denen der Code eigentlich stammt.
lg. Gerhard!

wave

jo und am ende gibts ja wieder nen fehler, der anscheinend noch nicht behoben ist?!?!

GerhardSt

Zitat von: wave am 06 August 2006, 18:04:12
jo und am ende gibts ja wieder nen fehler, der anscheinend noch nicht behoben ist?!?!
Wie ich bereit´s vorher geschrieben habe, funktioniert´s bei mir fehlerfrei. Du mußt nur deine Domain einfügen und mit phpmyadmin eine neue Zeile in deiner mx...._users anlegen. Sonst sind nur die Codes in den Dateien einzufügen.

schnikemike

Zitat von: GerhardSt am 05 August 2006, 10:31:14
@wave
Ich habe die Funktion gerade auf meiner Homepage eingebaut, bis jetzt funktioniert´s problemlos.
Ich habe einfach nur die Änderungen von schnikemike hier http://www.pragmamx.org/modules.php?name=Forum&topic=17935.0;topicseen bei mir eingefügt und angepaßt.
Der Fehler den schnikemike im letzten Post beschreibt, ist bei mir nicht aufgetreten, er muß wohl irgendetwas nicht richtig geändert haben.
lg Gerhard!

Hi.

Kannst du mir mal deine geänderte Datei  "index.php" aus der  /Private_Messages  hier anhängen oder mir schicken?


Dann kann ich mal vergleichen wie du es gemacht hast vielleicht komm ich so auf den Fehler.


Welche Version  von MX verwendest du?

LG
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

wave

oh ja.. die würd mich auch mal interessieren!

schnikemike

#14
hab es grad wieder gelöscht da oben schon beschrieben sch :lesen:


Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

wave

ach menno.. jetzt wird schon wieder hier auf zig sachen verlinkt.. da blickt keiner durch!
vielleicht wäre es sinnvoll hier mal ne genaue anleitung von GerhardSt  rein zu posten, was genau wo rein muß! bei ihm funzt es ja schließlich!
das wär das einfachste!!
DANKE

schnikemike

Hab es ja hier schon zusammengeschrieben.



http://www.pragmamx.org/modules.php?name=Forum&topic=17935.0;topicseen


Aber irgendwo ist eben wohl noch ein Fehler.  könnte natürlich auch ein Serverproblem sein.


aber hier geht es ja um die erweiterung das man sieht von welchem user die nachricht ist und nicht um den einbau der erweiterung und Probleme damit .(hab mich leider auch nicht dran gehalten)


Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

GerhardSt

Hallo, ich benutze die aktuelle Version 1.8.1 und habe folgende Änderungen durchgeführt: ACHTUNG rot geschriebenes muß angepaßt  werden

In der Tabelle mx{Prefix}_users per Phpmyadmin folgenden SQL-Befehl ausführen.
ZitatUPDATE `mx{Prefix}_users`SET `user_pm_mail`='1' WHERE `user_pm_mail`='0';

In der Datei Your_Account/edithome.php nach
Zitatecho "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><font class=\"content\">"._YA_PMPOPTIME1."</font></td>"
."<td bgcolor=\"$bgcolor3\" colspan=\"2\">"._YA_PMPOPTIME3." <select name=\"user_pm_poptime\">".$options."</select> <span class=\"tiny\">"._YA_PMPOPTIME2."</span></td></tr>";
}
das einfügen (ab Zeile 113)
Zitat#### hier jetzt der neue Code für die Mail-Checkbox #######
$pn_mail = (empty($userinfo['user_pm_mail'])) ? "" : "checked";
$user_pm_mail = (empty($userinfo["user_pm_mail"]))  ? 0 : (int)$userinfo["user_pm_mail"];
echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><font class=\"content\">Bei neuer PN informieren:</font></td>"
."<td bgcolor=\"$bgcolor3\" colspan=\"2\"><INPUT TYPE=\"CHECKBOX\" NAME=\"user_pm_mail\" VALUE=\"1\" ".$pn_mail."> <span class=\"tiny\">Bei einer neuen PN werden Sie vom System per Email informiert.</span></td></tr>\n";
und nach
Zitat$userinfo["user_pm_poptime"]= (empty($userinfo["user_pm_poptime"])) ? 0 : (int)$userinfo["user_pm_poptime"];
das einfügen (ab Zeile 186)
Zitat$userinfo["user_pm_mail"]= (empty($userinfo["user_pm_mail"])) ? 0 : 1;

In der Datei Private_Messages/index.php nach
Zitatif (MX_IS_ADMIN) {
            $i = 0;
            $result = sql_query("select uid from " . $user_prefix . "_users where user_stat=1 AND uid>1");
            while (list($to_userid) = sql_fetch_row($result)) {
                $qry2 = $qry1 . " VALUES ('" . $arrpostdata["image"] . "', '" . $arrpostdata["subject"] . "', " . $uid . ", " . $to_userid . ", now(), '" . $arrpostdata["message"] . "')";
                $result2 = sql_query($qry2);
                if ($result2) $i++;
            }
        }
    }
das einfügen (ab Zeile 473)
Zitat###Email bei neuer PN wenn User offline ist #####
list($touser_uname,$touser_email,$user_pm_mail) = sql_fetch_row(sql_query("SELECT uname, email, user_pm_mail FROM ".$user_prefix."_users WHERE uid='$to_userid'", $dbi), $dbi);
$message = "Hallo $touser_uname,\nSie haben auf DEINE_DOMAIN.de eine neue Private Nachricht erhalten.
WICHTIG: Beachten Sie, dass dies nur eine Benachrichtigung ist. Bitte antworten Sie nicht auf diese E-Mail.
Ihre Nachricht können Sie hier abholen:\n http://www.DEINE_DOMAIN.de/modules.php?name=Private_Messages\n
=================================================================================
Wenn Sie nicht per Email über neue PN's informiert werden wollen können Sie die Option hier deaktivieren:\nhttp://www.DEINE_DOMAIN.de/modules.php?name=Your_Account&op=edithome";
$subject = "Private Nachricht auf DEINE_DOMAIN.de";
if (!mxIsUserOnline($touser_uname) && ($user_pm_mail ==1))
{
   mxMail($touser_email, "$subject", $message, $GLOBALS['adminmail'],"text","PM-Mail");
}
#######

Im Anhang findet Ihr meine edithome.php die auch bei euch funktionieren müßte und meine index.php die Ihr aber noch auf EURE DOMAIN anpassen müßt!

Jetzt müßte es auch bei Euch funktionieren!
LG. Gerhard!


[gelöscht durch Administrator]

wave

danke du bist ein held!
endlich hats mal jemand geschafft klare aussagen zu machen!
tausend dank!
jetzt muß es nur noch bei mir funzen *hihi*

wave

#19
ups.. der zeigt mir den fehler an wenn ich das ausführ UPDATE `mx{Prefix}_users`SET `user_pm_mail`='1' WHERE `user_pm_mail`='0';: MySQL meldet: 

#1054 - Unknown column 'user_pm_mail' in 'where clause'

was is da falsch?

GerhardSt


wave

ja hab ich! hm.. muß da sonst noch was in der db geändert werden? ne zusätzliche tabell oder so?

GerhardSt

Nein, bei mir hat dieser SQL-Befehl gereicht.
ZitatUPDATE `mx{Prefix}_users`SET `user_pm_mail`='1' WHERE `user_pm_mail`='0';
Diese Zeile ist ja nur für das Ja/Nein E-Mail wenn neue PN.
Kontrollier mal ob du die neue Zeile user_pm_mail in der users-Tabelle hast.

wave


GerhardSt

Wenn´s per SQL-Befehl nicht geht, dann probiers mal manuell.
Leg in der users-Tabelle eine neue Zeile an: Feld => user_pm_mail
Typ => INT
Länge => 1
Standart => 0

Dann mußt du nur noch im Useraccount das Häckchen für´s E-Mail setzen
oder direkt im Phpmyadmin die Zeile user_pm_mail auf 1 setzen, dann müßte es funktionieren.

wave

ich könnt euch knuddeln!
vielen dank!
jetzt funzt alles!
ihr seid spitze!!!!!
*juhu*
endlich schaffts mal jemand mein anliegen zu verwirklichen!
vor allem bei so einer wichtigen funktion.. wäre eigentlich ne super sache, das in zukunft gleich mit einzubauen!!!
DANKE  :thumbup: :thumbup: :thumbup: :D

GerhardSt

Freud mich das es bei dir jetzt auch funktioniert!
Nur möchte ich jetzt zum eigentlichen Thema zurückkommen!
Kennt jemand die Variable für den Absender einer PN in der index.php, oder kann mir wer sagen wie ich die Nummer von $uid zurück in einen Benutzernamen wandeln kann?
Ich möchte in der E-Mailbenachrichtigung sehen von wem ich eine PN bekommen habe!
Danke, Gerhard!

schnikemike

Klasse jetzt funktioniert es bei mir auch.

Hab zwar noch nicht gefunden an was es lag aber werd mir das morgen in ruhr mal anschauen.


LG  und danke fürs posten der Dateien.

Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

schnikemike

Habe da jetzt ein bischen herumexperimentiert.  zwecks dem eigendlichen Thema "mit Absenderangabe".
Hab leider auch noch nix funktionierendes.



Ich denk mal das dürfte funktionieren.


Ist von hier:
http://www.pragmamx.org/modules.php?name=Forum&topic=16638.msg114892#msg114892

Zitat


Den Usernamen etc. kannst du mit der Funktion mxGetUserData() auslesen lassen.. Du Hast danach ein Array:
Code:

<?php
$userA = mxGetUserData();
print_r($userA);
?>



Habs zwar noch nicht hinbekomen aber kling logisch!  ::)
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

jubilee

#29
@gerhardSt, schnikemike

ZitatIch denk mal das dürfte funktionieren.
So bekommst Du nur die Daten des aktuellen Users.
Wenn Du die Daten eines bestimmten Users haben möchtest, von dem Du die uid (z.B.) hast
musst Du das machen
mxGetUserDataFromUid($uid)
Beispiel:

$dieUserdaten = mxGetUserDataFromUid($uid);

Der Username steht dann in

$dieUserdaten['uname']

Die indices im Array heissen genauso wie die einzelnen Tebellenzellen in der Users-Tabelle.
So kann man dort nachsehen, wie welche weiteren Daten aus dem Array auszulesen sind.


MfG

GerhardSt

Danke jubilee, für den Tip!
Funktioniert super!

Mfg Gerhard!

Sitki

Hi  :),
beinhaltet die nächste Version (0.1.9) eventuell diese Funktion?

Gruß
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Sitki

Hi  :),
nachgefragt als Entscheidungsgrundlage dafür, ob ich nun diese Funktion anhand den Angaben installiere oder auf die neue Version warte.

Gruß
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

wave

so.. um hier mal wieder das thema aufzugreifen..
die neue version enthält dieses sinnvolle feature leider nicht!
warum auch immer.. sehr schade!!
jetzt funktioniert leider auch nicht mehr die benachrichtigung per email bei eingehen pn`s!!
wie müßten denn die dateien jetzt neu angepasst werden, damit es wieder funzt??
kann mir da bitte jemand weiter helfen??
vielen dank..
martin

GerhardSt

Hallo wave!
Hier http://www.pragmamx.org/modules.php?name=Forum&topic=19511.msg136268
kannst du dieses komplett mit einem Postausgang downloaden. Wenn du den Postausgang nicht benötigst, sieh dir die index.php an, dort findest du die passenden Änderungen. Achtung ich habe dort alles in die Sprachdateien geschrieben, die müsstest du dann auch mit übernehmen.

Gerhard

Future

Oder alternativ die PM funktion vom SMF Board nutzen.


schnikemike

ds mit  der  pm  vom  smf  ist noch nicht das ware  da  muss noch viel  merh angepasst  werden.


Habe  da schon angefangen. Mangels  zeit leider noch nicht  fertig bekommen.

Der messanger  funktioniert ja  dann  auch nicht. usw. 

am besten wäre  es wenn man die  smf  brige  so anpasst.

LG
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!