From 257a6827d3f387b26c2f856bd0c1858a113c7515 Mon Sep 17 00:00:00 2001
From: Chris Gross <gross.364@osu.edu>
Date: Wed, 4 May 2016 11:31:02 -0400
Subject: [PATCH] daily build

---
 profiles/wcm_base/CHANGELOG.txt               |  5 ++
 ...anels_settings.features.field_instance.inc | 74 +++++++++++++++++++
 .../wcm_panels_settings.info                  |  3 +
 .../themes/ocio_omega_base/template.php       | 55 ++++++++------
 4 files changed, 115 insertions(+), 22 deletions(-)
 create mode 100644 profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc

diff --git a/profiles/wcm_base/CHANGELOG.txt b/profiles/wcm_base/CHANGELOG.txt
index 81b0b68d..b0d6f459 100644
--- a/profiles/wcm_base/CHANGELOG.txt
+++ b/profiles/wcm_base/CHANGELOG.txt
@@ -1,3 +1,8 @@
+WCM Base 7.x-1.x, 2016-05-04
+----------------------------
+- WCM Panels Settings: Added link field to image panels panes
+- OCIO Omega Base: Render link field on image panels panes
+
 WCM Base 7.x-1.x, 2016-04-28
 ----------------------------
 - OCIO Omega Base: Fixed regression where tile pane title appears twice.
diff --git a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc
new file mode 100644
index 00000000..b7da3b52
--- /dev/null
+++ b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc
@@ -0,0 +1,74 @@
+<?php
+/**
+ * @file
+ * wcm_panels_settings.features.field_instance.inc
+ */
+
+/**
+ * Implements hook_field_default_field_instances().
+ */
+function wcm_panels_settings_field_default_field_instances() {
+  $field_instances = array();
+
+  // Exported field_instance: 'fieldable_panels_pane-image-field_ocio_link'.
+  $field_instances['fieldable_panels_pane-image-field_ocio_link'] = array(
+    'bundle' => 'image',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'default' => array(
+        'label' => 'hidden',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 2,
+      ),
+    ),
+    'ds_extras_field_template' => '',
+    'entity_type' => 'fieldable_panels_pane',
+    'field_name' => 'field_ocio_link',
+    'label' => 'Link',
+    'required' => 0,
+    'settings' => array(
+      'absolute_url' => 1,
+      'attributes' => array(
+        'class' => '',
+        'configurable_class' => 0,
+        'configurable_title' => 0,
+        'rel' => '',
+        'target' => 'default',
+        'title' => '',
+      ),
+      'display' => array(
+        'url_cutoff' => 80,
+      ),
+      'enable_tokens' => 1,
+      'linkit' => array(
+        'button_text' => 'Search',
+        'enable' => 1,
+        'profile' => 'ocio_field_linkit',
+      ),
+      'rel_remove' => 'default',
+      'title' => 'none',
+      'title_label_use_field_label' => 0,
+      'title_maxlength' => 128,
+      'title_value' => '',
+      'url' => 0,
+      'user_register_form' => FALSE,
+      'validate_url' => 1,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'link',
+      'settings' => array(),
+      'type' => 'link_field',
+      'weight' => 2,
+    ),
+  );
+
+  // Translatables
+  // Included for use with string extractors like potx.
+  t('Link');
+
+  return $field_instances;
+}
diff --git a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info
index af1bc7aa..c090d2ad 100644
--- a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info
+++ b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info
@@ -57,9 +57,12 @@ features[features_overrides][] = page_manager_handlers.node_edit_panel_context.c
 features[features_overrides][] = page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|5
 features[features_overrides][] = page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|6
 features[features_overrides][] = page_manager_handlers.node_edit_panel_context.weight
+features[field_instance][] = fieldable_panels_pane-image-field_ocio_link
 features[variable][] = panels_page_allowed_layouts
 features[variable][] = panels_page_allowed_types
 features[variable][] = panels_page_default
 features[variable][] = panopoly_admin_front_page_and_sticky
 features_exclude[dependencies][file_entity] = file_entity
+features_exclude[dependencies][link] = link
+features_exclude[dependencies][ocio_field_bases] = ocio_field_bases
 features_exclude[features_overrides][file_display.image__preview__file_field_image.settings|image_style] = file_display.image__preview__file_field_image.settings|image_style
diff --git a/profiles/wcm_base/themes/ocio_omega_base/template.php b/profiles/wcm_base/themes/ocio_omega_base/template.php
index c76ce31d..6060665d 100644
--- a/profiles/wcm_base/themes/ocio_omega_base/template.php
+++ b/profiles/wcm_base/themes/ocio_omega_base/template.php
@@ -105,30 +105,42 @@ function ocio_omega_base_omega_theme_libraries_info() {
  */
 
 function ocio_omega_base_preprocess_fieldable_panels_pane(&$vars) {
-  if (!empty($vars['content']['title'])) {
-  	$vars['tile_title'] = $vars['content']['title']['#value'];
-  }
-  $vars['tile_url'] = NULL;
-  if (!empty($vars['content']['field_tile_link'])) {
-    $link = $vars['content']['field_tile_link']['#items'][0];
-    $vars['tile_url'] = url($link['url'], array('absolute' => TRUE, 'fragment' => $link['fragment'], 'query' => $link['query']));
-  }
-  if (!empty($vars['content']['field_background_color'])) {
-    $vars['classes_array'][] = $vars['content']['field_background_color']['#items'][0]['value'];
-  }
-  if (!empty($vars['content']['field_background_color_2'])) {
-    $vars['classes_array'][] = $vars['content']['field_background_color_2']['#items'][0]['value'];
-  }
-  if (!empty($vars['content']['field_tile_image_style'])) {
-    $style = $vars['content']['field_tile_image_style']['#items'][0]['value'];
-    $vars['tile_icon'] = ($style == 'icon');
+  $type = $vars['elements']['#bundle'];
 
-    if (!empty($style)) {
-      $vars['classes_array'][] = 'tile-image-style-' . $style;
+  // Tile panes
+  if (in_array($type, array('tile_pane', 'tile_pane_plus_text_area'))) {
+    if (!empty($vars['content']['title'])) {
+      $vars['tile_title'] = $vars['content']['title']['#value'];
+    }
+    $vars['tile_url'] = NULL;
+    if (!empty($vars['content']['field_tile_link'])) {
+      $link = $vars['content']['field_tile_link']['#items'][0];
+      $vars['tile_url'] = url($link['url'], array('absolute' => TRUE, 'fragment' => $link['fragment'], 'query' => $link['query']));
+    }
+    if (!empty($vars['content']['field_background_color'])) {
+      $vars['classes_array'][] = $vars['content']['field_background_color']['#items'][0]['value'];
+    }
+    if (!empty($vars['content']['field_background_color_2'])) {
+      $vars['classes_array'][] = $vars['content']['field_background_color_2']['#items'][0]['value'];
+    }
+    if (!empty($vars['content']['field_tile_image_style'])) {
+      $style = $vars['content']['field_tile_image_style']['#items'][0]['value'];
+      $vars['tile_icon'] = ($style == 'icon');
+
+      if (!empty($style)) {
+        $vars['classes_array'][] = 'tile-image-style-' . $style;
+      }
+    }
+    if (!empty($vars['tile_url'])) {
+      $vars['classes_array'][] = 'tile-pane-linked';
     }
   }
-  if (!empty($vars['tile_url'])) {
-    $vars['classes_array'][] = 'tile-pane-linked';
+
+  // Image panes
+  elseif ($type == 'image') {
+    if (!empty($vars['content']['field_basic_image_image'])) {
+      $vars['content']['field_basic_image_image'][0]['#path']['path'] = !empty($vars['elements']['#fieldable_panels_pane']->field_ocio_link) ? $vars['elements']['#fieldable_panels_pane']->field_ocio_link['und'][0]['display_url'] : NULL;
+    }
   }
 }
 
@@ -152,7 +164,6 @@ function ocio_omega_base_preprocess_field(&$vars) {
     if (isset($vars['element']['#object']->field_banner_image_text_bkground['und'][0]['value'])) {
       $vars['classes_array'][] = $vars['element']['#object']->field_banner_image_text_bkground['und'][0]['value'];
     }
-
   }
 }
 
-- 
GitLab