? 557504-4_override_unexpected_behaviour.patch Index: feedapi_mapper.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/Attic/feedapi_mapper.admin.inc,v retrieving revision 1.1.2.12 diff -u -p -r1.1.2.12 feedapi_mapper.admin.inc --- feedapi_mapper.admin.inc 29 Sep 2009 18:47:12 -0000 1.1.2.12 +++ feedapi_mapper.admin.inc 29 Sep 2009 18:52:50 -0000 @@ -222,6 +222,9 @@ function feedapi_mapper_restrict_form($f */ function feedapi_mapper_restrict_form_submit($form, &$form_state) { $mapping = feedapi_mapper_load_mapping($form['#node']); + if (empty($mapping['mapping'])) { + $mapping['mapping'] = 'per_node_placeholder'; + } feedapi_mapper_save_mapping($form['#node']->nid, $mapping); } Index: feedapi_mapper.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/feedapi_mapper.module,v retrieving revision 1.2.2.27 diff -u -p -r1.2.2.27 feedapi_mapper.module --- feedapi_mapper.module 29 Sep 2009 18:47:12 -0000 1.2.2.27 +++ feedapi_mapper.module 29 Sep 2009 18:52:50 -0000 @@ -335,7 +335,7 @@ function feedapi_mapper_get_element($pat * A boolean value that specifies whether the given $source should be unique. */ function feedapi_mapper_add_mapping($param, $source, $target, $unique) { - $map = (array) array_pop(ctools_export_load_object('feedapi_mapper', 'conditions', array('param' => $param))); + $map = _feedapi_mapper_load_mapping($param); if (!empty($map)) { $map['mapping'][$source] = $target; $map['unique_elements'][$source] = $unique; @@ -378,6 +378,9 @@ function feedapi_mapper_delete_mapping($ $map['unique_elements'] = unserialize($map['unique_elements']); unset($map['mapping'][$source]); unset($map['unique_elements'][$source]); + if (empty($map['mapping']) && is_numeric($param) && _feedapi_mapper_scope($param)) { + $map['mapping'] = 'per_node_placeholder'; + } drupal_write_record('feedapi_mapper', $map, 'param'); } } @@ -447,6 +450,9 @@ function _feedapi_mapper_load_mapping($p if ($mapping = ctools_export_load_object('feedapi_mapper', 'conditions', array('param' => $param))) { $mapping = (array) array_pop($mapping); if (!empty($mapping['mapping'])) { + if (is_string($mapping['mapping'])) { + $mapping['mapping'] = array(); + } $mapping['unique'] = $mapping['unique_elements']; return $mapping; }