package CGI::OptimalQuery::JSON;
use strict;
use warnings;
no warnings qw( uninitialized );
use base 'CGI::OptimalQuery::Base';
use CGI();
use JSON::XS();
sub output {
my $o = shift;
my $title =
er}->($$o{httpHeader}->(-type => 'application/json', -attachment => "$title.json").'[');
my @selCols = @{ $o->get_usersel_cols() };
my $encoder = JSON::XS->new->utf8();
while(my $rec = $o->fetch
strict;
use POSIX qw/strftime/;
use Data::Dumper;
use Mail::Sendmail();
use CGI qw( escape );
use JSON::XS;
use CGI::OptimalQuery::Base();
sub escapeHTML { CGI::OptimalQuery::Base::escapeHTML(@_) }
id("","","","");
}
$$o{output_handler}->($$o{httpHeader}->('application/json').encode_json({ status => "ok", msg => "search saved successfully", id => $rec{id} }));
}; if ($@) {
ndler}->("err", $err);
}
$$o{output_handler}->($$o{httpHeader}->('application/json').encode_json({ status => "error", msg => $err }));
}
return undef;
}
}
sub on_open {
my (
package CGI::OptimalQuery::LoadSearchTool;
use strict;
use JSON::XS();
use CGI::OptimalQuery::Base();
sub escapeHTML { CGI::OptimalQuery::Base::escapeHTML(@_) }
sub load_default_saved_search {
my
loadCSV href=#>CSV (Excel)</a>,
<a class=OQDownloadHTML href=#>HTML</a>,
<a class=OQDownloadJSON href=#>JSON</a>,
<a class=OQDownloadXML href=#>XML</a>";
}
sub activate {
my ($o) = @_;
$$o{schema
initialized redefine );
use CGI();
use Carp('confess');
use POSIX();
use DBIx::OptimalQuery;
use JSON::XS;
# some tools that OQ auto activates
use CGI::OptimalQuery::ExportDataTool();
use CGI::Optim
ry::InteractiveQuery',
'XML' => 'CGI::OptimalQuery::XML',
'JSON' => 'CGI::OptimalQuery::JSON',
'InteractiveQuery2' => 'CGI::OptimalQuery::InteractiveQuery2',
'Intera