Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
Clear
未登録ユーザー





記事 日時: 2006.03.07 (火) 22:58   記事の件名: htmlタグをそのまま吐いてしまう?
引用付きで返信

コメントにHTMLタグが含まれている状態でもそのまま吐き出してしまうようです。
最近コメントスパムが多く、この本文には最初にaタグから書き出すものが多かったので困っていました。

その対処法としてなのですが、

Code:
$item_element = htmlspecialchars($item_element);


この一文を2カ所に入れるだけで大丈夫でしょうか?

一応自分のところでは大丈夫だったのですが、あまり自信はないのでご報告のみさせていただきました。
[/code]

トップに戻る

nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.03.07 (火) 23:32   記事の件名:
引用付きで返信

私も数ヶ月前に同じ目にあって、ちょっと手を加えた物があるのでupしておきます。
htmlspecialcharsだとタグが見えちゃって殺風景なのでstrip_tagsを使いました。

1)コメント本文を任意の文字数で切り詰める前にタグを除去するように変更
2)アイテムページへのurl生成を標準のcreateItemLinkに戻す(urlカスタマイズプラグインと併用することを考えて。)
3)プラグインの参照urlをここに変更。

バージョンアップされる方は、ファイルの上書きのみで大丈夫だと思います。
アイテムurlに変化がないかどうか、よく観察してください。
もし、アイテムurlに変化を見つけた方で、元の動作に戻したい方は、122行目のコメントアウトをはずして、123行目の方をコメントアウトしてください。



NP_CommentTree09.zip
 説明:

ダウンロード
 ファイル名:  NP_CommentTree09.zip
 ファイルサイズ:  2.64 KB
 ダウンロード:  597 回


_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.04.19 (水) 10:46   記事の件名:
引用付きで返信

NP_LatestWritebacksと同じように、ブロック機能のあるトラックバックプラグインを使っている場合はブロック中のトラックバックをリストに含めない機能を付加しました。

バージョン1.0です。



NP_CommentTree10.zip
 説明:

ダウンロード
 ファイル名:  NP_CommentTree10.zip
 ファイルサイズ:  2.8 KB
 ダウンロード:  960 回


_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
サクラキャンドル



登録日: 2004.08.25
記事: 140

記事 日時: 2006.05.13 (土) 14:21   記事の件名:
引用付きで返信

 これまでVer0.75を使用していたのですが、Nucleus 3.22+NP_MagicalURLを使用しはじめた関係から、1.0にアップデートしました。

 すると、0.75の時に質問したのと同様な現象が発生してしまいました。
 http://japan.nucleuscms.org/bb/viewtopic.php?t=485

 このときはこちらで、createGlobalItemLinkを修正して対処したので、同様の変更で正しいURLを表示することは可能だとおもい、同様の修正を行って見ましたが、今回はMagicalURL用の変更をコアに行っていないので、addLinkParamsへパラメータを渡しても.htmlの拡張子がつかず、うまくない状態です。
 現在は、addLinkParamsへパラメータを渡さず、最終行で.htmlの拡張子を$Link変数に追加してreturnさせて対処しています。

 createItemLinkを使っている状態でもURLを正しく表示する方法は無いでしょうか?
 createItemLinkへのパラメータに、itemIDだけでなく、そのアイテムのblogIDも渡すのではないかとは思うのですが。

 また、0.75の時は、トラックバックの場合は、トラックバック相手のサイト名を[ ]で囲って表示していましたが、このバージョンで同様の表示を実現することは可能でしょうか?

  

_________________
サクラふぁーむ
http://juntwo.s57.xrea.com/
農場主の日常(管理人blog) 下記URLに移転中
http://sakurafarm.happy.nu/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.05.15 (月) 11:19   記事の件名:
引用付きで返信

blog設定urlでサブディレクトリを指定している場合に、サブディレクトリ付きのurlを生成しないバグは確認しました。

しかしながら、末尾の.htmlはきちんと自動でつくようなのですが。
*NP_MagicalURLでMagical化。
*fancyurls.config.phpはconfig.phpでinclude
*NP_CommentTreeは1.0オリジナルのままcreateItemLinkを使っている
という環境です。

.htmlの付加について、テスト環境があるようでしたらもう一度上記条件でトライしてみてください。

肝心のblogurl反映はちょっと考えてみます。すいません。

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.05.15 (月) 11:45   記事の件名:
引用付きで返信

blogurlを正しく反映しないのは、NP_MagicalURLのせいのような気がしてきました....。
もう少し考えてみますが。

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2006.05.15 (月) 13:38   記事の件名:
引用付きで返信

nakahara21 wrote:
blogurlを正しく反映しないのは、NP_MagicalURLのせいのような気がしてきました....。
もう少し考えてみますが。

とりあえず手元の環境は0.9なのですが、問題なく動いています。
0.9→1.0で何かURL関係処理に修正がありましたっけ?

_________________
藤咲
備忘録とかもろもろ
http://fjsk.tk/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.05.15 (月) 15:10   記事の件名:
引用付きで返信

0.9の時に変更しています。
藤咲さんは純正createItemLink採用のままですか?<0.9

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
藤咲
モデレーター
モデレーター


登録日: 2003.11.17
記事: 1164
所在地: 広島

記事 日時: 2006.05.15 (月) 15:15   記事の件名:
引用付きで返信

nakahara21 wrote:
0.9の時に変更しています。
藤咲さんは純正createItemLink採用のままですか?<0.9

NP_Magicalでは色々試したのではっきりは覚えてないんですが、以下の記事で
http://fjsk.s39.xrea.com/item_1265.html
Quote:
まずNP_CommentTreeは最新版へ変更する事で解決。

とか言って0.9へリンクを貼っているので、たぶん0.9にしただけだと思うのです。

_________________
藤咲
備忘録とかもろもろ
http://fjsk.tk/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
サクラキャンドル



登録日: 2004.08.25
記事: 140

記事 日時: 2006.05.15 (月) 23:23   記事の件名:
引用付きで返信

返信ありがとうございます。ちょっと状況が正確に伝えられなかったようなので、細かく書きますね。

当方、フォルダ分けを行って複数のブログを運用しており、MagicalURLを使用していました。

Code:
http://www.myhome.com/  ←top
http://www.myhome.com/blog1/ ←blog1
http://www.myhome.com/blog2/ ←blog2

 このような構成にしておりまして、Nucleus3.21の環境では、NP_CommentTree 0.75を
http://japan.nucleuscms.org/bb/viewtopic.php?t=485
 の変更を行って、正常に動作させていました。

 このたび、Nucleus3.22の導入にあわせ、NP_MagicalURLを導入したのにあわせ、NP_CommentTree 1.00を導入しました。
topには
Code:
<%CommentTree(5,4)%>

blog1,blog2が
Code:
<%CommentTree(5,4,,current)%>

と表記しています。このとき、コメントのついているitemがblog1のitem_001.htmlとすると、
topページの表示が
Code:
http://www.myhome.com/item_001.html

 となってしまい、フォルダが含まれません。
 blog1では、
Code:
http://www.myhome.com/blog1/item_001.html

 のように、きちんとフォルダが含まれたURLになります。

 0.75と同様の変更を行うと正常に表示されるのかと思い、
 131行目の
Code:
$itemlink = createItemLink($item['itemid'], '');
 をコメントアウトして、前の行の
Code:
$itemlink = $this->createGlobalItemLink($item['itemid'], '');
 を復活。
 プラグイン最後の方のcreateGlobarItemLink関数の
Code:
$link = $CONF['ItemURL'] . '/item/' . $itemid;
 をコメントアウトして、
Code:
$blogid = getBlogIDFromItemID($itemid);
$b_tmp =& $manager->getBlog($blogid);
$blogurl = $b_tmp->getURL() ;
$link = $blogurl . 'item_' . $itemid;
 に変更したところ、topページの表示部分は
Code:
http://www.myhome.com/blog1/item_001
 となり、サブカテゴリは含まれますが「.html」の拡張子がつかない状態になりました。
(blog1での表示も同様)

 現在は、上記変更の最終行を
Code:
$link = $blogurl . 'item_' . $itemid . '.html';
 とし、createGlobarItemLink関数の最終行、
Code:
return addLinkParams($link, $extra);


Code:
return $link;
に変更して、正しいURLを実現しています。
 改造してしまったので今は運用上問題ないのですが、オリジナルのままcreateItemLinkを使った方法はできないのかと思い、質問しました。

 現状わたしの環境も、
Quote:
*NP_MagicalURLでMagical化。
*fancyurls.config.phpはconfig.phpでinclude
 としています。ただ、createItemLinkにcatidのつかないバグは修正していません。

 addLinkParamsをcallするときに「.html」がつかないのは、NP_MagicalURLを使用しているため、3.21で行っていたコア改造を行っていないためだと思っていますが、違いますかね?

_________________
サクラふぁーむ
http://juntwo.s57.xrea.com/
農場主の日常(管理人blog) 下記URLに移転中
http://sakurafarm.happy.nu/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nakahara21
モデレーター
モデレーター


登録日: 2003.11.14
記事: 1298
所在地: 尼崎

記事 日時: 2006.05.16 (火) 09:24   記事の件名:
引用付きで返信

えと。サクラキャンドルさん、詳しい説明、お手数かけてすいません。
私は理解しておりました、つか、不具合の現象の再現できています。

>藤咲さん

サブディレクトリ運用のblogを表示しているページ中で、カレントblog記事へのコメントリンクは正常のはずです。
CommentTreeはallブログモード+表示中のblog以外のサブディレクトリ運用のblogに属する記事へのコメントへのリンクが正常ではないはずなんですが。
もっと具体的に言うと、もろもろTOPのCommentTreeをallブログモードにした時、本の記事へのコメントリンクはサブディレクトリぬけちゃう現象です。
もしお時間あれば一度確認お願いします。

>サクラキャンドルさん

サクラキャンドル wrote:
 addLinkParamsをcallするときに「.html」がつかないのは、NP_MagicalURLを使用しているため、3.21で行っていたコア改造を行っていないためだと思っていますが、違いますかね?

あえて言うなら
Code:
    function createGlobalItemLink($itemid, $extra = '') {
        global $CONF, $manager;

        $itemblog =& $manager->getBlog(getBlogIDFromItemID($itemid));
        $blogurl = $itemblog->getURL();
        if (!$blogurl) {
            $b =& $manager->getBlog($CONF['DefaultBlog']);
            if (!($blogurl = $b->getURL())) {
                $blogurl = $CONF['IndexURL'];
                if ($CONF['URLMode'] != 'pathinfo'){
                    if ($data['type'] == 'pageparser') {
                        $blogurl .= 'index.php';
                    } else {
                        $blogurl = $CONF['Self'];
                    }
                }
            }
        }
        if ($CONF['URLMode'] == 'pathinfo'){
            if(substr($blogurl, -1) == '/')  $blogurl = substr($blogurl,0,-1);
        }
           

        $CONF['BlogURL'] = $blogurl;
        $CONF['ItemURL'] = $blogurl;
        $CONF['CategoryURL'] = $blogurl;
        $CONF['ArchiveURL'] = $blogurl;
        $CONF['ArchiveListURL'] = $blogurl;

        return createLink('item', array('itemid' => $itemid, 'extra' => $extra));
    }

が正解です。
returnするのはcreateLinkです。

とりあえずは対策にはなります。
しかしながら、もう少し考えるべき点が色々あるので、配布はまだ控えます。すいません。

_________________
nakahara21
http://nakahara21.com/
*移転しています

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nuc-shozo



登録日: 2006.08.01
記事: 9

記事 日時: 2006.11.09 (木) 10:16   記事の件名:
引用付きで返信

現在さくらサーバーで運用しているNucleusをXREAサーバーでもプラグインなど同じ状況を作りたいと考えており、CommentTreeをインストールしたところエラーが出てしまいましたのでご教授いただきたいのですが

Quote:
mySQL error with query SHOW FIELDS from nucleus_plugin_tb: Table 'DB名.nucleus_plugin_tb' doesn't exist

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /ここら辺アドレス/NP_CommentTree.php on line 219


と表示されてしまいます。
これは、管理画面でも表示されますし、ブログ側でも表示されてしまいます。
が、一応コメントはツリー表示されています。

ブログサイドバーのインクルードファイルには
&lt;%CommentTree(5,4,comment)%&gt;
と記述してあります。

よろしくお願いします。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
nuc-shozo



登録日: 2006.08.01
記事: 9

記事 日時: 2006.11.10 (金) 20:13   記事の件名:
引用付きで返信

返信というか、自己解決したのですが、つたない英語力とGoogleの検索力の賜物です。

    まず、「nucleus_plugin_tb」というテーブルがDB上にないと判断。
    phpMyAdminから勝手に作成
    テーブル作成されてエラーが消えた


これでほんとにいいんでしょうか… Shocked

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
mas
モデレーター
モデレーター


登録日: 2003.11.14
記事: 292
所在地: 埼玉

記事 日時: 2006.11.10 (金) 21:27   記事の件名:
引用付きで返信

NP_Trackbackがインストールされていないからnucleus_plugin_tbっていうテーブルがデータベースに存在しない、ということです。
Quote:
まず、「nucleus_plugin_tb」というテーブルがDB上にないと判断。
ご名答!!Very Happy

NP_Trackbackを導入する予定がないのであれば、そのままでも無駄なアクセスが発生しているという以外問題ないと思います。(ってそれは避けたいですよね)

v1.0の216行目付近
Code:

   function checkTBVersion(){
      $res = sql_query("SHOW FIELDS from ".sql_table('plugin_tb') );
      $fieldnames = array();
      while ($co = mysql_fetch_assoc($res)) {
         $fieldnames[] = $co['Field'];
      }
      if(in_array('block',$fieldnames)) return TRUE;
      return FALSE;
   }


以下のように修正。
Code:

   function checkTBVersion(){
      global  $manager;
      if($manager->pluginInstalled('NP_Trackback')){
         $res = sql_query("SHOW FIELDS from ".sql_table('plugin_tb') );
         $fieldnames = array();
         while ($co = mysql_fetch_assoc($res)) {
            $fieldnames[] = $co['Field'];
         }
         if(in_array('block',$fieldnames)) return TRUE;
            return FALSE;
         }
      } else {
         return FALSE;
      }
   }


これでnucleus_plugin_tbを削除してみてうまく行くかな。

今触れる環境にないので、上のコード検証していません。詳しい方、補完よろしくお願いします。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
nuc-shozo



登録日: 2006.08.01
記事: 9

記事 日時: 2006.11.13 (月) 20:27   記事の件名:
引用付きで返信

お返事ありがとうございます。
上記コードをコピペしたらエラーがでたのですが、

Quote:
Code:
if(in_array('block',$fieldnames)) return TRUE;
            return FALSE;
         }


の "}"を削除したらエラー無く、DB上のnucleus_plugin_tbを削除しても問題なく表示されるようになりました。

NP_Trackbackがインストールされていないっていう初歩的?ミスで申し訳なかったです。
後々インストールするつもりなので、とりあえずはこのままmasさんの改造どおりで行きたいと思います。

ありがとうございます。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
infoinfo



登録日: 2006.11.12
記事: 4
所在地: 愛知

記事 日時: 2006.11.27 (月) 12:29   記事の件名: 報告:<ul><li>が正しくマークアップされない
引用付きで返信

機能上では問題ないのですが、気になったので・・・
デフォルトのままですと、

Code:

<ul class="commenttree">
<li>アイテムタイトル<!--ここに</li></ul>が書き出されない-->
<ul class="commenttree">
<li>コメント</li>
</ul>
</li><!--</li></ul>が逆に書き出されている-->

と正しくマークアップされませんでした。

回避策として、
1.管理画面のオプション設定
List., List(close)., List Item., List Item(close).
を空白。

2.NP_CommentTree.php内を下記のように変更。
136行目
Code:

         echo $s_item."<a href=\"{$itemlink}\">$itemtitle</a>\n";

となっているところを、
Code:

         echo $s_item."<li><a href=\"{$itemlink}\">$itemtitle</a></li>\n";

と、リストタグを書き込む。同様に、162行目と190行目にも書き込む。
3.スキン側に
Code:

<ul>
<%CommentTree%>
</ul>

と記述することで、回避できました。

ただ、この場合ですと、タイトルとコメントがクラス分けできず同じ扱いになってしまうので、162、190行目には矢印とかを書き込むなどの対処しないといけないですが・・・。

とりあえず、報告まで。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
PUSHMAN



登録日: 2004.08.15
記事: 56

記事 日時: 2006.11.27 (月) 16:05   記事の件名: Re: 報告:<ul><li>が正しくマークアップされない
引用付きで返信

<li>はブロック要素を内包できるので問題ないと思います。

最初のリストはコメントが投稿された記事のリスト、内包されたリストはコメントのリスト、ということだと思います。

ただ、なんとなく<dl>の方がいいような気がしましたので、僕は<dl>に書き換えました。こんなかんじです。

<dl class="itemList">
<dt>アイテムタイトル1</dt>
<dd>
<ul class="commentList">
<li>コメント1</li>
<li>コメント2</li>
</ul>
</dd>
<dt>アイテムタイトル2</dt>
<dd>
<ul class="commentList">
<li>コメント1</li>
</ul>
</dd>



</dl>

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
infoinfo



登録日: 2006.11.12
記事: 4
所在地: 愛知

記事 日時: 2006.11.27 (月) 22:09   記事の件名:
引用付きで返信

Quote:

<li>はブロック要素を内包できるので問題ないと思います。

ちょっと説明不足だったのかもしれません。
<ul>
<li>アイテムタイトル</li>
<li>コメント</li>
<li>アイテムタイトル</li>
<li>コメント</li>
</ul>
となってしまうので、CSSで「アイテムタイトルとコメントの間を少し空けたい」「コメントだけインデントをつける」などができない、ということだったのですが・・・。
Quote:

<dl>に書き換えました。

確かに<dl>の方がいいように思います。どのようにして書き換えたんです?
それらしいところは、知識がないなりになんとなくわかるのですが、どこをどういじって良いのか・・・ 。あれこれ挑戦してみたものの、エラーばかり。Crying or Very sad

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
PUSHMAN



登録日: 2004.08.15
記事: 56

記事 日時: 2006.11.27 (月) 23:14   記事の件名:
引用付きで返信

長くなってしまいましたが、修正箇所をお伝えします。随分前にいじったので抜けがあるかも…多分大丈夫だと思いますが…

まず、127行目あたりの
Code:
echo $this->getOption(s_lists)."\n";

をコメントアウトします。

135行目あたり
Code:
$s_item = str_replace('%kind%', 'item', $this->getOption(s_items));
echo $s_item."<a href=\"{$itemlink}\">$itemtitle</a>\n";
echo $this->getOption(s_lists)."\n";


Code:
// echo $s_item."<a href=\"{$itemlink}\">$itemtitle</a>\n";
echo "<dt class=\"recentTitle\"><a href=\"{$itemlink}\">$itemtitle</a></dt>\n";
// echo $this->getOption(s_lists)."\n";
echo "<dd>".$this->getOption(s_lists)."\n";

とします。

209行目あたり
Code:
echo $this->getOption(e_lists)."\n";
echo $this->getOption(e_items)."\n";


Code:
// echo $this->getOption(e_lists)."\n";
echo $this->getOption(e_lists)."</dd>\n";
// echo $this->getOption(e_items)."\n";

とします。

213行目あたり
Code:
echo $this->getOption(e_lists);

をコメントアウトします。

多分コードの改造はこれだけです。

あとはスキンに記述するときに
Code:
<dl>
<%CommentTree(5,5)%>
</dl>

などとするだけです。

オプション設定はデフォルトとほぼ同じです。
「List.」は
Code:
<ul class="commenttree">

Code:
</ul>

「List Item.」は
Code:
<li>

Code:
</li>

としています。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
infoinfo



登録日: 2006.11.12
記事: 4
所在地: 愛知

記事 日時: 2006.11.28 (火) 00:09   記事の件名:
引用付きで返信

さっそくやってみました。
問題なく、きちんとタグも閉じています。
PUSHMANさん、丁寧な説明ありがとうございました!!!

これで、今晩はぐっすり眠れそうです・・・感謝。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

ページ移動 前へ  1, 2, 3, 4, 5  次へ

Page 4 of 5

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group