Perl/CGI Online Log Search Script by JR4PUR


Takeshi Nakata, JR4PUR
website: http://sevenpence.org/_/
e-mail: webmaster@sevenpence.org

pK
̃\tgEFA̓t[\tgEFAłB
L̃NWbg폜ȂƂƂāARɗpEEĔzzo܂B
́i񎟓I앨j̍ĔzzRɏo܂B
iRs[tgł邱Ƃɗӂĉj

#Perl/CGI Online Log Search Script by JR4PUR
#Copyleft. April 21, 2010 QSL@JR4PUR
#http://sevenpence.org/_/

Tv
PerlŏICEOT[`łB
CGIgpoT[o[ɃAbv[hĎgp܂B
MO\tgLogger32GNX|[gUQF(asc)t@CҏWɂ̂܂܃f[^x[XƂĎgpł܂B
̃[hɑΉĂ܂B

ECW
ESSB
ERTTY
EAM
EFM
ESSTV

AMAFMASSTVgpꍇ͎gp郂[h̃R[h̐擪́u#v폜ĉBi185sڂ225sځj


̊œ삵т܂B

OS: FreeBSD 7.1-RELEASE-p8 i386
Apache: 1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
Perl: Perl 5.8.9

CGIݒu

ӁF
͂܂ŗłAMgpT[o[ɍ킹ĐݒuĉB
CGIݒuɊւĂ͑̏񂪃lbgɈĂ܂̂łQƂĉB

R[hAsR[hɊւ

XNvgisearch.cgij́AR[huEUCvAsR[huLFvŋLqĂ܂B
Windowst̃ł́uVtgJISṽeLXgt@CҏWł܂̂ŁA
uEUCR[hvŕҏW̏oeLXgGfB^gpB

R[hAsR[hIłeLXgGfB^F

ETeraPad 
EMKEditor
EG(VFAEFA)
Exyzzy 

Perlւ̃pXmFĉB

XNvg1sڂ͋MgpT[o[ɍ킹ĕύXKv܂B

F

#!/usr/local/bin/perl
#!/usr/bin/perl
#!/usr/sbin/perl 
#!/usr/lib/perl

t@C̓]

EĂ鎟̃t@CFTPNCAggpăT[o[ɃAbv[h܂B
Ċet@C̃p[~bVichmodjύX܂B

Eonlinelog.html
Esearch.cgi
Edata.ASC@iQSOf[^`Ȃ悤Ƀt@CύXĉB܂́AʂȃtH_Ɋi[āAtH_̃p[~bV^Cgɐݒ肵ĉj
E***.png@iD݂̉摜gpĉj
E***.png@iD݂̉摜gpĉj

t@CݒuF

./public_html/onlinelog.html            chmod [644] or [604]
             /search.cgi                chmod [755] or [705]
             /data.ASC                  chmod [644] or [604]
             /***.png                   chmod [644] or [604]
             /***.png                   chmod [644] or [604]


./public_html/cgi-bin/onlinelog.html    chmod [644] or [604]
                     /search.cgi        chmod [755] or [705]
                     /data.ASC          chmod [644] or [604]
                     /***.png           chmod [644] or [604]
                     /***.png           chmod [644] or [604]


./public_html/onlinelog.html            chmod [644] or [604]
             /cgi-bin/search.cgi        chmod [755] or [705]
             /data.ASC                  chmod [644] or [604]
             /***.png                   chmod [644] or [604]
             /***.png                   chmod [644] or [604]

search.cgionline.htmlƂ͈ႤtH_ɐݒuꍇAonline.htmlƂ̊eX̃pXύXKv܂B
L̏ꍇF
online.html 6sڂ./cgi-bin/search.cgiɕύX܂B
search.cgi  254sڂ../onlinelog.htmli΃pXjɕύX܂B

gpBAND̐ݒ
XNvg18sڂŎgpBAND̐ݒ肪o܂BiBAND̐UQFt@C̃f[^ƓlɂȂƓ삵܂Bj

\QSOf[^̐ݒ
XNvg23sڂŕ\f[^̐ݒ肪o܂BiCӂ̖̂gpo܂j
܂A243sڂŕ\f[^̑Io܂Bi$CALL,$DATE,$UTC,$BAND,$MODE,$RST̃f[^gpł܂Bf[^ύXƓ삵܂Bj

[h̒ǉ@
UQFt@Cł͋󔒂Ŋef[^؂Ă܂A5ȏ̃[h̏ꍇAׂRST|[gƃf[^Ă܂A܂f[^o܂B
A{Iɂ͕4ȉ̃[hłΎ̃R[hXNvg143sڂ226sڂɒǉ邱Ƃɂgp邱Ƃo܂B
̍ہAǉ郂[hUQFt@C̃f[^ƓlɂȂƓ삵܂B

# ----
		print "<tr style=\"background:$STB_COLOR\">\n";
		print "<td style=\"background:$MTB_COLOR\"><center><span style=\"color: $ITEM_COLOR;\"><b>ǉ郂[h</b></span></center></td>\n";
			foreach $band (@BANDS){
				print "<td width='39'>\n";
					if ($usedBand{$band,ǉ郂[h}){
						print "<center><img src='$QSO_PICT'></center>\n";
					}else{
						print "<center><img src='$NIL_PICT'></center>\n";
					}
				print "</td>\n";
			}
		print "</tr>\n";
# --܂--

CSVt@C̎gp
Logger32GNX|[gCSVt@Cgpꍇ̓XNvg18sڂ̂悤ɏĉB

@BANDS = ('10M', '12M', '15M', '17M', '20M', '30M', '40M', '80M', '160M');

106sڂ235sڂ̂悤ɏĉB

($ADDRESS,$DISTANCE,$ARRL_SECT,$BAND,$CALL,$CNTY,$COMMENT,$CONT,$CONTEST_ID,$CQZ,$APP_LOGGER32_USER_1,$DXCC,$FREQ,$GRIDSQUARE,$IOTA,$ITUZ,$APP_LOGGER32_USER_2,$APP_LOGGER32_USER_3,$MODE,$NAME,$NOTES,$OPERATOR,$PFX,$PROP_MODE,$QSL_RCVD,$QSL_SENT,$QSL_VIA,$QSLMSG,$QSLRDATE,$QSLSDATE,$QSO_DATE,$APP_LOGGER32_QSO_DATE,$QTH,$RST_RCVD,$RST_SENT,$RX_PWR,$SAT_MODE,$SAT_NAME,$SRX,$STATE,$STX,$K_INDEX,$TEN_TEN,$TIME_ON,$TIME_OFF,$TX_PWR,$SFI,$A_INDEX,$eQSL_QSL_SENT,$eQSL_QSL_RCVD,$LOTW_QSL_SENT,$LOTW_QSL_RCVD,$FREQ_RX,$BAND_RX,$CREDIT_SUBMITTED,$CREDIT_GRANTED,$COUNTRY,$APP_LOGGER32_QSO_NUMBER,$APP_LOGGER32_LOTW,$APP_LOGGER32_QSL,$APP_LOGGER32_eQSL) = split(/\,/,$data);

140sڂ̂悤ɏĉB

printf "<th><span style=\"color: $ITEM_COLOR;\"><b>%s</b></span></th>\n", lc$band;

236sڂ243sڂ̂悤ɏĉB

$BAND = lc$BAND;
$QSO_DATE =~ s/(\d\d\d\d)(\d\d)(\d\d)/$1-$2-$3/;
@USE_DATA = ($CALL,$QSO_DATE,$BAND,$MODE);

Logge32GNX|[gCSVt@Cɂ̓_uNH[e[Vi"j܂܂Ă܂̂Ń_uNH[e[V폜ȂƓ삵܂B
_uNH[e[V̓GNZCSVt@CJď㏑ۑ邱ƂŊȒPɍ폜o܂BiGNZ2003ł̎сj
܂AQSOf[^ɃJ}i,jgpf[^ꍇɓ삵Ȃł傤B

Ɛӎ
vOASẴvoC_[AT[o[œ삷鎖͕ۏ؂Ă܂B
vO𗘗pɂ邢Ȃ鑹Q҂͈؂̐ӔC𕉂܂B



73's

Takeshi Nakata, JR4PUR
