* @license AGPL v3 * @link http://cweiske.de/linksys-wrt3g-tools.htm */ require_once 'Wrt3g.php'; require_once 'Console/CommandLine.php'; //default config options $GLOBALS['linksys-wrt3g-tools'] = array( 'host' => null, 'user' => 'admin', 'password' => null, ); $configFile = dirname(__FILE__) . '/../config.php'; if (file_exists($configFile)) { require_once $configFile; } $parser = new Console_CommandLine(); $parser->description = 'Tool to control Linksys WRT3g routers'; $parser->version = '0.0.1';//FIXME: dynamic $parser->addOption( 'host', array( 'short_name' => '-h', 'long_name' => '--host', 'description' => 'IP/Hostname to connect to', 'help_name' => 'HOST', 'action' => 'StoreString', 'default' => $GLOBALS['linksys-wrt3g-tools']['host'] ) ); $parser->addOption( 'user', array( 'short_name' => '-u', 'long_name' => '--user', 'description' => 'Admin user name', 'help_name' => 'USER', 'action' => 'StoreString', 'default' => $GLOBALS['linksys-wrt3g-tools']['user'] ) ); $parser->addOption( 'password', array( 'short_name' => '-p', 'long_name' => '--password', 'description' => 'Password for admin user', 'help_name' => 'PASS', 'action' => 'StoreString', 'default' => $GLOBALS['linksys-wrt3g-tools']['password'] ) ); $parser->addCommand( 'status', array( 'description' => 'Show the router status' ) ); $parser->addCommand( 'reboot', array( 'description' => 'Reboot the router' ) ); try { $result = $parser->parse(); } catch (Exception $exc) { $parser->displayError($exc->getMessage()); exit(1); } try { $router = new Wrt3g(); $router->host = $result->options['host']; $router->user = $result->options['user']; $router->password = $result->options['password']; switch ($result->command_name) { case 'reboot': $resp = $router->reboot(); echo $resp->getStatus() . ' ' . $resp->getReasonPhrase() . "\n"; break; case 'status': default: $arStatus = $router->getStatus(); foreach ($arStatus as $key => $value) { echo $key . ': ' . $value . "\n"; } } } catch (Exception $e) { echo 'Error: ' . $e->getMessage() . "\n"; exit(2); } ?>