Doing content negotiation only once
This commit is contained in:
parent
93f6981b71
commit
3ff5dd6989
|
@ -64,20 +64,7 @@ class MobileProfilePlugin extends WAP20Plugin
|
||||||
function onStartShowHTML($action)
|
function onStartShowHTML($action)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!$type) {
|
|
||||||
$httpaccept = isset($_SERVER['HTTP_ACCEPT']) ?
|
|
||||||
$_SERVER['HTTP_ACCEPT'] : null;
|
|
||||||
|
|
||||||
$cp = common_accept_to_prefs($httpaccept);
|
|
||||||
$sp = common_accept_to_prefs(PAGE_TYPE_PREFS);
|
|
||||||
|
|
||||||
$type = common_negotiate_type($cp, $sp);
|
|
||||||
|
|
||||||
if (!$type) {
|
|
||||||
throw new ClientException(_('This page is not available in a '.
|
|
||||||
'media type you accept'), 406);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// XXX: This should probably graduate to WAP20Plugin
|
// XXX: This should probably graduate to WAP20Plugin
|
||||||
|
|
||||||
|
@ -184,11 +171,29 @@ class MobileProfilePlugin extends WAP20Plugin
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$type) {
|
||||||
|
$httpaccept = isset($_SERVER['HTTP_ACCEPT']) ?
|
||||||
|
$_SERVER['HTTP_ACCEPT'] : null;
|
||||||
|
|
||||||
|
$cp = common_accept_to_prefs($httpaccept);
|
||||||
|
$sp = common_accept_to_prefs(PAGE_TYPE_PREFS);
|
||||||
|
|
||||||
|
$type = common_negotiate_type($cp, $sp);
|
||||||
|
|
||||||
|
if (!$type) {
|
||||||
|
throw new ClientException(_('This page is not available in a '.
|
||||||
|
'media type you accept'), 406);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
header('Content-Type: '.$type);
|
header('Content-Type: '.$type);
|
||||||
|
|
||||||
$action->extraHeaders();
|
$this->extraHeaders();
|
||||||
|
if (preg_match("/.*\/.*xml/", $type)) {
|
||||||
$action->startXML('html',
|
// Required for XML documents
|
||||||
|
$this->xw->startDocument('1.0', 'UTF-8');
|
||||||
|
}
|
||||||
|
$this->xw->writeDTD('html',
|
||||||
'-//WAPFORUM//DTD XHTML Mobile 1.0//EN',
|
'-//WAPFORUM//DTD XHTML Mobile 1.0//EN',
|
||||||
$this->DTD);
|
$this->DTD);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user