Skip to content

Commit 39b5c75

Browse files
committed
Catch undefined index notices on views, get timezone display working
1 parent bf61c26 commit 39b5c75

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

cs_date_formatter.module

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ function cs_date_formatter_field_formatter_view($entity_type, $entity, $field, $
194194
'#theme' => 'cs_date_formatter_default',
195195
'#element' => $item,
196196
'#field' => $instance,
197-
'#view_mode' => $display['view_mode'],
197+
'#view_mode' => isset($display['view_mode']) ? $display['view_mode'] : '',
198198
);
199199

200200
// Attach our Javascript and settings.
@@ -208,12 +208,20 @@ function cs_date_formatter_field_formatter_view($entity_type, $entity, $field, $
208208
$js_settings['extended'] = array_filter($settings, function($value) {
209209
return ($value != 'hidden' && $value != 'extended');
210210
});
211+
if (isset($js_settings['extended']['timezonename'])) {
212+
// Switch to camel case.
213+
$js_settings['extended']['timeZoneName'] = $js_settings['extended']['timezonename'];
214+
unset($js_settings['extended']['timezonename']);
215+
}
211216
}
212217
else {
213218
$js_settings['date_format'] = 'simple';
214219
$js_settings['extended'] = array();
215220
}
216-
$setting_name = $field['field_name'] . '-' . $display['view_mode'];
221+
$setting_name = $field['field_name'];
222+
if (isset($display['view_mode'])) {
223+
$setting_name .= '-' . $display['view_mode'];
224+
}
217225
$element[$delta]['#attached']['js'][] = array(
218226
'data' => array(
219227
'csDateFormatter' => array($setting_name => $js_settings),
@@ -248,7 +256,10 @@ function theme_cs_date_formatter_default($variables) {
248256
$values = _cs_date_formatter_get_timestamp($variables['element']);
249257
$tags = array();
250258

251-
$setting_name = $variables['field']['field_name'] . '-' . $variables['view_mode'];
259+
$setting_name = $variables['field']['field_name'];
260+
if (!empty($variables['view_mode'])) {
261+
$setting_name .= '-' . $variables['view_mode'];
262+
}
252263
foreach ($values as $key => $value) {
253264
// Javascript will parse the date_string.
254265
$date_string = format_date($value, 'html_datetime');

0 commit comments

Comments
 (0)