AjaxQDB


Progress on the code audit is slow, I want to enjoy what I'm doing so I'm not gonna push myself to do it any faster.

GOOD NEWS EVERYONE: I uploaded AjaxQDB to a subdomain, have a look around.

AjaxQDB originally started off as a PHP and MySQL project at TAFE, I wanted to see if I could write a functional replica of Bash.org, with noteworthy features from QDB.us included.
For the most part, I exceeded my expectations and had a fully functional clone of Bash.org running by the end of the year.
Notable improvements over bash's design include use of more "modern" and strict HTML coding standards, CSS and a template based design which all allow the site's look and feel to be changed far more easily.

Since I enjoyed creating it, I decided to try and "Mirror" Bash.org's quote archive, I wrote another little script in PHP to parse their site with regular expressions, one page at a time and dump the quotes into my database. I also succeeded at this task and I now have an archive of roughly ~20,000 quotes which is good for experimenting with SQL queries.

Then I took it another step further and asked myself "How can I make this the best quote database system ever?"
The answer for me was "Make the voting system easy enough to use that people will keep on using it, rather than getting frustrated"
The existing voting system on Bash.org takes the user away from reading, and makes them lose their "place" on the page.

My solution is a small AJAX library that I wrote, well it can't really be called a "true" AJAX library because it does not use XML or XMLHttpRequest. Instead I use the DOM to create new SCRIPT elements which refer to the address of a PHP script with GET variables, this allows me to pass data to the server and get a response of PHP generated Javascript, but most importantly, it works on every browser that has Javascript support. The library itself is worth another whole page of writing so I wont say anymore about that.

I used this AJAX library to make the voting one click, easy.

Now, the administrative "panel" is still a little flakey, I never figured out how to divide all the unapproved quotes up amongst the moderators evenly (Not that it matters as the bash.org and qdb.us administrators usually let 10,000 unapproved quotes build up, the lazy gits)

When I see fit I'll upload the code and MySQL, once it's been cleaned up and documented a little more for distribution.