Project

General

Profile

Backport(バックポート) #3973

Updated by Youichi Kimura almost 5 years ago

h3. 概要

以下のチケット及びコミットが巻き戻ってしまっている.

#1565 「管理画面のSNS設定にアクセスできない(特定のモジュールのページにアクセスできない)」
commit:f30b06229f8dbffc3a3a663f881df3776378c67d
commit:10a1e4f16ae0532478db6495b2e87f9dcfee316f

巻き戻った原因のチケット及びコミットは以下のものである.

チケット: #2316 「update symfony to 1.4.13 (同梱のsymfonyのバージョンを1.4.13へ上げる) 」
commit:64a72113b7cc6eaf39a21ac66efcfc8289354e0c

h3. 修正案

OpenPNE 内での lib/vendor 以下にあるライブラリのアップデート方法や独自パッチの管理方法を検討する必要がある.
とりあえず以下のパッチを利用することで本チケットの問題は解決できる.
<pre>
$ git diff 90716878b97e49424b0eb6a5fa69161771e06b2c...10a1e4f16ae0532478db6495b2e87f9dcfee316f 901694eda4a4aaebc0c32353c4cdc0e763ca0813...10a1e4f16ae0532478db6495b2e87f9dcfee316f lib/vendor/symfony/ > t1565.patch t2780.patch
$ vim t1565.patch t2780.patch
$ patch -p1 < t1565.patch t2780.patch
</pre>
t1565.patch t2780.patch
<pre>
diff --git a/lib/vendor/symfony/lib/request/sfWebRequest.class.php b/lib/vendor/symfony/lib/request/sfWebRequest.class.php
index c2205f6..0c817fd 100644
--- a/lib/vendor/symfony/lib/request/sfWebRequest.class.php
+++ b/lib/vendor/symfony/lib/request/sfWebRequest.class.php
@@ -239,8 +239,8 @@ class sfWebRequest extends sfRequest
public function getPathInfo()
{
$pathInfo = '';
-
$pathArray = $this->getPathInfoArray();
+ $isIis = (isset($pathArray['SERVER_SOFTWARE']) && false !== stripos($pathArray['SERVER_SOFTWARE'], 'iis'));

// simulate PATH_INFO if needed
$sf_path_info_key = $this->options['path_info_key'];
@@ -261,14 +261,14 @@ class sfWebRequest extends sfRequest
else
{
$pathInfo = $pathArray[$sf_path_info_key];
- if ($relativeUrlRoot = $this->getRelativeUrlRoot())
+ if ($isIis && $relativeUrlRoot = $this->getRelativeUrlRoot())
{
$pathInfo = preg_replace('/^'.str_replace('/', '\\/', $relativeUrlRoot).'\//', '', $pathInfo);
}
}

// for IIS
- if (isset($_SERVER['SERVER_SOFTWARE']) && false !== stripos($_SERVER['SERVER_SOFTWARE'], 'iis') && $pos = stripos($pathInfo, '.php'))
+ if ($isIis && $pos = stripos($pathInfo, '.php'))
{
$pathInfo = substr($pathInfo, $pos + 4);
}

</pre>

Back