function farm_import_feeds_tamper_plugin in farmOS 7
Helper function for generating standardized tamper plugin definitions.
Parameters
string $entity_type: The entity type.
string $bundle: The entity bundle.
string $source: The name of the Feeds source (column header in CSV imports).
string $plugin: The Feeds Tamper plugin machine name.
mixed $value: A value to provide as input to certain plugins (ie: default_value).
Return value
object Returns a Feeds Tamper plugin object.
5 calls to farm_import_feeds_tamper_plugin()
- farm_crop_feeds_tamper_default_alter in modules/
farm/ farm_crop/ farm_crop.module - Implements hook_feeds_tamper_default_alter().
- farm_import_feeds_tamper_default in modules/
farm/ farm_import/ farm_import.feeds_tamper_default.inc - Implements hook_feeds_tamper_default().
- farm_livestock_feeds_tamper_default_alter in modules/
farm/ farm_livestock/ farm_livestock.module - Implements hook_feeds_tamper_default_alter().
- farm_log_input_feeds_tamper_default_alter in modules/
farm/ farm_log/ farm_log_input/ farm_log_input.module - Implements hook_feeds_tamper_default_alter().
- farm_soil_test_feeds_tamper_default_alter in modules/
farm/ farm_soil/ farm_soil_test/ farm_soil_test.module - Implements hook_feeds_tamper_default_alter().
File
- modules/
farm/ farm_import/ farm_import.module, line 157 - Farm import module.
Code
function farm_import_feeds_tamper_plugin($entity_type, $bundle, $source, $plugin, $value = NULL) {
// Build the importer machine name.
$importer = $entity_type . '_' . $bundle;
// Generate a machine name from the source.
$source_machine = feeds_tamper_make_machine($source);
// Build the tamper plugin ID.
$id = $importer . '-' . $source_machine . '-' . $plugin;
// Build the description and settings based on the plugin type.
$plugin_type = $plugin;
switch ($plugin_type) {
// Boolean.
case 'boolean_default_true':
$plugin_type = 'boolean_default';
$description = 'Convert to boolean (with default)';
$settings = array(
'default_value' => TRUE,
);
break;
case 'boolean_default_false':
$plugin_type = 'boolean_default';
$description = 'Convert to boolean (with default)';
$settings = array(
'default_value' => FALSE,
);
break;
// Explode.
case 'explode':
$description = 'Explode';
$settings = array(
'separator' => ',',
'limit' => '',
'real_separator' => ',',
);
break;
// Find and replace.
case 'find_replace':
$description = 'Find replace';
$settings = array(
'find' => !empty($value['find']) ? $value['find'] : '',
'replace' => !empty($value['replace']) ? $value['replace'] : '',
'case_sensitive' => 0,
'word_boundaries' => 0,
'whole' => 0,
'regex' => FALSE,
'func' => 'str_ireplace',
);
break;
// Required.
case 'required':
$description = 'Required field';
$settings = array(
'invert' => 0,
'log' => 1,
);
break;
// String to Unix timestamp.
case 'strtotime':
$description = 'String to Unix timestamp';
$settings = array();
break;
// Unix timestamp to date.
case 'timetodate':
$description = 'Unix timestamp to Date';
$settings = array(
'date_format' => 'Y-m-d',
);
break;
// Trim whitespace.
case 'trim':
$description = 'Trim';
$settings = array(
'mask' => '',
'side' => 'trim',
);
break;
// Empty defaults.
default:
$description = '';
$settings = array();
}
// Build the plugin.
$feeds_tamper = new stdClass();
$feeds_tamper->disabled = FALSE;
/* Edit this to true to make a default feeds_tamper disabled initially */
$feeds_tamper->api_version = 2;
$feeds_tamper->id = $id;
$feeds_tamper->importer = $importer;
$feeds_tamper->source = $source;
$feeds_tamper->plugin_id = $plugin_type;
$feeds_tamper->settings = $settings;
$feeds_tamper->weight = 0;
$feeds_tamper->description = $description;
// Return the plugin.
return $feeds_tamper;
}