From cbdacec636ce6ea460db527aa9f666e2685c880d Mon Sep 17 00:00:00 2001 From: Liam Morland <lkmorlan@493050.no-reply.drupal.org> Date: Sun, 5 Feb 2012 11:24:57 -0800 Subject: [PATCH] Issue #1393022: Always use PDF key as-is. --- xfdf.inc | 45 +++------------------------------------------ 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/xfdf.inc b/xfdf.inc index 32ac2d9..f253167 100644 --- a/xfdf.inc +++ b/xfdf.inc @@ -20,51 +20,12 @@ function create_xfdf($file, $info, $enc = 'UTF-8') { $data = '<?xml version="1.0" encoding="' . $enc . '"?>' . "\n" . '<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">' . "\n" . '<fields>' . "\n"; - $data .= print_fields($info); + foreach ($info as $name => $value) { + $data .= '<field name="' . htmlspecialchars($name) . '"><value>' . htmlspecialchars($value) . '</value></field>' . "\n"; + } $data .= '</fields>' . "\n" . '<ids original="' . md5($file) . '" modified="' . REQUEST_TIME . '" />' . "\n" . '<f href="' . $file . '" />' . "\n" . '</xfdf>' . "\n"; return $data; } - -function escape_string($str) { - if ($str == NULL) { - return $str; - } - $str = str_replace(array('\\', '\''), array('\\\\', '\\\''), $str); - return $str; -} - -function print_fields($info) { - $fields = array(); - $str = ''; - foreach ($info as $field => $val) { - $arr = explode('.', $field); - $str .= '$fields'; - foreach ($arr as $node) { - $str .= "['" . escape_string($node) . "']"; - } - $str .= "='" . escape_string($val) . "';"; - } - eval($str); - - $str = ''; - foreach ($fields as $field => $val) { - print_fields_recurse($field, $val, $str); - } - return $str; -} - -function print_fields_recurse($field, $val, &$str) { - $str .= '<field name="' . $field . '">' . "\n"; - if (is_array($val)) { - foreach ($val as $field => $val) { - print_fields_recurse($field, $val, $str); - } - } - else { - $str .= '<value>' . $val . '</value>' . "\n"; - } - $str .= '</field>' . "\n"; -} -- GitLab