#!/usr/bin/perl
#==========================================================================
# Spider S-Serie
#==========================================================================
# Autor: M. Oruc
# Email: mehmetoruc1973@aol.com
#==========================================================================
# Copyright 2004 - 2014 by Mehmet Oruc
#==========================================================================
use CGI::Carp qw(fatalsToBrowser);
use Time::Local;
use URI;
use Encode;
use LWP::Simple qw(!head);
use CGI qw(:standard -no_debug);
#==========================================================================
require "domain.txt";
require "konfiguration.txt";
require "an_links.txt";
require "an_kats.txt";
require "urltuning.txt";
require "crawler.txt";
require "styles.txt";
require "verzeichnispfad.txt";
require "modrewrite.txt";
require "module.txt";
require "thumbs.txt";
#==========================================================================
require "./module/funktionen.pl";
require "./module/rotator.pl";
require "./module/eintraege.pl";
require "./module/navi.pl";
require "./module/kats.pl";
#==========================================================================
$vorlage{'cgipfad'} = "$cgipfad";
#==========================================================================
open(READ,$dat_werbungstartlinks)or die "Kann $textdatei nicht öffnen: $!";
@anzeigenstartlinks=<READ>;
close(READ);
$vorlage{'anzeigenstartlinks'}="@anzeigenstartlinks";
open(READ,$dat_werbungstartrechts)or die "Kann $textdatei nicht öffnen: $!";
@anzeigenstartrechts=<READ>;
close(READ);
$vorlage{'anzeigenstartrechts'}="@anzeigenstartrechts";
open(READ,$dat_werbungsonstlinks)or die "Kann $textdatei nicht öffnen: $!";
@anzeigensonstlinks=<READ>;
close(READ);
$vorlage{'anzeigensonstlinks'}="@anzeigensonstlinks";
open(READ,$dat_werbungsonstrechts)or die "Kann $textdatei nicht öffnen: $!";
@anzeigensonstrechts=<READ>;
close(READ);
$vorlage{'anzeigensonstrechts'}="@anzeigensonstrechts";
open(READ,$dat_werbungallunten)or die "Kann $textdatei nicht öffnen: $!";
@anzeigenallunten=<READ>;
close(READ);
$vorlage{'anzeigenallunten'}="@anzeigenallunten";
open(READ,$dat_optimierung)or die "Kann $textdatei nicht öffnen: $!";
@crawlersoft=<READ>;
close(READ);
$crawlersoft="@crawlersoft";
open(READ,$dat_kategorien)or die "Kann $textdatei nicht öffnen: $!";
@kategorien=<READ>;
close(READ);
$kats="@kategorien";
@kats=split(/}{/,$kats);
open(READ,$dat_cms)or die "Kann $textdatei nicht öffnen: $!";
@kategorien_cms=<READ>;
close(READ);
$kats_cms="@kategorien_cms";
#==========================================================================
($0 =~ m,(.*)/[^/]+,) && unshift (@INC, $1); # UNIX
($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, $1); # Windows
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
my $buffer = $ENV{'QUERY_STRING'};
my @pairs = split(/&/, $buffer);
foreach my $pair (@pairs) {
my ($name, $value) = split(/=/, $pair);
$name=~tr/+/ /;
$name=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
$value =~tr/+/ /;
$value =~ s/\xc3(.)/chr(ord($1) + 0x40)/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
if ($f{$name}) {$f{$name} = $f{$name} . ',' . $value}
else {$f{$name} = $value}
}
}
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, my $buffer, $ENV{'CONTENT_LENGTH'});
my @pairs = split(/&/, $buffer);
foreach my $pair (@pairs) {
my ($name, $value) = split(/=/, $pair);
$name=~ tr/+/ /;
$name=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/\xc3(.)/chr(ord($1) + 0x40)/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($f{$name}) {$f{$name} = $f{$name} . ',' . $value}
else {$f{$name} = $value}
}
}
#==========================================================================
&Rotator;&Eintraege;&Navi;&Kats;
#==========================================================================
if($f{'action'} eq 'agb'){&Agb;
}elsif($f{'action'} eq 'impressum'){&Impressum;
}elsif($f{'action'} eq 'datenschutz'){&Datenschutz;
}elsif($f{'action'} eq 'anmelden'){require "paypal.txt";&Anmelden;
}elsif($f{'action'} eq 'fehler'){&Fehler;
}elsif($f{'action'} eq 'livesuche'){require "./module/live.pl";&Livesuche;
}elsif($f{'action'} eq 'top'){require "thumbs.txt";require "./module/top.pl";&Top;
}elsif($f{'action'} eq 'neu'){require "./module/neu.pl";&Neu;
}elsif($f{'action'} eq 'feed'){require "./module/feed.pl";&Feed;
}elsif($f{'action'} eq 'news'){require "module.txt";$suchworte="$f{'suchworte'}";if ($suchworte eq ""){$suchworte="$newsstart";}if ($suchworte eq "$newsstart"){$vorlage{'suchworte'} = "$newsstart";}else{$vorlage{'suchworte'} = "$suchworte";}$vorlage{'metatitle'} = "$newstitle";$vorlage{'button'} = "$newsbutton";$vorlage{'modul'} = "$newsmodul";$suchworte=~ s/ /\+/g;$xmlurl="http://news.google.de/news?pz=1&cf=all&ned=de&hl=de&q=$suchworte&cf=all&output=rss";require "./module/xml.pl";&Xmlsearch;print &parse_vorlage('rssseiten.html');
}elsif($f{'action'} eq 'auktionen'){require "module.txt";$suchworte="$f{'suchworte'}";if ($suchworte eq ""){$suchworte="$auktionsstart";}if ($suchworte eq "$auktionsstart"){$vorlage{'suchworte'} = "$auktionsstart";}else{$vorlage{'suchworte'} = "$suchworte";}$vorlage{'metatitle'} = "$auktionstitle";$vorlage{'button'} = "$auktionsbutton";$vorlage{'modul'} = "$auktionsmodul";$suchworte=~ s/ /\_/g;$suchworte=~ s/\+/\_/g;$xmlurl="http://www.ebay.de/sch/i.html?_nkw=$suchworte&_rss=1&_sc=1&_sop=10";require "./module/xml.pl";&Xmlsearch;print &parse_vorlage('rssseiten.html');
#}elsif($f{'action'} eq 'kleinanzeigen'){require "module.txt";$suchworte="$f{'suchworte'}";if ($suchworte eq ""){$suchworte="$kleinanzeigenstart";}if ($suchworte eq "$kleinanzeigenstart"){$vorlage{'suchworte'} = "$kleinanzeigenstart";}else{$vorlage{'suchworte'} = "$suchworte";}$vorlage{'metatitle'} = "$kleinanzeigentitle";$vorlage{'button'} = "$kleinanzeigenbutton";$vorlage{'modul'} = "$kleinanzeigenmodul";$suchworte=~ s/ /\+/g;$xmlurl="http://kleinanzeigen.ebay.de/anzeigen/s-feed.rss?keywords=$suchworte&adType=OFFER&locationId=$locationid";require "./module/xml.pl";&Xmlsearch;print &parse_vorlage('rssseiten.html');
}elsif($f{'action'} eq 'shop'){require "module.txt";$suchworte="$f{'suchworte'}";if ($suchworte eq ""){$suchworte="$shopstart";}if ($suchworte eq "$shopstart"){$vorlage{'suchworte'} = "$shopstart";}else{$vorlage{'suchworte'} = "$suchworte";}$vorlage{'metatitle'} = "$shoptitle";$vorlage{'button'} = "$shopbutton";$vorlage{'modul'} = "$shopmodul";$suchworte=~ s/ /\+/g;$url="http://product-api.affili.net/V3/productservice.svc/XML/SearchProducts?publisherId=$affili_id&Password=$xml_passwort&query=$suchworte&CurrentPage=1&PageSize=$anzahl_pro_seite&MinimumPrice=&MaximumPrice=&SortBy=Score&SortOrder=descending&WithImageOnly=true&ImageScales=$bildergroesse";require "./module/affili.pl";&Xmlsearch;print &parse_vorlage('rssseiten.html');
}elsif($f{'action'} eq 'videos'){require "module.txt";$suchworte="$f{'suchworte'}";if ($suchworte eq ""){$suchworte="$videostart";}if ($suchworte eq "$videostart"){$vorlage{'suchworte'} = "$videostart";}else{$vorlage{'suchworte'} = "$suchworte";}$vorlage{'metatitle'} = "$videotitle";$vorlage{'button'} = "$videobutton";$vorlage{'modul'} = "$videomodul";$suchworte=~ s/ /\+/g;$xmlurl="http://gdata.youtube.com/feeds/base/videos?q=$suchworte&client=ytapi-youtube-search&alt=rss&v=2";require "./module/xml.pl";&Xmlsearch;print &parse_vorlage('rssseiten.html');
}else{
if(-e "neu.txt"){
 open(DAT,"<neu.txt");
 my @results=<DAT>;
 close(DAT);
 my @temp;
 my $link;
 my $kata;
 foreach(reverse @results){
 @temp=split(/\ :: /,$_);
 $link=$temp[1];
 $temp[0]=~s/\//\./gi;
 $print.="<div>&bull\; $temp[2]<br /><small>Rubrik: \u$temp[3]</small></div><br />";
 };
};
$vorlage{'neu'} = "$print";
#==========================================================================
$random_file = "keywords.txt";
$delimiter = "\n";
open(FILE,"$random_file") || &error('open->random_file',$random_file);
@FILE = <FILE>;
close(FILE);
$phrases = join('',@FILE);
@phrases = split(/$delimiter/,$phrases);
$phrase = rand(@phrases);
$suchworte="$phrases[$phrase]";
$url="http://product-api.affili.net/V3/productservice.svc/XML/SearchProducts?publisherId=$affili_id&Password=$xml_passwort&query=$suchworte&CurrentPage=1&PageSize=5&MinimumPrice=&MaximumPrice=&SortBy=Score&SortOrder=descending&WithImageOnly=true&ImageScales=Image60";
require "./module/affili3.pl";
&Xmlsearch3;
#==========================================================================
&Index;
}
#==========================================================================
sub Index{print &parse_vorlage('startseite.html');}
#==========================================================================
sub Agb{print &parse_vorlage('agb.html');}
#==========================================================================
sub Datenschutz{print &parse_vorlage('datenschutz.html');}
#==========================================================================
sub Impressum{print &parse_vorlage('impressum.html');}
#==========================================================================
sub Fehler{print &parse_vorlage('fehler.html');}
#==========================================================================
sub Anmelden{print &parse_vorlage('anmelden.html');}