Index: disqus.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/disqus/Attic/disqus.admin.inc,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 disqus.admin.inc
--- disqus.admin.inc	27 Aug 2009 23:40:14 -0000	1.1.2.5
+++ disqus.admin.inc	9 Dec 2009 03:28:24 -0000
@@ -34,11 +34,12 @@
   $form['visibility']['disqus_location'] = array(
     '#type' => 'select',
     '#title' => t('Location'),
-    '#description' => t('Display the Disqus comments in the given location. When "Block" is selected, the comments will appear in the <a href="@disquscomments">Disqus Comments block</a>.', array('@disquscomments' => url('admin/build/block'))),
+    '#description' => t('Display the Disqus comments in the given location. When "Block" is selected, the comments will appear in the <a href="@disquscomments">Disqus Comments block</a>. The "Injected Variable" option will provide a variable for precise placement of the comments.', array('@disquscomments' => url('admin/build/block'))),
     '#default_value' => variable_get('disqus_location', 'content_area'),
     '#options' => array(
       'content_area' => t('Content Area'),
       'block' => t('Block'),
+      'variable' => t('Injected Variable'),
     ),
   );
   $form['visibility']['disqus_weight'] = array(
@@ -46,7 +47,7 @@
     '#title' => t('Weight'),
     '#description' => t('When the comments are displayed in the content area, you can change the position at which they will be shown.'),
     '#default_value' => variable_get('disqus_weight', 50),
-    '#options' => drupal_map_assoc(array(-100, -50, -25, 0, 25, 50, 100)),
+    '#options' => drupal_map_assoc(array(-100, -75, -50, -25, 0, 25, 50, 75, 100)),
   );
   $form['disqus_behavior'] = array(
     '#type' => 'fieldset',
Index: disqus.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/disqus/Attic/disqus.module,v
retrieving revision 1.1.2.23
diff -u -r1.1.2.23 disqus.module
--- disqus.module	30 Oct 2009 17:40:34 -0000	1.1.2.23
+++ disqus.module	9 Dec 2009 03:28:24 -0000
@@ -97,13 +97,20 @@
       break;
     case 'view':
       // See if we are to display Disqus in the current context.
-      if (!$a3 && $a4 && isset($node->disqus)) {
-        if (user_access('view disqus comments') && variable_get('disqus_location', 'content_area') == 'content_area') {
-          // Inject the comments into the node content area.
-          $node->content['disqus'] = array(
-            '#value' => theme('disqus_comments', $node->disqus),
-            '#weight' => variable_get('disqus_weight', 50),
-          );
+      if (!$a3 && $a4 && isset($node->disqus) && user_access('view disqus comments')) {
+        // Inject Disqus into the node object.
+        switch (variable_get('disqus_location', 'content_area')) {
+          case 'content_area':
+            // Inject into the node content.
+            $node->content['disqus'] = array(
+              '#value' => theme('disqus_comments', $node->disqus),
+              '#weight' => variable_get('disqus_weight', 50),
+            );
+            break;
+          case 'variable':
+            // Inject it into a variable.
+            $node->disqus_comments = theme('disqus_comments', $node->disqus);
+            break;
         }
       }
       break;
@@ -147,12 +154,20 @@
       }
       break;
     case 'view':
-      if (user_access('view disqus comments') && variable_get('disqus_location', 'content_area') == 'content_area') {
-        if (isset($account->disqus)) {
-          $account->content['disqus'] = array(
-            '#value' => theme('disqus_comments', $account->disqus),
-            '#weight' => variable_get('disqus_weight', 50),
-          );
+      if (isset($account->disqus) && user_access('view disqus comments')) {
+        // Inject Disqus into the user object.
+        switch (variable_get('disqus_location', 'content_area')) {
+          case 'content_area':
+            // Inject into the user content.
+            $account->content['disqus'] = array(
+              '#value' => theme('disqus_comments', $account->disqus),
+              '#weight' => variable_get('disqus_weight', 50),
+            );
+            break;
+          case 'variable':
+            // Inject it into a variable.
+            $account->disqus_comments = theme('disqus_comments', $account->disqus);
+            break;
         }
       }
     break;
