#!/usr/bin/perl

use strict;
use CGI;

use Opals::Context;
use Opals::Constant;
use Opals::Template qw(
    tmpl_read
    tmpl_write
);
use Opals::Pathfinder qw(
    pf_add
    pf_save
    pf_delete
    pf_addBookRs
    pf_addWebRs
    pf_getRecById
    pf_getSubjectAreaList
    pf_parsePfXml
);
use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use Opals::Date qw(
    date_f005
);

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

my $cgi = CGI->new;
my $input = $cgi->Vars();
my ($permission, $cookieList, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'pf/pfEditor.tmpl',
        reqPermission   => 'pf',
    }
);
#=====================================================================================
    # Fri, Jun 17, 2011 @ 11:26:24 EDT
    # ADD OPTIONS display/hide iten circ stat and bookcover  (circStats & bookCover)
    # ADD fields :author, audience, created date, XML  => Change TABLE pf_record 
    #  ALTER table  pf_record ADD  `audience` varchar(255) character set latin1 default NULL      
    #  ALTER table  pf_record ADD  `xml` text      
  
    # ADD WORKSHEET resource 
    # ADD  FILE_ICON in module: Contant.pm
    # FILES (new):  drag_drop.js 
    #               /script/pfConversion
    #               /bin/pf/getPfXml
    #               /bin/pf/pfPrint 
    # 
    #               /htdocs/theme/opals/pf/pfContHTML.inc
    #               /htdocs/theme/opals/pf/pfEditorDragDrop.inc
    #               /htdocs/theme/opals/pf/pfPrint.tmpl
    #               /htdocs/theme/opals/pf/pfRsBlock.inc
    # 
    
    #               /bin/util/uploadFile 
    #               /module/Opals/Constant.pm            
    #               /module/Opals/Pathfinder.pm            
    #               /module/Opals/RecordInfoHTML.pm            
    #                
    #               All of files in PATHFINDER directory
    # 
#=====================================================================================


my $pf;
my $dateToday = date_f005();
   $dateToday =~ s/([\d]{4})([\d]{2})([\d]{2})[\d]+\.(0|1)/$1-$2-$3/;
      
if ($permission && $permission->{'pf'}) {
   my $pfId     = $input->{'pfId'};
   my $op       = $input->{'op'};
   if($op eq 'save'){
      $pfId = pf_save($dbh,$input->{'xml'});
   }
   elsif($op eq 'clone'){
        $template->param(clonePf=>1);   
   }
   $template->param(pfId=> $pfId);             
}
else {
    my @form_input;
    foreach my $param (keys %{$input}) {
        push @form_input, {name =>"$param",value => "$input->{$param}"};
    }
    $template->param(
        input=>\@form_input,
    );
}

my $fileIconMap=[];
my $fiMap =FILE_ICON;
foreach my $ext(keys %$fiMap){
    push @$fileIconMap,{ext=>$ext, icon=>$fiMap->{$ext}};
}
$template->param( fileIconMap => $fileIconMap,
                  hlpUrl      => Opals::Constant->getHlpUrl('pfList')
                  );


#Tue, Jan 12, 2010 @ 10:31:41 EST
my $msgValMap ={};
my $msgMap            =loc_getMsgFile('util/pathfinder.msg',$msgValMap);
loc_write($template,$msgMap);

tmpl_write($dbh, $cgi, $cookieList, $template);


