#author("2020-02-15T23:59:20+09:00","","")
#author("2020-02-16T00:00:16+09:00","","")
* AutoAlias: IgnoreListに登録された単語が表示されなくなる [#t8ca9aaf]

- ページ: [[BugTrack]]
- 投稿者: 名無しさん
- 優先順位: 低
- 状態: 提案
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2009-03-31 (火) 19:33:54
- バージョン: 
- バージョン: 1.4.8_alpha
- リリース予定バージョン: 1.5.3

** メッセージ [#sd980467]
AutoLink, AutoAlias ともにget_autolink_pattern() を経由して正規表現を作っていますが、本来AutoLink 用として用意されたConfig 設定をAutoAlias でもそのまま使っているので、不都合な場合があります。

例えば、IgnoreList に登録されていてAutoAliasName には登録されていない単語があった場合、Link_autoalias::toString() でreturn ''; されてしまい閲覧時にその文字が表示されなくなります。~
意図してそれをしているのならまだいいのですが、AutoLink とAutoAlias を同時に運用している場合は、AutoAlias に登録していないのにAutoLink にならず、文字が表示されないという状況になってしまいます。

そこで、$min_len のようにget_autolink_pattern() を呼び出す時に、使うConfig 設定ページ(あるいは、使わないこと)を指定するようにして、省略された場合は互換動作させる(AutoLink の設定を使う)か、&br;ForceIgnoreList は共有してIgnoreList を利用するかを切り替えられるようにするか、&br;というようにできればいいなと思い提案します。

--------
- 設定ページを共有している問題と、AutoAlias でIgnoreList を使うと登録した文字が表示されなくなる場合がある問題は、別です。AutoAlias が「:config/AutoAliasName」を見るようになったとしても、IgnoreList の問題が残ってしまいます。 --  &new{2010-01-31 (日) 08:34:39};
-- AutoLink の場合は、
		if (in_array($name, $this->forceignorepages) || ! is_page($name))
			return FALSE;
ForceIgnoreList に一致するか、IgnoreList に一致したなどで存在しないページ名にマッチした場合に、リンクの対象外になっています。&br;ところが、AutoAlias の場合は、
		if (in_array($name, $this->forceignorepages)) {
			return FALSE;
		}
ForceIgnoreList に一致した場合は対象外となっているのですが、IgnoreListにマッチした場合は
AutoAliasName のルールを確認せずに処理を続行してしまいます。AutoLink と処理をあわせるのなら、
 get_autoaliases($name) == ''
を条件に追加すればいいですし、違ってもいいのなら「Link_autoalias::toString() で該当ルールなしの場合はreturn '';」している処理をreturn make_line_rules(htmlspecialchars($this->name)); するように変える方法もあります。 --  &new{2010-01-31 (日) 08:34:39};
- 『IgnoreList に登録されていてAutoAliasName には登録されていない単語があった場合、Link_autoalias::toString() でreturn ''; されてしまい閲覧時にその文字が表示されなくなります。』が問題なのだと理解しました。タイトルを変えました。(旧)「AutoAlias が、AutoLink 用のConfig 設定をそのまま使っている」→(新)「AutoAlias: IgnoreListに登録された単語が表示されなくなる」 -- [[umorigu]] &new{2020-02-15 (土) 23:53:59};
- 『AutoLink と処理をあわせるのなら、 'get_autoaliases($name) == ''' を条件に追加すればいいですし』の方針で修正しました commit:9d4e66031b -- [[umorigu]] &new{2020-02-15 (土) 23:59:20};

#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.045 sec.

SourceForge