-
... Health, (Auckland NZ) already had some idea of key ingredients to use in the graphic design of the web site, such as a red-cross motif. He also wanted to use cool blues and greens, suiting the tone of a healing and natural business. The site uses bespoke php, all pages going through a common layout function something like a small-scale CMS, to preserve consistency.
The focus of the web site was always going to be the products themselves. Hence, the main page is dominated by large attractive but...
more ...
-
... of details, but there was a good spread of development and maintenance tasks over several years, including:
Newsletter modules, templates, customisation
Bespoke database modules for contacts and funding sources
Amendments to PostCalendar
Amendments to phpBB2 and administration of forums
User Guides
User training
Customisation of a Photo-Gallery
Custom modules for presenting news and articles
Improvements to Search algorithms and display of results
Development of RSS feeds, incoming and outgoing...
more ...
-
... results or simple LatLong with a status code. That's the chap for me!
But ordinarily that would mean typing in a URL for each school, and cut&paste the results from my browser into the SQL table. No way. So the other trick required the use of CURL for php. I had used this on another project this year (thanks again Richard) and it automates the get-and-put cycle within any php framework you like. So in a loop through the schools, I format the address, send it to Google with CURL, get a CURL...
more ...
-
... for access roles, rules, permissions and so on. After a little while I spotted the clue in the IMCE README.TXT file:
Make sure you have the closure variable in your theme file. It contains the html that activates browse button for WYSIWYG editors. For phptemplate based themes, closure is $closure inside page.tpl.php.
Indeed this explained all, and was very unexpected. For the newer site, I had of course rebuilt the whole template, and overlooked these little pesky details. All you need to do is...
more ...
-
I had some files which were receiving a nice lot of hits from Google, but were placed inconveniently. I wanted to move them, so adopted the regular technology which is (as you may know):
<?php
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['php_SELF']), '/\\');
$newpage = 'index.php?tab_id=4&target=20';
header("Location: http://$host$uri/$newpage", true, 301);
exit;
?>
The 310 is a reponse code saying that the page has moved permanently. If you are...
more ...
-
... by uninstalling the module – because I could not get to the admin screen. In short, something of a disaster. If you are in this pickle, read on.
I removed the devel folder from modules. Next went through the database with my old friend Navicat (but phpMyAdmin would suffice), and removed the devel_* tables. There were also some core tables which had lines with "devel"-related info. To find those, I sorted the tables by date so I could concentrate on the most recently-used tables. Then it was...
more ...
-
You'll find plenty of info about CURL on the web which I won't attempt to reproduce. A good starting point is curl.haxx.se/libcurl/php/. I'm indebted to smart-guy Richard Garbutt at altcom, for pointing me in this direction.
CURL and php - Setup
Assuming you already have php5 set up, (php4 probably OK too), then simply visit php.INI and remove the semi-colon in front of
extension=php_curl.dll
and restart Apache.
CURL Usage
This example is copied verbatim from curl.haxx.se, all credit due.
<...
more ...
-
... notes might just help those who somehow are stuck with old code.
It only worked by assembling two separate bits of code patches. There was a comment on the Drupal main site from UFKU the IMCE author. He tells us to add this fragment to your template.php
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name,
$is_running) {
static $access, $integrated;
if (!isset($access)) {
$access = function_exists('imce_access') && imce_access();
}
$init...
more ...
-
... mistake: my local PC had all lowercase table names. It derived from a setting I tried last year in MySQL: lower_case_table_names = 1
This was a mistake because when I installed my local Silverstripe base CMS, it created names with all lowercase - but the php code continued to use camelcase. This works on Windows, but on the live Linux server, just about every table could not be accessed by the php. So I had the dreary job of trudging through every table and renaming them with trusty tool phpMyA...
more ...
-
... & Europe, South Pacific, East Asia & North America, and Rest of World (ROW). Yes of course East Asia is not near North America... I think this is because the shipping cost is roughly the same.
Then I could have had a long slog by hand, but in phpMydamin I used this Sql to provisionally put all countries into ROW:
INSERT INTO cart_zone_to_geo_zone (country_id, zone_id, geo_zone_id, date_added)
SELECT country_id,0, 6, '2012-10-23 20:45:00' FROM cart_country WHERE country_id NOT...
more ...
-
The IspyHorses website was created in 2015 as a platform for trading in horses, ponies, vehicles and services. It had an excellent bespoke framework (not open source, but the best implementation of MVC that I have met). I helped with the last few percent to get it live, including online payments. Then sort out the teething troubles, and create various small additions to offer more features and make the day-to-day running of the site as easy as possible....
more ...
-
Urban Blinds is a slickly designed site allowing people easily to order blinds to suit their exact measurements, with a great range of materials and fittings, at a good price. Plenty of help is available.
The site was developed by some very smart people at Little Giant and has some sophisticated coding with APIs, JQuery and ReactJS. I took over for maintenance and additions.
...
more ...
-
... bottleneck when term started. Staff were under a lot of pressure at those times.
The administration was via an ageing but very competent VB application. I helped create a publicly available web interface to allow customers to make their own bookings. Usually php talks to MySql by a little research let me work our the connection to MsSQL via Dlls and some php.INI configuration, which proved 100% reliable.
Our application had to offer the expected benefits to match the manual sign-up process: by...
more ...
-
Brian has a fantastic team of graphic designers who had built some lovely and varied designs. I helped Damo put these designs into practice, building web software combining Silverstripe, php and MySQL.
Ziwipeak - Premium Pet food using 100% Natural NZ ingredients. We built a shop system, a blog, testimonials pages, stockists and distributors databases with Google Maps, and a feed calculator. We also used a sprinkle of JQuery. All pages can be updated by the client.
Brian Richards Corporat...
more ...
-
Some of the artwork is traditional media, but a lot is generated by software, including my bespoke applications.
OpenCart was perfect for the showcase and handling purchases. It is an open-source php CMS. It uses a straightforward template system, easy to understand. I have found several cases where I wanted to make small customisations, and it has always been easy to locate the right spot to adjust. The "out of the box" W3C compliance is good, so helping to ensure consistent display across br...
more ...
-
... account necessary.
I also prepared automatic email to be issued to the buyer and to the merchant when a transaction is completed.
The whole task was slightly hindered by a somewhat complicated handful of legacy Perl CGI code intermingled in with the php, most of which needed to be preserved untouched.
If any future PayPal developers are reading, I can endorse the PayPal system almost wholeheartedly (and far superior than Kagi). My qualifications are that we uncovered a couple of strange bugs in...
more ...
-
Replacing HTML with php and CSS
The graphic design of this karate club website was quite attractive. The technology however was basic: table-driven with all HTML, and some CSS. Being HTML, any changes in general layout, such as amends to the menu, had to be done on every page. Tiresome. What a shame that the HTML4 spec doesn't allow for an "Include" statement. So my first campaign involved the gradual adoption of php, so that parts of the layout could be derived from a set of common functions....
more ...
-
Initially I planned to write these mostly with my own php plus a small open-source php tool for a shopping cart. However, almost by chance, I stumbled across php OpenCart. I was very fortunate to discover this great piece of kit. It is fantastic for the small and medium site which wants to present and sell products. I managed to get both sites built with very little bother in about six or seven working days.
Out of the box, OpenCart has a reasonable array of options without making life very com...
more ...
-
The front end is based on Joomla with php and MySQL as usual. Unusually, the backend database is an amalgam of MySQL and Oracle. In addition, the open source Symfony framework is used to keep everything coherent.
I had a subsidiary development role on two modules: I created a handful of customised modules for importing a variety of legacy information, from Access, Excel, Word and plain text; and also a series of procedures to export various views of the Oracle data in XML format. My colleague R...
more ...
-
I had never used Zend Framework before, though had used Symfony with a php project a few years earlier. So it was a "0-60 in ten minutes" job, and I grew to like ZF very much. I built a ZF php backend app receiving transaction requests from a customer's iPhone, and placed them on a MySQL database. These transactions needed verification via a continuous cycle of once-only passwords. The requests prompted bank transfers. I also built a variety of operator screens to manage accounts and requ...
more ...
-
It has required a fair amount of detective work in a short time to deduce the intricate database architecture of the Dioscuri system, and to bend the legacy data to suit. For example, we had several years worth of records, thousands of transactions, which did not actually say what had been bought. Exactly the kind of challenge that I like. (And the cake was very welcome too, thanks!)
I also have found use for my experience at Google Geocoding, to write a small utility which helps clean up th...
more ...
-
Once again I used Zend Framework (ZF) to build a php membership database, and including an API so that trusted third-parties could operate on the database. Requests could be submitted by CURL and validated with a secret key.
There was also work on the public-facing website, to offer the option of signing up by Facebook as an extra option.
more ...
-
This was a varied role over 18 months, both front-end and back-end, all manner of php, MS-SQL and JavaScript. ISL has a comprehensive and sophisticated system helping to manage all aspects of the business, and I was helping the tech manager (David Higgs) on maintenance and improvements. Coping with tens of thousands of members requires a large range of features, and the main software architect (Hi Lance!) had done an extraordinary job covering so much territory.
Among the tasks were:
Creation...
more ...
-
... for lapsed products and moving them to a folder for deletion), and improve W3C HTML compliance. We also organised DPS (Payment Express) payments.
We also allowed people to list in a few currencies, not just NZ dollars. It gave me the chance to build a php SOAP request, collecting currency exchange rates several times a day from http://www.webservicex.net, so that we always offer the correct exchange equivalent and needing no manual update.
Hearts Collective launched in 2011 and aims to build...
more ...
-
... something similar on the web. This used all the same back-office infrastructure that he'd put together to collate all the disparate channel listings. The end-product of that was a simple large text file in CSV format. This was straight-forward to parse with php using fgets and explode as the main tools.
php and Iterative Web Design
Chris had a good idea of what he wanted and had crafted a neat PDF of the layout. We iterated implementations for a week or two, spiralling towards an attractive an...
more ...
-
Heather had been working in acupuncture, massage and other natural health solutions for some years. She decided the time had come to promote herself more widely, but also wanted a website which she could update herself. This was a braver choice than a simply static HTML site, but made sense for her ambitions to be adding items of news and health information for her clients. We implemented www.everybodysacupuncture.co.uk, based on Drupal 6, which was recently issued in Beta form. It has proved pe...
more ...
-
php Templates
In common with my other recent sites, I have my bespoke php template system which is quite flexible and suits these small sites; it lets me get productive as quick as possible. I was sent the graphic design, very simple, though as always the body text came in sundry waves and variations.
Kate wanted a dropdow/flyout menu. I have a slight aversion to Javascript implementations of those, partly based on the old-fashioned idea that some people might have JavaScript turned off. CSS im...
more ...
-
... having colour-coded names showing up on the month and week views.
I spent several hours of research and was surprised to find what a large number of calendars were available, both open-source and shareware. Gratifyingly for me, most of them were in php, my stock in trade. But the second surprise was that none of them catered for this seemingly straightforward (nay, generic) requirement. This would mean I'd have to start with a near-miss app, and get out the spanners for some tinkering under t...
more ...
-
... Development" by John K VanDyk and Matt Westgate. It has real explanations and practical code to show you how to get started. No book tells you everything, but this one is genuinely useful in getting you started.
Naturally this used industrial-strength php and MySQL, and we retained an excellent state of HTML validation throughout....
more ...
-
We can give credit to John Cowles, my friend at altcom Limited for recognising that we all ought to get official Zend certification. Zend is the official producer of php and runs well-priced training and certification schemes.
In preparation, as a bunch (John, Neil, Richard and I) attended a useful php course in the Digital Peninsula, Penzance. We had all written and fixed innumerable lines of php code but we still discovered useful extra snippets outside our comfort zone. Then we signed up to t...
more ...
-
The site needed to be "smooth", mellow, with natural textures and symbols, to reflect the style of the teacher. "Dru" yoga is a style which emphasises calmness and avoids the more strenuous exercises of some other schools. It was also useful to publicise the class dates and locations in North Shore, Auckland, NZ.
The teacher was starting from scratch and so publicity and visibility was essential. We were fortunate to secure the ideal domain name which has exactly the words required to convey th...
more ...
-
... more importantly, found by search engines) the appropriate set of IPSV labels is set into the META statement of the HTML, using "Dublin Core" conventions, viz:
<meta name="eGMS.subject.category" scheme="IPSV" content="Heritage">.
This work used php in a Joomla site with the Yahoo User Interface (YUI) tree control, which is an excellent free offering of JavaScript to provide an all-purpose solution to a common and difficult problem. And even then, it wasn''t easy!...
more ...
-
Search Engine Optimisation (SEO)
Cosmetically, the site was pretty well suited for the market - no-frills. And it was already well-ranked on Google for some terms, but they were not all the terms which were required. It didn't take long for me to rummage "under the hood" to spot the usual culprits: poor page titles, no headings summaries at all, and, of less value, lack of META descriptions. Following up the rear was a sprinkle of small-beer items : a few TITLEs missing for images and better an...
more ...
-
At very short notice, I got a complete e-commerce site running for a company selling online training. (Cannot be named for reasons of confidentiality).
Again, I used the excellent Opencart system written in php. I am always pleasantly surprised how this system accommodates so many requirements so quickly and reliably. In a short time we had loaded many training products, catered for tax and shipping in NZ, Australia and worldwide. We made 3 "stores", one for each zone, and all using one set of p...
more ...
-
The site already used a Paypal basket for off-line sales, so it was an elementary clone to get the new item displayed on the page and the Paypal button working. But the main obstacle was offering a zip file which could only be unlocked by the purchaser, and in addition, would only be available for a certain time period. This narrow window of availability helps protect against web-bots or other villians scavenging the zip file and circulating links for free.
I could have developed something fro...
more ...
-
... have very short text). Also, ensure that the menu items are spaced sufficiently for stubby, inefficient fingers to stab at them reliably.
Keep your fonts large enough to read.
There are several techniques for handling mobiles and we used a blend of two:
php choice: I decide to offer different markup for the page header for desktop and web, using the tests supplied by the mobiledetect.net php library. This allowed us to show a mobile display with a header image then a reduced menu below that....
more ...