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