package GKTOOLS::Images;

use Exporter;
@ISA = "Exporter";
#@EXPORT = qw(getImageLink);
@EXPORT = qw(getImageLink printImage);
$VERSION = "1.0";
use strict;
use CGI qw(param);
use CGI::Carp qw(fatalsToBrowser);

BEGIN{
	sub carp_error{
		my $msg=shift;
		my $q = new CGI;
		my $discard_this = $q->header("text/html");
		print "Error:<br> $msg";
		# &error($q, $msg);
	}
	CGI::Carp::set_message(\&carp_error);
}
sub error{
	my ($q, $msg)=@_;
	print $q->header("text/html"),
		$q->start_html("Error"),
		$q->h1("Error"),
		$q->p("Sorry, the following error has ocurred: "),
		$q->p($q->i($msg)),
		$q->end_html;
	exit;

}

1;

################## getImageLink($item, $table, $type)
sub getImageLink{
	my $item = $_[0];
	my $table = $_[1];
	my $type = $_[2];
	my $formPath = $_[3];

	if((length($item)<1) || (length($table)<1)){return "";}
	else{
		my $content = "$formPath?ACTION=VIEW_ONE_IMAGE_MANAGER&ITEM=$item&TABLE=$table&ITEM_TYPE=$type";
		return $content;
	}
}


sub printImage{

	my($item) = $_[0];
	my($item_type) = $_[1];
	my($table) = $_[2];
	my($dbh) = $_[3];

	#my($item) = param('ITEM');
	#my($item_type) = param('ITEM_TYPE');
	#my($table) = param('TABLE');

	my $sql_statement="";
	if(lc($item_type) eq "other"){
		$sql_statement = "SELECT other_image,other_image_type FROM $table WHERE id=?"; # get all records
	} # other image
	else{
		$sql_statement = "SELECT image,image_type FROM $table WHERE id=?"; # get all records
	} # regular image


	my $out = $dbh->prepare($sql_statement);
	$out->execute($item);
	my $error = $out->errstr;
	if ($error){ return "Error selecting records from table[$table]{code 0}\n$error";	}
	my $totalRows = $out->rows;	# get the number of rows found

	# nothing found
	if($totalRows<1){print "Currently there are no records from table[image_manager].{code 1}";	}

	my @row = $out->fetchrow_array;

	print "Content-type: $row[1]\n\n"; # print image HEADER

	binmode STDOUT;
	print $row[0]; # print  image
}


