#!/usr/mesh/bin/perl # # program name : showldc.cgi (Show Link Destination Counts) # # function : Show Link-Destination-Counts on Web page. # # note : This counter is made for web site where cgi written by perl # is available. # # programmer : makoto takenaka : takesoft@mxs.meshnet.or.jp # # copyright : (c) 1996 by Takesoft # # version(date): # 1.0(Nov 5, 1996) # 1.1(Nov 6, 1996) Add URL numbering column to table. # 1.2(Nov 9, 1996) Add knum, first and last parameters. # 1.3(Nov 10, 1996) Add tail parameter. # 1.4(Nov 15, 1996) Add bdir, ldc1 and s_count parameters. # Change die to "exit 1" in sub error_message. # Table is centered. sub error_message does not # mail, but print out error message. # 1.5(Dec 20, 1996) Show total hit counts $total. # # parameters : # order=1 (original URL order) # 2 (descending order) # 3 (ascendting order) # 4 (URL-alphabetic order) # knum=0 (no numbering) # 1 (normal numbering) # 2 (reverse numbering) # first=n (first URL data to be shown, def is 1) # last=n (lase URL data to be shown, def is 1000000) # tail=n (show last n URL) # # Form Button (1): #
# # Form Button (2): # # # Anchor tag : # [TOP 20] # shows top 20 URL with numbering. # #(1) Send Content-type to browser. # print "Content-type: text/html\n\n"; # #(2) set constants and initial value. # $limit = 1000000; # size limit of ldc1.txt file for sorting(byte) $def_bdir = "./"; # default name of directory $def_ldc1 = "ldc1"; # default ldc1 file(.txt) $def_s_count = "s_count"; # default s_count file(.txt) $showldc_cgi = "showldc.cgi"; # URL of showldc.cgi $link_page = "link.html"; # URL of link page $home_page = "../index.html"; # URL of home page # $url_number = 0; # URL number # # If absolute directory name is required, change $def_bdir such as # "/home*/user_id/public_html/link/" or # "/home/usr*/user_id/public_html/link/", # where * is a number, "link" is an example of directory of link page. # #(3) get parameters from string. # $buffer = $ENV{'QUERY_STRING'}; # @pairs = split(/&/, $buffer); # foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $parameters{$name} = $value; } # $order = $parameters{'order'}; unless($order) {$order = 1;} # Default for $order is 1. $knum = $parameters{'knum'}; $first = $parameters{'first'}; unless($first) {$first = 1;} # Default for $first is 1. $last = $parameters{'last'}; unless($last) {$last = 1000000;} # Default for $last is a big number. $tail = $parameters{'tail'}; $bdir = $parameters{'bdir'}; unless($bdir) {$bdir = $def_bdir;} # name of base directory $ldc1 = $parameters{'ldc1'}; unless($ldc1) {$ldc1 = $def_ldc1;} $s_count = $parameters{'s_count'}; unless($s_count) {$s_count = $def_s_count;} # $ldc1_file = "$bdir$ldc1.txt"; # file of link destination count $s_count_file = "$bdir$s_count.txt"; #number of guests to showldc.cgi # if(-e $ldc1_file) { $ldc1_size = (-s $ldc1_file); # Get size of ldc1_file. if($ldc1_size > $limit) { print "ldc1.txt file size ($ldc1_size bytes) is lager than $limit.\n"; print "Sorting is not available, show as present order.\n"; $order = 1; } } else {&error_message("(3): File $ldc1_file is not found.");} # #(4) Print first part of Web page. # #(4.1) Set counter. # open(COUNTFILE, "+< $s_count_file") || &error_message("(4.1): Unable to open $s_count_file"); flock(COUNTFILE, 2); $scount =[ACCESS #$scount]
Number | ";} print "Count | URL | Comments | ||
---|---|---|---|---|---|
$url_number | ";} elsif($knum == 2) { $reverse = $nlines - $url_number + 1; print "$reverse | "; } print "$count | $url | "; if($comment) {print "$comment | ";} else {print "|
$url_number | ";} elsif($knum == 2) { $reverse = $nlines - $url_number + 1; print "$reverse | "; } print "$count | $url | "; if($comment) {print "$comment | ";} else {print "|
$total | Total URL hit counts |