Wenn ich beim schnellen überfliegen mich nicht irre ist es wohl folgender Abschnitt in der controller.php im Verzeichnis components\com_user in dem die Änderungen vorgenommen werden müßten in der Variablen $message :
PHP-Code:
function _sendMail(&$user, $password)
{
global $mainframe;
$db =& JFactory::getDBO();
$name = $user->get('name');
$email = $user->get('email');
$username = $user->get('username');
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$sitename = $mainframe->getCfg( 'sitename' );
$useractivation = $usersConfig->get( 'useractivation' );
$mailfrom = $mainframe->getCfg( 'mailfrom' );
$fromname = $mainframe->getCfg( 'fromname' );
$siteURL = JURI::base();
$subject = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject = html_entity_decode($subject, ENT_QUOTES);
if ( $useractivation == 1 ){
$message = sprintf ( JText::_( 'SEND_MSG_ACTIVATE' ), $name, $sitename, $siteURL."index.php?option=com_user&task=activate&activation=".$user->get('activation'), $siteURL, $username, $password);
} else {
$message = sprintf ( JText::_( 'SEND_MSG' ), $name, $sitename, $siteURL);
}
$message = html_entity_decode($message, ENT_QUOTES);
//get all super administrator
$query = 'SELECT name, email, sendEmail' .
' FROM #__users' .
' WHERE LOWER( usertype ) = "super administrator"';
$db->setQuery( $query );
$rows = $db->loadObjectList();
// Send email to user
if ( ! $mailfrom || ! $fromname ) {
$fromname = $rows[0]->name;
$mailfrom = $rows[0]->email;
}
JUtility::sendMail($mailfrom, $fromname, $email, $subject, $message);
// Send notification to all administrators
$subject2 = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject2 = html_entity_decode($subject2, ENT_QUOTES);
// get superadministrators id
foreach ( $rows as $row )
{
if ($row->sendEmail)
{
$message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username);
$message2 = html_entity_decode($message2, ENT_QUOTES);
JUtility::sendMail($mailfrom, $fromname, $row->email, $subject2, $message2);
}
}
}
}
?>
Danach ist dann noch eine Ergänzung in den entsprechenden ini Sprachdateien (de-DE.com_user.ini sowie in en-GB.com_user.ini usw.) erfoderlich falls die e-mail nicht ausschließlich nur in deutscher Sprache gesendet werden soll. Außerdem ist es nach jedem Joomla-Update erforderlich diese von dir geänderten Datei/en zu prüfen und falls erforderlich die Änderungen an der Datei wieder entsprechend durchzuführen. Dies ist erforderlich weil diese Datei/en ein Bestandteil des Joomla-Core ist.
Es ist deshalb sehr sinnvoll von der veränderten controller.php und (falls auch geändert) ini Sprachdateien gleich eine Sicherheitskopie an einem sicheren Ort abzuspeichern damit du die Veränderungen schnell wieder nachvollziehen kanst. Das kann auch zusätzlich im gleichen Joomla!-Verzeichnis
z.B. unter dem Dateinamen duplikat-eigener-controller.php auf der Website sein.
Was die Veränderung der Sprachdateien betrifft findet man in der (de-DE.com_user.ini sowie in der en-GB.com_user.ini usw.) folgende Abschnitte (SEND_MSG und SEND_MSG_ACTIVATE) die nach Wunsch geändert werden könnten:
Code:
SEND_MSG=Hallo %s,\n\nVielen Dank für Ihrer Registrierung auf %s.\n\nSie können sich jetzt auf "%s" mit Ihrem Benutzernamen und Passwort anmelden.
SEND_MSG_ACTIVATE=Hallo %s,\n\nVielen Dank für die Registrierung auf "%s". Ihr Benutzerkonto wurde angelegt und muss aktiviert werden, bevor Sie es nutzen können.\nUm Ihr Benutzerkonto zu aktivieren, klicken Sie bitte auf folgenden Link oder kopieren ihn per Kopieren/Einfügen in Ihren Browser:\n%s\n\nNach der Aktivierung können Sie sich auf "%s" mit folgenden Benutzerdaten anmelden:\n\nBenutzername - %s\nPasswort - %s
Für alle Ahnungslosen: das %s steht immer für das einfügen des Inhalts der entrprechenden Variablen in der in diesem falle controller.php
Nun hoffe ich nur das ich damit nicht allzuviel Verwirrung gestiftet habe.
Ich wünsche allen auch noch einen guten Rutsch ins neue Jahr !
Lesezeichen