function __construct($version, $hostname, $community, $security = null) { switch ($version) { case "1": case "v1": $version = parent::VERSION_1; break; case "2": case "2c": case "v2c": $version = parent::VERSION_2c; break; case "3": case "v3": $version = parent::VERSION_3; break; } parent::__construct($version, $hostname, $community); if ($version == SNMP::VERSION_3) { if ($security !== null && count($security) == 9) { $auth_passphrase = base64_decode($security[6]); $priv_passphrase = base64_decode($security[8]); if (!$this->setsecurity($security[4], $security[5], $auth_passphrase, $security[7], $priv_passphrase)) { $this->error = "Security Error for v3 ({$hostname})"; return; } } else { $this->error = "Missing security settings for v3 ({$hostname})"; return; } } $this->quick_print = 1; $this->oid_output_format = SNMP_OID_OUTPUT_NUMERIC; }