[HowTo] Workspaces email wurde Beantwortet

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

  1. function notifyStageChange($stat,$stageId,$table,$id,$comment)  {
  2.                 $workspaceRec = t3lib_BEfunc::getRecord('sys_workspace', $stat['uid']);
  3.  
  4.                 if (is_array($workspaceRec))    {
  5.  
  6.                                 // Compile label:
  7.                         switch((int)$stageId)   {
  8.                                 case 1:
  9.                                         $newStage = 'Bereit zur Kontrolle';
  10.                                 break;
  11.                                 case 10:
  12.                                         $newStage = 'Bereit zur Veröffentlichung';
  13.                                 break;
  14.                                 case -1:
  15.                                         $newStage = 'Element wurde zurückgewiesen!';
  16.                                 break;
  17.                                 case 0:
  18.                                         $newStage = 'Zurückgewiesenes Element wurde zur Kenntnis genommen und nicht überabeitet';
  19.                                 break;
  20.                                 default:
  21.                                         $newStage = 'Unbekannte Statusänderung!?';
  22.                                 break;
  23.                         }
  24.  
  25.                                 // Compile list of recipients:
  26.                         $emails = array();
  27.                         switch((int)$stat['stagechg_notification'])     {
  28.                                 case 1:
  29.                                         switch((int)$stageId)   {
  30.                                                 case 1:
  31.                                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['reviewers']);
  32.                                                 break;
  33.                                                 case 10:
  34.                                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
  35.                                                 break;
  36.                                                 case -1:
  37.                                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['reviewers']);
  38.                                                         $emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['members']));
  39.                                                 break;
  40.                                                 case 0:
  41.                                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['members']);
  42.                                                 break;
  43.                                            default:
  44.                                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
  45.                                                 break;
  46.                                         }
  47.                                 break;
  48.                                 case 10:
  49.                                         $emails = $this->notifyStageChange_getEmails($workspaceRec['adminusers'], TRUE);
  50.                                         $emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['reviewers']));
  51.                                         $emails = array_merge($emails,$this->notifyStageChange_getEmails($workspaceRec['members']));
  52.                                 break;
  53.                         }
  54.                         $emails = array_unique($emails);
  55.  
  56.                                 // Send email:
  57.                         if (count($emails))     {
  58.                                 $message = sprintf('
  59. Auf der Seite "%s" (Link zur Login-Seite %s)
  60. im Workspace "%s" (#%s) wurde
  61. der Status für das Element "%s" geändert:
  62.  
  63. ==> %s
  64.  
  65. Kommentar:
  66. "%s"
  67.  
  68. Der Status wurde von %s (username: %s) geändert
  69.                                 ',
  70.                                 $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'],
  71.                                 t3lib_div::getIndpEnv('TYPO3_SITE_URL').TYPO3_mainDir,
  72.                                 $workspaceRec['title'],
  73.                                 $workspaceRec['uid'],
  74.                                 $table.':'.$id,
  75.                                 $newStage,
  76.                                 $comment,
  77.                                 $this->BE_USER->user['realName'],
  78.                                 $this->BE_USER->user['username']);
  79.  
  80.                                 t3lib_div::plainMailEncoded(
  81.                                         implode(',',$emails),
  82.                                         'Workspace: Statusänderung in Element-ID '.$id,
  83.                                         trim($message)
  84.                                 );
  85.                         }
  86.                 }
  87.         }
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 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

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.