diff options
Diffstat (limited to 'functions.php')
| -rw-r--r-- | functions.php | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/functions.php b/functions.php deleted file mode 100644 index fa4693f..0000000 --- a/functions.php +++ /dev/null @@ -1,132 +0,0 @@ -<?php -/** -* Functions to access the router -* -* PHP version 5 -* -* @category Tools -* @package linksys-wrt3g-tools -* @author Christian Weiske <cweiske@cweiske.de> -* @license AGPL v3 -* @link http://cweiske.de/linksys-wrt3g-tools.htm -*/ -require_once 'HTTP/Request2.php'; - - -class Wrt3g -{ - protected static $arTranslations = array( - 'GPRS_MSG.WWBEAR' => 'type', - 'GPRS_MSG.NNAME' => 'network', - 'GPRS_MSG.STRENGTH' => 'signal strength', - 'GPRS_MSG.ACQUIRING' => 'aquiring', - 'GPRS_MSG.WWBEAR_GPRS' => 'GPRS', - 'GPRS_MSG.WWBEAR_UMTS' => 'UMTS', - ); - - /** - * Reboots the router. - * - * @return HTTP_Request2_Response - * - * @throws Exception When the router can't be reached, or unauthorized - */ - function reboot() - { - $r = new HTTP_Request2(); - $r->setMethod(HTTP_Request2::METHOD_POST); - $r->setUrl( - 'http://' - . $GLOBALS['linksys-wrt3g-tools']['user'] - . ':' . $GLOBALS['linksys-wrt3g-tools']['password'] - . '@' . $GLOBALS['linksys-wrt3g-tools']['ip'] - . '/apply.cgi' - ); - $r->addPostParameter('action', 'Reboot'); - $r->addPostParameter('submit_button', 'Diagnostics'); - $r->addPostParameter('wait_time', 1); - - $resp = $r->send(); - return $resp; - }//function reboot() - - - - /** - * Retrieves 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 - */ - function getStatus() - { - $arRetval = array(); - - $strUrlBase = 'http://' - . $GLOBALS['linksys-wrt3g-tools']['user'] - . ':' . $GLOBALS['linksys-wrt3g-tools']['password'] - . '@' . $GLOBALS['linksys-wrt3g-tools']['ip']; - - /** - * Connection status - */ - $r = new HTTP_Request2(); - $r->setMethod(HTTP_Request2::METHOD_GET); - $r->setUrl($strUrlBase . '/index_wstatus2.asp'); - $resp = $r->send(); - echo $resp->getStatus() . ' ' . $resp->getReasonPhrase() . "\n"; - $body = $resp->getBody(); - preg_match('/var status2 = "(.+)"/', $body, $arMatches); - - $strStatus = $arMatches[1]; - //Connecting - //Disconnected - //Connected - $arRetval['connection'] = strtolower($strStatus); - - /** - * GPRS/UMTS Status - */ - $r->setUrl($strUrlBase . '/index_wstatus1.asp'); - $resp = $r->send(); - $body = $resp->getBody(); - $arRetval = array_merge($arRetval, $this->parseStatus($body)); - - return $arRetval; - }//function getStatus() - - - - /** - * Parses the body and returns extracted values - * - * @param string $body HTML document to parse - * - * @return array Array of key-value pairs - */ - function parseStatus($body) - { - $arRetval = array(); - $arMatches = array(); - preg_match_all('#>Capture\(([^)]+)\)</#', $body, $arMatches); - $arData = array(); - reset($arMatches[1]); - while (current($arMatches[1])) { - $key = current($arMatches[1]); - $value = next($arMatches[1]); - if (isset(self::$arTranslations[$key])) { - $key = self::$arTranslations[$key]; - } - if (isset(self::$arTranslations[$value])) { - $value = self::$arTranslations[$value]; - } - $arRetval[$key] = $value; - next($arMatches[1]); - } - - return $arRetval; - } -} -?>
\ No newline at end of file |
