Danke für den Tipp, leider habe ich das auch schon versucht. Ich habe das in die Add Funktion eingefügt, wo die Daten in die DB geschrieben werden:
PHP-Code:
function addNew() {
// security check
if (!JRequest::checkToken()) return '0|Invalid Token';
// check if user is logged (if required)
if ($this->params->get('disable_guests', 0)) {
$user = &JFactory::getUser();
if ($user->guest) return '0|' . JText::_('CDTASTYMONIALS_LOGIN_FIRST');
}
$data['firstname'] = JRequest::getString('firstname', '', 'post');
$data['lastname'] = JRequest::getString('lastname', '', 'post');
$data['email'] = JRequest::getString('email', '', 'post');
$data['website'] = JRequest::getString('website', '', 'post');
$data['kundennummer'] = JRequest::getString('kundennummer', '', 'post');
$data['alter'] = JRequest::getString('alter', '', 'post');
$data['ort'] = JRequest::getString('ort', '', 'post');
$data['geschlecht'] = JRequest::getString('geschlecht', '', 'post');
$data['rating'] = (int) JRequest::getInt('rating', 5, 'post');
$data['rating2'] = (int) JRequest::getInt('rating2', 5, 'post');
$data['rating3'] = (int) JRequest::getInt('rating3', 5, 'post');
$data['rating4'] = (int) JRequest::getInt('rating4', 5, 'post');
$data['rating5'] = (int) JRequest::getInt('rating5', 5, 'post');
$data['rating6'] = (int) JRequest::getInt('rating6', 5, 'post');
$data['rating7'] = (int) JRequest::getInt('rating7', 5, 'post');
$data['text'] = JRequest::getString('text', '', 'post');
$autopublish = $this->params->get('autopublish', 0);
if ($autopublish) $data['published'] = 1; // autopublish
$text_minlength = (int) $this->params->get('text_minlength', 0);
$text_maxlength = (int) $this->params->get('text_maxlength', 0);
$row = $this->dbInstance();
if (!$row->bind($data)) return '0|' . $row->getError();
if (!$row->check($text_minlength, $text_maxlength)) return '0|' . $row->getError();
if (!$row->store()) return '0|' . $row->getError();
if ($autopublish) return JText::_('CDTASTYMONIALS_APPROVED');
//$recipientMail = "ma.....t@gmx.de"
$mail =& JFactory::getMailer();
$mail->From = '......t@gmx.de';
$mail->FromName = 'My Plugin';
$mail->AddAddress('ma....t@gmx.de', 'M. R.');
$mail->setSubject($subject);
$mail->setBody($body);
$sendOk = $mail->Send();
$error = $mail->IsError();
if($error == true) { // send errors?
$errorMsg = ' Last error: '. $mail2send->ErrorInfo ;
$errorMsg .= ' Description: ' . print_r($sendOk->getErrors(), true);
echo $errorMsg;
}
return JText::_('CDTASTYMONIALS_SUCCESS');
}
Wenn ich einen Eintrag mache und auf Absenden klicken wird normalerweise diese Funktion ausgeführt...und somit müsste ja auch die Mail mit versendet werden. Nur da kommt nix.
Noch einen Tipp parat?
DANKE!
EDIT: Ich habe den Fehler gefunden
Ich muss die Mail-Funktion ja vor dem "if ($autopublish) return JText::_('CDTASTYMONIALS_APPROVED');" setzen und nicht dahinter...daher wurde sie nicht ausgeführt.
Danke noch mal für die Tipps!
Lesezeichen