diff -urp ed_classified.old/ed_classified.module ed_classified.new/ed_classified.module
--- ed_classified.old/ed_classified.module	2008-01-14 14:45:41.000000000 +1300
+++ ed_classified.new/ed_classified.module	2008-01-14 14:36:33.000000000 +1300
@@ -32,6 +32,7 @@ define('EDI_CLASSIFIED_PATH_NAME', 'ed-c
 define('EDI_CLASSIFIED_MODULE_VERSION', '$Id: ed_classified.module,v 1.1.4.44 2007/08/12 08:00:29 inactivist Exp $');
 define('EDI_CLASSIFIED_VAR_DEF_BODYLEN_LIMIT', 500);
 define('EDI_CLASSIFIED_VAR_DEF_EXPIRATION_DAYS', 30);
+define('EDI_CLASSIFIED_VAR_DEF_PURGE_OLD_ADVERTS', TRUE);  // whether to purge old ads
 define('EDI_CLASSIFIED_VAR_DEF_PURGE_AGE', 15);               // how many days after expiration to purge ads?
 define('EDI_CLASSIFIED_VAR_DEF_AD_EXPIRATION_EMAIL_WARNING_DAYS', 7);
 define('EDI_CLASSIFIED_VAR_DEF_SHOW_CONTACT_LINK_ON_POSTS', TRUE);
@@ -109,8 +110,10 @@ function ed_classified_cron() {
   }
   _ed_classified_expire_ads($time);
 
-  // purge old ads if possible
-  _ed_classified_purge();
+	if(_ed_classified_variable_get('purge_old_adverts', TRUE)) {
+  	// purge old ads if possible
+  	_ed_classified_purge();
+	}
 }
 
 
diff -urp ed_classified.old/ed_classified_settings.inc ed_classified.new/ed_classified_settings.inc
--- ed_classified.old/ed_classified_settings.inc	2008-01-14 14:45:38.000000000 +1300
+++ ed_classified.new/ed_classified_settings.inc	2008-01-14 14:42:16.000000000 +1300
@@ -29,7 +29,8 @@ $form['expiration'] = array(
   );
   $form['expiration'][ _ed_classified_cfg_varname('default_ad_duration')] = array('#type' => 'textfield', '#title'=>t('New ad default duration (days)'), '#default_value' => _ed_classified_variable_get('default_ad_duration', EDI_CLASSIFIED_VAR_DEF_EXPIRATION_DAYS), '#size'=>'3', '#maxlength'=>3, '#description'=>t('Ads will auto-expire this many days after the ad is created, unless you override this on a per-category basis (see below.).  Requires cron.'), '#required'=>TRUE);
 
-  $form['expiration'][ _ed_classified_cfg_varname('ad_expired_purge_age')] = array('#type' => 'textfield', '#title'=>t('Expired ad deletion grace period'), '#default_value' => _ed_classified_variable_get('ad_expired_purge_age', EDI_CLASSIFIED_VAR_DEF_PURGE_AGE), '#size'=>'3', '#maxlength'=>3, '#description'=>t('Expired ads are subject to purging (deletion) this many days after expiration.'), '#required'=>TRUE);
+  $form['expiration'][ _ed_classified_cfg_varname('purge_old_adverts')] = array('#type' => 'checkbox', '#title'=>t('Purge old expired adverts'), '#default_value' => _ed_classified_variable_get('purge_old_adverts', EDI_CLASSIFIED_VAR_DEF_PURGE_OLD_ADVERTS), '#description' => t('If enabled, old advertisments will be deleted (purged) from the system after a configurable length of time.'), '#required'=>TRUE);
+  $form['expiration'][ _ed_classified_cfg_varname('ad_expired_purge_age')] = array('#type' => 'textfield', '#title'=>t('Expired ad deletion grace period'), '#default_value' => _ed_classified_variable_get('ad_expired_purge_age', EDI_CLASSIFIED_VAR_DEF_PURGE_AGE), '#size'=>'3', '#maxlength'=>3, '#description'=>t('If advert purging is enabled above, expired ads are subject to purging (deletion) this many days after expiration.'), '#required'=>TRUE);
 
 
 $form['expiration']['notifications'] = array(
