@@ -69,13 +69,13 @@ discard block |
||
69 | 69 | |
70 | 70 | function __construct() |
71 | 71 | { |
72 | - $this->trustRoot = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']; |
|
72 | + $this->trustRoot = (!empty($_SERVER['HTTPS']) ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST']; |
|
73 | 73 | $uri = rtrim(preg_replace('#((?<=\?)|&)openid\.[^&]+#', '', $_SERVER['REQUEST_URI']), '?'); |
74 | - $this->returnUrl = $this->trustRoot . $uri; |
|
74 | + $this->returnUrl = $this->trustRoot.$uri; |
|
75 | 75 | |
76 | 76 | $this->data = $_POST + $_GET; # OPs may send data as POST or GET. |
77 | 77 | |
78 | - if(!function_exists('curl_init') && !in_array('https', stream_get_wrappers())) { |
|
78 | + if (!function_exists('curl_init') && !in_array('https', stream_get_wrappers())) { |
|
79 | 79 | throw new ErrorException('You must have either https wrappers or curl enabled.'); |
80 | 80 | } |
81 | 81 | } |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | { |
85 | 85 | switch ($name) { |
86 | 86 | case 'identity': |
87 | - if (strlen($value = trim((String) $value))) { |
|
87 | + if (strlen($value = trim((String)$value))) { |
|
88 | 88 | if (preg_match('#^xri:/*#i', $value, $m)) { |
89 | 89 | $value = substr($value, strlen($m[0])); |
90 | 90 | } elseif (!preg_match('/^(?:[=@+\$!\(]|https?:)/i', $value)) { |
@@ -139,23 +139,23 @@ discard block |
||
139 | 139 | return !!gethostbynamel($server); |
140 | 140 | } |
141 | 141 | |
142 | - protected function request_curl($url, $method='GET', $params=array()) |
|
142 | + protected function request_curl($url, $method = 'GET', $params = array()) |
|
143 | 143 | { |
144 | 144 | $params = http_build_query($params, '', '&'); |
145 | - $curl = curl_init($url . ($method == 'GET' && $params ? '?' . $params : '')); |
|
145 | + $curl = curl_init($url.($method == 'GET' && $params ? '?'.$params : '')); |
|
146 | 146 | curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); |
147 | 147 | curl_setopt($curl, CURLOPT_HEADER, false); |
148 | 148 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); |
149 | 149 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); |
150 | 150 | curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/xrds+xml, */*')); |
151 | 151 | |
152 | - if($this->verify_peer !== null) { |
|
152 | + if ($this->verify_peer !== null) { |
|
153 | 153 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $this->verify_peer); |
154 | - if($this->capath) { |
|
154 | + if ($this->capath) { |
|
155 | 155 | curl_setopt($curl, CURLOPT_CAPATH, $this->capath); |
156 | 156 | } |
157 | 157 | |
158 | - if($this->cainfo) { |
|
158 | + if ($this->cainfo) { |
|
159 | 159 | curl_setopt($curl, CURLOPT_CAINFO, $this->cainfo); |
160 | 160 | } |
161 | 161 | } |
@@ -171,17 +171,17 @@ discard block |
||
171 | 171 | } |
172 | 172 | $response = curl_exec($curl); |
173 | 173 | |
174 | - if($method == 'HEAD') { |
|
174 | + if ($method == 'HEAD') { |
|
175 | 175 | $headers = array(); |
176 | - foreach(explode("\n", $response) as $header) { |
|
177 | - $pos = strpos($header,':'); |
|
176 | + foreach (explode("\n", $response) as $header) { |
|
177 | + $pos = strpos($header, ':'); |
|
178 | 178 | $name = strtolower(trim(substr($header, 0, $pos))); |
179 | - $headers[$name] = trim(substr($header, $pos+1)); |
|
179 | + $headers[$name] = trim(substr($header, $pos + 1)); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | # Updating claimed_id in case of redirections. |
183 | 183 | $effective_url = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL); |
184 | - if($effective_url != $url) { |
|
184 | + if ($effective_url != $url) { |
|
185 | 185 | $this->identity = $this->claimed_id = $effective_url; |
186 | 186 | } |
187 | 187 | |
@@ -195,14 +195,14 @@ discard block |
||
195 | 195 | return $response; |
196 | 196 | } |
197 | 197 | |
198 | - protected function request_streams($url, $method='GET', $params=array()) |
|
198 | + protected function request_streams($url, $method = 'GET', $params = array()) |
|
199 | 199 | { |
200 | - if(!$this->hostExists($url)) { |
|
200 | + if (!$this->hostExists($url)) { |
|
201 | 201 | throw new ErrorException('Invalid request.'); |
202 | 202 | } |
203 | 203 | |
204 | 204 | $params = http_build_query($params, '', '&'); |
205 | - switch($method) { |
|
205 | + switch ($method) { |
|
206 | 206 | case 'GET': |
207 | 207 | $opts = array( |
208 | 208 | 'http' => array( |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | 'ignore_errors' => true, |
212 | 212 | ) |
213 | 213 | ); |
214 | - $url = $url . ($params ? '?' . $params : ''); |
|
214 | + $url = $url.($params ? '?'.$params : ''); |
|
215 | 215 | break; |
216 | 216 | case 'POST': |
217 | 217 | $opts = array( |
@@ -236,31 +236,31 @@ discard block |
||
236 | 236 | )) |
237 | 237 | ); |
238 | 238 | |
239 | - $url = $url . ($params ? '?' . $params : ''); |
|
240 | - $headers_tmp = get_headers ($url); |
|
241 | - if(!$headers_tmp) { |
|
239 | + $url = $url.($params ? '?'.$params : ''); |
|
240 | + $headers_tmp = get_headers($url); |
|
241 | + if (!$headers_tmp) { |
|
242 | 242 | return array(); |
243 | 243 | } |
244 | 244 | |
245 | 245 | # Parsing headers. |
246 | 246 | $headers = array(); |
247 | - foreach($headers_tmp as $header) { |
|
248 | - $pos = strpos($header,':'); |
|
247 | + foreach ($headers_tmp as $header) { |
|
248 | + $pos = strpos($header, ':'); |
|
249 | 249 | $name = strtolower(trim(substr($header, 0, $pos))); |
250 | - $headers[$name] = trim(substr($header, $pos+1)); |
|
250 | + $headers[$name] = trim(substr($header, $pos + 1)); |
|
251 | 251 | |
252 | 252 | # Following possible redirections. The point is just to have |
253 | 253 | # claimed_id change with them, because get_headers() will |
254 | 254 | # follow redirections automatically. |
255 | 255 | # We ignore redirections with relative paths. |
256 | 256 | # If any known provider uses them, file a bug report. |
257 | - if($name == 'location') { |
|
258 | - if(strpos($headers[$name], 'http') === 0) { |
|
257 | + if ($name == 'location') { |
|
258 | + if (strpos($headers[$name], 'http') === 0) { |
|
259 | 259 | $this->identity = $this->claimed_id = $headers[$name]; |
260 | - } elseif($headers[$name][0] == '/') { |
|
260 | + } elseif ($headers[$name][0] == '/') { |
|
261 | 261 | $parsed_url = parse_url($this->claimed_id); |
262 | 262 | $this->identity = |
263 | - $this->claimed_id = $parsed_url['scheme'] . '://' |
|
263 | + $this->claimed_id = $parsed_url['scheme'].'://' |
|
264 | 264 | . $parsed_url['host'] |
265 | 265 | . $headers[$name]; |
266 | 266 | } |
@@ -272,7 +272,7 @@ discard block |
||
272 | 272 | return $headers; |
273 | 273 | } |
274 | 274 | |
275 | - if($this->verify_peer) { |
|
275 | + if ($this->verify_peer) { |
|
276 | 276 | $opts += array('ssl' => array( |
277 | 277 | 'verify_peer' => true, |
278 | 278 | 'capath' => $this->capath, |
@@ -280,14 +280,14 @@ discard block |
||
280 | 280 | )); |
281 | 281 | } |
282 | 282 | |
283 | - $context = stream_context_create ($opts); |
|
283 | + $context = stream_context_create($opts); |
|
284 | 284 | |
285 | 285 | return file_get_contents($url, false, $context); |
286 | 286 | } |
287 | 287 | |
288 | - protected function request($url, $method='GET', $params=array()) |
|
288 | + protected function request($url, $method = 'GET', $params = array()) |
|
289 | 289 | { |
290 | - if(function_exists('curl_init') && !ini_get('safe_mode') && !ini_get('open_basedir')) { |
|
290 | + if (function_exists('curl_init') && !ini_get('safe_mode') && !ini_get('open_basedir')) { |
|
291 | 291 | return $this->request_curl($url, $method, $params); |
292 | 292 | } |
293 | 293 | return $this->request_streams($url, $method, $params); |
@@ -296,19 +296,19 @@ discard block |
||
296 | 296 | protected function build_url($url, $parts) |
297 | 297 | { |
298 | 298 | if (isset($url['query'], $parts['query'])) { |
299 | - $parts['query'] = $url['query'] . '&' . $parts['query']; |
|
299 | + $parts['query'] = $url['query'].'&'.$parts['query']; |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | $url = $parts + $url; |
303 | - $url = $url['scheme'] . '://' |
|
304 | - . (empty($url['username'])?'' |
|
305 | - :(empty($url['password'])? "{$url['username']}@" |
|
303 | + $url = $url['scheme'].'://' |
|
304 | + . (empty($url['username']) ? '' |
|
305 | + :(empty($url['password']) ? "{$url['username']}@" |
|
306 | 306 | :"{$url['username']}:{$url['password']}@")) |
307 | 307 | . $url['host'] |
308 | - . (empty($url['port'])?'':":{$url['port']}") |
|
309 | - . (empty($url['path'])?'':$url['path']) |
|
310 | - . (empty($url['query'])?'':"?{$url['query']}") |
|
311 | - . (empty($url['fragment'])?'':"#{$url['fragment']}"); |
|
308 | + . (empty($url['port']) ? '' : ":{$url['port']}") |
|
309 | + . (empty($url['path']) ? '' : $url['path']) |
|
310 | + . (empty($url['query']) ? '' : "?{$url['query']}") |
|
311 | + . (empty($url['fragment']) ? '' : "#{$url['fragment']}"); |
|
312 | 312 | return $url; |
313 | 313 | } |
314 | 314 | |
@@ -322,7 +322,7 @@ discard block |
||
322 | 322 | preg_match_all("#<{$tag}[^>]*$valueName=['\"](.+?)['\"][^>]*$attrName=['\"].*?$attrValue.*?['\"][^>]*/?>#i", $content, $matches2); |
323 | 323 | |
324 | 324 | $result = array_merge($matches1[1], $matches2[1]); |
325 | - return empty($result)?false:$result[0]; |
|
325 | + return empty($result) ?false:$result[0]; |
|
326 | 326 | } |
327 | 327 | |
328 | 328 | /** |
@@ -348,7 +348,7 @@ discard block |
||
348 | 348 | $yadis = true; |
349 | 349 | |
350 | 350 | # We'll jump a maximum of 5 times, to avoid endless redirections. |
351 | - for ($i = 0; $i < 5; $i ++) { |
|
351 | + for ($i = 0; $i < 5; $i++) { |
|
352 | 352 | if ($yadis) { |
353 | 353 | $headers = $this->request($url, 'HEAD'); |
354 | 354 | |
@@ -370,12 +370,12 @@ discard block |
||
370 | 370 | $content = $this->request($url, 'GET'); |
371 | 371 | |
372 | 372 | preg_match_all('#<Service.*?>(.*?)</Service>#s', $content, $m); |
373 | - foreach($m[1] as $content) { |
|
374 | - $content = ' ' . $content; # The space is added, so that strpos doesn't return 0. |
|
373 | + foreach ($m[1] as $content) { |
|
374 | + $content = ' '.$content; # The space is added, so that strpos doesn't return 0. |
|
375 | 375 | |
376 | 376 | # OpenID 2 |
377 | 377 | $ns = preg_quote('http://specs.openid.net/auth/2.0/'); |
378 | - if(preg_match('#<Type>\s*'.$ns.'(server|signon)\s*</Type>#s', $content, $type)) { |
|
378 | + if (preg_match('#<Type>\s*'.$ns.'(server|signon)\s*</Type>#s', $content, $type)) { |
|
379 | 379 | if ($type[1] == 'server') $this->identifier_select = true; |
380 | 380 | |
381 | 381 | preg_match('#<URI.*?>(.*)</URI>#', $content, $server); |
@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | return false; |
385 | 385 | } |
386 | 386 | # Does the server advertise support for either AX or SREG? |
387 | - $this->ax = (bool) strpos($content, '<Type>http://openid.net/srv/ax/1.0</Type>'); |
|
387 | + $this->ax = (bool)strpos($content, '<Type>http://openid.net/srv/ax/1.0</Type>'); |
|
388 | 388 | $this->sreg = strpos($content, '<Type>http://openid.net/sreg/1.0</Type>') |
389 | 389 | || strpos($content, '<Type>http://openid.net/extensions/sreg/1.1</Type>'); |
390 | 390 | |
@@ -498,33 +498,33 @@ discard block |
||
498 | 498 | if ($this->required || $this->optional) { |
499 | 499 | $params['openid.ns.ax'] = 'http://openid.net/srv/ax/1.0'; |
500 | 500 | $params['openid.ax.mode'] = 'fetch_request'; |
501 | - $this->aliases = array(); |
|
501 | + $this->aliases = array(); |
|
502 | 502 | $counts = array(); |
503 | 503 | $required = array(); |
504 | 504 | $optional = array(); |
505 | - foreach (array('required','optional') as $type) { |
|
505 | + foreach (array('required', 'optional') as $type) { |
|
506 | 506 | foreach ($this->$type as $alias => $field) { |
507 | 507 | if (is_int($alias)) $alias = strtr($field, '/', '_'); |
508 | - $this->aliases[$alias] = 'http://axschema.org/' . $field; |
|
508 | + $this->aliases[$alias] = 'http://axschema.org/'.$field; |
|
509 | 509 | if (empty($counts[$alias])) $counts[$alias] = 0; |
510 | 510 | $counts[$alias] += 1; |
511 | 511 | ${$type}[] = $alias; |
512 | 512 | } |
513 | 513 | } |
514 | 514 | foreach ($this->aliases as $alias => $ns) { |
515 | - $params['openid.ax.type.' . $alias] = $ns; |
|
515 | + $params['openid.ax.type.'.$alias] = $ns; |
|
516 | 516 | } |
517 | 517 | foreach ($counts as $alias => $count) { |
518 | 518 | if ($count == 1) continue; |
519 | - $params['openid.ax.count.' . $alias] = $count; |
|
519 | + $params['openid.ax.count.'.$alias] = $count; |
|
520 | 520 | } |
521 | 521 | |
522 | 522 | # Don't send empty ax.requied and ax.if_available. |
523 | 523 | # Google and possibly other providers refuse to support ax when one of these is empty. |
524 | - if($required) { |
|
524 | + if ($required) { |
|
525 | 525 | $params['openid.ax.required'] = implode(',', $required); |
526 | 526 | } |
527 | - if($optional) { |
|
527 | + if ($optional) { |
|
528 | 528 | $params['openid.ax.if_available'] = implode(',', $optional); |
529 | 529 | } |
530 | 530 | } |
@@ -537,8 +537,8 @@ discard block |
||
537 | 537 | # If we have an openid.delegate that is different from our claimed id, |
538 | 538 | # we need to somehow preserve the claimed id between requests. |
539 | 539 | # The simplest way is to just send it along with the return_to url. |
540 | - if($this->identity != $this->claimed_id) { |
|
541 | - $returnUrl .= (strpos($returnUrl, '?') ? '&' : '?') . 'openid.claimed_id=' . $this->claimed_id; |
|
540 | + if ($this->identity != $this->claimed_id) { |
|
541 | + $returnUrl .= (strpos($returnUrl, '?') ? '&' : '?').'openid.claimed_id='.$this->claimed_id; |
|
542 | 542 | } |
543 | 543 | |
544 | 544 | $params = array( |
@@ -612,15 +612,15 @@ discard block |
||
612 | 612 | # by presenting user_setup_url (for 1.1) or reporting |
613 | 613 | # mode 'setup_needed' (for 2.0). Also catching all modes other than |
614 | 614 | # id_res, in order to avoid throwing errors. |
615 | - if(isset($this->data['openid_user_setup_url'])) { |
|
615 | + if (isset($this->data['openid_user_setup_url'])) { |
|
616 | 616 | $this->setup_url = $this->data['openid_user_setup_url']; |
617 | 617 | return false; |
618 | 618 | } |
619 | - if($this->mode != 'id_res') { |
|
619 | + if ($this->mode != 'id_res') { |
|
620 | 620 | return false; |
621 | 621 | } |
622 | 622 | |
623 | - $this->claimed_id = isset($this->data['openid_claimed_id'])?$this->data['openid_claimed_id']:$this->data['openid_identity']; |
|
623 | + $this->claimed_id = isset($this->data['openid_claimed_id']) ? $this->data['openid_claimed_id'] : $this->data['openid_identity']; |
|
624 | 624 | $params = array( |
625 | 625 | 'openid.assoc_handle' => $this->data['openid_assoc_handle'], |
626 | 626 | 'openid.signed' => $this->data['openid_signed'], |
@@ -638,7 +638,7 @@ discard block |
||
638 | 638 | # If it's an OpenID 1 provider, and we've got claimed_id, |
639 | 639 | # we have to append it to the returnUrl, like authUrl_v1 does. |
640 | 640 | $this->returnUrl .= (strpos($this->returnUrl, '?') ? '&' : '?') |
641 | - . 'openid.claimed_id=' . $this->claimed_id; |
|
641 | + . 'openid.claimed_id='.$this->claimed_id; |
|
642 | 642 | } |
643 | 643 | |
644 | 644 | if ($this->data['openid_return_to'] != $this->returnUrl) { |
@@ -656,8 +656,8 @@ discard block |
||
656 | 656 | # In such case, validation would fail, since we'd send different data than OP |
657 | 657 | # wants to verify. stripslashes() should solve that problem, but we can't |
658 | 658 | # use it when magic_quotes is off. |
659 | - $value = $this->data['openid_' . str_replace('.','_',$item)]; |
|
660 | - $params['openid.' . $item] = (version_compare(PHP_VERSION, '5.4.0') < 0 && get_magic_quotes_gpc()) ? stripslashes($value) : $value; |
|
659 | + $value = $this->data['openid_'.str_replace('.', '_', $item)]; |
|
660 | + $params['openid.'.$item] = (version_compare(PHP_VERSION, '5.4.0') < 0 && get_magic_quotes_gpc()) ? stripslashes($value) : $value; |
|
661 | 661 | |
662 | 662 | } |
663 | 663 | |
@@ -695,18 +695,18 @@ discard block |
||
695 | 695 | |
696 | 696 | $attributes = array(); |
697 | 697 | foreach ($this->data as $key => $value) { |
698 | - $keyMatch = 'openid_' . $alias . '_value_'; |
|
698 | + $keyMatch = 'openid_'.$alias.'_value_'; |
|
699 | 699 | if (substr($key, 0, strlen($keyMatch)) != $keyMatch) { |
700 | 700 | continue; |
701 | 701 | } |
702 | 702 | $key = substr($key, strlen($keyMatch)); |
703 | - if (!isset($this->data['openid_' . $alias . '_type_' . $key])) { |
|
703 | + if (!isset($this->data['openid_'.$alias.'_type_'.$key])) { |
|
704 | 704 | # OP is breaking the spec by returning a field without |
705 | 705 | # associated ns. This shouldn't happen, but it's better |
706 | 706 | # to check, than cause an E_NOTICE. |
707 | 707 | continue; |
708 | 708 | } |
709 | - $key = substr($this->data['openid_' . $alias . '_type_' . $key], |
|
709 | + $key = substr($this->data['openid_'.$alias.'_type_'.$key], |
|
710 | 710 | strlen('http://axschema.org/')); |
711 | 711 | $attributes[$key] = $value; |
712 | 712 | } |