<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<?php
    
/* Some basic checks are in place */
    
isset($r) || die("CVSroot must be set\n");
    isset(
$m) || die("CVSmodule must be set\n");
    isset(
$f) || die("File must be set\n");
    if(
strchr($r"'") || strchr($m"'") || strchr($f"'"))
        die(
"Invalid characters in arguments\n");
?>
<html>
<head>
    <title> <?php echo "CvsGraph of '$f'\n"?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="generator" content="handcrafted">
</head>
<body bgcolor="#f0f0f0">
<center>
<?php
    
/* I'll be paranoid, set root and module here so no one can get access elsewhere */
    /* Remove this or change it to suit your needs */
//    $r = "/home/cvsgraph";
//    $m = "cvsgraph";

    /* Shell escape, PHP4 has functions for this, use them */
    
$sr "'" $r "'";
    
$sm "'" $m "'";
    
$sf "'" $f ",v'";

    
/* Image references must be encoded properly */
    
$ur urlencode($r);
    
$um urlencode($m);
    
$uf urlencode($f);
    if(isset(
$cvsroot) && $cvsroot != "")
        
$ucr"&cvsroot=" urlencode($cvsroot);    /* The cvsweb.cgi root */
    
else
        
$ucr "";

    
/* I expose the paths here (accessible via the server). */
    /* Set this to a private place to make it secure. */
    
$cvsgraph "/home/bertho/public_html/cvsgraph/cvsgraph";
    
$cvsgraph_conf "/home/bertho/public_html/cvsgraph/conf/cvsgraph.conf";

    
/* Print a head line */
    
echo "<h1>CvsGraph of '$f'</h1>\n";

    
/* Generate an imagemap */
    
$mapname "CvsGraphMap";
    
$arg9 "-9 '/~bertho/cvsgraph/'";
    
$arg8 "-8 '$ucr'";
    
$arg0 "-0 'Branch:'";
    
$arg1 "-1 'Revision:'";
    
$arg2 "-2 'Diff:'";
    
$argM "-M '$mapname'";
    
passthru("$cvsgraph $arg0 $arg1 $arg2 $arg8 $arg9 $argM -i -c $cvsgraph_conf -r $sr -m $sm $sf");

    
/* Link a CvsGraph image */
    
echo "<img border=\"0\" usemap=\"#$mapname\" src=\"/~bertho/cvsgraph/mkimage.php3?r=$ur&m=$um&f=$uf\" alt=\"CvsGraph of '$f'\">\n";
    echo 
"<p>\nClick on the revisions/branches to display them\n";
    echo 
"<br>\nClick between the revisions to display the diffs\n";
?>
<hr>
</center>
<address>
Created with <a href="/~bertho/cvsgraph">CvsGraph</a> version 1.1.2
</address>
</body>
</html>