トップページ⇒php
982コメント439KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001sage03/09/17 15:28ID:ZcvVdw5C
 
#================================
# スレッドの説明
#================================

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

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

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

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

過去ログ>>2
0598nobodyさん03/12/21 18:56ID:???
>>594
skin_main.htmlスキンを使う場合

<!--{each oya}-->以下の
<!--{def oya/icon}--><img src="{$oya/icon}"><!--{/def}--> を削除。
及びそれぞれの<td>に background={$oya/icon} を足す。

<!--{each oya/res}-->以下の
<!--{def oya/res/icon}--><img src="{$oya/res/icon}" align=middle><!--{/def}-->を削除。
及びそれぞれの<td>に background={$oya/res/icon} を足す。

レス書き画面とかも同じ要領でやっていけばいい。
059959403/12/21 20:42ID:qIOjxN3h
>>595
>>597
>>598
指示通りにやったらできました。
どうもありがとうございました。
060059603/12/22 00:42ID:???
誰も答えてくれなさそうだったので、カウンタのIPチェックを参考にコピペで作ってしまいました。
スレ汚しスマソ
0601nobodyさん03/12/22 04:12ID:???
>>600
>1を読んでなさそうな香具師は放置だぎゃー
0602nobodyさん03/12/22 16:14ID:???
うん、その通り
0603nobodyさん03/12/22 19:53ID:???
MT-BOARD ver0.5 betaという2ch風cgi(例えばttp://cgi1.biwa.ne.jp/~platz/bbsa/mag/)
でクッキー保存されないのですが、ここでJavaScriptを使ってクッキーを保存するにはどうしたらいいんですかね?
0604nobodyさん03/12/23 01:57ID:???
>>603
アフォか。
まず、>>1読め。
「ベースがKENT」って時点でソース読む気がないんだが……。
クッキーが保存できないようなタコなスクリプトなんぞ使うな。
しかもそれを余計に面倒くさいJavaScriptでの保存なんか考えるな。
0605nobodyさん03/12/23 04:55ID:???
うん、その通り 
0606nobodyさん03/12/23 12:04ID:???
>>604
HTML表示だからJavaScriptしか保存はできないだろうが
060760403/12/23 14:40ID:???
>>606
いや、だからソースは読んでないって。
読む気もないって。
0608nobodyさん03/12/23 15:33ID:???
>>606
アホですか?
0609nobodyさん03/12/24 13:05ID:???
>>604
> 「ベースがKENT」って時点でソース読む気がないんだが……。
それはお前の都合じゃないのか?
0610nobodyさん03/12/24 15:16ID:???
>>609
俺はKENTのソース見たこと無い。
っつーか見る木にもならない。
0611nobodyさん03/12/24 21:29ID:dajCswi4
教えて頂きたいのですけども,
tackyさんの掲示板、えれべーたぁ(http://tackysroom.com/cgi_updown.htm)を、
2chのように記事のタイトルを上部に表示させるように改造するには
どうしたらよいでしょう。何卒宜しくお願い致します。
0612nobodyさん03/12/24 23:40ID:???
>>603

http://member.nifty.ne.jp/marsh/misya/java/parts/cookie1.html
http://useyan.pupu.jp/s/javas/java/aer_087.htm

JavaScriptでのクッキー保存の方法ね。
このへん読みながら工夫するといいかも。
0613nobodyさん03/12/25 01:46ID:???
オッス、オラ悟空。
オラの一日はまず、界王様のキスで起こされるんだ。そして、天津飯とヤムチャが二人がかりでオラをかつぎ上げ便所へ。
次は朝飯だ。兎人参家がもう用意している。グルドが助手だ。なぜかメイド服を着ているんだ。
オラおどれえたぞ。そんなにオラに気に入られたいのか?喉が渇いたんでサイバイマンの溶解液でも飲むか。
サイバイマンが頭をオラの口へ持って来るんだ。…まじい、飲めたもんじゃねえぞ!オラ、サイバイマンの頭をふっとばしちまったぞ!
歯はグルドに磨いてもらって、うがい用の超神水はカリン様が口移しなんだ。
んじゃ、ここも飽きたしオラもう一つの家へ行くぞ!って言ったら、皆ウルウルと目に涙浮かべながら
グルド「行かないで…」天津飯「行かないで…」ヤムチャ「行tyrくっで…」
ヤムチャだけ噛んじまったぞ!こんなやつらさっさと置いといて家を出ちまったんだ。
家の前には筋斗雲があって、運転手は8ちゃんだ。もう一つの家は瞬間移動で行けるけど、オラ気を使いたくねえぞ。
オラ、第二の我が家へ着いたんだ。出迎えは裸エプロンの牛魔王だ。それにしてもエロい体だぞー。
他の奴らも奥にいるんだ。そろそろ一発抜きたくなっちまったんでオラベッドに大の字になって皆を呼んだんだ。
右の乳首をメイド服のグルドが舐めて、左乳首をYシャツ一枚のナッパが舐めるんだ。右の腋や耳をダーブラが責めてきて、
左の腋や耳を第2形態のセルが責めてくるんだ。オラの両手はグルド、天津飯、ナッパ、ダーブラのちんちんを手コキだ。
オラ忙しいぞ!左足を牛魔王、右足をコルド大王が、おっぱいマンコで一生懸命さわさわだ。牛魔王は裸エプロンのままだ。
チャパ王はなぜか体操着ルーズソックスに着替えてきちまったんだ。ブルマは穿いてねえ。下半身丸出しだ。
それにしても幼児体型だぞー。シンバルのパイパンマンコはオラの顔へ持ってきてクンニだ。スポポビッチがアナルや玉袋を舐めるぞ。
そして16号の登場だ。騎乗位でオラに跨ってきたぞ。笑顔のくせに爆弾は原爆級じゃねえか。オラびっくりしたぞ!
牛魔王、セル、コルド、シンバル、チャパ王、16号がオラを責め立てるから、オラ超サイヤ人4になっちまったぞ… 
いっつもの日課の修行が終わって、だりぃけどオラが居ないと宇宙が傾いちまうからここで元気玉打つぞ。これがオラの一日だ。
絶対見てくれよな!
0614nobodyさん03/12/25 04:10ID:???
>>611
教えてやってもいいけど>>1嫁
君の場合『完成イメージHTML』は必須だな
0615nobodyさん03/12/25 06:07ID:???
>603
>クッキーが保存できないようなタコなスクリプトなんぞ使うな
がかなり正解に近い。
061650503/12/27 13:36ID:VhlRAef5
お久しぶりです。以前お世話になった505です。
皆様のアドバイスのおかげでBBSの改造もほぼ完了することができましたm(__)m

今回お聞きしたいのは、以前改造した「レスは最新10件のみ表示する」
ことに関してなんです。

以前の改造方法ですと、一度ログを読み出してから、各ブロック(タイトル、アイコン、コメントなど)
に対して何度もif文で条件づけをしてやっていたという状況なのですが、
なにげに不効率に感じていました。

そこで、最初にログを読み出した時点で制限できないものかと思いまして・・
407行目にある
while(<IN>){
if((split(/<>/))[1] eq "") { $i++; }
if ($i < $page + 1) { next; }
if ($i > $page + $p_log) { next; }
push(@DATA,$_);

の部分で、まずTOPに表示する「親記事」の数を制限してるんですよね。
ここでさらにレス数もカウントして

--もしレス数が$syoryakuより小さければそのまま表示し、
    大きければ「最新$syoryaku件」だけを表示せよ--

というふうにしたほうが記事表示部でifを多用するよりイイかなと思ったんですが・・^^
なにぶんどのように記述してよいかわからなかったもので、ご教授頂きたく投稿しました。
なにとぞ宜しくお願い致しますm(__)m

ソースhttp://lovely-aya.appletea.to/cgi/test/kaizou.txt
BBShttp://lovely-aya.appletea.to/cgi/test/yybbs.cgi#menu
0617nobodyさん03/12/27 20:32ID:???
>>616
あいかわらずインデントが滅茶苦茶だなぁ
やり直せ
話はそれからだ。
0618nobodyさん03/12/29 18:32ID:???
KENTのYY-BOARDをjcode.pmでutf-8化しようと思ったんだが、
Cookieの取得で日本語文字コードが上手く入ってくれない。(半角文字は大丈夫だった)
クッキー取得は以下の通り。ドコがいけないのかな?
sub get_cookie {
  local($key, $val, *ck);
  $ck = $ENV{'HTTP_COOKIE'};
  foreach (split(/;/, $ck)) {
    ($key, $val) = split(/=/);
    $key =~ s/\s//g;
    $ck{$key} = $val;
  }
  @ck = split(/<>/, $ck{'YY_BBS'});
  return (@ck);
}

ちなみに、cookie内にはちゃんとutf-8で文字列が格納されてまつ。
0619nobodyさん03/12/29 19:15ID:???
$ck = $ENV{'HTTP_COOKIE'};
これに問題があるようでつね。ちと調べなおしてきまつ。
0620nobodyさん03/12/29 20:37ID:???
とほほのクッキー見て解決しますたつ∀`)
スレ汚しスンマソ
0621nobodyさん03/12/29 20:40ID:???
解決しますたつ
0622nobodyさん03/12/29 21:00ID:4uq0QGby
mini BBSの改造を続けてやっと公開に漕ぎ着けたのですが、
http://www.pine-kz.com/camera/camera.html
ImageMagickでの自動サムネイル作成で、サーバのプロセスサイズから200万画素
という制限(jpegのサイズを色々変えて確認)をができちゃったのですが、なん
か良い回避策ないですかね?

open(IMG3,"$tmp_dir$attc");
$org_sz = newFromJpeg GD::Image(\*IMG3);
@bound = $org_sz->getBounds();
if ($bound[0] > $bound[1]) { $thumW = $img_width;
} else { $thumW = $img_width * $bound[0] / $bound[1];}
print DAT "original width: $bound[0] original height: $bound[1]\n thum: $thumnal $thumW\n";
system("/usr/bin/convert $org_img -scale $thumW -sharpen 80 $thumnal");
$org_sz = "";
close(IMG3);
062362003/12/29 22:05ID:???
つД`)
KENTのスクリプ�dって、Cookieでの文字化けは対応してないのね(「表示」とか)
0624nobodyさん03/12/30 04:19ID:???
>>622
ImageMagickっていいながら、それはGDのソースじゃん。
0625nobodyさん03/12/30 05:36ID:+KTyzjOj
/usr/bin/convert がImageMagickの本体です。
普段 GUIのImageMagickを使っていて、変換後の品質が非常に良いのでこれを
使いたいと思って組込んだんですが、622で質問した後、色々検索してみて、
1)GDでそのままやる
2)PerlMagickを呼ぶ
3)Imagerを呼ぶ
という方法を考えてみました。

メモリー(プロセス)サイズを一番節約できる=アップロードできる画素サイズ
を大きくできる、という方向ではどれが良いのでしょうか?
(jpegを刻んで変換してから連結するというのは見つかりませんでした)
062662503/12/31 05:47ID:Xbx5eY1F
convert のオプションでリソース制限ができるのを読み落していたのですが、
-limit memory 1 -limit map 1 を付け加えるとスクリプトエラーを起さずに
ただサムネイルを作ってくれなくなりました。
自分のパソコンだと、/tmp にテンポラリファイルを作成して作業完了すると
ちゃんと消去して終るのです。なんで?
0627nobodyさん03/12/31 07:27ID:???
>>626
おまい単なる質問ならスレ違いじゃないか?
062862204/01/04 15:26ID:Wl1FVx2l
結局、convertの limitオプションはサーバにインストールされてるバージョン
が少し古くて使えないのだった。
動かない理由は、GDを使って大きなファイルを開いてから更にgetBounds()で
操作しようとした所為だった。関数を呼んだ時点でメモリサイズがサーバの
制限を越えてる。
サーバにインストールされてるソフトを外部コマンドとして呼び出すほうが、
pmベースで操作するより断然有利だ。

・・・Web検索では GDでgetBounds()しか見つからなかったので、その通りに
やってみたのだけど、identifyを呼び出したらメモリ制限で止まらなくなった。
200万画素の制限もなくなりました。(ディスクスペースが大きいといっても
4MBの画像をアップし続けたら100枚足らずだから自粛しないとすぐ終ってしまうが)
0629nobodyさん04/01/05 19:08ID:???
>>628
そもそも、4MBの画像をアップするってどういう状況?
普通はもっと減らしてどうにかするもんじゃないの?
063062204/01/05 22:07ID:FD26CFrG
>>629
もっと減らしてどうにかすると、その先にあるのは?
ディスプレイ上で一覧できるサイズであれば可というのは昔ありました。
写真をクローズアップしてなお解像感が維持されることで、空間把握に繋がる
というのを意識してるんだが。
(プリント時のdpiがどうのというのとは別)
ああ、俺が変態なのかもしれんが。

一覧性というのは、構図とか構成とか意匠とかそういうものの評価に繋がって
いるのだけど、そうではなくてマクロ領域で撮影されたものをもっとクローズ
アップして見たくなるとかそういう欲求の話をしているの。

昔のちんけなスパイ映画かSF映画で撮影した画像をどこまでも拡大していくの
があったじゃない。インチキだってのはすぐ解ったけれど、状況は変りつつある。
(デジタル写真の現状をただ肯定しているわけではないが)
0631nobodyさん04/01/05 22:15ID:???
quota
0632&rle;tset04/01/07 23:18ID:???
test
0633gorigori04/01/08 01:52ID:???
http://sugoiyo.com/thebbscgi/contents/download/
ここのver.2.3.3のスクなんですけど、
このスレッド式掲示板に、htmlタグを使えるようにしたいのですが、
いくらやっても出来ないんです。
ttp://www.civilizer.net/undef/perler/cgisec/502.html
こことかも見てやったんですがさっぱり…

申し訳ありませんがお教えいただけないでしょうか?

0634nobodyさん04/01/08 04:12ID:???
>>633
「いくらやっても出来ない」 とは、自分で改造してみたんだけど出来なかったという意味なのかな?
だったらどんな改造を試してみたのかここで報告してくれ。
0635gorigori04/01/08 12:14ID:???
>>634
申し訳ありません。
自分で改造してみたんです。でも出来ませんでした。

http://v.isp.2ch.net/up/a99bb3f01517.txt
↑スクリプト

タグ関連はsub form_decodeのところにあったので

$string =~ s/</\e/g;
foreach (@tmparray){
my($a,$b)=split(/=/,$_);
$b =~ tr/+/ /;
$b =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/chr(hex($1))/eg;
$b =~ s/</</g;
$b =~ s/>/>/g;
$string =~ s/\e\/?\s*$tags\s+/<$tags /ig;
$b =~ s/\t/ /g;
$b =~ s/\r//g;
なんて適当に…
ほかにもこんな感じでいろいろ試しました。

perlとか基本的なことくらいしか分からなくて

お手数おかけします。
0636gorigori04/01/08 12:16ID:???
あ、$stringのとこはちゃんと$bにしました。

$tagのところも
ttp://www.civilizer.net/undef/perler/cgisec/502.html
を参考にしてやりました。
0637nobodyさん04/01/08 20:43ID:???
$b =~ s/</\e/g;# まだ$bに値が入ってないところで<を\eに置換しても置換されてない。
foreach (@tmparray){
  my($a,$b)=split(/=/,$_);# $aと$bは特殊な変数でuse strict対象外。$aと$bは使用しないほうがよい。
  $b =~ tr/+/ /;
  $b =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/chr(hex($1))/eg;
  $b =~ s/</&lt;/g;# 2chでは、&lt; は &amp;lt; って書くといいよ。だけど、この行無意味
  $b =~ s/>/&gt;/g;# 2chでは、&gt; は &amp;gt; って書くといいよ。
  $b =~ s/\e\/?\s*$tags\s+/<$tags /ig;# 上のほうで\eに置換されて無いので、この行無意味
  $b =~ s/\t/ /g;
  $b =~ s/\r//g;

しかも、
  $b =~ s/\e\/?\s*$tags\s+/<$tags /ig;
は、
  foreach $tag ( @allowtags )
  {
    $b =~ s/\e\/?\s*$tags\s+/<$tags /ig; # 許可タグとその閉じタグは許す
    }
  $b =~ s/\e/&lt;/g; # 許可タグ以外は &lt;にする
0638nobodyさん04/01/09 12:21ID:???
(削除)
foreach (@tmparray){
my($a,$b)=split(/=/,$_);
$b =~ tr/+/ /;
$b =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/chr(hex($1))/eg;
(削除)
(削除)
(削除)
$b =~ s/\t/ /g;
$b =~ s/\r//g;

要は<や>を&lt;や&gt;に置換してる部分を丸ごと捨てればいい。
許可したタグ以外は使用不能にしたいなら>637を参考にその方針で頑張れ。
0639nobodyさん04/01/09 19:00ID:???
ゆいりんく1.0(ttp://www.cj-c.com/)を改造中です。
何をどういじったのか良くわからないのですが、データの削除が出来ません。

本体のみ(txt)
ttp://www.geocities.co.jp/SiliconValley/9193/nc/nc.txt
全ファイル
ttp://www.geocities.co.jp/SiliconValley/9193/nc/nc.lzh
オリジナル
ttp://www.geocities.co.jp/SiliconValley/9193/nc/link.lzh
です。

sub edit{
下のほうでデータの削除が出来るようになっています。
削除チェックボックスにチェックを入れ削除ボタンを押すと
sub del{
に移動します。そこで削除されるようなのですが、どうもうまく行っていないようです。
どこを修正したらいいでしょうか?よろしくお願いします。
0640nobodyさん04/01/09 22:19ID:???
オリジナルに戻せばいいんじゃないかな、と。
というか、どこをどう修正したか分からなくなるような奴はいじるな。
0641nobodyさん04/01/09 23:33ID:hZGS3YnQ
カテゴリ登録のサイトをもくろんでます。

例えば
カテゴリABC:a-z (cate 0から5)
カテゴリあいう:あ-ん (cate 6から10)
カテゴリイロハ:イ-ン (cate 11から15)
の3カテゴリがあるとします。

本当は一つのサイトを各カテゴリに一つずつ登録させたいのですが、(例:B、か、ユ etc,.)
以下のスクリプトを繰り返しコピペしただけでは3番目のカテゴリのみの登録になってしまいます。
どうすれば、各一つずつ登録できるようになるのでしょうか?
先輩方よろしくお願いします。

<td>カテゴリ</td>
<td><select name="cate">
EOF

foreach (0 .. $#cates) {
if ($in{'cate'} eq "$_") { print qq(<option value="$_" selected>$cates[$_]\n); }
else { print qq(<option value="$_">$cates[$_]\n); }
}

print <<"EOF";


出所は taitai studio の Link & Rank (ver3.1) の regist.cgi です。
0642nobodyさん04/01/10 00:05ID:???
激しく改造が必要。
この場合、入力フォームだけではなく、記録部、記録直後の確認画面、表示画面も改造する必要がある。
ざっと見た感じカテゴリごとにフォルダを作ってログを管理してるので、そっちの形式もいじる事になる。

戦艦大和を海から引き上げて宇宙戦艦に改造する程の手間。他のCGIを探す事を薦める。
0643nobodyさん04/01/10 08:44ID:xCRFiDNp
>>642
ご返答ありがとうございます。
他をあたってみます
お薦めなどがありましたらお知らせいただければありがたいです。
0644nobodyさん04/01/10 19:46ID:???
本文



本文

と入力して、
<p>本文</p>

<p style="margin-top:3(←改行した数)em;">本文</p>

というように出力させるにはどうすればいいのでしょうか? 現在の掲示板では

# 複数の改行は段落に変換
$value =~ s/(<br \/>){2,}/<\/p><p>/g;

となっています。
0645nobodyさん04/01/10 23:55ID:???
>>643
一言だけ。
スレ違いっつーか板違い。CGI探しはWeb製作板へ。確か。
064664504/01/10 23:57ID:???
【CGI】こんなCGI探してますver.1.1【素材】
http://pc2.2ch.net/test/read.cgi/hp/1067286961/
0647nobodyさん04/01/12 01:32ID:+TyesD9W
Hyper Search (ttp://aki.adam.ne.jp/php/hysearch.php)を改造しようとしてます。
一枚のphpで左にメニュー右に検索結果と出るんですが
これをフレームで分割できるように出来るでしょうか?


全ファイル
ttp://junk.s41.xrea.com/test/hysearch.zip
0648nobodyさん04/01/13 12:41ID:???
>>647
できるだろ。
そんな糞面倒なこと俺は絶対やらないが。
できるかできないかで聞かれたからそれだけでこたえてみたが、
やり方はきかれても教えるつもりはない。
他の連中も教えるつもりがないから今まで黙っている訳で。
まあ、なんだ。努力する気が見えない奴には知ってる奴も教えたくなくなるってこった。
064964704/01/13 20:24ID:???
>>648
返答有難うございます
やっぱ面倒ですか。。。。
PHPの本片手に色々考えてみたんですが
僕の様なペーペーにはまだ無理ですね
もう少し勉強してきます<m(__)m>
0650nobodyさん04/01/13 20:33ID:0tJfIYqX
何て言うか、全くプログラムに無知でも検索とコピペで何とかなりそうなのを依頼してる奴は氏ね。
065164704/01/13 21:01ID:???
>>650
検索とコピペで何とかなるんですか・・・
一通り調べて分割するところまでは自力で出来たんですが
左メニューのリンクをtargetで右に表示させる方法を何とか探してる最中です。
もう少し頑張ってみますです。
出来上がったらソースを提出するのでダメだしお願いできますか?
0652nobodyさん04/01/13 23:54ID:???
>>651
HTMLの理解はCGIをやる上での前提事項だ。
これが一通りできないのであれば、CGIはやるべきではない。
出直してこい。悪いことは言わない。
基礎がないのに応用ができるわけはない。
これは、マジな忠告だ。
0653未承諾広告※ ◆aiY4htt2.2 04/01/14 00:26ID:???
その点、ちょっとでも HTML 絡みの話が出ると、「 Web 製作板逝って良し」ってなるのはちょっぴり悲しいかも。@内容にもよるけれども。
もしかしてそのお陰?で、不思議マークアップを吐き出す CGI スクリプト類が氾濫しているのだろうか?
0654nobodyさん04/01/14 01:31ID:???
>>653
中には、故意にそうしている奴もいるかも。
故意にinvalidなタグを吐いて、パクられた時の証拠にするみたいな。
0655nobodyさん04/01/14 02:50ID:???
>>653
運用情報板で不思議コード書いて「WebProg板へ逝って良し」と言われたのか?
0656nobodyさん04/01/14 07:03ID:???
>647
PHP的な処理で本当にフレーム分割しようとするとかなりの手間。

実はCSSとかJavaScriptでフレームっぽい外見/仕様にするだけなら比較的簡単。
http://www.42ch.net/UploaderSmall/source/1074031258.dat
(表示できない場合拡張子をhtmに)
もう少し練れば美しくできると思う。
ただ、ブラウザによっては小汚くなる。
0657nobodyさん04/01/14 07:09ID:???
と、補足忘れた。上記の例はCSSだけ使って、JavaScriptは使ってない。
で、美しさよりもフレーム分割っぽい外観に似せる事を重視してる。
美しくするにはどうすれば、とか、JavaScriptで実装するには?とかはweb製作板の人間に聞いてくれ。
065865004/01/14 10:32ID:???
>>651
いや、おまいに言ったんじゃなくて、このスレ全体を見て言ったんだけどね……。
上の方に凄いのが居るだろ。
0659nobodyさん04/01/14 14:00ID:???
KENTさんの掲示板でYY-BOARD を使ってます
サンプル
http://www.kent-web.com/bbs/yybbs/yybbs.cgi
配布URI
http://www.kent-web.com/cgi/down.cgi?down=www.kent-web.com/dload/yybbs.lzh&name=YY-BOARD

プロキシ経由での連続投稿プログラム使用を禁止したいのですが、設定では特定IPしか
弾けないのでどのように改造したら良いでしょうか。
0660nobodyさん04/01/14 15:19ID:???
トップページに、「あなたはプロキシ経由ですか? Yes No」みたいな

ページをつくればいいよ。
0661nobodyさん04/01/14 15:33ID:???
>>659
自分で改造してみて、それでも分からなかったら質問して下さい。
丸投げは禁止です。
0662nobodyさん04/01/14 18:56ID:???
とてつもなく亀レスで申し訳ありません・・・去年>>546を書いた者です。
所用でPC触る機会がなく今日ようやく時間ができたのでお礼だけ書かせてください。
>>548さん、丁寧な解説感謝です。ずっと「これでいいんだろうか・・・」って引っ掛かっていたものがなくなりました。
まだここを見てくれてるかわかりませんが、本当に助かりました。ありがとうございました。
0663nobodyさん04/01/14 19:54ID:???
>>659
proxyとは限らずに、連続投稿自体を制限すればいいんではないのか?
# ここに質問書き込む奴って、そういう仕様部分のツメも甘い気がする。
0664未承諾広告※ ◆aiY4htt2.2 04/01/14 21:53ID:???
>>655
ぎくっ
0665nobodyさん04/01/15 04:00ID:???
663に同意。
0666nobodyさん04/01/15 15:01ID:???
>>659
串変えながらの連続投稿プログラムはOKですか?
0667nobodyさん04/01/16 04:22ID:???
【CGI】こんなCGI探してますver.1.1【素材】@Web制作
ttp://pc2.2ch.net/test/read.cgi/hp/1067286961/l50
から誘導されてきました。

ttp://specters.net/cgipon/yoyuuha/
の余裕派掲示板なのですが、(cgiのあるところ、ttp://specters.net/cgipon/yoyuuha/yyh_262.zip)
UAの取得がなされていないので、「UAの取得」に関する記述を、どこ(何行目)にどのように差し込んだら取得されるのかがわかりませんでした。

わかる方、お教えくださいますようお願いいたします。
066866704/01/16 07:07ID:???
素人考えですが、
同じURIで振り分けを実装してるということは何らかの形でUAは取得しているのでしょうか?
あと、最近のAUはmobile browserなので、振り分けをi-mode用にしたいんです。
0669nobodyさん04/01/16 18:23ID:???
>>667
遅くなってすまん、誘導した本人だ。

UAは取得しているよ。
2033行目の
# [ ブラウザのチェック ]
の下でね。

わるいけど、俺はお前が何をしたいのかさっぱりわからん。
067066704/01/16 22:32ID:???
>>669
ありがとうございます。

やりたいのは、
1.UAを掲示板のログファイルに記録して、出力する。
2.AUがPC版を表示するのをi-mode版を表示するようにする。
の二点です。
0671nobodyさん04/01/17 21:00ID:???
>>670

248:
$tit,$mes,$adm,$tim,$ipa,$rmh) = split(/,/,$_);
$tit,$mes,$adm,$tim,$ipa,$rmh,$ua) = split(/,/,$_);

328:
<!-- [$ipa($rmh)] -->
<!-- [$ipa($rmh):$ua] -->

390:
$tit,$mes,$adm,$tim,$ipa,$rmh) = split(/,/,$print[0]);
$tit,$mes,$adm,$tim,$ipa,$rmh,$ua) = split(/,/,$print[0]);

410:
$ipa = "<FONT color=$coladm size=-1>[$ipa$rmh]</FONT>";
$ipa = "<FONT color=$coladm size=-1>[$ipa$rmh:$ua]</FONT>";

1413:
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh)
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh,$ip)

2313:
$cipa = $ENV{'REMOTE_ADDR'};
$cipa = $ENV{'REMOTE_ADDR'};$cua = $ENV{'HTTP_USER_AGENT'};

2336:
$input = "$cnam,$cmal,$curl,$cico,$ctit,$cmes,$cadm,$ctim,$cipa,$crmh";
$input = "$cnam,$cmal,$curl,$cico,$ctit,$cmes,$cadm,$ctim,$cipa,$crmh,$cua";
0672nobodyさん04/01/17 21:01ID:???
続き

2371:
$rmh = (split(/,/,$log))[11];
$rmh = (split(/,/,$log))[11];$ip = (split(/,/,$log))[12];

2379:
$log[11] = $rmh;
$log[11] = $rmh;$log[12] = $ip;

2391:
$log[11] = $rmh;
$log[11] = $rmh;$log[12] = $ip;

1.は、これでいいと思う。
2.は、AUのUAがわかんねー
0673nobodyさん04/01/17 21:03ID:???
修正(^^;

1413:
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh)
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh,$ua)
0674未承諾広告※ ◆aiY4htt2.2 04/01/17 22:41ID:???
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
067566704/01/18 01:03ID:???
>671
ありがとうございます。さっそく作業に取り掛かります。

AUのUAはUP.Browserを含んでいると思います。

関係ないですが、AUのUAって回文みたいですね。
0676nobodyさん04/01/18 05:27ID:???
修正 その2 (^^;;

2371:
$rmh = (split(/,/,$log))[11];
$rmh = (split(/,/,$log))[11];$ua = (split(/,/,$log))[12];

2379:
$log[11] = $rmh;
$log[11] = $rmh;$log[12] = $ua;

2391:
$log[11] = $rmh;
$log[11] = $rmh;$log[12] = $ua;

インフルエンザかな?
0677nobodyさん04/01/18 05:34ID:???
で、AUのUAの件。

> 最近のAUはmobile browserなので、振り分けをi-mode用にしたいんです。
俺携帯に疎いから、よくわかんないけど
未承諾広告※タソ紹介の技術情報を見ると、
> au C3001H であれば、
> 「HTTP_USER_AGENT=KDDI-HI21 UP. Browser/6.0.2.254(GUI) MMP/1.1」と表示されます。
と書いてある。
これだと、2080行目の
elsif ($mob{car} eq 'UP.Browser') {
に引っかからないのがまずいのかな?

elsif ($mob{car} =~ /UP.Browser/) {
これでどうだろうか?

067866704/01/18 09:08ID:???
>676-677
 ありがとうございます!完璧です。
あとはソースいじくって4.01strictにすれば完成します。ありがとう御座いました。
どうしようもなくて途方にくれてたので心底助かりました。
0679nobodyさん04/01/18 11:44ID:???
>>678
喜んでいる所で申し訳ないが・・・

修正 その3 (^^;;;

1413:
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh)
($num,$key,$nam,$mal,$url,$ico,$tit,$mes,$adm,$tim,$ipa,$rmh,$ua)

(ま、ここのブロックでは使わないからどうでもいいが・・・)

完全にインフルエンザだな。
病院に逝ったほうがいいな。
0680nobodyさん04/01/18 11:55ID:???
今年のインフルエンザ、放っておくと死ぬよ
0681nobodyさん04/01/18 18:07ID:???
掲示板で、2chのように、
「○ sec たたないと書けません。(○回目、○ sec しかたっていない。)○」
と言うのを表示させたいのですが、○回目の所を1回表示ごとに1増加することがどうやるか分かりません。
規制に入れるのは考えなくても良いです。

お願いします。
0682nobodyさん04/01/18 18:26ID:???
>>681
>>1読んで出直せ。
068368104/01/18 18:32ID:???
>>682
(1) どの掲示板スクリプトにも対応
(2) 2chの様に「○ sec たたないと書けません。(○回目、○ sec しかたっていない。)○」と表示させる。
(3) 詳しく考えて、、○回目の所を1回表示ごとに1増加することがどうやるかだけ、分からなかった

これで宜しいでしょうか?
0684nobodyさん04/01/18 18:43ID:???
>>683
(1)の条件を満たすためには、スクリプトのかけらそのものではなく考え方を提示するしかない。
なので、そのものずばりを求めているならとっとと帰れ。

やりたいことはなんとなくわかったが、そのためには、アクセスしてきたマシンを一意に特定する必要がある。
この辺は、IPアドレスや、それにユーザーエージェントを併用するのが普通だろう。
これによってユーザーを特定した後、それぞれのユーザー毎に、
「最終書き込み時刻」と「その時刻以降のアクセス回数」を保存するようにすればよい。
アクセスがあった時に、以前のデータを見て表示用テキストをいじり、
現在のデータを新しい数値に変えて保存すると、上記実装が完成するだろう。

データの保存は、ファイルをflockするなり、データベースを使うなり様々な方法があり、
それらの選択はスクリプト作成者の知識と技量に左右される。

オマエの提示した条件ではこれ以上詳しくは無理だ。
さあ、教えてやったんだからとっとと帰れ。
068568104/01/18 19:09ID:???
ありがとうございます。
おかげでできました
0686nobodyさん04/01/18 21:09ID:???
http://cgi.www5a.biglobe.ne.jp/~fnao/cgi_nao/email.cgi
このCGIなんですが、携帯電話からでも遅れるようにしたいんです。
http://www5a.biglobe.ne.jp/~fnao/cgi_nao/chukyu3.htm
ここにスプリクトがあります。
自分でも試みてみたんですが、
http://members8.tsukaeru.net/tatsuya7bom/cgi-bin/mail.htm
http://members8.tsukaeru.net/tatsuya7bom/cgi-bin/mail.cgi
エラーで設置すらできませんでした。
無知な自分ですが、アドバイスなどよろしくおねがいします。
0687nobodyさん04/01/18 22:33ID:???
>>686
設置すらできないものが改造とか抜かすな。
設置できないものの大半は設定ミスだ。
自分の使ってる鯖のPerlのパスとかsendmailのパスとかをよく調べろ。
068868604/01/18 23:08ID:???
http://members8.tsukaeru.net/tatsuya7bom/cgi-bin/sensys.cgi
設置しました。しかし携帯から送信しようとすると、
cgi-lib.pl:Unknown Content-type:application/x-www-form-urlencoded;charset=shift_jis
となります。ezwebなのですが、対処法はありますか?
0689nobodyさん04/01/18 23:32ID:???
>>688
cgi-lib.pl が文句たれてるんだろ?
携帯の仕様を変更するのは事実上不可能だから、
1.cgi-lib.pl を改造するか
2.cgi-lib.pl を使わないで、他のものを使うように改造するか
だろ?
推測できるお前の実力からして、どっちもオススメはできないが、
しかしこれしかないな。
1.はライブラリの意味がなくなるのでそもそもスマートな方法ではない。
2.が妥当だろうし、代替手段としてCGI.pmもある。しかし、
http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod
これ読もうとする意思があるかどうかが問題になる。

言っておくが、「誰かが解答のスクリプトを提示してくれる」みたいな甘いことは考えるなよ。
0690nobodyさん04/01/19 00:01ID:???
>>686
嘘つきのマルチは氏ね

http://pc2.2ch.net/test/read.cgi/php/1011174442/80-
069168904/01/19 00:19ID:???
>>690
騙されたみたいだな、俺……。
でもこれで、俺がソースを見ないで指摘しているのがばれてしまったな。
けどどうでもいいや。
069266704/01/19 02:09ID:???
>679
ありがとうございます。>>673と同じ内容ですよね?
うまくいきました。

> 完全にインフルエンザだな。
 危険ですので早めにいかれた方がいいですよ。ご自愛を。
0693nobodyさん04/01/19 23:43ID:ueJIFoYf
KENTさんのとこで配布されてるYYBOARDのVer: 5.32に
http://cuo.press.ne.jp/cgi/b05_1.html
ここで紹介されているユーザー専用アイコンを設定するのを加えたいんですけど
v4.1をベースに改造ポイントが指摘されてるため上手く出来ない状況です

”2.処理を加える”という所で似てるポイントだと思いyyini.cgiの298行目に加えたらエラーが出たりして
この処理をどこに加えたらいいのかわからず困ってます。


ソースですがKENTさんのとこのそのままですが
http://page.freett.com/yataro/yyini.txt
http://page.freett.com/yataro/yybbs.txt


アドバイスよろしくおねがいします。
0694nobodyさん04/01/20 21:03ID:???
>>693
……アドバイスったってなあ。
なんでレスつかないか自分で理由わかってる?

まあいいか。

v4.1を手に入れて改造するのはどうかね。一番キミ自身の労力が少ないと思うのだが。
0695nobodyさん04/01/21 07:26ID:???
そういわれると改造したくなるのが人情。

書き込み処理を行なっているのはyyregi.cgiなので、こっちを改造するのが正解。
sub formCheck内、L.405付近の管理用アイコン直前かね。
多分そのままコピペでいけると思うが、確認はしてない。

wwini.cgiを改造したいならL.375付近だろうけど、wwregiをいじる方をお勧めする。
069669504/01/21 07:27ID:???
>695
最終行、wwregi→yyregi、wwini→yyini に訂正。
069769304/01/21 12:31ID:KLRTDEd/
>>695
>>696

どうも。yyregiの405行目あたりに加えてみました。
ただ書き込もうとすると500のサーバーエラーが出て加えた文で何が原因かわからない状況です。
すいませんけどわかる方いましたらよろしくお願いします

http://page.freett.com/yataro/yyregi.txt
■ このスレッドは過去ログ倉庫に格納されています