$currentLexem = $lexemDbResult->fetch(); print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print "<Definitions>\n"; print " <NumResults>" . $defDbResult->rowCount() . "</NumResults>\n"; foreach ($defDbResult as $dbRow) { $def = Model::factory('Definition')->create($dbRow); $def->internalRep = AdminStringUtil::xmlizeRequired($def->internalRep); $lexemIds = array(); while ($currentLexem && $currentLexem[0] == $def->id) { $lexemIds[] = $currentLexem[1]; $currentLexem = $lexemDbResult->fetch(); } prepareDefForVersion($def); smarty_assign('def', $def); smarty_assign('lexemIds', $lexemIds); smarty_assign('user', userCache_get($def->userId)); smarty_displayWithoutSkin('common/update3Definitions.ihtml'); } print "</Definitions>\n"; } else { if ($export == 'lexems') { $lexemDbResult = db_execute("select * from Lexem where modDate >= '{$timestamp}' order by modDate, id"); print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print "<Lexems>\n"; print "<NumResults>" . $lexemDbResult->rowCount() . "</NumResults>\n"; foreach ($lexemDbResult as $dbRow) { $lexem = Model::factory('Lexem')->create($dbRow); smarty_assign('ifs', InflectedForm::loadByLexemId($lexem->id)); smarty_assign('lexem', $lexem); smarty_displayWithoutSkin('common/update3Lexems.ihtml'); }
$currentLexem = $lexemDbResult->fetch(); print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print "<Definitions>\n"; print " <NumResults>" . $defDbResult->rowCount() . "</NumResults>\n"; foreach ($defDbResult as $dbRow) { $def = Model::factory('Definition')->create($dbRow); $def->internalRep = AdminStringUtil::xmlizeRequired($def->internalRep); $lexemIds = array(); while ($currentLexem && $currentLexem[0] == $def->id) { $lexemIds[] = $currentLexem[1]; $currentLexem = $lexemDbResult->fetch(); } prepareDefForVersion($def); SmartyWrap::assign('def', $def); SmartyWrap::assign('lexemIds', $lexemIds); SmartyWrap::assign('user', userCache_get($def->userId)); SmartyWrap::displayWithoutSkin('xml/update3Definitions.tpl'); } print "</Definitions>\n"; } else { if ($export == 'lexems') { $lexemDbResult = db_execute("select * from Lexem where modDate >= '{$timestamp}' order by modDate, id"); print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print "<Lexems>\n"; print "<NumResults>" . $lexemDbResult->rowCount() . "</NumResults>\n"; foreach ($lexemDbResult as $dbRow) { $lexem = Model::factory('Lexem')->create($dbRow); SmartyWrap::assign('lexem', $lexem); SmartyWrap::displayWithoutSkin('xml/update3Lexems.tpl'); } print "</Lexems>\n";
function fetchNextRow($row) { global $lexemDbResult; global $sourceMap; global $currentLexem; $def = Model::factory('Definition')->create($row); $def->internalRep = AdminStringUtil::xmlizeRequired($def->internalRep); if (hasFlag('d')) { $def->internalRep = AdminStringUtil::xmlizeOptional($def->internalRep); } $lexemNames = array(); $lexemLatinNames = array(); while (merge_compare($def, $currentLexem) < 0) { $currentLexem = $lexemDbResult->fetch(); } while (merge_compare($def, $currentLexem) == 0) { $lexemNames[] = $currentLexem[1]; $lexemLatinNames[] = StringUtil::unicodeToLatin($currentLexem[1]); $currentLexem = $lexemDbResult->fetch(); } SmartyWrap::assign('def', $def); SmartyWrap::assign('lexemNames', $lexemNames); SmartyWrap::assign('lexemLatinNames', $lexemLatinNames); SmartyWrap::assign('source', $sourceMap[$def->sourceId]); SmartyWrap::assign('user', userCache_get($def->userId)); }