]> git.donarmstrong.com Git - roundcube.git/commitdiff
Really add needed patchs
authorVincent Bernat <bernat@debian.org>
Mon, 18 Jan 2010 22:13:09 +0000 (22:13 +0000)
committerJérémy Bobbio <lunar@debian.org>
Sat, 18 Jun 2011 18:28:13 +0000 (20:28 +0200)
debian/patches/changeset_r3170.patch [new file with mode: 0644]
debian/patches/changeset_r3202.patch [new file with mode: 0644]

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