[HowTo] Workspaces email
Autor
Nachricht
Verfasst am: 27.04.2006 [14:02]
carsten_bonn [Themenersteller] dabei seit: 27.04.2006 Beiträge: 1
Da ich noch keine Hilfe in Foren zu diesem Problem gefunden habe, hab ich mich dran gesetzt mal die eMail-Benachrichtigung in den Workspaces bei TYPO3 4.0 zu übersetzen. Einfach in der Datei t3lib/class.t3lib_tcemain.php den folgenden Part ersetzen (steht fast ganz am Ende):
Php: Zeilennummerierung:
An /
Aus
function notifyStageChange($stat,$stageId,$table,$id,$comment) {
$workspaceRec = t3lib_BEfunc::getRecord('sys_workspace', $stat['uid']);
if (is_array($workspaceRec)) {
// Compile label:
switch((int)$stageId) {
case 1:
$newStage = 'Bereit zur Kontrolle';
break;
case 10:
$newStage = 'Bereit zur Veröffentlichung';
break;
case -1:
$newStage = 'Element wurde zurückgewiesen!';
break;
case 0:
$newStage = 'Zurückgewiesenes Element wurde zur Kenntnis genommen und nicht überabeitet';
break;
default:
$newStage = 'Unbekannte Statusänderung!?';
break;
}
// Compile list of recipients:
$emails = array();
switch((int)$stat['stagechg_notification']) {
case 1:
switch((int)$stageId) {
case 1:
$emails = $this->notifyStageChange_getEmails($workspaceRec['reviewers']);
break;
case 10:
$emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
break;
case -1:
$emails = $this->notifyStageChange_getEmails($workspaceRec['reviewers']);
$emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['members']));
break;
case 0:
$emails = $this->notifyStageChange_getEmails($workspaceRec['members']);
break;
default:
$emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
break;
}
break;
case 10:
$emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
$emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['reviewers']));
$emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['members']));
break;
}
$emails = array_unique($emails);
// Send email:
if (count($emails)) {
$message = sprintf('
Auf der Seite "%s" (Link zur Login-Seite %s)
im Workspace "%s" (#%s) wurde
der Status für das Element "%s" geändert:
==> %s
Kommentar:
"%s"
Der Status wurde von %s (username: %s) geändert
',
$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'],
t3lib_div::getIndpEnv('TYPO3_SITE_URL').TYPO3_mainDir,
$workspaceRec['title'],
$workspaceRec['uid'],
$table.':'.$id,
$newStage,
$comment,
$this->BE_USER->user['realName'],
$this->BE_USER->user['username']);
t3lib_div::plainMailEncoded(
implode(',',$emails),
'Workspace: Statusänderung in Element-ID '.$id,
trim($message)
);
}
}
}
Verfasst am: 17.04.2007 [15:25]
gstyleds dabei seit: 19.01.2006 Beiträge: 24
Ich habe ebenfalls Hilfe dazu gesucht und bin dabei auf Deinen Beitrag gestoßen. Klasse - hat mir sehr geholfen!
Besten Dank, Grüße,
Dirk
Verfasst am: 24.04.2008 [10:56]
kwottkam dabei seit: 19.11.2007 Beiträge: 23
Hallo,
inzwischen gibt es eine Extension hierfür
typo3.org/extensions/repository/view/extend_mail_ws/0.5.3/
Gruß KLAUS [Dieser Beitrag wurde 1 mal bearbeitet. Zuletzt am 24.04.2008 um 10:56]
TYPO3 Ver. 4.2.0 testen
Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat
TYPO3 Workshops
TYPO3 Einführungsschulung in Berlin: Montag, 07.07.
in Espelkamp: Montag, 04.08.
TYPO3 Intensivschulung in Espelkamp: Mi., 06.08. - Fr., 08.08.
in Würzburg: Mo., 18.08. - Mi., 20.08.
in Köln: Mo., 01.09. - Mi., 03.09
. in Berlin: Mi., 24.09. - Fr., 26.09.
TYPO3 Extensionschulung in Berlin: Mo., 14.07. - Mi., 16.07.
in Espelkamp: Mo., 11.08. - Mi., 13.08.