PHP 5.3 fixes for Drupal6 Modules

PHP 5.3 introduces all kinds of error and warning messages.  Luckily Drupal 6.14 fixes the most of the core modules to be compatible with php 5.3 but there are still some little issues even with 6.16 and most of the contrib modules are not yet fixed.  Here is my list of modules and the some work arounds for them.

Drupal System Requirements

Drup.org has a page with some information about php 5.3

Module: Token

Warming: warning: date(): It is not safe to rely on the system's timezone settings.

Fix: edit your sites/default/settings.php and add this to the third line (change Denver to your timezone)

date_default_timezone_set('America/Denver');  /* for php 5.3*/

Module: Date

Warming: warning: Attempt to modify property of non-object in [..]\sites\all\modules\contrib\date\includes\date_plugin_display_attachment.inc

Fix: edit \sites\all\modules\contrib\date\includes\date_plugin_display_attachment.inc change line 24 to

  function options($display) {
    parent::options($display);
    if ( is_object($display) ) {
      $display->display_options['displays'] = array();
      $display->display_options['style_plugin'] = 'calendar_nav';
      $display->display_options['items_per_page'] = 0;
      $display->display_options['row_plugin'] = '';
      $display->display_options['defaults']['style_plugin'] = FALSE;
      $display->display_options['defaults']['style_options'] = FALSE;
      $display->display_options['defaults']['items_per_page'] = FALSE;
      $display->display_options['defaults']['row_plugin'] = FALSE;
      $display->display_options['defaults']['row_options'] = FALSE;
    } else {
      $display['display_options']['displays'] = array();
      $display['display_options']['style_plugin'] = 'calendar_nav';
      $display['display_options']['items_per_page'] = 0;
      $display['display_options']['row_plugin'] = '';
      $display['display_options']['defaults']['style_plugin'] = FALSE;
      $display['display_options']['defaults']['style_options'] = FALSE;
      $display['display_options']['defaults']['items_per_page'] = FALSE;
      $display['display_options']['defaults']['row_plugin'] = FALSE;
      $display['display_options']['defaults']['row_options'] = FALSE;
    }
  }

Panels not showing any content with PHP 5.4

Problem seemed to be solved.
In ckk/includes/views/handlers/content_handler_field_multiple.inc
On line 307 change:

if (method_exists('render_as_link', 'views_handler_field')) {
to
if (is_object('render_as_link') && is_callable('render_as_link')->views_handler_field()) {

Now panels are working

Use Dev version of Modules

Download the dev versions of CCK, Views 3, and CTools

Subject