The client parses the sent data according to the rules of the IPIP and generates data for the user.

<html>
<body bgcolor="white">
<div align="center">
<b>Find Assigned Bugs</b>
<?php
    $base 
"$PHP_SELF{$_SERVER['PATH_INFO']}";
    
$action = isset($_SERVER['QUERY_STRING'])?"{$base}?{$_SERVER['QUERY_STRING']}":$base;
?>
<form action="<?php echo $action?>" method="GET">
Developer Name: <input type="text" value="" name="dev_name"> 
<input type="submit" name="submit" value="Search">
</form>
<?php
function decode($data, &$res)
{
    
$pos 0;
    
$res = array();
    
$num_results = (int) substr($data010);
    
$pos += 10;
    for (
$i 0$i $num_results$i++) {
        
/* decode bug id */
        
$len = (int) substr($data$pos10);
        
$pos += 10;
        
$res[$i]['id'] = substr($data$pos$len);
        
$pos += $len;

        
/* decode bug description */
        
$len = (int) substr($data$pos10);
        
$pos += 10;
        
$res[$i]['descr'] = substr($data$pos$len);
        
$pos += $len;
    }
    return 
$num_results;
}

if (!empty(
$_GET['dev_name'])) {
    
$url 'http://' $_SERVER['HTTP_HOST'];
    
$url .= preg_replace('!show\.php.*$!''presentations/slides/web_services/ipip_server.php'$_SERVER["SCRIPT_NAME"]);

    
$data file_get_contents($url."?q=" urlencode($_GET['dev_name']));

    
/* decode the result set */
    
$num_results decode($data$res);
    if (!
$num_results) {
        echo 
"No results found.";
    } else {
        foreach (
$res as $ent) {
            echo 
"Bug #: {$ent['id']}<br />\n{$ent['descr']}<hr />\n";
        }
    }
}
?>
</div>
</body>
</html>