<?php
require_once('lib/exception/RebootException.class.php');
require_once('lib/exception/RouterException.class.php');
+require_once('lib/exception/NotImplementedException.class.php');
require_once('CryptLib/CryptLib.php');
require_once('lib/trait/Connection.class.php');
require_once('lib/trait/CryptLib.class.php');
/**
* @author Jan Altensen (Stricted)
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @copyright 2015 Jan Altensen (Stricted)
+ * @copyright 2015-2016 Jan Altensen (Stricted)
*/
class SpeedportHybrid {
use Connection;
* class version
* @const string
*/
- const VERSION = '1.0.4';
+ const VERSION = '1.0.5';
/**
* router url
*/
public function __construct ($url = 'http://speedport.ip/') {
$this->url = $url;
+ $this->checkRequirements();
+ }
+
+ /**
+ * check php requirements
+ */
+ private function checkRequirements () {
+ if (!extension_loaded('curl')) {
+ throw new Exception("The PHP Extension 'curl' is missing.");
+ }
+ else if (!extension_loaded('json')) {
+ throw new Exception("The PHP Extension 'json' is missing.");
+ }
+ else if (!extension_loaded('pcre')) {
+ throw new Exception("The PHP Extension 'pcre' is missing.");
+ }
+ else if (!extension_loaded('ctype')) {
+ throw new Exception("The PHP Extension 'ctype' is missing.");
+ }
+ else if (!extension_loaded('hash')) {
+ throw new Exception("The PHP Extension 'hash' is missing.");
+ }
+ else if (!in_array('sha256', hash_algos())) {
+ throw new Exception('SHA-256 algorithm is not Supported.');
+ }
}
/**
* @param integer $count
* @return array
*/
- private function sentRequest ($path, $fields, $cookie = false, $count = 0) {
- $url = $this->url.$path.'?lang=en';
+ private function sendRequest ($path, $fields, $cookie = false, $count = 0) {
+ $url = $this->url.$path;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if (!empty($fields)) {
+ curl_setopt($ch, CURLOPT_POST, true);
+
if (is_array($fields)) {
- curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
}
else {
- curl_setopt($ch, CURLOPT_POST, $count);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
}