Blog Update

I finally took some time to refresh the blog design – I decided to settle for a simpler theme that does not involve a background image that is almost ½ a megabyte in size (plus the fact that my previous theme was having some display issues with the latest version of WordPress).

Anyway, the awesome new theme I am using is called Fifty fifth Street. I didn’t really like their font colors (a little too light for reading, in my opinion) and the heading font choice (Georgia? Really?), so I modified the theme a little – I think Helvetica Neue Light (Arial for you Windows users who don’t have that gorgeous font) is a much better choice.

Besides the cosmetic changes, I also adjusted some settings. For one, when you point your browser to, you will now land on my “About Me” page rather than the index of my posts. I think this is better as it provides some context to my blog posts. Also, sometimes my posts are image-heavy and can bog down the loading time quite a bit, so having a static landing page would be better.

I do hope these changes enhance the user experience.

My Integrated Contact Form script is now available for download. However, please know that it is not the version I had planned but rather an older version. I released it because with the new project I’m working on now, there would be no time to update the ICF script (not that I have updated it since last year.) Also, this version might not be stable – I did not test it extensively. However, I am releasing the source code so you guys can fix modify the script. If you find any bugs, please feel free to leave a comment or contact me.

New build of ICF coming 28th Jan

I’ve decided that instead of wasting my life away, I shall do something productive before I enlist. I have been thinking of creating a new web application, but gave up on that idea eventually since a) I couldn’t come up with a decent idea and b) any web application these days requires great familiarity with AJAX, which sadly I lack. I have also been considering rewriting Project Extension, but that would be quite a large scale project. So in the end I have decided to update my Integrated Contact Form script, as previously promised.

However, I know how long it usually takes before I push an update out of the door (due to my own procrastination and lack of focus) and so I have decided to change the way I do things this time around. Regardless of how many new features I manage to implement, I would get a build of ICF online on the 28th Jan, which is a week away. This gives me 6 days to code (ok, less than that, since I wouldn’t be at home all week) and 1 day to clean up and prepare the code for release. In theory, I would be more productive and you all would get more frequent updates.

Below is a updated features list for the upcoming build in terms of priority (most of these features below would be available as options). Note that I have decided to remove the Administration panel since I don’t think many of you guys actually use that feature, but I would make it available as an add-on sometime later.

  1. CAPTCHA check
  2. Prevent too many emails from being sent within a short period
  3. Email validation. If turned on, the visitor would be sent an email, where they would have to click a confirm link before their email is sent.
  4. Greater flexibility with themes and language file (even though the themes are almost ready)
  5. File restructuring

So keep watching this space or subscribe to my RSS feeds (link to feed dedicated to ICF updates) or follow me on Twitter (@wuxiaotian)

Some pretty pictures

Below are the themes that will be included in the new Integrated Contact Form. Full credits to CSSGlobe and for these templates which I just adapted for use. However, I am sad to announce that I am pausing work on the script as I really need to focus on my studies and eliminate any distractions. But for now, some pretty pictures:

New Integrated Contact Form default theme
The new default theme
(More after the break) Continue reading Some pretty pictures

Modular Development

I am really glad I used modular development for ALS now. It makes it so easy to reuse code from ALS in my Integrated Contact Form. I am currently using the update module (by the way, I just realized the fgetcsv() function requires a length parameter in PHP 4 (optional in PHP 5) – eg. fgetcsv ($fp,256). Refer to here for more details. ) and I do have plans to reuse my CAPTCHA module as well. I should really adopt modular programming as the basis of all my future scripts and projects.

I realized I do make lots of careless mistakes in my coding sometimes. For example – in my CAPTCHA module, I defined the file as a gif in the headers, but I used imagepng() to generate the actual image, so I suppose it’s a png file in a gif container (though I am not perfectly sure).

Anyway, I was basically cleaning up the ICF code in the past few days. It’s really a mess after not having touched it for 2 years (the latest build was 20071011 – meaning it was realized on the 11th Oct 2007). Keep you guys updated.

A quick peek at one of the themes. Sadly, I have to remove support for ALS themes and singular stylesheets (meaning you have to create a theme in order to customize the look) – but the whole thing is a lot more flexible now.
Integrated Contact Form Black Theme

Integrated Contact Form to be updated

It’s being a while since I updated Integrated Contact Form (now at v0.06B) – in fact so long that I can’t seem to remember when was the last time I actually updated the script. As some of my script users would probably know, I am most efficient in writing code during exam periods (don’t ask why) and so I will try to see if I can do an update to the script over the next 2~3 months or so.

For new visitors, Integrated Contact Form is a simple web contact form powered by PHP that is meant to protect your email from spammers. However, what makes it unique is that it offers 2 ways of delivering the message – by storing the message in a MySQL database that can be viewed with the included admin panel and the more conventional way of emailing the message.

I have in mind a major update, pushing the script to its first final version – v1.00, though depending on my workload and study progress, I may release small updates featuring a few improvements. It would be a rather major rewrite of the code though. Here’s a list of what I have in mind right now:

  • CAPTCHA Validation (available as an option). I am still considering whether to use reCAPTCHA or to use my own CAPTCHA module from ALS.
  • Email validation (available as an option). If turned on, the visitor would be sent an email, where they would have to click a confirm link before their email is sent.
  • Prevent too many emails from being sent in a short period of time.
  • Full-fledged Administration panel (for those storing messages in the database). More details below.
  • Greater theme flexibility. I have the intention of including these themes together with the download.
  • Use of API to release Email addresses safely when the system fails (due to a problem with the SMTP port maybe?)
  • And finally, a restructuring of the files – I don’t like the way the files were organized in the previous build

Anyway, let me talk more about the new Administration Panel I have in mind. Currently, while the admin can read and even reply to messages that are stored in the database, the entire platform does not feel very complete. As such, I have plans to create a complete communications platform that does not involve your personal email. Well, this is done by threading (using reference numbers), sending PHP mail() headers and maybe even PHP-IMAP functions (though that is still under consideration). Right now the concept is still in its infancy, but I will keep you guys posted as it is refined.

As usual, you can keep yourself updated via my Twitter (@wuxiaotian) or the RSS feed (dedicated to ICF updates).