Feb 21, 2005

ログインしたメンバーだけ読めるページ

家日記で、かなりプライベートなことに突っ込んだ部分を、メンバーでログインしてる人のみ読めるようにするにはどうしたもんかといろいろ考えた。

最初は「続く」はメンバーログインしてる人のみ読めるようにしようかなと思ったけど、それだと最初のページがでかくなりがちなので、「本文」・「続く」共に、部分的に表示・非表示をコントロールできたらいいなぁと。

で、ソースコードを整形するプラグインがあること思い出した。同じようにタグでコントロールするのはどうだろう?ということで、プラグインを作ってみた。

プラグインはこちらNP_MemberOnly.zip (509byte)[650clicks]

使い方は、<mo> タグで囲ったブロックが表示・非表示のコントロールを受ける部分。メンバーでログインしてる人にのみ表示したい部分はこのタグで囲めばオッケー。

例えばこんな感じ

ここは普通の行
<mo>
ここはメンバーログインしてる人のみに表示される行
</mo>
ここも全員に表示される行

もしかしたら Nucleus 標準でも同じような機能がありそうなくらい簡単なコードだが、探しきれなかったので作ってみた。他にも独自タグを定義して遊べそう。

ってか数日前に、家日記は index.php 経由では読めなくしたり Fancy URL の設定をしたりしてたけど、あれは意味なしってことか...とりあえず様子みて1つにまとめた方がよさげであれは再度変更しよっと。


Related Info.

Comments

R-naka wrote:

はじめまして。
グループでブログを持たせ、一般人も見れるのだが、グループ内メンバーだけで読ませる、グループ外のユーザは伏せ字扱い、という機能を探して、このプラグインに辿り着きました。

インストールが出来るケースと出来ないケースがありましたので、
ナニが悪いのかおわかりでしたら、お教えいただけないかと思ってコメントでつけます。

Nucleus3.15Jを3.2Jにアップデートしたものには、普通に入りました。また使用も出来ました。

最初から、Nucleus3.2Jをインストールしたものでインストールでエラーが出てしまいます。

NGのケース(@3.2)
 1.pluginsにFTPで入れる、
 2.管理からプラグインを<新しいプラグインをインストール>しようとすると、
3.Fatal error: Call to a member function on a non-object in /-*-*-*-*-*-*-/nuc32j/nucleus/libs/ADMIN.php on line 5289 と出てしまいます。(このメッセージがナニが悪いことを意味しているのかが、わかりません)
ADMIN.php の5289行目あたりとは、
// check if the plugin dependency is met
$plugin =& $manager->getPlugin($name);
$pluginList = $plugin->getPluginDep();
foreach ($pluginList as $pluginName)
{
だと思うのですが、上手く行っているほうの、3.15からアップデートしたADMIN.phpも同じ文言で。。。
というあたりで、詰まっています。
お忙しい中申し訳ありませんが、よろしくご教授ください。
Posted on Jun 13, 2005 01:22:51

R-naka wrote:

追記です。
両方のケースともに、Xreaの同一サーバで同DBにて動かしています。
Posted on Jun 13, 2005 01:24:26

Kimitake wrote:

R-naka さん、
プラグインご利用頂き、ありがとうございます。

v3.2 の ADMIN.php 確認しましたが、コメントにある問題のコードは5289行より上にあるんですが、AMIN.php に何か追加されましたか?それと、他のプラグインはどんな状況でしょうか?

手元のコードとずれているので、コメントにあるコードのどの行が実際の 5289行目なのかよくわからないんですが、エラーの意味としては、実体のないオブジェクト(例えば $manager や $plugin)のメンバー関数(例えば、getPlugin や getPluginDep)が呼ばれた、という意味です。
問題の箇所のちょっと上に $manager->pluginInstalled というのがあるので、$manager はちゃんと実体があると思います。となると $plugin が犯人になりますが、これはコメントのコードにもある通り、
$plugin =& $manager->getPlugin($name);
というところで実体を作ってますので、ここがうまく動いてないようです。

今回の場合 $name は MemberOnly となるはずで、NP_MemberOnly.php をプラグインファイルとして検索してると思うんですが、それがうまくいってないようです。

では何故?ということなんですが、ファイル名の大文字小文字が変わってしまってるとか、Webサーバープログラムによる NP_MemberOnly.php ファイル自体の読み込み権限がない、などが考えられます。そのあたりもう一度ご確認して頂けますか?
Posted on Jun 13, 2005 12:32:51

R-naka wrote:

Kimitake様、ご返事ありがとうございます。

>v3.2 の ADMIN.php 確認しましたが、コメントにある問題のコードは5289行より上にあるんですが、
>ADMIN.php に何か追加されましたか?
http://japan.nucleuscms.org...&
ここのHackをしております。あ、これもKimitakeさんのサジェッションでしたね。
一度戻してみましたが、それでも
「/nucleus/libs/ADMIN.php on line 5289」が出ました。

>それと、他のプラグインはどんな状況でしょうか?
NP_archiveIndex,NP_Calendar,NP_CommentTree,NPContentsList,Np_Skinfiles,NP_TrackBack(吐き出す部分は自己改造)
です。

>・・・・
(ちょっとあまり理解できませんでした。すいません)(何か必要な情報があれば、お出しします)

>では何故?ということなんですが、ファイル名の大文字小文字が変わってしまってるとか、
それは大丈夫なようです。
>Webサーバープログラムによる NP_MemberOnly.php ファイル自体の読み込み権限がない、などが考えられます。そのあたりもう一度ご確認して頂けますか?
他のプラグインと同じ、グループ、ユーザー、アクセス権のようです。これは大丈夫かと思うのですが、(実はワタシMacでやってますので、その辺でおかしくしてまったということはあり得るでしょうか?)

ご助言ありがとうございます。
一度、オリジナルのADMIN.phpをアップしてから、やってみようと思います。
(いろいろなサイトに出ているNucleusの改造をやってしまったのはイイが、順序立ててメモを残さなかったワタシも悪いのかと思います。・・このあたり、Nucleusの深さだと思い、もっと勉強させていただきます。)
一旦ご報告まで。
Posted on Jun 13, 2005 22:29:21

R-naka wrote:

ふぇぇ、、、、たびたび申し訳ございません。

新しい、Nuc3.2J(EUC版です)をDL、プラグインなどはそのままで、
ADMIN.phpのみ上書きアップしてみました。

そして、MemberOnlyを読み込もうとすると、
5277行目に問題あり、との表示でした。

Fatal error: Call to a member function on a non-object in /-*-*-*-*-*-*/nucleus/libs/ADMIN.php on line 5277

$pluginList = $plugin->getPluginDep();
のようです。

どこをどうしてみればいいのか、わからず、お手上げ状態でございます。
何かアドバイスございましたら、よろしくお願いいたします。
Posted on Jun 13, 2005 22:53:20

Kimitake wrote:

う~ん...もう一度 NP_MemberOnly をダウンロードするか、解凍するかして既存のファイルを上書きしてみて頂けますか?ちょっと時間とれないので細かいところまで追いきれないもんでして。力になれずにすみません。
Posted on Jun 13, 2005 23:14:10

R-naka wrote:

素早いお返事ありがとうございます。
>~ん...もう一度 NP_MemberOnly をダウンロードするか、解凍するかして既存のファイルを上書きしてみて頂けますか?

はい。やってみました、がや、はり、

MemberOnlyを読み込もうとすると、
5277行目に問題あり でした。

お忙しい中申し訳ありませんでした。
一旦あきらめます。
この3.2サイト、もう一度、Xreaから、別の場所に移す予定がありまして、
その際に、他のプラグインより、先にインストールするよう、してみます。
それでダメなようでしたら、またご相談に参ります。

ちなみに、
http://miyacchi.jp/myblog/i...
みやっちさんの「メンバー名を日本語表記させる」の処置も
したりしてますが、これはいじるのは、COMMENTS.php ですし、関係はないですよね。
Posted on Jun 13, 2005 23:33:19

Kimitake wrote:

ちなみに、つい先日v3.2(UTF-8)をセットアップする機会がありまして、MultiBlog プラグインのみインストールしてあったんですが、今回ちょっとMemberOnly も入れてみたところ問題なくインストールできました。EUCだから?ちょっとテストサイトにEUC版があったはずなので試してみますね。
Posted on Jun 14, 2005 00:47:01

Kimitake wrote:

やってみました。問題なかったです...やっぱりちゃんとコード追わないと分からないですねぇ ^^;
ちなみにインストールしたプラグインは、最初から入ってるSkinFilesと今回追加したMemberOnlyだけです。
Posted on Jun 14, 2005 00:49:17

yama wrote:

このプラグインを使って試してみたいことがいろいろあったのでインストールしてみました。

Plugin NP_MemberOnly was not loaded (does not support SqlTablePrefix)
ところが上記のようなエラーが出てインストールできませんでした。
SqlTablePrefix…ということなので、テーブル名関係のエラーなのかな?と思いますが。
テーブルプリフィクスを変更してサイトを運用しています。以上、報告でした。
Posted on Jul 17, 2006 08:15:35

Kimitake wrote:

yama さん、ご報告ありがとうございます。
ちと調べてみたいと思います。
Posted on Jul 17, 2006 22:05:48

Kimitake wrote:

yama さん、修正したので試してみて下さい。
http://kimitakeblog.net...
Posted on Jul 19, 2006 01:45:42

さいとぅーす wrote:

KIMITAKE様、MemberOnlyのプラグインのメンテナンスは、まだやられておりますでしょうか?
質問よろしいでしょうか。
<MO>タグで囲んだ記事は見えないようにできますが、RSSや携帯スマホで記事を表示すると、このタグが効果なく表示されてしまいます。
これに対応する方法を教えていただけたらと思い書かせていただきました。
お手数ですが、よろしくお願いいたします。
Posted on Feb 11, 2014 23:25:03

Kimitake wrote:

さいとぅーすさん、
ログインした状態のブラウザからRSSを見ると<mo>タグで囲んだところも表示されますが、ログアウトすれば見えないのを確認しました。
基本的にNucleusのスキン・テンプレート経由でテキストを整形していればプラグインの効果は、通常ページ表示と同じように適用されるはずです。
Posted on Feb 12, 2014 10:38:04

さいとぅーす wrote:

Kimitakeさん、たしかに、色々な状態で視覚確認していたのですが、自分でごちゃごちゃになっていたようです。回答いただきましてありがとうございました。
Posted on Feb 13, 2014 00:48:05

Add Comments

※下記の単語・フレーズはコメントで使用できません。大文字・小文字は同一視します。
poker, backgammon, tramadol, casino, insurance, loans
JavaScript is required when you submit comment %20%20%3c%61%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%22%3e%3c%2f%61%3e %3c%66%6f%72%6d%20%6d%65%74%68%6f%64%3d%22%70%6f%73%74%22%20%61%63%74%69%6f%6e%3d%22%23%6e%75%63%6c%65%75%73%5f%63%66%22%3e %09%3c%64%69%76%20%63%6c%61%73%73%3d%22%63%6f%6d%6d%65%6e%74%66%6f%72%6d%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%61%63%74%69%6f%6e%22%20%76%61%6c%75%65%3d%22%61%64%64%63%6f%6d%6d%65%6e%74%22%20%2f%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%75%72%6c%22%20%76%61%6c%75%65%3d%22%68%74%74%70%3a%2f%2f%6b%69%6d%69%74%61%6b%65%62%6c%6f%67%2e%6e%65%74%2f%69%74%65%6d%2f%38%33%22%20%2f%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%69%74%65%6d%69%64%22%20%76%61%6c%75%65%3d%22%38%33%22%20%2f%3e %09%09 %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%62%6f%64%79%22%3eコメント%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%74%65%78%74%61%72%65%61%20%6e%61%6d%65%3d%22%62%6f%64%79%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%63%6f%6c%73%3d%22%34%30%22%20%72%6f%77%73%3d%22%31%30%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%62%6f%64%79%22%3e%3c%2f%74%65%78%74%61%72%65%61%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6e%61%6d%65%22%3eお名前%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%75%73%65%72%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%34%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6e%61%6d%65%22%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6d%61%69%6c%22%3eウェブサイト%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%75%73%65%72%69%64%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%36%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6d%61%69%6c%22%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%65%6d%61%69%6c%22%3eメール%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%65%6d%61%69%6c%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%31%30%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%65%6d%61%69%6c%22%20%2f%3e %09%09 %09%09%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%63%68%65%63%6b%62%6f%78%22%20%76%61%6c%75%65%3d%22%31%22%20%6e%61%6d%65%3d%22%72%65%6d%65%6d%62%65%72%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%72%65%6d%65%6d%62%65%72%22%20%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%72%65%6d%65%6d%62%65%72%22%3e情報を記憶しておく%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%73%75%62%6d%69%74%22%20%61%6c%74%3d%22コメントを追加%22%20%76%61%6c%75%65%3d%22コメントを追加%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%62%75%74%74%6f%6e%22%20%2f%3e %09%3c%2f%64%69%76%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%37%38%37%31%36%65%35%39%38%38%30%61%37%62%63%38%38%37%35%38%61%38%31%31%33%30%61%38%32%31%38%30%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%39%65%31%38%32%37%64%62%32%64%34%38%64%62%31%33%37%33%38%61%33%34%34%35%62%37%37%36%38%37%63%61%22%3e %3c%2f%66%6f%72%6d%3e %20%20

OpenID を使ってログインすることができます。

Identity URL:

Trackbacks

ローカルトラックバック
MemberOnly 0.4: テーブルプリフィックスを使用してる場合に、プラグインのインストールができない、とのことでアップデートしました。 NP_MemberOnly(1.1KB)
2006-07-19
トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
visitor stats