From c3e1e49faf4430b9e5d008cb319093bbec4b7cc1 Mon Sep 17 00:00:00 2001
From: Alex <alex.nedel@opin.ca>
Date: Wed, 23 Jan 2013 17:57:33 -0500
Subject: [PATCH] Fixed bug in "Comment settings" sidebar, it now displays the
 number of comments.

---
 comment_goodness.module | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/comment_goodness.module b/comment_goodness.module
index 73af4ba..e60cde2 100644
--- a/comment_goodness.module
+++ b/comment_goodness.module
@@ -66,11 +66,13 @@ function comment_goodness_form_node_type_form_alter(&$form, $form_state) {
     '#default_value' => variable_get('comment_form_label_' . $form['#node_type']->type, comment_goodness_COMMENT_FORM_LABEL),
   );
 
-  // Set "Comments per page" setting to textfield so it allows more gradual
-  // control over the number of comments to show.
-  $form['comment']['comment_default_per_page']['#type'] = 'textfield';
-  $form['comment']['comment_default_per_page']['#element_validate'] = array('element_validate_integer_positive');
-  unset($form['comment']['comment_default_per_page']['#options']);
+  // Set "Comments per page" setting back to drop down menu to fix bug in sidebar
+  $form['comment']['comment_default_per_page'] = array(
+  		'#type' => 'select',
+  		'#title' => t('Comments per page'),
+  		'#options' => _comment_goodness_comment_per_page(),
+  		'#default_value' => variable_get('comment_default_per_page_' . $form['#node_type']->type, 50),
+  	  );
 
   $comment_expose_fields_value = variable_get('comment_expose_fields_' . $form['#node_type']->type, 0);
   $form['comment']['comment_expose_fields'] = array(
@@ -84,6 +86,14 @@ function comment_goodness_form_node_type_form_alter(&$form, $form_state) {
 }
 
 /**
+ * Return an array of "comments per page" settings from which the user
+ * can choose.
+ */
+function _comment_goodness_comment_per_page() {
+  return drupal_map_assoc(array(5, 10, 15, 20, 25, 30, 50, 70, 90, 150, 200, 250, 300));
+}
+
+/**
  * Custom submit handler for node_type_form: clears fields cache if needed.
  */
 function comment_goodness_node_type_form_submit($form, &$form_state) {
-- 
1.7.11.1

