PHP/MYSQL Timesheet
Copyright (C) 2005 Carey Briggs

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

---------------------------------------------------------------

This script works with Internet Explorer, Mozilla Firefox, and
Netscape on windows. Macs are limited to Netscape and probably
Firefox (although it hasn't been tested).

This script was not originally intended to run on a network, but
since I have noticed it in the National Vulnerability Database,
I have decided to escape variables before using them in the query
just in case someone decides to run it with public access.

Using the script:

1. Configuration
You must specify your mysql settings at the top of
connect.php. The script is set to use the default user
'root' with no password. You must also import the file
timesheet.sql into mysql (or create the database/tables
manually).

2. Setting the due date
This timesheet assumes that, like most people, you have a 2
week pay period. To set the day your timesheets are due, hold
down either the shift key or F2 and click on the day. The
first time you run the script you may see some warnings. Just
ignore them and continue to set the due date.
For the script to count your hours correctly, this should be
the last day timesheets were due BEFORE you start putting in
hours. If you don't do this correctly, don't stress it. The
calendar will eventually catch up and work properly.

3. Recording Hours
Just click the day on the calendar that you wish to record
hours on and use the up and down arrows to set how much time
to add or subtract. Then click 'Go'.

4. Moving The "Hovering", Virtual Window
This has been changed to emulate dragging on a mac or PC.
Click down on the titlebar of the window (and while holding
the mouse button down), drag it elsewhere, then release.

5. Navigation
You can change months by clicking on the '<-prev' or 'next->'
areas at the top of the calendar.

6. Automatic Summing of Hours
There will be an underscore on the days that your timesheet
is due. If you place the mouse over those days, a small
window will pop up with the total number of hours that you
have accumulated for the previous 2 weeks (in other words,
how many hours you have on that timesheet). In addition,
if you place the mouse over the one week point on the
current pay period, you will see the number of hours worked
in just that first week.

7. Strange stuff
I decided that in order to be able to see the calendar days
better, the hours for a certain day should be hidden when the
mouse is over that particular day. It's not a bug. I just 
thought it'd be cool.

8. Printing Records
I have added the ability to generate a text page displaying
a record of all hours on the current month, as well as a
description for the work done each day. Clicking on
"print descripts" will display this page.

9. If You're A Programmer
Try to be generous and give something back to the free
community. Far too many people charge for awesome tools.
If you have a good script you've written, share it under
the Gnu Public License. Everyone will appreciate it.