vs.hive

So a week or so ago — for no particular reason at all — I decided to update sk.ring, the ancient webring management script that I wrote about a zillion years ago. I got about halfway through it when I realised that all that I was really doing was ripping code out of sk.fan. Now, I’d had an idea once of combining the webring and fanlistings scripts into one big monster script that could handle both those kinds of sites, as well as cliques (remember those?), but in the end never got around to it.

Until now!

So was vs.hive born. Behold its mighty feature set!

  • PHP/MySQL.
  • Lightweight, easy installation and customisation.
  • User and search-engine friendly URLs.
  • HTML Strict.
  • Can be used for webrings, fanlistings and cliques.
  • Stat-block including total members, total queued and last approved members.
  • Notification if no new members have been added recently.
  • Users may log in to change their own details.
  • Users may reset their passwords
  • Fanlisting & Clique: Country list displays most-frequently-used countries first (i.e. it’s non-Anglocentric).
  • Fanlisting: Option for users to hide email if a URL is provided.
  • Fanlisting & Clique: Automatic code sorting and grouping.
  • Webring: Auto-parse member ring code.
  • Dynamically changing Codes and Memberlist depending on hive type.
  • Admin notification on new member and user detail change.
  • Fanlisting & Clique: Optional ‘question’ field.
  • Optional comment field.
  • Optional separate code and ‘main site’ URLs.
  • Validiation for legitimate emails and URLs.
  • Option to disable email notifications.
  • Spam protection for emails on member list page.
  • Optional JavaScript spam protection for forms.
  • Fanlisting & Clique: Upload and delete image codes via the admin panel.
  • Clique: Optional sort by country.
  • Mass-mailing feature.

And all that in only 16 files and one MySQL table! Though technically there are actually only two ‘doing stuff’ files, neither of which exceeds 900 lines; if you can’t tell, I’m kinda proud of the neatness of most of the code (the code sort function is a bit shittacular).

I converted Uncreative and RADIO.BLOGS to vs.hive in ‘webring’ mode, and you can see a demo of the fanlisting mode here. The installs took me all of about five minutes, however I’m conscious that this is my own code so of course I’m going to find it easy to install. If anyone out there in reader land has an extra couple of minutes on day and feels like doing some UAT,1 it’d be most appreciated. The one thing I’m not 100% sure on is how easy the individual pages are to customise; I had to sacrifice a bit of flexibility in the name of light code. Plus I’m sure there are some major security flaws but, meh, whatever! That’s the best part about running scripts that no-one else does; security by obscurity.

  1. It’s not technically beta testing, since the code has been released… but functionally it’s the same deal. ^
  1. Everything I Know I Learnt From Cartoons
  2. Music Monday #3.3
  1. Everything I Know I Learnt From Cartoons
  2. Music Monday #3.3