#!/usr/bin/perl -w
package TV::users;
use Date::Manip;
use XML::DOM;
$:=1;$debug=1;

$Q=&begin;
my $file="users.xml";
my $doc=&domdoc($file);
my $users = $doc->getElementsByTagName('user');
print "--------------------------\n";
$usr="";
if ($Q->param('addFav')){
	my $r="";
	print "Add a fav: ",$Q->param('addFav');
	unless ($Q->param('confirm') eq 'yes'){
		$r .= "a form met notif en confirm";
		$r .= $Q->self_url;
	}else{
		$r .= "a confirmed confirm";
		$r .= $Q->self_url;
	}
	print $r;
}

foreach my $user (@$users){
	my ($u)= &di($user,'id');
	my ($b)= &di($user,'been');
	my ($f)= &dumpU($user);
	my $l=&ch($user);
	print <<GROK;
<h3>$u $b</h3> $l
GROK
print keys %usr;
*tt=\$usr{$u}{'fav'};
print key %tt;
foreach $i (keys %tt){
	$r.="$i ".$tt{$i}." <br />\n";
}
print $r;
$r="";
}


$Q="";
	
sub ch{
	my $u=shift;
	my $ac=$u->getElementsByTagName('acces')->[0];
	my $lasta=$ac->getElementsByTagName('last')->[0];
	my $ret=$lasta->getFirstChild->getData;
	my $newnode=$lasta->cloneNode(1);
	$newnode->getFirstChild->setData("viewed met u");
	$ac->insertBefore($newnode,$lasta);
	$ret =~ s/^\s*|\s$//ig;
	$ret;
}

$doc->printToFile('users.upl');

#-------------

sub dumpU{
	my $user=shift;
	my $usrname=&di($user,'id');
	my ($r);
	my $favs = $user->getElementsByTagName("pname");
	foreach $fav (@$favs){
		my $prgname .= &di($fav,'pname');
		my $notif .= " notif:".$fav->getAttribute("notif");
		$r .= "$prgname notif: $notif<br />\n";
		$usr{$usrname}{'fav'}{$prgname}=$notif;
	}
	$r;
}


sub domdoc{
	my $file=shift;
	if ($parser) {
		print "parserda " if ($debug);
		} else {
		$parser = new XML::DOM::Parser;
		print "created domparser: ",$parser if($debug);
	}
	$parser->parsefile ("$file") || die "Cant domopen file $file $!\n";
}
sub di{
	my $user=shift;
	my $tagname=shift;
	my $t = $user->getElementsByTagName("$tagname");
	my $re = $t->[0]->getFirstChild->getData;
	$re;
}



sub initCGI{
	use CGI;
	if ($Q){
		warn "Q cgi da: ",$Q if ($debug);
	}else{
		$Q = new CGI;
		warn "created Q cgi",$Q if ($debug);
	}
	$Q;
}

sub begin{
	if ($ENV{'HTTP_USER_AGENT'}) {
		my $Q=&initCGI;
    		print $Q->header(-type=>'text/html',
                         -expires=>'+5min');
		print "cgi lala\n" if $debug;
	} else {
		if (@ARGV<1){print  "usage: $ENV{_}\n";}
	}
	$Q;
}
