@@ -63,39 +63,39 @@ discard block |
||
63 | 63 | * |
64 | 64 | * @access public |
65 | 65 | */ |
66 | - public function __construct($password = false,$user_name = false,$fritzbox_ip = 'fritz.box',$force_local_login = false) |
|
66 | + public function __construct($password = false, $user_name = false, $fritzbox_ip = 'fritz.box', $force_local_login = false) |
|
67 | 67 | { |
68 | 68 | // init the config object |
69 | 69 | $this->config = new fritzbox_api_config(); |
70 | 70 | |
71 | 71 | // try autoloading the config |
72 | - if (file_exists(__DIR__ . '/fritzbox_user.conf.php') && is_readable(__DIR__ . '/fritzbox_user.conf.php') ) { |
|
72 | + if(file_exists(__DIR__ . '/fritzbox_user.conf.php') && is_readable(__DIR__ . '/fritzbox_user.conf.php')) { |
|
73 | 73 | require_once(__DIR__ . '/fritzbox_user.conf.php'); |
74 | 74 | } |
75 | 75 | |
76 | 76 | // set FRITZ!Box-IP and URL |
77 | - $this->config->setItem('fritzbox_ip',$fritzbox_ip); |
|
77 | + $this->config->setItem('fritzbox_ip', $fritzbox_ip); |
|
78 | 78 | |
79 | 79 | // check if login on local network (fritz.box) or via a dynamic DNS-host |
80 | - if ($fritzbox_ip != 'fritz.box' && !$force_local_login) { |
|
81 | - $this->config->setItem('enable_remote_config',true); |
|
82 | - $this->config->setItem('remote_config_user',$user_name); |
|
83 | - $this->config->setItem('remote_config_password',$password); |
|
84 | - $this->config->setItem('fritzbox_url', 'https://'.$this->config->getItem('fritzbox_ip')); |
|
80 | + if($fritzbox_ip != 'fritz.box' && !$force_local_login) { |
|
81 | + $this->config->setItem('enable_remote_config', true); |
|
82 | + $this->config->setItem('remote_config_user', $user_name); |
|
83 | + $this->config->setItem('remote_config_password', $password); |
|
84 | + $this->config->setItem('fritzbox_url', 'https://' . $this->config->getItem('fritzbox_ip')); |
|
85 | 85 | } else { |
86 | - $this->config->setItem('enable_remote_config',false); |
|
87 | - if($user_name != false){ |
|
88 | - $this->config->setItem('username',$user_name); |
|
86 | + $this->config->setItem('enable_remote_config', false); |
|
87 | + if($user_name != false) { |
|
88 | + $this->config->setItem('username', $user_name); |
|
89 | 89 | } |
90 | - if($password != false){ |
|
91 | - $this->config->setItem('password',$password); |
|
90 | + if($password != false) { |
|
91 | + $this->config->setItem('password', $password); |
|
92 | 92 | } |
93 | 93 | $this->config->setItem('fritzbox_url', 'http://' . $this->config->getItem('fritzbox_ip')); |
94 | 94 | } |
95 | 95 | |
96 | 96 | // make some config consistency checks |
97 | - if ( $this->config->getItem('enable_remote_config') === true ){ |
|
98 | - if ( !$this->config->getItem('remote_config_user') || !$this->config->getItem('remote_config_password') ){ |
|
97 | + if($this->config->getItem('enable_remote_config') === true) { |
|
98 | + if(!$this->config->getItem('remote_config_user') || !$this->config->getItem('remote_config_password')) { |
|
99 | 99 | $this->error('ERROR: Remote config mode enabled, but no username or no password provided'); |
100 | 100 | } |
101 | 101 | } |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | { |
130 | 130 | $ch = curl_init(); |
131 | 131 | |
132 | - if ( isset($formfields['getpage']) && strpos($formfields['getpage'], '.lua') > 0 ) |
|
132 | + if(isset($formfields['getpage']) && strpos($formfields['getpage'], '.lua') > 0) |
|
133 | 133 | { |
134 | 134 | curl_setopt($ch, CURLOPT_URL, $this->config->getItem('fritzbox_url') . $formfields['getpage'] . '?sid=' . $this->sid); |
135 | 135 | unset($formfields['getpage']); |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | else |
138 | 138 | { |
139 | 139 | // add the sid, if it is already set |
140 | - if ($this->sid != '0000000000000000') |
|
140 | + if($this->sid != '0000000000000000') |
|
141 | 141 | { |
142 | 142 | $formfields['sid'] = $this->sid; |
143 | 143 | } |
@@ -145,10 +145,10 @@ discard block |
||
145 | 145 | } |
146 | 146 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
147 | 147 | curl_setopt($ch, CURLOPT_POST, 1); |
148 | - if ( $this->config->getItem('enable_remote_config') == true ) |
|
148 | + if($this->config->getItem('enable_remote_config') == true) |
|
149 | 149 | { |
150 | 150 | // set name of SSL-certificate (must be same as remote-hostname (dynDNS) of FRITZ!Box) and remove port in address if alternate port is given |
151 | - if (strpos($this->config->getItem('fritzbox_ip'),":")){ |
|
151 | + if(strpos($this->config->getItem('fritzbox_ip'), ":")) { |
|
152 | 152 | $ssl_cert_fritzbox = explode(":", $this->config->getItem('fritzbox_ip')); |
153 | 153 | $ssl_cert_fritzbox = $ssl_cert_fritzbox[0]; |
154 | 154 | } else { |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | curl_setopt($ch, CURLOPT_CAPATH, '/etc/ssl/certs'); |
162 | 162 | |
163 | 163 | // support for pre FRITZ!OS 5.50 remote config |
164 | - if (!$this->config->getItem('use_lua_login_method')){ |
|
164 | + if(!$this->config->getItem('use_lua_login_method')) { |
|
165 | 165 | curl_setopt($ch, CURLOPT_USERPWD, $this->config->getItem('remote_config_user') . ':' . $this->config->getItem('remote_config_password')); |
166 | 166 | } |
167 | 167 | } |
@@ -176,7 +176,7 @@ discard block |
||
176 | 176 | $ch = curl_init(); |
177 | 177 | |
178 | 178 | // add the sid, if it is already set |
179 | - if ($this->sid != '0000000000000000') |
|
179 | + if($this->sid != '0000000000000000') |
|
180 | 180 | { |
181 | 181 | // 'sid' MUST be the first POST variable!!! (otherwise it will not work!!) |
182 | 182 | // therfore we use array_merge to ensuere the foreach outputs 'sid' fist |
@@ -191,13 +191,13 @@ discard block |
||
191 | 191 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
192 | 192 | |
193 | 193 | // if filefileds not specified ('@/path/to/file.xml;type=text/xml' works fine) |
194 | - if(empty( $filefileds )) { |
|
194 | + if(empty($filefileds)) { |
|
195 | 195 | curl_setopt($ch, CURLOPT_POSTFIELDS, $formfields); // http_build_query |
196 | 196 | } |
197 | 197 | // post calculated raw data |
198 | 198 | else { |
199 | 199 | $header = $this->_create_custom_file_post_header($formfields, $filefileds); |
200 | - curl_setopt($ch, CURLOPT_HTTPHEADER , array( |
|
200 | + curl_setopt($ch, CURLOPT_HTTPHEADER, array( |
|
201 | 201 | 'Content-Type: multipart/form-data; boundary=' . $header['delimiter'], 'Content-Length: ' . strlen($header['data']) ) |
202 | 202 | ); |
203 | 203 | |
@@ -208,12 +208,12 @@ discard block |
||
208 | 208 | |
209 | 209 | // curl error |
210 | 210 | if(curl_errno($ch)) { |
211 | - $this->error(curl_error($ch)." (".curl_errno($ch).")"); |
|
211 | + $this->error(curl_error($ch) . " (" . curl_errno($ch) . ")"); |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | // finger out an error message, if given |
215 | 215 | preg_match('@<p class="ErrorMsg">(.*?)</p>@is', $output, $matches); |
216 | - if (isset($matches[1])) |
|
216 | + if(isset($matches[1])) |
|
217 | 217 | { |
218 | 218 | $this->error(str_replace(' ', ' ', $matches[1])); |
219 | 219 | } |
@@ -244,7 +244,7 @@ discard block |
||
244 | 244 | $data = ''; |
245 | 245 | |
246 | 246 | // populate normal fields first (simpler) |
247 | - foreach ($postFields as $name => $content) { |
|
247 | + foreach($postFields as $name => $content) { |
|
248 | 248 | $data .= "--" . $delimiter . "\r\n"; |
249 | 249 | $data .= 'Content-Disposition: form-data; name="' . urlencode($name) . '"'; |
250 | 250 | $data .= "\r\n\r\n"; |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | $data .= "\r\n"; |
253 | 253 | } |
254 | 254 | // populate file fields |
255 | - foreach ($fileFields as $name => $file) { |
|
255 | + foreach($fileFields as $name => $file) { |
|
256 | 256 | $data .= "--" . $delimiter . "\r\n"; |
257 | 257 | // "filename" attribute is not essential; server-side scripts may use it |
258 | 258 | $data .= 'Content-Disposition: form-data; name="' . urlencode($name) . '";' . |
@@ -282,13 +282,13 @@ discard block |
||
282 | 282 | public function doGetRequest($params = array()) |
283 | 283 | { |
284 | 284 | // add the sid, if it is already set |
285 | - if ($this->sid != '0000000000000000') |
|
285 | + if($this->sid != '0000000000000000') |
|
286 | 286 | { |
287 | 287 | $params['sid'] = $this->sid; |
288 | 288 | } |
289 | 289 | |
290 | 290 | $ch = curl_init(); |
291 | - if ( strpos($params['getpage'], '.lua') > 0 ) |
|
291 | + if(strpos($params['getpage'], '.lua') > 0) |
|
292 | 292 | { |
293 | 293 | $getpage = $params['getpage'] . '?'; |
294 | 294 | unset($params['getpage']); |
@@ -300,13 +300,13 @@ discard block |
||
300 | 300 | curl_setopt($ch, CURLOPT_URL, $this->config->getItem('fritzbox_url') . $getpage . http_build_query($params)); |
301 | 301 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
302 | 302 | curl_setopt($ch, CURLOPT_HTTPGET, 1); |
303 | - if ( $this->config->getItem('enable_remote_config') ) |
|
303 | + if($this->config->getItem('enable_remote_config')) |
|
304 | 304 | { |
305 | 305 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); |
306 | 306 | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); |
307 | 307 | |
308 | 308 | // support for pre FRITZ!OS 5.50 remote config |
309 | - if ( !$this->config->getItem('use_lua_login_method') ) |
|
309 | + if(!$this->config->getItem('use_lua_login_method')) |
|
310 | 310 | { |
311 | 311 | curl_setopt($ch, CURLOPT_USERPWD, $this->config->getItem('remote_config_user') . ':' . $this->config->getItem('remote_config_password')); |
312 | 312 | } |
@@ -327,7 +327,7 @@ discard block |
||
327 | 327 | protected function initSID() |
328 | 328 | { |
329 | 329 | // determine, wich login type we have to use |
330 | - if ( $this->config->getItem('use_lua_login_method') == true ) |
|
330 | + if($this->config->getItem('use_lua_login_method') == true) |
|
331 | 331 | { |
332 | 332 | $loginpage = '/login_sid.lua'; |
333 | 333 | } |
@@ -339,13 +339,13 @@ discard block |
||
339 | 339 | // read the current status |
340 | 340 | $session_status_simplexml = simplexml_load_string($this->doGetRequest(array('getpage' => $loginpage))); |
341 | 341 | |
342 | - if ( !is_object($session_status_simplexml) || get_class($session_status_simplexml) != 'SimpleXMLElement' ) |
|
342 | + if(!is_object($session_status_simplexml) || get_class($session_status_simplexml) != 'SimpleXMLElement') |
|
343 | 343 | { |
344 | 344 | $this->error('Response of initialization call ' . $loginpage . ' in ' . __FUNCTION__ . ' was not xml-formatted.'); |
345 | 345 | } |
346 | 346 | |
347 | 347 | // perhaps we already have a SID (i.e. when no password is set) |
348 | - if ( $session_status_simplexml->SID != '0000000000000000' ) |
|
348 | + if($session_status_simplexml->SID != '0000000000000000') |
|
349 | 349 | { |
350 | 350 | return $session_status_simplexml->SID; |
351 | 351 | } |
@@ -359,16 +359,16 @@ discard block |
||
359 | 359 | $formfields = array( |
360 | 360 | 'getpage' => $loginpage, |
361 | 361 | ); |
362 | - if ( $this->config->getItem('use_lua_login_method') ) |
|
362 | + if($this->config->getItem('use_lua_login_method')) |
|
363 | 363 | { |
364 | - if ( $this->config->getItem('enable_remote_config') ) |
|
364 | + if($this->config->getItem('enable_remote_config')) |
|
365 | 365 | { |
366 | 366 | $formfields['username'] = $this->config->getItem('remote_config_user'); |
367 | 367 | $response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $this->config->getItem('remote_config_password'), "UCS-2LE", "UTF-8")); |
368 | 368 | } |
369 | 369 | else |
370 | 370 | { |
371 | - if ( $this->config->getItem('username') ) |
|
371 | + if($this->config->getItem('username')) |
|
372 | 372 | { |
373 | 373 | $formfields['username'] = $this->config->getItem('username'); |
374 | 374 | } |
@@ -385,12 +385,12 @@ discard block |
||
385 | 385 | |
386 | 386 | // finger out the SID from the response |
387 | 387 | $session_status_simplexml = simplexml_load_string($output); |
388 | - if ( !is_object($session_status_simplexml) || get_class($session_status_simplexml) != 'SimpleXMLElement' ) |
|
388 | + if(!is_object($session_status_simplexml) || get_class($session_status_simplexml) != 'SimpleXMLElement') |
|
389 | 389 | { |
390 | 390 | $this->error('Response of login call to ' . $loginpage . ' in ' . __FUNCTION__ . ' was not xml-formatted.'); |
391 | 391 | } |
392 | 392 | |
393 | - if ( $session_status_simplexml->SID != '0000000000000000' ) |
|
393 | + if($session_status_simplexml->SID != '0000000000000000') |
|
394 | 394 | { |
395 | 395 | return (string)$session_status_simplexml->SID; |
396 | 396 | } |
@@ -408,7 +408,7 @@ discard block |
||
408 | 408 | */ |
409 | 409 | protected function logout() |
410 | 410 | { |
411 | - if ( $this->config->getItem('use_lua_login_method') == true ) |
|
411 | + if($this->config->getItem('use_lua_login_method') == true) |
|
412 | 412 | { |
413 | 413 | $this->doGetRequest(array('getpage' => '/home/home.lua', 'logout' => '1')); |
414 | 414 | } |
@@ -451,22 +451,22 @@ discard block |
||
451 | 451 | */ |
452 | 452 | public function logMessage($message) |
453 | 453 | { |
454 | - if ( $this->config->getItem('newline') == false ) |
|
454 | + if($this->config->getItem('newline') == false) |
|
455 | 455 | { |
456 | 456 | $this->config->setItem('newline', (PHP_OS == 'WINNT') ? "\r\n" : "\n"); |
457 | 457 | } |
458 | 458 | |
459 | - if ( $this->config->getItem('logging') == 'console' ) |
|
459 | + if($this->config->getItem('logging') == 'console') |
|
460 | 460 | { |
461 | 461 | echo $message; |
462 | 462 | } |
463 | - else if ( $this->config->getItem('logging') == 'silent' || $this->config->getItem('logging') == false ) |
|
463 | + else if($this->config->getItem('logging') == 'silent' || $this->config->getItem('logging') == false) |
|
464 | 464 | { |
465 | 465 | // do nothing |
466 | 466 | } |
467 | 467 | else |
468 | 468 | { |
469 | - if ( is_writable($this->config->getItem('logging')) || is_writable(dirname($this->config->getItem('logging'))) ) |
|
469 | + if(is_writable($this->config->getItem('logging')) || is_writable(dirname($this->config->getItem('logging')))) |
|
470 | 470 | { |
471 | 471 | file_put_contents($this->config->getItem('logging'), $message . $this->config->getItem('newline'), FILE_APPEND); |
472 | 472 | } |
@@ -516,11 +516,11 @@ discard block |
||
516 | 516 | */ |
517 | 517 | public function getItem($item = 'all') |
518 | 518 | { |
519 | - if ( $item == 'all' ) |
|
519 | + if($item == 'all') |
|
520 | 520 | { |
521 | 521 | return $this->config; |
522 | 522 | } |
523 | - elseif ( isset($this->config[$item]) ) |
|
523 | + elseif(isset($this->config[$item])) |
|
524 | 524 | { |
525 | 525 | return $this->config[$item]; |
526 | 526 | } |