* @link http://cweiske.de/linksys-wrt3g-tools.htm
*/
require_once 'HTTP/Request2.php';
+require_once 'Wrt3g/Config.php';
require_once 'Wrt3g/HtmlParser.php';
require_once 'Wrt3g/RequestObserver.php';
*/
class Wrt3g
{
- /**
- * Router hostname/IP
- *
- * @var string
- */
- public $host;
-
- /**
- * Name of user with administration privileges
- *
- * @var string
- */
- public $user;
-
- /**
- * Password for $user
- *
- * @var string
- */
- public $password;
-
/**
* Logging verbosity
* 0 - no debug logging
*/
public $requestClass = 'HTTP_Request2';
+ /**
+ * Configuration object
+ *
+ * @var Wrt3g_Config
+ */
+ public $config;
+
+
+
+ /**
+ * Loads the configuration from file and cmdline options
+ *
+ * @param array $options Command line options array
+ *
+ * @return void
+ *
+ * @see Wrt3g_Config
+ */
+ public function loadConfig($options = array())
+ {
+ $this->config = new Wrt3g_Config($this);
+ $this->config->load($options);
+ }
+
/**
protected function getAuthBaseUrl()
{
return 'http://'
- . $this->user
- . ':' . $this->password
- . '@' . $this->host;
+ . $this->config->user
+ . ':' . $this->config->password
+ . '@' . $this->config->host;
}
*/
protected function getAnonBaseUrl()
{
- return 'http://' . $this->host;
+ return 'http://' . $this->config->host;
}
/**
- * 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();
*/
protected function checkResponseStatus(HTTP_Request2_Response $resp)
{
- $this->log($resp, 3);
-
$nStatus = $resp->getStatus();
$this->log($nStatus . ' ' . $resp->getReasonPhrase(), 1);
if (intval($nStatus / 100) == 2) {
/**
* Log a message to stdout.
*
- * @param string|object $msg Message to display. May even be a response
- * object
- * @param integer $level Log level, see $verbosity
+ * @param string|object $msg Message to display. May even be a response
+ * object
+ * @param integer $level Log level, see $verbosity
*
* @return void
*/
public function log($msg, $level = 1)
{
if ($this->verbosity >= $level) {
- if ($msg instanceof HTTP_Request2_Response) {
- echo "HTTP Response:\n";
- echo $msg->getStatus() . ' ' . $msg->getReasonPhrase() . "\n";
- echo 'Header: ';
- var_export($msg->getHeader());
- echo $msg->getBody() . "\n----\n";
- return;
- }
echo $msg . "\n";
}
}