2017-07-04 14:46:41 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* Feeds tamper plugins provided by the farm import module.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implements hook_feeds_tamper_default().
|
|
|
|
*/
|
|
|
|
function farm_import_feeds_tamper_default() {
|
|
|
|
$export = array();
|
|
|
|
|
|
|
|
// Load asset types.
|
|
|
|
$asset_types = farm_asset_types();
|
|
|
|
|
2017-07-04 17:02:52 +02:00
|
|
|
// Add asset tamper plugins.
|
2017-07-04 14:46:41 +02:00
|
|
|
foreach ($asset_types as $bundle => $type) {
|
2017-07-04 17:02:52 +02:00
|
|
|
|
|
|
|
// Make asset name field required.
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Name', 'required');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 14:46:41 +02:00
|
|
|
|
2017-07-05 16:42:50 +02:00
|
|
|
// Convert active to boolean.
|
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Active', 'convert_boolean');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2017-07-04 15:12:45 +02:00
|
|
|
// If a "Parent IDs" field exists, explode it into an array of IDs.
|
|
|
|
if (!empty(field_info_instance('farm_asset', 'field_farm_parent', $bundle))) {
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Parent IDs', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 15:12:45 +02:00
|
|
|
}
|
2017-07-04 14:46:41 +02:00
|
|
|
}
|
|
|
|
|
2017-07-04 17:02:52 +02:00
|
|
|
// Load log types.
|
|
|
|
$log_types = log_types();
|
|
|
|
|
|
|
|
// Add log tamper plugins.
|
|
|
|
foreach ($log_types as $bundle => $type) {
|
|
|
|
|
2017-07-04 20:36:57 +02:00
|
|
|
// Convert date to timestamp.
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Date', 'strtotime');
|
2017-07-04 20:36:57 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2017-07-04 17:02:52 +02:00
|
|
|
// Make date field required.
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Date', 'required');
|
2017-07-04 20:36:57 +02:00
|
|
|
$feeds_tamper->weight = 1;
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
|
2017-07-05 16:42:50 +02:00
|
|
|
// Convert done to boolean.
|
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Done', 'convert_boolean');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2017-07-04 17:02:52 +02:00
|
|
|
// If an "Asset IDs" field exists, explode it into an array of IDs.
|
|
|
|
if (!empty(field_info_instance('log', 'field_farm_asset', $bundle))) {
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Asset IDs', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// If an "Area names" field exists, explode it into an array of area names.
|
|
|
|
if (!empty(field_info_instance('log', 'field_farm_area', $bundle))) {
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Area names', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// If a "Category names" field exists, explode it into an array of category
|
|
|
|
// names.
|
|
|
|
if (!empty(field_info_instance('log', 'field_farm_log_category', $bundle))) {
|
2017-07-05 15:45:04 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Category names', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-04 14:46:41 +02:00
|
|
|
return $export;
|
|
|
|
}
|