#!/usr/bin/perl

#use utf8;
use strict;
use CGI;
use MIME::Base64::Perl;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);
use Opals::Context;
use Opals::Constant;
my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi = CGI->new;
my $input = $cgi->Vars();
use  Opals::User qw(
    user_currentUser
    );
use Opals::Utility qw(
    util_resizeImg
);
use XML::SAX;
use JSON;

my $mimeTypeList={
        'jpg'       => 'image/jpeg',
        'gif'       => 'image/gif',
        'jpeg'      => 'image/jpeg',
        'png'       => 'image/png'
};


my $fileName= $input->{'file'};
my $uid     = $input->{'uid'}||0;

#if ($permission && $permission->{'user_add'} && $fname ne '') {
    my($mimeType,$imgData)=getImg(); 
    my $id= saveUserImg($dbh,$uid,'',$mimeType, $imgData,'');
    print "Content-type: text/plain\n\n";
    print  encode_json({id=>$id});
   
   my $str=encode_json({id=>$id});


    #-------------------------------------------------------------
    sub saveUserImg{
        my ($dbh,$uid,$userbarcode,$mimeType, $imgData,$fileName) = @_;
        my $sql = "replace into  opl_userImg
                          set    uid =?,userbarcode=?,  mimeType  =?,
                                 thumbnail =?,fileName  =?";
        my $sth = $dbh->prepare($sql);
        my $rv = $sth->execute($uid,$userbarcode,$mimeType, $imgData,$fileName);
        $sth->finish;
        my $id=$dbh->{'mysql_insertid'};
        return ($rv eq '0E0') ? 0 : $id ;
      
    }
    #-------------------------------------------------------------
    sub getImg{
        my $upload_filehandle = $cgi->upload("file"); 
        my $img="";    
        while(<$upload_filehandle>) {
            $img .= $_;
        }
        $img = util_resizeImg($img,100,125);

        my $fileExtension =  $fileName;
           $fileExtension =~ s/.*\.([\w\-]+)$/$1/;
           $fileExtension =  lc($fileExtension);

        return ($mimeTypeList->{$fileExtension},$img);
    }

    
#}

