<?php class bot_ort_module implements BotModule { function handle($msg, $params) { $args = trim($msg->args); if(empty($args)) { return new BotMsg('Funkcja <b>ort</b> wymaga argumentu.<br />' . '<br />'."\n" . '<u>Przykłady:</u><br />'."\n" . 'ort grzegżółka<br />'."\n" . 'ort warsawa'); } $args = strtr($args, array("\r\n" => ' ', "\r" => ' ', "\n" => ' ')); $proc = proc_open('aspell --lang=pl --encoding=utf-8 --ignore-case=true pipe', array(array('pipe', 'r'), array('pipe', 'w'), array('file', '/dev/null', 'w')), $pipe); fwrite($pipe[0], $args."\n"); fclose($pipe[0]); do { usleep(1); $status = proc_get_status($proc); } while($status['running']); fgets($pipe[1], 1024); $spell = fgets($pipe[1], 4096); fclose($pipe[1]); proc_close($proc); if(empty($spell)) { return new BotMsg('Błąd podczas sprawdzania słowa w słowniku. Przepraszamy.'); } elseif(substr($spell, 0, 1)=='*') { return new BotMsg('<span style="color:#060;">Pisownia poprawna.</span>'); } elseif(substr($spell, 0, 1)=='#') { return new BotMsg('Brak propozycji poprawnej pisowni.'); } else { $spell = explode(': ', $spell, 2); $spell = explode(',', $spell[1]); $txt = '<p>Prawdopobnie chodziło ci o:</p>'."\n" . '<ul>'."\n"; foreach($spell as $val) { $txt .= '<li>'.htmlspecialchars(trim($val)).'</li>'."\n"; } $txt .= '</ul>'; return new BotMsg($txt); } } } ?>