1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Display Suite extras fields.
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
/**
|
9 |
|
|
* Implements hook_ds_fields_info().
|
10 |
|
|
*/
|
11 |
|
|
function ds_extras_ds_fields_info($entity_type) {
|
12 |
|
|
$fields = array();
|
13 |
|
|
|
14 |
|
|
// Switch field support.
|
15 |
|
|
if (variable_get('ds_extras_switch_field', FALSE) && $entity_type == 'node') {
|
16 |
|
|
$fields[$entity_type]['ds_switch_field'] = array(
|
17 |
|
|
'title' => t('Switch view mode'),
|
18 |
|
|
'field_type' => DS_FIELD_TYPE_FUNCTION,
|
19 |
|
|
'function' => 'ds_extras_switch_view_mode_field',
|
20 |
|
|
'properties' => array('settings' => array()),
|
21 |
|
|
);
|
22 |
|
|
}
|
23 |
|
|
|
24 |
|
|
// Flag support.
|
25 |
|
|
if (variable_get('ds_extras_flag') && module_exists('flag')) {
|
26 |
|
|
if ($entity_type == 'node') {
|
27 |
|
|
$flags = flag_get_flags('node');
|
28 |
|
|
foreach ($flags as $name => $flag) {
|
29 |
|
|
$ui_limit = array();
|
30 |
|
|
if (!empty($flag->types)) {
|
31 |
|
|
foreach ($flag->types as $type) {
|
32 |
|
|
$ui_limit[] = $type . '|*';
|
33 |
|
|
}
|
34 |
|
|
}
|
35 |
|
|
$fields['node']['ds_flag_' . $name] = array(
|
36 |
|
|
'title' => t('Flag: ' . $flag->get_label('title')),
|
37 |
|
|
'field_type' => DS_FIELD_TYPE_FUNCTION,
|
38 |
|
|
'function' => 'ds_extras_flags_add_flag_link',
|
39 |
|
|
'properties' => array(
|
40 |
|
|
'flag' => $name,
|
41 |
|
|
),
|
42 |
|
|
'ui_limit' => $ui_limit,
|
43 |
|
|
);
|
44 |
|
|
}
|
45 |
|
|
}
|
46 |
|
|
}
|
47 |
|
|
|
48 |
|
|
// DS Views.
|
49 |
|
|
if ($entity_type == 'ds_views') {
|
50 |
|
|
$fields[$entity_type] = array(
|
51 |
|
|
'title' => array(
|
52 |
|
|
'title' => t('Views title'),
|
53 |
|
|
'field_type' => DS_FIELD_TYPE_FUNCTION,
|
54 |
|
|
'function' => 'ds_vd_render_title_field',
|
55 |
|
|
'properties' => array(
|
56 |
|
|
'formatters' => array(
|
57 |
|
|
'vd_title_h1' => t('H1 title'),
|
58 |
|
|
'vd_title_h2' => t('H2 title'),
|
59 |
|
|
'vd_title_p' => t('Paragraph title'),
|
60 |
|
|
),
|
61 |
|
|
)
|
62 |
|
|
),
|
63 |
|
|
'header' => array(
|
64 |
|
|
'title' => t('Views header'),
|
65 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
66 |
|
|
),
|
67 |
|
|
'exposed' => array(
|
68 |
|
|
'title' => t('Exposed filters'),
|
69 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
70 |
|
|
),
|
71 |
|
|
'attachment_before' => array(
|
72 |
|
|
'title' => t('Attachment before'),
|
73 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
74 |
|
|
),
|
75 |
|
|
'rows' => array(
|
76 |
|
|
'title' => t('Views content'),
|
77 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
78 |
|
|
),
|
79 |
|
|
'empty' => array(
|
80 |
|
|
'title' => t('Empty text'),
|
81 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
82 |
|
|
),
|
83 |
|
|
'pager' => array(
|
84 |
|
|
'title' => t('Pager'),
|
85 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
86 |
|
|
),
|
87 |
|
|
'attachment_after' => array(
|
88 |
|
|
'title' => t('Attachment after'),
|
89 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
90 |
|
|
),
|
91 |
|
|
'more' => array(
|
92 |
|
|
'title' => t('More'),
|
93 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
94 |
|
|
),
|
95 |
|
|
'footer' => array(
|
96 |
|
|
'title' => t('Views footer'),
|
97 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
98 |
|
|
),
|
99 |
|
|
'feed_icon' => array(
|
100 |
|
|
'title' => t('Feed icon'),
|
101 |
|
|
'field_type' => DS_FIELD_TYPE_PREPROCESS,
|
102 |
|
|
),
|
103 |
|
|
);
|
104 |
|
|
}
|
105 |
|
|
|
106 |
|
|
if (!empty($fields)) {
|
107 |
|
|
return $fields;
|
108 |
|
|
}
|
109 |
|
|
} |