#!/usr/bin/perl

#use utf8;
use strict;
use CGI;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);
use Opals::Context;
use Opals::Constant;
use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use lib "/www/opals/module";
use Opals::Utility qw(
    util_resizeImg
);
use Opals::Ebook qw(
    eb_addEbook
    eb_saveLicense
    eb_Metadata_Get
    eb_getLicenseList
);
use  Opals::Epub;

my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi = CGI->new;
my $input = $cgi->Vars();
my ($permission, $cookie, $template) = tmpl_read(
        {
            dbh             => $dbh,
            cgi             => $cgi,
            tmplFile        => 'ebook/uploadEbook.tmpl',
            reqPermission   => 'ebook_mgr',
        }
);
use  Opals::Epub;
use XML::SAX;


my $uid       = $template->param('curUserId');
my $fname     = $input->{'epubFile'};
my $bid         = $input->{'bid'};
if ($permission && $permission->{'ebook_mgr'}) {
   my $licId       = $input->{'licId'};
   my $licenseType = ($input->{'licenseType'}) || 'paid';
   if($fname && $fname ne''){
        my $epubFile=getUploadFile();
        $bid = eb_addEbook($dbh,$epubFile);
        my $licInfo={
                bid             => $bid,
                licenseType     => $licenseType,
                noLicense       => $input->{'noLicense'},
                datePurchase    => $input->{'purchaseDate'},
                poNum           => $input->{'poNum'},
                vendor          => $input->{'vendor'},
                startDate       => $input->{'startDate'},
                endDate         => $input->{'endDate'},
                note            => $input->{'note'}
        };

        $licId =eb_saveLicense($dbh,$uid,$licInfo);                         
    }
    if($bid){
        my $metaData = eb_Metadata_Get($dbh,$bid);
        my $licList  = eb_getLicenseList($dbh,$bid);
       
        $template->param(title      =>$metaData->{'title'},
                         author     =>$metaData->{'author'},
                         ISBN       =>$metaData->{'ISBN'},
                         description=>$metaData->{'description'},
                         bookCover  =>$metaData->{'bookCover'},
                         bid        =>$bid,
                         licList    =>$licList
                         
                );
    }

}

#-------------------------------------------------------------
#Thu, Jan 07, 2010 @ 13:50:35 EST
my $msgValMap ={};
my $fileMsgMap            =loc_getMsgFile('ebook.msg',$msgValMap);

loc_write($template,$fileMsgMap);
        
tmpl_write($dbh, $cgi, $cookie, $template);
############################################################
sub getUploadFile{
    umask 002;         
    my $tmpUploadFile=`/bin/mktemp`;
    $tmpUploadFile =~ s/\n$//gi;
    system("chown apache.apache $tmpUploadFile");
    my $upload_filehandle = $cgi->upload("epubFile"); 
    open    UPLOADFILE, ">$tmpUploadFile" ;
    binmode UPLOADFILE;
    while ( <$upload_filehandle> ){
        print UPLOADFILE;
    }
    close UPLOADFILE;
    return $tmpUploadFile;
}



