|
WLAN Anwendungen
#!/usr/bin/perl
#!/usr/local/bin/perl
#########################################################################################
# aconon® cms #
# _ ____ ___ _ #
# __ _ ___ ___ _ __ ___ ___(r) / ___| ___ / __| |_ _ _ __ _ _ __ ___ #
# / _` |/ __|/ _ \| '_ \ / _ \| '_ \ \___ \ / _ \| _|| __/| | _ | |/ _` | '__|/ __\ #
# | (_| | (__| (_) | | | | (_) | | | | ___) | (_) | | | |_ | || || | (_| | | | _| #
# \__,_|\___|\___/|_| |_|\___/|_| |_| |____/ \___/|_| \__| \_____/ \__,_|_| \___/ #
# #
# Copyright © 2001 http://www.aconon.de - all rights reserved - Alle Rechte vorbehalten #
#########################################################################################
# sort=a-z aufsteigend sortiert
# sort=z-a absteigend sortiert
# sort=random zufaellig sortiert
# select=BEGRIFF nur Content-Seiten anzeigen, die BEGRIFF in einem der Select Meta-Tags haben
# selectMeta=METANAME wenn Metatag "select" nicht vorhanden ist, nimm diesen (Beispiel text2)
# max=3 maximal 3 Content-Seiten anzeigen
# alternierend=NAME Abwechselnd anderes aussehen einer Listenzeile
# (ab der zweiten Zeile dieses tpl.NAME.txt)
# nodouble=feld von jeder Content-Seite nur eine mit einem Begriff in diesem Feld anzeigen
# (=1 oder =headline verhindert doppelte Eintraege aus dem Feld text1 oder headline)
# ------------------------------------------------------------------------------------- #
# ----- MAIN
# ------------------------------------------------------------------------------------- #
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
#######################################################################
if($0 !~ /^list\.(cgi|pl)$/i && $0) {
$this_dir = $0;
} elsif($ENV{'SCRIPT_FILENAME'} && $ENV{'SCRIPT_FILENAME'} !~ /cgiwrap/) {
$this_dir = $ENV{'SCRIPT_FILENAME'};
} elsif($ENV{'PATH_TRANSLATED'}) {
$this_dir = $ENV{'PATH_TRANSLATED'};
}
$this_dir =~ s/\/[^\/]*$// && unshift(@INC,"$this_dir");
$this_dir =~ s/\\[^\\]*$// && unshift(@INC,"$this_dir");
#######################################################################
# ACHTUNG KEINE &check_pass; EINBAUEN
# DA DIESES PROGRAMM VOM WEBPAGE-BESUCHER AUFGERUFEN WIRD
require 'module.pm';
loadModules();
use Time::Local; # Time-Modul
&readparam; # read CGI parameters
$cd = "$root/$input{'cd'}";
$ordner = "$url/$input{'cd'}";
$nodouble = $input{'nodouble'}; # nodouble # igg 28.11.2003
$richtung = $input{'sort'};
srand();
$random = $input{'random'};
$only = $input{'select'};
$selMeta = $input{'selectMeta'}; # $selMeta = Metatag, wenn kein Meta "select" vorhanden ist. # mne 04.12.2003
$max = $input{'max'};
if(!$max){$max = 9999}
if (!$input{'tpl'}){
$templatename = "$verz_template/tpl.list.txt";
}else{
$templatename = "$verz_template/tpl.$input{'tpl'}.txt";
}
if(!$dyndat){$dyndat = "shtml";}
opendir(DIR, $cd) or print "$!";
foreach my $entry (readdir(DIR)) {
next if $entry =~ /^\.$/; # um Verz. '.' zu ueberspringen.
next if $entry =~ /^\.\.$/; # um Verz. '..' zu ueberspringen.
next if $entry =~ /^_vti_cnf$/; # um FRONTPAGE Verz. zu ueberspringen.
next if $entry =~ /^.hta/; # um .hta Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.css?$/; # um alle css Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.doc?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.cgi?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.pdf?$/; # um alle pdf Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.xls?$/; # um alle xls Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.txt?$/; # um alle TXT Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.aconon?$/; # um alle aconon Dateien zu ueberspringen.
next if $entry =~ /^noList/; # um Datei die mit noList beginnen zu ueberspringen.
if(!$input{'mitIndex'}){ # zurGams - cgs - 10.05.2005 15:36
next if $entry =~ /^index\./; # um index Datei zu ueberspringen.
}
next if $entry =~ /^lock\./; # um lock Datei zu ueberspringen.
if ($entry !~ /\.htm*/i and $entry !~ /\.shtm*/i and $entry !~ /\.php*/i){$entry .= "/index.$dyndat";}
push(@FILES,"$entry");
}
closedir(DIR);
open(TEMPLATE, "$templatename") or print "$!";
@TEMPLATE = ;
close(TEMPLATE);
if (-f "$verz_template/tpl.$input{'alternierend'}.txt"){ # alternierend # igg 28.11.2003
open(TEMPLATE2, "$verz_template/tpl.$input{'alternierend'}.txt");
@TEMPLATE2 = ;
close(TEMPLATE2);
}else{
@TEMPLATE2 = @TEMPLATE;
}
sub reihenfolge {
if($richtung =~ /^a-z$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a cmp $b;
}elsif($richtung =~ /^z-a/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$b cmp $a;
}elsif($richtung =~ /^folderfirst$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
{-d $b <=> -d $a}; # Erst die Ordner dann die Dateien # igg 08.05.2004
}elsif($richtung =~ /^random$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a <=> $b;
}
}
# Alle Elemente von @input in µinem Hash speichern.
@myhash{@FILES} = ("") x @FILES; # Hash-Slices
# Shuffle-Algorithmus:
while ((@remains) = keys %myhash) {
$myrand = $remains[rand @remains];
push(@output, $myrand);
delete $myhash{$myrand};
}
if ($module{'newsletter'})
{
($teaser_length, $teaser_end) = modNewsletter_Read_Teaserinfo($cd);
}
if (!$teaser_length) { $teaser_length = "300"; }
if (!$teaser_end) { $teaser_end = "[...]"; }
LOOP:
foreach $link (sort reihenfolge @output)
{
$pos++;
$filename = "$cd/$link";
if (-f "$filename")
{
open(INFILE, "$filename") or print "$!";
@INFILE = ;
close(INFILE);
}
$externerlink="";
my %headline;
my %text;
foreach $line (@INFILE)
{
## beim parsen der inhaltszeile muss ich nach dem schon gefundenen vergleichen (ob die gefundene html nummer gleich der meta nummer ist und ob meta schon voll ist)
### headline suchen
if ($line =~ //is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
$headline{$headlinenr} = $2;
}
if(lc($nodouble) eq "headline")
{ # nodouble # igg 28.11.2003
$doppelterText{$2}++;
if($doppelterText{$2} > 1)
{
next LOOP;
}
}
if ($line =~ /(.*)<\/headline(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
if (!$headline{$headlinenr})
{
$headline{$headlinenr} = $2;
}
}
### externer Link suchen
if ($line =~ //is)
{
$externerlink = $1;
}
### text suchen
if ($line =~ //i)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
$text{$textnr} = $2;
if ($selMeta)
{ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
$select{$1} = $2;
}
if($nodouble and $nodouble eq $1)
{ # nodouble # igg 28.11.2003
$dup = "$nodouble,$2";
$doppelterText{$dup}++;
if($doppelterText{$dup} > 1)
{
next LOOP;
}
}
if (-e "$verz_template/csv-daten.csv")
{
open(CSV,"<$verz_template/csv-daten.csv");
while()
{
$_ =~ s/[\n\r]//g;
($artikel,$text) = split(/\;/,$_);
if($text{$1} =~ /:$artikel>/is)
{ # Nur wenn Schluessel absolut identisch!
$text{$1} =~ s/]*)>/$text/gi;
last;
}
}
close(CSV);
}
}
if ($line =~ /(.*)<\/text(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
if (!$text{$textnr})
{
my $Laenge = length($2);
$text{$textnr} = $2;
if ($Laenge > $teaser_length)
{
$text{$textnr} = substr($text{$textnr}, 0, $teaser_length);
}
$text{$textnr} =~ /(.*)\s/is;
$text{$textnr} = $1;
$text{$textnr} .= "$teaser_end";
}
}
### select suchen
if ($line =~ //is)
{
if (!$selMeta)
{
$select{$1} = $2;
}
}
### Image(s) suchen
if ($line =~ /]*)"\s*>/is)
{
$image{$1} = $2;
}
### timer suchen
if ($line =~ /]*)"\s*>/is)
{
($von,$bis) = split(/\-/,$1);
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
}
$i++;} # ende foreach INFILE
# foreach $line (@INFILE) {
# if ($line =~ //is) {
# $headline = $1;
# if(lc($nodouble) eq "headline"){ # nodouble # igg 28.11.2003
# $doppelterText{$1}++;
# if($doppelterText{$1} > 1){
# next LOOP;
# }
# }
# }
# if ($line =~ //is) {
# $externerlink = $1;
# }
# if ($line =~ //i) {
# $text{$1} = $2;
# if ($selMeta){ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
# $select{$1} = $2;
# }
# if($nodouble and $nodouble eq $1){ # nodouble # igg 28.11.2003
# $dup = "$nodouble,$2";
# $doppelterText{$dup}++;
# if($doppelterText{$dup} > 1){
# next LOOP;
# }
# }
# if (-e "$verz_template/csv-daten.csv"){
# open(CSV,"<$verz_template/csv-daten.csv");
# while(){
# $_ =~ s/[\n\r]//g;
# ($artikel,$text) = split(/\;/,$_);
# if($text{$1} =~ /:$artikel>/is){ # Nur wenn Schluessel absolut identisch!
# $text{$1} =~ s/]*)>/$text/gi;
# last;
# }
# }
# close(CSV);
# }
# }
# if ($line =~ //is) {
# if (!$selMeta){
# $select{$1} = $2;
# }
# }
# # Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
# if ($line =~ /]*)"\s*>/is) {
# $image{$1} = $2;
# }
# if ($line =~ /]*)"\s*>/is) {
# ($von,$bis) = split(/\-/,$1);
# ($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
# ($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
# }
# }
if($only){
$ok=0;
foreach $nr (keys (%select)) {
if ($only =~ /$select{$nr}/i){
$ok=1;
last;
}
}
if(! $ok){
next;
}
%select = ""; # BUGFIX # igg 06.11.2003
}
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
$vmonat = $vonmonat - 1;
if($von =~ /^\d\d\.\d\d\.\d\d\d\d/){
$voncheck = timelocal(0, 0, 0, $vontag, $vmonat, $vonjahr);
}else{
$voncheck = 0;
}
&date();
$tag = substr($date,0,2);
$monat = substr($date,3,2) - 1;
$jahr = substr($date,6,4);
$heute = timelocal(0,0,0,$tag,$monat,$jahr);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
$bmonat = $bismonat - 1;
if($bis =~ /^\d\d\.\d\d\.\d\d\d\d/){
$bischeck = timelocal(0, 0, 0, $bistag, $bmonat, $bisjahr);
}else{
$bischeck = 9999999999;
}
if($voncheck <= $heute and $bischeck >= $heute and $anzahl < $max){
$anzahl++;
if($input{'alternierend'} and $alternierend){ # alternierend # igg 28.11.2003
@mtemplate = @TEMPLATE2;
$alternierend = 0;
}else{
@mtemplate = @TEMPLATE;
$alternierend = 1;
}
my $nr;
foreach $mtline (@mtemplate)
{
foreach $nr (keys (%headline))
{
if ($nr == 0)
{
$mtline =~ s//$headline{"0"}/gi;
}
else
{
$mtline =~ s//$headline{$nr}/gi;
}
}
foreach $nr (keys (%text))
{
if ($nr == 0)
{
$mtline =~ s//$text{"0"}/gi;
}
else
{
$mtline =~ s//$text{$nr}/gi;
}
}
if(%image)
{
# Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
foreach $nr (keys (%image))
{
$mtline =~ s//$image{$nr}/gi;
}
}
else
{
$mtline =~ s//\/acononCMS\/upload\/-kein_Bild-.gif/gi;
} # BUGFIX http ohne (:) um auch https zu ermoeglichen # igg 20.11.2003
if($externerlink and ($externerlink =~ m/^http/i or $externerlink =~ m/^ftp:/i or $externerlink =~ m/^mailto:/i)){
$mtline =~ s//$externerlink/gi;
}else{
$mtline =~ s//$ordner\/$link/gi;
}
$mtline =~ s//$pos/gi;
$ausgabe = $ausgabe . $mtline;
}
}
}
&SSI_Functions($ausgabe);
########################################################################################################################
|
#!/usr/bin/perl
#!/usr/local/bin/perl
#########################################################################################
# aconon® cms #
# _ ____ ___ _ #
# __ _ ___ ___ _ __ ___ ___(r) / ___| ___ / __| |_ _ _ __ _ _ __ ___ #
# / _` |/ __|/ _ \| '_ \ / _ \| '_ \ \___ \ / _ \| _|| __/| | _ | |/ _` | '__|/ __\ #
# | (_| | (__| (_) | | | | (_) | | | | ___) | (_) | | | |_ | || || | (_| | | | _| #
# \__,_|\___|\___/|_| |_|\___/|_| |_| |____/ \___/|_| \__| \_____/ \__,_|_| \___/ #
# #
# Copyright © 2001 http://www.aconon.de - all rights reserved - Alle Rechte vorbehalten #
#########################################################################################
# sort=a-z aufsteigend sortiert
# sort=z-a absteigend sortiert
# sort=random zufaellig sortiert
# select=BEGRIFF nur Content-Seiten anzeigen, die BEGRIFF in einem der Select Meta-Tags haben
# selectMeta=METANAME wenn Metatag "select" nicht vorhanden ist, nimm diesen (Beispiel text2)
# max=3 maximal 3 Content-Seiten anzeigen
# alternierend=NAME Abwechselnd anderes aussehen einer Listenzeile
# (ab der zweiten Zeile dieses tpl.NAME.txt)
# nodouble=feld von jeder Content-Seite nur eine mit einem Begriff in diesem Feld anzeigen
# (=1 oder =headline verhindert doppelte Eintraege aus dem Feld text1 oder headline)
# ------------------------------------------------------------------------------------- #
# ----- MAIN
# ------------------------------------------------------------------------------------- #
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
#######################################################################
if($0 !~ /^list\.(cgi|pl)$/i && $0) {
$this_dir = $0;
} elsif($ENV{'SCRIPT_FILENAME'} && $ENV{'SCRIPT_FILENAME'} !~ /cgiwrap/) {
$this_dir = $ENV{'SCRIPT_FILENAME'};
} elsif($ENV{'PATH_TRANSLATED'}) {
$this_dir = $ENV{'PATH_TRANSLATED'};
}
$this_dir =~ s/\/[^\/]*$// && unshift(@INC,"$this_dir");
$this_dir =~ s/\\[^\\]*$// && unshift(@INC,"$this_dir");
#######################################################################
# ACHTUNG KEINE &check_pass; EINBAUEN
# DA DIESES PROGRAMM VOM WEBPAGE-BESUCHER AUFGERUFEN WIRD
require 'module.pm';
loadModules();
use Time::Local; # Time-Modul
&readparam; # read CGI parameters
$cd = "$root/$input{'cd'}";
$ordner = "$url/$input{'cd'}";
$nodouble = $input{'nodouble'}; # nodouble # igg 28.11.2003
$richtung = $input{'sort'};
srand();
$random = $input{'random'};
$only = $input{'select'};
$selMeta = $input{'selectMeta'}; # $selMeta = Metatag, wenn kein Meta "select" vorhanden ist. # mne 04.12.2003
$max = $input{'max'};
if(!$max){$max = 9999}
if (!$input{'tpl'}){
$templatename = "$verz_template/tpl.list.txt";
}else{
$templatename = "$verz_template/tpl.$input{'tpl'}.txt";
}
if(!$dyndat){$dyndat = "shtml";}
opendir(DIR, $cd) or print "$!";
foreach my $entry (readdir(DIR)) {
next if $entry =~ /^\.$/; # um Verz. '.' zu ueberspringen.
next if $entry =~ /^\.\.$/; # um Verz. '..' zu ueberspringen.
next if $entry =~ /^_vti_cnf$/; # um FRONTPAGE Verz. zu ueberspringen.
next if $entry =~ /^.hta/; # um .hta Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.css?$/; # um alle css Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.doc?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.cgi?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.pdf?$/; # um alle pdf Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.xls?$/; # um alle xls Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.txt?$/; # um alle TXT Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.aconon?$/; # um alle aconon Dateien zu ueberspringen.
next if $entry =~ /^noList/; # um Datei die mit noList beginnen zu ueberspringen.
if(!$input{'mitIndex'}){ # zurGams - cgs - 10.05.2005 15:36
next if $entry =~ /^index\./; # um index Datei zu ueberspringen.
}
next if $entry =~ /^lock\./; # um lock Datei zu ueberspringen.
if ($entry !~ /\.htm*/i and $entry !~ /\.shtm*/i and $entry !~ /\.php*/i){$entry .= "/index.$dyndat";}
push(@FILES,"$entry");
}
closedir(DIR);
open(TEMPLATE, "$templatename") or print "$!";
@TEMPLATE = ;
close(TEMPLATE);
if (-f "$verz_template/tpl.$input{'alternierend'}.txt"){ # alternierend # igg 28.11.2003
open(TEMPLATE2, "$verz_template/tpl.$input{'alternierend'}.txt");
@TEMPLATE2 = ;
close(TEMPLATE2);
}else{
@TEMPLATE2 = @TEMPLATE;
}
sub reihenfolge {
if($richtung =~ /^a-z$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a cmp $b;
}elsif($richtung =~ /^z-a/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$b cmp $a;
}elsif($richtung =~ /^folderfirst$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
{-d $b <=> -d $a}; # Erst die Ordner dann die Dateien # igg 08.05.2004
}elsif($richtung =~ /^random$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a <=> $b;
}
}
# Alle Elemente von @input in µinem Hash speichern.
@myhash{@FILES} = ("") x @FILES; # Hash-Slices
# Shuffle-Algorithmus:
while ((@remains) = keys %myhash) {
$myrand = $remains[rand @remains];
push(@output, $myrand);
delete $myhash{$myrand};
}
if ($module{'newsletter'})
{
($teaser_length, $teaser_end) = modNewsletter_Read_Teaserinfo($cd);
}
if (!$teaser_length) { $teaser_length = "300"; }
if (!$teaser_end) { $teaser_end = "[...]"; }
LOOP:
foreach $link (sort reihenfolge @output)
{
$pos++;
$filename = "$cd/$link";
if (-f "$filename")
{
open(INFILE, "$filename") or print "$!";
@INFILE = ;
close(INFILE);
}
$externerlink="";
my %headline;
my %text;
foreach $line (@INFILE)
{
## beim parsen der inhaltszeile muss ich nach dem schon gefundenen vergleichen (ob die gefundene html nummer gleich der meta nummer ist und ob meta schon voll ist)
### headline suchen
if ($line =~ //is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
$headline{$headlinenr} = $2;
}
if(lc($nodouble) eq "headline")
{ # nodouble # igg 28.11.2003
$doppelterText{$2}++;
if($doppelterText{$2} > 1)
{
next LOOP;
}
}
if ($line =~ /(.*)<\/headline(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
if (!$headline{$headlinenr})
{
$headline{$headlinenr} = $2;
}
}
### externer Link suchen
if ($line =~ //is)
{
$externerlink = $1;
}
### text suchen
if ($line =~ //i)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
$text{$textnr} = $2;
if ($selMeta)
{ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
$select{$1} = $2;
}
if($nodouble and $nodouble eq $1)
{ # nodouble # igg 28.11.2003
$dup = "$nodouble,$2";
$doppelterText{$dup}++;
if($doppelterText{$dup} > 1)
{
next LOOP;
}
}
if (-e "$verz_template/csv-daten.csv")
{
open(CSV,"<$verz_template/csv-daten.csv");
while()
{
$_ =~ s/[\n\r]//g;
($artikel,$text) = split(/\;/,$_);
if($text{$1} =~ /:$artikel>/is)
{ # Nur wenn Schluessel absolut identisch!
$text{$1} =~ s/]*)>/$text/gi;
last;
}
}
close(CSV);
}
}
if ($line =~ /(.*)<\/text(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
if (!$text{$textnr})
{
my $Laenge = length($2);
$text{$textnr} = $2;
if ($Laenge > $teaser_length)
{
$text{$textnr} = substr($text{$textnr}, 0, $teaser_length);
}
$text{$textnr} =~ /(.*)\s/is;
$text{$textnr} = $1;
$text{$textnr} .= "$teaser_end";
}
}
### select suchen
if ($line =~ //is)
{
if (!$selMeta)
{
$select{$1} = $2;
}
}
### Image(s) suchen
if ($line =~ /]*)"\s*>/is)
{
$image{$1} = $2;
}
### timer suchen
if ($line =~ /]*)"\s*>/is)
{
($von,$bis) = split(/\-/,$1);
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
}
$i++;} # ende foreach INFILE
# foreach $line (@INFILE) {
# if ($line =~ //is) {
# $headline = $1;
# if(lc($nodouble) eq "headline"){ # nodouble # igg 28.11.2003
# $doppelterText{$1}++;
# if($doppelterText{$1} > 1){
# next LOOP;
# }
# }
# }
# if ($line =~ //is) {
# $externerlink = $1;
# }
# if ($line =~ //i) {
# $text{$1} = $2;
# if ($selMeta){ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
# $select{$1} = $2;
# }
# if($nodouble and $nodouble eq $1){ # nodouble # igg 28.11.2003
# $dup = "$nodouble,$2";
# $doppelterText{$dup}++;
# if($doppelterText{$dup} > 1){
# next LOOP;
# }
# }
# if (-e "$verz_template/csv-daten.csv"){
# open(CSV,"<$verz_template/csv-daten.csv");
# while(){
# $_ =~ s/[\n\r]//g;
# ($artikel,$text) = split(/\;/,$_);
# if($text{$1} =~ /:$artikel>/is){ # Nur wenn Schluessel absolut identisch!
# $text{$1} =~ s/]*)>/$text/gi;
# last;
# }
# }
# close(CSV);
# }
# }
# if ($line =~ //is) {
# if (!$selMeta){
# $select{$1} = $2;
# }
# }
# # Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
# if ($line =~ /]*)"\s*>/is) {
# $image{$1} = $2;
# }
# if ($line =~ /]*)"\s*>/is) {
# ($von,$bis) = split(/\-/,$1);
# ($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
# ($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
# }
# }
if($only){
$ok=0;
foreach $nr (keys (%select)) {
if ($only =~ /$select{$nr}/i){
$ok=1;
last;
}
}
if(! $ok){
next;
}
%select = ""; # BUGFIX # igg 06.11.2003
}
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
$vmonat = $vonmonat - 1;
if($von =~ /^\d\d\.\d\d\.\d\d\d\d/){
$voncheck = timelocal(0, 0, 0, $vontag, $vmonat, $vonjahr);
}else{
$voncheck = 0;
}
&date();
$tag = substr($date,0,2);
$monat = substr($date,3,2) - 1;
$jahr = substr($date,6,4);
$heute = timelocal(0,0,0,$tag,$monat,$jahr);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
$bmonat = $bismonat - 1;
if($bis =~ /^\d\d\.\d\d\.\d\d\d\d/){
$bischeck = timelocal(0, 0, 0, $bistag, $bmonat, $bisjahr);
}else{
$bischeck = 9999999999;
}
if($voncheck <= $heute and $bischeck >= $heute and $anzahl < $max){
$anzahl++;
if($input{'alternierend'} and $alternierend){ # alternierend # igg 28.11.2003
@mtemplate = @TEMPLATE2;
$alternierend = 0;
}else{
@mtemplate = @TEMPLATE;
$alternierend = 1;
}
my $nr;
foreach $mtline (@mtemplate)
{
foreach $nr (keys (%headline))
{
if ($nr == 0)
{
$mtline =~ s//$headline{"0"}/gi;
}
else
{
$mtline =~ s//$headline{$nr}/gi;
}
}
foreach $nr (keys (%text))
{
if ($nr == 0)
{
$mtline =~ s//$text{"0"}/gi;
}
else
{
$mtline =~ s//$text{$nr}/gi;
}
}
if(%image)
{
# Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
foreach $nr (keys (%image))
{
$mtline =~ s//$image{$nr}/gi;
}
}
else
{
$mtline =~ s//\/acononCMS\/upload\/-kein_Bild-.gif/gi;
} # BUGFIX http ohne (:) um auch https zu ermoeglichen # igg 20.11.2003
if($externerlink and ($externerlink =~ m/^http/i or $externerlink =~ m/^ftp:/i or $externerlink =~ m/^mailto:/i)){
$mtline =~ s//$externerlink/gi;
}else{
$mtline =~ s//$ordner\/$link/gi;
}
$mtline =~ s//$pos/gi;
$ausgabe = $ausgabe . $mtline;
}
}
}
&SSI_Functions($ausgabe);
########################################################################################################################
|