#!/usr/bin/perl

# ADDED BY VICTOR 

#use strict;
use warnings;
use CGI::Carp qw (fatalsToBrowser); # TO SHOW ERRORS ON PAGE

# THIS SCRIPT IS USED TO SET BASE FOLDER _ FOR NEW SERVER UBUNTU LINUX PLESK
use FindBin qw( $RealBin );
use lib $RealBin;

# END ADDED BY VICTOR

# ORIGINAL TW SCRIPT

use twenv;

use catalogo;
use carrello;
use Date::Manip;
use XML::Simple;

$libpath="../libapp/tw3lib/";
require $libpath . "4multilib35.lib";
require $libpath . "cgi-lib.lib";
require $libpath . "4perfecttools42.lib";
require $libpath . "4cookiemanager.lib";
require $libpath . "4guardian22.lib";
require $libpath . "tway_generic.lib";
require $libpath . "admin_generic.lib";

&ReadParse(*form);
$explorer = new CatalogoDinamico();
$twaycart = new CarrelloVirtuale();

&caricaconfigurazione($libpath,'admin_main',*configvar,*params,'',*secureconf);
$session{ticket}=&webguard4(*explorer,*secureconf,*form,$configvar{scriptname_homepage},$configvar{passwordtemplate},*params);

print &headerpl;

&getuserinfofromticket($session{ticket},*secureconf,*session);
&caricaconfigurazione($libpath,'admin_sub',*configvar,'',*session,'',*messaggi);


###################################################### MAIN ######################################################

&componiarrayparametriadmin(*explorer,*twaycart,'home',*form,*querypar,*errori,*messaggi,*session,*configvar);

# http://www.mediatemple.net/demonstrations/ss/webcontrol/main.html?ocw_login_username=administrator&ocw_login_password=********&Login=Login

$html=&getfile(&templatename('home',$configvar{templatedir},$querypar{layout_lingua},$querypar{utente_profilo}));
$html=&verificadirittiadmin(*explorer,$html,'',*damostrare,*querypar,*errori,*messaggi,*configvar);
&controllaerroriutente(*explorer,*errori,&templatename('errore',$configvar{templatedir},$querypar{layout_lingua},$querypar{utente_profilo}),*params);

if (($querypar{sessione_idoggetto}) || ($querypar{sessione_idpacchetto}))
	{
	#controlla che il codice sia valido ed estrae i dati complementari
	($querypar{sessione_tipooggetto},$querypar{sessione_nomeoggetto})=&verificaselezioneoggetto(*explorer,*querypar,'',*configvar,*errori,*messaggi);
	# crea dei problemi ogni tanto... si innesca impedendo l'accesso all'home?!
	# if ($querypar{sessione_tipooggetto} eq '') { &killcgi();}
	if ($querypar{comando_selezioneoggetto})
		{
		$querypar{preferenze_tipooggetto}=$querypar{sessione_tipooggetto};
		}
	}
if ($querypar{comando_selezioneoggetto})
	{
	push(@damostrare,'messaggioupdate');
	}

if ($querypar{utente_tipo} eq 'M')
	{
	# master
	$isoprofili=&caricalista(*explorer,'AP','profilo',*querypar,*configvar);
	$params{listbox_profili}=&isomenoztolistbox($isoprofili,"*f <ele_valorec>","&raquo; <ele_des>","'*f <ele_valorec>' eq '$querypar{preferenze_filtrokwd}'");
	$isoagenzie=&caricaisoagenti(*explorer,*configvar,'A','');
	$params{listbox_gruppi}=&isomenoztolistbox($isoagenzie,"*g <age_id>","&raquo; <age_nome>","'*g <age_id>' eq '$querypar{preferenze_filtrokwd}'");
	$isoagenzie=&caricaisoagenti(*explorer,*configvar,'C','');
	$params{listbox_corrispondenti}=&isomenoztolistbox($isoagenzie,"*c <age_id>","&raquo; <age_nome>","'*c <age_id>' eq '$querypar{preferenze_filtrokwd}'");
	}
elsif ($querypar{utente_tipo} eq 'A')
	{
	# gruppo
	$isoagenzie=&caricaisoagenti(*explorer,*configvar,'C',$querypar{utente_idagenzia});
	$params{listbox_corrispondenti}=&isomenoztolistbox($isoagenzie,"*c <age_id>","&raquo; <age_nome>","'*c <age_id>' eq '$querypar{preferenze_filtrokwd}'");
	$params{listbox_profili}='';
	$params{listbox_gruppi}='';
	$querypar{preferenze_idagenzia}=$querypar{utente_id};
	}
elsif ($querypar{utente_tipo} eq 'C')
	{
	# corrispondente
	$querypar{preferenze_idcorrispondente}=$querypar{utente_id};
	$params{listbox_corrispondenti}='';
	$params{listbox_profili}='';
	$params{listbox_gruppi}='';
	}

if ($querypar{preferenze_tipooggetto} ne '')
	{
	push(@damostrare,'ricerca-header');
	push(@damostrare,'ricerca-filtri');
	}
else
	{
	push(@damostrare,'intro');
	}

if ($querypar{preferenze_tipooggetto} ne '')
	{
	$isooggetti=&ricercaoggettiagente(*explorer,*querypar,*configvar);

	if (&isomenozpieno($isooggetti))
		{
		$html=&popolamultilivellofx(*explorer,$html,'listaoggetti',$isooggetti,'',0,'ogg_gruppo','ogg_id');
		push(@damostrare,'ricerca-lista');
		}
	else
		{
		push(@damostrare,'ricerca-listavuota');
		}
	$querypar{layout_contestomenu}='home-' . $querypar{preferenze_tipooggetto};
	}
else
	{
	$querypar{layout_contestomenu}='home';
	}

($params{layout_helplink},$isomenu)=&caricamenuprocedure(*explorer,*querypar,*configvar);

$html=&popolamultilivellofx(*explorer,$html,'menulaterale',$isomenu,'',0,'mnu_gruppo','mnu_label');
$html=&popolamultilivellofx(*explorer,$html,'menucentrale',$isomenu,'menucentralecol',5,'mnu_gruppo','mnu_label');

$params{utente_nomeaccesso}=uc($messaggi{"nomeaccesso_$querypar{utente_tipo}"});
$params{preferenze_tipooggettodes}=lc($messaggi{"nomeoggetto_$querypar{preferenze_tipooggetto}"});
$params{preferenze_tipooggettodesplu}=uc($messaggi{"nomeoggettoplu_$querypar{preferenze_tipooggetto}"});
$params{utente_nome}=uc($querypar{utente_nome});
$params{sessione_nomeoggetto}=uc($querypar{sessione_nomeoggetto});
$params{sessione_tipooggetto}=$querypar{sessione_tipooggetto};
$params{layout_contestomenu}=$querypar{layout_contestomenu};
$params{preferenze_tipooggetto}=$querypar{preferenze_tipooggetto};
$params{preferenze_insegnades}=$querypar{preferenze_insegnades};

$html=&mostrasezioni($html,@damostrare);
$html=&popolatemplateconparametri(*explorer,$html,*params);
$html=&eliminavaloriassenti($html,'SEG','FSEG','CLEARSECTION');
print $html;