# installupd-lib.pl
# STTA Rev. 1.3 Copyright (c) 2001-2004 Jesús Pérez Lorenzo --- license GNU GPL
# stta: (@#) 1.31051043346- [2004_01_29_102036]
# Common functions for Install / update
sub out_javascript
{
print "\n";
print "\n";
}
sub out_initJS
{
print "\n";
}
sub out_head_instupd
{
print "
\n";
print " ";
print " \n";
if ( $task eq "" ) {
print "$text{installupd_title}
| \n";
} else {
print "$text{$task}\n";
}
print " ";
if ( $STTA_LOCK eq 1 ) {
print "(".$text{mode_run}.")";
} else {
print "(".$text{mode_browse}.")";
}
print " | \n";
}
sub head_lock_button
{
if ( $button_lock eq 1 ) { return }
$opLock="unlockstta";
if ( $STTA_LOCK eq 0 ) { $opLock="lockstta"; }
$opLock_msg=$opLock,"_msg";
print "\n";
print " | \n";
$button_lock=1;
}
#To set $tdone and ruleHash
sub set_hashes_rules
{
if ( $task eq "" ) { return };
my $task_proc = $task."_proc";
my $task_steps = $task."_steps";
my $task_brand = $task."_brand";
$rulesHash{'proc'}=$rules{$task_proc};
if ( defined($rules{$task_brand} ) ) { $rulesHash{'brand'}=$rules{$task_brand};}
my @ruleline = split(/,/,$rules{$task},-1);
my @tdoneline = split(/,/,$tdone,-1);
my @stepsline = split(/,/,$rules{$task_steps},-1);
if ( $tdone eq "" ) {
$tdone="";
for ( $i = 0 ; $i < $#ruleline ; $i++ ) { $tdone.= "0,"; }
$tdone.= "0";
}
@tdoneline = split(/,/,$tdone,-1);
$i=0;
foreach $r (@ruleline) {
$rulesHash{$r}=$stepsline[$i].":".$tdoneline[$i];
if ( $r eq "lockstta" && $nextStep eq $r && $STTA_LOCK eq 1 && $StepCheck eq "" ) {
my @lineStep = split(/:/,$rulesHash{$r},-1);
$nextStep=$ruleline[$i+1];
$rulesHash{$r}=$lineStep[0].":".$lineStep[1]++;
};
$i++;
}
$rulesHash{'ntask'}=$i;
if ( $nextStep eq "" ) {
$nextStep=$ruleline[0];
if ( $ruleline[0] eq "lockstta" && $STTA_LOCK eq 1 ) { $nextStep=$ruleline[1] };
}
if ( $Step eq "" ) {
$Step=$ruleline[0];
if ( $ruleline[0] eq "lockstta" && $lockDo eq "lockstta" ) {
my @lineStep = split(/:/,$rulesHash{'lockstta'},-1);
$rulesHash{'lockstta'}=$lineStep[0].":".$lineStep[1]++;
$Step=$ruleline[1];
};
}
}
# To track visited links !!! and set Step & nextStep
sub check_visit_tasks
{
my @ruleline = split(/,/,$rules{$task},-1);
my @lineStep =();
$tdone="";
$i=0;
foreach $r (@ruleline) {
my @lineStep = split(/:/,$rulesHash{$r},-1);
if ( $Step eq $r ) {
if ( $StepCheck eq "" ) {
if ( $Step eq $nextStep ) { $nextStep=$ruleline[$i+1]; }
$lineStep[1]++;
}
}
$tdone.= $lineStep[1].",";
$rulesHash{$r}=$lineStep[0].":".$lineStep[1];
$i++;
}
}
sub make_steps_tables
{
my @statStep =();
my @ruleline = split(/,/,$rules{$task},-1);
my $newLine=0;
my $jsString="";
my $langf="";
local $help="";
print " |
\n";
print "\n";
print " $text{menu} $text{$task} | \n";
print " | | \n";
&close_form_hidden();
print "\n";
print " $text{info} $text{$Step} | \n";
print " \n";
print "\n";
# First try info files for particular $task/tmp/info .. if got it.. last
# Second try info files order for global $task/info.. if got it ... last
$infoTmpDirInstall= "$DirInstall/tmp/info";
$infoDirInstall= "$DirInstall/info";
$langf="$infoTmpDirInstall/$Step.html";
if ( ! -r $langf ) {
$langf="$infoDirInstall/$Step.html";
if ( ! -r $langf ) { $langf=""; }
}
# foreach $l (@lang_order_list) {
# $langf="$infoTmpDirInstall/$l/$Step.html";
# if ( -r $langf ) { last; };
# $langf="$infoDirInstall/$l/$Step.html";
# if ( -r $langf ) { last; };
# $langf="";
# }
if ( $langf ) {
unless ( open(INDEXPAGE,$langf) ) { &write_help_info_file($langf,$Step) }
my @ary = ;
close INDEXPAGE;
foreach $line (@ary) { $help.=$line; }
}
if ( $help ) { &make_help_html(); }
if ( $help ) {
$help =~s///g; $help =~s///g;
$help =~s/<\/BODY>//g; $help =~s/<\/body>//g;
$help =~s///g; $help =~s///g;
$help =~s/<\/HTML>//g; $help =~s/<\/html>//g;
# split html to find href and changes to window.open
# This is hard work ... probably there is an other easier way to do it
@thisline=split(/href=/, $help, -1);
my $outline="$thisline[0]";
for ( $i = 1 ; $i <= $#thisline ; $i++ ) {
@wordline=split(/"/, $thisline[$i], -1);
$outline.= " onclick=\" window.open('$wordline[1]','help',".
"'toolbar=no,menubar=no,scrollbars=yes,".
"width=$config{help_width},height=$config{help_heigth},resizable=yes'); return false\" ".
" class='menu1' href=\"$wordline[1]\" ";
$restLine=$thisline[$i];
$restLine=~s/"$wordline[1]"//;
$outline.=$restLine;
}
print "$outline";
}
print " | \n";
print " | | \n";
print "\n";
print " |
\n";
print " $text{help}: $text{'index_installupd'} | \n";
print " \n";
print "$text{menu} | ";
print "".&text('menu_panel',$text{$task})." | \n";
print "$text{info} | ";
print "".&text('info_panel',$text{$Step})." | \n";
print "$text{run} | ";
print "".&text('run_panel',$text{$Step})." | \n";
print "$text{help} | ";
print "".&text('help_panel',$text{'index_installupd'})." | \n";
print "$text{black_line} | ";
print "$text{step_runonce} | \n";
print "$text{this_colorline}";
print " | $text{step_current} | \n";
print "($text{'visited'} N) | ";
print "$text{'nro_visited'} | ";
print " | ";
print "$text{step_next} -- ($text{nextstep}) | \n";
print " | ";
print "$text{steps_done} -- ($text{done}) | \n";
print "";
print "$text{note} | $text{help_msg1} | \n";
print " | |
\n";
print "\n";
print "\n";
print "\n";
}
sub hrefwin
{
return "