| @@ 609-629 (lines=21) @@ | ||
| 606 | * @return array associative array of preference (numeric weight >0 <=1.0 ) |
|
| 607 | * keyed by media types, and sorted by preference |
|
| 608 | */ |
|
| 609 | public function getAcceptMediaTypes() |
|
| 610 | { |
|
| 611 | $types = array(); |
|
| 612 | $accept = $this->getHeader('ACCEPT'); |
|
| 613 | ||
| 614 | if (!empty($accept)) { |
|
| 615 | $entries = explode(',', $accept); |
|
| 616 | foreach ($entries as $e) { |
|
| 617 | $mt = explode(';q=', $e); |
|
| 618 | if (!isset($mt[1])) { |
|
| 619 | $mt[1] = 1.0; |
|
| 620 | } |
|
| 621 | $types[trim($mt[0])] = (float) $mt[1]; |
|
| 622 | } |
|
| 623 | ||
| 624 | // sort list based on value |
|
| 625 | arsort($types, SORT_NUMERIC); |
|
| 626 | } |
|
| 627 | ||
| 628 | return($types); |
|
| 629 | } |
|
| 630 | ||
| 631 | /** |
|
| 632 | * getAcceptedLanguages returns the http-accept-language header as an |
|
| @@ 638-658 (lines=21) @@ | ||
| 635 | * @return array associative array of preference (numeric weight >0 <=1.0 ) |
|
| 636 | * keyed by language code, and sorted by preference |
|
| 637 | */ |
|
| 638 | public function getAcceptedLanguages() |
|
| 639 | { |
|
| 640 | $languages = array(); |
|
| 641 | $accept = $this->getHeader('ACCEPT_LANGUAGE'); |
|
| 642 | ||
| 643 | if (!empty($accept)) { |
|
| 644 | $entries = explode(',', $accept); |
|
| 645 | foreach ($entries as $e) { |
|
| 646 | $l = explode(';q=', $e); |
|
| 647 | if (!isset($l[1])) { |
|
| 648 | $l[1] = 1.0; |
|
| 649 | } |
|
| 650 | $languages[trim($l[0])] = (float) $l[1]; |
|
| 651 | } |
|
| 652 | ||
| 653 | // sort list based on value |
|
| 654 | arsort($languages, SORT_NUMERIC); |
|
| 655 | } |
|
| 656 | ||
| 657 | return($languages); |
|
| 658 | } |
|
| 659 | } |
|
| 660 | ||