のぶのぶさんが開発された「PukiWiki書式のレンダリングエンジン」modPukiWiki を XOOPS に組み込んでみました。

PukiWikiElement.php の 123行目あたり
if (! preg_match("/^\#([^\(]+)(?:\((.*)\))?/", $text, $out) || ! exist_plugin_convert($out[1])) {
if (! preg_match("/^\#([^\(]+)(?:\((.*)\))?/", $text, $out) || ! PukiWikiPlugin::exist_plugin_convert($out[1])) {
PukiWikiModで機能追加したページ名エイリアス(別名)に対応させた。
class PukiWikiFunc へ関数追加
// ソースを取得
function get_source($page = NULL)
{
if (! PukiWikiFunc::is_page($page)) {
return array();
} else {
return str_replace("\r", '', file(PukiWikiFunc::get_filename($page)));
}
}
//ページ名エイリアスの配列を得る
function get_pagename_aliases()
{
$_aliases = array();
foreach(PukiWikiFunc::get_source(':config/aliases') as $_line)
{
if (preg_match("/\[(.+) ([^ ]+)\]/",$_line,$_match) && PukiWikiFunc::is_page($_match[2]))
{
$_aliases[$_match[1]] = $_match[2];
}
}
return $_aliases;
}
652行目あたりからの
// 共通リンクディレクトリを探す by nao-pon
if (!PukiWikiFunc::is_page($name))
{
if (!$name = PukiWikiFunc::get_real_pagename($name))
return FALSE;
}
// ページ名が見つからない場合 by nao-pon
if (!PukiWikiFunc::is_page($name))
{
// ページ名エイリアスを探す
if (array_key_exists($name,$pagename_aliases))
{
$name = $pagename_aliases[$name];
}
else
{
// 共通リンクディレクトリを探す
if (!$name = PukiWikiFunc::get_real_pagename($name))
return FALSE;
}
}
行追加
202行目あたりの
// AutoLink有効時に、AutoLinkデータ読込と、AutoLinkデータ更新時のキャッシュクリア
// ページ名エイリアス取得
PukiWikiConfig::setParam('pagename_aliases',PukiWikiFunc::get_pagename_aliases());
/*
function nl2Br( $text )
{
$text = preg_replace("/(\015\012)|(\015)|(\012)/","<br />",$text);
if( $this->nbsp ) {
$patterns = array( ' ' , '\"' ) ;
$replaces = array( ' ' , '"' ) ;
$text = substr(preg_replace('/\>.*\</esU',"str_replace(\$patterns,\$replaces,'\\0')",">$text<"),1,-1);
}
return $text ;
}
*/
こんな感じで、TinyD なども同様にしてください。
| Page name: | XOOPS/modPukiWikiの組み込み [ Sended pings(7) ] | |
| Author: | nao-pon | - 2006/08/22 00:27:57 JST(684d) |
| Last edit: | 通りすがりさん | - 2007/03/16 14:52:51 JST(477d) |
| Editers: | 登録ユーザー | |
| Back Link: | コメント(39d) PukiWikiMod(45d) nao-pon(89d) PukiWiki(103d) 総ページ数が増えるとAutoLinkが原因で正常にページが表示されなくなる(655d) XOOPS(757d) nao-pon(1003d) modPukiWiki(1412d) | |
ログイン
アクティブメニュー
"ぽちっ"としてね☆
最新のページ
ブックマーク
新着トラックバック
サイト内 Wiki
☆ 検索 ☆
オンライン状況
サイト情報
現在ページのQRコード
参照元情報