| |
|
WMU > OIT > Help Desk > Web
Web Hit Counter Guide
This is
a CGI script used to keep a record of the raw hits of a Web page. It
generates a GIF image of the number of hits and returns it to the browser
as an image. The program also has an option not to show the digit images.
This way the hit count can be kept without displaying it.
Insert
the following code in your page:
<img
src="/cgi-bin/Count.cgi?df=username_uniquename.dat">
Replace
username with your Bronco NetID. For example, if your Bronco NetID is
'b3johnst' then, replace "username" with "b3johnst". Replace uniquename
with a unique name for that specific counter. Use the same username,
but a different unique name for all counter files on your pages.
Return
to Top
Below
are available digit styles. To specify one of the below digit styles,
include &dd=style in your code line. For example,
<img
src="/cgi-bin/Count.cgi?df=username_uniquename.dat&dd=C">
would
create a hit counter using Style C digits.
Style
A

designed by the author
Style
B

Borrowed from HTML-access counter.
Style
C

designed by benjamin@pop3.oro.net
Style
D

designed by the author
Style
E
designed by the author
Style
F

designer unknown
Style
G

designer unknown
Style
H

designer unknown
Style
cd

designer unknown
Style
cdd

designer unknown
Style
cdr

designer unknown
Return
to Top
| Parameter |
cache=B
expires=X |
| Name |
These
parameters can be used to change the image caching behavior
of certain Web browsers. |
| Description |
The
boolean value of cache tells the browser whether
to cache the image or not. The integer value of expires specifies the cache expiration duration time in seconds.
If you specify cache=F, the browser will be told to
cache the image for the amount of seconds specified
with expires parameter. if cache=F and expires=0, then
the browser should not cache the image, that is whenever
you come back to the page, the counter or clock will
be refreshed. Use this feature with discretion as it
may increase load on your system. The expires parameter is meaningless without cache=F, that
means, if cache=T is specified, expires parameter is
ignored and the counter will not generate any HTTP Expires
header. This is the default behavior. The valid values
for the boolean parameter cache is Y,N,F,T 1 or 0. The
valid integer range of the expires parameter is between
0 and 604800 (7 days).
Note, these parameters will work
with browser supports the HTTP Expires header as specified
in HTTP specification. By default, most Web browsers
caches the image got from the counter. That means,
if someone visits your page and comes back after a
while, the counter or clock does not get refreshed. |
| Default |
cache=T
expires=0
|
|
| Parameter |
cdt=year;month;day;hr;min;sec
(Added on: Dec-13-1998) |
| Name |
Show
the countdown time to this target date. |
| Description |
The
parameter cdt specifies the countdown target date. The
valid values for this parameter is 6 integers separated
by semicolon. The first integer specifies the year,
for example: 2000. The month starts at 1 (January).
The first day is 1. Note: in Unix systems, the year
can not be less than 1970 as Unix epoch starts starts
at 00:00:00 on January 1, 1970, Coordinated Universal
Time (UTC). The range of hr is 0 to 23. The range of
min is 0 to 59 and the range of sec is 0 to 59. To count
down to Year 2000, the parameter will be: cdt=2000;1;1;0;0;0.
If you do not specify any Timezone with the parameter
timezone, the countdown will be calculated from the
Web server time. For example if you like to show the
countdown from GMT, specify timezone as: timezone=GMT+0000. |
| Default |
None |
|
| Parameter |
cdf=year;month;day;hr;min;sec
(Added on: Jul-17-1999) |
| Name |
Show
the countdown time from this date. |
| Description |
The
parameter cdf specifies the countdown from date.
The default is to calculate from the current local time
or local time of a specific timezone if the parameter
timezone is specified. The valid values for this parameter
is 6 integers separated by semicolon. The first integer
specifies the year, for example: 1999. The month starts
at 1 (January). The first day is 1. Note: in Unix systems,
the year can not be less than 1970 as Unix epoch starts
starts at 00:00:00 on January 1, 1970, Coordinated Universal
Time (UTC). The range of hr is 0 to 23. The range of
min is 0 to 59 and the range of sec is 0 to 59. |
| Default |
The
local Web server time. |
|
| Parameter |
sdhms=B |
| Name |
Show
the day, hr, min, sec in countdown or not. |
| Description |
This
parameter affects how the countdown is displayed. The
valid values for the Boolean parameter sdhms are Y,
N, T, F, 1 or 0. By defualt, the value for this parameter
is True, that means the countdown is shows as Day, Hour,
Min and Sec. If you just want to show the countdown
days, specify F as the value. |
| Default |
sdhms=T |
|
| Parameter |
sfd=B |
| Name |
Show
from date (sfd) below the countdown. |
| Description |
The
parameter sfd shows the from date below the countdown.
The from date is the time when the program is executed.
The time in date is always in 24 hr format. If you use
the parameter timezone, the timezone offset will be
shown at the end of time. It may be necessary to see
this date to make sure that the Counter program actually
ran and the browser is not loading the image from cache.
Use cache=F&expires=0 to make sure that browser
does not cache the image. The valid values for the Boolean
parameter sfd are Y, N, T, F, 1 or 0. |
| Default |
sfd=F |
|
| Parameter |
display=X |
| Name |
Specifies
what to display. |
| Description |
The
valid values for X is: counter, clock, date, countdown, image or version.
If the value is countdown and if the countdown time
is not specified with parameter cdt, the countdown to
year 2000 is assumed. See also: cdt. Note: If you specify
display=image and if you specify a datafile with df
parameter and if incr is true, then counter will be
incremented in the datafile. This will help some people
who do not like to show the counter, instead they can
show an image. You can use incr=F from another page
to monitor the counter. |
| Default |
display=counter |
|
| Parameter |
timezone=X |
| Name |
Display
time/date of the specified timezone. |
| Description |
The
parameter timezone= is only significant with display=clock,
display=date or display=countdown Use this parameter
if you want to display time or date of another timezone
or calculate countdown in reference to a timezone to
a target date. The timezone must be specified with a
negative or positive four digit offset from GMT, for
example: timezone=GMT-0500 or timezone=GMT+0000 or timezone=GMT+0530.
The routine to display time of various timezones are
written in a generic way. Therefore, the unix machines
will not be aware of daylight saving time because of
the way the routine is written. For example, if daylight
saving time is on, to display time of NY, the timezone
will be timezone=GMT-0500 instead of timezone=GMT-0400.
If the clock displays your local
time wrong, specify your timezone with that parameter
in order to display the correct time. |
| Default |
None. |
|
| Parameter |
tformat=X
|
| Name |
Time
format in 12 or 24 hour. |
| Description |
This
parameter can be used to display time in 12 or 24 hour
format. The valid values for the parameter X is 12 or
24. |
| Default |
tformat=12 |
|
| Parameter |
dformat=X |
| Name |
Specifies
date format. |
| Description |
This
parameter is only significant with display=date. The
valid value for the string parameter X is any combination
of MMDDYY (Month-Day-Year). For example, dformat=ddmmyy,
dformat=YYMMDD. |
| Default |
dformat=MMDDYY |
|
| Parameter |
fy=B |
| Name |
Show
the full year (fy) in the date instead of only two digit
year. |
| Description |
This
boolean parameter indicates whether to show all the
year digits instead of default two digits in the date.
By the way the program will display all the year digits
by default from Year 2000. The valid values for the
boolean parameter fy are Y,N,T,F,1 or 0. See also: dformat. |
| Default |
fy=F |
|
| Parameter |
trgb=R;G;B
or
trgb=RRGGBB (in hex) |
| Name |
Transparency
Color |
| Description |
Specifies
the color to be made transparent in RGB (red/green/blue)
format. Each color component, R, G, and B is specified
as a value between 0 and 255. If you use tr= without
a trgb= param, the default color is used. The color
can be specified as hex string or a name. Do not use
a # before the hex string as Netscape. For example,
if you want to specify white in hex, use trgb=ffffff.
You also can use a color name (e.g. trgb=blue) if the
counter is configured to do so (look at the cfg file).
Look at the color name mapping database for some hints about
color name database. If you use trgb= then tr=Y is not
needed. |
| Default |
trgb=0;0;0
or
trgb=000000 |
|
| Parameter |
istrip=B |
| Name |
Use
of image strip On/Off |
| Description |
The
boolean value of istrip specifies whether to use image
strip or not. If you specify istrip=F, the program will
look for the individual digit image files in the digits/style
directory. The valid values for the Boolean parameter
istrip are Y, N, T, F, 1 or 0. |
| Default |
istrip=T |
|
| Parameter |
ft=X |
| Name |
Frame
Thickness |
| Description |
You
can wrap the counter in an ornamental frame of X pixels
thick. Use 0 for no frame. Values over 5 make a nice
3-D effect. |
| Default |
ft=4 |
|
| Parameter |
frgb=R;G;B
or
frgb=RRGGBB (in hex) |
| Name |
Frame
Color |
| Description |
Specifies
the color of the frame in RGB (red/green/blue) format.
Each color component, R, G, and B is specified as a
value between 0 and 255. If you use ft= without a frgb=
param, the default color is used.
If you specify a frgb= without a
ft=, then the frame thickness defaults to 5. All the
examples show ft=5. The color can be specified as
hex string or a name. Do not use a # before the hex
string as Netscape. For example, if you want to specify
white in hex, use frgb=ffffff. You also can use a
color name (e.g. frgb=blue) if the counter configured
to do so (look at the cfg file). Look at the color name mapping database for some hints about
color name database. |
| Default |
frgb=100;139;216
or
frgb=648bd8 |
|
| Parameter |
tr=B |
| Name |
Transparency
On/Off |
| Description |
You
can specify if your counter image will have a transparent
color with the Boolean B. So tr=Y means there will be
a transparent color. It does not matter if the GIF files
used for the digits are "transparent"; you must specify
explicitly which color to make transparent. If you specify
a trgb=, then you do not need to specify tr=Y. If you
specify tr=Y and do not specify trgb=, then the default
color black will be transparent. The valid values for
B are Y, N, T, F, 1, or 0. |
| Default |
tr=F
No Transparency |
|
| Parameter |
md=X |
| Name |
Max
Digits |
| Description |
Defines
maximum number of digits to display. Any value between
5 and 10 inclusive are permitted. Padding with leading
zeros is automatically done for you; longer counts are
truncated to the given X. |
| Default |
md=6
Without padding |
|
| Parameter |
pad=B |
| Name |
Left
padding with 0s |
| Description |
Turn
padding on/off in conjunction with md= setting. Valid
values for the Boolean parameter B are Y, N, T, F, 1,
or 0. |
| Default |
pad=N
Without specification of a md=value
pad=Y
With specification of a md=value |
|
| Parameter |
dd=A |
| Name |
Digit
Directory |
| Description |
Denotes
directory of a specific styles of digits. Four styles
of digits are supplied. They are kept at the directories
A,B,C and D respectively. Visit the digit
mania page for other styles of digits. |
| Default |
dd=A
My green LED digits |
|
| Parameter |
image=gif_file |
| Name |
Display
this GIF file |
| Description |
You
can display any GIF image specified with this parameter.
The location of this file is determined by the dd= parameter.
Note that no path in the GIF file is allowed. All attributes
of the counter apply to the image. This parameter is
used for compositing counter image with the GIF image.
The default alignment is top-center and the default
offset is 2 pixels from the top of the GIF image. If
you want to composite clock, date or contdown, specify
so with the display paramter. |
| Default |
None |
|
| Parameter |
comma=B |
| Name |
Display
comma after every 3rd digit from right. |
| Description |
The
boolean value of parameter comma specifies whether to
display comma after every 3rd digit from right. If you
use this parameter as true, the left padding with zeros
will be turned off. |
| Default |
comma=F |
|
| Parameter |
srgb=R;G;B
or
srgb=RRGGBB (in hex)
prgb=R;G;B
or
prgb=RRGGBB (in hex) |
| Name |
Change
a color of the image to a target color on the fly. |
| Description |
Any
one color of the image can be changed to a different
color on the fly. srgb stands for source color, that
is the color to change. prgb stands for pen color, that
is the target color. The values for srgb and prgb can
be colon separated color components (e.g, srgb=255;0;0),
a hex value (e.g. srgb=ff0000) or a color name (e.g.
srgb=red). The color name can be used if you configured
the counter to do so (look at the cfg file). |
| Default |
srgb=00ff00
(0;255;0 green)
prgb=00ffff
(0;255;255 cyan)
With
chcolor=T |
|
| Parameter |
chcolor=B |
| Name |
Change
a color of the image. |
| Description |
This
parameter is usually used to change the default green
color to cyan. That is if you specify chcolor=T, and
you want to change green to cyan, then you do not need
to specify srgb and prgb parameters. 1x1 GIF is displayed.
The valid values for the Boolean parameter B are Y,
N, T, F, 1, or 0 |
| Default |
chcolor=F |
|
| Parameter |
st=X |
| Name |
Start
Count |
| Description |
This
parameter is used to set the initial value of the counter
to some number X. This is only valid if you decided
to allow automatic datafile creation. It is a bad practice
to allow automatic datafile creation, however it makes
site maintaining easier. The automatic datafile creation
option is specified in configuration file and can be
changed at run time. Note that this parameter has no
effect if the datafile already exists. If you want to
change the counter value in a existing datafile, hand
edit the file. The minimum value for st is 1. |
| Default |
st=1
Count starts at 1 |
|
| Parameter |
sh=B |
| Name |
Show
digits |
| Description |
Used
to turn display of digits on or off according to the
Boolean B. When sh=T, counter will be displayed and
incremented, this is the default behavior.
If sh=F no digits will show, but
the counter will still increment; instead of digits
a transparent 1x1 GIF is displayed. The valid values
for the Boolean parameter B are Y, N, T, F, 1, or
0 |
| Default |
sh=Y |
|
| Parameter |
df=data_file |
| Name |
Datafile
to store count |
| Description |
Specifies
the name of the file for storing the count in. The file
must be allocated to you as was mentioned in the "Authorizations"
section above. You can use df=random to display a random
number.
One special use of the parameter
is df=RANDOM. This returns a random number using the
fractional portion of the host's time of day clock
as a seed for the generator. Unlike all other WWWcounter
parameters, the file name provided is case-sensitive,
except for the value random. Or Random, or rANDOM,
etc. |
| Default |
df=random
if no datafile is specified |
|
| Parameter |
incr=B |
| Name |
Increment
Count |
| Description |
Makes
it possible to display the current count without incrementing
the count. This can be used to examine the count for
reporting or other purposes without adding to the count.
Valid values for the Boolean parameter B are Y, N, T,
F, 1, or 0.
|
| Default |
incr=T
Increment the counter |
|
| Parameter |
lit=X |
| Name |
Display
literal |
| Description |
Makes
it possible to display a given, predetermined string.
The valid values for the string X are digits, a,p,:
and - |
| Default |
None |
|
| Parameter |
negate=B |
| Name |
Negate
the color |
| Description |
Makes
it possible to negate the color of the counter digits.
Note that the Frame is exempted from negating. Valid
values for the Boolean parameter B are Y, N, T, F, 1,
or 0. |
| Default |
negate=F
Do not negate |
|
| Parameter |
degrees=X |
| Name |
Rotate
X degrees |
| Description |
Makes
it possible to rotate the counter image X degree. The
possible values of X is 90, 180, 270 and 360. Note 360
is meaningless as the counter will come back to the
original 0 degree. |
| Default |
degrees=270
With rotate=Y and without degrees=X
rotate 270 degrees clockwise |
|
| Parameter |
rotate=B |
| Name |
Rotate
On/Off |
| Description |
The
Boolean value B turns on or off rotating. If you use
degrees= setting, rotate is not needed. Valid values
for the Boolean parameter B are Y, N, T, F, 1, or 0. |
| Default |
rotate=F
Do not rotate |
|
| Parameter |
xy=x;y |
| Name |
composite
the counter image to a base image at the location x,y |
| Description |
When
a base image is specified with image parameter, the
parameter xy can be used to composite the counter image
on the base image at location x,y. x is positive towards
right and y is positive downward. The co-ordinate of
the upper left corner of the base image is 0,0). See
also: align. |
| Default |
xy=1;1 |
|
| Parameter |
align=X |
| Name |
composite
the counter/clock/countdown image with a base image
and align the counter image. |
| Description |
This
option can be used to composite the counter on a base
image (specified with image with known width and height.
This way, you will be able specify the width and height
of the counter image in the <img src= tag while calling
the counter. The implication is, if the counter is the
first thing in a large table, the browser will not have
to wait to calculate the width and height of the counter
image before loading the rest. The valid value for the
parameter align is topleft, topcenter, topright, midleft, midright, midcenter, bottomleft, bottomcenter and bottomright.
The parameter offset can be used to specify the offset
in pixels from the edge of the base image. Note:
xy parameter has higher precedence than align. Therefore,
if both xy and align is specified xy will take the precedence.
See also: xy. |
| Default |
align=bottomcenter |
|
| Parameter |
offset=N |
| Name |
Offset
of the counter image in pixels from the edge of the
base image while compositing the counter with an image. |
| Description |
The
parameter offset is used with parameter align to specify
the offset of the counter image in pixels from the edge
of the base image while compositing the counter/clock
image with an base image. If align=topleft, the the
offset is counted from the top and left edge of the
base image. If align=topcenter, the offset is counted
from the top edge of the base image. If align=topright,
the offset is counted from the top and right edge of
the base image. If align=midleft, offset is counted
from the left edge of the base image. If align=midcenter,
offset is ignored. If align=midright, offset is counted
from the right edge of the base image. If align=bottomleft,
offset is counted from the left and bottom edge of the
base image. If align=bottomcenter, offset is counted
from bottom edge of the base image. If align=bottomright,
offset is counted from the right and bottom edge of
the base image. The valid value for the paramter N is
a positive integer. See also: xy. |
| Default |
offset=2 |
|
Return
to Top
Resetting
the Counter
Return
to Top
Copyright
1995-1999 by Muhammad A Muquit. Permission to use, copy, modify and
distribute this program is hereby granted without fee, provided that
this copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation.
If the source code of the program is modified or enhanced, the source
code must be made public and it must be clearly mentioned in the documentation
what was modified.
THIS
PROGRAM IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. THE
AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
THE AUTHOR Muhammad A. Muquit BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.
Note:
This program is developed in my own time. My employer has nothing to
do with it.
Acknowledgment
Thanks
to John Cristy for ImageMagick.
I took many routines from ImageMagick for the GIF image combining library.
I borrowed the font array and some code from gd
library. Thanks to Tom
Boutell. Thanks to Philip A. Nelson (phil@cs.wwu.edu) for writing
GNU bc. I took a portion of the library to add two big numbers. Thanks
to Jordan Russell for
Inno Setup. I used it to create the self extracting Counter binary for
NT. Special thanks to Kevin
J. Walsh. Without Kevin, the counter won't be in the current stage.
Kevin did the major code overhauling in Count version 2.0. Thanks to
all of you who showed interest in the counter program. I had fun writing
it.
|
|