<?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);
|
}
|
}
|
}
|
?>
|