トップページphp
1001コメント413KB

【 スクリプト改造工房 PART 5 】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/08/01 18:19ID:???

#================================
# スレッドの説明
#================================

「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り

#================================
# 過去のスレッド
#================================

【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0269nobodyさん02/10/25 01:40ID:???
>>268 以下の2行をコメントしすればいいかも

    if ($ip eq $ips)
        { &html_list; &html_main; exit; }
027026902/10/25 01:41ID:???
追記:
51・52行目
027126802/10/25 07:48ID:???
>268=270
うまくいきました!
今、テストして動作も確認しましたが、問題ナシです。
教えて下さってありがとうございました。
0272nobodyさん02/10/25 17:30ID:LJRnzKMg
ealisっていう掲示板に2ch風のトリップ機能とアイコンウプロダ付けたいんですが
詳細キボンヌ
スクリプト配布場所↓
http://kano.feena.jp/erial/
0273nobodyさん02/10/25 18:17ID:???
はい、次〜
0274nobodyさん02/10/25 23:21ID:HxbWw97s
>>272
ソース落とすのめんどくさいんでどっかにテキストで上げれ。

トリップ部分のサブルーチンはこんなんで。
デコードの後ろあたりに変数名変えて入れりゃいいかと。
sub make_trip{
$name =~ s/◆/◇/g; #偽者対策

$k = substr($name,index($name,'#')+1);
$s = substr(substr($k,0,8).'H.', 1, 2);
$s =~ s/[^\.-z]/\./go;
$s =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$t = substr(crypt($k, $s), -8);
$name =~ s/#(\S+)/<\/b> ◆$t <b>/g;
}
0275nobodyさん02/10/25 23:52ID:???
粘着にマジレスか。おめでてぇな。
0276nobodyさん02/10/26 12:36ID:euzUnDiz
The RoomさんのCGIにkentさんのCGIのようなメール送信機能をつけたいんですが何処をどうすればいいか教えてください。
今のログを残したいのでこのCGIに送信機能をつけたいんです。
http://www.starcity.ne.jp/~ars/cgi-bin/0test/treebbs.txt←ソースです

よろしくお願いします。
0277nobodyさん02/10/26 18:39ID:???
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/ にあった、
pastlog.cgiというスクリプトを使っています。
表示対象外の拡張子や表示対象外のブラウザは設定できるようになって
いるのですが、対象外のIPを設定できません。
元ソース↓
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html

#対象外IP
@extip = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');
は埋め込んでみたのですが、どこで対象外を判断したらいいものか
判りません。
アドバイスお願いします。
027827702/10/26 19:25ID:M0gOphaS
>>276
print "<div align=center><br>以下の記事を書き込みました。〜
の近く(少し前とか少し後とか)で&adminmalを呼んでください。超適当だけど。

sub adminmail
{
$sendto = 'xxxx@xxxx.ne.jp'; # 宛先
$sendmail = '/usr/sbin/sendmail';# sendmailのパス

if (open(MAIL,"| $sendmail -t"))
{
print MAIL "To: $sendto\n";
print MAIL "Subject: [mail from treebbs]\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "-----------------------------------\n";
print MAIL "TIME : $nowtime\n";
print MAIL "NAME : $name\n";
print MAIL "SUBJECT : $subject\n";
print MAIL "MAIL : $mail\n";
print MAIL "URL : $url\n";
print MAIL "DELKEY : $delkey\n";
print MAIL "A3 : $a3\n";
print MAIL "IP : $ip\n";
print MAIL "HOST : $host\n";
print MAIL "MESSAGE :\n";
print MAIL "$msg\n";
close(MAIL);
}
}
027927602/10/26 20:03ID:euzUnDiz
できました〜ありがとうございました。
0280nobodyさん02/10/27 00:26ID:vhLCr/NY
>>277
表示対象ログ抜き出し
のあたりじゃないかな。

試してないけど。
028127702/10/27 12:45ID:ie8xxqvt
280さん、レスありがとうございます。
PartGet(表示対象ログ抜き出し) の中にロジックを追加してみたのですが、
  if ( $brw =~ /$exip/ )
のところで、何を指定したらIPになるのか、どうも判りません。

#対象外IP
@exips = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');

sub PartGet{
for ($i = $lnum; $i < $lognum; $i++){
 $rec = @inrec[$i];
 my @ldata = split(/\"/,$rec);
 my ($method,$file) = split(/ /,@ldata[1]); # メソッド,アクセスファイル
 my ($dmy,$cd) = split(/ /,@ldata[2]); # apacheのコード
 my $brw = @ldata[5]; # ブラウザ

 # 指定IPアドレスを無視を無視 ※ここから追加※
 $flg = 1;
 foreach $exip (@exips){
  #※↓ $brwじゃなくて、何を指定していいのかわかりません ※※
  if ( $brw =~ /$exip/ ){
    $flg = 0; # 対象外IP
    last;
  }
 }
 if ( $flg == 0 ) { next;}

オリジナルソース http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html
0282nobodyさん02/10/27 12:56ID:???
>>281
@exips= (); ←このリストに指定したいIPを追加するんじゃない?

一応、以下の行は変更したほうがいいのでは?
if ( $brw =~ /$exip/ ){ ⇒ if ($brw=~ /^\E$exip\Q$/){
028328202/10/27 12:57ID:???
逆だった

if ($brw=~ /^\Q$exip\E$/){
0284277,28102/10/27 13:16ID:???
282さん、レスありがとうございます。
$brwにはブラウザが入ってしまうので、(ソースのコメントに
書いてありました)
$brwの換わりに別な変数を作って比較元のIPを入れなければ
ダメなようです。でもそこがわからない・・・。
正規表現については、勉強し直します。
028528202/10/27 13:36ID:???
>>284
あー、そういうことか・・・

$brw の代わりに $ENV{'REMOTE_ADDR'} でどう?
028627702/10/27 14:23ID:ie8xxqvt
282さん、うまく説明できなくて申し訳ありません。
お付き合いありがとうございます。

$ENV{'REMOTE_ADDR'}はCGIにアクセスした人のIPですよね。
apacheの生ログから必要な行だけ取り出すCGIなので、現在CGIにアクセス
したIPじゃなくて既にログに記録されてるIPを取り出そうというところで
混乱しているところです。
apacheの解説のサイトに逝ってきます。
0287nobodyさん02/10/27 23:02ID:???
http://www.big.or.jp/~talk/t-club/soft/mini_r6/imgboard_n.cgi
このあぷろだなんですが
CGIで表示した時にUPされたままの画像が表示されます
これはちょっと回線がつらいんで
UPされたら自動でサムネイルを作成させたいとおもうんですが
そういう改造って簡単にできますか?
028828702/10/27 23:19ID:???
それかjpeg/gif/pngをリサイズして保存させる
ライブラリー無いでしょうか?
0289nobodyさん02/10/28 01:09ID:7x9qSZkS
現在の閲覧者を得るにはどうすればいいの?
0290nobodyさん02/10/28 01:59ID:QQJw3Q/J
ちっこいウィンドウがいっぱい出てきて止まらなくなる奴教えて!
0291その302/10/28 10:32ID:0jGJU7lS
>>288
RedHat Linux(i386)用ならCでコンパイルしたのがある。
0292その302/10/28 10:46ID:???
>>288
http://fitness.s7.xrea.com/index3.php
からダウソしてjpegなら

$Sorce_File = "img-box/img123456789.jpg"; #元画像名
$Destination_File = "thumbnail/img123456789.jpg"; #縮小画像名
$Resize_Ratio = 0.5; #半分に縮小
system("./rejpeg $Sorce_File $IDestination_file $Resize_Ratio");

みたいに使う。
0293nobodyさん02/10/28 16:32ID:???
>>290
立ち去れ
029428802/10/28 23:45ID:???
>>291 292
どもありがとうございます。
できたみたいです。

あと同じCGIなんですが
投稿順にならべるっていうのがあるんですが
最新3つしか投稿順になりません
どこをいじれば全部にちゃんねるみたいな
最終投稿順になるんでしょうか?
0295nobodyさん02/11/01 14:47ID:OCxiXTU1
http://www.nurs.or.jp/~b3/
ここで配布してる
サンプル↓
http://www.nurs.or.jp/~b3/styx/styx/styx.cgi
ダウンロード↓
http://www.nurs.or.jp/~b3/cgi/txcount/dlcount.cgi
この掲示板cgiに串規制を入れたいのですが、
ソースをみたら沢山のファイルに分かれていて
どの辺に入れたら一番よいのかいまいちわかりません。
一応KENTのcgiは解説サイトとか見ながらいじったことありますが
このcgiは見たこと無い記述も多くて判りにくいです。

どの辺をいじればいいのかのヒントだけでも良いので教えてください。
お願いします。

それとこのcgiで良く出てくる::というのと、冒頭のuse vars、
この辺のがなんとなくわかりそうでわかりません。
検索して調べているのですが難解なサイトが多くて困ってます。
わかりやすい参考になるサイトとかあったら教えてください。
0296_02/11/02 03:40ID:???
検索してたらPART1のキャッシュが見付かった
http://mimizun.mine.nu:81/2chlog/perl/tako.2ch.net/perl/dat/958370869.html
0297nobodyさん02/11/04 07:28ID:5+umhhBG
>>295
だから

ダウンロードしなくても済むようにテキストでソースうpして張れと何度言ったら判るんだぁこのバカチンがぁ!
029829702/11/04 07:37ID:5+umhhBG
>>295
でただ串規制といわれると読みこみも規制するのか
書き込みだけ規制するのかわからないけど、
普通に考えて書き込みだけ規制するとしたらpost.plのなかの
sub host_readのなかでいいんでない?串規制にもいろいろあるけど。
0299nobodyさん02/11/04 11:10ID:???
>>289
http://isweb23.infoseek.co.jp/play/cardplay/cgi-lab.shtml
ココに現在の訪問数を表示するCGIってのがあった。
しょうも無いクソみたいなヤシばっかしだったけどゴミ箱にはワラタ。
030029502/11/04 21:55ID:???
>>298
この連休中でいろいろ調べてやってみてますた。
処理の流れがなかなかわからなくて、しらみつぶしに見ていって
多重投稿を禁止するルーチンがあったのでその辺からいじってみてます。

>>297
こーいうファイルがいくつにも分かれているcgiはどうするのが一番よいのでしょうか?
0301あい02/11/04 23:06ID:G/C4foN1

携帯用のランキングCGIプログラムを捜しています。
何卒お願いします。
0302nobodyさん02/11/04 23:09ID:???
>301

ここにもいたか!
マルチはウザイんだよ!
0303冗談解らないnobodyさんへ02/11/04 23:22ID:G/C4foN1
携帯用のランキングCGIを捜しています。
何卒お願いします。
0304 ◆CxWBqy7wZQ 02/11/05 18:29ID:???
303>>CGIスクリプトを検索できるサイト、探せばいくつかあるよ。
いってみたら。
0305nobodyさん02/11/05 19:12ID:???
携帯だぞ、携帯
アフォじゃねぇのか?

マルチは無視しろよ。
0306nobodyさん02/11/05 22:03ID:5STybYDn
KENT WEBのチャットは、入室しているときのフレームと投稿フォームをローカルに保存してちょっと改造すれば、それを使って投稿できますよね(説明が下手ですみません)
その投稿フォームの中に書いてある
「<option value="#RRGGBB">」などを
「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。
それができないようにしたいのですが、うまくいきません。

ワイワイチャット(ttp://kent-web.com/chat/yychat.html)を例に、改造方法を教えていただけないでしょうか?
030730602/11/05 22:05ID:???
ちょっと文字参照の使い方を間違えました…
> 「<option value="#000000 style=&"font-size:2em&"">」のようにすれば、CSSが使えてしまいます。
ではなくて
> 「<option value="#000000 style=&quot;font-size:2em&quot;">」のようにすれば、CSSが使えてしまいます。
です。

よろしくお願いします。
0308nobodyさん02/11/05 22:20ID:???
>>306
最新バージョンでは使えないんじゃない。
s/&/&amp;/
030930602/11/05 22:45ID:???
>>308さん
ありがとうございます。
> s/ //g
> s/&/&/g
で解決したようです(これを、上下逆にしてしまったらいけませんけど)
0310nobodyさん02/11/07 19:15ID:wiJfESIx
質問させていただきます。宜しくお願いします。

ttp://www.kent-web.com/chat/robo.html
(スクリプト説明)

ttp://www.kent-web.com/chat/robo/robo.gif
(チャット画面サンプル)


↑この人工知能型チャットスクリプトを、フレーム表示ではなく、
 一画面に発言フォームとログが出るように作り直したいんです。

簡単なHTMLなら書けるし、BBSの背景色を変える程度のCGI改造なら出来るので、
わかるかなーと思ってソースを見てみましたが、さっぱり分かりません。
どこをどう書き直したら、フレーム表示ではなく、一画面表示となるでしょうか?
031131002/11/07 19:21ID:wiJfESIx
>>310
怪しいなと思っているのは、以下の部分なのですが、src以下がURLでは無いので、
フレームを解除した時にどう書くべきなのかが分からないんです。

#------------------#
# フレームを生成 #
#------------------#
sub frame {
# クッキーを取得
&get_cookie;

# クッキーにリロード時間/行数のない場合は初期値を代入
if ($ck{'retime'} eq "") { $ck{'retime'} = $re_sec; }
if ($ck{'line'} eq "") { $ck{'line'} = $line[1]; }

&header;
print <<"EOM";
<frameset rows="147,*">
<frame name="form" src="$script?mode=form&retime=$ck{'retime'}&line=$ck{'line'}">
<frame name="log" src="$script?retime=$ck{'retime'}&line=$ck{'line'}">
<noframes>
<body>
フレーム非対応のブラウザの方は利用できません
</body></noframes>
</frameset>
</html>
EOM
exit;
}
031231002/11/07 19:26ID:wiJfESIx
>>310
スクリプトのtxt版はここにあります。

ttp://www.devicestyle.co.jp/robo.txt

よろしくお願いします……
0313nobodyさん02/11/07 19:32ID:???
とりあえず動けばいいって感じで
#============#
# 設定完了 #
#============#

$string = &decode;
&deny;
#if (!$string) { &frame; }-----------------削除またはコメントに
if ($mode eq 'form') { &form1; }
if ($mode eq 'into') { ®ist('into'); }#-----変更
if ($in{'comment'} && $mode eq 'msg') { ®ist('comment'); }
if ($mode eq 'bye') { &byebye; }
&form2;#---------------------------追加
&log_view;
0314続き02/11/07 19:36ID:???
#----------------------------#
# フォーム2 : 発言フォーム #
#----------------------------#
sub form2 {
#®ist('into');-------削除またはコメント

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

print "発言自動消去</td></form></table>\n";#</body>\n</html>\n";--変更
#exit;--------------------削除かコメント
}

#--------------#
# 記事表示部 #
#--------------#
sub log_view {
#&header;----------------削除かコメント

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以上
0315続き02/11/07 19:37ID:???
最初の入室時のみ
robo.cgi?mode=form
でアクセスしないといけない。
0316続き02/11/07 19:38ID:???
® = &reg です。
0317bery02/11/07 20:34ID:jtBNkMoC
はじめまして、わからないことがあったので質問させて頂きます。

ttp://mo-mo.vis.ne.jp/1sample/t/ud_meisai/mo-erv002.cgi(設置例)

ttp://mo-mo.vis.ne.jp/cgiskin/bbs/mo-erv002pkm.htm(↑の説明)


この背景(画像)を表示を一個でスクロールしないようにしたいのです。
HTMLならできるんですが…CGIでやってみようにも全くわかりません。
コメント記入部の方(左)側の画像はフレームの中央部。
右のログ表示部分はフレームの左上部分に画像を表示したいんです。

CGIでは無理なのでしょうか…?
0318nobodyさん02/11/07 21:51ID:LYTlqOr8
>>317
それはCGIの改造ではなくCSSだろ?
0319bery02/11/07 23:02ID:jtBNkMoC
あ、そうなんですかすみません(^^;
そちらの方で質問してみます…
032031002/11/07 23:56ID:Tm6hHAQP
>>313-316
ありがとうございます!

すみません、確認させて頂きたいんですが、
書いて頂いたスクリプトの中の「?」はそのままでいいんでしょうか?
(例:>313の「$string=?」等)

それと、初心者で申し訳ないんですが、
>>316の意味が分かりませんでした。

頂いたスクリプトを、そのまま該当箇所にコピペしてみましたが、
internal server errorが出てしまいました。
0321nobodyさん02/11/08 03:36ID:KKJBpaNF
皆様はじめまして、とほほさんのwwwserch.cgiについて質問させてください。
現在wwwserchを実際に稼動しているのですが、
データ量が多くなるにつれ表示件数が膨大になって困っています。
そこで表示結果を分割して表示させたいのです。
(10件ずつ表示して「次へ」のリンクで次の10件を表示といった感じで・・)
このような事は可能でしょうか?
可能なら何処をどのように改造すれば良いかお知恵を拝借させてください。。
なんとか自力でしようと頑張ってみたもののサッパリで・・
宜しくおねがいします。。

此方にソースをtxtでアップしてみました↓
http://www.geocities.co.jp/Milano-Kotto/1097/wwwsrch.txt
032231002/11/08 11:04ID:By9No9AA
>>313-316
このスクリプトを書いて下さった方、まだ見てらっしゃいますか?

>>320
の質問にお答え頂けると助かります……
厚かましくてすみません。
0323 02/11/08 11:46ID:???
これは本当らしいです。かなり選ぶのに参考になります。
ttp://isweb19.infoseek.co.jp/computer/atkinson/atkinson/osusume_book_ryouhou.htm
0324続き02/11/08 16:36ID:???
>>322
何か&が参照されちゃって、もう一回
#============#
# 設定完了 #
#============#

$string = &decode;
&deny;
if (!$string) { &form1; }--------------------変更
#if ($mode eq 'form') { &form1; } ------------削除またはコメントに
if ($mode eq 'into') { &regist('into'); }#-----変更
if ($in{'comment'} && $mode eq 'msg') { &regist('comment'); }
if ($mode eq 'bye') { &byebye; }
&form2;#---------------------------追加
&log_view;
0325続き02/11/08 16:39ID:???
あとフォーム2で
target="log"
を削除する。(リロードのたびにウィンドウが開くため)
とりあえずなのでHTMLは変です。(</head>が2個になったり)
032631002/11/09 12:28ID:oFTHMvgO
>>324-325
四苦八苦しながらやってみたら、一画面で動きました!
とりあえず使う分には問題なさそうなので、HTMLの変な所は気にしないことにします。
どうもありがとうございました!
0327nobodyさん02/11/09 20:34ID:???
あの・・・マジで質問です
kent-webのaska.cgiにひみこーどをつけようと思うんですが
ほかの場所はうまくいったんですがここだけわからないんですよ
書き込み処理部分に

{ # 対フェイザーオンの場合は実際に発行されたコードかどうか照合
if ($FORM{'facheck2'} eq '') { &error('チェックコードエラー',"投稿コードが入力されてません(^^;;");
}
$dukecheck = $FORM{'facheck2'} . $FORM{'facheck3'};
if ( !open(DB,"$himicode_log") ) { &error('0'); }
@lines = <DB>;
close(DB);
$himikocheck=0;
foreach $line (@lines) {
chop($line);
if ($dukecheck eq $line) {
$himikocheck=1;
}
}
if ($himikocheck != 1) {
&error('x');
}
}
っていれたら、いくらひみこーどがあってても
チェックコードエラーってでてしまうんですよ
誰か教えてくれないでしょうか?
0328nobodyさん02/11/09 22:58ID:Y+NUqAmE
>>327
ウザイ
自分で考えろや豚野郎
二度と書き込むなボケ
0329perlド素人02/11/09 22:58ID:???
17氏スクリプトにdame処理を追加したいんですけど、
まったくわかりません…
どなたかやってみたことある方いらっしゃいますでしょうか?


…厨房質問なのでsage
0330nobodyさん02/11/10 00:06ID:???
>>329
おんぷちゃんねる
0331nobodyさん02/11/12 06:24ID:zpgICSVI
295のところにあったのですが
ttp://www.nurs.or.jp/~b3/scripts/proxy/
これを複数クライアント対応にできないでしょうか?
これを置いてあるところでは
数行書き換えるだけでできると書いてあるのですが
さっぱりわかりません・・・

これはperl串というものになるのですか?それともCGI串なのでしょうか。
ソースはリンク先に直接はってあります。
おながいします。
033233102/11/12 18:29ID:kBSIdPWX
説明が足りなかったようなので書き直します。
http://www.nurs.or.jp/~b3/scripts/proxy/
ここにある、CGI proxy(?)についてです。
リンク先に、ソースがそのまま貼ってあります。
多分100行無いと思います。

これは、IPが一致した一人のクライアントしか受け付けないのですが
これを複数のクライアントが接続できるようにしたいです。
forkしたあと、クライアント受付をすればよいのかもという所までは
思いついたのですが、どうすればよいのかわかりません。

教えてください。お願いします。
0333nobodyさん02/11/13 02:29ID:???
>>331
何に使うわけ?
ただ「串」という言葉に惹かれてるだけっぽいが。w
033433102/11/13 03:44ID:bEkh+4n6
>>333
そういうCGIを見つけたのは初めてなのでやってみたいだけという気持も大きいですけどw
ircで使えるみたいなので使おうかと。
0335nobodyさん02/11/13 03:58ID:???
自己責任でどうぞ。
0336nobodyさん02/11/14 00:25ID:???
kentさんのところのCGIなんですが
ttp://sugachan.dip.jp/img/imgboard.cgi
の一番下のように 10枚よりも多い場合は >>で最終ページに
飛ばせるようにするにはどうすればいいんでしょうか?
0337nobodyさん02/11/14 00:57ID:???
>>336
kentさんのところのCGIは、1個しかないの?
0338nobodyさん02/11/14 01:14ID:???
えっと もともとはJoyful NoteでもYYBBSでも
ページの枚数分だけ
出てきちゃいます
20ページ分のログがあったら
[1][2][3] 〜〜〜〜[18][19][20]
ログがたくさんあるとうっとうしいので
この表示そのものを消すことも考えたんですが
やっぱりあったほうが使いので
よろしくおねがいします
0339nobodyさん02/11/14 01:32ID:???
>>336
ところでそのURL
本当にKENTのなのか?
0340nobodyさん02/11/16 17:56ID:25GjLFjs
掲示板で、行頭に> があるとき、<blockquote>〜</blockquote>で
囲む方法を教えてください。
なるべくなら行頭に>がある複数行をまとめてくくりたいのですが。
0341nobodyさん02/11/16 23:16ID:???
$FORM{'comment'} =~ s/(<br>|^)(((&gt;|>)(?!&gt;[0-9]).*?<br>)+)(?!(>|>))/($_ = "$1<blockquote>$2") =~ s!^(.*)<br>$!$1!; "$_<\/blockquote>";/ge;

改行は既にbr,>は既に&gt;になっていると仮定して。
2ch式の>>1とかいうのを引用にしないようにというのも考慮。
だれかもっとスマートな方法ないですか?

実体参照どうなるのか知らないので&を大文字で書いておきました。

#なんかime.nuから飛んでくるし、うちのサイトにこの板のコピペでの書き込みが
#あったので見に来たら、これのスレに漏れのサイト載ってた・・・
0342nobodyさん02/11/16 23:21ID:???
あ、一箇所>になっちゃってる、&大文字にするの忘れた。
034334002/11/17 14:13ID:NOOOaxSv
>>341さんthaxx!!
0344_02/11/17 15:17ID:???
>>332
串ならそこら辺に売ってますが?
そんことも解らないスキルで串なんてほざくんじゃねぇ。
0345test ◆wSaCDPDEl2 02/11/18 00:06ID:???
YYBBSにトリップ昨日をつけたいのですが・・・
挫折。
わかる方宜しくおねがいします...
0346nobodyさん02/11/18 08:16ID:???
>>345

>>274のサブルーチンを一番下にでも追加。
あとは書込処理の所に
&make_trip;
とフォーム入力チェックの下にでも追加すればできると思われ。
0347nobodyさん02/11/18 14:19ID:???
>>345

どこかに書いてあった。
過去ログにもあるのでとりあえず読めと言いたいが、親切な漏れはその内容をコピペする。

$name = "名無し#hogehoge";
$name =~s/#(.*)$/trip($1)/eg;
print $name;

sub trip {
my $str = shift;
my $salt = substr($str, 1, 2);
$salt =~ tr/\x00-\x20\x7B-\xFF/./;
$salt =~ tr/\x3A-\x40\x5B-\x60/A-Ga-f/;
return ' </b>◆' . substr(crypt($str, $salt), -8) . '<b>';
}

後は自分で考えろ!ヴォケが!!
0348test ◆wSaCDPDEl2 02/11/18 23:48ID:???
345でつ。
過去ログ漁ってませんでした(汗
激しくスマソ。

あと、良かったらWebPatioの奴記事の表示部分なんですが
Page: [1] [2] [3]
とか普通に移動メンドイんですょ・・
全部とかつけたいんですけど Doすれば・・・・
0349test ◆wSaCDPDEl2 02/11/18 23:48ID:???
あ、あげさせて下さい
0350nobodyさん02/11/19 18:14ID:/Dv7gUEP
もしがいしゅつでなければ教えてもらえる?
今日本屋で掲示板リデザインとかって新刊があって、
それにちらっと載ってた。
うろ覚えなんだけど、

$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';

if ($newtime >= ($time - $xtime)) { $vnewimg = $newimg } else { $vnewimg eq '' }

で、$time エポック秒を入れて、投稿時間(秒)の $xtime との差が指定の $hewtime より
大きいか小さいかで表示の有無を決定するらしい。
問題はエポック秒と投稿時間(秒)をどうやって取得するか。

kentのpetitbordで親投稿とレスにそれぞれ新着マークを表示させたいと思ってるので
ヒマか、ヒマじゃなくても物知らずにちょっと教えてやっかと思う有志がいればお願い。
0351nobodyさん02/11/19 18:17ID:/Dv7gUEP
$newtime = '60 * 60 * 24';

ってのはたしか60秒×60で1時間、それに×24で一日という設定。
0352nobodyさん02/11/19 18:32ID:???
petiboardのログに投稿時間がどういう形式で記録されているかですな。
あと
× eq
○ =
0353nobodyさん02/11/19 18:43ID:???
>>350
KENTのログは
$date = '2002/11/19 (火) 18:30';
みたいにして記録されてるから処理がめんどくさいな
0354nobodyさん02/11/19 18:49ID:/Dv7gUEP
>>352
えーと sprintf でフォーマットされてログに入るみたい。
このときフォーマットしない投稿時間(エポック秒)を一緒に非表示でログに記録して、
それとリアルタイムの比較するってのは無理かな?

>× eq
>○ =
指摘感謝。
0355nobodyさん02/11/19 18:50ID:/Dv7gUEP
>>353
>>354みたいなのはダメかな?
素人考えなんで問題外だったらスマソ。
0356nobodyさん02/11/19 22:42ID:???
epoch取得は
$hoge = time;
そういえばもう9桁じゃないんだね。。
0357nobodyさん02/11/20 03:03ID:XwDH5ZL+
$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';
$hoge = time;

if ($newtime <= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }

あとは$xtime(ログのエポック秒)を取得出来ればいいということですか?
>>353のお話だと面倒なようですが、なにか手があったら教えて下さい。
0358nobodyさん02/11/20 08:15ID:???
>>354の方法が一番いいと思う
0359nobodyさん02/11/20 12:42ID:bO+exC+I
>>358
了解です。

問題はどうやって比較するかなんですが、
この時点で俺の知識は限界です。
アイディアを出してくれる方がいたらお願いします。
0360nobodyさん02/11/20 13:05ID:???
こういうこと?

use Time::Local;
$date = '2002/11/19 (火) 18:30';
($year, $mon, $mday, $hour, $min)= $date=~ m!(\d+)/(\d+)/(\d+)\D+(\d+):(\d+)!;
$year-= 1900; $mon--;
$xtime= timelocal(0, $min, $hour, $mday, $mon, $year);

$newtime = '60 * 60 * 24';
$newimg = '<img src=./gazou/new.gif>';
$hoge = time;

$vnewimg= $newtime <= $hoge - $xtime ? $newimg : '';
0361nobodyさん02/11/20 14:56ID:bO+exC+I
エポック秒をログに書き込ものはたとえばpetitだから色変更機能を取っ払うつもりで
$colorのところに$xtime(投稿時間)を書き込んめばログに10桁のエポック秒が入って、
あとはそれをどうやって$xtimeの変数に戻して
if ($newtime >= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
を成立させるかってところですか?
0362nobodyさん02/11/20 16:48ID:???
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0363nobodyさん02/11/20 16:55ID:VyhcjvPU
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0364nobodyさん02/11/20 16:56ID:???
upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
0365nobodyさん02/11/20 16:56ID:VyhcjvPU
すみません、なぜか作業中で投稿できなくなってしまったので
いろいろ試している間に投稿されてしまいました。すみません(;´Д`)
0366本件ですが・・・02/11/20 16:57ID:???

book-iの様なURL転送サービスのスクリプトを探しているのですが、どこかのシェアウェアらしいと言うことが分かりました。
なので自作したのですが、どういう風にすればいいか分からなくなりました。
アドバイスをお願いできないでしょうか?
0367nobodyさん02/11/20 17:05ID:aDlw2kvx
>>366
book-iってどこよ?
でURL転送サービスのスクリプトってのは転送する部分がほしいのか?
それとも転送サービスを受け付ける(ユーザ登録)システムがほしいのかどっちだ?
0368nobodyさん02/11/20 20:20ID:DRRYVgUE
失礼致します。一度CGI探してますスレに書き込みましたが
反応が無いので思い切って自分でやってみる事にしました。
http://www.appleple.com/cgi/ で配布されている a-News
というスクリプトを完全なテンプレートにしたいのですが
どこを変えていいのか解りません。宜しければご教授下さい。

メインスクリプト
http://mad_berry.tripod.co.jp/a-news.txt
セットアップデータ
http://mad_berry.tripod.co.jp/setup.txt
テンプレート
http://mad_berry.tripod.co.jp/template.txt
■ このスレッドは過去ログ倉庫に格納されています