<?php

if (strtoupper(substr(PHP_OS03)) == 'WIN')
    
dl('php_gtk.dll');
else
    
dl('php_gtk.so');


function 
delete_event()
{
    return 
false;
}

function 
destroy()
{
    
Gtk::main_quit();
}

function 
start_fetch() {
    global 
$entry$window;
    
    if (
rawurldecode($entry->get_text()) == $entry->get_text()) {
        if (
$url) {
            
$url explode("/"$entry->get_text());
            for (
$i 3$i count($url); $i++) {
                
$url[$i] = rawurlencode($url[$i]);    
            }
            
implode("/"$url);
            
$entry->set_text($url);
        }
    } else {
            
    }
    
    
$entry->set_visibility(false);
    
$fp = @fopen ($entry->get_text(), "r");
    if (
$fp) {
        
$out fopen(rawurldecode(basename($entry->get_text())), "w");
        while (!
feof($fp)) {
            
fwrite($outfread($fp256));
        }
        
fclose ($out);
        print (
"Saved " rawurldecode($entry->get_text()));
        
fclose ($fp);
    } else {
        print (
"Error retrieving " rawurldecode($entry->get_text()));
    }
    
    
    
$window->destroy();
}

$window = &new GtkWindow();
$window->connect('destroy''destroy');
$window->connect('delete-event''delete_event');
$window->set_border_width(10);

$box = &new GtkHBox();
$window->add($box);

$entry = &new GtkEntry();
$entry->set_text('');
$box->pack_start($entry);

$button = &new GtkButton("fetch");
$button->connect('clicked''start_fetch');
$box->pack_start($button);

$entry->grab_focus();
$window->show_all();

Gtk::main();

?>