summaryrefslogtreecommitdiff
path: root/itjs.class
diff options
context:
space:
mode:
authorChristian Schneider2006-12-12 13:38:57 +0000
committerChristian Schneider2006-12-12 13:38:57 +0000
commitfd9171e0df775da9c4a3ea22e8f95ec75d3b3897 (patch)
tree53e93e18851d1c780f73e5464b89b1aad87f598c /itjs.class
parentee2fcb5bbc9b9db282a4668c50d87447b2114886 (diff)
downloaditools-fd9171e0df775da9c4a3ea22e8f95ec75d3b3897.tar.gz
itools-fd9171e0df775da9c4a3ea22e8f95ec75d3b3897.tar.bz2
itools-fd9171e0df775da9c4a3ea22e8f95ec75d3b3897.zip
Merged revisions 13944-15067 via svnmerge from
svn+ssh://rdc.rim.ch/rdc/svn/itools/devel-redesign ........ r13945 | weber | 2006-10-26 16:13:44 +0200 (Thu, 26 Oct 2006) | 2 lines omit null attributes, true means add name only. select() supports optgroups ........ r13946 | weber | 2006-10-26 16:22:42 +0200 (Thu, 26 Oct 2006) | 2 lines Removed cruft ........ r13989 | cschneid | 2006-10-27 18:32:11 +0200 (Fri, 27 Oct 2006) | 1 line Removed more cruft ........ r13991 | cschneid | 2006-10-28 19:36:35 +0200 (Sat, 28 Oct 2006) | 1 line Make adserver output xhtml compliant tags ........ r14093 | weber | 2006-11-06 17:13:23 +0100 (Mon, 06 Nov 2006) | 2 lines title tag can be omitted completely ........ r14096 | weber | 2006-11-06 18:00:43 +0100 (Mon, 06 Nov 2006) | 2 lines Q() doesn't encode newlines, tag() encodes newlines within attributes ........ r14135 | weber | 2006-11-09 02:30:03 +0100 (Thu, 09 Nov 2006) | 2 lines Migrate DB to texts.php on the fly (this functionality will be removed later), use only statictext, not DB ........ r14164 | mueller | 2006-11-09 19:23:40 +0100 (Thu, 09 Nov 2006) | 1 line disable empty options in select ........ r14194 | mueller | 2006-11-13 14:34:25 +0100 (Mon, 13 Nov 2006) | 1 line imply choose() in show() ........ r14212 | weber | 2006-11-13 18:14:33 +0100 (Mon, 13 Nov 2006) | 2 lines Debug output is left-aligned ........ r14231 | cschneid | 2006-11-14 17:09:32 +0100 (Tue, 14 Nov 2006) | 1 line Load js files before dom is ready and prevent loops on static= ........ r14288 | cschneid | 2006-11-15 13:16:54 +0100 (Wed, 15 Nov 2006) | 1 line More compact serialization of arrays ........ r14388 | weber | 2006-11-22 18:19:34 +0100 (Wed, 22 Nov 2006) | 2 lines Add optional IE PNG fix to it_html::img() ........ r14442 | mueller | 2006-11-27 23:22:23 +0100 (Mon, 27 Nov 2006) | 1 line correctly handle <option value=""> ........ r14444 | cschneid | 2006-11-28 12:35:43 +0100 (Tue, 28 Nov 2006) | 1 line Handle null separately to preserve 0 == '0' ........ r14450 | cschneid | 2006-11-28 15:36:45 +0100 (Tue, 28 Nov 2006) | 1 line Style commit (mainly done to test commit-email) ........ r14451 | cschneid | 2006-11-28 15:44:49 +0100 (Tue, 28 Nov 2006) | 1 line Test commit for commit-email ........ r14638 | cschneid | 2006-12-01 14:20:45 +0100 (Fri, 01 Dec 2006) | 1 line Suppress warning in case src file was removed by race ........ r14970 | weber | 2006-12-09 03:07:22 +0100 (Sat, 09 Dec 2006) | 2 lines Added the highly useful timerlog() method from searchlib to justify the supporting code in auto_append.php ;) ........ r14971 | weber | 2006-12-09 03:08:49 +0100 (Sat, 09 Dec 2006) | 2 lines Added set(), made dump_php's return value more convincing ........ r14993 | cschneid | 2006-12-11 14:05:29 +0100 (Mon, 11 Dec 2006) | 1 line Added itjs::send_headers() to send HTTP headers suitable for JSON data ........ r14997 | cschneid | 2006-12-11 14:28:52 +0100 (Mon, 11 Dec 2006) | 1 line Set JSON expiration date for IE ........ r15057 | weber | 2006-12-12 14:02:43 +0100 (Tue, 12 Dec 2006) | 2 lines documentation update ........
Diffstat (limited to 'itjs.class')
-rw-r--r--itjs.class15
1 files changed, 13 insertions, 2 deletions
diff --git a/itjs.class b/itjs.class
index ac56032..e5c0b25 100644
--- a/itjs.class
+++ b/itjs.class
@@ -17,6 +17,17 @@ class itjs
{
/**
+ * Send HTTP headers (content-type) to transmit javascript code
+ */
+function send_headers()
+{
+ if (!preg_match('/Opera/', $_SERVER['HTTP_USER_AGENT'])) # text/plain breaks Opera 8.51/Linux
+ header('Content-Type: text/plain; charset=iso-8859-1'); # Berni reported some Firewalls to require this
+
+ header('Expires: ' . gmdate('D, d M Y H:i:s', time()+10) . ' GMT'); # prevent broken data on IE reloads
+}
+
+/**
* Serialize the result into a javascript script
* @param $values Array with values to be serialized
* @param $callback Javascript function to call with data (iframe solution)
@@ -38,7 +49,7 @@ function serialize($values)
*/
function encode($values)
{
- $texts = ($values === array_values($values)) ? "[]0" : "{}1"; # Numerical or associative array
+ $texts = ($values === array_values($values)) ? "[]0 " : "{}1\n"; # Numerical or associative array
$result = $texts{0};
@@ -62,7 +73,7 @@ function encode($values)
else
$result .= itjs::encode($value);
- $separator = ",\n";
+ $separator = "," . $texts{3};
}
$result .= $texts{1};