'));
- foreach ($fields as $field => $handler) {
- if ($label = $handler->label()) {
- $options[$field] = $label;
- }
- else {
- $options[$field] = $handler->ui_name();
- }
- }
- $form['title_field'] = array(
- '#type' => 'select',
- '#title' => t('Title field'),
- '#options' => $options,
- '#default_value' => $view->options['title_field'],
- '#description' => t('Select the field that should be used as the items title in the cloud.'),
- );
- $form['link_field'] = array(
- '#type' => 'select',
- '#title' => t('Link field'),
- '#options' => $options,
- '#default_value' => $view->options['link_field'],
- '#description' => t('Select the field that should be used as the items link in the cloud.'),
- );
- $form['use_field_as_weight']['#tree'] = TRUE;
- $form['use_field_as_weight']['weight_text'] = array(
- '#type' => 'checkbox',
- '#title' => t('Use a field as source for weight calculation'),
- '#description' => t('If checked, you can select a field that is use as source for weight calculation instead of using the sort order.'),
- '#default_value' => $view->options['use_field_as_weight']['weight_text'],
- );
- $form['use_field_as_weight']['weight_field'] = array(
- '#type' => 'select',
- '#title' => t('Weight field'),
- '#options' => $options,
- '#default_value' => $view->options['use_field_as_weight']['weight_field'],
- '#description' => t('Select the field that should be used for weight calculation.'),
- '#process' => array('views_process_dependency'),
- '#dependency' => array(
- 'edit-style-options-use-field-as-weight-weight-text' => array(1)
- ),
- );
- }
- else {
- drupal_set_message(t('You need to define at least two fields to set up a cumulus cloud view. 1. Name of the link. 2. URL for the link. And 3. Optional weight.', 'error'));
- }
- }
- $form['size_interval'] = array(
- '#type' => 'textfield',
- '#title' => t('Item size interval'),
- '#default_value' => $view->options['size_interval'],
- '#maxlength' => 2,
- '#description' => t('The number of item sizes you want to use.'),
- );
- $form['flash_transparency'] = array(
- '#type' => 'select',
- '#title' => t('Background transparency'),
- '#default_value' => $view->options['flash_transparency'],
- '#options' => array(
- 'false' => t('no'),
- 'true' => t('yes'),
+ return array(
+ 'unique_id' => array('default' => ''),
+ 'title_field' => array('default' => ''),
+ 'link_field' => array('default' => ''),
+ 'use_field_as_weight' => array(
+ 'weight_text' => array('default' => 0),
+ 'weight_field' => array('default' => ''),
),
- '#description' => t('Enabling background transparency might cause issues with some (mostly older) browsers.
Under Linux, transparency doesn\'t work at all due to a known limitation in the current Flash player.'),
- );
- $form['flash_width'] = array(
- '#type' => 'textfield',
- '#title' => t('Width of cumulus'),
- '#default_value' => $view->options['flash_width'],
- '#maxlength' => 3,
- '#description' => t('The width of the cumulus in pixels.'),
- );
- $form['flash_height'] = array(
- '#type' => 'textfield',
- '#title' => t('Height of cumulus'),
- '#default_value' => $view->options['flash_height'],
- '#maxlength' => 3,
- '#description' => t('The height of the cumulus in pixels.'),
- );
- $form['flash_background'] = array(
- '#type' => 'textfield',
- '#title' => t('Background color of cumulus'),
- '#default_value' => $view->options['flash_background'],
- '#maxlength' => 6,
- '#description' => t('The hex color value for the background of the cumulus. E.g. ffffff. If "Background transparency" is enabled, this option will have no effect.'),
- );
- $form['flash_color'] = array(
- '#type' => 'textfield',
- '#title' => t('Font color of cumulus'),
- '#default_value' => $view->options['flash_color'],
- '#maxlength' => 6,
- '#description' => t('The hex color value you would like to use for the items. E.g. 000000.'),
- );
- $form['flash_color2'] = array(
- '#type' => 'textfield',
- '#title' => t('Second font color of cumulus'),
- '#default_value' => $view->options['flash_color2'],
- '#maxlength' => 6,
- '#description' => t('Second item color. If supplied, items will get a color from a gradient between both colors based on their sorting.'),
- );
- $form['flash_hicolor'] = array(
- '#type' => 'textfield',
- '#title' => t('Highlight color of cumulus'),
- '#default_value' => $view->options['flash_hicolor'],
- '#maxlength' => 6,
- '#description' => t('The hex color value you would like to use for the item mouseover/hover color'),
+ 'size_interval' => array('default' => 6),
+ 'flash_width' => array('default' => 200),
+ 'flash_height' => array('default' => 150),
+ 'flash_background' => array('default' => 'ffffff'),
+ 'flash_transparency' => array('default' => 'false'),
+ 'flash_color' => array('default' => 'ff0000'),
+ 'flash_color2' => array('default' => '000000'),
+ 'flash_hicolor' => array('default' => '666666'),
+ 'flash_speed' => array('default' => 100),
+ 'flash_distribute' => array('default' => 'true'),
+ 'flash_font_size' => array('default' => 10),
+ 'flash_font_size_interval' => array('default' => 2),
);
- $form['flash_speed'] = array(
- '#type' => 'textfield',
- '#title' => t('Rotation speed'),
- '#default_value' => $view->options['flash_speed'],
- '#maxlength' => 3,
- '#description' => t('Set the speed of the cumulus. Options between 25 and 500 work best.'),
- );
- $form['flash_distribute'] = array(
- '#type' => 'select',
- '#title' => t('Distribute items evenly on cumulus'),
- '#default_value' => $view->options['flash_distribute'],
- '#options' => array(
- 'false' => t('no'),
- 'true' => t('yes'),
+}
+
+/**
+ * Implements hook_theme().
+ */
+function cumulus_theme() {
+ return array(
+ 'cumulus_weighted' => array(
+ 'variables' => array('tags' => NULL, 'fields' => array(), 'config' => array()),
),
- '#description' => t('When enabled, the movie will attempt to distribute the items evenly over the surface of the cumulus.'),
- );
- $form['flash_font_size'] = array(
- '#type' => 'textfield',
- '#title' => t('Font size'),
- '#default_value' => $view->options['flash_font_size'],
- '#maxlength' => 2,
- '#description' => t('Set the font size of the tag with the lowest item-size in pixels (level 1).'),
+ 'cumulus_embed' => array(
+ 'variables' => array('tags' => NULL, 'fields' => array(), 'config' => array()),
+ )
);
- $form['flash_font_size_interval'] = array(
- '#type' => 'textfield',
- '#title' => t('Font size interval'),
- '#default_value' => $view->options['flash_font_size_interval'],
- '#maxlength' => 1,
- '#description' => t('Set the font size interval used for the different item-sizes (level 2 and higher).'),
+}
+
+/**
+ * Include Javascript file.
+ */
+function cumulus_init_js() {
+ $js = drupal_get_path('module', 'cumulus') . '/cumulus.js';
+ if (file_exists($js)) {
+ drupal_add_js($js, array('preprocess' => FALSE));
+ }
+ else {
+ drupal_set_message(t('The file @folder is missing. Please download it from !link, and add it to the Cumulus module folder!', array('@folder' => $js, '!link' => l('http://pratul.in/files/cumulus.js', 'http://pratul.in/files/cumulus.js'))), 'error');
+ }
+}
+
+/**
+ * Themeing function.
+ */
+function theme_cumulus_embed($variables) {
+ cumulus_init_js();
+ $config = $variables['config'];
+ $variables['tags'] = cumulus_build_weighted_tags($variables['tags']);
+ $variables['flash_tags'] = theme('cumulus_weighted', $variables);
+
+ // TODO: Implement flash alternative.
+ $variables['alt'] = '';
+
+ // Flash params
+ $param = array(
+ 'path_to_flash' => base_path() . drupal_get_path('module', 'cumulus') . '/includes/tagcloud.swf',
+ 'flash_tags' => $variables['flash_tags'],
+ 'width' => $config['flash_width'],
+ 'height' => $config['flash_height'],
+ 'background' => $config['flash_background'],
+ 'color' => '0x' . $config['flash_color'],
+ 'color2' => '0x' . $config['flash_color2'],
+ 'hicolor' => '0x' . $config['flash_hicolor'],
+ 'speed' => $config['flash_speed'],
+ 'distribute' => $config['flash_distribute'],
+ 'transparency' => $config['flash_transparency'],
);
+
+ $hash = drupal_substr(md5(microtime()), 0, 5);
+ drupal_add_js(array('cumulus' => array($hash => $param)), 'setting');
+ return '' . $variables['alt'] . '
';
+}
+
+/**
+ * Themeing function.
+ */
+function theme_cumulus_weighted($variables) {
+ $tags = $variables['tags'];
+ $fields = $variables['fields'];
+ $config = $variables['config'];
+ $output = '';
+ foreach ($tags as $tag) {
+ // assign font size
+ $font_size = (intval($tag->__weight) * $config['flash_font_size_interval']) + ($config['flash_font_size'] - $config['flash_font_size_interval']);
+ $output .= l($tag->{$fields['title']}, $tag->{$fields['href']}, array('attributes' => array('style' => '"font-size: ' . $font_size . 'px;"'))) . " \n";
+ }
+ return '' . urlencode($output) . '';
}
diff --git a/cumulus.module.js b/cumulus.module.js
new file mode 100644
index 0000000..1b4ad1c
--- /dev/null
+++ b/cumulus.module.js
@@ -0,0 +1,25 @@
+(function ($) {
+ Drupal.behaviors.cumulus = {
+ attach: function(context, settings) {
+ var cumulus = Drupal.settings.cumulus || {};
+ for (var i in cumulus)
+ {
+ var param = cumulus[i];
+ var rnumber = Math.floor(Math.random()*9999999);
+ var widget = new SWFObject(param['path_to_flash'] + "?r=" + rnumber, "cumulus-flash-" + i, param['width'], param['height'], 9, param['background']);
+ if (param['transparency'] == 'true') {
+ widget.addParam("wmode", "transparent");
+ }
+ widget.addParam("allowScriptAccess", "always");
+ widget.addVariable("tcolor", param['color']);
+ widget.addVariable("tcolor2", param['color2']);
+ widget.addVariable("hicolor", param['hicolor']);
+ widget.addVariable("tspeed", param['speed']);
+ widget.addVariable("distr", param['distribute']);
+ widget.addVariable("mode", "tags");
+ widget.addVariable("tagcloud", param['flash_tags']);
+ widget.write('cumulus-' + i);
+ }
+ }
+ };
+})(jQuery);
\ No newline at end of file
diff --git a/cumulus_feature/cumulus_feature.features.inc b/cumulus_feature/cumulus_feature.features.inc
new file mode 100644
index 0000000..530a3b8
--- /dev/null
+++ b/cumulus_feature/cumulus_feature.features.inc
@@ -0,0 +1,10 @@
+ '3.0-alpha1',
+ );
+}
diff --git a/cumulus_feature/cumulus_feature.info b/cumulus_feature/cumulus_feature.info
new file mode 100644
index 0000000..82f24e9
--- /dev/null
+++ b/cumulus_feature/cumulus_feature.info
@@ -0,0 +1,10 @@
+core = "7.x"
+dependencies[] = "cumulus"
+dependencies[] = "taxonomy"
+description = "Cumulus demo"
+features[views][] = "cumulus_node"
+features[views_api][] = "api:3.0-alpha1"
+name = "Cumulus feature"
+package = "Features"
+project = "cumulus_feature"
+version = "7.x-1.0"
diff --git a/cumulus_feature/cumulus_feature.module b/cumulus_feature/cumulus_feature.module
new file mode 100644
index 0000000..6254e43
--- /dev/null
+++ b/cumulus_feature/cumulus_feature.module
@@ -0,0 +1,3 @@
+name = 'cumulus_node';
+ $view->description = '';
+ $view->tag = '';
+ $view->base_table = 'node';
+ $view->human_name = 'cumulus_node';
+ $view->core = 7;
+ $view->api_version = '3.0-alpha1';
+ $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+
+ /* Display: Defaults */
+ $handler = $view->new_display('default', 'Defaults', 'default');
+ $handler->display->display_options['access']['type'] = 'none';
+ $handler->display->display_options['cache']['type'] = 'none';
+ $handler->display->display_options['query']['type'] = 'views_query';
+ $handler->display->display_options['exposed_form']['type'] = 'basic';
+ $handler->display->display_options['pager']['type'] = 'none';
+ $handler->display->display_options['pager']['options']['offset'] = '0';
+ $handler->display->display_options['style_plugin'] = 'cumulus';
+ $handler->display->display_options['style_options']['unique_id'] = 'tid';
+ $handler->display->display_options['style_options']['title_field'] = 'name';
+ $handler->display->display_options['style_options']['link_field'] = 'tid_1';
+ $handler->display->display_options['style_options']['use_field_as_weight'] = array(
+ 'weight_text' => 0,
+ 'weight_field' => '',
+ );
+ $handler->display->display_options['style_options']['size_interval'] = '6';
+ $handler->display->display_options['style_options']['flash_width'] = '200';
+ $handler->display->display_options['style_options']['flash_height'] = '150';
+ $handler->display->display_options['style_options']['flash_speed'] = '100';
+ $handler->display->display_options['style_options']['flash_font_size'] = '10';
+ $handler->display->display_options['style_options']['flash_font_size_interval'] = '2';
+ /* Relationship: Taxonomy: Node */
+ $handler->display->display_options['relationships']['nid']['id'] = 'nid';
+ $handler->display->display_options['relationships']['nid']['table'] = 'taxonomy_index';
+ $handler->display->display_options['relationships']['nid']['field'] = 'nid';
+ $handler->display->display_options['relationships']['nid']['required'] = 1;
+ /* Field: Taxonomy: Term */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['external'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['trim'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['nl2br'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
+ $handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
+ $handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
+ $handler->display->display_options['fields']['name']['alter']['html'] = 0;
+ $handler->display->display_options['fields']['name']['element_label_colon'] = 1;
+ $handler->display->display_options['fields']['name']['element_default_classes'] = 1;
+ $handler->display->display_options['fields']['name']['hide_empty'] = 0;
+ $handler->display->display_options['fields']['name']['empty_zero'] = 0;
+ $handler->display->display_options['fields']['name']['link_to_taxonomy'] = 0;
+ /* Field: Taxonomy: Term ID */
+ $handler->display->display_options['fields']['tid']['id'] = 'tid';
+ $handler->display->display_options['fields']['tid']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['tid']['field'] = 'tid';
+ $handler->display->display_options['fields']['tid']['alter']['alter_text'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['make_link'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['absolute'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['external'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['trim'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['nl2br'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['word_boundary'] = 1;
+ $handler->display->display_options['fields']['tid']['alter']['ellipsis'] = 1;
+ $handler->display->display_options['fields']['tid']['alter']['strip_tags'] = 0;
+ $handler->display->display_options['fields']['tid']['alter']['html'] = 0;
+ $handler->display->display_options['fields']['tid']['element_label_colon'] = 1;
+ $handler->display->display_options['fields']['tid']['element_default_classes'] = 1;
+ $handler->display->display_options['fields']['tid']['hide_empty'] = 0;
+ $handler->display->display_options['fields']['tid']['empty_zero'] = 0;
+ $handler->display->display_options['fields']['tid']['format_plural'] = 0;
+ /* Field: Taxonomy: Term ID */
+ $handler->display->display_options['fields']['tid_1']['id'] = 'tid_1';
+ $handler->display->display_options['fields']['tid_1']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['tid_1']['field'] = 'tid';
+ $handler->display->display_options['fields']['tid_1']['label'] = 'Link';
+ $handler->display->display_options['fields']['tid_1']['alter']['alter_text'] = 1;
+ $handler->display->display_options['fields']['tid_1']['alter']['text'] = 'taxonomy/term/[tid_1]';
+ $handler->display->display_options['fields']['tid_1']['alter']['make_link'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['absolute'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['external'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['trim'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['nl2br'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['word_boundary'] = 1;
+ $handler->display->display_options['fields']['tid_1']['alter']['ellipsis'] = 1;
+ $handler->display->display_options['fields']['tid_1']['alter']['strip_tags'] = 0;
+ $handler->display->display_options['fields']['tid_1']['alter']['html'] = 0;
+ $handler->display->display_options['fields']['tid_1']['element_label_colon'] = 1;
+ $handler->display->display_options['fields']['tid_1']['element_default_classes'] = 1;
+ $handler->display->display_options['fields']['tid_1']['hide_empty'] = 0;
+ $handler->display->display_options['fields']['tid_1']['empty_zero'] = 0;
+ $handler->display->display_options['fields']['tid_1']['format_plural'] = 0;
+
+ /* Display: Block */
+ $handler = $view->new_display('block', 'Block', 'block_1');
+ $translatables['cumulus_node'] = array(
+ t('Defaults'),
+ t('more'),
+ t('Apply'),
+ t('Reset'),
+ t('Sort By'),
+ t('Asc'),
+ t('Desc'),
+ t('node'),
+ t('Term'),
+ t('Term ID'),
+ t('.'),
+ t(','),
+ t('Link'),
+ t('taxonomy/term/[tid_1]'),
+ t('Block'),
+ );
+
+ $views[$view->name] = $view;
+
+ return $views;
+}
diff --git a/includes/views/cumulus.views.inc b/includes/views/cumulus.views.inc
index fe38555..7f7befc 100644
--- a/includes/views/cumulus.views.inc
+++ b/includes/views/cumulus.views.inc
@@ -11,6 +11,7 @@
* Add cumulus style plugin.
*/
function cumulus_views_plugins() {
+ $path = drupal_get_path('module', 'cumulus') . '/includes/views';
return array(
'style' => array(
'cumulus' => array(
@@ -18,13 +19,13 @@ function cumulus_views_plugins() {
'help' => t('Displays rows as an flash-based 3D "tag"-cloud.'),
'handler' => 'views_cumulus_style_plugin',
'theme' => 'views_view_cumulus',
- 'theme path' => drupal_get_path('module', 'cumulus') . '/includes/views',
+ 'theme path' => $path,
'uses row plugin' => FALSE,
'uses options' => TRUE,
'uses fields' => TRUE,
'uses grouping' => FALSE,
'type' => 'normal',
- 'path' => drupal_get_path('module', 'cumulus') . '/includes/views',
+ 'path' => $path,
),
'cumulus_summary' => array(
'title' => t('Cumulus cloud'),
@@ -32,11 +33,163 @@ function cumulus_views_plugins() {
'handler' => 'views_cumulus_summary_style_plugin',
'parent' => 'default_summary',
'theme' => 'views_view_cumulus',
- 'theme path' => drupal_get_path('module', 'cumulus') . '/includes/views',
+ 'theme path' => $path,
'type' => 'summary', // only shows up as a summary style
'uses options' => TRUE,
- 'path' => drupal_get_path('module', 'cumulus') . '/includes/views',
+ 'path' => $path,
),
),
);
}
+
+function cumulus_views_options_form(&$form, &$form_state, $view) {
+ if ($view->definition['type'] === 'normal') {
+ $fields = $view->view->display_handler->get_handlers('field');
+ if (count($fields)) {
+ $options = array('' => t(''));
+ foreach ($fields as $field => $handler) {
+ if ($label = $handler->label()) {
+ $options[$field] = $label;
+ }
+ else {
+ $options[$field] = $handler->ui_name();
+ }
+ }
+ $form['unique_id'] = array(
+ '#type' => 'select',
+ '#title' => t('Unique ID'),
+ '#options' => $options,
+ '#default_value' => $view->options['unique_id'],
+ '#description' => t('Select the field that should be used to be unqiue (e.g. Entitiy ID like Term ID or User ID.)'),
+ );
+ $form['title_field'] = array(
+ '#type' => 'select',
+ '#title' => t('Title field'),
+ '#options' => $options,
+ '#default_value' => $view->options['title_field'],
+ '#description' => t('Select the field that should be used as the items title in the cloud.'),
+ );
+ $form['link_field'] = array(
+ '#type' => 'select',
+ '#title' => t('Link field'),
+ '#options' => $options,
+ '#default_value' => $view->options['link_field'],
+ '#description' => t('Select the field that should be used as the items link in the cloud.'),
+ );
+ $form['use_field_as_weight']['#tree'] = TRUE;
+ $form['use_field_as_weight']['weight_text'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Use a field as source for weight calculation'),
+ '#description' => t('If checked, you can select a field that is use as source for weight calculation instead of using the sort order.'),
+ '#default_value' => $view->options['use_field_as_weight']['weight_text'],
+ );
+ $form['use_field_as_weight']['weight_field'] = array(
+ '#type' => 'select',
+ '#title' => t('Weight field'),
+ '#options' => $options,
+ '#default_value' => $view->options['use_field_as_weight']['weight_field'],
+ '#description' => t('Select the field that should be used for weight calculation.'),
+ /*
+ // TODO: use drupal form states
+ '#process' => array('views_process_dependency'),
+ '#dependency' => array(
+ 'edit-style-options-use-field-as-weight-weight-text' => array(1)
+ ),
+ */
+ );
+ }
+ else {
+ drupal_set_message(t('You need to define at least two fields to set up a cumulus cloud view. 1. Name of the link. 2. URL for the link. And 3. Optional weight.', 'error'));
+ }
+ }
+ $form['size_interval'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Item size interval'),
+ '#default_value' => $view->options['size_interval'],
+ '#maxlength' => 2,
+ '#description' => t('The number of item sizes you want to use.'),
+ );
+ $form['flash_transparency'] = array(
+ '#type' => 'select',
+ '#title' => t('Background transparency'),
+ '#default_value' => $view->options['flash_transparency'],
+ '#options' => array(
+ 'false' => t('no'),
+ 'true' => t('yes'),
+ ),
+ '#description' => t('Enabling background transparency might cause issues with some (mostly older) browsers.
Under Linux, transparency doesn\'t work at all due to a known limitation in the current Flash player.'),
+ );
+ $form['flash_width'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Width of cumulus'),
+ '#default_value' => $view->options['flash_width'],
+ '#maxlength' => 3,
+ '#description' => t('The width of the cumulus in pixels.'),
+ );
+ $form['flash_height'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Height of cumulus'),
+ '#default_value' => $view->options['flash_height'],
+ '#maxlength' => 3,
+ '#description' => t('The height of the cumulus in pixels.'),
+ );
+ $form['flash_background'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Background color of cumulus'),
+ '#default_value' => $view->options['flash_background'],
+ '#maxlength' => 6,
+ '#description' => t('The hex color value for the background of the cumulus. E.g. ffffff. If "Background transparency" is enabled, this option will have no effect.'),
+ );
+ $form['flash_color'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Font color of cumulus'),
+ '#default_value' => $view->options['flash_color'],
+ '#maxlength' => 6,
+ '#description' => t('The hex color value you would like to use for the items. E.g. 000000.'),
+ );
+ $form['flash_color2'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Second font color of cumulus'),
+ '#default_value' => $view->options['flash_color2'],
+ '#maxlength' => 6,
+ '#description' => t('Second item color. If supplied, items will get a color from a gradient between both colors based on their sorting.'),
+ );
+ $form['flash_hicolor'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Highlight color of cumulus'),
+ '#default_value' => $view->options['flash_hicolor'],
+ '#maxlength' => 6,
+ '#description' => t('The hex color value you would like to use for the item mouseover/hover color'),
+ );
+ $form['flash_speed'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Rotation speed'),
+ '#default_value' => $view->options['flash_speed'],
+ '#maxlength' => 3,
+ '#description' => t('Set the speed of the cumulus. Options between 25 and 500 work best.'),
+ );
+ $form['flash_distribute'] = array(
+ '#type' => 'select',
+ '#title' => t('Distribute items evenly on cumulus'),
+ '#default_value' => $view->options['flash_distribute'],
+ '#options' => array(
+ 'false' => t('no'),
+ 'true' => t('yes'),
+ ),
+ '#description' => t('When enabled, the movie will attempt to distribute the items evenly over the surface of the cumulus.'),
+ );
+ $form['flash_font_size'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Font size'),
+ '#default_value' => $view->options['flash_font_size'],
+ '#maxlength' => 2,
+ '#description' => t('Set the font size of the tag with the lowest item-size in pixels (level 1).'),
+ );
+ $form['flash_font_size_interval'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Font size interval'),
+ '#default_value' => $view->options['flash_font_size_interval'],
+ '#maxlength' => 1,
+ '#description' => t('Set the font size interval used for the different item-sizes (level 2 and higher).'),
+ );
+}
diff --git a/includes/views/views-view-cumulus.tpl.php b/includes/views/views-view-cumulus.tpl.php
index ed3be93..26b7b0f 100644
--- a/includes/views/views-view-cumulus.tpl.php
+++ b/includes/views/views-view-cumulus.tpl.php
@@ -6,6 +6,4 @@
* @ingroup views_templates
*/
?>
-
-
-
+
diff --git a/includes/views/views_cumulus_style_plugin.inc b/includes/views/views_cumulus_style_plugin.inc
index 8c4f4e5..9fdca15 100644
--- a/includes/views/views_cumulus_style_plugin.inc
+++ b/includes/views/views_cumulus_style_plugin.inc
@@ -54,11 +54,15 @@ class views_cumulus_style_plugin extends views_plugin_style {
$this->rendered_fields[$count][$id] = $this->view->field[$id]->theme($row);
}
}
+
unset($this->view->row_index);
- //dpm($this->rendered_fields);
- $output .= theme($this->theme_functions(), $this->view, $this->options, $rows, $title);
+ $output = theme($this->theme_functions(),
+ array(
+ 'view' => $this->view,
+ 'options' => $this->options,
+ )
+ );
return $output;
}
-
}
diff --git a/includes/views/views_cumulus_summary_style_plugin.inc b/includes/views/views_cumulus_summary_style_plugin.inc
index dd4b14b..ba37ea1 100644
--- a/includes/views/views_cumulus_summary_style_plugin.inc
+++ b/includes/views/views_cumulus_summary_style_plugin.inc
@@ -27,7 +27,14 @@ class views_cumulus_summary_style_plugin extends views_plugin_style_summary {
'weight' => $row->num_records,
);
}
- $output .= theme($this->theme_functions(), $this->view, $this->options, $rows, $title);
+ $output .= theme($this->theme_functions(),
+ array(
+ 'view' => $this->view,
+ 'options' => $this->options,
+ 'rows' => array(),
+ 'title' => $title
+ )
+ );
return $output;
}