draggableviews_book.module in DraggableViews 6.3
Draggableviews Book module provides Book-support.
File
modules/draggableviews_book/draggableviews_book.moduleView source
<?php
/**
* @file
* Draggableviews Book module provides Book-support.
*/
/**
* Display help and module information
* @param path which path of the site we're displaying help
* @param arg array that holds the current path as would be returned from arg() function
* @return help text for the path
*/
function draggableviews_book_help($path, $arg) {
$output = '';
switch ($path) {
case "admin/help#draggableviews_book":
$output = '<p>' . t("Book-support") . '</p>';
break;
}
return $output;
}
/**
* Implementing hook_draggableviews_handlers
*/
function draggableviews_book_draggableviews_handlers() {
return array(
'book' => array(
'file' => 'draggableviews_handler_book.inc',
'title' => t('Book'),
'desciption' => 'Default implementation with Books',
'handler' => 'draggableviews_handler_book',
),
);
}
/**
* Implementing hook_draggableviews_style_plugin_form_alter.
*/
function draggableviews_book_draggableviews_style_plugin_form_alter(&$form, $form_state, $style_plugin) {
// Check for input.
if (!empty($form_state['input']['style_options'])) {
// Define the input data as the current data.
$current = $form_state['input']['style_options'];
}
else {
// Define the already stored data as the current data.
$current = $style_plugin->options;
}
$arguments = array();
foreach ($style_plugin->view
->get_items('argument', $style_plugin->display->id) as $arg_id => $settings) {
$arguments[$arg_id] = $settings['table'] . '.' . $settings['field'] . ': ' . $arg_id;
}
if (empty($arguments)) {
$arguments = array(
'none' => t('- None -'),
);
}
$filters = array();
foreach ($style_plugin->view
->get_items('filter', $style_plugin->display->id) as $filter_id => $settings) {
$filters[$filter_id] = $settings['table'] . '.' . $settings['field'] . ': ' . $filter_id;
}
if (empty($filters)) {
$filters = array(
'none' => t('- None -'),
);
}
$form['draggableviews_book_header'] = array(
'#prefix' => '<div style="background: #F6F6F6; border-top: 1px solid #D6DBDE; font-weight: bold; padding: 1em 1em 0;">',
'#suffix' => '</div>',
'#value' => t('@display: Style options: Book handler Settings', array(
'@display' => $style_plugin->display->display_title,
)),
);
$radio_id_none = form_clean_id('edit-default-use-book-none');
$radio_id_argument = form_clean_id('edit-default-use-book-argument');
$radio_id_filter = form_clean_id('edit-default-use-book-filter');
$form['draggableviews_book_radios'] = array(
'#type' => 'radios',
'#default_value' => isset($current['draggableviews_book_radios']) ? $current['draggableviews_book_radios'] : 0,
'#description' => t('Choose where to get the root book id from. The root book id defaults to 0.'),
'#options' => array(
t('None'),
t('Argument'),
t('Filter'),
),
);
$form['draggableviews_book_argument'] = array(
'#type' => 'select',
'#options' => $arguments,
'#default_value' => isset($current['draggableviews_book_argument']) ? $current['draggableviews_book_argument'] : key($arguments),
);
$form['draggableviews_book_filter'] = array(
'#type' => 'select',
'#options' => $filters,
'#default_value' => isset($current['draggableviews_book_filter']) ? $current['draggableviews_book_filter'] : key($filters),
);
}
function draggableviews_book_draggableviews_style_plugin_render(&$form) {
$header = drupal_render($form['draggableviews_book_header']);
$rows = array(
array(
drupal_render($form['draggableviews_book_radios'][0]),
' ',
),
array(
drupal_render($form['draggableviews_book_radios'][1]),
drupal_render($form['draggableviews_book_argument']),
),
array(
drupal_render($form['draggableviews_book_radios'][2]),
drupal_render($form['draggableviews_book_filter']),
),
);
$radios = drupal_render($form['draggableviews_book_radios']);
$table = theme('table', array(
t('Use'),
t('Root Book by..'),
), $rows);
return $header . $table . $radios;
}
/**
* Implementing hook_views_api
*/
function draggableviews_book_views_api() {
return array(
'api' => 2.0,
'path' => drupal_get_path('module', 'draggableviews_book'),
);
}
function draggableviews_book_views_default_views() {
$view = new view();
$view->name = 'draggablebooks';
$view->description = '';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE;
/* Edit this to true to make a default view disabled initially */
$handler = $view
->new_display('default', 'Defaults', 'default');
$handler
->override_option('relationships', array(
'nid' => array(
'label' => 'Book parent',
'required' => 0,
'id' => 'nid',
'table' => 'book_parent',
'field' => 'nid',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$handler
->override_option('fields', array(
'title' => array(
'label' => 'Title',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'link_to_node' => 0,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'name' => array(
'label' => 'Author',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'link_to_user' => 1,
'overwrite_anonymous' => 0,
'anonymous_text' => '',
'exclude' => 0,
'id' => 'name',
'table' => 'users',
'field' => 'name',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'nid' => array(
'label' => '',
'alter' => array(
'alter_text' => 1,
'text' => 'Jump into',
'make_link' => 1,
'path' => 'node/[nid]/rearrange',
'link_class' => '',
'alt' => 'Jump to the rearrange page of this book page.',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'link_to_node' => 0,
'exclude' => 0,
'id' => 'nid',
'table' => 'node',
'field' => 'nid',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'weight' => array(
'label' => 'Weight',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'set_precision' => FALSE,
'precision' => 0,
'decimal' => '.',
'separator' => ',',
'prefix' => '',
'suffix' => '',
'exclude' => 0,
'id' => 'weight',
'table' => 'book_menu_links',
'field' => 'weight',
'relationship' => 'none',
),
'nid_1' => array(
'label' => 'Parent Nid',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'link_to_node' => 0,
'exclude' => 0,
'id' => 'nid_1',
'table' => 'node',
'field' => 'nid',
'override' => array(
'button' => 'Override',
),
'relationship' => 'nid',
),
));
$handler
->override_option('sorts', array(
'weight_1' => array(
'order' => 'ASC',
'id' => 'weight_1',
'table' => 'book_menu_links',
'field' => 'weight',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'p' => array(
'order' => 'ASC',
'id' => 'p',
'table' => 'book_menu_links',
'field' => 'p',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$handler
->override_option('arguments', array(
'p' => array(
'default_action' => 'empty',
'style_plugin' => 'default_summary',
'style_options' => array(),
'wildcard' => 'all',
'wildcard_substitution' => 'All',
'title' => '',
'breadcrumb' => '',
'default_argument_type' => 'fixed',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'id' => 'p',
'table' => 'draggableviews_book_book_parent',
'field' => 'p',
'validate_user_argument_type' => 'uid',
'validate_user_roles' => array(
'2' => 0,
),
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
'default_options_div_prefix' => '',
'default_argument_user' => 0,
'default_argument_fixed' => '',
'default_argument_php' => '',
'validate_argument_node_type' => array(
'book' => 0,
'imagewall_structure' => 0,
'page' => 0,
'story' => 0,
),
'validate_argument_node_access' => 0,
'validate_argument_nid_type' => 'nid',
'validate_argument_vocabulary' => array(
'1' => 0,
'2' => 0,
),
'validate_argument_type' => 'tid',
'validate_argument_transform' => 0,
'validate_user_restrict_roles' => 0,
'validate_argument_php' => '',
),
));
$handler
->override_option('access', array(
'type' => 'perm',
'perm' => 'Allow Reordering',
));
$handler
->override_option('cache', array(
'type' => 'none',
));
$handler
->override_option('empty', 'This book page doesn\'t contain any sub pages.');
$handler
->override_option('empty_format', '1');
$handler
->override_option('items_per_page', 20);
$handler
->override_option('use_pager', '1');
$handler
->override_option('style_plugin', 'draggabletable');
$handler
->override_option('style_options', array(
'override' => 1,
'sticky' => 0,
'order' => 'asc',
'columns' => array(
'title' => 'title',
'name' => 'name',
'nid' => 'nid',
'weight' => 'weight',
'nid_1' => 'nid_1',
'weight_1' => 'weight_1',
),
'info' => array(
'title' => array(
'sortable' => 0,
'separator' => '',
),
'name' => array(
'sortable' => 0,
'separator' => '',
),
'nid' => array(
'sortable' => 0,
'separator' => '',
),
'weight' => array(
'sortable' => 0,
'separator' => '',
),
'nid_1' => array(
'sortable' => 0,
'separator' => '',
),
'weight_1' => array(
'sortable' => 0,
'separator' => '',
),
),
'default' => '-1',
'tabledrag_hierarchy' => array(
'field' => 'nid_1',
'handler' => 'book',
),
'tabledrag_order' => array(
'field' => 'weight',
'handler' => 'book',
),
'draggableviews_extensions' => array(
'extension_top' => '3',
'extension_bottom' => '3',
),
'tabledrag_order_visible' => array(
'visible' => 0,
),
'tabledrag_hierarchy_visible' => array(
'visible' => 0,
),
'draggableviews_depth_limit' => '-1',
'draggableviews_repair' => array(
'repair' => 'repair',
),
'tabledrag_types_add' => 'Add type',
'tabledrag_expand' => array(
'expand_links' => 'expand_links',
'collapsed' => 0,
'by_uid' => 0,
),
'tabledrag_lock' => array(
'lock' => 0,
),
'draggableviews_default_on_top' => '1',
'draggableviews_button_text' => 'Save order',
'draggableviews_arguments' => array(
'use_args' => 0,
),
'draggableviews_book_radios' => '1',
'draggableviews_book_argument' => 'p',
'draggableviews_book_filter' => 'none',
));
$handler = $view
->new_display('page', 'Page', 'page_1');
$handler
->override_option('path', 'node/%/rearrange');
$handler
->override_option('menu', array(
'type' => 'tab',
'title' => 'Rearrange',
'description' => 'Organize your book pages.',
'weight' => '10',
'name' => 'primary-links',
));
$handler
->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
));
$views[$view->name] = $view;
return $views;
}
Functions
Name![]() |
Description |
---|---|
draggableviews_book_draggableviews_handlers | Implementing hook_draggableviews_handlers |
draggableviews_book_draggableviews_style_plugin_form_alter | Implementing hook_draggableviews_style_plugin_form_alter. |
draggableviews_book_draggableviews_style_plugin_render | |
draggableviews_book_help | Display help and module information |
draggableviews_book_views_api | Implementing hook_views_api |
draggableviews_book_views_default_views |