/**
* afterLayout
*
* @return void
*/
public function afterLayout($layoutFile)
{
/* 出力データをSJISに変換 */
$View = $this->_View;
if (isset($this->request->params['ext']) && $this->request->params['ext'] == 'rss') {
$rss = true;
} else {
$rss = false;
}
$site = BcSite::findCurrent(true);
if (!$rss && $site && $site->device == 'mobile' && $View->layoutPath != 'Emails' . DS . 'text') {
$View->output = str_replace('&', '&', $View->output);
$View->output = str_replace('<', '<', $View->output);
$View->output = str_replace('>', '>', $View->output);
$View->response->charset('Shift_JIS');
$View->output = mb_convert_kana($View->output, "rak", "UTF-8");
$View->output = mb_convert_encoding($View->output, "SJIS-win", "UTF-8");
// 内部リンクの自動変換
if ($site->autoLink) {
$currentAlias = $this->request->params['Site']['alias'];
// 一旦プレフィックスを除外
$reg = '/href="' . preg_quote(BC_BASE_URL, '/') . '(' . $currentAlias . '\\/([^\\"]*?))\\"/';
$View->output = preg_replace_callback($reg, array($this, '_removeMobilePrefix'), $View->output);
// プレフィックス追加
$reg = '/href=\\"' . preg_quote(BC_BASE_URL, '/') . '([^\\"]*?)\\"/';
$View->output = preg_replace_callback($reg, array($this, '_addMobilePrefix'), $View->output);
}
// XMLとして出力する場合、デバッグモードで出力する付加情報で、
// ブラウザによってはXMLパースエラーとなってしまうので強制的にデバッグモードをオフ
Configure::write('debug', 0);
}
}