Kann man das irgendwie aktivieren, oder muss man das "per hand" einbauen!? Hat schon jemand Erfahrungen damit gemacht, bzw. weiß jemand einen guten Link?
LG - Simon
Kann man das irgendwie aktivieren, oder muss man das "per hand" einbauen!? Hat schon jemand Erfahrungen damit gemacht, bzw. weiß jemand einen guten Link?
LG - Simon
Bin schon ein Schritt weiter. In der Datei: class.tx_cwtcommunity_pi1.php muss ich vor dem return $content; (ca. 1477) die Mailfunktion einbauen.
Jetzt meine neue Frage, wie bekomme ich raus, welcher User die Nachricht verschickt? Und dann, ob der User, an den es geht, ob der Online ist.
LG - Simon
Hallo Simon,
wenn ich mich recht entsinne ging das (nur) über einen Cronjob. Da ich inzwischen auf das mm_forum umgestiegen bin, kann ich aber ad hoc nicht sagen, welche Datei angesprochen werden muss...
grüße
claudia
sorry, hab eben mal nachgeschaut. bei mir gingen die PM's über das chc_forum, dort muss die Datei chc_forum/mailer/mailer.php per Cronjob aufgerufen werden, damit die User eine E-Mail Benachrichtigung bekommen.
claudia
Danke Claudia für deine Nachricht. - Ich habe so die Vermutung, dass ich das wohl selber "einbauen" muss. Wer die Nachricht verschickt und wer sie empfängt, kann ich über die URL auslesen: &action=getviewmessagesnew&recipient_uid=3
Jetzt müsste ich nur noch aus der Tabelle ausfindig machen, wer der User ist, ob er online ist und dann über mail() die Nachricht verschicken? - Oder sieht da jemand ein Problem?
LG - Simon
So geht es:
$empfaenger = $_GET["recipient_uid"];
$abfrage = "SELECT email FROM fe_users WHERE uid = ".$empfaenger;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$emailempfaenger = $row->email;
}
mail($emailempfaenger, "Du hast eine neue Nachricht erhalten", "Also auf und lesen!");
Das muss in die Funktion: function getViewMessagesNewResult($uid, $recipient_uid) eingebaut werden (ca. Zeile Nr.: 1460). Datei: class.tx_cwtcommunity_pi1.php.
Jetzt intressiert mich allerdings, wie ich die zwei "variablen" Betreff und Text über das BE editieren kann??? Wie muss ich das coden?
LG - Simon
PS: ob der User online / offline ist, habe ich (noch) nicht eingebaut...
Hallo,
ich bekomme da folgende Fehlermeldung:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /xxx/xxxxxx/xxxxxx/typo3conf/ext/cwt_community/pi1/class.tx_cwtcommunity_pi1.php on line 1878
Warning: Cannot modify header information - headers already sent by (output started at /xxx/xxxxxx/xxxxxx/typo3conf/ext/cwt_community/pi1/class.tx_cwtcommunity_pi1.php:1878-) in /xxx/xxxxxx/xxxxxx/typo3_src/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2898
und die Mail wird auch nicht rausgeschickt?!!?
Wo ist der Fehler?
Grüße
Dario
Hi Dario,
nachdem du ja die Datei modifiziert hast, poste doch mal bitte den Code um die Zeile rum... (Nur die erste Fehlermeldung, die zweite verschwindet, wenn die erste weg ist)
LG - Simon
Hallo Simon,
hier kommt der Code
function getViewMessagesNewResult($uid, $recipient_uid)
{
// Init Vars
$action = "getviewmessagesnewresult";
$content = "";
$cObj = $this -> cObj; //Holds a typo content object
$templateCode = null; //Hold the template source code.
$conf["subpartMarker"] = "VIEW_MESSAGES_NEW_RESULT"; //Holds a subpart marker.
$subSub_1 = "ADDITIONAL";
// Get the html source between subpart markers from template file
$templateCode = $cObj -> getSubpart($this -> orig_templateCode, "###" . $conf["subpartMarker"] . "###");
$empfaenger = $_GET["recipient_uid"];
$abfrage = "SELECT email FROM fe_users WHERE uid = ".$empfaenger;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$emailempfaenger = $row->email;
}
mail($emailempfaenger, "Sie haben eine neue Nachricht erhalten", "Also auf und lesen!");
/*
* HANDLE ADDITIONAL
*/
// Init subpart content
$subpartContent = null;
// Get link to messages
$linkToMessages = $this -> pi_getPageLink($GLOBALS['TSFE']->id, "", array("action" => "getviewmessages", "uid" => $uid));
Probier mal, den einzfügenden Code ganz ans Ende der Funktion zu stellen. Also "$empfaenger = $_GET["recipient_uid"];" kommt nach "$content = $templateCode;"
Und Erfolg gehabt? (Wenn nicht, poste mal die ganze Funktion und markier mit dir "Felerzeile")
LG
Kein Fehlermeldung aber auch keine E-Mail.
LG
Dario
Dann füge mal vor die Zeile Mail(...); die Zeile "echo $row->email;" ein. Wenn er dort die eMailadressen auflistet, dann ersetzte mal die Zeile durch "echo $emailempfaenger;" - was passiert dann?
NICHTS,
keine Auflistung, kein Fehlermeldung, keine E-Mail
#angry# #angry# #angry# #angry#
Grüße
Dario
Okay... und mit
echo $empfaenger;
? (da müsste er dir ganz oben rechts eine Zahl hinschreiben, drunter eine Fehlermeldung)
Neee,
macht er nicht.
"Die Nachricht wurde gesendet.."
Keine weitere Meldungen oder Fehler
Du hast noch nicht viel mit PHP gemacht, oder? Mir fällt gerade auf (und ein) dass du wahrscheinlich das "return" vor der mail-funktion hast? (ansonsten müssen wir das mal per Mail weiterführen, da ich mir am leichtesten tu, wenn ich die "Dinge" vor mir habe und ggf. selber testen kann...
LG - Simon
Anbei noch mal die Funktion:
function getViewMessagesNewResult($uid, $recipient_uid)
{
// Init Vars
$action = "getviewmessagesnewresult";
$content = "";
$cObj = $this -> cObj; //Holds a typo content object
$templateCode = null; //Hold the template source code.
$conf["subpartMarker"] = "VIEW_MESSAGES_NEW_RESULT"; //Holds a subpart marker.
$subSub_1 = "ADDITIONAL";
// Get the html source between subpart markers from template file
$templateCode = $cObj -> getSubpart($this -> orig_templateCode, "###" . $conf["subpartMarker"] . "###");
/*
* HANDLE ADDITIONAL
*/
// Init subpart content
$subpartContent = null;
// Get link to messages
$linkToMessages = $this -> pi_getPageLink($GLOBALS['TSFE']->id, "", array("action" => "getviewmessages", "uid" => $uid));
// Create Marker Array
$markerArray = array();
$markerArray["###LINK_TO_MESSAGES###"] = $cObj -> stdWrap($linkToMessages, "");
$markerArray["###SENT_MSG###"] = $cObj->stdWrap(htmlspecialchars($this->pi_getLL('CWT_MESSAGES_SENT')), ""); # mher
$markerArray["###BACK###"] = $cObj->stdWrap(htmlspecialchars($this->pi_getLL('CWT_MESSAGES_BACK')), ""); # mher
// Substitute the markers in the given sub sub part.
$subpartContent .= $cObj -> substituteMarkerArray($cObj -> getSubpart($templateCode, "###" . $subSub_1 . "###"), $markerArray);
// Substitute the template code with the given subpartcontent.
$templateCode = $this -> cObj -> substituteSubpart($templateCode, $subSub_1, $subpartContent);
// Return the generated content
$content = $templateCode;
###marker - email###
$empfaenger = $_GET["recipient_uid"];
$abfrage = "SELECT email, gender, first_name, last_name FROM fe_users WHERE uid = ".$empfaenger;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$emailempfaenger = $row->email;
$geschlecht = $row->gender;
$vorname = $row->first_name;
$nachname = $row->last_name;
}
if($geschlecht == "0")
{
$anrede = "Lieber ";
}
else
{
$anrede = "Liebe ";
}
#echo $empfaenger;
mail($emailempfaenger, "Eine neue Nachricht", $anrede.$vorname."\nDu hast eine neue Nachricht erhalten.")
return $content;
}
Neee, daran liegt es nicht!
das "return" habe ich schon an richtiger Stelle.
Grüße
Dario
poste doch bitte mal deine funktion!
function getViewMessagesNewResult($uid, $recipient_uid)
{
// Init Vars
$action = "getviewmessagesnewresult";
$content = "";
$cObj = $this -> cObj; //Holds a typo content object
$templateCode = null; //Hold the template source code.
$conf["subpartMarker"] = "VIEW_MESSAGES_NEW_RESULT"; //Holds a subpart marker.
$subSub_1 = "ADDITIONAL";
// Get the html source between subpart markers from template file
$templateCode = $cObj -> getSubpart($this -> orig_templateCode, "###" . $conf["subpartMarker"] . "###");
/*
* HANDLE ADDITIONAL
*/
// Init subpart content
$subpartContent = null;
// Get link to messages
$linkToMessages = $this -> pi_getPageLink($GLOBALS['TSFE']->id, "", array("action" => "getviewmessages", "uid" => $uid));
// Create Marker Array
$markerArray = array();
$markerArray["###LINK_TO_MESSAGES###"] = $cObj -> stdWrap($linkToMessages, "");
$markerArray["###SENT_MSG###"] = $cObj->stdWrap(htmlspecialchars($this->pi_getLL('CWT_MESSAGES_SENT')), ""); # mher
$markerArray["###BACK###"] = $cObj->stdWrap(htmlspecialchars($this->pi_getLL('CWT_MESSAGES_BACK')), ""); # mher
// Substitute the markers in the given sub sub part.
$subpartContent .= $cObj -> substituteMarkerArray($cObj -> getSubpart($templateCode, "###" . $subSub_1 . "###"), $markerArray);
// Substitute the template code with the given subpartcontent.
$templateCode = $this -> cObj -> substituteSubpart($templateCode, $subSub_1, $subpartContent);
// Return the generated content
$content = $templateCode;
// E-Mail Benachrichtigung
$empfaenger = $_GET["recipient_uid"];
$abfrage = "SELECT email FROM fe_users WHERE uid = ".$empfaenger;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) !!! DAS IST FEHLERZEILE !!!
{
$emailempfaenger = $row->email;
}
// echo $row->email;
mail($emailempfaenger, "Sie haben eine neue Nachricht erhalten", "Also auf und lesen!");
return $content;
}
Uff... also jetzt bin ich echt überfragt. Bei mir läuft es so wie du es gepostet hast. Versuche folgendes, dass du die mail() Zeile wie folgt umstellst:
mail("deine@emai.de", "Eine neue Nachricht", "text");
Setze da mal deine richtige Mail rein und schau ob du eine eMail erhälst... Der Code wird bei mir ausgeührt, bei dir scheinbar nicht. Also von hier aus kann ich dir nicht mehr viel helfen. Also entweder liegen alle Mails im Spam oder was weiß ich! 🙂
LG - Simon