A CTools modal confirm form in Drupal 7 with custom window size

This example uses the ajax callback on a form to provide a simple modal confirmation step using a custom sized window.

Here is our form.  We include the required ctools modal scripts and add our own script to control the confirm functionality.  The modal control is done by the action on the drupal js settings for 'CToolsModal'

function MYMODULE_form($form, $form_state, $items, $entity, $field) {

How to suppress display of extra field in a Drupal 7 field with unlimited values

By default the Field API in Drupal 7 displays an extra empty field in a field with multiple values when editing the form.  There is no setting for suppressing this display at in the Drupal backend and so it has to be done with some scripts.  The following example is for a custom field made using hook_field_widget_info() and is implemented in the widget form function.  Here is a screenshot of the custom field with the extra field displayed:


Community College Association Website.  Built in conjunction with Esuitetools.  The site interfaces with a third party member management system, providing the web frontend at which customers and visitors can interact.  

I am responsible for backend development and much of the frontend, including the following:


I worked as part of a team in this site build, tasked with the creation of the pages which consisted of a combination of:

  • Layer Sliders
  • Galleries
  • Background Images

The site is a fully responsive graphical site with images stretching full width on all devices.  The pages were created enabling the client to add any of the above components to the site by themselves via the backend.

Assessment Resource Banks

The Assessment Resource Banks consist of resources (mostly quizzes) for primary age school children, that are used formally by teachers in the NZ Education system, to assess their students.  For the first time these resources are being made available online in fully interactive form so that students can do the quizzes on their iPads and teachers can assesses them online.  Student results can then be easily accessed, displayed and printed out and results can be compared from year to year as the student progresses.


This was a multi-developer project.  Passing Phase Web Development managed the core Drupal 7 development including a responsive theme, multi-layered menu system, content types, views as well as integrating with a remote service information system called StructWSF.  This system enables data from a central repository to be made available to multiple websites.

Change Management Institute

This was a multi-developer project.  Passing Phase Web Development undertook the paid user registration system.  This is a complex system involving different types of user accounts, corporate and individual and different types of payment arrangements such as corporates paying for all their members or members paying their own way.  Membership amounts are calculated in different currencies depending on user origin.  Members are notified of impending membership expiry at different intervals.


This client wishes to organize ongoing conferences, in Spring and Autumn of each year.  Each conference has its own url prefix, such as 'spring2013' and 'fall2013'.  This was achieved by using Drupal 7's hook_inbound_alter and hook_outbound_alter meaning that these urls did not need to be set in code.  Each conference is controlled from a single content type making it easy to set up a conference.  When browsing a conference, session variables hold information about the current conference so that all information displayed relates only to that conference.  The result