From fdbcc8eab8555f97f0acf7e534717a21599e5637 Mon Sep 17 00:00:00 2001
From: Liam Morland <lkmorlan@uwaterloo.ca>
Date: Mon, 19 Sep 2016 12:13:19 -0400
Subject: [PATCH] Issue #2789713: create_xfdf() should not require $file
 parameter.

---
 xfdf.inc | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/xfdf.inc b/xfdf.inc
index 6e17d97..6859f74 100644
--- a/xfdf.inc
+++ b/xfdf.inc
@@ -8,8 +8,9 @@
 /**
  * Generates an XFDF file from values given in an associative array.
  *
- * @param string $file
- *   The PDF file: URL or file path accepted.
+ * @param string|null $file
+ *   The PDF file: URL or file path accepted. Use NULL to skip setting
+ *   file-related properties.
  * @param array $info
  *   Key/value pairs of the field data.
  * @param string $enc
@@ -35,11 +36,15 @@ function create_xfdf($file, $info, $enc = 'UTF-8') {
   }
 
   $ids_ele = $xfdf_ele->appendChild($doc->createElement('ids'));
-  $ids_ele->setAttribute('original', md5($file));
+  if ($file) {
+    $ids_ele->setAttribute('original', md5($file));
+  }
   $ids_ele->setAttribute('modified', REQUEST_TIME);
 
-  $f_ele = $xfdf_ele->appendChild($doc->createElement('f'));
-  $f_ele->setAttribute('href', $file);
+  if ($file) {
+    $f_ele = $xfdf_ele->appendChild($doc->createElement('f'));
+    $f_ele->setAttribute('href', $file);
+  }
 
   return $doc->saveXML();
 }
-- 
GitLab