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
|
|
|
|
2018-01-31 22:20:26 +01:00
|
|
|
// Convert archived to boolean.
|
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Archived', 'boolean_default_false');
|
2017-08-06 15:59:52 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2019-10-08 22:15:18 +02:00
|
|
|
// If a parent asset field exists, explode "Parent IDs" and "Parent names"
|
2019-10-08 22:53:34 +02:00
|
|
|
// into arrays of IDs and names. Trim whitespace from parent names.
|
2017-07-04 15:12:45 +02:00
|
|
|
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;
|
2019-10-08 22:15:18 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Parent names', 'explode');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2019-10-08 22:53:34 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', $bundle, 'Parent names', 'trim');
|
|
|
|
$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.
|
2017-12-29 22:05:20 +01:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Done', 'boolean_default_true');
|
2017-08-06 15:59:52 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2019-10-08 22:15:18 +02:00
|
|
|
// If an asset reference field exists, explode the "Asset IDs" and "Asset
|
2020-04-23 13:41:47 +02:00
|
|
|
// names" targets into arrays of IDs and names and trim whitespace.
|
2017-07-04 17:02:52 +02:00
|
|
|
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;
|
2020-04-23 13:41:47 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Asset IDs', 'trim');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2019-10-08 22:15:18 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Asset names', 'explode');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2019-10-08 22:53:34 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Asset names', 'trim');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
|
2020-04-23 14:26:49 +02:00
|
|
|
// Convert "Archive assets" to boolean (defaults to False).
|
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Archive assets', 'boolean_default_false');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
|
|
|
|
2019-10-08 22:53:34 +02:00
|
|
|
// If an "Areas" field exists, explode it into an array of area names and
|
|
|
|
// trim whitespace.
|
2017-07-04 17:02:52 +02:00
|
|
|
if (!empty(field_info_instance('log', 'field_farm_area', $bundle))) {
|
2017-08-06 18:44:49 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Areas', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2019-10-08 22:53:34 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Areas', 'trim');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
|
2017-08-06 18:44:49 +02:00
|
|
|
// If a "Categories" field exists, explode it into an array of category
|
2019-10-08 22:53:34 +02:00
|
|
|
// names and trim whitespace.
|
2017-07-04 17:02:52 +02:00
|
|
|
if (!empty(field_info_instance('log', 'field_farm_log_category', $bundle))) {
|
2017-08-06 18:44:49 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Categories', 'explode');
|
2017-07-04 20:36:40 +02:00
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2019-10-08 22:53:34 +02:00
|
|
|
$feeds_tamper = farm_import_feeds_tamper_plugin('log', $bundle, 'Categories', 'trim');
|
|
|
|
$export[$feeds_tamper->id] = $feeds_tamper;
|
2017-07-04 17:02:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-04 14:46:41 +02:00
|
|
|
return $export;
|
|
|
|
}
|