diff --git a/mollom.admin.inc b/mollom.admin.inc index c1f984e..839df53 100644 --- a/mollom.admin.inc +++ b/mollom.admin.inc @@ -69,7 +69,19 @@ function mollom_admin_form_list() { } $row[] = l(t('Configure'), 'admin/settings/mollom/manage/' . $form_id); $row[] = l(t('Unprotect'), 'admin/settings/mollom/unprotect/' . $form_id); - $rows[] = $row; + + $class = ''; + if (isset($mollom_form['deleted'])) { + $class = 'error'; + drupal_set_message(t('The %module module form %form_id no longer exists.', array( + '%form_id' => $form_id, + '%module' => $modules[$mollom_form['module']], + )), 'error'); + } + $rows[] = array( + 'class' => $class, + 'data' => $row, + ); } // Add a row to add a form. diff --git a/mollom.module b/mollom.module index 40723d9..948b20b 100644 --- a/mollom.module +++ b/mollom.module @@ -872,8 +872,9 @@ function mollom_form_list() { */ function mollom_form_info($form_id, $module) { $form_info = module_invoke($module, 'mollom_form_info', $form_id); + // If no form info exists, then the form has vanished. if (empty($form_info)) { - $form_info = array(); + return; } // Ensure default properties. @@ -941,9 +942,12 @@ function mollom_form_load($form_id) { // Attach form registry information. $form_list = module_invoke($mollom_form['module'], 'mollom_form_list'); - if (isset($form_list[$form_id])) { - $mollom_form += $form_list[$form_id]; + if (!isset($form_list[$form_id])) { + $mollom_form['title'] = $form_id; + $mollom_form['deleted'] = TRUE; + return $mollom_form; } + $mollom_form += $form_list[$form_id]; $mollom_form += mollom_form_info($form_id, $mollom_form['module']); cache_set($cid, $mollom_form);