#!/usr/local/bin/perl # Output Javascript in a loop to track an upload BEGIN { push(@INC, ".."); }; use WebminCore; $trust_unknown_referers = 1; &init_config(); &ReadParse(); $id = $in{'id'}; $id || &error($text{'uptracker_eid'}); $id =~ /^[a-z0-9_]+$/i || &error($text{'uptracker_eid2'}); &popup_header($text{'uptracker_title'}, undef, "onunload='if (!window.doneupload) { opener.stop() }'"); $| = 1; # Output text boxes that get updated with filenames and progress $ff = "style='font-family: courier,monospace'"; print "
\n"; # Find the location of the user's upload progess file if ($in{'uid'}) { @uinfo = getpwuid($in{'uid'}); $upfile = "$uinfo[7]/.tmp/upload.$id"; } else { $upfile = "$ENV{'WEBMIN_VAR'}/upload.$id"; } # Read the tracker file in a loop until done, or until 1 minute has passed # with no progress print "\n"; $start = time(); while(1) { sleep(1); $now = time(); if (!open(UPFILE, $upfile)) { # Doesn't exist yet if ($now - $start > 60) { # Give up after 60 seconds print "\n"; last; } next; } @lines =