#!/usr/bin/perl -w
use CGI;
use Net::HTTP;
use URI::URL;
use strict;

#www.primaat.com/expressions.htm
#http://lwp.linpro.no/lwp/
#http://www.perl.com/doc/FMTEYEWTK/regexps.html
#http://www.cclabs.missouri.edu/things/instruction/perl/perlcourse.html


my @siteArray;
$siteArray[0] = "http://www.userfriendly.org/static/";
$siteArray[1] = "http://www.foksuk.nl/";
$siteArray[2] = "http://www.rotterdamsdagblad.nl/dirkjan/";
$siteArray[3] = "http://www.geekculture.com/joyoftech/";
$siteArray[4] = "http://www.ibiblio.org/Dave/drfun.html";
$siteArray[5] = "http://www.dilbert.com/";
$siteArray[6] = "http://www.dieselsweeties.com/";
$siteArray[7] = "http://www.ucomics.com/calvinandhobbes/";
$siteArray[8] = "http://www.gpf-comics.com/";
$siteArray[9] = "http://www.herdthinners.com/";
$siteArray[10]= "http://www.little-gamers.com/";
my @reArray = ("uf",6,"d",3," ",0,"\/",3,"latest",0,"dilbert",13,"sw",4,"ch",6,"gpf",4,"\/",4,"show_strip",0);

#my $q = new CGI();
#print ($q->url());
boolCGI =  defined($ENV{"HTTP_USER_AGENT"});

if(boolCGI)
{
   print << END
      Content-type: text/html

      
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml10/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="eng">
      <head>
        <title>Peter's Cartoon Page</title>
        <meta http-equiv="Content-type" content='text/html; charset="UTF-8"' />
      </head>
      <body>
      <ul>
   END
}

sub getHtml ($)
{
        my $html;
        my $url  = shift(@_)->abs;
        my $site = Net::HTTP->new(Host => $url->host) || return $@;
        $site->write_request(GET => $url->path, 'User-Agent' => "Peters Agent");
        my($code, $mess, %h) = $site->read_response_headers;
        if($code ne 200)
        {
           print $mess;
        }
        print "\n";
        while (1)
        {
              my $buffer;
              my $nogbezig = $site->read_entity_body($buffer, 1024);
              last unless $nogbezig;
              $html = $html.$buffer;
              #print "."
        }
        print"\n";
        return $html;
}

sub getImage($$$$)
{
  my $html    = shift(@_);
  my $url     = shift(@_);
  my $sTeller = shift(@_);
  my $sString = shift(@_);
  my $bool;
  my $result;

  if($url eq "http://www.rotterdamsdagblad.nl/dirkjan/")
  {
      my ($sec,$min,$uur,$mdag,$maand,$jaar,$wdag,$ydag,$isdst) = localtime time;
      my @dagen  = ("maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag","zondag");
      my $dag    = $dagen[$wdag-1];
      if ($html =~ m/($dag\.jpg)/isg)
      {
         my $tmpRes = $1;
         $tmpRes    =~ s/(\")|(\')//ig;
         $tmpRes    =~ s/^(\/)//i;
         if(!($tmpRes =~ /^http/isg)){$tmpRes=$url.$tmpRes;}
         $result = $tmpRes;
         return $result;
      }
  }

  while($html=~m/(src|href)=(.+?)( |>|\"|\')/sgi)
  {
     my $tmpRes = $2;
     if($tmpRes=~m/mail/i){next;}
     $bool = ($tmpRes =~m/($sString([0-9]{$sTeller}))/si);
     if($bool)
     {
         #print $sString;
         $tmpRes=~s/(\")|(\')//ig;
         $tmpRes=~s/^(\/)//i;
         if(!($tmpRes=~/^http/isg)){$tmpRes=$url.$tmpRes;}
         $result = $tmpRes;
         last;
     }
  }
  return $result;
}

my $site;
my $i;

foreach ($i=0;$i<@siteArray;$i++)
{
    $site = $siteArray[$i];
    my $html;
    #print "\n=====Loading==========================================\nLoading website: ".$site;
    my $url  = URI::URL->new($site);
    $html = getHtml($url);
    #print $html;
    #print "\nDone\n=====Result===========================================\n";
    my $plaatjes;
    my $sTeller = $reArray[2*$i+1];
    my $sString = $reArray[2*$i];
    $plaatjes   = getImage($html,$site,$sTeller,$sString);
    if($plaatjes)
    {
        if(boolCGI){print "<li>";}else{print "\n";}
        print ($plaatjes);
        if(boolCGI){print "</li>";}else{print "\n";}
    }
    else
    {
        if(boolCGI){print "<li>";}else{print "\n";}
        print "Niks gevonden!";
        if(boolCGI){print "</li>";}else{print "\n";}
    }
}

if(boolCGI)
{
   print << END
       </ul>
       </body>
      </html>
   END
}





