All pastes #426037 Raw Edit

Stuff

public php v1 · immutable
·published 2007-04-05 21:28 UTC
rendered paste body
<?phpfunction emu_getallheaders() { foreach($_SERVER as $name => $value)  if(substr($name, 0, 5) == 'HTTP_')   $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; return $headers;}function cmp($a, $b) { global $tmparray; $ka = array_keys($tmparray, $a); $kb = array_keys($tmparray, $b); if ($a[0] == $b[0] && $ka[0] < $kb[0]) return 0; return ($a[0] > $b[0]) ? -1 : 1;}function process_accept_arrays($array) { global $tmparray; foreach ($array as $k=>$v) {  $tmp = explode(';', $v);  $array[$k] = array(($tmp[1] ? trim(str_replace('q=', '', $tmp[1])) : 1), trim(strtolower($tmp[0]))); } $tmparray = $array; usort($array, 'cmp'); return $array;}function http_accept_options() { $accept_charset = process_accept_arrays(explode(',', $_SERVER['HTTP_ACCEPT_CHARSET'])); $accept_language = process_accept_arrays(explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE'])); foreach ($accept_language as $k=>$v) {  $tmp = explode('-', $v[1]);  $accept_language[$k] = array($v[0], trim($tmp[0]), ($tmp[1] ? trim($tmp[1]) : '')); } $accept = process_accept_arrays(explode(',', $_SERVER['HTTP_ACCEPT'])); return array('charset'=>$accept_charset,'language'=>$accept_language,'http'=>$accept);}$languages = array('aa'=>'afar', 'ab'=>'abkhazian', 'af'=>'afrikaans', 'am'=>'amharic', 'ar'=>'arabic', 'as'=>'assamese', 'ay'=>'aymara', 'az'=>'azerbaijani', 'ba'=>'bashkir', 'be'=>'byelorussian', 'bg'=>'bulgarian', 'bh'=>'bihari', 'bi'=>'bislama', 'bn'=>'bengali;', 'bo'=>'tibetan', 'br'=>'breton', 'ca'=>'catalan', 'co'=>'corsican', 'cs'=>'czech', 'cy'=>'welsh', 'da'=>'danish', 'de'=>'german', 'dz'=>'bhutani', 'el'=>'greek', 'en'=>'english', 'eo'=>'esperanto', 'es'=>'spanish', 'et'=>'estonian', 'eu'=>'basque', 'fa'=>'persian', 'fi'=>'finnish', 'fj'=>'fiji', 'fo'=>'faroese', 'fr'=>'french', 'fy'=>'frisian', 'ga'=>'irish', 'gd'=>'scots', 'gl'=>'galician', 'gn'=>'guarani', 'gu'=>'gujarati', 'ha'=>'hausa', 'he'=>'hebrew', 'hi'=>'hindi', 'hr'=>'croatian', 'hu'=>'hungarian', 'hy'=>'armenian', 'ia'=>'interlingua', 'id'=>'indonesian', 'ie'=>'interlingue', 'ik'=>'inupiak', 'is'=>'icelandic', 'it'=>'italian', 'iu'=>'inuktitut', 'ja'=>'japanese', 'jw'=>'javanese', 'ka'=>'georgian', 'kk'=>'kazakh', 'kl'=>'greenlandic', 'km'=>'cambodian', 'kn'=>'kannada', 'ko'=>'korean', 'ks'=>'kashmiri', 'ku'=>'kurdish', 'ky'=>'kirghiz', 'la'=>'latin', 'ln'=>'lingala', 'lo'=>'laothian', 'lt'=>'lithuanian', 'lv'=>'latvian,', 'mg'=>'malagasy', 'mi'=>'maori', 'mk'=>'macedonian', 'ml'=>'malayalam', 'mn'=>'mongolian', 'mo'=>'moldavian', 'mr'=>'marathi', 'ms'=>'malay', 'mt'=>'maltese', 'my'=>'burmese', 'na'=>'nauru', 'ne'=>'nepali', 'nl'=>'dutch', 'no'=>'norwegian', 'oc'=>'occitan', 'om'=>'oromo', 'or'=>'oriya', 'pa'=>'punjabi', 'pl'=>'polish', 'ps'=>'pashto,', 'pt'=>'portuguese', 'qu'=>'quechua', 'rm'=>'rhaeto-romance', 'rn'=>'kirundi', 'ro'=>'romanian', 'ru'=>'russian', 'rw'=>'kinyarwanda', 'sa'=>'sanskrit', 'sd'=>'sindhi', 'sg'=>'sangho', 'sh'=>'serbo-croatian', 'si'=>'sinhalese', 'sk'=>'slovak', 'sl'=>'slovenian', 'sm'=>'samoan', 'sn'=>'shona', 'so'=>'somali', 'sq'=>'albanian', 'sr'=>'serbian', 'ss'=>'siswati', 'st'=>'sesotho', 'su'=>'sundanese', 'sv'=>'swedish', 'sw'=>'swahili', 'ta'=>'tamil', 'te'=>'telugu', 'tg'=>'tajik', 'th'=>'thai', 'ti'=>'tigrinya', 'tk'=>'turkmen', 'tl'=>'tagalog', 'tn'=>'setswana', 'to'=>'tonga', 'tr'=>'turkish', 'ts'=>'tsonga', 'tt'=>'tatar', 'tw'=>'twi', 'ug'=>'uighur', 'uk'=>'ukrainian', 'ur'=>'urdu', 'uz'=>'uzbek', 'vi'=>'vietnamese', 'vo'=>'volapuk', 'wo'=>'wolof', 'xh'=>'xhosa', 'yi'=>'yiddish', 'yo'=>'yoruba', 'za'=>'zhuang', 'zh'=>'chinese', 'zu'=>'zulu');$countries = array('ax'=>'aaland islands', 'af'=>'afghanistan', 'al'=>'albania', 'dz'=>'algeria', 'as'=>'american samoa', 'ad'=>'andorra', 'ao'=>'angola', 'ai'=>'anguilla', 'aq'=>'antarctica', 'ag'=>'antigua and barbuda', 'ar'=>'argentina', 'am'=>'armenia', 'aw'=>'aruba', 'au'=>'australia', 'at'=>'austria', 'az'=>'azerbaijan', 'bs'=>'bahamas', 'bh'=>'bahrain', 'bd'=>'bangladesh', 'bb'=>'barbados', 'by'=>'belarus', 'be'=>'belgium', 'bz'=>'belize', 'bj'=>'benin', 'bm'=>'bermuda', 'bt'=>'bhutan', 'bo'=>'bolivia', 'ba'=>'bosnia and herzegowina', 'bw'=>'botswana', 'bv'=>'bouvet island', 'br'=>'brazil', 'io'=>'british indian ocean territory', 'bn'=>'brunei darussalam', 'bg'=>'bulgaria', 'bf'=>'burkina faso', 'bi'=>'burundi', 'kh'=>'cambodia', 'cm'=>'cameroon', 'ca'=>'canada', 'cv'=>'cape verde', 'ky'=>'cayman islands', 'cf'=>'central african republic', 'td'=>'chad', 'cl'=>'chile', 'cn'=>'china', 'cx'=>'christmas island', 'cc'=>'cocos islands', 'co'=>'colombia', 'km'=>'comoros', 'cd'=>'congo', 'cg'=>'congo, republic of', 'ck'=>'cook islands', 'cr'=>'costa rica', 'ci'=>'cote d\'ivoire', 'hr'=>'croatia', 'cu'=>'cuba', 'cy'=>'cyprus', 'cz'=>'czech republic', 'dk'=>'denmark', 'dj'=>'djibouti', 'dm'=>'dominica', 'do'=>'dominican republic', 'ec'=>'ecuador', 'eg'=>'egypt', 'sv'=>'el salvador', 'gq'=>'equatorial guinea', 'er'=>'eritrea', 'ee'=>'estonia', 'et'=>'ethiopia', 'fk'=>'falkland islands', 'fo'=>'faroe islands', 'fj'=>'fiji', 'fi'=>'finland', 'fr'=>'france', 'gf'=>'french guiana', 'pf'=>'french polynesia', 'tf'=>'french southern territories', 'ga'=>'gabon', 'gm'=>'gambia', 'ge'=>'georgia', 'de'=>'germany', 'gh'=>'ghana', 'gi'=>'gibraltar', 'gr'=>'greece', 'gl'=>'greenland', 'gd'=>'grenada', 'gp'=>'guadeloupe', 'gu'=>'guam', 'gt'=>'guatemala', 'gn'=>'guinea', 'gw'=>'guinea-bissau', 'gy'=>'guyana', 'ht'=>'haiti', 'hm'=>'heard and mc donald islands', 'hn'=>'honduras', 'hk'=>'hong kong', 'hu'=>'hungary', 'is'=>'iceland', 'in'=>'india', 'id'=>'indonesia', 'ir'=>'iran', 'iq'=>'iraq', 'ie'=>'ireland', 'il'=>'israel', 'it'=>'italy', 'jm'=>'jamaica', 'jp'=>'japan', 'jo'=>'jordan', 'kz'=>'kazakhstan', 'ke'=>'kenya', 'ki'=>'kiribati', 'kp'=>'korea, democratic people\'s republic of', 'kr'=>'korea, republic of', 'kw'=>'kuwait', 'kg'=>'kyrgyzstan', 'la'=>'lao people\'s democratic republic', 'lv'=>'latvia', 'lb'=>'lebanon', 'ls'=>'lesotho', 'lr'=>'liberia', 'ly'=>'libyan arab jamahiriya', 'li'=>'liechtenstein', 'lt'=>'lithuania', 'lu'=>'luxembourg', 'mo'=>'macau', 'mk'=>'macedonia, the former yugoslav republic of', 'mg'=>'madagascar', 'mw'=>'malawi', 'my'=>'malaysia', 'mv'=>'maldives', 'ml'=>'mali', 'mt'=>'malta', 'mh'=>'marshall islands', 'mq'=>'martinique', 'mr'=>'mauritania', 'mu'=>'mauritius', 'yt'=>'mayotte', 'mx'=>'mexico', 'fm'=>'micronesia, federated states of', 'md'=>'moldova, republic of', 'mc'=>'monaco', 'mn'=>'mongolia', 'ms'=>'montserrat', 'ma'=>'morocco', 'mz'=>'mozambique', 'mm'=>'myanmar', 'na'=>'namibia', 'nr'=>'nauru', 'np'=>'nepal', 'nl'=>'netherlands', 'an'=>'netherlands antilles', 'nc'=>'new caledonia', 'nz'=>'new zealand', 'ni'=>'nicaragua', 'ne'=>'niger', 'ng'=>'nigeria', 'nu'=>'niue', 'nf'=>'norfolk island', 'mp'=>'northern mariana islands', 'no'=>'norway', 'om'=>'oman', 'pk'=>'pakistan', 'pw'=>'palau', 'ps'=>'palestinian territory, occupied', 'pa'=>'panama', 'pg'=>'papua new guinea', 'py'=>'paraguay', 'pe'=>'peru', 'ph'=>'philippines', 'pn'=>'pitcairn', 'pl'=>'poland', 'pt'=>'portugal', 'pr'=>'puerto rico', 'qa'=>'qatar', 're'=>'reunion', 'ro'=>'romania', 'ru'=>'russian federation', 'rw'=>'rwanda', 'sh'=>'saint helena', 'kn'=>'saint kitts and nevis', 'lc'=>'saint lucia', 'pm'=>'saint pierre and miquelon', 'vc'=>'saint vincent and the grenadines', 'ws'=>'samoa', 'sm'=>'san marino', 'st'=>'sao tome and principe', 'sa'=>'saudi arabia', 'sn'=>'senegal', 'cs'=>'serbia and montenegro', 'sc'=>'seychelles', 'sl'=>'sierra leone', 'sg'=>'singapore', 'sk'=>'slovakia', 'si'=>'slovenia', 'sb'=>'solomon islands', 'so'=>'somalia', 'za'=>'south africa', 'gs'=>'south georgia and the south sandwich islands', 'es'=>'spain', 'lk'=>'sri lanka', 'sd'=>'sudan', 'sr'=>'suriname', 'sj'=>'svalbard and jan mayen islands', 'sz'=>'swaziland', 'se'=>'sweden', 'ch'=>'switzerland', 'sy'=>'syrian arab republic', 'tw'=>'taiwan', 'tj'=>'tajikistan', 'tz'=>'tanzania, united republic of', 'th'=>'thailand', 'tl'=>'timor-leste', 'tg'=>'togo', 'tk'=>'tokelau', 'to'=>'tonga', 'tt'=>'trinidad and tobago', 'tn'=>'tunisia', 'tr'=>'turkey', 'tm'=>'turkmenistan', 'tc'=>'turks and caicos islands', 'tv'=>'tuvalu', 'ug'=>'uganda', 'ua'=>'ukraine', 'ae'=>'united arab emirates', 'gb'=>'united kingdom', 'us'=>'united states', 'um'=>'united states minor outlying islands', 'uy'=>'uruguay', 'uz'=>'uzbekistan', 'vu'=>'vanuatu', 'va'=>'vatican city state', 've'=>'venezuela', 'vn'=>'viet nam', 'vg'=>'virgin islands', 'vi'=>'virgin islands', 'wf'=>'wallis and futuna islands', 'eh'=>'western sahara', 'ye'=>'yemen', 'zm'=>'zambia', 'zw'=>'zimbabwe');$accept = http_accept_options();mb_http_output($accept['charset'][0][1]);echo '<h3>Languages</h3>';foreach ($accept['language'] as $v) { echo $v[0].' - '.$v[1].($v[2] ? '-'.$v[2] : '').' = '.$languages[$v[1]].($v[2] ? '-'.str_replace(' ', '_', $countries[$v[2]]) : '').'<br />'."\n";}echo '<h3>Contents</h3>';foreach ($accept['http'] as $v) { echo $v[0].' - '.$v[1].'<br />'."\n";}echo '<h3>Charsets</h3>';foreach ($accept['charset'] as $v) { echo $v[0].' - '.$v[1].'<br />'."\n";}?>