#author("2018-12-21T02:38:37+09:00;2018-12-21T02:19:38+09:00","","")
#author("2018-12-27T01:25:59+09:00;2018-12-21T02:19:38+09:00","","")
RIGHT:&size(12){Category:[[:Plugin]]};
*rename.inc.phpでキャッシュが更新されないため、変更前のページへのリンクが残る [#ue0a4951]

-ページ: [[BugTrack]]
-投稿者: [[reimy]]
-優先順位: 重要
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2003-05-07 (水) 11:18:17
-バージョン: 1.3.4
-リリース予定バージョン: 1.5.2

**メッセージ [#rbbf2c02]
rename.inc.phpでページ名を変更した場合、キャッシュが更新されないため、変更前のページへのリンクがそのまま残る(hogehoge&color(crimson){?};にならず、&color(orange){hogehoge};のまま)。そして、変更前のページへのリンクの更新時間が(12180d)と表示される。

手動でキャッシュを更新すれば正常になる。
----
-修正しました。 [[cvs:plugin/rename.inc.php]](v1.4:r1.5) -- [[ぱんだ]] &new{2003-05-07 (水) 13:22:49};
- 直っていないと思ったので、自分で直してみました。 &ref(http://in3c.org/pukiwiki/index.php?plugin=attach&pcmd=open&file=rename_links_update.diff&refer=PukiWiki%2Ftag%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2F%C0%DF%B7%D7,rename_links_update.diff ); -- [[志田]] &new{2006-04-23 (日) 09:43:04};
- こんにちは。パッチをありがとうございます。実際にどんな事があって、原因が何だったかという苦労話を語って戴く事はできますか? -- [[henoheno]] &new{2006-04-27 (木) 23:56:42};
- 説明不足ですみません。症状としては、ページ「A」からページ「B」にリンクを張ると、「B」の「cache/B.ref」の中に、「A」からリンクされた、という情報が記録されますが、&br;その後、「A」のページ名を「C」に変更しても、cache/B.refの中は、「A」からリンクされた、と書いてあるままです。&br;このため、「B」のページの内容として
 #related
を書いておくと、「A」を「C」にrenameした後なので、「A」というページは存在しないのに、関連ページとして、「A」が表示されていました。&br;
パッチの内容はこんな感じです。
 *** rename.inc.php~     2004-12-07 10:24:44.000000000 +0900
 --- rename.inc.php      2006-04-23 09:35:05.000000000 +0900
 ***************
 *** 426,433 ****
                        rename($old, $new);
  
                         // linkデータベースを更新する BugTrack/327 arino
 !                       links_update($old);
 !                       links_update($new);
                 }
         }
   
 --- 426,438 ----
                         rename($old, $new);
   
                         // linkデータベースを更新する BugTrack/327 arino
 !                       if (preg_match("@^". DATA_DIR . "(.*)\.txt@", $old, $old_match) &&
 !                               preg_match("@^". DATA_DIR . "(.*)\.txt@", $new, $new_match)) {
 !                               $d_old = decode($old_match[1]);
 !                               $d_new = decode($new_match[1]);
 !                               links_update($d_old);
 !                               links_update($d_new);
 !                       }
                 }
         }
$old,と$newは、wiki/A.txtのように、既にエンコードされて、実際のファイルのパスになっていましたが、links_updateが要求している引数はページ名のようだったので、正規表現でページ名の部分のみとりだして、decodeしてlinks_updateにページ名を渡すように修正しました。 -- [[志田]] &new{2006-04-28 (金) 21:31:15};
- [[BugTrack/2196]] --  &new{2007-09-20 (木) 21:22:46};
- 志田さんご指摘の問題について、パッチを更に改変して適用しました commit:afa42ab322 -- [[umorigu]] &new{2018-12-21 (金) 02:15:11};
- 志田さんご指摘の問題について、パッチを更に改変して適用しました commit:a2999d0c58 -- [[umorigu]] &new{2018-12-21 (金) 02:15:11};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.101 sec.

SourceForge