@@ -101,116 +101,116 @@ |
||
101 | 101 | |
102 | 102 | // Add fields specific to the profile type. |
103 | 103 | switch ($field->type) { |
104 | - case 'textfield': |
|
105 | - $data += array( |
|
106 | - 'help' => t('Profile textfield'), |
|
107 | - 'field' => array( |
|
108 | - 'handler' => 'views_handler_field_user', |
|
109 | - 'click sortable' => TRUE, |
|
110 | - ), |
|
111 | - 'sort' => array( |
|
112 | - 'handler' => 'views_handler_sort', |
|
113 | - ), |
|
114 | - 'filter' => array( |
|
115 | - 'handler' => 'views_handler_filter_string', |
|
116 | - ), |
|
117 | - 'argument' => array( |
|
118 | - 'handler' => 'views_handler_argument_string', |
|
119 | - ), |
|
120 | - ); |
|
121 | - |
|
122 | - break; |
|
123 | - case 'textarea': |
|
124 | - $data += array( |
|
125 | - 'help' => t('Profile textarea'), |
|
126 | - 'field' => array( |
|
127 | - 'handler' => 'views_handler_field_markup', |
|
128 | - 'format' => FILTER_FORMAT_DEFAULT, |
|
129 | - ), |
|
130 | - 'sort' => array( |
|
131 | - 'handler' => 'views_handler_sort', |
|
132 | - ), |
|
133 | - 'filter' => array( |
|
134 | - 'handler' => 'views_handler_filter_string', |
|
135 | - ), |
|
136 | - ); |
|
137 | - |
|
138 | - break; |
|
139 | - case 'checkbox': |
|
140 | - $data += array( |
|
141 | - 'help' => t('Profile checkbox'), |
|
142 | - 'field' => array( |
|
143 | - 'handler' => 'views_handler_field_boolean', |
|
144 | - 'click sortable' => TRUE, |
|
145 | - ), |
|
146 | - 'sort' => array( |
|
147 | - 'handler' => 'views_handler_sort', |
|
148 | - ), |
|
149 | - 'filter' => array( |
|
150 | - 'handler' => 'views_handler_filter_boolean_operator', |
|
151 | - 'accept null' => TRUE, |
|
152 | - ), |
|
153 | - // @todo there ought to be a boolean argument handler |
|
154 | - ); |
|
155 | - |
|
156 | - break; |
|
157 | - case 'url': |
|
158 | - $data += array( |
|
159 | - 'help' => t('Profile URL'), |
|
160 | - 'field' => array( |
|
161 | - 'handler' => 'views_handler_field_url', |
|
162 | - 'click sortable' => TRUE, |
|
163 | - ), |
|
164 | - 'sort' => array( |
|
165 | - 'handler' => 'views_handler_sort', |
|
166 | - ), |
|
167 | - 'filter' => array( |
|
168 | - 'handler' => 'views_handler_filter_string', |
|
169 | - ), |
|
170 | - ); |
|
171 | - |
|
172 | - break; |
|
173 | - case 'selection': |
|
174 | - $data += array( |
|
175 | - 'help' => t('Profile selection'), |
|
176 | - 'field' => array( |
|
177 | - 'handler' => 'views_handler_field', |
|
178 | - 'click sortable' => TRUE, |
|
179 | - ), |
|
180 | - 'sort' => array( |
|
181 | - 'handler' => 'views_handler_sort', |
|
182 | - ), |
|
183 | - 'filter' => array( |
|
184 | - 'handler' => 'views_handler_filter_profile_selection', |
|
185 | - 'fid' => $field->fid, |
|
186 | - ), |
|
187 | - 'argument' => array( |
|
188 | - 'handler' => 'views_handler_argument_string', |
|
189 | - ), |
|
190 | - ); |
|
191 | - |
|
192 | - break; |
|
193 | - case 'list': |
|
194 | - $data += array( |
|
195 | - 'help' => t('Profile freeform list %field-name.', array('%field-name' => $field->title)), |
|
196 | - 'field' => array( |
|
197 | - 'handler' => 'views_handler_field_profile_list', |
|
198 | - ), |
|
199 | - 'filter' => array( |
|
200 | - 'handler' => 'views_handler_filter_string', |
|
201 | - ), |
|
202 | - ); |
|
203 | - |
|
204 | - break; |
|
205 | - case 'date': |
|
206 | - $data += array( |
|
207 | - 'help' => t('Profile date %field-name.', array('%field-name' => $field->title)), |
|
208 | - 'field' => array( |
|
209 | - 'handler' => 'views_handler_field_profile_date', |
|
210 | - ), |
|
211 | - ); |
|
104 | + case 'textfield': |
|
105 | + $data += array( |
|
106 | + 'help' => t('Profile textfield'), |
|
107 | + 'field' => array( |
|
108 | + 'handler' => 'views_handler_field_user', |
|
109 | + 'click sortable' => TRUE, |
|
110 | + ), |
|
111 | + 'sort' => array( |
|
112 | + 'handler' => 'views_handler_sort', |
|
113 | + ), |
|
114 | + 'filter' => array( |
|
115 | + 'handler' => 'views_handler_filter_string', |
|
116 | + ), |
|
117 | + 'argument' => array( |
|
118 | + 'handler' => 'views_handler_argument_string', |
|
119 | + ), |
|
120 | + ); |
|
121 | + |
|
122 | + break; |
|
123 | + case 'textarea': |
|
124 | + $data += array( |
|
125 | + 'help' => t('Profile textarea'), |
|
126 | + 'field' => array( |
|
127 | + 'handler' => 'views_handler_field_markup', |
|
128 | + 'format' => FILTER_FORMAT_DEFAULT, |
|
129 | + ), |
|
130 | + 'sort' => array( |
|
131 | + 'handler' => 'views_handler_sort', |
|
132 | + ), |
|
133 | + 'filter' => array( |
|
134 | + 'handler' => 'views_handler_filter_string', |
|
135 | + ), |
|
136 | + ); |
|
137 | + |
|
138 | + break; |
|
139 | + case 'checkbox': |
|
140 | + $data += array( |
|
141 | + 'help' => t('Profile checkbox'), |
|
142 | + 'field' => array( |
|
143 | + 'handler' => 'views_handler_field_boolean', |
|
144 | + 'click sortable' => TRUE, |
|
145 | + ), |
|
146 | + 'sort' => array( |
|
147 | + 'handler' => 'views_handler_sort', |
|
148 | + ), |
|
149 | + 'filter' => array( |
|
150 | + 'handler' => 'views_handler_filter_boolean_operator', |
|
151 | + 'accept null' => TRUE, |
|
152 | + ), |
|
153 | + // @todo there ought to be a boolean argument handler |
|
154 | + ); |
|
155 | + |
|
156 | + break; |
|
157 | + case 'url': |
|
158 | + $data += array( |
|
159 | + 'help' => t('Profile URL'), |
|
160 | + 'field' => array( |
|
161 | + 'handler' => 'views_handler_field_url', |
|
162 | + 'click sortable' => TRUE, |
|
163 | + ), |
|
164 | + 'sort' => array( |
|
165 | + 'handler' => 'views_handler_sort', |
|
166 | + ), |
|
167 | + 'filter' => array( |
|
168 | + 'handler' => 'views_handler_filter_string', |
|
169 | + ), |
|
170 | + ); |
|
171 | + |
|
172 | + break; |
|
173 | + case 'selection': |
|
174 | + $data += array( |
|
175 | + 'help' => t('Profile selection'), |
|
176 | + 'field' => array( |
|
177 | + 'handler' => 'views_handler_field', |
|
178 | + 'click sortable' => TRUE, |
|
179 | + ), |
|
180 | + 'sort' => array( |
|
181 | + 'handler' => 'views_handler_sort', |
|
182 | + ), |
|
183 | + 'filter' => array( |
|
184 | + 'handler' => 'views_handler_filter_profile_selection', |
|
185 | + 'fid' => $field->fid, |
|
186 | + ), |
|
187 | + 'argument' => array( |
|
188 | + 'handler' => 'views_handler_argument_string', |
|
189 | + ), |
|
190 | + ); |
|
191 | + |
|
192 | + break; |
|
193 | + case 'list': |
|
194 | + $data += array( |
|
195 | + 'help' => t('Profile freeform list %field-name.', array('%field-name' => $field->title)), |
|
196 | + 'field' => array( |
|
197 | + 'handler' => 'views_handler_field_profile_list', |
|
198 | + ), |
|
199 | + 'filter' => array( |
|
200 | + 'handler' => 'views_handler_filter_string', |
|
201 | + ), |
|
202 | + ); |
|
203 | + |
|
204 | + break; |
|
205 | + case 'date': |
|
206 | + $data += array( |
|
207 | + 'help' => t('Profile date %field-name.', array('%field-name' => $field->title)), |
|
208 | + 'field' => array( |
|
209 | + 'handler' => 'views_handler_field_profile_date', |
|
210 | + ), |
|
211 | + ); |
|
212 | 212 | |
213 | - break; |
|
213 | + break; |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | // @todo: add access control to hidden fields. |
@@ -14,89 +14,89 @@ |
||
14 | 14 | */ |
15 | 15 | function taxonomy_views_convert($display, $type, &$view, $field, $id = NULL) { |
16 | 16 | switch ($type) { |
17 | - case 'field': |
|
18 | - $matches = array(); |
|
19 | - if (preg_match('/term_node(_(\d+))?/', $field['tablename'], $matches)) { |
|
20 | - switch ($field['field']) { |
|
21 | - case 'name': |
|
22 | - $item = $view->get_item($display, 'field', $id); |
|
23 | - $item['table'] = 'term_node'; |
|
24 | - $item['field'] = 'tid'; |
|
25 | - if ($field['options'] != 'nolink') { |
|
26 | - $item['link_to_taxonomy'] = TRUE; |
|
27 | - } |
|
28 | - if (!empty($field['vocabulary'])) { |
|
29 | - $item['limit'] = TRUE; |
|
30 | - $item['vids'] = array($field['vocabulary']); |
|
31 | - } |
|
32 | - // The vocabulary ID might be embedded in the table name. |
|
33 | - elseif (!empty($matches[2])) { |
|
34 | - $item['limit'] = TRUE; |
|
35 | - $item['vids'] = array($matches[2]); |
|
36 | - } |
|
37 | - $view->set_item($display, 'field', $id, $item); |
|
38 | - break; |
|
39 | - } |
|
17 | + case 'field': |
|
18 | + $matches = array(); |
|
19 | + if (preg_match('/term_node(_(\d+))?/', $field['tablename'], $matches)) { |
|
20 | + switch ($field['field']) { |
|
21 | + case 'name': |
|
22 | + $item = $view->get_item($display, 'field', $id); |
|
23 | + $item['table'] = 'term_node'; |
|
24 | + $item['field'] = 'tid'; |
|
25 | + if ($field['options'] != 'nolink') { |
|
26 | + $item['link_to_taxonomy'] = TRUE; |
|
27 | + } |
|
28 | + if (!empty($field['vocabulary'])) { |
|
29 | + $item['limit'] = TRUE; |
|
30 | + $item['vids'] = array($field['vocabulary']); |
|
31 | + } |
|
32 | + // The vocabulary ID might be embedded in the table name. |
|
33 | + elseif (!empty($matches[2])) { |
|
34 | + $item['limit'] = TRUE; |
|
35 | + $item['vids'] = array($matches[2]); |
|
36 | + } |
|
37 | + $view->set_item($display, 'field', $id, $item); |
|
38 | + break; |
|
39 | + } |
|
40 | 40 | } |
41 | 41 | elseif ($field['tablename'] == 'term_data') { |
42 | 42 | switch ($field['field']) { |
43 | - case 'name': |
|
44 | - if ($field['field'] == 'views_handler_field_tid_link') { |
|
45 | - $view->set_item_option($display, 'field', $id, 'link_to_taxonomy', TRUE); |
|
46 | - } |
|
47 | - break; |
|
43 | + case 'name': |
|
44 | + if ($field['field'] == 'views_handler_field_tid_link') { |
|
45 | + $view->set_item_option($display, 'field', $id, 'link_to_taxonomy', TRUE); |
|
46 | + } |
|
47 | + break; |
|
48 | 48 | } |
49 | 49 | } |
50 | 50 | break; |
51 | - case 'filter': |
|
52 | - if ($field['tablename'] == 'term_node' || !strncmp($field['tablename'], 'term_node_', 10)) { |
|
53 | - switch ($field['field']) { |
|
54 | - case 'tid': |
|
55 | - $operators = array('AND' => 'and', 'OR' => 'or', 'NOR' => 'not'); |
|
56 | - $item = $view->get_item($display, 'filter', $id); |
|
57 | - if ($vid = (integer) substr($field['tablename'], 10)) { |
|
58 | - $item['table'] = 'term_node'; |
|
59 | - $item['vid'] = $vid; |
|
60 | - } |
|
61 | - else { |
|
62 | - $item['limit'] = FALSE; |
|
63 | - } |
|
64 | - $item['operator'] = $operators[$field['operator']]; |
|
65 | - $item['type'] = 'select'; |
|
66 | - $view->set_item($display, 'filter', $id, $item); |
|
67 | - break; |
|
68 | - } |
|
51 | + case 'filter': |
|
52 | + if ($field['tablename'] == 'term_node' || !strncmp($field['tablename'], 'term_node_', 10)) { |
|
53 | + switch ($field['field']) { |
|
54 | + case 'tid': |
|
55 | + $operators = array('AND' => 'and', 'OR' => 'or', 'NOR' => 'not'); |
|
56 | + $item = $view->get_item($display, 'filter', $id); |
|
57 | + if ($vid = (integer) substr($field['tablename'], 10)) { |
|
58 | + $item['table'] = 'term_node'; |
|
59 | + $item['vid'] = $vid; |
|
60 | + } |
|
61 | + else { |
|
62 | + $item['limit'] = FALSE; |
|
63 | + } |
|
64 | + $item['operator'] = $operators[$field['operator']]; |
|
65 | + $item['type'] = 'select'; |
|
66 | + $view->set_item($display, 'filter', $id, $item); |
|
67 | + break; |
|
68 | + } |
|
69 | 69 | } |
70 | 70 | elseif ($field['tablename'] == 'term_data') { |
71 | 71 | switch ($field['field']) { |
72 | - case 'vid': |
|
73 | - $operators = array('AND' => 'in', 'OR' => 'in', 'NOR' => 'not in'); |
|
74 | - $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
75 | - break; |
|
72 | + case 'vid': |
|
73 | + $operators = array('AND' => 'in', 'OR' => 'in', 'NOR' => 'not in'); |
|
74 | + $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
75 | + break; |
|
76 | 76 | } |
77 | 77 | } |
78 | 78 | break; |
79 | - case 'argument': |
|
80 | - $options = $field['argoptions']; |
|
81 | - switch ($field['type']) { |
|
82 | - case 'taxid': |
|
83 | - if (!empty($field['options'])) { |
|
84 | - $options['depth'] = $field['options']; |
|
85 | - } |
|
86 | - $options['break_phrase'] = TRUE; |
|
87 | - $view->add_item($display, 'argument', 'node', 'term_node_tid_depth', $options, $field['id']); |
|
88 | - break; |
|
89 | - case 'taxletter': |
|
90 | - if (!empty($field['options'])) { |
|
91 | - $options['glossary'] = TRUE; |
|
92 | - $options['limit'] = $field['options']; |
|
93 | - } |
|
94 | - $view->add_item($display, 'argument', 'term_data', 'name', $options, $field['id']); |
|
95 | - break; |
|
96 | - case 'vocid': |
|
97 | - $view->add_item($display, 'argument', 'vocabulary', 'vid', $options, $field['id']); |
|
98 | - break; |
|
99 | - } |
|
79 | + case 'argument': |
|
80 | + $options = $field['argoptions']; |
|
81 | + switch ($field['type']) { |
|
82 | + case 'taxid': |
|
83 | + if (!empty($field['options'])) { |
|
84 | + $options['depth'] = $field['options']; |
|
85 | + } |
|
86 | + $options['break_phrase'] = TRUE; |
|
87 | + $view->add_item($display, 'argument', 'node', 'term_node_tid_depth', $options, $field['id']); |
|
88 | + break; |
|
89 | + case 'taxletter': |
|
90 | + if (!empty($field['options'])) { |
|
91 | + $options['glossary'] = TRUE; |
|
92 | + $options['limit'] = $field['options']; |
|
93 | + } |
|
94 | + $view->add_item($display, 'argument', 'term_data', 'name', $options, $field['id']); |
|
95 | + break; |
|
96 | + case 'vocid': |
|
97 | + $view->add_item($display, 'argument', 'vocabulary', 'vid', $options, $field['id']); |
|
98 | + break; |
|
99 | + } |
|
100 | 100 | break; |
101 | 101 | } |
102 | 102 | } |
@@ -57,92 +57,92 @@ |
||
57 | 57 | $transform = isset($this->argument->options['validate_argument_transform']) ? $this->argument->options['validate_argument_transform'] : FALSE; |
58 | 58 | |
59 | 59 | switch ($type) { |
60 | - case 'tid': |
|
61 | - if (!is_numeric($argument)) { |
|
62 | - return FALSE; |
|
63 | - } |
|
64 | - |
|
65 | - $result = db_fetch_object(db_query("SELECT * FROM {term_data} WHERE tid = %d", $argument)); |
|
66 | - if (!$result) { |
|
67 | - return FALSE; |
|
68 | - } |
|
69 | - |
|
70 | - return empty($vids) || !empty($vids[$result->vid]); |
|
71 | - case 'tids': |
|
72 | - // An empty argument is not a term so doesn't pass. |
|
73 | - if (empty($argument)) { |
|
74 | - return FALSE; |
|
75 | - } |
|
76 | - |
|
77 | - $tids = new stdClass(); |
|
78 | - $tids->value = $argument; |
|
79 | - $tids = views_break_phrase($argument, $tids); |
|
80 | - if ($tids->value == array(-1)) { |
|
81 | - return FALSE; |
|
82 | - } |
|
83 | - |
|
84 | - $test = drupal_map_assoc($tids->value); |
|
85 | - $titles = array(); |
|
86 | - |
|
87 | - // check, if some tids already verified |
|
88 | - static $validated_cache = array(); |
|
89 | - foreach ($test as $tid) { |
|
90 | - if (isset($validated_cache[$tid])) { |
|
91 | - if ($validated_cache[$tid] === FALSE) { |
|
92 | - return FALSE; |
|
93 | - } |
|
94 | - else { |
|
95 | - $titles[] = $validated_cache[$tid]; |
|
96 | - unset($test[$tid]); |
|
97 | - } |
|
60 | + case 'tid': |
|
61 | + if (!is_numeric($argument)) { |
|
62 | + return FALSE; |
|
63 | + } |
|
64 | + |
|
65 | + $result = db_fetch_object(db_query("SELECT * FROM {term_data} WHERE tid = %d", $argument)); |
|
66 | + if (!$result) { |
|
67 | + return FALSE; |
|
68 | + } |
|
69 | + |
|
70 | + return empty($vids) || !empty($vids[$result->vid]); |
|
71 | + case 'tids': |
|
72 | + // An empty argument is not a term so doesn't pass. |
|
73 | + if (empty($argument)) { |
|
74 | + return FALSE; |
|
75 | + } |
|
76 | + |
|
77 | + $tids = new stdClass(); |
|
78 | + $tids->value = $argument; |
|
79 | + $tids = views_break_phrase($argument, $tids); |
|
80 | + if ($tids->value == array(-1)) { |
|
81 | + return FALSE; |
|
82 | + } |
|
83 | + |
|
84 | + $test = drupal_map_assoc($tids->value); |
|
85 | + $titles = array(); |
|
86 | + |
|
87 | + // check, if some tids already verified |
|
88 | + static $validated_cache = array(); |
|
89 | + foreach ($test as $tid) { |
|
90 | + if (isset($validated_cache[$tid])) { |
|
91 | + if ($validated_cache[$tid] === FALSE) { |
|
92 | + return FALSE; |
|
93 | + } |
|
94 | + else { |
|
95 | + $titles[] = $validated_cache[$tid]; |
|
96 | + unset($test[$tid]); |
|
98 | 97 | } |
99 | 98 | } |
99 | + } |
|
100 | 100 | |
101 | 101 | |
102 | - // if unverified tids left - verify them and cache results |
|
103 | - if (count($test)) { |
|
104 | - $placeholders = implode(', ', array_fill(0, count($test), '%d')); |
|
102 | + // if unverified tids left - verify them and cache results |
|
103 | + if (count($test)) { |
|
104 | + $placeholders = implode(', ', array_fill(0, count($test), '%d')); |
|
105 | 105 | |
106 | - $result = db_query("SELECT * FROM {term_data} WHERE tid IN ($placeholders)", $test); |
|
107 | - while ($term = db_fetch_object($result)) { |
|
108 | - if ($vids && empty($vids[$term->vid])) { |
|
109 | - $validated_cache[$term->tid] = FALSE; |
|
110 | - return FALSE; |
|
111 | - } |
|
112 | - |
|
113 | - $titles[] = $validated_cache[$term->tid] = check_plain($term->name); |
|
114 | - unset($test[$term->tid]); |
|
106 | + $result = db_query("SELECT * FROM {term_data} WHERE tid IN ($placeholders)", $test); |
|
107 | + while ($term = db_fetch_object($result)) { |
|
108 | + if ($vids && empty($vids[$term->vid])) { |
|
109 | + $validated_cache[$term->tid] = FALSE; |
|
110 | + return FALSE; |
|
115 | 111 | } |
116 | - } |
|
117 | - |
|
118 | - // Remove duplicate titles |
|
119 | - $titles = array_unique($titles); |
|
120 | - |
|
121 | - $this->argument->validated_title = implode($tids->operator == 'or' ? ' + ' : ', ', $titles); |
|
122 | - // If this is not empty, we did not find a tid. |
|
123 | - return empty($test); |
|
124 | - case 'name': |
|
125 | - case 'convert': |
|
126 | - $and = ''; |
|
127 | - if (!empty($vids)) { |
|
128 | - $and = " AND td.vid IN(" . implode(', ', $vids) . ')'; |
|
129 | - } |
|
130 | - if ($transform) { |
|
131 | - $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (replace(td.name, ' ', '-') = '%s' OR replace(ts.name, ' ', '-') = '%s')$and", $argument, $argument)); |
|
132 | - } |
|
133 | - else { |
|
134 | - $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (td.name = '%s' OR ts.name = '%s')$and", $argument, $argument)); |
|
135 | - } |
|
136 | - if (!$result) { |
|
137 | - return FALSE; |
|
138 | - } |
|
139 | 112 | |
140 | - if ($type == 'convert') { |
|
141 | - $this->argument->argument = $result->tid; |
|
113 | + $titles[] = $validated_cache[$term->tid] = check_plain($term->name); |
|
114 | + unset($test[$term->tid]); |
|
142 | 115 | } |
143 | - $this->argument->validated_title = check_plain($result->name); |
|
144 | - |
|
145 | - return TRUE; |
|
116 | + } |
|
117 | + |
|
118 | + // Remove duplicate titles |
|
119 | + $titles = array_unique($titles); |
|
120 | + |
|
121 | + $this->argument->validated_title = implode($tids->operator == 'or' ? ' + ' : ', ', $titles); |
|
122 | + // If this is not empty, we did not find a tid. |
|
123 | + return empty($test); |
|
124 | + case 'name': |
|
125 | + case 'convert': |
|
126 | + $and = ''; |
|
127 | + if (!empty($vids)) { |
|
128 | + $and = " AND td.vid IN(" . implode(', ', $vids) . ')'; |
|
129 | + } |
|
130 | + if ($transform) { |
|
131 | + $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (replace(td.name, ' ', '-') = '%s' OR replace(ts.name, ' ', '-') = '%s')$and", $argument, $argument)); |
|
132 | + } |
|
133 | + else { |
|
134 | + $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (td.name = '%s' OR ts.name = '%s')$and", $argument, $argument)); |
|
135 | + } |
|
136 | + if (!$result) { |
|
137 | + return FALSE; |
|
138 | + } |
|
139 | + |
|
140 | + if ($type == 'convert') { |
|
141 | + $this->argument->argument = $result->tid; |
|
142 | + } |
|
143 | + $this->argument->validated_title = check_plain($result->name); |
|
144 | + |
|
145 | + return TRUE; |
|
146 | 146 | } |
147 | 147 | } |
148 | 148 | } |
@@ -10,71 +10,71 @@ |
||
10 | 10 | */ |
11 | 11 | function book_views_convert($display, $type, &$view, $field, $id = NULL) { |
12 | 12 | switch ($type) { |
13 | - case 'field': |
|
14 | - switch ($field['tablename']) { |
|
15 | - case 'book_parent_node': |
|
16 | - switch ($field['field']) { |
|
17 | - case 'title': |
|
18 | - $item = $view->get_item($display, 'field', $id); |
|
19 | - if ($field['handler'] == 'views_handler_field_book_parent_title') { |
|
20 | - $item['link_to_node'] = TRUE; |
|
21 | - } |
|
22 | - $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
23 | - $item['table'] = 'node'; |
|
24 | - $item['field'] = 'title'; |
|
25 | - $view->set_item($display, 'field', $id, $item); |
|
26 | - break; |
|
27 | - } |
|
28 | - break; |
|
13 | + case 'field': |
|
14 | + switch ($field['tablename']) { |
|
15 | + case 'book_parent_node': |
|
16 | + switch ($field['field']) { |
|
17 | + case 'title': |
|
18 | + $item = $view->get_item($display, 'field', $id); |
|
19 | + if ($field['handler'] == 'views_handler_field_book_parent_title') { |
|
20 | + $item['link_to_node'] = TRUE; |
|
21 | + } |
|
22 | + $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
23 | + $item['table'] = 'node'; |
|
24 | + $item['field'] = 'title'; |
|
25 | + $view->set_item($display, 'field', $id, $item); |
|
26 | + break; |
|
27 | + } |
|
28 | + break; |
|
29 | 29 | } |
30 | 30 | break; |
31 | - case 'filter': |
|
32 | - switch ($field['tablename']) { |
|
33 | - case 'book': |
|
34 | - switch ($field['field']) { |
|
35 | - case 'parent': |
|
36 | - $operators = array('AND' => '=', 'OR' => '=', 'NOT' => '!='); |
|
37 | - $item = $view->get_item($display, 'filter', $id); |
|
38 | - $item['operator'] = $operators[$field['operator']]; |
|
39 | - $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
40 | - $item['table'] = 'node'; |
|
41 | - $item['field'] = 'nid'; |
|
42 | - $view->set_item($display, 'filter', $id, $item); |
|
43 | - break; |
|
44 | - } |
|
45 | - break; |
|
31 | + case 'filter': |
|
32 | + switch ($field['tablename']) { |
|
33 | + case 'book': |
|
34 | + switch ($field['field']) { |
|
35 | + case 'parent': |
|
36 | + $operators = array('AND' => '=', 'OR' => '=', 'NOT' => '!='); |
|
37 | + $item = $view->get_item($display, 'filter', $id); |
|
38 | + $item['operator'] = $operators[$field['operator']]; |
|
39 | + $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
40 | + $item['table'] = 'node'; |
|
41 | + $item['field'] = 'nid'; |
|
42 | + $view->set_item($display, 'filter', $id, $item); |
|
43 | + break; |
|
44 | + } |
|
45 | + break; |
|
46 | 46 | } |
47 | 47 | break; |
48 | - case 'sort': |
|
49 | - switch ($field['tablename']) { |
|
50 | - case 'book': |
|
51 | - switch ($field['field']) { |
|
52 | - case 'weight': |
|
53 | - $view->set_item_option($display, 'sort', $id, 'table', 'book_menu_links'); |
|
54 | - break; |
|
55 | - } |
|
56 | - break; |
|
57 | - case 'book_parent_node': |
|
58 | - switch ($field['field']) { |
|
59 | - case 'title': |
|
60 | - $item = $view->get_item($display, 'sort', $id); |
|
61 | - $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
62 | - $item['table'] = 'node'; |
|
63 | - $item['field'] = 'title'; |
|
64 | - $view->set_item($display, 'sort', $id, $item); |
|
65 | - break; |
|
66 | - } |
|
67 | - break; |
|
68 | - } |
|
48 | + case 'sort': |
|
49 | + switch ($field['tablename']) { |
|
50 | + case 'book': |
|
51 | + switch ($field['field']) { |
|
52 | + case 'weight': |
|
53 | + $view->set_item_option($display, 'sort', $id, 'table', 'book_menu_links'); |
|
54 | + break; |
|
55 | + } |
|
56 | + break; |
|
57 | + case 'book_parent_node': |
|
58 | + switch ($field['field']) { |
|
59 | + case 'title': |
|
60 | + $item = $view->get_item($display, 'sort', $id); |
|
61 | + $item['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
62 | + $item['table'] = 'node'; |
|
63 | + $item['field'] = 'title'; |
|
64 | + $view->set_item($display, 'sort', $id, $item); |
|
69 | 65 | break; |
70 | - case 'argument': |
|
71 | - $options = $field['argoptions']; |
|
72 | - switch ($field['type']) { |
|
73 | - case 'book_parent': |
|
74 | - $options['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
75 | - $view->add_item($display, 'argument', 'node', 'nid', $options, $field['id']); |
|
66 | + } |
|
76 | 67 | break; |
77 | 68 | } |
78 | 69 | break; |
70 | + case 'argument': |
|
71 | + $options = $field['argoptions']; |
|
72 | + switch ($field['type']) { |
|
73 | + case 'book_parent': |
|
74 | + $options['relationship'] = $view->add_item($display, 'relationship', 'book_parent', 'nid', array(), 'book_parent_nid'); |
|
75 | + $view->add_item($display, 'argument', 'node', 'nid', $options, $field['id']); |
|
76 | + break; |
|
77 | + } |
|
78 | + break; |
|
79 | 79 | } |
80 | 80 | } |
@@ -21,18 +21,18 @@ |
||
21 | 21 | } |
22 | 22 | } |
23 | 23 | switch ($type) { |
24 | - case 'filter': |
|
25 | - if (isset($tables[$field['tablename']])) { |
|
26 | - switch ($profile_fields[$field['tablename']]->type) { |
|
27 | - case 'vocabulary': |
|
28 | - case 'selection': |
|
29 | - $operators = array('AND' => 'in', 'OR' => 'in', 'NOR' => 'not in'); |
|
30 | - $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
31 | - break; |
|
32 | - default: |
|
33 | - $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']); |
|
34 | - break; |
|
35 | - } |
|
24 | + case 'filter': |
|
25 | + if (isset($tables[$field['tablename']])) { |
|
26 | + switch ($profile_fields[$field['tablename']]->type) { |
|
27 | + case 'vocabulary': |
|
28 | + case 'selection': |
|
29 | + $operators = array('AND' => 'in', 'OR' => 'in', 'NOR' => 'not in'); |
|
30 | + $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
31 | + break; |
|
32 | + default: |
|
33 | + $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']); |
|
34 | + break; |
|
35 | + } |
|
36 | 36 | } |
37 | 37 | break; |
38 | 38 | } |
@@ -10,51 +10,51 @@ |
||
10 | 10 | */ |
11 | 11 | function user_views_convert($display, $type, &$view, $field, $id = NULL) { |
12 | 12 | switch ($type) { |
13 | - case 'field': |
|
14 | - switch ($field['tablename']) { |
|
15 | - case 'users': |
|
16 | - switch ($field['field']) { |
|
17 | - case 'uid': |
|
18 | - $view->set_item_option($display, 'field', $id, 'field', 'picture'); |
|
19 | - break; |
|
20 | - } |
|
21 | - break; |
|
13 | + case 'field': |
|
14 | + switch ($field['tablename']) { |
|
15 | + case 'users': |
|
16 | + switch ($field['field']) { |
|
17 | + case 'uid': |
|
18 | + $view->set_item_option($display, 'field', $id, 'field', 'picture'); |
|
19 | + break; |
|
20 | + } |
|
21 | + break; |
|
22 | 22 | } |
23 | 23 | break; |
24 | - case 'filter': |
|
25 | - if ($field['tablename'] == 'users' || !strncmp($field['tablename'], 'users_role_', 11)) { |
|
26 | - switch ($field['field']) { |
|
27 | - case 'uid': |
|
28 | - $operators = array('OR' => 'in', 'NOR' => 'not in'); |
|
29 | - $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
30 | - if ($rid = (integer) substr($field['tablename'], 11)) { |
|
31 | - $view->add_item($display, 'filter', 'users_roles', 'rid', array('value' => $rid)); |
|
32 | - } |
|
33 | - break; |
|
34 | - } |
|
24 | + case 'filter': |
|
25 | + if ($field['tablename'] == 'users' || !strncmp($field['tablename'], 'users_role_', 11)) { |
|
26 | + switch ($field['field']) { |
|
27 | + case 'uid': |
|
28 | + $operators = array('OR' => 'in', 'NOR' => 'not in'); |
|
29 | + $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
30 | + if ($rid = (integer) substr($field['tablename'], 11)) { |
|
31 | + $view->add_item($display, 'filter', 'users_roles', 'rid', array('value' => $rid)); |
|
32 | + } |
|
33 | + break; |
|
34 | + } |
|
35 | 35 | } |
36 | 36 | elseif ($field['tablename'] == 'users_roles') { |
37 | 37 | switch ($field['field']) { |
38 | - case 'rid': |
|
39 | - $operators = array('AND' => 'and', 'OR' => 'or', 'NOR' => 'not'); |
|
40 | - $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
41 | - break; |
|
38 | + case 'rid': |
|
39 | + $operators = array('AND' => 'and', 'OR' => 'or', 'NOR' => 'not'); |
|
40 | + $view->set_item_option($display, 'filter', $id, 'operator', $operators[$field['operator']]); |
|
41 | + break; |
|
42 | 42 | } |
43 | 43 | } |
44 | 44 | break; |
45 | - case 'argument': |
|
46 | - $options = $field['argoptions']; |
|
47 | - switch ($field['type']) { |
|
48 | - case 'uid': |
|
49 | - $view->add_item($display, 'argument', 'users', 'uid', $options, $field['id']); |
|
50 | - break; |
|
51 | - case 'uidtouch': |
|
52 | - $view->add_item($display, 'argument', 'node', 'uid_touch', $options, $field['id']); |
|
53 | - break; |
|
54 | - case 'username': |
|
55 | - $view->add_item($display, 'argument', 'users', 'name', $options, $field['id']); |
|
56 | - break; |
|
57 | - } |
|
45 | + case 'argument': |
|
46 | + $options = $field['argoptions']; |
|
47 | + switch ($field['type']) { |
|
48 | + case 'uid': |
|
49 | + $view->add_item($display, 'argument', 'users', 'uid', $options, $field['id']); |
|
50 | + break; |
|
51 | + case 'uidtouch': |
|
52 | + $view->add_item($display, 'argument', 'node', 'uid_touch', $options, $field['id']); |
|
53 | + break; |
|
54 | + case 'username': |
|
55 | + $view->add_item($display, 'argument', 'users', 'name', $options, $field['id']); |
|
56 | + break; |
|
57 | + } |
|
58 | 58 | break; |
59 | 59 | } |
60 | 60 | } |
@@ -14,93 +14,93 @@ |
||
14 | 14 | */ |
15 | 15 | function upload_views_convert($display, $type, &$view, $field, $id = NULL) { |
16 | 16 | switch ($type) { |
17 | - case 'field': |
|
18 | - switch ($field['tablename']) { |
|
19 | - case 'file_revisions': |
|
20 | - switch ($field['field']) { |
|
21 | - case 'fid': |
|
22 | - $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
23 | - $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
24 | - $view->set_item_option($display, 'field', $id, 'table', 'files'); |
|
25 | - break; |
|
17 | + case 'field': |
|
18 | + switch ($field['tablename']) { |
|
19 | + case 'file_revisions': |
|
20 | + switch ($field['field']) { |
|
21 | + case 'fid': |
|
22 | + $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
23 | + $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
24 | + $view->set_item_option($display, 'field', $id, 'table', 'files'); |
|
25 | + break; |
|
26 | + } |
|
27 | + break; |
|
28 | + case 'files': |
|
29 | + switch ($field['field']) { |
|
30 | + case 'all_files': |
|
31 | + $item = $view->get_item($display, 'field', $id); |
|
32 | + switch ($field['options']) { |
|
33 | + case 'link': |
|
34 | + $item['link_to_file'] = TRUE; |
|
35 | + break; |
|
36 | + case 'linkdesc': |
|
37 | + $item['link_to_file'] = TRUE; |
|
38 | + case 'nolinkdesc': |
|
39 | + $item['alter']['alter_text'] = TRUE; |
|
40 | + $item['alter']['text'] = '['. $view->add_item($display, 'field', 'upload', 'description', array('exclude' => TRUE)) .']'; |
|
41 | + break; |
|
42 | + } |
|
43 | + if ($field['handler'] == 'views_handler_file_listed_files') { |
|
44 | + $item['only_listed'] = TRUE; |
|
26 | 45 | } |
46 | + $item['table'] = 'node'; |
|
47 | + $item['field'] = 'upload_fid'; |
|
48 | + $view->set_item($display, 'field', $id, $item); |
|
27 | 49 | break; |
28 | - case 'files': |
|
29 | - switch ($field['field']) { |
|
30 | - case 'all_files': |
|
31 | - $item = $view->get_item($display, 'field', $id); |
|
32 | - switch ($field['options']) { |
|
33 | - case 'link': |
|
34 | - $item['link_to_file'] = TRUE; |
|
35 | - break; |
|
36 | - case 'linkdesc': |
|
37 | - $item['link_to_file'] = TRUE; |
|
38 | - case 'nolinkdesc': |
|
39 | - $item['alter']['alter_text'] = TRUE; |
|
40 | - $item['alter']['text'] = '['. $view->add_item($display, 'field', 'upload', 'description', array('exclude' => TRUE)) .']'; |
|
41 | - break; |
|
42 | - } |
|
43 | - if ($field['handler'] == 'views_handler_file_listed_files') { |
|
44 | - $item['only_listed'] = TRUE; |
|
45 | - } |
|
46 | - $item['table'] = 'node'; |
|
47 | - $item['field'] = 'upload_fid'; |
|
48 | - $view->set_item($display, 'field', $id, $item); |
|
49 | - break; |
|
50 | - case 'filename': |
|
51 | - if ($field['handler'] == 'views_handler_file_filename_download') { |
|
52 | - $view->set_item_option($display, 'field', $id, 'link_to_file', TRUE); |
|
53 | - } |
|
54 | - $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
55 | - $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
56 | - break; |
|
50 | + case 'filename': |
|
51 | + if ($field['handler'] == 'views_handler_file_filename_download') { |
|
52 | + $view->set_item_option($display, 'field', $id, 'link_to_file', TRUE); |
|
53 | + } |
|
54 | + $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
55 | + $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
56 | + break; |
|
57 | 57 | } |
58 | 58 | break; |
59 | 59 | } |
60 | 60 | break; |
61 | - case 'filter': |
|
62 | - switch ($field['tablename']) { |
|
63 | - case 'file_revisions': |
|
64 | - switch ($field['field']) { |
|
65 | - case 'fid': |
|
66 | - $view->set_item_option($display, 'filter', $id, 'table', 'node'); |
|
67 | - $view->set_item_option($display, 'filter', $id, 'field', 'upload_fid'); |
|
68 | - break; |
|
69 | - case 'list': |
|
70 | - $view->set_item_option($display, 'filter', $id, 'table', 'upload'); |
|
71 | - break; |
|
72 | - } |
|
73 | - break; |
|
74 | - case 'files': |
|
75 | - switch ($field['field']) { |
|
76 | - case 'filename': |
|
77 | - case 'filemime': |
|
78 | - $item = $view->get_item($display, 'filter', $id); |
|
79 | - $item['operator'] = $field['operator']; |
|
80 | - $item['case'] = FALSE; |
|
81 | - $item['relationship'] = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
82 | - $view->set_item($display, 'filter', $id, $item); |
|
83 | - break; |
|
84 | - case 'filesize': |
|
85 | - $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
86 | - $view->set_item_option($display, 'filter', $id, 'relationship', $relationship); |
|
87 | - $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']); |
|
88 | - break; |
|
89 | - } |
|
61 | + case 'filter': |
|
62 | + switch ($field['tablename']) { |
|
63 | + case 'file_revisions': |
|
64 | + switch ($field['field']) { |
|
65 | + case 'fid': |
|
66 | + $view->set_item_option($display, 'filter', $id, 'table', 'node'); |
|
67 | + $view->set_item_option($display, 'filter', $id, 'field', 'upload_fid'); |
|
68 | + break; |
|
69 | + case 'list': |
|
70 | + $view->set_item_option($display, 'filter', $id, 'table', 'upload'); |
|
71 | + break; |
|
72 | + } |
|
73 | + break; |
|
74 | + case 'files': |
|
75 | + switch ($field['field']) { |
|
76 | + case 'filename': |
|
77 | + case 'filemime': |
|
78 | + $item = $view->get_item($display, 'filter', $id); |
|
79 | + $item['operator'] = $field['operator']; |
|
80 | + $item['case'] = FALSE; |
|
81 | + $item['relationship'] = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
82 | + $view->set_item($display, 'filter', $id, $item); |
|
83 | + break; |
|
84 | + case 'filesize': |
|
85 | + $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
86 | + $view->set_item_option($display, 'filter', $id, 'relationship', $relationship); |
|
87 | + $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']); |
|
88 | + break; |
|
89 | + } |
|
90 | 90 | break; |
91 | 91 | } |
92 | 92 | break; |
93 | - case 'sorts': |
|
94 | - switch ($field['tablename']) { |
|
95 | - case 'file_revisions': |
|
96 | - switch ($field['field']) { |
|
97 | - case 'fid': |
|
98 | - $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
99 | - $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
100 | - $view->set_item_option($display, 'field', $id, 'table', 'files'); |
|
101 | - break; |
|
102 | - } |
|
103 | - break; |
|
93 | + case 'sorts': |
|
94 | + switch ($field['tablename']) { |
|
95 | + case 'file_revisions': |
|
96 | + switch ($field['field']) { |
|
97 | + case 'fid': |
|
98 | + $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); |
|
99 | + $view->set_item_option($display, 'field', $id, 'relationship', $relationship); |
|
100 | + $view->set_item_option($display, 'field', $id, 'table', 'files'); |
|
101 | + break; |
|
102 | + } |
|
103 | + break; |
|
104 | 104 | } |
105 | 105 | break; |
106 | 106 | } |
@@ -6,13 +6,13 @@ |
||
6 | 6 | class views_handler_field_node_comment extends views_handler_field { |
7 | 7 | function render($values) { |
8 | 8 | switch ($values->{$this->field_alias}) { |
9 | - case COMMENT_NODE_DISABLED: |
|
10 | - default: |
|
11 | - return t('Disabled'); |
|
12 | - case COMMENT_NODE_READ_ONLY: |
|
13 | - return t('Read only'); |
|
14 | - case COMMENT_NODE_READ_WRITE: |
|
15 | - return t('Read/Write'); |
|
9 | + case COMMENT_NODE_DISABLED: |
|
10 | + default: |
|
11 | + return t('Disabled'); |
|
12 | + case COMMENT_NODE_READ_ONLY: |
|
13 | + return t('Read only'); |
|
14 | + case COMMENT_NODE_READ_WRITE: |
|
15 | + return t('Read/Write'); |
|
16 | 16 | } |
17 | 17 | } |
18 | 18 | } |
@@ -55,25 +55,25 @@ |
||
55 | 55 | $def['extra'] = array(); |
56 | 56 | if ($this->options['language'] != 'all') { |
57 | 57 | switch ($this->options['language']) { |
58 | - case 'current': |
|
59 | - $def['extra'][] = array( |
|
60 | - 'field' => 'language', |
|
61 | - 'value' => '***CURRENT_LANGUAGE***', |
|
62 | - ); |
|
63 | - break; |
|
64 | - case 'default': |
|
65 | - $def['extra'][] = array( |
|
66 | - 'field' => 'language', |
|
67 | - 'value' => '***DEFAULT_LANGUAGE***', |
|
68 | - ); |
|
69 | - break; |
|
70 | - // Other values will be the language codes. |
|
71 | - default: |
|
72 | - $def['extra'][] = array( |
|
73 | - 'field' => 'language', |
|
74 | - 'value' => $this->options['language'], |
|
75 | - ); |
|
76 | - break; |
|
58 | + case 'current': |
|
59 | + $def['extra'][] = array( |
|
60 | + 'field' => 'language', |
|
61 | + 'value' => '***CURRENT_LANGUAGE***', |
|
62 | + ); |
|
63 | + break; |
|
64 | + case 'default': |
|
65 | + $def['extra'][] = array( |
|
66 | + 'field' => 'language', |
|
67 | + 'value' => '***DEFAULT_LANGUAGE***', |
|
68 | + ); |
|
69 | + break; |
|
70 | + // Other values will be the language codes. |
|
71 | + default: |
|
72 | + $def['extra'][] = array( |
|
73 | + 'field' => 'language', |
|
74 | + 'value' => $this->options['language'], |
|
75 | + ); |
|
76 | + break; |
|
77 | 77 | } |
78 | 78 | } |
79 | 79 |