BcRequestFilter::beforeDispatch PHP Méthode

beforeDispatch() public méthode

beforeDispatch Event
public beforeDispatch ( CakeEvent $event ) : void | CakeResponse
$event CakeEvent イベント
Résultat void | CakeResponse
    public function beforeDispatch(CakeEvent $event)
    {
        $request = $event->data['request'];
        $response = $event->data['response'];
        $this->addDetectors($request);
        // アセットならスキップ
        if ($this->isAsset($request)) {
            Configure::write('BcRequest.asset', true);
            return;
        }
        // URLからエージェントを取得
        $site = BcSite::findCurrent(true);
        if ($site && $site->device) {
            /*
             * =========================================================
             * /m/files/... へのアクセスの場合、/files/... へ自動リダイレクト
             * CMSで作成するページ内のリンクは、モバイルでアクセスすると、
             * 自動的に、/m/ 付のリンクに書き換えられてしまう為、
             * files内のファイルへのリンクがリンク切れになってしまうので暫定対策。
             *
             * 2014/12/30 nakae bootstrap.phpから移行
             * =========================================================
             */
            $param = preg_replace('/^' . $site->alias . '\\//', '', $request->url);
            if (preg_match('/^files/', $param)) {
                $response->statusCode(301);
                $response->header('Location', "{$request->base}/{$param}");
                return $response;
            }
        }
        //bootstrapから移動する
        //Configure::write('BcRequest.isUpdater', $this->isUpdate($request));
        //Configure::write('BcRequest.isMaintenance', $this->isMaintenance($request));
    }