Index: trunk/kernel/action.php =================================================================== diff -u -r534 -r561 --- trunk/kernel/action.php (.../action.php) (revision 534) +++ trunk/kernel/action.php (.../action.php) (revision 561) @@ -837,7 +837,6 @@ break; case "m_edit_custom_data": - $id = $_POST["ItemId"]; $objEditData = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData")); $objEditData->SetTable('edit'); @@ -1240,7 +1239,8 @@ $ado->Execute($sql); if($_POST["importlabels"]==1 && $_POST["srcpack"]>0) { - $sql = "SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$_POST["srcpack"]; + // Phrase import + $sql = "SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$_POST["srcpack"]; if($objSession->HasSystemPermission("DEBUG.LIST")) echo $sql."
\n"; @@ -1265,6 +1265,50 @@ $MinId--; $rs->MoveNext(); } + + // Events import + $sql = "SELECT * FROM ".GetTablePrefix()."EmailMessage WHERE LanguageId=".$_POST["srcpack"]; + if($objSession->HasSystemPermission("DEBUG.LIST")) + echo $sql."
\n"; + + $rs = $ado->Execute($sql); + + $eList = new clsEmailMessageList(); + //$eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + + if (!$l->TableExists($objSession->GetEditTable("EmailMessage"))) { + $eList->CreateEmptyEditTable("EmailMessageId", true); + $eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + } + else { + $eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + } + + $sql = "SELECT MIN(EmailMessageId) as MinId FROM ".$eList->SourceTable; + $as = $ado->Execute($sql); + + if($as && !$as->EOF) + { + $MinId = (int)$as->fields["MinId"]; + } + else { + $MinId = 0; + } + + $MinId--; + + while($rs && !$rs->EOF) + { + $data = $rs->fields; + $eList->AddEmailEvent($data["Template"], $data["MessageType"], $NewId, $data["EventId"]); + + $sql = "UPDATE ".$eList->SourceTable." SET EmailMessageId=$MinId WHERE EmailMessageId=0 LIMIT 1"; + $ado->Execute($sql); + + $MinId--; + + $rs->MoveNext(); + } } break; case "m_lang_export": @@ -1316,6 +1360,51 @@ $rs->MoveNext(); } unset($plist); + + // Events import + $sql = "SELECT * FROM ".GetTablePrefix()."EmailMessage WHERE LanguageId=".$_POST["srcpack"]; + if($objSession->HasSystemPermission("DEBUG.LIST")) + echo $sql."
\n"; + + $rs = $ado->Execute($sql); + + $eList = new clsEmailMessageList(); + //$eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + + if (!$l->TableExists($objSession->GetEditTable("EmailMessage"))) { + $eList->CreateEmptyEditTable("EmailMessageId", true); + $eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + } + else { + $eList->SourceTable = $objSession->GetEditTable("EmailMessage"); + } + + $sql = "SELECT MIN(EmailMessageId) as MinId FROM ".$eList->SourceTable; + $as = $ado->Execute($sql); + + if($as && !$as->EOF) + { + $MinId = (int)$as->fields["MinId"]; + } + else { + $MinId = 0; + } + + $MinId--; + + while($rs && !$rs->EOF) + { + $data = $rs->fields; + $eList->AddEmailEvent($data["Template"], $data["MessageType"], $_POST["LanguageId"], $data["EventId"]); + + $sql = "UPDATE ".$eList->SourceTable." SET EmailMessageId=$MinId WHERE EmailMessageId=0 LIMIT 1"; + $ado->Execute($sql); + + $MinId--; + + $rs->MoveNext(); + } + unset($eList); } break; @@ -1324,12 +1413,15 @@ if (isset($_POST["itemlist"])) { $Phrases = new clsPhraseList(); + $Messages = new clsEmailMessageList(); foreach($_POST["itemlist"] as $id) { $objLanguages->DeleteLanguage($id); $Phrases->DeleteLanguage($id); + $Messages->DeleteLanguage($id); } unset($Phrases); + unset($Messages); } break; @@ -2250,16 +2342,17 @@ /* Language Edit */ if( GetVar('LangEditStatus') == 1 ) { - $Messages = new clsEmailMessageList(); - $Messages->CopyFromEditTable(); - $Messages->Clear(); $objLanguages->CopyFromEditTable(); $objLanguages->Clear(); $Phrases = new clsPhraseList(); $Phrases->CopyFromEditTable(); $Phrases->Clear(); $Phrases->PurgeEditTable(); + + $Messages = new clsEmailMessageList(); + $Messages->CopyFromEditTable(); + $Messages->Clear(); } if( GetVar('LangEditStatus') == 2 ) {