views_slideshow_xtra_example.module in Views Slideshow Xtra 7.3
Same filename and directory in other branches
This module creates a Views Slideshow Xtra content type and example slide nodes.
File
views_slideshow_xtra_example/views_slideshow_xtra_example.moduleView source
<?php
/**
* @file
* This module creates a Views Slideshow Xtra content type and
* example slide nodes.
*/
/**
* Implements hook_init().
*/
function views_slideshow_xtra_example_init() {
//drupal_add_css(drupal_get_path("module", "views_slideshow_xtra_example")."/views_slideshow_xtra_example.css");
}
/**
* Implements hook_menu().
*/
function views_slideshow_xtra_example_menu() {
$items['admin/config/media/views-slideshow-xtra'] = array(
'title' => 'Views Slideshow Xtra',
'description' => 'Views Slideshow Xtra Configuration.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'views_slideshow_xtra_example_admin_form',
),
'access arguments' => array(
'administer site configuration',
),
'type' => MENU_NORMAL_ITEM,
'weight' => 0,
);
return $items;
}
/**
* Implements hook_help().
*/
function views_slideshow_xtra_example_help($path, $arg) {
switch ($path) {
case 'views_slideshow_xtra_example':
return "<p>" . t("This module provides an example node type and nodes for Views Slideshow Xtra slides.") . "</p>";
}
}
/**
* Create three example slide nodes with image and overlay elements.
*/
function views_slideshow_xtra_example_nodes() {
// Slide 1
$node1 = new stdClass();
$node1->type = 'vsx_slide';
node_object_prepare($node1);
$node1->title = 'VSX Example Slide 1 ';
$node1->language = LANGUAGE_NONE;
// Slide 1 Order
$node1->vsx_slide_order[$node1->language][0] = '1';
// Slide 1 Image
$image_directory = drupal_get_path('module', 'views_slideshow_xtra_example') . '/images/';
$filepath = drupal_realpath($image_directory . 'vsx-slide-four-mile.jpg');
// Create a File object
$file = (object) array(
'uid' => 1,
'uri' => $filepath,
'filemime' => file_get_mimetype($filepath),
'status' => 1,
);
$file = file_copy($file, 'public://');
// Save the file to the root of the files directory. You can specify a subdirectory, for example, 'public://images'
$node1->vsx_slide_image[LANGUAGE_NONE][0] = (array) $file;
//associate the file object with the image field:
node_save($node1);
// Slide 2
$node2 = new stdClass();
$node2->type = 'vsx_slide';
node_object_prepare($node2);
$node2->title = 'VSX Example Slide 2 ';
$node2->language = LANGUAGE_NONE;
// Slide 2 Order
$node2->vsx_slide_order[$node2->language][0] = '2';
// Slide 2 Image
$image_directory = drupal_get_path('module', 'views_slideshow_xtra_example') . '/images/';
$filepath = drupal_realpath($image_directory . 'vsx-slide-mount-princeton.jpg');
// Create a File object
$file = (object) array(
'uid' => 1,
'uri' => $filepath,
'filemime' => file_get_mimetype($filepath),
'status' => 1,
);
$file = file_copy($file, 'public://');
// Save the file to the root of the files directory. You can specify a subdirectory, for example, 'public://images'
$node2->vsx_slide_image[LANGUAGE_NONE][0] = (array) $file;
//associate the file object with the image field:
node_save($node2);
// Slide 3
$node3 = new stdClass();
$node3->type = 'vsx_slide';
node_object_prepare($node3);
$node3->title = 'VSX Example Slide 3 ';
$node3->language = LANGUAGE_NONE;
// Slide 3 Order
$node3->vsx_slide_order[$node3->language][0] = '3';
// Slide 3 Image
$image_directory = drupal_get_path('module', 'views_slideshow_xtra_example') . '/images/';
$filepath = drupal_realpath($image_directory . 'vsx-slide-mount-yale-treeline.jpg');
// Create a File object
$file = (object) array(
'uid' => 1,
'uri' => $filepath,
'filemime' => file_get_mimetype($filepath),
'status' => 1,
);
$file = file_copy($file, 'public://');
// Save the file to the root of the files directory. You can specify a subdirectory, for example, 'public://images'
$node3->vsx_slide_image[LANGUAGE_NONE][0] = (array) $file;
//associate the file object with the image field:
node_save($node3);
}
/**
* Admin form.
*/
function views_slideshow_xtra_example_admin_form() {
$form = array();
// Heading
$form['heading'] = array(
'#markup' => '<br/><strong>Generate VSX Example Nodes</strong><br/><br/>',
);
// Generate Nodes Button
$form['generate_nodes'] = array(
'#type' => 'submit',
'#value' => t('Generate Example Nodes'),
);
// Delete Nodes Button
// $form['delete_nodes'] = array(
// '#type' => 'submit',
// '#value' => t('Delete Example Nodes'),
// );
// Heading
$form['footer'] = array(
'#markup' => '<br/><br/><br/>',
);
return $form;
}
/**
* Admin form submit.
*/
function views_slideshow_xtra_example_admin_form_submit($form, &$form_state) {
if ($form_state['clicked_button']['#value'] == $form_state['values']['generate_nodes']) {
views_slideshow_xtra_example_nodes();
drupal_set_message(t('Example nodes generated.'));
}
// if($form_state['clicked_button']['#value'] == $form_state['values']['delete_nodes']) {
// drupal_set_message(t('Not yet implemented.'));
/*
$results = db_select('node', 'n')
->fields('n', array('nid'))
->condition('type', array('views_slideshow_xtra'), 'IN')
->execute();
foreach ($results as $result) {
$nids[] = $result->nid;
}
if (!empty($nids)) {
foreach($nids as $nid) {
$node = node_load($nid);
$vsx_field_values = $node->views_slideshow_xtra['und'];
$is_example_value = FALSE;
foreach($vsx_field_values as $value) {
$json_str = $value['value'];
$vsx = drupal_json_decode($json_str);
if(!empty($vsx) && array_key_exists('vsx_example', $vsx)) {
if($vsx['vsx_example']='true') {
$is_example_value = TRUE;
}
}
}
if(!$is_example_value) {
unset($nids[array_search($nid,$nids)]);
}
}
node_delete_multiple($nids);
}
drupal_set_message(t('Deleted %count example nodes.',
empty($nids) ? array('%count' => 0) : array('%count' => count($nids))));
*/
// }
}
/**
* Implements hook_views_api().
*/
function views_slideshow_xtra_example_views_api() {
return array(
'api' => 3.0,
);
}
/**
* Implements hook_views_default_views().
*/
function views_slideshow_xtra_example_views_default_views() {
$view = new view();
$view->name = 'views_slideshow_xtra_example';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Views Slideshow Xtra Example';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE;
/* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view
->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Views Slideshow Xtra Example';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['style_plugin'] = 'slideshow';
$handler->display->display_options['style_options']['slideshow_type'] = 'views_slideshow_cycle';
$handler->display->display_options['style_options']['slideshow_skin'] = 'default';
$handler->display->display_options['style_options']['skin_info'] = array(
'class' => 'default',
'name' => 'Default',
'module' => 'views_slideshow',
'path' => '',
'stylesheets' => array(),
);
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_pager']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_pager']['type'] = 'views_slideshow_pager_fields';
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_pager']['views_slideshow_pager_fields_fields'] = array(
'vsx_slide_image' => 0,
);
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_controls']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_controls']['type'] = 'views_slideshow_controls_text';
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_slide_counter']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_xtra_overlay']['enable'] = 1;
$handler->display->display_options['style_options']['widgets']['top']['views_slideshow_xtra_overlay']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_pager']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_pager']['type'] = 'views_slideshow_pager_fields';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_pager']['views_slideshow_pager_fields_fields'] = array(
'vsx_slide_image' => 0,
);
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_controls']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_controls']['type'] = 'views_slideshow_controls_text';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_slide_counter']['weight'] = '1';
$handler->display->display_options['style_options']['widgets']['bottom']['views_slideshow_xtra_overlay']['weight'] = '1';
$handler->display->display_options['style_options']['views_slideshow_cycle']['timeout'] = '5000';
$handler->display->display_options['style_options']['views_slideshow_cycle']['speed'] = '700';
$handler->display->display_options['style_options']['views_slideshow_cycle']['delay'] = '0';
$handler->display->display_options['style_options']['views_slideshow_cycle']['start_paused'] = 0;
$handler->display->display_options['style_options']['views_slideshow_cycle']['remember_slide_days'] = '1';
$handler->display->display_options['style_options']['views_slideshow_cycle']['items_per_slide'] = '1';
$handler->display->display_options['style_options']['views_slideshow_cycle']['wait_for_image_load_timeout'] = '3000';
$handler->display->display_options['style_options']['views_slideshow_cycle']['cleartype'] = 0;
$handler->display->display_options['style_options']['views_slideshow_cycle']['cleartypenobg'] = 0;
$handler->display->display_options['row_plugin'] = 'fields';
/* Field: Content: Slide Image */
$handler->display->display_options['fields']['vsx_slide_image']['id'] = 'vsx_slide_image';
$handler->display->display_options['fields']['vsx_slide_image']['table'] = 'field_data_vsx_slide_image';
$handler->display->display_options['fields']['vsx_slide_image']['field'] = 'vsx_slide_image';
$handler->display->display_options['fields']['vsx_slide_image']['label'] = '';
$handler->display->display_options['fields']['vsx_slide_image']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['external'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['trim'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['alter']['html'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['vsx_slide_image']['element_default_classes'] = 1;
$handler->display->display_options['fields']['vsx_slide_image']['hide_empty'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['empty_zero'] = 0;
$handler->display->display_options['fields']['vsx_slide_image']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['vsx_slide_image']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['vsx_slide_image']['settings'] = array(
'image_style' => 'large',
'image_link' => '',
);
$handler->display->display_options['fields']['vsx_slide_image']['field_api_classes'] = 0;
/* Sort criterion: Content: Slide Order (vsx_slide_order) */
$handler->display->display_options['sorts']['vsx_slide_order_value']['id'] = 'vsx_slide_order_value';
$handler->display->display_options['sorts']['vsx_slide_order_value']['table'] = 'field_data_vsx_slide_order';
$handler->display->display_options['sorts']['vsx_slide_order_value']['field'] = 'vsx_slide_order_value';
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'vsx_slide' => 'vsx_slide',
);
/* Display: Slideshow */
$handler = $view
->new_display('page', 'Slideshow', 'page');
$handler->display->display_options['path'] = 'vsx-example';
/* Display: Edit Link Overlay */
$handler = $view
->new_display('attachment', 'Edit Link Overlay', 'attachment_1');
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'overlay';
$handler->display->display_options['defaults']['style_options'] = FALSE;
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;
$handler->display->display_options['defaults']['fields'] = FALSE;
/* Field: Node: Edit link */
$handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
$handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
$handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
$handler->display->display_options['fields']['edit_node']['label'] = '';
$handler->display->display_options['fields']['edit_node']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['edit_node']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['edit_node']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['trim'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['html'] = 0;
$handler->display->display_options['fields']['edit_node']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['edit_node']['element_default_classes'] = 1;
$handler->display->display_options['fields']['edit_node']['hide_empty'] = 0;
$handler->display->display_options['fields']['edit_node']['empty_zero'] = 0;
$handler->display->display_options['fields']['edit_node']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['edit_node']['text'] = 'Edit Slide Content';
$handler->display->display_options['displays'] = array(
'page' => 'page',
'default' => 0,
);
$handler->display->display_options['attachment_position'] = 'after';
/* Display: Title Overlay */
$handler = $view
->new_display('attachment', 'Title Overlay', 'attachment_2');
$handler->display->display_options['display_description'] = 'Title Overlay';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'overlay';
$handler->display->display_options['style_options']['overlay_delay'] = '850';
$handler->display->display_options['style_options']['overlay_fade_in'] = '1000';
$handler->display->display_options['style_options']['overlay_fade_out'] = '1000';
$handler->display->display_options['style_options']['overlay_fade_out_delay'] = '3000';
$handler->display->display_options['defaults']['style_options'] = FALSE;
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;
$handler->display->display_options['defaults']['fields'] = FALSE;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['external'] = 0;
$handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['title']['link_to_node'] = 0;
$handler->display->display_options['displays'] = array(
'page' => 'page',
'default' => 0,
);
$handler->display->display_options['attachment_position'] = 'after';
// Paste the Views Export above.
// Wrap and return default view.
$views[$view->name] = $view;
return $views;
}
Functions
Name | Description |
---|---|
views_slideshow_xtra_example_admin_form | Admin form. |
views_slideshow_xtra_example_admin_form_submit | Admin form submit. |
views_slideshow_xtra_example_help | Implements hook_help(). |
views_slideshow_xtra_example_init | Implements hook_init(). |
views_slideshow_xtra_example_menu | Implements hook_menu(). |
views_slideshow_xtra_example_nodes | Create three example slide nodes with image and overlay elements. |
views_slideshow_xtra_example_views_api | Implements hook_views_api(). |
views_slideshow_xtra_example_views_default_views | Implements hook_views_default_views(). |