Index: feedapi.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi.module,v
retrieving revision 1.23.2.133
diff -u -u -r1.23.2.133 feedapi.module
--- feedapi.module	13 Aug 2008 15:03:25 -0000	1.23.2.133
+++ feedapi.module	13 Aug 2008 15:26:53 -0000
@@ -40,6 +40,7 @@
  * Implementation of hook_menu().
  */
 function feedapi_menu($may_cache) {
+  $items = array();
   if ($may_cache) {
     $items[] = array(
       'path' => 'admin/content/feed',
@@ -375,14 +376,13 @@
       $type = !empty($form['#node_type']->type) ? $form['#node_type']->type : $form['#post']['type'];
       _feedapi_store_settings(array('node_type' => $type), $form['#post']['feedapi']);
     }
-    if (!$node_type_settings = feedapi_get_settings($form['#node_type']->type)) {
-      $node_type_settings = array();
-    }
+    $node_type_settings = feedapi_get_settings($form['#node_type']->type);
+    
     $form['feedapi'] = array(
       '#type' => 'fieldset',
       '#title' => t('Feed API'),
       '#collapsible' => TRUE,
-      '#collapsed' => !$node_type_settings['enabled'],
+      '#collapsed' => isset($node_type_settings['enabled']) ? FALSE : TRUE,
       '#tree' => TRUE,
       '#validate' => array('_feedapi_validate_content_type' => array()),
     );
@@ -390,7 +390,7 @@
       '#type' => 'checkbox',
       '#title' => t('Is a feed content type'),
       '#description' => t('Check if you want to use this content type for downloading feeds to your site.'),
-      '#default_value' => $node_type_settings['enabled'],
+      '#default_value' => isset($node_type_settings['enabled']) ? $node_type_settings['enabled'] : FALSE,
       '#weight' => -15,
     );
     $modules = module_implements('feedapi_settings_form');
@@ -489,7 +489,7 @@
   }
   
   // FeedAPI-enabled node form.
-  if ($form['type']['#value'] .'_node_form' == $form_id && feedapi_enabled($form['type']['#value'])) {
+  if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id && feedapi_enabled($form['type']['#value'])) {
     $form['title']['#required'] = FALSE;
     $form['title']['#description'] = t('This field will be populated with the feed title. You can override by filling in this field.');
     $form['body_filter']['body']['#description'] = t('This field will be populated with the feed description. You can override by filling in this field.');
@@ -684,7 +684,7 @@
   );
   $rows = array();
   $result = pager_query("SELECT nid from {feedapi} ORDER BY checked DESC", 50, 0, "SELECT count(*) FROM {feedapi}");
-  while ($nid = db_result($result, $row++)) {
+  while ($nid = db_result($result)) {
     $node = node_load($nid);
     $commands = array(l(t('Delete'), 'node/'. $node->nid .'/delete', NULL, 'destination=admin/content/feed'),
       l(t('Remove items'), 'node/'. $node->nid .'/purge', NULL, 'destination=admin/content/feed'),
@@ -1335,7 +1335,6 @@
  */
 function _feedapi_populate($form, $settings) {
   static $i;
-  $i++;
   foreach ($form as $k => $v) {
     if (is_array($v)) {
       if (array_key_exists('#default_value', $v)) {
@@ -1344,21 +1343,20 @@
         // Todo: stick all settings form elements that are not in 'parsers' or 'processors' in 'general' -
         // This is kind of tricky though without breaking sites out there.
         if ($k != 'feedapi_url') {
-          if (is_array($form[$k]['#parents'])) {
+          if (isset($form[$k]['#parents']) && is_array($form[$k]['#parents'])) {
             // respect #parents if set
             $form[$k]['#default_value'] = _feedapi_populate_get_setting($form[$k]['#parents'], $settings);
           }
-          else {
+          elseif (isset($settings[$k])) {
             $form[$k]['#default_value'] = $settings[$k];
           }
         }
       }
-      else {
+      elseif (isset($settings[$k])) {
         $form[$k] = _feedapi_populate($form[$k], $settings[$k]);
       }
     }
   }
-  $i--;
   return $form;
 }
 
Index: feedapi_node/feedapi_node.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi_node/Attic/feedapi_node.module,v
retrieving revision 1.1.2.25
diff -u -u -r1.1.2.25 feedapi_node.module
--- feedapi_node/feedapi_node.module	11 Apr 2008 19:46:33 -0000	1.1.2.25
+++ feedapi_node/feedapi_node.module	13 Aug 2008 15:26:53 -0000
@@ -106,7 +106,8 @@
  * to return different forms for parsers and processors.
  * There might be a better term for parsers and processors than $type.
  */
-function feedapi_node_feedapi_settings_form($type) { 
+function feedapi_node_feedapi_settings_form($type) {
+  $form = array();
   switch ($type) {
     case 'processors':
       $ct_types = node_get_types();
@@ -116,10 +117,16 @@
           $ct_options[$key] = $data->name;
         }
       }
+      if (array_key_exists('story', $ct_options)) {
+        $default_type = 'story';
+      }
+      else {
+        $default_type = current(array_keys($ct_options));
+      }
       $form['content_type'] = array(
         '#type' => 'select',
         '#title' => t('Node type of feed items'),
-        '#default_value' => 'story',
+        '#default_value' => $default_type,
         '#options' => $ct_options,
         '#description' => t('Choose the node type for feed item nodes created by this feed.'),
       );
