Code: Select all
Bio's BugTracker V2.5 ~MySQL Version~
Copyright (c)2005 BioHazard
--==***************************************************************==--
-- What is it? --
--==***************************************************************==--
Bio's BugTracker is a system for tracking problems (bugs) that is
specifically designed for video game projects. Bugs are sorted into
up to 250 different user-definable categories and each section has
a sign in/out function so work does not overlap. Each bug includes
a screenshot, description and marking convention for easy browsing.
--==***************************************************************==--
-- How do I set it up? --
--==***************************************************************==--
Well first of all, here is a checklist of things you will need:
* PHP 4 or greater must be installed and working on the server.
REGISTER_GLOBALS must also be DISABLED.
* MySQL must also be set up and you need a database login etc...
* You need to have file read/write privileges in whatever folder
you install Bio's BugTracker into.
* You need to be able to create a database table with some given
columns and insert a few rows into it. (I'll script this later)
* You need at least a basic knowledge of how to read the config
part of the .php file. I'll walk you through it later.
Now onto the installation... Bio's BugTracker is pretty easy to
install in 4 easy steps and 1 fairly hard step.
1. Unzip the BugTracker .zip file to a place on your server.
2. Create a directory for to keep screenshots in.
3. Create a table in your database to hold the information. It
must contain the following rows (exactly):
|name| type | collation |attributes|null|def|
* id INT(10) UNSIGNED no 0
* link TINYINT(3) UNSIGNED no 0
* stat TINYINT(3) UNSIGNED no 0
* name VARCHAR(16) utf8_general_ci no
* text TEXT utf8_general_ci no
4. Open the .php file in a text editor. (like TextPad) There are
a bunch of options at the top, there are descriptions with
them so it shouldn't be too hard to figure out what a given
option does. Set these options now.
5. Now the tricky part. (If enough people have a problem doing
this, I'll write a script for it.) We have to insert a few
system rows into the database. First run this query: ([table]
is the name of the table you created for the tracker.)
"INSERT INTO '[table]' VALUES('1','0','255','','bug_counter')"
That sets up the bug counter. Now we need to add maps. maps
are set up as follows:
* id = where the map shows up on the index page. SORT ASC.
* link = A unique number to this section to be associated
with bugs. For example: if MAP01 has a link of 1,
any bugs with a link of 1 will belong to MAP01.
* stat = Always "254".
* name = Name of the section (e.g.: "MAP01") Limit 16 chars.
* text = Always "None".
So a 3 basic sections would be set up a such:
"INSERT INTO '[table]' VALUES('0','0','254','MAP01','None')"
"INSERT INTO '[table]' VALUES('1','1','254','MAP02','None')"
"INSERT INTO '[table]' VALUES('2','2','254','RESRC','None')"
In this case, the first map to show up on the index page
would be RESRC (because it's id is '0') followed by MAP01
and then MAP02. Bugs with link set to '0' will appear under
MAP01 due to it's link value.
NOTE: I hope that was clear. Try it a few times and contact
me if you still have problems.
6. You should be done now unless something bad happened. Load
up the page and check it out.
--==***************************************************************==--
-- How do I set up multiple trackers on one server? --
--==***************************************************************==--
Bio's BugTracker is set up to run from 1 file so you can have
multiple trackers even in the same folder. All you need to do is:
1. Rename the .php file to something and change the $vr_thisfile
var to reflect the change.
2. Make a data folder to store the screenshots in and change the
$vr_datadir var appropriately.
3. If the new tracker uses a different stylesheet, rename the
.css file and change the $vr_cssfile var accordingly.
4. Make a database table and set it up as explained in the set-up
instructions and point the $vr_db_table var at it.
--==***************************************************************==--
-- What about security? --
--==***************************************************************==--
I didn't feel that a full-blown user-based security system would
really be necessary so I implemented a single-password setup. There
are 3 security levels available. (set with the $vr_ath_level var.)
NOTE: This text is paraphrased in the config file.
* Level 0: Anyone can do anything without needing to log in. Sort
of like a bug wiki.
* Level 1: Anyone can post new bugs, but you have to log in to
edit, alter map ownership or change a bug's status.
* Level 2: If you aren't logged in, all you can do is look at the
bugs. Posting bugs is restricted.
* Level 3: You can't even look at the bugs unless you are logged
in. The tracker is hidden from anonymous users.
When you log in, a cookie is stored on your machine to verify that
you are logged in. *Hey, this is a secret message. I'm so glad you
are actually reading al of this!* Therefore, cookies must be
enabled to use a tracker with a security level higher than 0.
--==***************************************************************==--
-- Hey! Look at all the pretty PHP! Can I use it? --
--==***************************************************************==--
I'm pretty open to whatever you want to do with it but I do have a
few rules I'd like you to follow:
* If you want to take the source and write some minor mods for it
(e.g.: port it to oracle, etc...) please contact me! I want to
hear about your experiences with it and I'll help if I can.
Just make sure you keep it free.
* If you just want a function or regex or something from it all I
request is that you put a comment on the line borrowed or in
the function header saying something like "Thanks Bio!", etc...
* In any case, if you really like my software enough to play with
the source, please go back to my site and rate it and post a
comment. If you are a really really nice person you would
donate a bit of cash too to show your support.
* I also grant permission to use this code in GPL projects. The
previous 2 points still apply.
I'm probably going to need to write that script to set it up huh?