Hi,
I have the following error using that module :
PHP Fatal error: Call to undefined function array_diff_key() in /srv/www/htdocs/webs/iova/sites/all/modules/node_widget/includes/node_widget.class.inc on line 270
and there is the node_widget.class.inc code (near line 270) :
/**
* Fix Drupal error messages by cleaning duplicates
* and highlighting the right form fields
*
* @param $element
* Node widget form element.
*/
function fix_error_messages(&$element) {
static $errors_cache = array();
$children = element_children($element['node_widget']);
$delta = $element['#delta'];
$field_name = $element['#field_name'];
// Fix error messages.
$processed = array();
$errors = form_get_errors() ? form_get_errors() : array();
form_set_error(NULL, NULL, TRUE);
$diff = array_diff_key($errors, $errors_cache); // --------------- line 270
foreach ($diff as $key => $message) {
$name = strstr($key, '][') === FALSE ? $key : array_shift(explode('][', $key));
if (in_array($name, $children)) {
$key = $field_name .']['. $delta .'][node_widget]['. $key;
}
$processed[$key] = $message;
}
$errors_cache = array_merge($processed, $errors_cache);
foreach ($errors_cache as $key => $message) {
form_set_error($key, $message);
}
// Remove duplicatete error messages
if (is_array($_SESSION['messages']['error'])) {
$duplicate = array();
foreach ($_SESSION['messages']['error'] as $key => $message) {
if (in_array($message, $duplicate)) {
unset($_SESSION['messages']['error'][$key]);
}
$duplicate[] = $message;
}
}
}
Thanks