diff --git a/field--media-gallery-file.tpl.php b/field--media-gallery-file.tpl.php new file mode 100644 index 0000000..8f147cc --- /dev/null +++ b/field--media-gallery-file.tpl.php @@ -0,0 +1,27 @@ + + +
> + + + + + + +
diff --git a/media_gallery.css b/media_gallery.css index c318950..4756a57 100644 --- a/media_gallery.css +++ b/media_gallery.css @@ -144,7 +144,7 @@ position: relative; } -.media-gallery-media > .field-items > .field-item { +.media-gallery-media > .media-gallery-file-items > .media-gallery-file-item { float: left; position: relative; } @@ -171,7 +171,7 @@ vertical-align: top; } -.meta-wrapper .media-title * .field-item, +.meta-wrapper .media-title * .media-gallery-file-item, .meta-wrapper .media-title { overflow: hidden; text-overflow: ellipsis; @@ -374,7 +374,7 @@ width: 100%; } -.mg-col > .field-items { +.mg-col > .media-gallery-file-items { width: 100%; } @@ -391,53 +391,53 @@ a.media-gallery-thumb img, * presentation of their galleries if they alter the width * of items with the .field class. */ -.mg-col-1 > .field-items > .field-item, +.mg-col-1 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-1 .mg-gallery, -.media-gallery-detail .field-items > .field-item { +.media-gallery-detail .media-gallery-file-items > .media-gallery-file-item { width: 100% !important; } -.mg-col-2 > .field-items > .field-item, +.mg-col-2 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-2 .mg-gallery { width: 50% !important; } -.mg-col-3 > .field-items > .field-item, +.mg-col-3 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-3 .mg-gallery { width: 33.3% !important; } -.mg-col-4 > .field-items > .field-item, +.mg-col-4 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-4 .mg-gallery { width: 24.96% !important; } -.mg-col-5 > .field-items > .field-item, +.mg-col-5 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-5 .mg-gallery { width: 20% !important; } -.mg-col-6 > .field-items > .field-item, +.mg-col-6 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-6 .mg-gallery { width: 16.6666666665% !important; } -.mg-col-7 > .field-items > .field-item, +.mg-col-7 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-7 .mg-gallery { width: 14.2857142857% !important; } -.mg-col-8 > .field-items > .field-item, +.mg-col-8 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-8 .mg-gallery { width: 12.5% !important; } -.mg-col-9 > .field-items > .field-item, +.mg-col-9 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-9 .mg-gallery { width: 11.1111111111% !important; } -.mg-col-10 > .field-items > .field-item, +.mg-col-10 > .media-gallery-file-items > .media-gallery-file-item, .mg-col-10 .mg-gallery { width: 10% !important; } @@ -478,7 +478,7 @@ a.media-gallery-thumb img, max-width: 70%; } -.media-gallery-detail-wrapper .field-name-media-description .field-item { +.media-gallery-detail-wrapper .field-name-media-description .media-gallery-file-item { word-wrap: break-word; } diff --git a/media_gallery.dragdrop.js b/media_gallery.dragdrop.js index 8af15cd..0d191da 100644 --- a/media_gallery.dragdrop.js +++ b/media_gallery.dragdrop.js @@ -15,7 +15,7 @@ Drupal.behaviors.mediaGallerySort.attach = function (context, settings) { $collection.bind('sortstop', Drupal.mediaGallerySort.setHeight); } // Create a drag-and-drop editor for individual gallery grid pages. - var $gallery = $('.media-gallery-view-full.media-gallery-media > .field-items').once('media-gallery-sortable'); + var $gallery = $('.media-gallery-view-full.media-gallery-media > .media-gallery-file-items').once('media-gallery-sortable'); $('.media-gallery-item-wrapper', $gallery).once('media-gallery-draggable', Drupal.mediaGallerySort.addDraggableIcon); if ($gallery.length && settings.mediaGallerySortGalleryUrl) { $gallery.sortable(); diff --git a/media_gallery.module b/media_gallery.module index 0ec5541..416f448 100644 --- a/media_gallery.module +++ b/media_gallery.module @@ -4,7 +4,6 @@ * @file * Lets users create galleries made up of media items. */ - require_once(dirname(__FILE__) . '/media_gallery.fields.inc'); require_once(dirname(__FILE__) . '/fields_rsi_prevention.inc'); @@ -76,7 +75,7 @@ function media_gallery_menu() { $items['media-gallery/detail/%media_gallery_mg_node/%media_gallery_mg_item/edit'] = array( 'title' => 'Edit', 'page callback' => 'media_gallery_media_page_edit', - 'page arguments' => array(2, 3), + 'page arguments' => array(2, 3), 'access callback' => 'media_gallery_edit_item_access', 'access arguments' => array(2, 3), 'load arguments' => array(2), @@ -128,7 +127,7 @@ function media_gallery_menu() { $items['media/%file/download'] = array( 'title' => 'Download', 'page callback' => 'media_download', - 'page arguments' => array(1), + 'page arguments' => array(1), 'access callback' => 'file_entity_access', 'access arguments' => array('view', 1), 'type' => MENU_CALLBACK, @@ -154,6 +153,7 @@ function media_gallery_menu() { function media_gallery_mg_node_load($nid, $nid2 = NULL) { return node_load($nid); } + /** * Load a file object from the database, if it is part of the media_gallery * node. @@ -258,15 +258,15 @@ function media_gallery_node_load($nodes, $types) { } /** - * Implements hook_file_delete(). - * - * When an image is deleted, remove it from media_gallery nodes first. - */ + * Implements hook_file_delete(). + * + * When an image is deleted, remove it from media_gallery nodes first. + */ function media_gallery_file_delete($file) { $query = new EntityFieldQuery(); $result = $query->entityCondition('entity_type', 'node') - ->fieldCondition('media_gallery_file', 'fid', $file->fid, '=') - ->execute(); + ->fieldCondition('media_gallery_file', 'fid', $file->fid, '=') + ->execute(); if (isset($result['node'])) { $nids = array_keys($result['node']); @@ -343,7 +343,7 @@ function media_gallery_view($node, $view_mode) { if ($view_mode == 'teaser') { if (!empty($node->media_gallery_file[LANGUAGE_NONE])) { $first_item = array_shift($node->media_gallery_file[LANGUAGE_NONE]); - if (file_entity_access('view', (object)$first_item)) { + if (file_entity_access('view', (object) $first_item)) { $node->media_gallery_file[LANGUAGE_NONE] = array($first_item); } else { @@ -497,6 +497,11 @@ function media_gallery_theme() { 'render element' => 'element', 'file' => 'media_gallery.theme.inc', ), + //Add the template suggestion for the media files + 'field__media_gallery_file' => array( + 'render element' => 'element', + 'template' => 'field--media-gallery-file', + ), 'media_gallery_media_item_thumbnail' => array( 'render element' => 'element', 'file' => 'media_gallery.theme.inc', @@ -576,9 +581,9 @@ function media_gallery_update($node) { // exists before querying it. if (empty($node->media_gallery_expose_block[LANGUAGE_NONE][0]['value']) && db_table_exists('block')) { db_delete('block') - ->condition('module', 'media_gallery') - ->condition('delta', $node->nid) - ->execute(); + ->condition('module', 'media_gallery') + ->condition('delta', $node->nid) + ->execute(); } } @@ -655,12 +660,12 @@ function media_gallery_block_view($delta = '') { $rows = !empty($node->media_gallery_block_rows[LANGUAGE_NONE][0]['value']) ? $node->media_gallery_block_rows[LANGUAGE_NONE][0]['value'] : 1; $number_to_show = $columns * $rows; $block_fids = db_select('file_managed', 'f') - ->fields('f', array('fid')) - ->condition('fid', $gallery_fids, 'IN') - ->orderBy('timestamp', 'DESC') - ->range(0, $number_to_show) - ->execute() - ->fetchCol(); + ->fields('f', array('fid')) + ->condition('fid', $gallery_fids, 'IN') + ->orderBy('timestamp', 'DESC') + ->range(0, $number_to_show) + ->execute() + ->fetchCol(); // Before sorting, remove any items that will not display in the block. $fid_order = array_flip($block_fids); if ($number_to_show < count($files)) { @@ -753,7 +758,7 @@ function media_gallery_block_save($delta = '', $edit = array()) { */ function media_gallery_library() { $colorbox_path = variable_get('media_gallery_library_path', FALSE); - if ($colorbox_path === FALSE ) { + if ($colorbox_path === FALSE) { $colorbox_path = module_exists('libraries') ? libraries_get_path('colorbox') : 'sites/all/libraries/colorbox'; } else { @@ -816,9 +821,9 @@ function media_gallery_get_media_type_count($node, $media_field = 'media_gallery $type = $query->addField('f', 'type'); $query->addExpression('COUNT(*)'); $type_count = $query->condition('f.fid', $fids, 'IN') - ->groupBy($type) - ->execute() - ->fetchAllKeyed(); + ->groupBy($type) + ->execute() + ->fetchAllKeyed(); return $type_count; } @@ -945,6 +950,7 @@ function media_gallery_form_alter(&$form, &$form_state, $form_id) { /* * Implements hook_form_FORM_ID_alter(). */ + function media_gallery_form_media_gallery_node_form_alter(&$form, &$form_state) { _media_gallery_attach_form_resources($form); @@ -1353,7 +1359,7 @@ function media_gallery_form_taxonomy_form_term_alter(&$form, &$form_state) { $form['#attributes']['class'][] = 'form-media-gallery-collection'; $form['name']['#title'] = t('Title'); $form['path']['alias']['#title'] = check_plain(t('"All galleries" URL')); - $form['path']['alias']['#weight'] = -1; + $form['path']['alias']['#weight'] = -1; $form['path']['alias']['#field_prefix'] = url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q='); unset($form['path']['alias']['#description']); _media_gallery_attach_form_resources($form); @@ -1451,11 +1457,11 @@ function media_gallery_module_implements_alter(&$implementations, $hook) { function media_gallery_get_default_gallery_collection() { $gallery_collection_vid = variable_get('media_gallery_collection_vid'); $tid = db_select('taxonomy_term_data', 'ttd') - ->fields('ttd', array('tid')) - ->condition('vid', $gallery_collection_vid) - ->range(0, 1) - ->execute() - ->fetchField(); + ->fields('ttd', array('tid')) + ->condition('vid', $gallery_collection_vid) + ->range(0, 1) + ->execute() + ->fetchField(); return taxonomy_term_load($tid); } @@ -1491,7 +1497,7 @@ function media_gallery_edit_access($node) { * galleries. */ function media_gallery_multiedit_access($node) { - if (!media_gallery_edit_access($node) ) + if (!media_gallery_edit_access($node)) return; $media_items = field_get_items('node', $node, 'media_gallery_file'); @@ -1517,8 +1523,7 @@ function media_gallery_multiedit_access($node) { */ function media_gallery_view_item_access($node, $file) { // Only grant access if the user can view the gallery and the provided media. - return media_gallery_view_access($node) && file_entity_access('view', $file) - && in_array($file->fid, media_gallery_get_file_ids($node)); + return media_gallery_view_access($node) && file_entity_access('view', $file) && in_array($file->fid, media_gallery_get_file_ids($node)); } /** @@ -1535,8 +1540,7 @@ function media_gallery_view_item_access($node, $file) { function media_gallery_edit_item_access($node, $file) { // Only grant access if the user can edit the provided media // and the media is part of the gallery. - return file_entity_access('edit', $file) - && in_array($file->fid, media_gallery_get_file_ids($node)); + return file_entity_access('edit', $file) && in_array($file->fid, media_gallery_get_file_ids($node)); } /** @@ -1810,11 +1814,11 @@ function media_gallery_file_default_displays() { // Images. $display_name = 'image__' . $view_mode . '__file_image'; $default_displays[$display_name] = (object) array( - 'api_version' => 1, - 'name' => $display_name, - 'status' => 1, - 'settings' => array('image_style' => $image_style), - 'weight' => $default_weight, + 'api_version' => 1, + 'name' => $display_name, + 'status' => 1, + 'settings' => array('image_style' => $image_style), + 'weight' => $default_weight, ); // YouTube. @@ -1823,21 +1827,21 @@ function media_gallery_file_default_displays() { // Video. Omit settings to use media_youtube_video defaults. $display_name = 'video__' . $view_mode . '__media_youtube_video'; $default_displays[$display_name] = (object) array( - 'api_version' => 1, - 'name' => $display_name, - 'status' => 1, - 'weight' => $default_weight, + 'api_version' => 1, + 'name' => $display_name, + 'status' => 1, + 'weight' => $default_weight, ); } else { // Thumbnail. $display_name = 'video__' . $view_mode . '__media_youtube_image'; $default_displays[$display_name] = (object) array( - 'api_version' => 1, - 'name' => $display_name, - 'status' => 1, - 'settings' => array('image_style' => $image_style), - 'weight' => $default_weight, + 'api_version' => 1, + 'name' => $display_name, + 'status' => 1, + 'settings' => array('image_style' => $image_style), + 'weight' => $default_weight, ); } } @@ -1874,7 +1878,7 @@ function media_gallery_lightbox_delivery_callback($page_content) { function media_gallery_filter_media_access($media_files, $operation) { $media_accessable = array(); foreach ($media_files as $key => $media) { - if (file_entity_access($operation, (object)$media)) { + if (file_entity_access($operation, (object) $media)) { $media_accessable[] = $media; } } diff --git a/media_gallery.theme.inc b/media_gallery.theme.inc index e70e3c3..88cf97e 100644 --- a/media_gallery.theme.inc +++ b/media_gallery.theme.inc @@ -97,7 +97,7 @@ function theme_media_gallery_teaser($variables) { // Add the meta information $output .= theme('media_gallery_meta', $meta_vars); } - + return $output; } @@ -107,7 +107,7 @@ function theme_media_gallery_teaser($variables) { */ function template_preprocess_media_gallery_media_item_thumbnail(&$variables) { $element = $variables['element']; - + // Attach the colorbox javascript if the format calls for it. $format = $element['#media_gallery_entity']->media_gallery_format[LANGUAGE_NONE][0]['value']; $lightbox = is_numeric(strpos($format, 'lightbox')) ? TRUE : FALSE; @@ -119,7 +119,6 @@ function template_preprocess_media_gallery_media_item_thumbnail(&$variables) { // Get the rendered file without annoying DIV wrappers. $element['file'] = array('#theme' => 'media_gallery_file_field_inline', '0' => $element['file']); $image = drupal_render($element['file']); - $gallery_id = $element['#media_gallery_entity']->nid; $media_id = $element['#file']->fid; @@ -579,7 +578,7 @@ function theme_media_gallery_file_field_inline($variables) { $element = $variables['element']; $output = drupal_render_children($element); - + // @todo Most likely, the image was rendered using a Styles module formatter // (probably a File Styles wrapper to an image style). The Styles module // needs to be improved to integrate properly into Drupal 7 rendering, so