function plugin_setlinebreak_convert() { global $line_break; static $default; if (!isset($default)) { $default = PukiWikiConfig::getParam('line_break'); } if (func_num_args() == 0) { PukiWikiConfig::setParam('line_break', !$PukiWikiConfig::getParam('line_break')); return ''; } $args = func_get_args(); switch (strtolower($args[0])) { case 'on': case 'true': case '1': PukiWikiConfig::setParam('line_break', 1); break; case 'off': case 'false': case '0': PukiWikiConfig::setParam('line_break', 0); break; case 'default': PukiWikiConfig::setParam('line_break', $default); break; default: return FALSE; } return ''; }
// ページ名の最短バイト数を指定 // AutoLinkを無効にする場合は0 // (PukiWikiMod及びB-Wiki専用) // PukiWikiConfig::setParam('autolink',3); ///////////////////////////////////////////////// // PukiWikiModへのリンクを静的URL形式にする // (PukiWikiMod専用) // PukiWikiConfig::setParam('use_static_url',1); ///////////////////////////////////////////////// // 拡張テーブル書式を使用する // PukiWikiModの拡張テーブル書式を使用可能にします。 // デフォルトでは、PukiWiki1.4.xのテーブル書式のみが // 使用可能です。 // PukiWikiConfig::setParam('ExtTable',true); ///////////////////////////////////////////////// // レンダリングキャッシュを有効にする // PukiWikiConfig::setParam('use_cache',1); ///////////////////////////////////////////////// ///////////////////////////////////////////////// // 一番外側の<p></p>を出力しない PukiWikiConfig::setParam('omit_paragraph', 1); ///////////////////////////////////////////////// // その他カスタマイズ可能なパラメータは、default.phpを // 参照して下さい。 // 但し、default.phpでの書式が違うので注意して下さい。 // default.phpにて、 // $_settings['nowikiname'] = 1; // とある場合には、当ファイルでは // PukiWikiConfig::setParam('nowikiname',1); // というように設定して下さい。 /////////////////////////////////////////////////
function _init_PukiWiki_env() { //他のPukiWikiシステムとの連携時の初期化 Original By nao-pon // PukiWikiMod用共通リンクへの対応 // AutoLink有効時に、AutoLinkデータ読込と、AutoLinkデータ更新時のキャッシュクリア // PukiWikiMod 共通リンクディレクトリ読み込み by nao-pon $wiki_common_dirs = ""; if (defined('MOD_PUKI_WIKI_CACHE_DIR')) { if (MOD_PUKI_WIKI_VER == "1.3" && file_exists(MOD_PUKI_WIKI_CACHE_DIR . "config.php")) { include MOD_PUKI_WIKI_CACHE_DIR . "config.php"; } } // PukiWikiMod 共通リンクディレクトリ展開 $wiki_common_dirs = preg_split("/\\s+/", trim($wiki_common_dirs)); sort($wiki_common_dirs, SORT_STRING); PukiWikiConfig::setParam('wiki_common_dirs', $wiki_common_dirs); // AutoLinkデータ読み込みとチェック(AutoLink有効時のみ) $autolink_dat = array(); if (PukiWikiConfig::getParam('autolink') && defined('MOD_PUKI_WIKI_CACHE_DIR') && file_exists(MOD_PUKI_WIKI_CACHE_DIR . 'autolink.dat')) { $autolink_dat = file(MOD_PUKI_WIKI_CACHE_DIR . 'autolink.dat'); if (!file_exists(MOD_PUKI_CACHE_DIR . 'autolink.dat') || $autolink_dat != file(MOD_PUKI_CACHE_DIR . 'autolink.dat')) { // 比較用オートリンクデータを保存 @(list($pattern, $pattern_a, $forceignorelist) = $autolink_dat); if ($fp = fopen(MOD_PUKI_CACHE_DIR . 'autolink.dat', 'wb')) { set_file_buffer($fp, 0); flock($fp, LOCK_EX); rewind($fp); fputs($fp, trim($pattern) . "\n"); if (count($autolink_dat) == 3) { fputs($fp, trim($pattern_a) . "\n"); fputs($fp, trim($forceignorelist) . "\n"); } flock($fp, LOCK_UN); fclose($fp); } else { // die_message('Cannot write autolink file '. MOD_PUKI_CACHE_DIR . '/autolink.dat<br />Maybe permission is not writable'); } // オートリンクデータが更新されているのでキャッシュをクリア $dh = dir(MOD_PUKI_CACHE_DIR); while (($file = $dh->read()) !== FALSE) { if (substr($file, -6) != '.cache') { continue; } $file = MOD_PUKI_CACHE_DIR . $file; unlink($file); } $dh->close(); } } PukiWikiConfig::setParam('autolink_dat', $autolink_dat); // ページ名エイリアス取得 PukiWikiConfig::setParam('pagename_aliases', PukiWikiFunc::get_pagename_aliases()); }
/** * Replace PukiWiki with their equivalent HTML formatting * * @param string $text * * @return string */ function &renderWikistyle(&$text, $xcode = 1, $image = 1, $br = 1) { //modPukiWiki include_once XOOPS_ROOT_PATH . '/class/modPukiWiki/PukiWiki.php'; static $render; if (!is_object($render)) { $render =& new PukiWikiRender('xoops'); } $text =& $this->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) PukiWikiConfig::setParam('line_break', $br); $text = $render->transform($text); // XOOPS Quote style $text = str_replace(array('<blockquote>', '</blockquote>'), array(_QUOTEC . '<div class="xoopsQuote"><blockquote>', '</blockquote></div>'), $text); return $text; }
function &renderWikistyle(&$text, $br = 1, $use_cache = 1) { //modPukiWiki include_once XOOPS_ROOT_PATH . '/class/modPukiWiki/PukiWiki.php'; static $render; if (!is_object($render)) { $render =& new PukiWikiRender(); } $br = $br ? 1 : 0; $use_cache = $use_cache ? 1 : 0; PukiWikiConfig::setParam('line_break', $br); PukiWikiConfig::setParam('use_cache', $use_cache); PukiWikiConfig::setParam('autolink', 1); PukiWikiConfig::setParam('nowikiname', 0); PukiWikiConfig::setParam('makepage_link', 0); // BB Code email $text = preg_replace("/\\[email](.+?)\\[\\/email]/i", "\$1", $text); // BB Code url $text = preg_replace("/\\[url=(['\"]?)((?:ht|f)tp[s]?:\\/\\/[^\"'<>]+)\\1\\](.+)\\[\\/url\\]/sU", "[[\$3:\$2]]", $text); $texts = preg_split("/\\[code].*\\[\\/code\\]/sU", $text); preg_match_all("/\\[code].*\\[\\/code\\]/sU", $text, $match, PREG_PATTERN_ORDER); $ret = ""; $i = 0; $count = count($match[0]); foreach ($texts as $block) { if ($i < $count) { $ret .= $block . "\n\n_____cODe_" . $i . "_____\n\n"; } else { $ret .= $block; } $i++; } $ret = $render->transform($ret); while ($i >= 0) { $ret = str_replace("_____cODe_" . $i . "_____", $match[0][$i], $ret); $i--; } // XOOPS Quote style $ret = str_replace(array('<blockquote>', '</blockquote>'), array(_QUOTEC . '<div class="xoopsQuote"><blockquote>', '</blockquote></div>'), $ret); return $ret; }
//modPukiWiki本体のインクルード require dirname(__FILE__) . '/../modPukiWiki/PukiWiki.php'; //PukiWikiRenderインスタンス生成 $render = new PukiWikiRender(); //PukiWikiのソースの取得先決定(ローカルWikiファイルの表示用) if ($_GET['page']) { $text = $render->getLocalPage($page = NULL); } else { $text = get_sample_wiki(); } //InterWikiNameの設定 PukiWikiConfig::addInterWiki('[http://www.google.co.jp/search?ie=utf8&oe=utf8&q=$1&lr=lang_ja&hl=ja Google] utf8'); //テーブル拡張書式を有効にする PukiWikiConfig::setParam('ExtTable', true); //ローカルWikiファイル表示用URL PukiWikiConfig::setParam('LocalShowURL', "index.php?page=%s"); //レンダリングして表示 echo $render->transform($text); ?> </body> </html> <?php function get_sample_wiki() { $text = <<<EOD ***ヘッディング *ヘッディング1 文章1 **ヘッディング2 文章2
<?php ///////////////////////////////////////////////// //スタイルclassのプレフィックス PukiWikiConfig::setParam('style_prefix', 'modPukiWP_'); ///////////////////////////////////////////////// // URL文字列を自動的にリンク変換する場合は1 // PukiWikiConfig::setParam('autourllink',3); ///////////////////////////////////////////////// // 拡張テーブル書式を使用する // PukiWikiConfig::setParam('ExtTable',true); ///////////////////////////////////////////////// // レンダリングキャッシュを有効にする // $_settings['use_cache'] = 0; ///////////////////////////////////////////////// // InterWikiNameの定義サンプル // PukiWikiConfig::addInterWiki('[http://www.google.co.jp/search?ie=utf8&oe=utf8&q=$1&lr=lang_ja&hl=ja Google] utf8'); // PukiWikiConfig::addInterWiki('['.XOOPS_URL.'/modules/wordpress/index.php? WordPress]');
<?php //******************* ご注意 ******************* // このファイルを直接編集頂いても良いですが、 // バージョンアップ時に上書きされるのを防ぐために // このファイル(xoops.dist.php)をxoops.phpに // コピーしてから、カストマイズする事をおすすめします。 //******************* ご注意 ******************* ///////////////////////////////////////////////// //XOOPS固有の設定(以下は変えない事を推奨) ///////////////////////////////////////////////// // URLの自動リンク生成はmodPukiWiki側では行わない PukiWikiConfig::setParam('autourllink', 1); ///////////////////////////////////////////////// ///////////////////////////////////////////////// //カストマイズ可能な代表的な設定例 ///////////////////////////////////////////////// // AutoLinkを有効にする場合は、AutoLink対象となる // ページ名の最短バイト数を指定 // AutoLinkを無効にする場合は0 // (PukiWikiMod及びB-Wiki専用) // PukiWikiConfig::setParam('autolink',3); ///////////////////////////////////////////////// // PukiWikiModへのリンクを静的URL形式にする // (PukiWikiMod専用) // PukiWikiConfig::setParam('use_static_url',1); ///////////////////////////////////////////////// // 拡張テーブル書式を使用する // PukiWikiModの拡張テーブル書式を使用可能にします。 // デフォルトでは、PukiWiki1.4.xのテーブル書式のみが // 使用可能です。
function wikiElementConv($text, $br = 1) { include_once XOOPS_ROOT_PATH . '/class/modPukiWiki/PukiWiki.php'; static $render; if (!is_object($render)) { $render =& new PukiWikiRender('xoops_2'); } PukiWikiConfig::setParam('line_break', $br); $text = $render->transform(str_replace('\\"', '"', base64_decode($text))); // XOOPS Quote style $text = str_replace(array('<blockquote>', '</blockquote>'), array(_QUOTEC . '<div class="xoopsQuote"><blockquote>', '</blockquote></div>'), $text); return $text; }