func doIndex(_data) if(isndef(Pattern)) println('preg_match_all(', Pattern, ', ', Text, ', $regs);') println('$regs = $regs[1];') else println('$regs = preg_split(', "/" + Symbols + "/", ', ', Text, ');') end println('$src = ', Place, ';') println('$type = ', Type, ';') println('mysql_query("DELETE FROM ' + code(TableWords) + ' WHERE ' + code(FieldPlaceId) + ' = $src AND ' + code(FieldType) + ' = $type");') println('for($i = 0; $i < count($regs); $i++) {') block.inclvl() println('if(strlen($regs[$i]) > 1) {') block.inclvl() println('$r = mysql_query("SELECT id FROM ' + code(TableWordList) + ' WHERE ' + code(FieldWord) + ' = \'".$regs[$i]."\'");') println('if(mysql_num_rows($r)) {') println(' $id = mysql_result($r, 0);') println('} else {') println(' mysql_query("INSERT INTO ' + code(TableWordList) + '(' + code(FieldWord) + ') VALUES(\'".$regs[$i]."\')");') println(' $id = mysql_insert_id();') println('}') println('mysql_query("INSERT INTO ' + code(TableWords) + '(' + code(FieldWordId) + ', ' + code(FieldPlaceId) + ', ' + code(FieldType) + ') VALUES($id, $src, $type)");') block.declvl() println('}') block.declvl() println('}') event(onIndex) end