Index: branches/5.1.x/core/install/upgrades.php =================================================================== diff -u -N -r13086 -r13140 --- branches/5.1.x/core/install/upgrades.php (.../upgrades.php) (revision 13086) +++ branches/5.1.x/core/install/upgrades.php (.../upgrades.php) (revision 13140) @@ -1,6 +1,6 @@ Conn->Query('DESCRIBE ' . TABLE_PREFIX . 'Events', 'Field'); + + if (!array_key_exists('Headers', $table_structure)) { + $sql = 'ALTER TABLE ' . TABLE_PREFIX . 'Events + ADD `Headers` TEXT NULL AFTER `ReplacementTags`, + ADD `MessageType` VARCHAR(4) NOT NULL default "text" AFTER `Headers`'; + $this->Conn->Query($sql); + } + + // create multilingual Subject and Template fields + $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); + $ml_helper->createFields('emailevents'); + + $email_message_helper =& $this->Application->recallObject('EmailMessageHelper'); + /* @var $email_message_helper EmailMessageHelper */ + + for ($language_id = 1; $language_id <= $ml_helper->languageCount; $language_id++) { + if (!$ml_helper->LanguageFound($language_id)) { + continue; + } + + $sql = 'SELECT EmailMessageId, Template, EventId + FROM ' . TABLE_PREFIX . 'EmailMessage + WHERE LanguageId = ' . $language_id; + $translations = $this->Conn->Query($sql, 'EventId'); + + foreach ($translations as $event_id => $translation_data) { + $parsed = $email_message_helper->parseTemplate($translation_data['Template']); + + $fields_hash = Array ( + 'l' . $language_id . '_Subject' => $parsed['Subject'], + 'l' . $language_id . '_Body' => $parsed['Body'], + ); + + if ($parsed['Headers']) { + $fields_hash['Headers'] = $parsed['Headers']; + } + + $this->Conn->doUpdate($fields_hash, TABLE_PREFIX . 'Events', 'EventId = ' . $event_id); + + $sql = 'DELETE FROM ' . TABLE_PREFIX . 'EmailMessage + WHERE EmailMessageId = ' . $translation_data['EmailMessageId']; + $this->Conn->Query($sql); + } + } + } + } } \ No newline at end of file