Mar 28
昨日探し回ったんでメモ。
NP_LimitLoginAttemptsを作ってて、ログイン画面にどうやってメッセージを表示するか小一時間ソースとにらめっこした結果、「$error」というグローバル変数を発見しました。
「ADMIN::action_showlogin()」で、
$this->login($error);
って使われてて、これがログイン画面で表示されます。これをプラグインの「event_LoginFailed」で引っ掛けて、
global $error;
$error = 'ログイン情報が間違ってます';
としてやればOK。イベント仕込んだりコア書き換えたりする必要もなく目的達成できました。
No Comments yet.
OpenID を使ってログインすることができます。
Mar 28
HAAYAさんで紹介されてたWP用のをやまさんがつぶやいてたので、ちょっと作ってみました。
IPアドレス指定でコメントをBANする方法が話に出てましたが、こちらはIPアドレス指定でログインをBANします。
設定項目は、
- BANするまでに失敗してもいい回数
- 1.で指定した回数失敗した後さらに失敗した時にBANする時間(分)
- 2.のBANが何回繰り返されたら長時間BANした状態にするかの回数
- 3.で設定した回数を超えた場合にBANする時間(時間)
- 4.が発生した時にadminにメール通知するかどうか?
- BANテーブルをフラッシュする間隔(BAN中のデータは消えない)
- NucleusのログにBANのログを残すかどうか?
です。とりあえずはベータ版ということで。
使ってもらえる人がいるなら、不具合報告してもらえるとうれしいです。
NP_LimitLoginAttempts_beta[26clicks]
No Comments yet.
OpenID を使ってログインすることができます。
Mar 20
公開前のテスト中。
NP_OpenIDなしでもインストールできるようにいくつか判定文を追加して、あとv3.4xのTemplateExtraFields対応に書き直しました。とりあえず
SourceForge.jpのSVNリポジトリに置いてます。興味のある方はどうぞ。
同梱のskinbackup.xmlは、まだNP_znSpecialTemplateParts対応のままなので、今のままではインストールできませんが^^;
で、今はまだ前のバージョン同様OpenIDのログインフォームが全部のコメントフォームにくっつく様になってるけど、やっぱり普通に1ページに一つだけに戻したほうがいいのかな?なんて考え中。
というのが、藤咲さんから要望のあった「簡易パスワード方式」の問題。
この機能を丸ごとNP_EzComment2が持つんじゃなくて、ここを別のプラグインにして、EzCommentはログイン状況と「ないしょコメント」のチェックだけをした方がシンプルでいいのかなと。この形にしておけば、たとえばBASIC認証でログインした場合やLDAPでログインした場合にも対応しやすいと思う。
ま、「他のは対応しません」って言い切っちゃえば済む話なのかもしれないけどw
No Comments yet.
OpenID を使ってログインすることができます。
Mar 16
無視しよう。
あれは無かったことに。
あんなの使わなくたって、いままでちゃんとやってきたんだしね。
「Pingの機能はプラグイン化してコアから追い出したんだから、コアで面倒見るようなことはやめようよ」
だそうで。
なら、v3.31以降の
$pingUrl = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=sendping&blogid=' . intval($blogid));
if ($result['status'] == 'newcategory')
$this->action_categoryedit(
$result['catid'],
$blogid,
$blog->sendPing() && numberOfEventSubscriber('SendPing') > 0 ? $pingUrl : ''
);
elseif ((postVar('actiontype') == 'addnow') && $blog->sendPing() && numberOfEventSubscriber('SendPing') > 0)
$this->action_sendping($blogid);
else
$this->action_itemlist($blogid);とか、
if (!$closed && $publish && $wasdraft && $blog->sendPing() && numberOfEventSubscriber('SendPing') > 0 && !$isFuture) {
$this->action_sendping($blogid);
return;
}のコードはなんなの?って話。
Read More
OpenID を使ってログインすることができます。
Mar 12
フォーラムに書いたんでそっちを読んでくれた人も多いと思うけどもう一回。
NucleusのプラグインAPIに「
PrePluginOptionsEdit」っていうのがあって、「プラグインのオプションを設定するフォームが生成される直前」に呼び出されるわけです。
このAPIをフックすると、createOption()で設定した値が、連想配列に入って参照渡しで送られてくるんで、ここで書き換えてやればいいというわけ。
言語ファイルを作ってた国語化しても、このオプションの説明やらなにやらはプラグインをインストールする時点でデータベースに固定値として保存されてしまうので、従来の方法だとインストール後に表示言語を切り替えてもこの部分だけは切り替えられずに、英語のままだったり文字化けしたりしてたわけですが、この方法を使えばスッキリ解決!
コアを書き換えるしかないかとあきらめかけていたところに、NKJGさんに助言いただきました!アリガト!(´▽`)アリガト!(´▽`)
No Comments yet.
OpenID を使ってログインすることができます。
Latest Comments
naiz:
上記の件ですが、NP_SendPingだとうまくいき、NP_PingJPだと...
naiz:
しづきさん お返事ありがとうございます。 どの相手側サ...
しづき:
naizさん 「Connection timed out」なので、何らかの原因で...
naiz:
たびたびすみません。 item_710.htmlの記事にコメントしよう...
naiz:
> しづきさん あっ、確認不足でした!ちゃんとカスタマイ...