add "allstatus" command
[linksys-wrt3g-tools.git] / Wrt3g.php
index a14adf5e5619adea5a995d70ba9af3c405fcdd34..18e8608ebd5205336459bf49af77ab8947495439 100644 (file)
--- a/Wrt3g.php
+++ b/Wrt3g.php
@@ -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);
@@ -192,6 +192,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.
      *