ページへ戻る

− Links

 印刷 

MyTextSanitizer (まい・てきすと・さにたいざぁ) のバックアップソース(No.11) :: XOOPS マニア

xpwiki:keyword/MyTextSanitizer のバックアップソース(No.11)

« Prev[4]  Next »[5]
#nopagecomment
#navi(../)
* MyTextSanitizer (まい・てきすと・さにたいざぁ) [#wd32ad0f]

XOOPS, XOOPS Cube Legacy において、登録されたテキストを整形し表示するクラス。

このクラスに変更を加えることで、その XOOPS 全体に渡り、テキスト整形のルールを変更することができる。

ここ XOOPSマニア のサイトでは、xpWiki のWikiレンダリング機能を使って、テキスト整形するように変更が加えられています。

** XOOPS 2.0.16a JP 用 [#e3d11b6d]
- &ref(module.textsanitizer.php){XOOPS_ROOT_PATH/class/module.textsanitizer.php};
- 2008/1/26 に修正しました。(BBコードの[siteurl]に対応。要 xpWiki 3.59 以上)
- 2008/4/30 と 5/3 に修正しました。(BBコードの[img]が正常に変換できないことがある問題を修正)
- 2008/5/30 に修正しました。(BBコードの siteimage, fig が正常に動作するようにした)
- 2008/5/31 に typo 修正しました。[[参考スレッド:http://xoops.hypweb.net/modules/forum/index.php?topic_id=2362]]
#code(module.textsanitizer.php)
-- &font(b,Red){※}; xpWiki を xpwiki という名前以外でインストールしている場合は、320行目の&br; function &renderWikistyle($text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1, $use_cache = 0, $wikidir = '&font(b){xpwiki};') の xpwiki を適宜変更してください。

** XOOPS Cube Legacy 2.1.x 用 [#w210a13d]

XOOPS Cube Legacy 用には、本来ならプリロードだけで完結するようにすべきだとは思いますが、X2用モジュールとの互換性を保つために、module.textsanitizer.php を書き換える方法にしました。

Cube に対応させるために、[[XUGJ にて Marijuana さんにいろいろ教えていただきました。:http://www.xugj.org/modules/d3forum/index.php?topic_id=413]] :ok:
- &ref(SetupHyp_TextFilter.class.php){XOOPS_ROOT_PATH/class/preload/SetupHyp_TextFilter.class.php};
- 2008/1/26 に修正しました。(BBコードの[siteurl]に対応。要 xpWiki 3.59 以上)
- 2008/4/30 と 5/3 に修正しました。(BBコードの[img]が正常に変換できないことがある問題を修正)
- 2008/5/30 に修正しました。(BBコードの siteimage, fig が正常に動作するようにした)
- 2008/5/31 に typo 修正しました。[[参考スレッド:http://xoops.hypweb.net/modules/forum/index.php?topic_id=2362]]
#code(SetupHyp_TextFilter.class.php)
-- &font(b,Red){※}; xpWiki を xpwiki という名前以外でインストールしている場合は、48行目の&br; function &renderWikistyle($text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1, $use_cache = 0, $wikidir = '&font(b){xpwiki};') の xpwiki を適宜変更してください。
- &ref(cube_module.textsanitizer.php){XOOPS_ROOT_PATH/class/module.textsanitizer.php};
-- 変更箇所のみ
#code(php){{
    /**
     * Filters textarea form data in DB for display
     *
     * @param   string  $text
     * @param   bool    $html   allow html?
     * @param   bool    $smiley allow smileys?
     * @param   bool    $xcode  allow xoopscode?
     * @param   bool    $image  allow inline images?
     * @param   bool    $br     convert linebreaks?
     * @return  string
     **/
    function &displayTarea($text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1)
    {
        //$text = $this->_ToShowTarea($text, $html, $smiley, $xcode, $image, $br);
        $text = $this->mTextFilter->ToShowTarea($text, $html, $smiley, $xcode, $image, $br, true, 1);
        return $text;
    }

    /**
     * Filters textarea form data submitted for preview
     *
     * @param   string  $text
     * @param   bool    $html   allow html?
     * @param   bool    $smiley allow smileys?
     * @param   bool    $xcode  allow xoopscode?
     * @param   bool    $image  allow inline images?
     * @param   bool    $br     convert linebreaks?
     * @return  string
     **/
    function &previewTarea($text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1)
    {
        $text =& $this->stripSlashesGPC($text);
        //$text = $this->_ToShowTarea($text, $html, $smiley, $xcode, $image, $br);
        $text = $this->mTextFilter->ToShowTarea($text, $html, $smiley, $xcode, $image, $br, true, 0);
        return $text;
    }
}}
-- ダウンロード後に module.textsanitizer.php にリネームしてください。

#navi(../)

« Prev[4]  Next »[5]