Index: links_related.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/links/links_related.module,v
retrieving revision 1.6
diff -u -r1.6 links_related.module
--- links_related.module	5 Dec 2005 20:34:14 -0000	1.6
+++ links_related.module	7 Dec 2005 19:47:52 -0000
@@ -207,16 +207,39 @@
         links_save_links_for_node($node);
       }
       break;
+    case 'view':
+      $links =& links_get_links_for_node($node->nid);
+      $GLOBALS['links_related'] = array(
+        'node'=>$node, 'links'=>$links
+      );
+      if (variable_get('links_related_enable_list', TRUE)) {
+        $node->body .= _links_related_prep_view($node, FALSE, TRUE);
+      }
+      break;
+  }
+}
 
-    // This allows the users to enter the links_related into appropriate
-    // node types' edit screens.
-    case 'form':
+function links_related_form_alter($form_id, &$form) {
+  $type = $form['type']['#value'];
+  switch ($form_id) {
+    case $type .'_node_settings':
+      // Nodetype-specific settings
+      $form['links_related_types_'. $type] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Allow related link URLs'),
+        '#return_value' => 1,
+        '#default_value' => variable_get('links_related_types_' .$type, 0),
+        '#description' => t('This setting enables or disables the links_related module for this content type.'),
+      );
+    case $type .'_node_form':
+      // The actual node edit form. This allows the users to enter the
+      // links_related into appropriate node types' edit screens.
+      $node = $form['#node'];
       if (variable_get('links_related_types_'.$node->type, 0)) {
         _links_related_sort_links($node);
         _links_related_sort_post_links();
         $links =& $node->links_links;
 
-        $form = array();
         $form['links_links'] = array(
           '#type' => 'fieldset',
           '#tree' => TRUE,
@@ -226,41 +249,14 @@
           '#collapsed' => (count($links) == 0),
           '#weight' => -16,
         );
-        
-        $form['links_links']['#theme'] = 'links_related_form';
 
+        $form['links_links']['#theme'] = 'links_related_form';
         // Existing links first
-        for ($i=0; $i<count($links); $i++) {
-          $form['links_links'][$i] = _links_related_form_line($i, $links[$i]);
+        foreach ($links as $link) {
+          $form['links_links'][] = _links_related_form_line($link);
         }
-        $form['links_links'][count($links)] = _links_related_form_line(count($links), NULL);
-
-        return $form;
-      }
-      break;
-
-    // Show (if enabled) the "end-notes" list of links
-    case 'view':
-      $links =& links_get_links_for_node($node->nid);
-      $GLOBALS['links_related'] = array(
-        'node'=>$node, 'links'=>$links
-      );
-      if (variable_get('links_related_enable_list', TRUE)) {
-        $node->body .= _links_related_prep_view($node, FALSE, TRUE);
+        $form['links_links'][] = _links_related_form_line(NULL);
       }
-      break;
-  }
-}
-
-function links_related_form_alter($form_id, &$form) {
-  if (isset($form['type']) && $form['type']['#value'] .'_node_settings' == $form_id) {
-    $form['links_related_types_'.$form['type']['#value']] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Allow related link URLs'),
-      '#return_value' => 1,
-      '#default_value' => variable_get('links_related_types_'.$node->type, 0),
-      '#description' => t('This setting enables or disables the links_related module for this content type.'),
-    );
   }
 }
 
@@ -376,15 +372,10 @@
 }
 
 /**
- * Outputs one line of the data entry form for links
+ * Builds one one line of the data entry form for links
  */
-function _links_related_form_line($i, $link=NULL) {
-  if (! is_array($link)) {
-    $link = array();
-  }
-
-  $entry = array();
-
+function _links_related_form_line($link=NULL) {
+  $link = (array)$link;
 
   $entry['url'] = array(
     '#type' => 'textfield',

