Index: trunk/kernel/include/language.php =================================================================== diff -u -r13 -r39 --- trunk/kernel/include/language.php (.../language.php) (revision 13) +++ trunk/kernel/include/language.php (.../language.php) (revision 39) @@ -420,17 +420,14 @@ } } - function ExportPhrases($file,$LangIds=NULL) + function ExportPhrases($file,$LangIds=NULL,$PhraseTypes=null) { $output = array(); $this->Clear(); - if(strlen($LangIds)) - { - $where = " WHERE LanguageId IN ($LangIds)"; - $this->Query_Item("SELECT * FROM ".$this->SourceTable.$where); - } - else - $this->Query_Item("SELECT * FROM ".$this->SourceTable); + $where_parts = Array(); + if( isset($LangIds) ) $where_parts[] = 'LanguageId IN ('.$LangIds.')'; + $where = count($where_parts) ? ' WHERE '.implode(' AND ', $where_parts) : ''; + $this->Query_Item($sql = 'SELECT * FROM '.$this->SourceTable.$where); $objXML = new xml_doc(); @@ -439,6 +436,8 @@ $ret = 0; if($this->NumItems()>0) { + $phrase_where = isset($PhraseTypes) ? ' AND PhraseType IN ('.$PhraseTypes.')' : ''; + $event_where = isset($PhraseTypes) ? ' AND Type+1 IN ('.$PhraseTypes.')' : ''; foreach($this->Items as $l) { $LangRoot =& $objXML->getTagByID($RootNode->addChild($objXML,"LANGUAGE",array("PackName"=>$l->Get("PackName")),"")); @@ -448,7 +447,7 @@ $LangRoot->addChild($objXML,"THOUSANDS",array(),$l->Get("ThousandSep")); $PhraseRoot =& $objXML->getTagByID($LangRoot->addChild($objXML,"PHRASES")); - $sql = "SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$l->Get("LanguageId"); + $sql = "SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$l->Get("LanguageId").$phrase_where; $rs=$this->adodbConnection->Execute($sql); while($rs && ! $rs->EOF) { @@ -460,7 +459,7 @@ $ev = GetTablePrefix()."Events"; $em = GetTablePrefix()."EmailMessage"; - $sql = "SELECT $em.*,$ev.Event,$ev.Type FROM $em INNER JOIN $ev ON ($em.EventId=$ev.EventId) WHERE LanguageId=".$l->Get("LanguageId"); + $sql = "SELECT $em.*,$ev.Event,$ev.Type FROM $em INNER JOIN $ev ON ($em.EventId=$ev.EventId) WHERE LanguageId=".$l->Get("LanguageId").$event_where; $rs = $this->adodbConnection->Execute($sql); while($rs && !$rs->EOF) { Index: trunk/admin/config/addlang_export.php =================================================================== diff -u -r13 -r39 --- trunk/admin/config/addlang_export.php (.../addlang_export.php) (revision 13) +++ trunk/admin/config/addlang_export.php (.../addlang_export.php) (revision 39) @@ -139,8 +139,11 @@ > - - + + + + + Index: trunk/kernel/action.php =================================================================== diff -u -r18 -r39 --- trunk/kernel/action.php (.../action.php) (revision 18) +++ trunk/kernel/action.php (.../action.php) (revision 39) @@ -1121,12 +1121,16 @@ break; case "m_lang_export": include_once($pathtoroot."kernel/include/xml.php"); - $Ids = $_POST["LangList"]; + $Ids = $_POST["LangList"]; // language ids list to export phrases from + + $phrase_types = GetVar('langtypes'); + $phrase_types = ($phrase_types !== false) ? implode(',',$phrase_types) : null; + $filename=$_POST["filename"]; if(strlen($filename)>0) { $ExportFilename = $pathtoroot.$admin."/export/".$filename; - $ExportResult = $objLanguages->ExportPhrases($ExportFilename,$Ids); + $ExportResult = $objLanguages->ExportPhrases($ExportFilename,$Ids, $phrase_types); } break; case "m_lang_edit":