From 5d60014828731869a502ce702478fd81f39c720b Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Mon, 18 Jan 2010 22:13:09 +0000 Subject: [PATCH] Really add needed patchs --- debian/patches/changeset_r3170.patch | 159 +++++++++++++++++++++++++++ debian/patches/changeset_r3202.patch | 12 ++ 2 files changed, 171 insertions(+) create mode 100644 debian/patches/changeset_r3170.patch create mode 100644 debian/patches/changeset_r3202.patch diff --git a/debian/patches/changeset_r3170.patch b/debian/patches/changeset_r3170.patch new file mode 100644 index 0000000..7562a41 --- /dev/null +++ b/debian/patches/changeset_r3170.patch @@ -0,0 +1,159 @@ +Use json_encode to ensure compatibility with JQuery 1.4. + +Index: /trunk/roundcubemail/program/include/rcube_template.php +=================================================================== +--- /trunk/roundcubemail/program/include/rcube_template.php (revision 2980) ++++ /trunk/roundcubemail/program/include/rcube_template.php (revision 3170) +@@ -415,10 +415,10 @@ + $out = ''; + if (!$this->framed && !empty($this->js_env)) { +- $out .= JS_OBJECT_NAME . '.set_env('.json_serialize($this->js_env).");\n"; ++ $out .= JS_OBJECT_NAME . '.set_env('.json_encode($this->js_env).");\n"; + } + foreach ($this->js_commands as $i => $args) { + $method = array_shift($args); + foreach ($args as $i => $arg) { +- $args[$i] = json_serialize($arg); ++ $args[$i] = json_encode($arg); + } + $parent = $this->framed || preg_match('/^parent\./', $method); +Index: /trunk/roundcubemail/program/include/rcube_shared.inc +=================================================================== +--- /trunk/roundcubemail/program/include/rcube_shared.inc (revision 3132) ++++ /trunk/roundcubemail/program/include/rcube_shared.inc (revision 3170) +@@ -106,95 +106,4 @@ + exit; + } +-} +- +- +-/** +- * Returns whether an $str is a reserved word for any of the version of Javascript or ECMAScript +- * @param str String to check +- * @return boolean True if $str is a reserver word, False if not +- */ +-function is_js_reserved_word($str) +-{ +- return in_array($str, array( +- // ECMASript ver 4 reserved words +- 'as','break','case','catch','class','const','continue', +- 'default','delete','do','else','export','extends','false','finally','for','function', +- 'if','import','in','instanceof','is','namespace','new','null','package','private', +- 'public','return','super','switch','this','throw','true','try','typeof','use','var', +- 'void','while','with', +- // ECMAScript ver 4 future reserved words +- 'abstract','debugger','enum','goto','implements','interface','native','protected', +- 'synchronized','throws','transient','volatile', +- // special meaning in some contexts +- 'get','set', +- // were reserved in ECMAScript ver 3 +- 'boolean','byte','char','double','final','float','int','long','short','static' +- )); +-} +- +- +-/** +- * Convert a variable into a javascript object notation +- * +- * @param mixed Input value +- * @return string Serialized JSON string +- */ +-function json_serialize($var) +-{ +- if (is_object($var)) +- $var = get_object_vars($var); +- +- if (is_array($var)) +- { +- // empty array +- if (!sizeof($var)) +- return '[]'; +- else +- { +- $keys_arr = array_keys($var); +- $is_assoc = $have_numeric = 0; +- +- for ($i=0; $i $value) +- { +- // enclose key with quotes if it is not variable-name conform +- if (!preg_match('/^[_a-zA-Z]{1}[_a-zA-Z0-9]*$/', $key) || is_js_reserved_word($key)) +- $key = "'$key'"; +- +- $pairs[] = sprintf("%s%s", $is_assoc ? "$key:" : '', json_serialize($value)); +- } +- +- return $brackets{0} . implode(',', $pairs) . $brackets{1}; +- } +- } +- else if (!is_string($var) && strval(intval($var)) === strval($var)) +- return $var; +- else if (is_bool($var)) +- return $var ? '1' : '0'; +- else +- return "'".JQ($var)."'"; +-} +- +- +-/** +- * Function to convert an array to a javascript array +- * Actually an alias function for json_serialize() +- * @deprecated +- */ +-function array2js($arr, $type='') +-{ +- return json_serialize($arr); + } + +Index: /trunk/roundcubemail/program/include/rcube_json_output.php +=================================================================== +--- /trunk/roundcubemail/program/include/rcube_json_output.php (revision 2905) ++++ /trunk/roundcubemail/program/include/rcube_json_output.php (revision 3170) +@@ -240,5 +240,5 @@ + $response['callbacks'] = $this->callbacks; + +- echo json_serialize($response); ++ echo json_encode($response); + } + +@@ -256,5 +256,5 @@ + $method = array_shift($args); + foreach ($args as $i => $arg) { +- $args[$i] = json_serialize($arg); ++ $args[$i] = json_encode($arg); + } + +Index: /trunk/roundcubemail/program/steps/mail/func.inc +=================================================================== +--- /trunk/roundcubemail/program/steps/mail/func.inc (revision 3099) ++++ /trunk/roundcubemail/program/steps/mail/func.inc (revision 3170) +@@ -523,5 +523,5 @@ + if (is_array($quota)) { + $OUTPUT->add_script('$(document).ready(function(){ +- rcmail.set_quota('.json_serialize($quota).')});', 'foot'); ++ rcmail.set_quota('.json_encode($quota).')});', 'foot'); + $quota = ''; + } +Index: /trunk/roundcubemail/program/steps/mail/compose.inc +=================================================================== +--- /trunk/roundcubemail/program/steps/mail/compose.inc (revision 3166) ++++ /trunk/roundcubemail/program/steps/mail/compose.inc (revision 3170) +@@ -507,5 +507,5 @@ + JQ(Q(rcube_label('revertto'))), + JQ(Q(rcube_label('nospellerrors'))), +- json_serialize($spellcheck_langs), ++ json_encode($spellcheck_langs), + $lang, + $attrib['id'], diff --git a/debian/patches/changeset_r3202.patch b/debian/patches/changeset_r3202.patch new file mode 100644 index 0000000..2b7b940 --- /dev/null +++ b/debian/patches/changeset_r3202.patch @@ -0,0 +1,12 @@ +Compatibility with jQuery 1.4. + +Index: /trunk/roundcubemail/program/include/rcube_json_output.php +=================================================================== +--- /trunk/roundcubemail/program/include/rcube_json_output.php (revision 3175) ++++ /trunk/roundcubemail/program/include/rcube_json_output.php (revision 3202) +@@ -219,5 +219,4 @@ + send_nocacheing_headers(); + header('Content-Type: text/plain; charset=' . $this->get_charset()); +- print '/** ajax response ['.date('d/M/Y h:i:s O')."] **/\n"; + } + -- 2.39.2