<?php

require('duck2011online.php');
$f = mysql_real_escape_string($_GET['f']);

$d = unserialize(file_get_contents('dlc.txt'));
$d[$f] = $d[$f] + 1;
file_put_contents('dlc.txt',serialize($d));

if ($f == 'counter'){$f = 'fake_counter';}
if ($f == 'counter_monopoly'){$f = 'counter';}

$r = $f;
if (!is_file($f)){$r = $f.'_'.$_SERVER['REMOTE_ADDR'];}
//if (!is_file($f)){$r = $f.'_FOOL';}



if ($f == 'counter'){
     //   echo '<table>';
        foreach ($d as $n => $c){
          //      echo '<tr><td>'.$n.'</td><td>'.$c.'</td></tr>';
                $all[$n]['file'] = $c;
        }
       // echo '</table>';
       // echo '<br>';
}





//require('duck2011local.php');


$sql = 'SELECT id, name, value FROM duck2011 WHERE name="'.$r.'"';
$mainq = mysql_query($sql);
$aantal_lijnen = mysql_num_rows($mainq);
if ($aantal_lijnen > 0){
    $row=mysql_fetch_row($mainq);
    $counter = $row[2];
}else{
    $counter = 0;
    $sql =  'INSERT INTO duck2011 (name, value) values ("'.$r.'","'.($counter+1).'")';
    $mainq = mysql_db_query($db,$sql, $dbh);
}




if ($f == 'counter'){
    $sql = 'SELECT id, name, value FROM duck2011';
    $mainq = mysql_db_query($db,$sql, $dbh);
    $aantal_lijnen = mysql_num_rows($mainq);
    //echo '<table border=0>';
    for ($i = 0; $i<$aantal_lijnen; $i++){
        $row=mysql_fetch_row($mainq);
        //$counter = $row[2];
      //  echo '<tr><td>'.$row[1].'&nbsp;</td><td>'.$row[2].'</td></tr>';
        $all[$row[1]]['sql'] = $row[2];
    }
}
    //echo '</table>';

    //echo '<br><br>';


if ($f == 'counter'){
    function refstrep($rt,$name,$refnam){
            if ($rt != ""){return $rt;}
            if (strpos($name,$refnam) == 4){return $refnam;}
            return "";
    }
    echo '<table border=1>';
    echo '<tr><td>Name</td><td>File</td><td>SQL</td><td>Max</td></tr>';
    foreach($all as $name => $subject){
            if ($subject['file'] > $subject['sql']){$maxx = $subject['file'];}else{$maxx = $subject['sql'];}
            //echo '<tr><td><b>'.$name.'&nbsp;</b></td><td>'.($subject['file']+0).'</td><td>'.($subject['sql']+0).'</td><td><b>'.($maxx+0).'</b></td></tr>';

            if (is_file($name)){
                    if (!isset($correctFiles[($maxx+0)])){$ind = ($maxx+0);}else{$ind = ($maxx+0).$name;}
                    $correctFiles[$ind]['name'] = $name;
                    $correctFiles[$ind]['file'] = ($subject['file']+0);
                    $correctFiles[$ind]['sql'] = ($subject['sql']+0);
                    $correctFiles[$ind]['max'] = ($maxx+0);
            }elseif(substr($name,0,4) == "REF_"){

                    $rt = "";
                    //if (strpos($name,'http://www.minecraftforum.net/viewtopic.php?f=1022&t=165779') == 4){$rt = 'MC_F_T';}

                    //$rt = refstrep($rt,$name,'http://www.minecraftforum.net/viewtopic.php?f=1022&t=165779');
                    //http://www.minecraftforum.net/viewtopic.php?f=



                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net/topic/153066-');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net/topic/');

                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net/viewtopic.php?f=1022');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net/viewtopic.php?f=');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net/');


                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net.external.vkontakte.ru/topic/153066-');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net.external.vkontakte.ru/topic/');

                    //$rt = refstrep($rt,$name,'http://www.minecraftforum.net.external.vkontakte.ru/viewtopic.php?f=1022&t=165779');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net.external.vkontakte.ru/viewtopic.php?f=1022');
                    $rt = refstrep($rt,$name,'http://www.minecraftforum.net.external.vkontakte.ru/');

                    $rt = refstrep($rt,$name,'http://www.facebook.com/l.php?u=');
                    $rt = refstrep($rt,$name,'http://translate.googleusercontent.com/translate_c');

                    if ($rt == ""){$rt = "Other";}

                    //$ind = count($refs[$rt]);
                    if (!isset($refs[$rt][($maxx+0)])){$ind = ($maxx+0);}else{$ind = ($maxx+0).$name;}
                    $refs[$rt][$ind]['name'] = $name;
                    $refs[$rt][$ind]['file'] = ($subject['file']+0);
                    $refs[$rt][$ind]['sql'] = ($subject['sql']+0);
                    $refs[$rt][$ind]['max'] = ($maxx+0);

                    $reftots[$rt]['name'] = $name;
                    $reftots[$rt]['file'] = $reftots[$rt]['file'] + $refs[$rt][$ind]['file'];
                    $reftots[$rt]['sql'] = $reftots[$rt]['sql'] + $refs[$rt][$ind]['sql'];
                    $reftots[$rt]['max'] = $reftots[$rt]['max'] + $refs[$rt][$ind]['max'];
                    $reftots[$rt]['count'] = $reftots[$rt]['count'] + 1;

                    $reftotsort[$rt] = $reftotsort[$rt] +  $refs[$rt][$ind]['max'];
            }else{
                   // $ind = count($incorrectFiles);

                     if (!isset($incorrectFiles[($maxx+0)])){$ind = ($maxx+0);}else{$ind = ($maxx+0).$name;}
                    $incorrectFiles[$ind]['name'] = $name;
                    $incorrectFiles[$ind]['file'] = ($subject['file']+0);
                    $incorrectFiles[$ind]['sql'] = ($subject['sql']+0);
                    $incorrectFiles[$ind]['max'] = ($maxx+0);

                    $incortots['file'] = $incortots['file'] + $incorrectFiles[$ind]['file'];
                    $incortots['sql'] = $incortots['sql'] + $incorrectFiles[$ind]['sql'];
                    $incortots['max'] = $incortots['max'] + $incorrectFiles[$ind]['max'];
            }
    }

    ksort($correctFiles);
    $correctFiles = array_reverse($correctFiles);
    foreach ($correctFiles as $fid => $thisFile){
            echo '<tr><td><b>'.$thisFile['name'].'&nbsp;</b></td><td>'.$thisFile['file'].'</td><td>'.$thisFile['sql'].'</td><td><b>'.$thisFile['max'].'</b></td></tr>';
    }



echo '<SCRIPT LANGUAGE="JavaScript">function toggler(mid) {
    var links = document.getElementsByName(mid);
        for (var i = 0; i < links.length; i++)
        {
                if (links[i].style.getPropertyValue("display") == ""){
                        links[i].style.setProperty("display","none","important");
                }else{
                        links[i].style.setProperty("display","","important");
                }
        }
}</script>';


    echo '<tr><td colspan=4>&nbsp;</td></tr>';
    echo '<tr><td>Referrer Name</td><td>File</td><td>SQL</td><td>Max</td></tr>';

    asort($reftotsort);
    $reftotsort = array_reverse($reftotsort);
    //ksort($refs);
//    foreach ($refs as $rn => $refsa){
    foreach($reftotsort as $rn => $bak){
        $refsa = $refs[$rn];
        if ($rn != ''){echo '<tr><td><a onClick="toggler(\'TR_'.$rn.'\')"><i>'.$rn.'</i></a>&nbsp;('.$reftots[$rn]['count'].')&nbsp;</td><td>'.$reftots[$rn]['file'].'</td><td>'.$reftots[$rn]['sql'].'</td><td><b>'.$reftots[$rn]['max'].'</b></td></tr>';}

        ksort($refsa);
        $refsa = array_reverse($refsa);
        foreach ($refsa as $fid => $thisFile){

                echo '<tr name="TR_'.$rn.'" style="display:none"><td><b>'.$thisFile['name'].'&nbsp;</b></td><td>'.$thisFile['file'].'</td><td>'.$thisFile['sql'].'</td><td><b>'.$thisFile['max'].'</b></td></tr>';
        }
    }


    ksort($incorrectFiles);
    $incorrectFiles = array_reverse($incorrectFiles);
    /*
    echo '<tr><td colspan=4>&nbsp;</td></tr>';
    echo '<tr><td>Typo Name</td><td>File</td><td>SQL</td><td>Max</td></tr>';
    foreach ($incorrectFiles as $fid => $thisFile){
            echo '<tr><td><b>'.$thisFile['name'].'&nbsp;</b></td><td>'.$thisFile['file'].'</td><td>'.$thisFile['sql'].'</td><td><b>'.$thisFile['max'].'</b></td></tr>';
    }
    */



    if ($rn != ''){echo '<tr><td><a onClick="toggler(\'INCOR\')"><i>Typos</i></a>&nbsp;('.count($incorrectFiles).')&nbsp;</td><td>'.$incortots['file'].'</td><td>'.$incortots['sql'].'</td><td><b>'.$incortots['max'].'</b></td></tr>';}
    foreach ($incorrectFiles as $fid => $thisFile){
            echo '<tr name="INCOR" style="display:none"><td><b>'.$thisFile['name'].'&nbsp;</b></td><td>'.$thisFile['file'].'</td><td>'.$thisFile['sql'].'</td><td><b>'.$thisFile['max'].'</b></td></tr>';
    }


    echo '</table>';
}




$sql = 'UPDATE duck2011 SET value="'.($counter+1).'" WHERE name="'.$r.'"';
$mainq = mysql_db_query($db,$sql, $dbh);


$ref = 'REF_'.$_SERVER['HTTP_REFERER'];
if (strpos($ref,'http://www.minecraftforum.net/viewtopic.php?f=1022&t=165779&sid=')!== false){$ref = 'REF_SID_http://www.minecraftforum.net/viewtopic.php?f=1022&t=165779';}

$sql = 'SELECT id, name, value FROM duck2011 WHERE name="'.$ref.'"';
$mainq = mysql_query($sql);
$aantal_lijnen = mysql_num_rows($mainq);
if ($aantal_lijnen > 0){
    $row=mysql_fetch_row($mainq);
    $refCounter = $row[2];
}else{
    $refCounter = 0;
    $sql =  'INSERT INTO duck2011 (name, value) values ("'.$ref.'","'.($refCounter+1).'")';
    $mainq = mysql_db_query($db,$sql, $dbh);
}
$sql = 'UPDATE duck2011 SET value="'.($refCounter+1).'" WHERE name="'.$ref.'"';
$mainq = mysql_db_query($db,$sql, $dbh);



if ($f != 'counter'){
        header('Location: http://www.duponline.net/cartograph_g/'.$f);
}





?>
