■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50 [PR]ぜろちゃんねるプラス[PR]  
レス数が1000を超えています。残念ながら全部は表示しません。

ぜろちゃんねるプラス質問スレ

1 :windyakin ★:2011/07/10(日) 16:29:56.74 ID:???0
■ぜろちゃんねるプラスWiki
http://sourceforge.jp/projects/zerochplus/wiki/FrontPage

569 :名無しさん@ぜろちゃんねるプラス:2013/09/29(日) 22:00:52.20 ID:3OG4r4sY0
a font {
color:blue;
}

これで無事対応出来ました
ご足労おかけしまして申し訳ございませんでした
御対応感謝いたします

570 :名無しさん@ぜろちゃんねるプラス:2013/10/01(火) 23:42:23.97 ID:sH7eBNr60
すいません
ゼロチャンネルプラスって書込み数、アクセス数などはどこでカウントしてるんですか?
もしカウントしてないならどのようにすればカウンドできるでしょうか

571 :名無しさん@ぜろちゃんねるプラス:2013/10/01(火) 23:53:57.61 ID:sH7eBNr60
えっと、本来プラグイン総合にするべきでした
書込み数をカウントし、コマンドを打つことで表示できるようなプラグインを作れますか?

572 :0ch+開発担当 ◆0chp.sx.ik :2013/10/02(水) 21:40:59.47 ID:g9kA5eFA0
>>570-571
基本的にはカウントしていません。

書き込み数カウンターは需要がありそうなので簡易的なものを作りました。
http://sourceforge.jp/projects/zerochplus/scm/svn/blobs/head/codes/0ch_count.pl
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_count.pl
コマンドや表記などを自分好みに書き換えて使ってください。

また、アクセス数はブラウザからのアクセス(read.cgi, r.cgi)であればカウントすることも出来ますが、
.dat(専ブラ)などはCGIでカウント出来ないので、サーバーのアクセス解析機能に頼らざるを得ません。

573 :名無しさん@ぜろちゃんねるプラス:2013/10/02(水) 23:07:38.52 ID:JcSoPdfE0
>>572
ありがとうございます!

574 :名無しさん@ぜろちゃんねるプラス:2013/10/10(木) 21:40:46.12 ID:bpd6+iOg0
長年使っていた別の2ch型スクリプトからの
移行を考えております。

・スレをたてた時の>>1>>980など特定のレス番において
 特定の文言を自動挿入させるような機能はありますでしょうか?
 もしそのような機能が存在しない場合、どのファイル(vara.plあたり?)を
 書き換えればよろしいでしょうか。

・特定のスレッドを任意の書き込みでで一番下に落とす仕組みを
 (メール欄にkageなど特定のコマンドを入力、など)導入する事は
 可能でしょうか。既存のプラグインなどが有りましたらすみません。

長年、古いスクリプトを自己流で弄りながら使い続けていたので、
ぜろちゃんねるプラスの多機能さに驚いております。
お忙しいところ大変恐縮ですが、ご教授いただけますと幸いです。
よろしくお願いいたします。

575 :0ch+開発担当 ◆0chp.sx.ik :2013/10/11(金) 00:51:57.19 ID:ETlNqoZ20
>>574
>特定のレス番において特定の文言を自動挿入
この機能はありませんが、プラグインで出来ます。
サンプルを作ったので書き換えてて利用してください。
http://sourceforge.jp/projects/zerochplus/scm/svn/blobs/head/codes/0ch_mymsg.pl
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_mymsg.pl

>kage
プログラムの構造がよくないのでプラグインでは出来ません。
module/vara.plの199行目辺りに以下の1行を加えて、
    my $kage = $Form->Contain('mail', 'kage');
次の行(OnDemand)を以下のように書き換えてください。
    $Thread->OnDemand($Sys, $Sys->Get('KEY'), $resNum, $sage, $kage);
さらに、module/baggins.plの209行目辺りで引数を受け取り、
    my ($Sys, $id, $val, $age, $kage) = @_;
242行目あたりのAGEの行の後に以下の行を加えてください。
    $this->DAME($id) if ($kage);
確認していませんが、おそらくこれで実現できると思います。

576 :名無しさん@ぜろちゃんねるプラス:2013/10/11(金) 21:22:15.72 ID:NBKLAytk0
>>575
ありがとうございます!
両方とも実装できました。活用させていただきます!

577 :名無しさん@ぜろちゃんねるプラス:2013/10/12(土) 11:10:53.85 ID:cMwfI+6w0
>kage

これ面白い機能ですね
最新版で採用して欲しいです

578 :名無しさん@ぜろちゃんねるプラス:2013/10/17(木) 04:37:06.30 ID:nydpRX/E0
「書き込みと同時にスレッドをTOPへソート」が "age" であるならば、
"age" と真の逆の意味がありますね。

579 :名無しさん@ぜろちゃんねるプラス:2013/10/19(土) 18:58:55.33 ID:XhV4wMyo0
申し訳ございません
プラグインでほかのプラグインのON、OFFを調整するにはどうしたらよいでしょうか?
たとえばメール欄に「OFF」と打つとそのレスだけプラグインがすべて無効になる、とか
>>1に特定のXという文字列が含まれた場合にそのスレだけ特定の機能をONにする、とか
Perlに関して全くの初心者である私にご教示くださいませんか?


580 :0ch+開発担当 ◆0chp.sx.ik :2013/10/19(土) 22:32:22.33 ID:dd71n4PI0
>>579
プラグインから別のプラグインを操作することは出来ません。
対象のプラグインを直接改造してください。

sub executeが実行部なので、例えばその中の始めのところで
  my $mail = $Form->Get('mail'); # メール欄取得
  return 0 if ($mail =~ /OFF/); # OFFが含まれるならreturn
のようにすればそのプラグインを中断(無効化)できます。

また、スレ立て時に設定や属性を持たせたい場合は
  my $tate = $Sys->Equal('MODE', 1); # スレ立てなら1、レスなら0
  my $key = $Sys->Get('KEY'); # スレッドID(約10桁の数字)
  # $tateが1で、特定条件を満たすなら$keyと付加情報を保存
  $ $tateが0なら保存されている付加情報を読み込む
このような感じで、ある程度自前で実装してください。

581 :名無しさん@ぜろちゃんねるプラス:2013/10/20(日) 07:07:48.80 ID:XEwF72MU0
>>580
ありがとうございます、できました!

582 :名無しさん@ぜろちゃんねるプラス:2013/10/21(月) 11:55:57.25 ID:XmwQL2u60
プラグインを作るときに書き込む側が入力したものを変数に格納する場合同記述すればいいのでしょうか?
CGIでいう<STDIN>的なものでたとえば
!id:*****
と名前欄に記入すると自分のIDが****で上書きされるという風な感じです
ちょっとわかりにくいので、ソースでいうと

$userid = *****
if ($elem[2] =~ s/!id://g) {
$id = $userid;
$Form->Set('mail', $elem[2]);

ここで!id:の後ろに記述された値が$useridに代入される、といった感じです


583 :0ch+開発担当 ◆0chp.sx.ik :2013/10/21(月) 20:11:56.57 ID:Dd9IEZlc0
>>582
正規表現を利用してこのようにすれば実現できると思います。
if ($elem[2] =~ s/!id:(.*)$//g) {
  $userid = $1;

584 :名無しさん@ぜろちゃんねるプラス:2013/10/21(月) 20:30:04.60 ID:XmwQL2u60
>>583
有難うございます!
$useridにわざわざ代入する必要もないしエラーを履いたので直接$idに代入することにしました!

585 :名無しさん@ぜろちゃんねるプラス:2013/10/22(火) 18:48:45.16 ID:LrZQh25g0
申し訳ございません
とある理由により掲示板を移転することになりました
つきましては現行スレの移動方法をお教えくださいませんでしょうか?

586 :名無しさん@ぜろちゃんねるプラス:2013/10/22(火) 19:05:34.08 ID:LrZQh25g0
もう一つ
chobi-netのパーミッションを教えてください

587 :0ch+開発担当 ◆0chp.sx.ik :2013/10/22(火) 19:57:59.99 ID:uBYRNc3M0
>>585
1. testフォルダと各掲示板フォルダを全てFTP等でコピーする
2. パーミッションを設定する (必要ならperlパスも変える)
3. 新サーバー側の管理画面にログインする
4. システム設定->基本設定の稼働サーバとCGI設置ディレクトリを適切に設定する
5. 掲示板一覧から全ての掲示板のindexを更新する
以上で移転できると思います。
また、必要に応じて告知や読取専用設定などを行ってください。

>>586
こちらに書かれているとおりです。
http://chobi.net/support/cgi.html#cgi4
以下のsuExec Type-Aの設定に該当します。
http://sourceforge.jp/projects/zerochplus/wiki/Permission#h3-Type-A

588 :名無しさん@ぜろちゃんねるプラス:2013/10/22(火) 20:17:00.30 ID:LrZQh25g0
>>587
ありがとうございます!
ちなみに、datファイルのみの移転でも大丈夫ですか?

589 :0ch+開発担当 ◆0chp.sx.ik :2013/10/22(火) 21:46:26.48 ID:uBYRNc3M0
>>588
新しい掲示板にdatを移動させる場合は、datファイルを転送したあと
スレッド一覧からsubjectを更新すれば読み込まれます。

590 :名無しさん@ぜろちゃんねるプラス:2013/10/22(火) 22:05:13.59 ID:LrZQh25g0
>>589
ありがとうございました

591 :名無しさん@ぜろちゃんねるプラス:2013/10/30(水) 21:34:41.66 ID:9KJCjgW+0
スパムがひどいので、規制では対応しきれなくなっています。
そこで、日本からの書き込みだけ許可したいのですが、.jp限定にするとyahooBBなどから書き込めなくなってしまいます。
日本からの書き込み限定にする方法はありますか?

592 :名無しさん@ぜろちゃんねるプラス:2013/10/30(水) 22:08:38.80 ID:9KJCjgW+0
また、逆引きできない(ホスト取得できない)書き込みを弾くことはできますでしょうか?

593 :0ch+開発担当 ◆0chp.sx.ik :2013/10/30(水) 22:54:17.69 ID:jPs3uIYA0
>>591-592
日本のドメインを判別する方法がないので列挙する形になりますが、
ホスト規制で「(?<!\.jp)(?<!\.bbtec\.net)\z」と指定すればドメインを限定できます。

大抵の英文スパムはプラグイン「スパムキラー」(0ch_spamkiller.pl)
で弾けるのでこのプラグインの使用をおすすめします。

このプラグインの設定はデフォルトで問題無いとは思いますが、
nohost_point の数値を threshold_point より大きく設定すれば
逆引き不可のユーザを完全に弾くことも出来ます。

594 :名無しさん@ぜろちゃんねるプラス:2013/11/01(金) 09:52:45.85 ID:sjsEEx/s0
>>593
ありがとうございます。
色々調べてみたのですが、スパムキラーの加算システムが良く分かりません。
これは何を設定するものなのでしょうか?

595 :0ch+開発担当 ◆0chp.sx.ik :2013/11/01(金) 12:35:12.17 ID:evrXKGcw0
>>594
簡単にいえば、スパムと疑わしき要素について加点していき、
点数が一定値を超えるとスパムと判定してその書き込みを弾くというものです。

デフォルトの設定で説明すると、
・逆引き不可のIPなら 7点
・名前欄が半角文字(ASCII)のみなら 2点
・メール欄に半角@があれば 5点
・本文の 95%以上 が半角文字なら 2点
といったように加点していき、その点数が 10点以上 になればスパムと判定されます。

596 :名無しさん@ぜろちゃんねるプラス:2013/11/01(金) 17:47:14.70 ID:N4pnuFkc0
>>595
そういうことでしたか
ありがとうございました

597 :名無しさん@ぜろちゃんねるプラス:2013/11/02(土) 17:07:21.50 ID:jt6fYt+Q0
コンストラクタの設定値にはどのようなものがあるのでしょうか?
リストにしていただくと有難いです
それと、プラグインでCGIに自動で書き込むプラグインというのは作れるでしょうか?
たとえば「!ex*******/ex」と本文に打ち込んで書き込むと******の部分が指定されたCGIに書き込まれるというような感じで
教えてくれませんか?

598 :0ch+開発担当 ◆0chp.sx.ik :2013/11/02(土) 22:51:06.41 ID:wwQO98Os0
>>597
コンストラクタの設定値というのがイマイチわからないのですが、
具体的にどのようなものを指していますか?

>CGIに自動で書き込む
こちらもCGIが何を表しているのかよくわかりませが、
プラグインから別のレスを書き込むという意味ならかなり難しいです。

599 :名無しさん@ぜろちゃんねるプラス:2013/11/03(日) 07:24:01.46 ID:dJo3eFQ+0
申し訳ございません、分かりにくかったですか
スレ・レスにモードをつけてID:noneというのを作っているんですがどうもうまくいかなくて
それで例えばモードをつけてIDを上書きするという際にはどのようにするか教えてほしかったんです
CGIというのは……そうですね
例えば、まだかなCGIとかです

600 :0ch+開発担当 ◆0chp.sx.ik :2013/11/03(日) 13:22:03.19 ID:bggi5i3A0
>>599
>スレ・レスにモードをつけて
スレッドに属性を付加する機能は一応あります。
こちらのコードを参考にするなり改造するなりしてみてください。
http://sourceforge.jp/projects/zerochplus/scm/svn/blobs/head/codes/0ch_threadattr.pl
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_threadattr.pl

>IDを上書きする
ただ現段階ではプラグインから日付ID部分の改造が出来ません。
module/vara.pl の 132-134行目あたり、あるいは
module/galadriel.pl の sub MakeIDnew, sub GetIDPart を改造する必要があります。

ID部分の書き換えは需要が高いようなので、
次のリリース0.7.4で ある程度操作できるようにしておこうと思います。

>まだかなCGI
規制ユーザ一覧を操作したい場合は、モジュールを使って
  require './module/faramir.pl';
  my $vUser = FARAMIR->new;
  $vUser->Load($Sys);
  $vUser->Add('\\.example\\.jp$');
  $vUser->Save($Sys);
のようにするか、設定ファイルを直接操作するかのどちらかです。
  my $path = $Sys->Get('BBSPATH') . '/' . $Sys->Get('BBS') . "/info/access.cgi";
  open(my $fh, '>>', $path);
  print $fh '\\.example\\.jp$' . "\n";
  close($fh);

601 :名無しさん@ぜろちゃんねるプラス:2013/11/03(日) 14:30:35.38 ID:i412nn1Q0
>>600
できました
ありがとうございます

602 :バージョン0.7.4:2013/11/06(水) 15:42:17.27 ID:VeMgMoiI0
172 :バージョン0.7.4:2013/11/06(水) 07:47:45.80 ID:VeMgMoiI0アップデートはどのように行えばよいでしょうか

45 名前:名無しさん@ぜろちゃんねるプラス[sage] 投稿日:2011/07/30(土) 10:05:42.92 ID:8CnCTmxsi
バージョンアップは
バックアップ→最新版に差し替え→バックアップ復元
という流れでやればいいのでしょうか?

46 名前:windyakin ★[] 投稿日:2011/07/30(土) 13:04:02.19 ID:???0
>>45
更新されるファイルは主に
test/module/*.pl
test/mordor/*.pl
test/perllib/*.pm
test/plugin/*.pl
test/*.cgi
ぐらいですのでそのあたりだけの差し替えでも構わないかと。
勿論バックアップをするのに越したことはないですが。

--------------------------------
上記と同じくファイル差し替えたのですが、バージョン番号が変化しません。
>BBS.CGI - 0ch+ BBS 0.7.3 20130527 (Perl)
0.7.4 にするにはどうすればいいのでしょうか?

173 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 13:54:25.29 ID:IW9s3PHI0>>172
おそらくindex.htmlの最下部に表示されているバージョンのことだと思いますが、
index.htmlはプログラムの生成物なので1度でも書き込めば更新されます。
read.cgiやadmin.cgiから確認すれば0.7.4になっていると思います。


開発スレでする質問ではなかったですね失礼しました。


上書きではなくサーバー側を削除してからうpしたのでパーミッションが間違っていました。
パーミッション修正。書き込みしてSubject更新、情報更新、Index更新しましたが変化なし
0.7.4でTestフォルダ検索するとこれしか出てこない。

\test\module\melkor.pl
'VERSION' => '0ch+ BBS 0.7.4 20131106', # CGIバージョン


これは新しく増えたのでしょうか、数値を教えて頂きたいのですが
過去ログ倉庫ディレクトリパーミッション
http://www12.atwiki.jp/0ch/pages/8.html

603 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 18:29:53.12 ID:IW9s3PHI0
>>602
>Index更新しましたが変化なし
書き込んだレスの内容はindexに反映されていますか?
反映されているなら、ファイルの差し替えができていません。

反映されていなければ、おそらくindexのパーミッションが間違っています。
管理画面からパーミッション設定を正しく設定してください。

パーミッションの設定はこちらのページを参照してください。こちらが最新です。
http://sourceforge.jp/projects/zerochplus/wiki/Permission
過去ログ倉庫ディレクトリパーミッション は0.7.4から増えた設定です。

604 :バージョン0.7.4:2013/11/06(水) 19:18:47.51 ID:VeMgMoiI0
[700] template/
[600] *.tt
[600] index.html (403用)

templateフォルダが見当たらないのですが今回からなくなったのですか?

605 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 19:26:36.11 ID:IW9s3PHI0
>>604
今までのリリース分にはもともと無いので無視してください。

606 :名無しさん@ぜろちゃんねるプラス:2013/11/06(水) 19:42:17.66 ID:SBPnhvEk0
すいません少々よろしいでしょうか
今の今まで上の方で説明されたkage機能を使用していたのですが0.74で仕様ががらりと変わってしまったようなのでどうやればいいかわからなくなってしまいました
どうすればいいでしょうか?

607 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 19:49:34.34 ID:IW9s3PHI0
>>606
kage機能はスクリプト本体を改造する必要がなくなり、プラグインのみで実現可能になりました。
以下がそのサンプルプラグインです。
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_sagekage.pl

正味、以下の数行だけで実現できます。
  if ($mail =~ /kage/) {
    # スレッドを一覧の最後に移動する
    $Sys->Set('updown', 'bottom');
  }

608 :名無しさん@ぜろちゃんねるプラス:2013/11/06(水) 20:01:55.94 ID:SBPnhvEk0
す、すごい
ということはIDの置換も本文置換のようにできるということですかね?
サンプルを用意してくれればありがたいです……

609 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 20:04:36.96 ID:IW9s3PHI0
>>608
ID置換もサンプルを用意してあります。
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_myid.pl

610 :名無しさん@ぜろちゃんねるプラス:2013/11/06(水) 20:08:06.03 ID:SBPnhvEk0
すごいな
最後に一つ
一体どこにサンプルが用意されているんですかね?
変更履歴とありますがチケットとかあまり詳しくないので

611 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 20:24:28.23 ID:IW9s3PHI0
>>610
変更履歴はこちらです。
http://sourceforge.jp/projects/zerochplus/releases/59833/changelog
用意したサンプルは、本体を改造していた方が0.7.4にアップデートする際
同様の機能をプラグインで実装しやすいように用意したものです。

612 :名無しさん@ぜろちゃんねるプラス:2013/11/06(水) 20:25:03.77 ID:SBPnhvEk0
>>611
有難うございました!

613 :バージョン0.7.4:2013/11/06(水) 20:27:57.00 ID:VeMgMoiI0

書き込んだレスの内容はindexに反映されていますか?

?[700] perllib/
?[700] */
?[600] *.*
?[600] index.html (403用)

perllibフォルダ700
Cgi
Digest
List
Net

これらの中身のフォルダは700それ以外は600でいいのでしょうか

614 :バージョン0.7.4:2013/11/06(水) 20:29:53.31 ID:VeMgMoiI0
>書き込んだレスの内容はindexに反映されていますか?
反映されています。

615 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 20:29:59.96 ID:IW9s3PHI0
>>613
>フォルダは700それ以外は600
はいそうです。

616 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 20:43:44.77 ID:IW9s3PHI0
>>614
サーバー側の test/module/melkor.pl ファイルを一度ダウンロードして内容を確認してみてください。
247-248行目あたりのバージョンの部分が0.7.4のものになっていますか?
なっていなければアップロードに失敗しているか、あるいはアップロードするファイルを間違えている可能性があります。

617 :バージョン0.7.4:2013/11/06(水) 21:15:57.72 ID:VeMgMoiI0
>サーバー側の test/module/melkor.pl
'VERSION' => '0ch+ BBS 0.7.4 20131106', # CGIバージョン

datas info フォルダ以外は差し替え
Filezillaパーミッションと管理画面のパーミッション正しい数値にしました。
http://sourceforge.jp/projects/zerochplus/wiki/Permission

これ以上どこがおかしいかわからない
ぜろちゃんねるプラス開発@38ちゃんねる バージョンアップできますか
BBS.CGI - 0ch+ BBS 0.7.2 20130511

618 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 21:40:47.21 ID:IW9s3PHI0
>>617
管理画面(admin.cgi)の最下部のバージョン表示はどうなっていますか?
Build Version:0ch+ BBS 0.7.4 20131106

619 :バージョン0.7.4:2013/11/06(水) 21:53:19.67 ID:VeMgMoiI0
>管理画面(admin.cgi)の最下部のバージョン表示はどうなっていますか?
差し替わってないですね
Build Version:0ch+ BBS 0.7.3 20130527

どうすればいいんですか?

620 :0ch+開発担当 ◆0chp.sx.ik :2013/11/06(水) 22:33:31.72 ID:IW9s3PHI0
>>619
そのように表示されている以上は0.7.3のファイルがサーバーにあるはずです。
ファイルを差し替えていたのは別のtestフォルダだった、としか考えられません。
まずは稼働している本物のスクリプトファイルを探してください。

621 :バージョン0.7.4:2013/11/07(木) 00:07:56.10 ID:3+twvMGY0
\test\info\system.cgi

CONFVER<>0ch+ BBS 0.7.3 20130527
VERSION<>0ch+ BBS 0.7.3 20130527

infoフォルダに073が残っていました。
しかしこれを074に差し替えるとAdminログインできなくなる

622 :0ch+開発担当 ◆0chp.sx.ik :2013/11/07(木) 00:26:49.44 ID:/xBiXj760
>>621
なるほど、設定ファイルに0.7.3のバージョン情報が残っていたんですね。
これはほぼ見かけ上の問題なので、おそらく0.7.4へのアップデートはできています。

気になる場合はsystem.cgiのこの行だけを削除してください。
VERSION<>0ch+ BBS 0.7.3 20130527

623 :バージョン0.7.4:2013/11/07(木) 00:56:46.15 ID:3+twvMGY0
個別スレはできました。
トップページはかわらない。
>CONFVER<>0ch+ BBS 0.7.3 20130527
削除してうpしましたがだめでした。

624 :バージョン0.7.4:2013/11/07(木) 01:11:07.99 ID:3+twvMGY0
074Index更新するとできました。
但し「過去ログ倉庫」のみ073
寝よ

625 :名無しさん@ぜろちゃんねるプラス:2013/11/07(木) 19:53:49.45 ID:phmsGDaA0
一つ質問があります
現在強制名無しプラグインを作っていてメ欄に!774:***と打ち込むとそのスレ全部がその名前になるというものを作っていました
しかし、最初のレスは成功するんですが二回目からはなぜかすべて「名無しさん@ゼロチャンネルプラス」と普通の名無しになってしまいます
どのように作ればいいでしょうか?
if ($mail =~ s/!774:(.*)$//g) {
$mac = $1;
$from = $mac;
$Form->Set('mail',$mail,'FROM',$mac);
$Threads->SetAttr($key, '774', 1);
$Threads->SaveAttr($Sys);
}
}
my $nanasi = $Threads->GetAttr($key, '774');
if ($nanasi) {
$text = $mac;
$Form->Set('FROM',$text,);
}


626 :0ch+開発担当 ◆0chp.sx.ik :2013/11/07(木) 20:34:44.34 ID:/xBiXj760
>>624
過去ログ倉庫は全てプログラムの生成物なので再生成しない限り変化しません。
わざわざバージョン表示のためだけに再生成してもメリットは無いのでそのままで問題ありません。

>>625
そのコードの場合、2回目以降は$macを読み込む必要があります。
属性には文字列を渡せるのでこれを利用すると以下のように実装できます。
  if ($Sys->Equal('MODE', 1)) {
    if ($mail =~ s/!774:(.*)$//g) {
      $Form->Set('mail', $mail);
      $Threads->SetAttr($key, '774', $1); # 774属性に名無しを保存
      $Threads->SaveAttr($Sys);
    }
  }
  my $mac = $Threads->GetAttr($key, '774'); # 774属性から名無しを読み込む
  if ($mac ne '') {
    $Form->Set('FROM', $mac);
  }

627 :名無しさん@ぜろちゃんねるプラス:2013/11/07(木) 21:52:55.04 ID:phmsGDaA0
>>626
すいません、それを実行して成功はしたのですが……
ランダム名無しを使用しているのですが名前欄を無記入で書くと名無しさん@ゼロチャンネルプラスになるだけではなく挙句の果てにキャップまで名無しさん@ゼロチャンネルプラスになりました
一体なぜでしょうか?

628 :0ch+開発担当 ◆0chp.sx.ik :2013/11/07(木) 22:06:49.55 ID:/xBiXj760
>>627
プラグインの実行順序を入れ替えて、強制名無しをランダム名無しの前に実行させてください。
プラグイン一覧の「Order」の項目が順序です。

キャップは条件を増やして以下のようにすれば置換されなくなります。
my $from = $Form->Get('FROM');
if ($mac ne '' && $from !~ /★/) {

629 :名無しさん@ぜろちゃんねるプラス:2013/11/08(金) 04:04:57.52 ID:7x5W6zGg0
>>628
そうするとランダム名無しが優先されて強制名無しを実行してもそのままになりませんか?
それと名前欄が名無しさん@ゼロチャンネルプラスは強制名無しを実行していないスレにまで及んでいます
何なんでしょうかこの現象は?

630 :0ch+開発担当 ◆0chp.sx.ik :2013/11/08(金) 12:29:36.48 ID:+gWnMbLk0
>>629
コード中の$keyに値が設定されていない可能性があります。
  my $key = $Sys->Get('KEY');

>ランダム名無しが優先
0ch_774.plのコードを確認してきました。思っていた処理とちょっと違っていました。
確かにそうですね、ランダム名無しの後に強制名無しの順が適切です。

631 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 00:34:16.53 ID:o37m83vc0
>>630
比較演算子であるneを使うとなぜか名無しさん@ゼロチャンネルプラスになるので条件を少し変えたらできました
有難うございました!

632 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 00:38:04.55 ID:o37m83vc0
>>632
それとプラグインを板別に実行することは可能でしょうか?
$Sys->Get('BBS');とかで属性のように実装できるでしょうか?

633 :0ch+開発担当 ◆0chp.sx.ik :2013/11/09(土) 11:55:43.58 ID:GC0gl6dg0
>>632
以下のようにすれば板別の処理ができます。

my $bbs = $Sys->Get('BBS');
if ($bbs eq 'operate') { # operate板
  return 0; # 何もせず終了
} elsif ($bbs eq 'bbs1') { # bbs1板
 
} else { # その他の板
 
}

634 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 12:17:23.71 ID:o37m83vc0
>>633
なるほど
ありがとうございます
管理画面からの板別実行はいつごろ実装する予定なのでしょうか?

635 :0ch+開発担当 ◆0chp.sx.ik :2013/11/09(土) 13:03:38.19 ID:GC0gl6dg0
>>634
予定は特になく、需要と気まぐれに大きく左右されます。

一応以下のようにすればプラグインの個別設定で設定することが可能です。
http://pastebin.com/e5cNa8fv

636 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 13:15:30.83 ID:o37m83vc0
>>635
成程
有難うございました

637 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 13:21:04.13 ID:v8Ixqjjo0
リファラが不正だと書き込めないようですが、それを解除する方法ありますでしょうか?
サイトに直接表示させて書き込めるようにしたいので、そのサイトからのリファラも許可したいと思っています。

638 :0ch+開発担当 ◆0chp.sx.ik :2013/11/09(土) 14:06:52.94 ID:GC0gl6dg0
>>637
「アクセス不正です。このCGIは外部からのアクセスは認めてないです。。」
というエラーが表示される場合は、 BBS_REFERER_CHECKを空白に設定するか、
module/galadriel.pl の sub IsReferer を書き換えてください。
  # http://expample.jp/user1/* を許可
  if ($pENV->{'HTTP_REFERER'} =~ m|^\Qhttp://expample.jp/user1/\E|) {
    return 0;
  }

「フォーム情報が正しく読めないです。」 というエラーの場合はPOSTメソッドを使用するか、
システム設定->その他設定から「GETメソッドを使用する」にチェックを入れてください。

639 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 14:41:00.41 ID:v8Ixqjjo0
>>638
さっそくのご回答ありがとうございます
では一度やってみます

640 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 12:44:01.80 ID:RkPmZa0c0
すいません、ひとつ質問です
現在カラーコードを指定して色を変えるというプラグインを作っているんですがどうも成功しません
y $text = $form->Get('MESSAGE');
if($text=~ /!color:[0-9A-F]{6}(.*?)/){
$text = "<font color=\"\#$1\">$2<\/font>";
}
どうすればできるでしょうか


641 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 12:52:48.08 ID:E50yas7c0
>>640
正規表現のカラーコード部分にもカッコが必要です。
if ($text=~ /!color:([0-9A-F]{6})(.*?)/) {

642 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 12:58:23.40 ID:RkPmZa0c0
は、早い

指摘通りに修正いたしましたがなぜかダメですね
my $text = $form->Get('MESSAGE');
if ($text=~ /!color:([0-9A-F]{6})(.*?)/) {
$text = "<font color=\"\#$1\">$2<\/font>";
}
カラーコードがフォントタグに代入されず
!color:AA9A00てす
と打ち込むと
!color:AA9A00てすとそのまま返ってきます
なぜでしょう

643 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 13:00:24.72 ID:RkPmZa0c0
ちなみに
!color:AA9A00
てす
のように改行をしてもだめでした……

644 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 13:44:46.49 ID:E50yas7c0
>>642
MESSAGEを再設定してください。
$Form->Set('MESSAGE', $text);

645 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 13:45:56.44 ID:E50yas7c0
訂正、今回の場合$formは小文字でしたね
誤 $Form → 正 $form

646 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 14:08:56.51 ID:RkPmZa0c0
https://sites.google.com/site/sourceaaafafsaf/
空白になってしまいました

647 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 15:40:47.59 ID:E50yas7c0
>>646
かなり書き換えてちょっと解りにくくなったと思いますが、こんな感じでどうでしょうか。
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_color.pl

648 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 16:03:12.35 ID:O5v+6ae20
書き込み後の処理で、板のTOPではなく書き込んだスレッドに戻るよう設定したいのですが、どうすればよろしいでしょうか。

649 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 16:22:16.81 ID:E50yas7c0
>>648
まず module/varda.pl の 490行目付近を以下のように書き換えてください。
  # プレビューの表示
  my $datPath = "$basePath/dat/$key.dat";
  $Dat->Load($this->{'SYS'}, $datPath, 1);
  $this->{'SYS'}->Set('KEY', $key);
      ↓書き換え
  $this->{'SYS'}->Set('_KEY', $key);

さらに620行目付近を書き換えてください。
  # 前準備
  my $contNum = $this->{'SET'}->Get('BBS_CONTENTS_NUMBER');
  my $cgiPath = $Sys->Get('SERVER') . $Sys->Get('CGIPATH');
  my $bbs = $Sys->Get('BBS');
  my $key = $Sys->Get('KEY');
      ↓書き換え
  my $key = $Sys->Get('_KEY');

次に bbs.cgi の subPrintBBSJump 内を書き換えてください。
  # PC用表示
  else {
    my $bbsPath = $Conv->MakePath($Sys->Get('BBS_REL'));
        ↓書き換え
    my $bbsPath = $Conv->MakePath($Sys->Get('CGIPATH').'/read.cgi/'.$Sys->Get('BBS').'/'.$Sys->Get('KEY').'/l50');

650 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 17:15:24.62 ID:RkPmZa0c0
>>647
おぉ、すごい
できました、ありがとうございます

651 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 18:26:21.67 ID:4IypCOK60
地域表示プラグインで名前欄記入時に非表示にしたいのですがどうすればいいのでしょうか。
また、非表示と言っておりますが色合わせの関係で</font>タグを埋め込ませたいのです………

よろしくお願いします

652 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 18:40:34.99 ID:E50yas7c0
>>651
sub execute 内の上のほうで以下のような文を加えればいいと思います。
return 0 if ($sys->Get('FROM', '') ne '');

> </font>タグを埋め込ませたい
これについてはよくわからないので、もう少し具体的に説明してください。

653 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 18:46:12.02 ID:i7AvOOU20
そのスレではなく特定のスレを一定書き込みごとに上げるようにするにはやはりプラグインでは不可能なのでしょうか?

654 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 18:47:32.92 ID:4IypCOK60
>>652
ランダム名無しプラグインの方で<font>タグを閉じずに地域表示プラグインの方で閉じるようにしたいのです

655 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 18:56:15.16 ID:4IypCOK60
非表示にした時に開けっ放しを回避したいのです
$form->Set('FROM', $name."</b>(".$area.")<b></font>");
としているのに非表示にすると閉じられなくなってしまうので

656 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 19:20:01.02 ID:E50yas7c0
>>653
不可能とはいいませんが、やはり簡単にはできないでしょう。

>>654-655
それなら、閉じタグを加えるだけのプラグインを作って
ランダム名無し、地域表示、閉じタグ追加の順に実行させればいいのではないでしょうか。

657 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 19:26:41.99 ID:4IypCOK60
>>656
確かにそうですね
やってみます

ありがとうございました

658 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 20:02:46.98 ID:RkPmZa0c0
いちいちindex更新をするのも面倒くさいので自動更新をする方法はありますか?

659 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 20:17:19.21 ID:E50yas7c0
>>658
掲示板のトップページ(index.html)のことなら、システム設定->その他設定から
動作モードの項目の高速書き込みモードのチェックを外してください。

過去ログ倉庫の各index.htmlのことなら0.7.4で自動更新するようにしました。

660 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 20:27:38.03 ID:RkPmZa0c0
>>659
チェックを外していますが自動更新されません……
あれですよ
例えばレスを削除すした後自動で更新されるという

661 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 20:37:53.83 ID:E50yas7c0
>>660
管理画面からレスを削除した時にindex.htmlを更新させるには、
mordor/thread.del.pl の sub FunctionResDelete の最後(returnの前)に以下のコードを加えてください。
  require './module/varda.pl';
  my $BBSAid = VARDA->new;
  $Sys->Set('MODE', 'CREATE');
  $BBSAid->Init($Sys, undef);
  $BBSAid->CreateIndex();
  $BBSAid->CreateIIndex();
  $BBSAid->CreateSubback();

662 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 20:40:04.41 ID:RkPmZa0c0
>>661
できました!
……わがまま言ってあれなんですけど、何かしらの変更が加えられたら自動更新、っていうのはできますかね……?

663 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 20:54:19.83 ID:E50yas7c0
>>662
さすがに今のプログラム構造では難しいと思います。

664 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 20:57:25.77 ID:RkPmZa0c0
>>663
そうですか
有難うございました

665 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 21:16:31.02 ID:O5v+6ae20
>>661
ありがとうございます

666 :名無しさん@ぜろちゃんねるプラス:2013/11/12(火) 19:45:21.80 ID:gHMeDmyM0
いつもお世話になっております。

zerochplus_0.7.4/ r.cgi 内部の、「r.cgi初期化・前準備」147〜150あたりに、
 
 
       my $submax = $oSET->Get('BBS_SUBJECT_MAX') || $oSYS->Get('SUBMAX');
       $Sys->Set('SUBMAX', $submax);
       my $resmax = $oSET->Get('BBS_RES_MAX') || $oSYS->Get('RESMAX');
       $Sys->Set('RESMAX', $resmax);

 
があるために、r.cgi が異常終了しているっぽいのですが。

667 :0ch+開発担当 ◆0chp.sx.ik :2013/11/12(火) 21:03:15.08 ID:gPvrKGyo0
>>666
確かにそうですね、報告ありがとうございます。
$Sys ではなく $oSYS ですね。

668 :名無しさん@ぜろちゃんねるプラス:2013/11/12(火) 21:21:48.52 ID:gHMeDmyM0
>>667
動きました。ありがとうございます。

669 :名無しさん@ぜろちゃんねるプラス:2013/11/12(火) 23:09:47.79 ID:o62Ye5SA0
$Sysと$oSYSとがあって紛らわしいですよね。

305KB
READ.CGI - 0ch+ BBS 0.7.5 20220323
ぜろちゃんねるプラス