[PHP] Simple Progress Bar (was Upload Progress)

2002-09-09 Thread Jacob Miller

Well, for lack of a better solution (and mainly lack of time to invent one) 
I decided to go with a simple indeterminate progress bar.  I've already 
found more uses for this than just uploading files and thought some of you 
might have a use for it in your scripts which take a while to complete.

- Jacob

//
// In the referring page (i.e. submitting a form):

head
script type=text/javascript

var progress_window;

function open_progress_window(caption) {

 progress_window = window.open(progress.php?caption= + caption, 
progress_window, width=350, height=120, menubar=no, statusbar=no, 
toolbar=no);

}

function close_progress_window() {

 if (progress_window != null) {
 progress_window.close();
 }

}

/script

body onUnload=close_progress_window();

form onSubmit=open_progress_window('Work+In+Progress...');
!-- form vars here --
/form

/body

//
// Source for progress.php

!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN 
http://www.w3.org/TR/html4/loose.dtd;
html

head

title?php echo $caption; ?/title

meta http-equiv=Content-Type content=text/html; charset=utf-8
meta http-equiv=Content-Style-Type content=text/css
meta http-equiv=Content-Script-Type content=text/javascript

style type=text/css

body {
 background: #ff;
 color: #00;
 font-family: Arial, sans-serif;
}

td.ProgressOn {
 background: #ff;
}

td.ProgressOff {
 background: #ff;
}

td.PageHeader {
 font-weight: bold;
 font-size: 18px;
 text-align: center;
 padding-bottom: 10px;
}

/style

script type=text/javascript

function begin_progress() {

 var i = 0;

 setTimeout(update_progress( + i + , true), 100);

}

function update_progress(i, forward) {

 if (forward) {
 if (i == 0) { off = i; }
 else { off = (i - 1); }
 } else {
 if (i == 19) { off = i; }
 else { off = (i + 1); }
 }

 eval(document.all.td + off + .className = \ProgressOff\;);
 eval(document.all.td + i + .className = \ProgressOn\;);

 if (forward) {
 if (i == 19) {
 forward = false;
 i--;
 } else {
 i++;
 }
 } else {
 if (i == 0) {
 forward = true;
 i++;
 } else {
 i--;
 }
 }

 setTimeout(update_progress( + i + ,  + forward + ), 100);

}

/script

/head

body onLoad=begin_progress();

table border=0 width=100% height=100% cellpadding=0 cellspacing=0
tr
 td align=center valign=middle
 table border=0 cellpadding=5 cellspacing=0
 tr
 td class=PageHeader?php echo $caption; ?/td
 /tr
 tr
 td
 table border=0 cellpadding=5 
cellspacing=0 style=border: 1px inset;
 tr
 ?php
 for ($i = 0; $i  20; $i++) {
 echo td 
class=\ProgressOff\ id=\td.$i.\nbsp;/td\n;
 }
 ?
 /tr
 /table
 /td
 /tr
 /table
 /td
/tr
/table

/body

/html


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] Simple Progress Bar (was Upload Progress) (2nd Try)

2002-09-09 Thread Jacob Miller

Well, for lack of a better solution (and mainly lack of time to invent one) 
I decided to go with a simple indeterminate progress bar.  I've already 
found more uses for this than just uploading files and thought some of you 
might have a use for it in your scripts which take a while to complete.

- Jacob

//
// In the referring page (i.e. submitting a form):

head
script type=text/javascript

var progress_window;

function open_progress_window(caption) {

progress_window = window.open(progress.php?caption= + caption, 
progress_window, width=350, height=120, menubar=no, statusbar=no, 
toolbar=no);

}

function close_progress_window() {

if (progress_window != null) {
progress_window.close();
}

}

/script

body onUnload=close_progress_window();

form onSubmit=open_progress_window('Work+In+Progress...');
!-- form vars here --
/form

/body

//
// Source for progress.php

head

title?php echo $caption; ?/title

meta http-equiv=Content-Type content=text/html; charset=utf-8
meta http-equiv=Content-Style-Type content=text/css
meta http-equiv=Content-Script-Type content=text/javascript

style type=text/css

body {
background: #ff;
color: #00;
font-family: Arial, sans-serif;
}

td.ProgressOn {
background: #ff;
}

td.ProgressOff {
background: #ff;
}

td.PageHeader {
font-weight: bold;
font-size: 18px;
text-align: center;
padding-bottom: 10px;
}

/style

script type=text/javascript

function begin_progress() {

var i = 0;

setTimeout(update_progress( + i + , true), 100);

}

function update_progress(i, forward) {

if (forward) {
if (i == 0) { off = i; }
else { off = (i - 1); }
} else {
if (i == 19) { off = i; }
else { off = (i + 1); }
}

eval(document.all.td + off + .className = \ProgressOff\;);
eval(document.all.td + i + .className = \ProgressOn\;);

if (forward) {
if (i == 19) {
forward = false;
i--;
} else {
i++;
}
} else {
if (i == 0) {
forward = true;
i++;
} else {
i--;
}
}

setTimeout(update_progress( + i + ,  + forward + ), 100);

}

/script

/head

body onLoad=begin_progress();

table border=0 width=100% height=100% cellpadding=0 cellspacing=0
tr
td align=center valign=middle
table border=0 cellpadding=5 cellspacing=0
tr
td class=PageHeader?php echo $caption; ?/td
/tr
tr
td
table border=0 cellpadding=5 cellspacing=0 
style=border: 1px 
inset;
tr
?php
for ($i = 0; $i  20; $i++) {
echo td 
class=\ProgressOff\ id=\td.$i.\nbsp;/td\n;
}
?
/tr
/table
/td
/tr
/table
/td
/tr
/table

/body


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php