#!/usr/bin/perl -w

#use utf8;
use strict;
use CGI;
#use Text::CSV::Unicode;
use Text::CSV_XS;

use Opals::Context;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);

use Opals::User qw(
    user_LoadCategory
    user_currentUser
);
use Opals::Date qw(
    date_parse
);

use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use JSON;

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

my $cgi = CGI->new;
my $input = $cgi->Vars();
#my $op = $input->{'op'};
my ($permission, $cookie, $template) = tmpl_read(
        {
            dbh             => $dbh,
            cgi             => $cgi,
            tmplFile        => 'user/import.tmpl',
            reqPermission   => 'user_add',
        }
);
#-------------------------------------------------------------------------------
# Get id of importer
my ($errCode, $ck, $currentUser) = user_currentUser($dbh, $cgi);
#------------------------------------------------------------------------------
my $formType="k_12";
my $pref = tmpl_preference($dbh);

my $libType = $pref->{'libraryType'} || 'k-12';
if($libType eq 'public'){
    $formType="public";
}
elsif($libType eq 'academy'){
    $formType="academy";
}
$template->param(uid => $currentUser->{'uid'},"$formType"=>1,libType=>$libType);


#--------------------------------------------------------------------------------
my ($saveMapping,$fieldsMapSave)=getPrefMap($dbh);
$template->param(fieldsMapSave =>$fieldsMapSave,
                 saveMapping   =>$saveMapping);

#--------------------------------------------------------------------------------
sub getPrefMap(){
    my ($dbh)=@_;
    my $mapObj={};

    my ($saveMapping)=$dbh->selectrow_array("select val from opl_preference where var='iuset'");
    my ($fieldsMapSave)=$dbh->selectrow_array("select val from opl_preference where var='iumap'");
    if(!defined $saveMapping || $saveMapping eq ''){
        $saveMapping=1;
    }
    if($fieldsMapSave !~ m/{/){

        my @arr=  split(",",$fieldsMapSave);
        my $len= scalar(@arr);
        if($len >1 && $len%2==0){
            for(my $i=0;$i<$len;$i+=2){
                 $mapObj->{@arr[$i]}=@arr[$i+1];
            }
             $fieldsMapSave=to_json($mapObj);
        }
        else{
            $mapObj->{'firstname'}="firstname";
            $mapObj->{'lastname'}="lastname";
        }
        $fieldsMapSave=to_json($mapObj);

    }

    return ($saveMapping,$fieldsMapSave);
}

#--------------------------------------------------------------------------------
my $msgValMap ={};
my $fileMsgMap            =loc_getMsgFile('user/userInfo.msg',$msgValMap);

loc_write($template,$fileMsgMap);
$template->param(hlpUrl     => Opals::Constant->getHlpUrl('import_user') );
$template->param(importUser => 1);

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


#----------------------------------------------------------------------------------
__END_OF_FILE:
