implement non-authenticated default status
authorChristian Weiske <cweiske@cweiske.de>
Tue, 25 Jan 2011 05:03:05 +0000 (06:03 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Tue, 25 Jan 2011 05:03:05 +0000 (06:03 +0100)
Wrt3g.php
scripts/linksys-wrt3g.php

index 2fe0db8..07a6821 100644 (file)
--- a/Wrt3g.php
+++ b/Wrt3g.php
@@ -145,15 +145,41 @@ class Wrt3g
 
 
     /**
-     * Retrieves status information about the router
+     * Retrieves basic connection status information about the router
      *
      * @return array Array with several key-value pairs
      *               connection => connecting, disconnected, connected
      *
-     * @throws Exception When the router can't be reached, or unauthorized
+     * @throws Exception When the router can't be reached
      */
     public function getConnectionStatus()
     {
+        return array_intersect_key(
+            $this->loadStatus_NoAuth(),
+            array(
+                'connection'      => 0,
+                'type'            => 0,
+                'network'         => 0,
+                'signal strength' => 0,
+                'connection time' => 0,
+                'session usage'   => 0
+            )
+        );
+    }
+
+
+
+    /**
+     * Retrieves connection status information about the router.
+     * Uses pages that can only be reached with authentication.
+     *
+     * @return array Array with several key-value pairs
+     *               connection => connecting, disconnected, connected
+     *
+     * @throws Exception When the router can't be reached, or unauthorized
+     */
+    public function getConnectionStatusAuth()
+    {
         $arRetval = array();
 
         $strUrlBase = $this->getAuthBaseUrl();
index f53d76a..d9d7288 100755 (executable)
@@ -90,6 +90,12 @@ $stCmd = $parser->addCommand(
         'description' => 'Show all status details'
     )
 );
+$stCmd = $parser->addCommand(
+    'authstatus',
+    array(
+        'description' => 'Show the connection status the old way (authenticated)'
+    )
+);
 
 
 $parser->addCommand(
@@ -147,9 +153,12 @@ try {
             $arStatus = $router->getFullStatus();
         } else if ($result->command_name == 'card') {
             $arStatus = $router->getCardStatus();
+        } else if ($result->command_name == 'authstatus') {
+            $arStatus = $router->getConnectionStatusAuth();
         } else {
             $arStatus = $router->getConnectionStatus();
         }
+
         foreach ($arStatus as $key => $value) {
             echo $key . ': ';
             if (is_array($value)) {