central method to generate base url
[linksys-wrt3g-tools.git] / Wrt3g.php
index 249534e919cf3ee4188b0f20b73661bdb02653be..78cb10ddddeacc8bf43c9e58d23f3b1588a690e5 100644 (file)
--- a/Wrt3g.php
+++ b/Wrt3g.php
@@ -45,6 +45,23 @@ class Wrt3g
         'GPRS_MSG.WWBEAR_UMTS' => 'UMTS',
     );
 
+
+
+    /**
+     * Returns the base URL to use for requests.
+     * Includes username, password and host.
+     *
+     * @return string URL without trailing slash after the host
+     */
+    protected function getBaseUrl()
+    {
+        return 'http://'
+            . $this->user
+            . ':' . $this->password
+            . '@' . $this->host;
+    }
+
+
     /**
     * Reboots the router.
     *
@@ -52,16 +69,12 @@ class Wrt3g
     *
     * @throws Exception When the router can't be reached, or unauthorized
     */
-    function reboot()
+    public function reboot()
     {
         $r = new HTTP_Request2();
         $r->setMethod(HTTP_Request2::METHOD_POST);
         $r->setUrl(
-            'http://'
-            . $this->user
-            . ':' . $this->password
-            . '@' . $this->host
-            . '/apply.cgi'
+            $this->getBaseUrl() . '/apply.cgi'
         );
         $r->addPostParameter('action', 'Reboot');
         $r->addPostParameter('submit_button', 'Diagnostics');
@@ -69,7 +82,7 @@ class Wrt3g
 
         $resp = $r->send();
         return $resp;
-    }//function reboot()
+    }//public function reboot()
 
 
 
@@ -81,14 +94,11 @@ class Wrt3g
     *
     * @throws Exception When the router can't be reached, or unauthorized
     */
-    function getStatus()
+    public function getStatus()
     {
         $arRetval = array();
 
-        $strUrlBase = 'http://'
-            . $this->user
-            . ':' . $this->password
-            . '@' . $this->host;
+        $strUrlBase = $this->getBaseUrl();
 
         /**
         * Connection status
@@ -116,7 +126,7 @@ class Wrt3g
         $arRetval = array_merge($arRetval, $this->parseStatus($body));
 
         return $arRetval;
-    }//function getStatus()
+    }//public function getStatus()
 
 
 
@@ -127,7 +137,7 @@ class Wrt3g
     *
     * @return array Array of key-value pairs
     */
-    function parseStatus($body)
+    protected function parseStatus($body)
     {
         $arRetval = array();
         $arMatches = array();