Technologies
Moore Design has an enthusiasm for exploring different web-based technologies that can be implemented in PHP and javascript. Following is a list of some of the different technologies that we have developed that you can have on your site (or download if there is a download link)...
Quotation and Order Management System
If you have a need for a system that manages and links your Customers, Suppliers, Quotations and Orders then we have built some web-based software that can help.
Features
It can be put on your local network server so that everyone in your company can access it. It requires authenticated login, and has role separation for administrator users. The interface uses JavaScript extensively to provide the look and feel of a polished corporate/professional application. At the same time, it can also be made to work without JavaScript. The system is WCAG-AA accessible, with a particular focus given to screen reader accessibility. It also conforms to the W3C CSS 2.1 and XHTML 1.0 Transitional specifications.
Client-side Requirements
The client side requirements for use of the software is simply Firefox 2 or Internet Explorer 7, although the software can be modified so that it can work for a different set of browsers if required.
Server-side Requirements
The server requirements are PHP 5, Apache 2.2, MySQL 5 and pdflatex. The port that Apache uses will need to be locked so its only accessible from the intranet (consequently the server doesn't need SSL enabled). If an externally accessible site is required then there will be extra costs to review security and set up SSL.
Cost
The following table outlines the cost of the system, you can choose which rows are relevant to you to determine an approximate cost:
| Description | Cost |
|---|---|
| Purchase base system | $3000.00 |
| Customise look to suit business | $500.00 |
| Customise Application to suit business needs | $50 / hour |
| Make it work without JavaScript | $600.00 |
| Check / fix the look for different browsers | $100.00 / browser |
| Modify security to be acceptable for an external facing site | $500.00 |
Note: All costs are in Australian Dollars. You can purchase the base system and then get your in-house IT team to customise the application for your needs. If you want an external facing site then the server requirements also includes an SSL certificate.
Statistics Gatherer
We have developed a particularly useful statistics gatherer. It seamlessly uses javascript to send a http request from the current page to a PHP page which stores client-side information on a MySQL database. Essentially what this means is that data that couldn't normally be gotten from a purely server-side script can be gathered. If javascript is turned off on the visitors computer then the script will still record details for that visitor but in less detail.
Features
- Records for any visitor: IP address, HTTP Referrer (the last page they visited), country, User Agent string, time of visit, page visited, whether the visitor has javascript enabled, operating system (OS) and version, browser and version
- Also records for visitors with javascript: screen resolution
- Has a ban IP list where you can select IP addresses that statistics are not recorded for (i.e. your IP address)
- Originally an admin tool to navigate the package was going to be developed but a lack of time has meant that feature is not available.
Requirements
- Pages that the statistics are to be derived from must be PHP pages
- Pages must have access to a MySQL database
Compatibility
This technology has been tested in the following client side environments:
- Internet Explorer 5.0 (Win), 5.1 (Mac), 5.2 (Mac), 5.5 (Win), 6.0 (Win)
- Mozilla Firefox 1.0-1.7 (Win, Mac, Linux)
- Opera 7.5, 8.0 (Win, Mac, Linux)
- Mozilla 1.0 (Win), 1.6, 1.7 (Win, Mac, Linux)
- Netscape Navigator 7.2 (Win, Mac, Linux)
- Safari 1.0, 1.2, 2.0 (Mac)
- Konqueror 3.2 (Linux)
If you would like to test out the detection script then please go here.
Cost
If you would like this technology installed on your website and your website fulfills the requirements listed above then you can purchase this technology. The cost to install it on a pre-existing site that we haven't developed is $AU750 + $10 per page. If we have developed your site, or you get us to develop your site then this technology will only be an extra $AU400. You can purchase the code and instructions from us for $AU500.
PHP Images
PHP is a very useful tool in developing websites and web-based technologies. One of the things that you can do with PHP is generate images. Two uses which we have for this is generating emails as images so that they can't be leached by spam bots (basically if the email addresses aren't text then your email is extremelly less likely to get spam). Secondly, we use PHP to generate images of a specified colour and size which we can use to easily change the template of a site where single coloured images are used, this provides greater flexibility and speed of template implementation. Code for both of these applications is below, feel free to use it if you want:
Email Code
Stop spam bots by showing your email address as an image:
header("Content-Type: image/PMG");
$string = $_GET["spamme"] . "@mooredesign.com.au";
$font = 4;
$height = imagefontheight($font);
$width = imagefontwidth($font) * strlen($string);
$img = array(0xFF, 0xFF, 0xFF);
$txt = array(0x5A, 0x94, 0xB9);
$im = @imagecreate($width, $height)
or die("ERROR: Cannot initialise image!!");
$bg_colour = imagecolorallocate($im, $img[0], $img[1], $img[2]);
$text_colour = imagecolorallocate($im, $txt[0], $txt[1], $txt[2]);
imagestring($im, $font, 0, 0, $string, $text_colour);
imagepng($im);
imagedestroy($im);
And here is an image generated from the script: (email.php?spamme=rob)
Coloured Image Code
Do quick website design prototyping by using a PHP script as a background colour image:
$width = $_GET["width"];
$height = $_GET["height"];
$img = array($_GET["R"], $_GET["G"], $_GET["B"]);
$theImage = @imagecreate($width, $height)
or die("ERROR: Cannot initialise image!!");
$colorImage = imagecolorallocate($theImage, $img[0], $img[1], $img[2]);
header("Content-Type: image/PNG");
imagepng ($theImage);
imagedestroy ($theImage);
And here is an image generated from the script: (bg.php?R=243&G=113&B=0&width=100&height=30)