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