Index: feedapi.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi.module,v
retrieving revision 1.23.2.119.2.55
diff -u -p -r1.23.2.119.2.55 feedapi.module
--- feedapi.module	28 Apr 2009 13:04:59 -0000	1.23.2.119.2.55
+++ feedapi.module	4 May 2009 15:13:05 -0000
@@ -496,7 +496,7 @@ function feedapi_form_alter(&$form, $for
     elseif (isset($form_state['values']['feedapi']['feedapi_url'])) {
       $feedapi_url_default = $form_state['values']['feedapi']['feedapi_url'];
     }
-    if ($node_type_settings['upload_method'] == 'upload') {
+    if (isset($node_type_settings['upload_method']) && $node_type_settings['upload_method'] == 'upload') {
       // Makes possible to upload file via this form.
       $form['#attributes']['enctype'] = 'multipart/form-data';
       $form['feedapi']['feedapi_file'] = array(
@@ -1337,10 +1337,21 @@ function feedapi_get_settings($node_type
     if ($settings = variable_get('feedapi_settings_'. $node_type, FALSE)) {
       // Sanitize data right now, tricky users may turned off the module
       foreach (array('parsers', 'processors') as $type) {
-        $modules = array_keys($settings[$type]);
-        foreach ($modules as $module) {
-          if (!module_exists($module)) {
-            unset($settings['parsers'][$module]);
+        if (isset($settings[$type]) && is_array($settings[$type])) {
+          $modules = array_keys($settings[$type]);
+          foreach ($modules as $module) {
+            if (!module_exists($module)) {
+              unset($settings['parsers'][$module]);
+            }
+          }
+        }
+        else {
+          // Missing parser or processor, set error message.
+          if (user_access('administer content types')) {
+            drupal_set_message(t('There are no !type defined for this content type. Go to !edit_page and enable at least one.', array('!type' => $type, '!edit_page' => l('admin/content/node-type/'. $node_type, 'admin/content/node-type/'. $node_type))), 'error', FALSE);
+          }
+          else {
+            drupal_set_message(t('There are no !type defined for this content type. Contact your site administrator.', array('!type' => $type)), 'error', FALSE);
           }
         }
       }
