【 スクリプト改造工房 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化済み)
0353nobodyさん
02/11/19 18:43ID:???KENTのログは
$date = '2002/11/19 (火) 18:30';
みたいにして記録されてるから処理がめんどくさいな
0354nobodyさん
02/11/19 18:49ID:/Dv7gUEPえーと sprintf でフォーマットされてログに入るみたい。
このときフォーマットしない投稿時間(エポック秒)を一緒に非表示でログに記録して、
それとリアルタイムの比較するってのは無理かな?
>× eq
>○ =
指摘感謝。
0356nobodyさん
02/11/19 22:42ID:???$hoge = time;
そういえばもう9桁じゃないんだね。。
0357nobodyさん
02/11/20 03:03ID:XwDH5ZL+$newimg = '<img src=./gazou/new.gif>';
$hoge = time;
if ($newtime <= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
あとは$xtime(ログのエポック秒)を取得出来ればいいということですか?
>>353のお話だと面倒なようですが、なにか手があったら教えて下さい。
0359nobodyさん
02/11/20 12:42ID:bO+exC+I了解です。
問題はどうやって比較するかなんですが、
この時点で俺の知識は限界です。
アイディアを出してくれる方がいたらお願いします。
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$colorのところに$xtime(投稿時間)を書き込んめばログに10桁のエポック秒が入って、
あとはそれをどうやって$xtimeの変数に戻して
if ($newtime >= ($hoge - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
を成立させるかってところですか?
0362nobodyさん
02/11/20 16:48ID:???0363nobodyさん
02/11/20 16:55ID:VyhcjvPU0364nobodyさん
02/11/20 16:56ID:???0365nobodyさん
02/11/20 16:56ID:VyhcjvPUいろいろ試している間に投稿されてしまいました。すみません(;´Д`)
0366本件ですが・・・
02/11/20 16:57ID:???book-iの様なURL転送サービスのスクリプトを探しているのですが、どこかのシェアウェアらしいと言うことが分かりました。
なので自作したのですが、どういう風にすればいいか分からなくなりました。
アドバイスをお願いできないでしょうか?
0367nobodyさん
02/11/20 17:05ID:aDlw2kvxbook-iってどこよ?
でURL転送サービスのスクリプトってのは転送する部分がほしいのか?
それとも転送サービスを受け付ける(ユーザ登録)システムがほしいのかどっちだ?
0368nobodyさん
02/11/20 20:20ID:DRRYVgUE反応が無いので思い切って自分でやってみる事にしました。
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
0369test ◆wSaCDPDEl2
02/11/20 22:05ID:???#============#
# 設定完了 #
#============#
# メイン処理
&decode;
&make_trip;
&axs_check;
if ($mode eq "howto") { &howto; }
elsif ($mode eq "find") { &find; }
.............
&html_log;
..................
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;
}
#-----------------#
# URLエンコード #
#-----------------#
sub url_enc {
0370test ◆wSaCDPDEl2
02/11/20 22:06ID:???YY-BBSがベースの掲示板に↑のようにやりましたが・・・。
テスト#test
などと投稿しても
そのままになってしまいます。
変数名などの変更する箇所とか挿入箇所が
間違ってますか?・・・
0371nobodyさん
02/11/20 23:32ID:3WorW1PEranklinkで
inページ、新着ページ等が作られていきますが
inページで順位の隣りに(位)と出したのですが
新着ページにも反映されてしまい、新着ですと
例=11/20位
の様になってしまいます。
どうか先輩方お知恵を下さい。
0373nobodyさん
02/11/21 08:34ID:Ht8hmAkYKENTのForm デコードは
$in{'hogehoge'}
だよ。
0374nobodyさん
02/11/21 14:37ID:???http://www.google.com/search?num=1&q=book-i+jump
上記のサイトです。nifty等と同じで書き込み禁止の文字らしいので、
直接リンクが張れないのですが・・・
転送する部分は
ttp://upload.s21.xrea.com/cgi-bin/upl/file/1037525517.txt
このようにして、htmlファイルを作成しようと思っています。
ユーザ登録システムを作りたいのですが、これから何をしていいか
分からなくなってしまって・・・
スキルが足りないね。
書籍買って読めよ。
0376nobodyさん
02/11/21 21:21ID:qQxlYNfmttp://genesis.vis.ne.jp/
こちらで配布されているCHAMELEON BOARDを、
レスが付いたら親記事ごと一番上に表示するようにしたいです。
お手数ですがご教授宜しくお願いいたします。
0378nobodyさん
02/11/22 17:52ID:JgWrpTOL設定変更用のシステムとか作ればいいんじゃないの?
ていうか、自分がそういうサービスを利用する上でほしい機能を作っていけばいいじゃん。
あと表示だけじゃなくメールで設定情報は送ってあげたほうが親切かもな。
0379376
02/11/22 22:42ID:???レスどうもです。
やっぱり駄目そうですか・・・。
素人考えで155行目からの
foreach (@lines) {
($no,$number,$title,$name,$mail,$url,$comment,$del,$date,$icon,$color) = split(/<>/,$_);
if ($number eq '0') { push(@line,"$_"); }
}
ここに追加すりゃなんとかなるかなと思い触ってたんですけど、
自分自身のperlの知識が浅すぎてどうにもならなくなってます。
0380nobodyさん
02/11/22 23:40ID:???それってさ、RES投稿を確認してRES対象の親記事のNOが付いている親記事自身とその親記事に今までに付いたRES記事を取り出してその一番下にRES投稿の記事をくっつければいいんじゃないの?
で、取り出すときに関係ない他の記事は@oldかなんかに突っ込んどいて保存する時に新記事郡、旧記事郡の順で書けば実質一番上に来た事になるけど、プログラム自体を見てない漏れには解りません。
まぁ頑張れや。
0382神さまおながいします
02/11/23 20:45ID:???ttp://you-make.com/Mz-World/MAL/cgi-bin/cf/kboard.cgi
このタイプなんですが、全体のフォントの書式を変える事は出来ないのでしょうか?
グーグルで色々調べたのですが、素人全開のため良く分かりませんでした・・。
どうか御知恵を貸して頂けないでしょうか?宜しくお願いします。
一応テキストにしてUPさせていただきました。
http://members.tripod.co.jp/kamisamaonagaisimasu/onagaisimasu.txt
0383nobodyさん
02/11/23 21:05ID:???フォントの書式ってなんだ?
とりあえず、下の方の
body{
scrollbar-3dlight-color:$form_color;
scrollbar-arrow-color:$form_color;
scrollbar-base-color:$bg_color;
scrollbar-darkshadow-color :$bg_color;
scrollbar-face-color:$bg_color;
scrollbar-highlight-color:$bg_color;
scrollbar-shadow-color:$form_color;
}
ってところに好きなスタイル追加してみ。
0384nobodyさん
02/11/23 22:07ID:QZcZ5A23http://www.yabbforum.com/
0385ありがとうございますた
02/11/23 22:24ID:???ありがとうございます。出来ました。
マジで感謝です。
これで何とか年を越せそうです。
0386nobodyさん
02/11/23 23:36ID:B4pvccDxの掲示板なのですが、HTML書き出しだとクッキーが使えないはずです。
でも、2chではHTML書き出しなのにクッキーが対応しています。
どうやって、対応させてるのでしょうか?
対応させる方法を教えてください。お願いいたします。
0387nobodyさん
02/11/24 02:23ID:DDSdv1W7javascript
よって板違い。ソースでも読んで来い。
0388nobodyさん
02/11/24 09:25ID:???いま使っているツリー型掲示板のレスがつくと記事を上にトップに上がる機能は
やはり掲示板によってプログラムは違ってくるのでしょうか?
共通のルーチンなどはないのでしょうか?
0392nobodyさん
02/11/24 10:10ID:???>>388
&time;
$match=0;
@new2=();
@tmp=();
foreach (@lines) {
($kno,$knumber) = split(/<>/);
if ($number eq "$kno") {
$match=1;
push(@new2,$_);
}
elsif ($number eq "$knumber") {
push(@new2,$_);
}
0393nobodyさん
02/11/24 10:10ID:???$match=2;
push(@new2,"$no<>$number<>$title<>$name<>$mail<>$url<>$comment<>$del<>$date<>$icon<>$color<>\n");
push(@tmp,$_);
}
else { push(@tmp,$_); }
}
if ($match == 1) {
push(@new2,"$no<>$number<>$title<>$name<>$mail<>$url<>$comment<>$del<>$date<>$icon<>$color<>\n");
}
push(@new2,@tmp);
open(LOG,">$log");
print LOG @new2;
close(LOG);
if (-e $lockf) { unlink($lockf); }
&management;
YYBBSからコピペ。これで一応できる。
0394nobodyさん
02/11/24 10:11ID:???↓
($kno,$knumber,$ktitle,$kname,$kmail,$kurl,$kcomment,$kdel,$kdate,$kicon,$kcolor) = split(/<>/,$lines[1]);
0396376
02/11/24 23:33ID:???無知な私にご教授ありかとうございます。
今すぐにでも試したいのですが、前の書き込みの後に急遽入院しちゃいまして(汗
退院か外泊時にでも試したいと思います。ありがとうございました。
0397397
02/11/25 02:14ID:???スクリプトの改造についてお伺いします。(ファイルに直リンできません(^^;)
訪問時にHTTP_USER_AGENTに特定の文字列が入っていると指定のページに飛ばす
(たとえば"MSIE 4.0"を含む場合./deny.htmlに飛ばす)にはどうしたらいいでしょうか?
0398nobodyさん
02/11/25 09:35ID:TeZapJEOスクリプトいじらんでも.htaccess使えばいい。
0399397
02/11/25 15:22ID:???ありがとうございます・・・しかし残念ながらうちのサーバーでは
SetEnvIfとErrorDocumentが使えないのでこういうことはできません。
やはりスクリプトそのもで制限するしかないんです。
SetEnvIf User-Agent "J-PHONE" UA
SetEnvIf User-Agent "DoCoMo" UA
Order Allow,Deny
Allow from all
Deny from env=UA
ErrorDocument 403 /~testtest/aaa/403.html
0400初心者
02/11/25 17:49ID:iBc9Rrdbランキングサイトを運営しているのですが、総合ランキング
のカテゴリを作りたいのですがどの様に各々のランキング
から引き抜いて総合ランキングが出来るのか分かりません。
何卒お教えて下さい。お願い致します。
0401nobodyさん
02/11/25 18:34ID:???0402nobodyさん
02/11/25 21:27ID:???による記事LINKをYY-BOARDに取り付けたいのですが
KENT-WEBのwebpatioを参考にやってみましたが
変数の違い等々より挫折・・。
良かったら、教えていただきたいのですが
判るかた。宜しくお願いします。
0403nobodyさん
02/11/25 22:07ID:rY+1ONaWで配布してる掲示板なのですが、
サンプルでは、『全部読む 最新50 1-100 板のトップ リロード』って表示されてますが、
自分で設置すると『全部読む 最新50 1-100 板のトップ リロード』が表示されません。
0404nobodyさん
02/11/25 22:10ID:???0405nobodyさん
02/11/26 19:24ID:???のアプロダをHTML書き出しにしたいのですが、どうすればできるのでしょうか?
0407nobodyさん
02/11/26 23:57ID:GahKTPLAこれをWindowsベースのApache1.3+ActivePerlで動かしていたのですが、
Cookieが文字化けしてしまいます。
超初心者ですいません
改善できませんでしょうか、お手数ですがよろしくお願いします。
0408408
02/11/26 23:58ID:???http://herz.pobox.ne.jp/cyder/doc/script/ori04/top.html
こちらでした
0409親切な人
02/11/27 00:00ID:???ヤフーオークションで、凄い人気商品、発見!!!
プランテック製の「 RX-2000V 」を改造済み
にした、アイティーエス製の「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/neo_uuronntya#.2ch.net/
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h5.dion.ne.jp/~gekitoku/#.2ch.net/
0410nobodyさん
02/11/27 01:11ID:gzMOh9EH行数で区切ってdat化するのがどうも気持ち悪いんだよね。
スレッド数(たとえば10スレッド)で1datって感じに出来ないかな。
要するにこの部分の$log_file(行数)を別のものに置き換えればいいと思うんだけど。
# 規定の行数をオーバーすると次ファイルを自動生成
if ($#past > $log_line) {
$past_flag=1;
最近ようやくほんの少しづつ読めてきたかなぁという程度で、
じゃあ何と置き換えるのかって考えると混乱する一方。
なにかアイディアがあったら協力願います。
0411nobodyさん
02/11/27 01:24ID:gzMOh9EHなんとか自力で改造できたのでご報告。
シンプルなaska.cgiで実験を繰り返してたらなんとかなったよ。
configに
$now = time;
$newtime = '3600'; #1時間の場合
$newimg = '<img src=./gazou/new.gif>';
を書いて、
if ($newtime >= ($now - $xtime)) { $vnewimg = $newimg } else { $vnewimg = '' }
を記事の読み込み部分の$urlの処理の下あたりに入れる。
それでsplit(/<>/);のところに $xtime をやっぱり $url, の後ろに割り込ませておく。
そしたら新着画像を表示させたいところに $vnewimg を書き入れる。
sub get_time の一番最後に $xtime = $now; を入れる。
あとは書き込み部分でやっぱりsplit(/<>/)で見当をつけて $xtime を割り込ませる。
なんとなく並んでる変数とログファイルの中身を見比べてると、
あ、ここに割り込ませればいいのかな?ってカンが働くはず。
カナーリ初心者の俺が言うんだから間違いなし!
つーことで、レスくれた人たちありがとうでした。
0412nobodyさん
02/11/27 19:30ID:BLcNdMdKhttp://www.kent-web.com/bbs/joyful.html
添付Fileを親記事は必須にして、返信は添付ファイル無しでもOK
という風にするにはどうすればいいでしょうか?
0413初心者王
02/11/27 21:42ID:???二重投稿禁止にしたいのですが、改造方法を教えて下さい。
http://watson.milkcafe.to/download/dl2.html
KENTさんのJoyful Noteの改造版で画像アップロードも可能なので
出来れば画像の多重投稿も制限したいのですが><
贅沢はいいません。。。レスの多重投稿制限を〜〜ぜひぃ( ´Д⊂ヽ
0414初心者王413
02/11/28 07:29ID:???KENTさんのCGI改造配布サイトに丁度良いスクリプトがあったので拝借。
いちお報告すると↓こんなかんじでバッチリでした。
#----------------#
# ログ書込処理 #
#----------------#
この項目の# 連続投稿チェックの次に
# 二重投稿チェック
$flag=0;
foreach (@lines) {
($no2,$reno2,$date2,$name2,$mail2,$sub2,$com2) = split(/<>/);
if ($in{'name'} eq $name2 && $in{'comment'} eq $com2) {
$flag=1; last;
}
}
if ($flag) { &error("二重投稿です。蹴りますが何か?"); }
0415nobodyさん
02/11/28 11:32ID:???ログ全部から多重チェックするのか?
for (@lines){
my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/);
&error("二重投稿です。初心者の癖に浮き過ぎです。") if($in{'name'} eq $name && $in{'comment'} eq $com);
}
0417初心者王413
02/11/28 16:05ID:???0418nobodyさん
02/12/01 18:39ID:???精度は下がるけど配列の先頭の要素だけで検討するのがいいかと思ったり。
ログが多くなると死ねます。
my(undef,undef,undef,$name,undef,undef,$com) = split(/<>/,$lines[0]);
if($in{'name'} eq $name && $in{'comment'} eq $com){&error("二重投稿イッテヨシ");}
0419nobodyさん
02/12/04 03:50ID:???どうやって足せばいいんでしょうか?
頭と最新5レスを表示したいのですが
0420nobodyさん
02/12/06 12:27ID:q7PjCrztサーバに保存するファイル名に、投稿された時間を反映させるには(img200212061220.jpgのように)、
複雑な改造が必要ですか?
0421nobodyさん
02/12/06 16:48ID:???ファイル名に反映するだけなら。
多分記事のデータにファイル名も保存しているだろうから
つじつまあわせるようにしないといけないけど。
どの程度をもって複雑と言っているのかわからんし。
0422nobodyさん
02/12/06 16:55ID:lbFI8Saaなぜか特定ディレクトリ内のファイルが動かなくなりました。
どなたか動くように改善していただけませんですか?
http://www.onpuch.jp/files/onpuch.zip ←スクリプトはここからダウソできます
0424nobodyさん
02/12/06 17:11ID:???日本人の荒しに2byte文字のAA等を貼り付けられて
困っています。投稿から2byte文字を確実に蹴る正規表現って
どうやればいいんでしょうか。スペースとか"'などの記号
は使えるようにしておきたいです。
0425nobodyさん
02/12/06 17:19ID:???う・・・・
ちなみに、そのスクリプトの作者に聞いたところ、「サポートは一切しません」と返されますた。
今までも度々動かなくなることはあったけど、そん時は自分で何とかしてきました。
でも今回ばかりはまじでヤバイっす。
1point.jpとxreaではもうぜんぜん駄目。
0429nobodyさん
02/12/06 18:11ID:???http://www.din.or.jp/~ohzaki/perl.htm#JP_Exist
0430nobodyさん
02/12/06 18:18ID:???やっぱり厨(;´Д`)
http://pc.2ch.net/test/read.cgi/php/1039165841/l50
0431nobodyさん
02/12/06 18:51ID:???糞単発してるよ・・・最近カスが多いね(´Д`;)
0433nobodyさん
02/12/06 21:21ID:???0434nobodyさん
02/12/07 10:46ID:AGlpmR8Q0435nobodyさん
02/12/07 11:05ID:???0436nobodyさん
02/12/07 11:57ID:???0437nobodyさん
02/12/07 23:35ID:???http://www.aikis.or.jp/~s-suzuki/cgilabo/
一応センタリング、スケジュール追加ボタンの追加はできたのですが、
2つ目の予定を自動で改行と始めに入ってしまう半角スペースの削除ができません。
0438nobodyさん
02/12/08 22:03ID:???素人の付け焼刃では上手く動作しませんでつ。。
宜しければご教授お願い致します。
ttp://www.kokobbs.com/ahhan/
0440nobodyさん
02/12/08 22:34ID:???以前やってみたんですが、
スレ立てフォーム周りにアイコン部分を埋めてみるだけで宜しいのでしょうか。。
色々とスクリプト弄ってみたんですが力の限界です(w
後一歩のところまでは来てるヨカンがするのですが。。
0441nobodyさん
02/12/09 01:01ID:???あとはsplitとpushの部分に$iconを入れないとだめだろう。
全く見てないので全くあてずっぽうだけど。
その一山を超えるとぐっと面白くなるから、がんばってみ。
0442nobodyさん
02/12/09 17:14ID:9ucXAnkGサイト登録時に追加でラジオボタンで選択したものをランキングに画像表示
させるようにしたいのですが、(Yomiサーチでいうと相互リンクの選択
みたいなかんじ)どのようにしたら良いのかお教え下さい。
また、ランキングページの左側にカテゴリーのテーブルをおきたいのですが
何度か挑戦してみましたが、うまくいきませんでした。よろしければ、
ご教授お願い致します。
0443440
02/12/09 21:50ID:???う〜ん・・・プログラムというのは難しいです。。
付け加え方を根本から間違ってるかもしれないです(w
0444nobodyさん
02/12/09 22:32ID:???黙って鮭定でも食ってろ!
0446443
02/12/12 22:57ID:???素人が簡単に改造できるようなものじゃないですねぇ(笑)
スッパリとあきらめてver.up待ちます。
ご助言くださった方ご迷惑をおかけ致しますた〜
Current List: 1 - 3
Page: [1] [2] [3]
の"[1] [2] [3]"の部分を
<< Previous | Next >>
などと改造する方法を教えてください。
0448447
02/12/14 06:45ID:???max = get_maxresult();
whence = get_listwhence();
for (i = 0; i < PAGE_MAX; i++) {
if (i * max >= n)
break;
if (is_htmlmode()) {
if (i * max != whence) {
printf("<a href=\"");
fputs(dn, stdout);
fputc('?', stdout);
print_query(qs, i * max);
printf("\">");
} else {
printf("<strong>");
}
}
printf("[%d]", i + 1);
if (is_htmlmode()) {
if (i * max != whence) {
printf("</A> ");
} else
printf("</strong> ");
}
if (is_allresult()) {
break;
}
}
}
このフォームを使うと添付ファイルも送信可能のようですが
sendmail未対応のサーバーの場合送信不可能ですよね。
なので一時記録用フォルダーにファイルを常時残しておいて
時々FTPでDLしたり出来ないかと思ってます。
もしご教授頂ける方居ましたらお願いします。
0450nobodyさん
02/12/16 22:07ID:tbIe581Bメッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?
>>451がソースです
0451nobodyさん
02/12/16 22:07ID:tbIe581B#------------------メール送信機能-------------------------#
open(MAIL,"| /usr/sbin/sendmail -t") || &error("送信できません。");
print MAIL <<"_MAIL_";
From: xxx\@xx.xx
To: xxxxxx\@xxxx.ne.jp
MIME-Version: 1.0
Subject: 投稿がありました
X-Mailer: Sendmail
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
投稿がありました。
名前:$name
題名:$subject
メールアドレス:$mail
ホームページ:$url
メッセージ:$msg
---------------------------------------
投稿者情報
IP:$ip
ホスト:$host
---------------------------------------
_MAIL_
close(MAIL);
#--------------------メール送信機能------------------------#
よろしくお願いします。
0452nobodyさん
02/12/16 22:28ID:tbIe581Bメッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?
>>750がソースです
■ このスレッドは過去ログ倉庫に格納されています