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 plugin_pical_convert()
{
    global $pical_has_cat, $picat_mycat, $pical_mid, $xoopsUser;
    if (!defined('XOOPS_ROOT_PATH')) {
        //XOOPS環境下で無い場合用
        return '';
    }
    if (!$pical_mid) {
        return '';
    }
    $catname = "";
    list($date, $catname, $option1) = func_get_args();
    $date = str_replace(array('.', '/', '-'), array('', '', ''), $date);
    $yyyy = substr($date, 0, 4);
    $mm = substr($date, 4, 2);
    $dd = substr($date, 6, 2);
    $from = mktime(0, 0, 0, $mm, $dd, $yyyy);
    $to = mktime(0, 0, 0, $mm, $dd + 1, $yyyy);
    global $xoopsUser;
    if (!is_object($xoopsUser)) {
        // 閲覧者がゲストなら公開(PUBLIC)レコードのみ
        $whr_class = "class='PUBLIC'";
    } else {
        if ($xoopsUser->isadmin()) {
            // 閲覧者が管理者なら常にTrue
            $whr_class = "1";
        } else {
            // 通常ユーザなら、PUBLICレコードか、ユーザIDが一致するレコード、または、所属しているグループIDのうちの一つがレコードのグループIDと一致するレコード
            $gids = $xoopsUser->getGroups();
            $uid = $xoopsUser->uid();
            $ids = '';
            // var_dump( $xoopsUser->getGroups() ) ;
            foreach ($gids as $gid) {
                $ids .= "{$gid},";
            }
            $ids = substr($ids, 0, -1);
            if (intval($ids) == 0) {
                $group_section = '';
            } else {
                $group_section = "OR groupid IN ({$ids})";
            }
            $whr_class = "(class='PUBLIC' OR uid={$uid} {$group_section})";
        }
    }
    $schedules = array();
    $xoopsDB =& Database::getInstance();
    $SQL = "SELECT id, uid, summary, location, contact, description, UNIX_TIMESTAMP(dtstamp) as dtstamp, start, end, allday FROM " . $xoopsDB->prefix('pical_event') . " WHERE start < " . $to . " AND end >= " . $from . " AND (rrule_pid=0 OR rrule_pid=id) " . " AND admission<>0 AND {$whr_class} AND " . plugin_pical_where_categories($catname) . " ORDER by allday DESC, start";
    //	echo $SQL;
    if (!($query = $xoopsDB->query($SQL, $maxtopic, 0))) {
        echo "Error! (piCal)";
    }
    $margin = PukiWikiConfig::getParam('_ul_margin') + PukiWikiConfig::getParam('_ul_left_margin');
    $style = sprintf(PukiWikiConfig::getParam('_list_pad_str'), 1, $margin, $margin);
    $retstr = "<ul {$style}>";
    while ($result = $xoopsDB->fetchArray($query)) {
        $linkurl = XOOPS_URL . "/modules/piCal/index.php?action=View&caldate=" . $result['dtstamp'] . "&event_id=" . intval($result['id']);
        $color_st = "";
        $color_ed = "";
        if ($result['allday'] == 5) {
            $color_st = "<font color=\"red\">";
            $color_ed = "</font>";
            $range = "記念日</font>";
        } else {
            if ($result['allday'] == 3) {
                $range = date("m/d", $result['start']) . "-" . date("m/d", $result['end']);
            } else {
                if ($result['allday'] == 1) {
                    $range = "終日";
                } else {
                    $range = date("H:i", $result['start']) . "-" . date("H:i", $result['end']);
                }
            }
        }
        //改行文字セット IE は "&#13;&#10;"
        $br = strstr($_SERVER["HTTP_USER_AGENT"], "MSIE") ? "&#13;&#10;" : " ";
        $title = " title=\"";
        if ($result['location']) {
            $title .= "場所:{$result['location']}{$br}";
        }
        if ($result['contact']) {
            $title .= "連絡先:{$result['contact']}{$br}";
        }
        if ($result['description']) {
            $title .= "詳細:{$result['description']}{$br}";
        }
        $title .= "\"";
        $retstr .= "<li style=\"vertical-align:middle\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"width:14ex; text-align:left;vertical-align:middle; padding:0;\">" . $color_st . $range . $color_ed . "</td><td style=\"text-align:left;vertical-align:middle; padding:0;\"><a href=\"" . $linkurl . "\"" . $title . ">" . $color_st . $result['summary'] . $color_ed . "</a></td></tr></table></li>";
    }
    $retstr .= "</ul>";
    return $retstr;
}
 function get_real_pagename($page)
 {
     static $real_pages = array();
     $page = PukiWikiFunc::strip_bracket($page);
     if (isset($real_pages[$page])) {
         return $real_pages[$page];
     }
     $real_pages[$page] = false;
     foreach (PukiWikiConfig::getParam('wiki_common_dirs') as $dir) {
         $check = $dir . $page;
         if (PukiWikiFunc::is_page($check)) {
             $real_pages[$page] = $check;
             break;
         }
     }
     return $real_pages[$page];
 }
 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());
 }
$_settings['_dl_left_margin'] = 0;
// リストと画面左端との間隔(px)
$_settings['_dl_margin'] = 16;
// リストの階層間の間隔(px)
$_settings['_list_pad_str'] = ' class="' . $_settings['style_prefix'] . 'list%d" style="padding-left:%dpx;margin-left:%dpx"';
/////////////////////////////////////////////////
// 水平線のタグ
$_settings['hr'] = '<hr class="' . $_settings['style_prefix'] . 'full_hr" />';
/////////////////////////////////////////////////
// 文末の注釈の直前に表示するタグ
$_settings['note_hr'] = '<hr class="' . $_settings['style_prefix'] . 'note_hr" />';
/////////////////////////////////////////////////
// HTTPリクエストにプロキシサーバを使用する
$_settings['use_proxy'] = 0;
// proxy ホスト
$_settings['proxy_host'] = 'proxy.xxx.yyy.zzz';
// proxy ポート番号
$_settings['proxy_port'] = 8080;
// proxyのBasic認証が必要な場合に1
$_settings['need_proxy_auth'] = 0;
// proxyのBasic認証用ID,PW
$_settings['proxy_auth_user'] = '******';
$_settings['proxy_auth_pass'] = '******';
// プロキシサーバを使用しないホストのリスト
$_settings['no_proxy'] = array('localhost', '127.0.0.0/8', '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16');
//置き換えルール
$_entity_pattern = trim(join('', file(MOD_PUKI_CONFIG_DIR . 'entities.dat')));
$_rules = array("COLOR\\(([^\\(\\)]*)\\){([^}]*)}" => '<span style="color:$1">$2</span>', "SIZE\\(([^\\(\\)]*)\\){([^}]*)}" => '<span style="font-size:$1px">$2</span>', "COLOR\\(([^\\(\\)]*)\\):((?:(?!COLOR\\([^\\)]+\\)\\:).)*)" => '<span style="color:$1">$2</span>', "SIZE\\(([^\\(\\)]*)\\):((?:(?!SIZE\\([^\\)]+\\)\\:).)*)" => '<span class="' . PukiWikiConfig::getParam('style_prefix') . 'size$1">$2</span>', "%%%(?!%)((?:(?!%%%).)*)%%%" => '<ins>$1</ins>', "%%(?!%)((?:(?!%%).)*)%%" => '<del>$1</del>', "'''(?!')((?:(?!''').)*)'''" => '<em>$1</em>', "''(?!')((?:(?!'').)*)''" => '<strong>$1</strong>', '&amp;br;' => '<br />', "\r" => "<br />\n", '^#contents$' => '<del>#contents</del>', '&amp;(#[0-9]+|#x[0-9a-f]+|' . $_entity_pattern . ');' => '&$1;');
if (defined('MOD_PUKI_UPLOAD_URL')) {
    $_rules = array_merge($_rules, array('\\s(\\:\\))' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'smile.gif" alt="$1" />', '\\s(\\:D)' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'bigsmile.gif" alt="$1" />', '\\s(\\:p)' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'huh.gif" alt="$1" />', '\\s(XD)' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'oh.gif" alt="$1" />', '\\s(\\;\\))' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'wink.gif" alt="$1" />', '\\s(\\;\\()' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'sad.gif" alt="$1" />', '(&amp;heart;)' => ' <img src="' . MOD_PUKI_UPLOAD_URL . 'heart.gif" alt="$1" />', '&amp;(smile);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'smile.gif" />', '&amp;(bigsmile);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'bigsmile.gif" />', '&amp;(huh);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'huh.gif" />', '&amp;(oh);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'oh.gif" />', '&amp;(wink);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'wink.gif" />', '&amp;(sad);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'sad.gif" />', '&amp;(heart);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'heart.gif" />', '&amp;(worried);' => ' <img alt="[$1]" src="' . MOD_PUKI_UPLOAD_URL . 'worried.png" />', '\\s(\\(\\^\\^\\))' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'smile.gif" />', '\\s(\\(\\^-\\^)' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'bigsmile.gif" />', '\\s(\\(\\.\\.;)' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'oh.gif" />', '\\s(\\(\\^_-\\))' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'wink.gif" />', '\\s(\\(--;)' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'sad.gif" />', '\\s(\\(\\^\\^;\\))' => ' <img alt="$1" src="' . MOD_PUKI_UPLOAD_URL . 'worried.png" />'));
}
 /**
  * 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 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;
 }
//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
 function setParent(&$parent)
 {
     parent::setParent($parent);
     $step = $this->level;
     $margin = $this->left_margin;
     if (isset($parent->parent) and is_a($parent->parent, 'PukiWikiListContainer')) {
         $step -= $parent->parent->level;
         $margin = 0;
     }
     $margin += $this->margin * ($step == $this->level ? 1 : $step);
     $this->style = sprintf(PukiWikiConfig::getParam('_list_pad_str'), $this->level, $margin, $margin);
 }
<?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]');
 function format_list($date, $str)
 {
     return "<strong>{$date}</strong>\n<ul class=\"" . PukiWikiConfig::getParam('style_prefix') . "recent_list\">\n{$str}</ul>\n";
 }
<?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 get_interwiki_url($name, $param)
 {
     static $interwikinames;
     static $encode_aliases = array('sjis' => 'SJIS', 'euc' => 'EUC-JP', 'utf8' => 'UTF-8');
     $WikiName = PukiWikiConfig::getParam('WikiName');
     if (!isset($interwikinames)) {
         $interwikinames = array();
         foreach (PukiWikiConfig::getInteWikiArray() as $line) {
             if (preg_match('/\\[((?:(?:https?|ftp|news):\\/\\/|\\.\\.?\\/)[!~*\'();\\/?:\\@&=+\\$,%#\\w.-]*)\\s([^\\]]+)\\]\\s?([^\\s]*)/', $line, $matches)) {
                 $interwikinames[$matches[2]] = array($matches[1], $matches[3]);
             }
         }
     }
     if (!array_key_exists($name, $interwikinames)) {
         return FALSE;
     }
     list($url, $opt) = $interwikinames[$name];
     // 文字エンコーディング
     switch ($opt) {
         // YukiWiki系
         case 'yw':
             if (!preg_match("/{$WikiName}/", $param)) {
                 $param = '[[' . mb_convert_encoding($param, 'SJIS', MOD_PUKI_SOURCE_ENCODING) . ']]';
             }
             //			$param = htmlspecialchars($param);
             break;
             // moin系
         // moin系
         case 'moin':
             $param = str_replace('%', '_', rawurlencode($param));
             break;
             // 内部文字エンコーディングのままURLエンコード
         // 内部文字エンコーディングのままURLエンコード
         case '':
         case 'std':
             $param = rawurlencode($param);
             break;
             // URLエンコードしない
         // URLエンコードしない
         case 'asis':
         case 'raw':
             //			$param = htmlspecialchars($param);
             break;
         default:
             // エイリアスの変換
             if (array_key_exists($opt, $encode_aliases)) {
                 $opt = $encode_aliases[$opt];
             }
             // 指定された文字コードへエンコードしてURLエンコード
             $param = rawurlencode(mb_convert_encoding($param, $opt, 'auto'));
     }
     // パラメータを置換
     if (strpos($url, '$1') !== FALSE) {
         $url = str_replace('$1', $param, $url);
     } else {
         $url .= $param;
     }
     return $url;
 }
function wrap_table($text, $align, $around)
{
    $margin = $around ? '0px' : 'auto';
    $margin_align = $align == 'center' ? '' : ";margin-{$align}:0px";
    return "<table class=\"" . PukiWikiConfig::getParam('style_prefix') . "style_table\" style=\"margin:{$margin}{$margin_align}\">\n<tr><td class=\"" . PukiWikiConfig::getParam('style_prefix') . "style_td\">\n{$text}\n</td></tr>\n</table>\n";
}
 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;
 }
function plugin_br_convert()
{
    return '<br class="' . PukiWikiConfig::getParam('style_prefix') . 'spacer" />';
}
function plugin_clear_convert()
{
    return '<div class="' . PukiWikiConfig::getParam('style_prefix') . 'clear"></div>';
}