summaryrefslogtreecommitdiff
path: root/cgi-bin/view
diff options
context:
space:
mode:
Diffstat (limited to 'cgi-bin/view')
-rwxr-xr-xcgi-bin/view51
1 files changed, 26 insertions, 25 deletions
diff --git a/cgi-bin/view b/cgi-bin/view
index f7435f3..6bb55b4 100755
--- a/cgi-bin/view
+++ b/cgi-bin/view
@@ -6,7 +6,7 @@ use feature qw/switch/;
use CGI;
my $IN = new CGI;
-print $IN->header();
+print $IN->header(-type => 'application/json');
our $json = JSON->new->allow_nonref;
my $sql_username = "asdfus";
@@ -72,40 +72,41 @@ sub main{
}
my $res;
- given($params->{f}){
- when(/info/){
+ for($params->{f}){
+ /info/ && do {
unless(defined $params->{id}) { not_specified_error("id"); };
$res = mysql_retrieve('SELECT * FROM shaders WHERE id = ?', $params->{id});
- }
- when(/all/){
+ last;
+ };
+ /all/ && do {
$res = mysql_retrieve('select * from shaders order by id');
- }
- when(/range/){
+ last;
+ };
+ /range/ && do {
unless (defined $params->{limit}){ not_specified_error("limit") };
- if (defined $params->{last}){
- $res = mysql_retrieve(sprintf(' select * from shaders order by id desc limit %s , %s', $param->{last}, $params->{limit}));
- }else{
- $res = mysql_retrieve(sprintf(' select * from shaders order by id desc limit 0 , %s', $params->{limit}));
- }
- }
- when(/history/){
+ $res = mysql_retrieve(' select * from shaders order by id desc limit ? , ?', ($params->{last} || 0), $params->{limit});
+ last;
+ };
+ /history/ && do{
unless(defined $params->{id}) { not_specified_error("id"); };
$res = mysql_retrieve('SELECT * FROM shaders WHERE shader_id = ? order by id', $params->{id});
- }
- when(/username/){
+ last;
+ };
+ /username/ && do{
unless(defined $params->{username}) { not_specified_error("username") };
$res = mysql_retrieve('select * from shaders where username = ?', $params->{username});
- }
- when(/list_users/){
+ last;
+ };
+ /list_users/ && do{
$res = mysql_retrieve('select distinct username from shaders;');
- }
- when(/originals/){
+ last;
+ };
+ /originals/ && do{
$res = mysql_retrieve('select shaders.* from shader_ids cross join shaders on shader_ids.id = shaders.shader_id');
- }
- default {
- response({ ERROR => "Function parameter f improperly defined"}, $callback);
- exit(1);
- };
+ last;
+ };
+ response({ ERROR => "Function parameter f improperly defined"}, $callback);
+ exit(1);
}
response($res, $callback);
}