--- acidfree_orig.module 2007-08-14 14:02:38.000000000 -0400
+++ acidfree.module 2007-08-15 17:17:22.015625000 -0400
@@ -925,6 +925,7 @@
1=>variable_get("acidfree_block_1_title", t('Favorite Acidfree items')),
2=>variable_get("acidfree_block_2_title", t('Random Acidfree items')),
3=>variable_get("acidfree_block_3_title", t('Add Acidfree items')),
+ 4=>variable_get("acidfree_block_4_title", t('Acidfree album item counts')),
);
switch ($op) {
case 'list':
@@ -932,6 +933,7 @@
$blocks[1]['info'] = t('Acidfree item favorite selection');
$blocks[2]['info'] = t('Acidfree item random selection');
$blocks[3]['info'] = t('Add Acidfree items quick links');
+ $blocks[4]['info'] = t('Acidfree album item counts');
return $blocks;
case 'view':
if (user_access('access content')) {
@@ -975,6 +977,23 @@
$block['content'] = _acidfree_create_quick_links($node);
}
break;
+ case 4:
+ $vid = acidfree_get_vocab_id();
+ $tree = taxonomy_get_tree($vid);
+
+ $show_desc = variable_get('acidfree_block_4_show_desc', FALSE);
+ $prev_depth = -1;
+ foreach ($tree as $key => $term) {
+ $output .= "\n
$term->name (". taxonomy_term_count_nodes($term->tid) .')';
+ $output .= $show_desc && $term->description ? ' - '. $term->description : NULL;
+ if ($term->depth != $prev_depth) {
+ if ($term->depth > $prev_depth) { $output .= "\n"; }
+ else { $output .= "\n
"; }
+ $prev_depth = $term->depth;
+ }
+ }
+ $block['content'] = ''. $output;
+ break;
default:
break;
}
@@ -987,32 +1006,46 @@
}
case 'configure':
{
- $fields = array();
- if ($delta == 3)
- return $fields;
- $fields["acidfree_block_{$delta}_items"] = array(
- '#type' => 'select',
- '#title' => t('Number of items'),
- '#default_value' => variable_get("acidfree_block_{$delta}_items", '5'),
- '#options' => drupal_map_assoc(range(1,20)),
- );
- if ($delta == 2) {
- drupal_add_js(drupal_get_path('module', 'acidfree').'/acidfree.js');
- $all_albums = variable_get('acidfree_block_2_all_albums', 1);
- $fields['acidfree_block_2_all_albums'] = array(
- '#type' => 'checkbox',
- '#title' => t('Include items from all albums'),
- '#default_value' => $all_albums,
- '#attributes' => array('onchange' => 'toggle_album_select(this);'),
- );
- $random_selected = variable_get('acidfree_block_2_random_albums', array());
- $fields['acidfree_block_2_random_albums'] = _taxonomy_term_select(
- t('Select random items from these albums'), null, $random_selected, acidfree_get_vocab_id(), t('description'), true, false);
- if ($all_albums) {
- $fields['acidfree_block_2_random_albums']['#attributes'] = array('disabled' => 'disabled');
- }
- }
- return $fields;
+ $fields["acidfree_block_{$delta}_items"] = array(
+ '#type' => 'select',
+ '#title' => t('Number of items'),
+ '#default_value' => variable_get("acidfree_block_{$delta}_items", '5'),
+ '#options' => drupal_map_assoc(range(1,20)),
+ );
+ switch ($delta) {
+ case 3:
+ return array();
+
+ case 2:
+ drupal_add_js(drupal_get_path('module', 'acidfree').'/acidfree.js');
+ $all_albums = variable_get('acidfree_block_2_all_albums', 1);
+ $fields['acidfree_block_2_all_albums'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Include items from all albums'),
+ '#default_value' => $all_albums,
+ '#attributes' => array('onchange' => 'toggle_album_select(this);'),
+ );
+ $random_selected = variable_get('acidfree_block_2_random_albums', array());
+ $fields['acidfree_block_2_random_albums'] = _taxonomy_term_select(
+ t('Select random items from these albums'), null, $random_selected, acidfree_get_vocab_id(), t('description'), true, false);
+ if ($all_albums) {
+ $fields['acidfree_block_2_random_albums']['#attributes'] = array('disabled' => 'disabled');
+ }
+
+ return $fields;
+
+ case 4:
+ $show_desc = variable_get('acidfree_block_4_show_desc', FALSE);
+ $fields = array(); // Unset the default
+ $fields['acidfree_block_4_show_desc'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Show descriptions of albums'),
+ '#default_value' => $show_desc,
+ );
+
+ return $fields;
+ } /* end switch delta */
+
}
case 'save':
if ($delta == 3)
@@ -1021,8 +1054,12 @@
if ($delta == 2) {
variable_set('acidfree_block_2_random_albums', $edit['acidfree_block_2_random_albums']);
variable_set('acidfree_block_2_all_albums', $edit['acidfree_block_2_all_albums'] == 1);
+ break;
+ }
+ if ($delta == 4) {
+ variable_set('acidfree_block_4_show_desc', $edit['acidfree_block_4_show_desc']);
+ break;
}
- break;
}
}