PAL.C.T MINI SHELL
#!/usr/bin/perl
# download.cgi
# Output the contents of a blob field
if (-r 'mysql-lib.pl') {
require './mysql-lib.pl';
}
else {
require './postgresql-lib.pl';
}
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
@str = &table_structure($in{'db'}, $in{'table'});
# Get search and limiting SQL
($search, $searchhids, $searchargs) = &get_search_args(\%in);
$limitsql = &get_search_limit(\%in);
($sortsql, $sorthids, $sortargs) = &get_search_sort(\%in);
$d = &execute_sql($in{'db'},
"select * from "."e_table($in{'table'})." $search $limitsql $sortsql");
# Work out the MIME type based on the data
$data = $d->{'data'}->[$in{'row'}]->[$in{'col'}];
if ($data =~ /^\s*(<!doctype|<html|<head|<title)/i) {
$type = "text/html";
}
elsif ($data =~ /^GIF89/) {
$type = "image/gif";
}
elsif ($data =~ /^\377\330\377\340/) {
$type = "image/jpeg";
}
elsif ($data =~ /^%PDF/) {
$type = "application/pdf";
}
elsif ($data =~ /^[\040-\176\r\n\t]+$/) {
$type = "text/plain";
}
else {
$type = "application/octet-stream";
}
print "Content-type: $type\n\n";
print $data;
�
y���~�or�5�J�={��E��e�u磝Qk��ᯘG{�?���+�]������ן�?w�M3X^��歌>{�7پ�K�>�o��n�\����j�y��R���g/�=��f�O��r�o��NV�v��~�Y+��NG�u���Ý����HW��y�w�[eQ�ʨ�S�b��>������>�}G�mx[o[<��{���Ϯ_��qF���vMIEND�B`�