Index: dart.module
===================================================================
--- dart.module	(revision 35842)
+++ dart.module	(working copy)
@@ -84,8 +84,8 @@
 function dart_block($op = 'list', $delta = 0, $edit = array()) {
   switch ($op) {
     case 'list':
-      $result = db_query('SELECT * FROM {dart_tags} WHERE block = %d', 1);
-      while ($tag = db_fetch_object($result)) {
+      $tags = _dart_block_tags();
+      foreach ($tags as $tag) {
         $block['dart-tag-'. $tag->machinename]['info'] = t('DART tag: !tagname', array('!tagname' => $tag->name));
       }
       break;
@@ -385,6 +385,23 @@
 }
 
 /**
+ * Helper function that returns an array of all tags that will
+ * be rendered as blocks.
+ */
+function _dart_block_tags() {
+  $block_tags = array();
+  $tags = dart_tag_load();
+dpm($tags);
+  foreach ($tags as $tag) {
+    if ($tag->block) {
+      $block_tags[] = $tag;
+    }
+  }
+
+  return $block_tags;
+}
+
+/**
  * Helper function to add a key|value pair to a tag object.
  */
 function _dart_add_key_val(&$tag, $key, $val = NULL, $eval = FALSE) {
