Index: trunk/kernel/include/language.php =================================================================== diff -u -r39 -r228 --- trunk/kernel/include/language.php (.../language.php) (revision 39) +++ trunk/kernel/include/language.php (.../language.php) (revision 228) @@ -119,7 +119,24 @@ global $objSession; $edit_table = $objSession->GetEditTable($this->SourceTable); - $idlist = array(); + + $sql = "SELECT l.PhraseId AS pid FROM ".GetTablePrefix()."Phrase AS l LEFT JOIN $edit_table AS e ON e.PhraseId = l.PhraseId WHERE e.PhraseId IS NULL ORDER BY l.PhraseId"; + $rs = $this->adodbConnection->Execute($sql); + + $ids = ''; + while ($rs && !$rs->EOF) { + $ids .= $rs->fields['pid'].','; + $rs->MoveNext(); + } + + $ids = substr($ids, 0, strlen($ids) - 1); + + if (strlen($ids) > 0) { + $sql = "DELETE FROM ".GetTablePrefix()."Phrase WHERE PhraseId IN (".$ids.")"; + $this->adodbConnection->Execute($sql); + } + + //$idlist = array(); $sql = "SELECT * FROM $edit_table"; $this->Clear(); @@ -141,7 +158,8 @@ } $rs->MoveNext(); - } + } + if((int)$_GLOBALS["debuglevel"]) echo $sql."
\n"; $this->adodbConnection->Execute($sql);