home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/bin/php -q
- <?php
-
- // {{{ includes
- require 'Console/Getopt.php';
- require '../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;
- }
-
- // }}}
-