######################################################
### Script zur autom. Generierung d. Systemdienste ###
### by Nicolas Huckert ###
### Datum: 10.11.2010 ###
######################################################
use strict;
use Imperia::LowLevel::SystemConf qw(%SYSTEM_CONF);
# Laufvariablen
my $file;
my $directory;
my $filename;
my $title;
my $savepage;
my $moreTime=0;
my $dbupdate;
my $verifydir;
my $template;
# Feste Variablen
my $savefile;
my $time = time();
my @verzeichnisse = qw(dh rogesa zks);
my @sprachversion = qw(de fr en);
foreach my $wurzelverzeichnis (@verzeichnisse)
{
# Savefile deklarieren
$savefile = $SYSTEM_CONF{'SITE-DIR'} . "/config/" .$wurzelverzeichnis. ".schedule";
open (SCHEDULE, "> $savefile") or die "Konnte die Datei $savefile nicht oeffnen\n";
print SCHEDULE "# system scheduled services for " . uc($wurzelverzeichnis) ."\n";
foreach my $language (@sprachversion)
{
clearlist();
my $einleseVerzeichnis = "/" .$wurzelverzeichnis. "/administration/siteactives";
my $mask = "index\.shtml\." . $language ."\$";
filemask($mask);
ireaddir($einleseVerzeichnis);
foreach $file (@FILELIST)
{
$directory = $FILE_META_INFO{$file}->getValues('directory');
$filename = $FILE_META_INFO{$file}->getValues('filename');
if ($directory ne $einleseVerzeichnis)
{
$savepage = "";
$title = $FILE_META_INFO{$file}->getValues('title');
$savepage = $FILE_META_INFO{$file}->getValues('savepage');
$dbupdate = $FILE_META_INFO{$file}->getValues('basedir');
$verifydir = $FILE_META_INFO{$file}->getValues('verifydir');
if ($savepage)
{
print SCHEDULE $time+$moreTime .' DESCR="'.$title.' '. uc($language).'"'."\n";
print SCHEDULE $time+$moreTime .":dayzone=daily:timezone1=00:timezone2=00:";
if ($dbupdate) {
print SCHEDULE "DBUPDATE=".$dbupdate.":";
} else {
print STDERR "[SiteActive erzeugen] DBUPDATE fehlt bei Dienst $title ($directory)\n";
}
print SCHEDULE "TEMPLATE=".$directory."/".$filename.":";
print SCHEDULE "SAVEPAGE=".$savepage."/".$filename.":";
if ($verifydir) {
print SCHEDULE "VERIFY=".$verifydir.",!". $savepage."/index.shtml.de". ",!". $savepage."/index.shtml.fr".",!". $savepage."/index.shtml.en";
} else {
print STDERR "[SiteActive erzeugen] VERIFY fehlt bei Dienst $title ($directory)\n";
}
print SCHEDULE "\n";
$moreTime = $moreTime - 10;
} else {
print STDERR "[SiteActive erzeugen] SAVEPAGE fehlt bei $title ($directory)\n";
}
}
}
}
close SCHEDULE or die "Konnte Datei $file nicht schliessen\n";
print "Savefile: ".$savefile." erzeugt!
";
}