From 86985d07e25a39aece61599480673f791b512a06 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 11 May 2012 06:33:30 -0400 Subject: [PATCH] Merged Revisions 3100-3101 from stable branch. --- interface/lib/classes/functions.inc.php | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 2102992..2fe7191 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -45,6 +45,7 @@ $content = file_get_contents($filepath); $content = chunk_split(base64_encode($content)); $uid = strtoupper(md5(uniqid(time()))); + $subject = "=?utf-8?B?".base64_encode($subject)."?="; if($filename == '') { $path_parts = pathinfo($filepath); @@ -73,6 +74,9 @@ mail($to, $subject, "", $header); } else { $header = "From: $from\nReply-To: $from\n"; + $header .= "Content-Type: text/plain;\n\tcharset=\"UTF-8\"\n"; + $header .= "Content-Transfer-Encoding: 8bit\n\n"; + $subject = "=?utf-8?B?".base64_encode($subject)."?="; mail($to, $subject, $text, $header); } @@ -105,6 +109,46 @@ return $url; } + function json_encode($data) { + if(!function_exists('json_encode')){ + switch ($type = gettype($data)){ + case 'NULL': + return 'null'; + case 'boolean': + return ($data ? 'true' : 'false'); + case 'integer': + case 'double': + case 'float': + return $data; + case 'string': + return '"' . addslashes($data) . '"'; + case 'object': + $data = get_object_vars($data); + case 'array': + $output_index_count = 0; + $output_indexed = array(); + $output_associative = array(); + foreach($data as $key => $value){ + $output_indexed[] = $this->json_encode($value); + $output_associative[] = $this->json_encode($key) . ':' . $this->json_encode($value); + if($output_index_count !== NULL && $output_index_count++ !== $key){ + $output_index_count = NULL; + } + } + if($output_index_count !== NULL){ + return '[' . implode(',', $output_indexed) . ']'; + } else { + return '{' . implode(',', $output_associative) . '}'; + } + default: + return ''; // Not supported + } + } else { + return json_encode($data); + } + } + + } -- Gitblit v1.9.1