diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2010-12-15 19:13:00 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2010-12-15 19:13:00 +0100 |
| commit | 0590cb4eefa73e311e2654cbf3e3b460be174cd3 (patch) | |
| tree | b0147dc729d6250654f947dd66dcd9235bd7f79f | |
| parent | 2d190be44338e3674336943d366c739c55a273f5 (diff) | |
| download | linksys-wrt3g-tools-0590cb4eefa73e311e2654cbf3e3b460be174cd3.tar.gz linksys-wrt3g-tools-0590cb4eefa73e311e2654cbf3e3b460be174cd3.zip | |
add "allstatus" command
| -rw-r--r-- | Wrt3g.php | 36 | ||||
| -rwxr-xr-x | scripts/linksys-wrt3g.php | 16 |
2 files changed, 46 insertions, 6 deletions
@@ -120,7 +120,7 @@ class Wrt3g * * @throws Exception When the router can't be reached, or unauthorized */ - public function getStatus() + public function getConnectionStatus() { $arRetval = array(); @@ -148,7 +148,7 @@ class Wrt3g $arRetval = array_merge($arRetval, $parser->index_wstatus1($body)); return $arRetval; - }//public function getStatus() + }//public function getConnectionStatus() @@ -164,7 +164,7 @@ class Wrt3g { $arRetval = array(); - $strUrlBase = $this->getAuthBaseUrl(); + $strUrlBase = $this->getAnonBaseUrl(); $url = $strUrlBase . '/Status_NoAuth.asp'; $this->log('Connecting to ' . $url, 1); @@ -193,6 +193,36 @@ class Wrt3g /** + * Retrieves all status information one can get. + * + * @return array Array with several key-value pairs + * connection => connecting, disconnected, connected + * + * @throws Exception When the router can't be reached + */ + public function getFullStatus() + { + $arRetval = array(); + + $strUrlBase = $this->getAnonBaseUrl(); + + $url = $strUrlBase . '/Status_NoAuth.asp'; + $this->log('Connecting to ' . $url, 1); + + $r = new HTTP_Request2(); + $r->setMethod(HTTP_Request2::METHOD_GET); + $r->setUrl($url); + $resp = $r->send(); + $this->log($resp->getStatus() . ' ' . $resp->getReasonPhrase(), 1); + //FIXME: check status + + $parser = new Wrt3g_HtmlParser(); + return $parser->status_noauth($resp->getBody()); + } + + + + /** * Log a message to stdout. * * @param string $msg Message to display diff --git a/scripts/linksys-wrt3g.php b/scripts/linksys-wrt3g.php index f475025..7d87cd1 100755 --- a/scripts/linksys-wrt3g.php +++ b/scripts/linksys-wrt3g.php @@ -76,7 +76,7 @@ $stCmd = $parser->addCommand( 'status', array( 'aliases' => array('s', 'st'), - 'description' => 'Show the router status' + 'description' => 'Show the connection status' ) ); $stCmd = $parser->addCommand( @@ -86,6 +86,13 @@ $stCmd = $parser->addCommand( 'description' => 'Show the card/SIM status' ) ); +$stCmd = $parser->addCommand( + 'allstatus', + array( + 'aliases' => array('a', 'as'), + 'description' => 'Show all status details' + ) +); $parser->addCommand( @@ -121,13 +128,16 @@ try { } break; + case 'allstatus': case 'cardstatus': case 'status': default: - if ($result->command_name == 'cardstatus') { + if ($result->command_name == 'allstatus') { + $arStatus = $router->getFullStatus(); + } else if ($result->command_name == 'cardstatus') { $arStatus = $router->getCardStatus(); } else { - $arStatus = $router->getStatus(); + $arStatus = $router->getConnectionStatus(); } foreach ($arStatus as $key => $value) { echo $key . ': ' . $value . "\n"; |
