操作
Backport(バックポート) #3633
完了[PATCH] opApplicationConfiguration::getAppScriptName()で、prefixの末尾スラッシュ除去処理が不十分
開始日:
2010-10-01
期日:
進捗率:
100%
予定工数:
説明
状況¶
1. 末尾スラッシュの除去処理がサブディレクトリのプレフィックスを考慮していない。
opApplicationConfiguration::getAppScriptName()の以下の処理
if ('/' === $prefix) { $prefix = ''; }
は、後続の処理でスラッシュとファイル名を連結するために$prefixの末尾のスラッシュを除去するための処理と思われるのですが、ルートディレクトリのパターンでしか処理されていません。
2. $isNoScriptNameがtrueの場合とのインターフェイスの整合性
$isNoScriptNameがtrueの場合、$prefixをそのままreturnしていますが、$prefixの末尾のスラッシュの扱いについて、このメソッドの戻り値の一貫性が崩れていると思われます。
(このメソッドからは、末尾スラッシュなしのパスが返されるというインターフェイスになっているという認識)
※sfRouting::fixGeneratedUrl()でprefixとの結合を行っていますが、ここでprefixの末尾にスラッシュがないことを前提としているのかどうかまでは分からなかったため、調べています。
対応¶
パッチを添付しました。
ファイル
操作