canSee()) return true; $formid = 'thisform'.$this->moduleid; ?>

canSee()) return false; $word = $this->getFirstWord($_POST['word']); $rule = $this->getFirstWord($_POST['rule']); if ($rule == 'auto') { $rule = $this->db()->getOne(sprintf("select rule from elspell_pos where word='%s' limit 0, 1", mysql_real_escape_string($word))); get_error($rule); } $results = $this->getResults($word, $rule); foreach (array($this->getOusTemplate($rule), $this->getEpTemplate($rule), $this->getRhmTemplate($rule)) as $template) { $hasmatch = false; foreach ($results as $atrans) { if ($hasmatch || preg_match('/%'.$atrans['type'].'%/', $template)) $hasmatch = true; $template = preg_replace('/(%'.$atrans['type'].'%)/', $atrans['value'].' $1', $template); } $template = preg_replace('/ *%[^%]*%/', '', $template); if ($hasmatch) echo $template; } } function getRhmTemplate($rule='') { return '
'.$rule.'
'.$rule.' Ενεργητική φωνή
ενεστ. οριστ. /υποτ. %RhmEnergEnestOristEgw% %RhmEnergEnestOristEsy% %RhmEnergEnestOristAytos% %RhmEnergEnestOristEmeis% %RhmEnergEnestOristEseis% %RhmEnergEnestOristAytoi%
  προστ.   %RhmEnergEnestProstEsy%     %RhmEnergEnestProstEseis%  
  μτχ. %RhmEnergEnestMetox%          
πρτ. οριστ. %RhmEnergPrtOristEgw% %RhmEnergPrtOristEsy% %RhmEnergPrtOristAytos% %RhmEnergPrtOristEmeis% %RhmEnergPrtOristEseis% %RhmEnergPrtOristAytoi%
αόρ. οριστ. %RhmEnergAorOristEgw% %RhmEnergAorOristEsy% %RhmEnergAorOristAytos% %RhmEnergAorOristEmeis% %RhmEnergAorOristEseis% %RhmEnergAorOristAytoi%
  υποτ. %RhmEnergAorYpotEgw% %RhmEnergAorYpotEsy% %RhmEnergAorYpotAytos% %RhmEnergAorYpotEmeis% %RhmEnergAorYpotEseis% %RhmEnergAorYpotAytoi%
  προστ.   %RhmEnergAorProstEsy%     %RhmEnergAorProstEseis%  
  απαρέμφ. %RhmEnergAorApar%          
πρκ. οριστ. (έχω) %RhmEnergPrkOristEgw% (έχεις) %RhmEnergPrkOristEsy% (έχει) %RhmEnergPrkOristAytos% (έχουμε) %RhmEnergPrkOristEmeis% (έχετε) %RhmEnergPrkOristEseis% (έχουν) %RhmEnergPrkOristAytoi%
  υποτ. (να έχω) %RhmEnergPrkYpotEgw% (να έχεις) %RhmEnergPrkYpotEsy% (να έχει) %RhmEnergPrkYpotAytos% (να έχουμε) %RhmEnergPrkYpotEmeis% (να έχετε) %RhmEnergPrkYpotEseis% (να έχουν) %RhmEnergPrkYpotAytoi%
εξακολ. μέλλ.   (θα) %RhmEnergE3akolMellEgw% (θα) %RhmEnergE3akolMellEsy% (θα) %RhmEnergE3akolMellAytos% (θα) %RhmEnergE3akolMellEmeis% (θα) %RhmEnergE3akolMellEseis% (θα) %RhmEnergE3akolMellAytoi%
στιγμ. μέλλ.   (θα) %RhmEnergStigmMellEgw% (θα) %RhmEnergStigmMellEsy% (θα) %RhmEnergStigmMellAytos% (θα) %RhmEnergStigmMellEmeis% (θα) %RhmEnergStigmMellEseis% (θα) %RhmEnergStigmMellAytoi%
υπερσ.   (είχα) %RhmEnergYpersEgw% (είχες) %RhmEnergYpersEsy% (είχε) %RhmEnergYpersAytos% (είχαμε) %RhmEnergYpersEmeis% (είχατε) %RhmEnergYpersEseis% (είχαν) %RhmEnergYpersAytoi%
συντελ. μέλλ.   (θα έχω) %RhmEnergSyntelMellEgw% (θα έχεις) %RhmEnergSyntelMellEsy% (θα έχει) %RhmEnergSyntelMellAytos% (θα έχουμε) %RhmEnergSyntelMellEmeis% (θα έχετε) %RhmEnergSyntelMellEseis% (θα έχουν) %RhmEnergSyntelMellAytoi%
'.$rule.' Παθητική φωνή
ενεστ. οριστ. /υποτ. %RhmPathEnestOristEgw% %RhmPathEnestOristEsy% %RhmPathEnestOristAytos% %RhmPathEnestOristEmeis% %RhmPathEnestOristEseis% %RhmPathEnestOristAytoi%
  προστ.   (%RhmPathEnestProstEsy%)     (%RhmPathEnestProstEseis%)  
πρτ. οριστ. %RhmPathPrtOristEgw% %RhmPathPrtOristEsy% %RhmPathPrtOristAytos% %RhmPathPrtOristEmeis% %RhmPathPrtOristEseis% %RhmPathPrtOristAytoi%
αόρ. οριστ. %RhmPathAorOristEgw% %RhmPathAorOristEsy% %RhmPathAorOristAytos% %RhmPathAorOristEmeis% %RhmPathAorOristEseis% %RhmPathAorOristAytoi%
  υποτ. %RhmPathAorYpotEgw% %RhmPathAorYpotEsy% %RhmPathAorYpotAytos% %RhmPathAorYpotEmeis% %RhmPathAorYpotEseis% %RhmPathAorYpotAytoi%
  προστ.   %RhmPathAorProstEsy%     %RhmPathAorProstEseis%  
  απαρέμφ. %RhmPathAorApar%          
πρκ. οριστ. (έχω) %RhmPathPrkOristEgw% (έχεις) %RhmPathPrkOristEsy% (έχει) %RhmPathPrkOristAytos% (έχουμε) %RhmPathPrkOristEmeis% (έχετε) %RhmPathPrkOristEseis% (έχουν) %RhmPathPrkOristAytoi%
  υποτ. (να έχω) %RhmPathPrkYpotEgw% (να έχεις) %RhmPathPrkYpotEsy% (να έχει) %RhmPathPrkYpotAytos% (να έχουμε) %RhmPathPrkYpotEmeis% (να έχετε) %RhmPathPrkYpotEseis% (να έχουν) %RhmPathPrkYpotAytoi%
  μτχ. %RhmPathPrkMetox%
εξακολ. μέλλ.   (θα) %RhmPathE3akolMellEgw% (θα) %RhmPathE3akolMellEsy% (θα) %RhmPathE3akolMellAytos% (θα) %RhmPathE3akolMellEmeis% (θα) %RhmPathE3akolMellEseis% (θα) %RhmPathE3akolMellAytoi%
στιγμ. μέλλ.   (θα) %RhmPathStigmMellEgw% (θα) %RhmPathStigmMellEsy% (θα) %RhmPathStigmMellAytos% (θα) %RhmPathStigmMellEmeis% (θα) %RhmPathStigmMellEseis% (θα) %RhmPathStigmMellAytoi%
υπερσ.   (είχα) %RhmPathYpersEgw% (είχες) %RhmPathYpersEsy% (είχε) %RhmPathYpersAytos% (είχαμε) %RhmPathYpersEmeis% (είχατε) %RhmPathYpersEseis% (είχαν) %RhmPathYpersAytoi%
συντελ. μέλλ.   (θα έχω) %RhmPathSyntelMellEgw% (θα έχεις) %RhmPathSyntelMellEsy% (θα έχει) %RhmPathSyntelMellAytos% (θα έχουμε) %RhmPathSyntelMellEmeis% (θα έχετε) %RhmPathSyntelMellEseis% (θα έχουν) %RhmPathSyntelMellAytoi%
'; } function getEpTemplate($rule='') { return '
  ΕΝΙΚΟΣ ΠΛΗΘΥΝΤΙΚΟΣ
  Ονομαστική Γενική Αιτιατική Κλητική Ονομαστική Γενική Αιτιατική Κλητική
ΑΡΘΡΟ
Αρσ. ο του το(ν)   οι των τους  
Θηλ. η της τη(ν)   οι των τις  
Ουδ. το του το   τα των τα  
ΕΠΙΘΕΤΟ / ΜΕΤΟΧΗ
'.$rule.' %EpArsEnOnom% %EpArsEnGen% %EpArsEnAit% %EpArsEnKlit% %EpArsPlOnom% %EpArsPlGen% %EpArsPlAit% %EpArsPlKlit%
%EpThEnOnom% %EpThEnGen% %EpThEnAit% %EpThEnKlit% %EpThPlOnom% %EpThPlGen% %EpThPlAit% %EpThPlKlit%
%EpOuEnOnom% %EpOuEnGen% %EpOuEnAit% %EpOuEnKlit% %EpOuPlOnom% %EpOuPlGen% %EpOuPlAit% %EpOuPlKlit%
'; } function getOusTemplate($rule='') { return '
  ΕΝΙΚΟΣ ΠΛΗΘΥΝΤΙΚΟΣ
  Ονομαστική Γενική Αιτιατική Κλητική Ονομαστική Γενική Αιτιατική Κλητική
ΑΡΘΡΟ
Αρσ. ο του το(ν)   οι των τους  
Θηλ. η της τη(ν)   οι των τις  
Ουδ. το του το   τα των τα  
ΟΥΣΙΑΣΤΙΚΟ
'.$rule.' %OusEnOnom% %OusEnGen% %OusEnAit% %OusEnKlit% %OusPlOnom% %OusPlGen% %OusPlAit% %OusPlKlit%
'; } function getResults($word, $rule='') { $output = array(); exec(sprintf('cd ./%s && ./run.sh %s %s', $this->options['flexydir'], $word, $rule), $output, $status); if ($status != 0) { echo 'Error!'; return; } $res = array(); foreach ($output as $aline) { $ares = explode(' ', $aline); $res[] = array('type' => $ares[1], 'value' => $ares[0]); } return $res; } function getRules() { $output = array(); exec(sprintf('cd ./%s && ./run.sh --list-rules', $this->options['flexydir']), $output, $status); if ($status != 0) { echo 'Error!'; return; } natsort($output); return $output; } } ?> Exception