/** * Add a value to the fields to inject * * @param $fields_toinject the fields * @param $searchOptions options related to the itemtype to inject * @param $mapping the mapping which matches the field * @param $value the value for this field, as readed from the CSV file * @param $several array of all fields which can be mapping more than one time * in the model * @return nothing **/ function addValueToInject(&$fields_toinject, $searchOptions, $mapping, $value, $several = array()) { // Option will be found only for "main" type. $option = PluginDatainjectionCommonInjectionLib::findSearchOption($searchOptions, $mapping->getValue()); $return_value = $value; if ($option['displaytype'] == 'multiline_text' && in_array($mapping->getValue(), $several) && $value != PluginDatainjectionCommonInjectionLib::EMPTY_VALUE) { $return_value = ''; if (isset($fields_toinject[$mapping->getItemtype()][$mapping->getValue()])) { $return_value .= $fields_toinject[$mapping->getItemtype()][$mapping->getValue()]; } $return_value .= $mapping->getMappingName() . "=" . $value . "\n"; } $fields_toinject[$mapping->getItemtype()][$mapping->getValue()] = $return_value; }
/** * @param $info PluginDatainjectionInfo object * @param $value **/ static function keepInfo(PluginDatainjectionInfo $info, $value) { $itemtype = $info->getInfosType(); $injectionClass = PluginDatainjectionCommonInjectionLib::getInjectionClassInstance($itemtype); $options = $injectionClass->getOptions($itemtype); $option = PluginDatainjectionCommonInjectionLib::findSearchOption($options, $info->getValue()); if ($option) { switch ($option['displaytype']) { default: case 'text': case 'multiline_text': if ($value != PluginDatainjectionCommonInjectionLib::EMPTY_VALUE) { return true; } return false; case 'dropdown': case 'user': case 'contact': if ($value != PluginDatainjectionCommonInjectionLib::DROPDOWN_EMPTY_VALUE) { return true; } return false; } } }