[set page_title]Direct SQL Query[/set] [set ui_class]Admin[/set] [set page_banner]Direct SQL Query[/set] [set page_perm]super[/set] [set help_name]table.direct_sql[/set] [set icon_name]icon_config.gif[/set] [seti ui_body_extra][/seti] @_UI_STD_HEAD_@ [tmp is_super][if-mm super]1[/if-mm][/tmp] [calc] delete $CGI->{list}; delete $CGI->{html}; $Scratch->{message} = ''; delete $Scratch->{update_message}; if ($CGI->{clear_query_buffer}) { delete $Session->{x_query_buffer}; return; } unless ($sql = $CGI->{sql}) { $CGI->{sql} = "select * from $CGI->{mv_data_table}" if $CGI->{mv_data_table}; return; } my $extra = ''; $sql =~ s/^\s+//; $sql =~ s/\s+$//; if($sql =~ /^select\s+.*?\s+from\s+(\w+)/i) { $CGI->{mv_data_table} = $1; delete $CGI->{rc}; delete $CGI->{list}; $CGI->{html} = 1; # $Scratch->{message} = qq{ # Rows selected by query: #
$sql# }; } else { if($sql =~ /^update\s+(\w+)/i) { $Scratch->{update_message} = 'UPDATED'; } elsif($sql =~ /^delete\s+from\s+(\w+)/i) { $Scratch->{update_message} = 'DELETED'; } elsif($sql =~ /^insert\s+into\s+(\w+)/i) { $Scratch->{update_message} = 'INSERTED'; } else { $Scratch->{update_message} = 'UNKNOWN OPERATION'; } my $flagtab = $1; if($Scratch->{is_super}) { $Tag->flag( { type => 'write', table => $flagtab }); } else { $extra = "(May fail on write-controlled table, not admin superuser)"; } $CGI->{rc} = 1; delete $CGI->{html}; $CGI->{list} = 1; # $Scratch->{message} = qq{ # Rows updated by query: #
$sql# }; } $Scratch->{message} =~ s/\r?\n/