package Sajax; use Data::Dumper; my $rs_debug_mode = 0; my $rs_js_has_been_shown = 0; my %rs_export_list = (); my %rs_coderef_list = (); sub incl_sajax { } sub rs_init { $rs_debug_mode = 0; $rs_js_has_been_shown = 0; %rs_export_list = (); %rs_coderef_list = (); } sub rs_handle_client_request { my($q)=@_; my $rv=""; if (!defined $q->param("rs")) { return undef; } my $func_name = $q->param("rs"); if ( defined $rs_export_list{$func_name}) { $rv .= "+:"; eval { $rv .= &$func_name($q->param("rsargs")); }; if($@) { print STDERR "Err:[$@]\n"; } } elsif ( defined $rs_coderef_list{$func_name}) { $rv .= "+:"; my $cr = $rs_coderef_list{$func_name}; eval { $rv .= &$cr($q->param("rsargs")); }; if($@) { print STDERR "Err:[$@]\n"; } } else { $rv .= "-:$func_name not callable"; } return $rv; } sub rs_show_common_js() { my $rv = ""; my $debug_mode = $rs_debug_mode ? "true" : "false"; my $CC = "\n// Perl backend version (c) copyright 2005 Nathan Schmidt"; $CC = ""; $rv .= <url(-query=>1); if ($uri =~ m/\?/) { $uri .= "&rs=".rs_urlencode($func_name); } else { $uri .= "?rs=".rs_urlencode($func_name); } my $urie = rs_esc($uri); $rv .= <