public function __construct(sfAction $actionInstance) { $this->request = $actionInstance->getRequest(); $this->module = $actionInstance->getModuleName(); $this->action = $actionInstance->getActionName(); $this->actionVars = $actionInstance->getVarHolder()->getAll(); }
/** * Answer whether $action is an ajax request (XMLHttpRequest). * * @param sfAction $action The action to test. * * @return bool Whether the request is ajax. */ private function isAjax(sfAction $action) { return $action->getRequest()->isXmlHttpRequest(); }
/** * rewriteBodyForMobile * * @param sfAction $action * @param string $body * @return string */ public static function rewriteBodyForMobile(sfAction $action, $body) { $patterns = array(); $replacements = array(); $patterns[] = "/<\\?xml(.*)encoding=(?:\"|').*(?:\"|')/iU"; $replacements[] = '<?xml${1}encoding="shift-jis"'; $patterns[] = "/<meta(.*)content=\"(.*);\\s*charset=(.*)(;.*)?\"(.*)>/iU"; $replacements[] = '<meta${1}content="${2}; charset=shift-jis${4}"${5}>'; $partials = array($action->getPartial('global/partsPageTitle', array('title' => $action->application->getTitle())), $action->getPartial('application/renderFooter', array('application' => $action->application))); if ($action->getRequest()->getMobile()->isDoCoMo() && opConfig::get('font_size')) { $pattern_start_tag = '/(<td.*?>)/'; $replacement_start_tag = '$1<font size="2">'; $pattern_end_tag = '</td>'; $replacement_end_tag = '</font></td>'; $partials = preg_replace($pattern_start_tag, $replacement_start_tag, $partials); $partials = str_replace($pattern_end_tag, $replacement_end_tag, $partials); foreach ($partials as &$partial) { $partial = '<font size="2">' . $partial . '</font>'; } } $patterns[] = "/<body.*>/iU"; $replacements[] = '${0}' . $partials[0]; $patterns[] = "/<\\/body>/i"; $replacements[] = $partials[1] . '${0}'; $inviteUrl = $action->getController()->genUrl('@application_invite?id=' . $action->memberApplication->getId()); $patterns[] = "/<a(.*)href=(?:'|\")(invite:friends)(.*)(?:'|\")(.*)>/iU"; $replacements[] = '<a${1}href="' . $inviteUrl . '${3}"${4}>'; return mb_convert_encoding(preg_replace($patterns, $replacements, $body), 'SJIS-win', 'UTF-8'); }