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 )
{