Current File : //opt/RZphp83/includes/docs/Net_Dict/docs/dict.php |
#!/usr/local/bin/php -q
<?php
// {{{ includes
require 'Console/Getopt.php';
require 'Net/Dict.php';
// }}}
// {{{ get options
$longOptions = array('help', 'match=', 'databases', 'strategies',
'info=', 'server', 'status');
$con = new Console_Getopt;
$args = $con->readPHPArgv();
// array_shift($args);
$options = $con->getopt($args, '', $longOptions);
if (PEAR::isError($options)) {
die($options->getMessage());
}
// }}}
// {{{ help!
function help()
{
echo <<<HELP
Usage: dict [OPTIONS] keyword
Options:
--help Prints this help screen
--matches=word Show DB matches for word
--databases Show DB list
--strategies Show Strategy list
--info=DATABASE Show Info on DB
--server Show Server Info
--status Show Status
HELP;
exit(0);
}
if ('--help' == $options[0][0][0] or ( empty($options[0][0][0]) and empty($options[1][0]) ) ) help();
// }}}
// {{{ connect
$d = new Net_Dict;
$conn = $d->connect();
if (PEAR::isError($conn)) {
die($conn->getMessage());
}
// }}}
// {{{ define
if (!empty($options[1][0])) {
foreach ($options[1] as $keyword) {
$defs = $d->define($keyword);
if (PEAR::isError($defs)) {
die($defs->getMessage());
}
foreach ($defs as $def) {
echo $def['definition'];
}
}
}
// }}}
// {{{ options
switch ($options[0][0][0]) {
case '--help':
help();
break;
case '--match':
foreach($d->match($options[0][0][1]) as $matches)
echo $matches['database'] . ' : ' . $matches['word'] . "\n";
break;
case '--databases':
foreach ($d->showDatabases() as $db)
echo $db['database'] . ' : ' . $db['description']."\n";
break;
case '--strategies':
foreach ($d->showStrategies() as $strat)
echo $strat['strategy'] . ' : ' . $strat['description'] . "\n";
break;
case '--info':
$info = $d->showInfo($options[0][0][1]);
if (PEAR::isError($info))
die($info->getMessage());
echo $info;
break;
case '--server':
$server = $d->showServer();
if (PEAR::isError($server))
die($server->getMessage());
echo $server;
break;
case '--status':
echo $d->status();
break;
default:
break;
}
// }}}