1
|
<?php
|
2
|
|
3
|
/**
|
4
|
* @file
|
5
|
* Set field to default value.
|
6
|
*/
|
7
|
|
8
|
$plugin = array(
|
9
|
'form' => 'feeds_tamper_default_value_form',
|
10
|
'callback' => 'feeds_tamper_default_value_callback',
|
11
|
'name' => 'Set value or default value',
|
12
|
'multi' => 'direct',
|
13
|
'category' => 'Other',
|
14
|
);
|
15
|
|
16
|
function feeds_tamper_default_value_form($importer, $element_key, $settings) {
|
17
|
$form = array();
|
18
|
|
19
|
$form['default_value'] = array(
|
20
|
'#type' => 'textarea',
|
21
|
'#title' => t('Value'),
|
22
|
'#default_value' => isset($settings['default_value']) ? $settings['default_value'] : '',
|
23
|
'#description' => t('This field will be set to the value specified.'),
|
24
|
);
|
25
|
|
26
|
$form['only_if_empty'] = array(
|
27
|
'#type' => 'checkbox',
|
28
|
'#title' => t('Only if empty'),
|
29
|
'#default_value' => isset($settings['only_if_empty']) ? $settings['only_if_empty'] : 0,
|
30
|
'#description' => t('This field will be set to the value specified only if the imported field is empty.'),
|
31
|
);
|
32
|
|
33
|
return $form;
|
34
|
}
|
35
|
|
36
|
function feeds_tamper_default_value_callback($result, $item_key, $element_key, &$field, $settings, $source) {
|
37
|
// Setting a default value.
|
38
|
if (!empty($settings['only_if_empty']) && !$field) {
|
39
|
$field = $settings['default_value'];
|
40
|
}
|
41
|
elseif (empty($settings['only_if_empty'])) {
|
42
|
$field = $settings['default_value'];
|
43
|
}
|
44
|
}
|