first commit

This commit is contained in:
aschwarz
2023-04-26 13:17:21 +02:00
commit 535741001e
1612 changed files with 820287 additions and 0 deletions

131
progress/ProgressClass.php Executable file
View File

@ -0,0 +1,131 @@
<?php
/* ___________________________________________________________________________
ProgressClass v1.0 - (c) 2002 Boris Wylutzki/www.edv-internet.de
___________________________________________________________________________
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
If you need a license for including this script in non-free software
please contact the author under www.edv-internet.de.
___________________________________________________________________________
*/
class ProgressClass {
var $_label='Bitte warten ...';
var $_percent=0;
var $_left='center';
var $_top='center-65';
var $_width=350;
var $_button='';
var $_button_url='';
var $_button_target='';
var $_drawn=false;
var $_key='';
var $_barcolor='#0000CC';
function ProgressClass() {
$this->_key=uniqid('P');
}
function setButton($label,$url,$target='_self') {
$this->_button=$label;
$this->_button_url=$url;
$this->_button_target=$target;
}
function setWidth($width) {
$this->_width=$width;
}
function setPosition($left=NULL,$top=NULL) {
if (isset($top)) $this->_top=$top;
if (isset($left)) $this->_left=$left;
}
function setLabel($label) {
if ($label!=$this->_label) {
if ($this->_drawn) {
$l=$this->_jss_single(htmlentities($label));
echo "<script type=\"text/javascript\">\n<!--\n{$this->_key}_setLabel('$l');\n// -->\n</script>";
flush();
}
$this->_label=$label;
}
}
function setBarColor($color) {
if ($color!=$this->_barcolor) {
if ($this->_drawn) {
echo "<script type=\"text/javascript\">\n<!--\n{$this->_key}_setBarColor('$color');\n// -->\n</script>";
flush();
}
$this->_barcolor=$color;
}
}
function setPercent($percent) {
if ($percent!=$this->_percent) {
if ($this->_drawn) {
echo "<script type=\"text/javascript\">\n<!--\n{$this->_key}_setPercent($percent);\n// -->\n</script>";
flush();
}
$this->_percent=$percent;
}
}
function setPerX($some,$all) {
$this->setPercent(round($some*100/$all));
}
function make($show=true) {
if ($this->_wrong_browser())
return false;
require(dirname(__FILE__).'/js.inc.php');
$this->_drawn=TRUE;
return true;
}
function hide() {
if ($this->_drawn) {
echo "<script type=\"text/javascript\">\n<!--\n{$this->_key}_hideProgress();\n// -->\n</script>";
flush();
}
}
function show() {
if ($this->_drawn) {
echo "<script type=\"text/javascript\">\n<!--\n{$this->_key}_showProgress();\n// -->\n</script>";
flush();
}
}
function _jss_single($html) {
$html=str_replace("\\","\\\\",$html);
$html=str_replace("\n",'',$html);
$html=str_replace("\r",'',$html);
$html=str_replace("'",'\\\'',$html);
return $html;
}
function _wrong_browser() {
//$browser=get_browser() OR die("<b>ProgressClass:</b> No browscap.ini installed - see www.php.net for help. A browscap.ini file is included in the ProgressClass package.");
// return (($browser->browser=='Netscape' && $browser->majorver<6) ||
// ($browser->browser=='IE' && $browser->majorver<5) ||
// (!$browser->javascript));
}
}
?>

BIN
progress/ProgressClass.zip Executable file

Binary file not shown.

269
progress/anleitung.htm Executable file
View File

@ -0,0 +1,269 @@
<html>
<head>
<title>ProgressClass v1.0 Anleitung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify}
.klein { font-family: Arial, Helvetica, sans-serif; font-size: 10px}
.ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold}
.unterueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; font-style: italic}
.code { font-family: "Courier New", Courier, mono; font-size: 14px; font-weight: bold; color: #000099; text-align: left}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p class="normal"><span class="ueberschrift">ProgressClass v1.0 Anleitung<br>
</span>
(c) 2002 Boris Wylutzki / www.edv-internet.de</p>
<table width="100%" border="0" bgcolor="#CCCCCC">
<tr>
<td>
<p class="klein">Dieses Programm ist freie Software. Sie k&ouml;nnen es unter den
Bedingungen der GNU General Public License, wie von der Free
Software Foundation ver&ouml;ffentlicht, weitergeben und/oder
modifizieren, entweder gem&auml;&szlig; Version 2 der Lizenz oder (nach
Ihrer Option) jeder sp&auml;teren Version.<br>
<br>
Die Ver&ouml;ffentlichung dieses Programms erfolgt in der
Hoffnung, da&szlig; es Ihnen von Nutzen sein wird, aber OHNE
IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der
MARKTREIFE oder der VERWENDBARKEIT F&Uuml;R EINEN BESTIMMTEN
ZWECK. Details finden Sie in der GNU General Public License.<br>
<br>
Sie sollten eine <a href="lizenz.txt">Kopie der GNU General Public License</a>
zusammen mit diesem Programm erhalten haben. Falls nicht,
schreiben Sie an die Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307, USA.<br>
<br>
Falls Sie eine Lizenz f&uuml;r die Verwendung in kostenpflichtigen Softwarepaketen ben&ouml;tigen, kontaktieren Sie bitte den Autor unter www.edv-internet.de.</p>
</td>
</tr>
</table>
<p class="unterueberschrift">Programmbeschreibung</p>
<p class="normal">ProgressClass stellt eine PHP-Klasse f&uuml;r die dynamische Anzeige und Ver&auml;nderung eines Fortschrittsbalkens zur Verf&uuml;gung. In einem Fenster im Windows-Stil kann noch w&auml;hrend der Laufzeit des Scripts der Fortschritt angezeigt werden, z.B. beim Laden/Ausgeben der Seite, Versenden von E-Mails oder Bearbeiten von Datenbanken. Am Ende der Seite kann der Fortschrittsbalken wieder ausgeblendet werden. Features: optionaler Abbrechen-Button; dynamische &Auml;nderung von Beschriftung, Farbe, Prozent; freie Gr&ouml;&szlig;e und Positionierung.</p>
<p class="unterueberschrift">Systemvoraussetzungen</p>
<p class="normal">Der Server ben&ouml;tigt PHP 4.x oder h&ouml;her incl. korrekt installierter aktueller <a href="https://www.garykeith.com/browsers/browscap.asp" target="_blank">browscap.ini</a>. Der Client ben&ouml;tigt den IE 5.x oder h&ouml;her bzw. Netscape 6.x oder h&ouml;her. Andere Browser-Hersteller sind nicht getestet. ProgressClass pr&uuml;ft selbst&auml;ndig die Browserversion und zeigt bei zu alter Version keinen Fortschrittsbalken an; eine eigene Browser&uuml;berpr&uuml;fung brauchen Sie nicht zu verwenden.</p>
<p class="unterueberschrift">Installation</p>
<p class="normal">Kopieren Sie einfach die Dateien <span class="code">ProgressClass.php</span> und <span class="code">js.inc.php</span> auf ihren Webspace.</p>
<p class="unterueberschrift">Anwendung</p>
<p class="normal">ProgressClass ist komplett objektorientiert. Es stellt eine Klasse zum Erzeugen, Bearbeiten und L&ouml;schen des Fortschrittsbalkens zur Verf&uuml;gung. Wenn mehrere Fortschrittsbalken ben&ouml;tigt werden, kann die Klasse auch ohne Probleme mehrmals instanziert werden (auch gleichzeitig). Grunds&auml;tzlich stellt sich der Einsatz folgenderma&szlig;en dar:</p>
<ol class="normal">
<li>Einbinden der Klasse:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">require('ProgressClass.php');</td>
</tr>
</table>
<br>
</li>
<li>Erzeugen einer Instanz der Klasse:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress=new ProgressClass();</td>
</tr>
</table>
<br>
</li>
<li>Einstellen der gew&uuml;nschten Optionen (siehe unten). Dieser Schritt ist optional, die Klasse ist mit Standardeinstellungen vorbelegt. Beispiel:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300);<br>
$progress-&gt;setPosition('center',20);<br>
... usw.
</td>
</tr>
</table>
<br>
</li>
<li>Fortschrittsbalken generieren und ausgeben:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
</li>
<li>&Auml;ndern der Prozentanzeige oder anderer Einstellungen:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">
<p>$progress-&gt;setPercent(10);<br>
...<br>
$progress-&gt;setPercent(45);<br>
...<br>
$progress-&gt;setPercent(80);<br>
$progress-&gt;setLabel('Speicher wird aufger&auml;umt ...');<br>
...<br>
$progress-&gt;setPercent(100);<br>
$progress-&gt;setLabel('Fertig!');
</p>
</td>
</tr>
</table>
<br>
</li>
<li>Fortschrittsbalken l&ouml;schen, so da&szlig; er nicht mehr im Browser angezeigt wird:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</li>
</ol>
<p class="unterueberschrift">Beschreibung der Funktionen</p>
<p class="code"><b>ProgressClass()</b></p>
<blockquote>
<p class="normal">Die Funktion wird durch Instanzieren der Klasse aufgerufen und nimmt interne Initialisierungen vor. Sie k&ouml;nnen beliebig viele Fortschrittsbalken (auch gleichzeitig) durch Instanzieren neuer Klassen erzeugen. Alle Fortschrittsbalken haben voneinander unabh&auml;nge Einstellungen und k&ouml;nnen getrennt angezeigt und ge&auml;ndert werden.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;new ProgressClass();</td>
</tr>
</table>
</blockquote>
<p class="code">setWidth($width);</p>
<blockquote>
<p class="normal">Definiert die Breite des Fortschrittbalkens (&auml;u&szlig;erer Rand des Fensters) in Pixeln. Standardeinstellung sind <i>350</i> Pixel.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300); </td>
</tr>
</table>
</blockquote>
<p class="code">setPosition($left=NULL,$top=NULL);</p>
<blockquote>
<p class="normal">Definiert die Position (obere linke Ecke) des Fortschrittsbalkens (&auml;u&szlig;erer Rand des Fensters) innerhalb des angezeigten Dokuments/Frames in Pixeln. Standardeinstellung ist <i>'center','center-65'</i>.</p>
<p class="normal">Der erste Parameter bezeichnet den Abstand der oberen linken Ecke zum linken Seitenrand, der zweite zum oberen Seitenrand. Sie k&ouml;nnen auch nur einen der Parameter angeben, der zweite beh&auml;lt dann die Standardeinstellung. Wenn Sie nur den zweiten Parameter angeben m&ouml;chten, mu&szlig; der erste <span class="code">NULL</span> sein.</p>
<p class="normal">Anstelle von absoluten Zahlen k&ouml;nnen Sie auch <span class="code">'center'</span> angeben, so da&szlig; das Fenster zentriert im Anzeigebereich angezeigt wird. M&ouml;glich ist sogar eine Kombination z.B. <span class="code">'center-30'</span>.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100,30);</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(NULL,30); // Standardeinstellung f&uuml;r $left beibehalten</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100); // Standardeinstellung f&uuml;r $top beibehalten</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition('center','center-30'); // Zentriert, etwas nach oben verschoben</td>
</tr>
</table>
</blockquote>
<p class="code">setButton($label,$url,$target='_self')</p>
<blockquote>
<p class="normal">F&uuml;gt dem Fortschrittsbalken einen Button hinzu, auf dessen Klick eine neue Seite ge&ouml;ffnet wird. Der Button kann z.B. mit <i>&quot;Abbrechen&quot;</i> beschriftet werden. Wenn er angeklickt wird, wird eine neue Seite geladen, so da&szlig; die Ausf&uuml;hrung der aktuellen Seite abgebrochen wird (nur wenn <i>target='_self'</i>).</p>
<p class="normal">Mit dem ersten Parameter wird die Beschriftung des Buttons, mit dem zweiten die Ziel-URL angegeben. Der optionale dritte Parameter bezeichnet das f&uuml;r den Link verwendete Target.</p>
<p class="normal">Der Aufruf dieser Funktion nach <span class="code">make()</span> hat keine Wirkung.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Abbrechen','/seiten/abbruch.php');</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Info','info.php','_blank');</td>
</tr>
</table>
</blockquote>
<p class="code">setPercent($percent)</p>
<blockquote>
<p class="normal">Definiert die Prozentanzeige des Fortschrittsbalkens. Standardeinstellung ist <i>0</i>.</p>
<p class="normal">Der Parameter mu&szlig; als Zahl, ohne Prozentzeichen angegeben werden.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Prozentanzeige dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPercent(25);</td>
</tr>
</table>
</blockquote>
<p class="code">setPerX($some,$all)</p>
<blockquote>
<p class="normal">Definiert die Prozentanzeige des Fortschrittsbalkens und rechnet daf&uuml;r die angegebenen Werte in Prozent um.</p>
<p class="normal">Der erste Parameter stellt die aktuelle Position von insgesamt soviel Positionen, wie der zweite Parameter bezeichnet, dar. Wenn Sie eine Datei oder ein MySQL-Result einlesen, &uuml;bergeben Sie f&uuml;r <span class="code">$all</span> die Anzahl der Eintr&auml;ge und f&uuml;r <span class="code">$some</span> die aktuelle Position des Dateizeigers/Result-Zeigers.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Prozentanzeige dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$gesamt=1500;<br>
for ($i=1;$i&lt;=$gesamt;$i++)<br>
&nbsp;&nbsp;$progress-&gt;setPerX($i,$gesamt);</td>
</tr>
</table>
</blockquote>
<p class="code">setLabel($label)</p>
<blockquote>
<p class="normal">Definiert die Beschriftung des Fortschrittsbalkens. Standardeinstellung ist <i>&quot;Bitte warten ...&quot;</i></p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um das Label dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setLabel('Seite wird geladen ...');</td>
</tr>
</table>
</blockquote>
<p class="code">setBarColor($color)</p>
<blockquote>
<p class="normal">Definiert die Farbe des Fortschrittsbalkens. Standardeinstellung ist <i>dunkelblau</i>.</p>
<p class="normal">Die Farbe mu&szlig; als HTML-Color-Code angegeben werden.</p>
<p class="normal">Diese Funktion kann auch nach <span class="code">make()</span> noch &ouml;fter aufgerufen werden, um die Farbe dynamisch zu &auml;ndern (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setBarColor('#FF0000'); // rot</td>
</tr>
</table>
</blockquote>
<p class="code">hide()</p>
<blockquote>
<p class="normal">Macht den Fortschrittsbalken unsichtbar. Sollte am Ende der Ausgabe aufgerufen werden, damit der Besucher die Seite ohne den Fortschrittsbalken betrachten kann.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<p class="normal">Diese Funktion sollte nur nach <span class="code">make()</span> aufgerufen werden (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</blockquote>
<p class="code">show()</p>
<blockquote>
<p class="normal">Macht den Fortschrittsbalken sichtbar und ist z.B. sinnvoll, wenn vorher make(false) aufgerufen wurde.</p>
<p class="normal">Ben&ouml;tigt keine Parameter.</p>
<p class="normal">Diese Funktion sollte nur nach <span class="code">make()</span> aufgerufen werden (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;show();</td>
</tr>
</table>
</blockquote>
<p class="code"><b>make($show=true)</b></p>
<blockquote>
<p class="normal">Erstellt den Fortschrittsbalken und gibt ihn an den Browser aus.</p>
<p class="normal"><b><font color="#FF0000">Wichtig:</font> Die Funktion darf erst aufgerufen werden, nachdem der &lt;body&gt;-Tag an den Browser gesendet wurde!</b></p>
<p class="normal">Optional kann durch den Parameter angegeben werden, ob der Fortschrittsbalken auch gleich sichtbar angezeigt wird. Standardeinstellung ist <span class="code">true</span> (= Ja).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make(false); // Nur ausgeben, noch nicht anzeigen.</td>
</tr>
</table>
</blockquote>
<p>&nbsp;</p>
</body>
</html>

36
progress/beispiel1.php Executable file
View File

@ -0,0 +1,36 @@
<? require("ProgressClass.php"); ?>
<html>
<head>
<title>ProgressClass v1.0 - Beispiel 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font-family: Arial, Helvetica, sans-serif; font-size: 12px}
.ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold}
.unterueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; font-style: italic}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p class="ueberschrift">ProgressClass v1.0 - Beispiel 1</p>
<p class="unterueberschrift">Dieses Script benutzt die Standardeinstellungen von ProgressClass.<br>
(funktioniert nur ab IE 5.x oder Netscape 6.x)</p>
<?
$progress=new ProgressClass();
$progress->make();
?>
<p class="normal">
<?
$blindtext="Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. ";
$blindtext=str_repeat($blindtext,50);
for ($i=0;$i<=strlen($blindtext)-1;$i+=10) {
usleep(100);
echo substr($blindtext,$i,10);
$progress->setPerX($i,strlen($blindtext)-1);
}
$progress->hide();
?>
</p>
</body>
</html>

61
progress/beispiel2.php Executable file
View File

@ -0,0 +1,61 @@
<? require("ProgressClass.php"); ?>
<html>
<head>
<title>ProgressClass v1.0 - Beispiel 2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font-family: Arial, Helvetica, sans-serif; font-size: 12px}
.ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold}
.unterueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; font-style: italic}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p class="ueberschrift">ProgressClass v1.0 - Beispiel 2</p>
<p class="unterueberschrift">Fortschrittsbalken mit Button, dynamischer Beschriftung und Farbe.<br>
(funktioniert nur ab IE 5.x oder Netscape 6.x)
</p>
<?
if ($break) {
echo '<p class="normal"><b><font color="red">Aktion abgebrochen.</font></b></p></body></html>';
exit();
}
function send($email) {
global $progress;
echo "Sende E-Mail an $email ... OK<br>";
$progress->setLabel("Sende E-Mail an $email ...");
}
$progress=new ProgressClass();
$progress->setButton('Abbrechen',""; echo $_SERVER['PHP_SELF'] . "?break=1");
$progress->setLabel('E-Mails vorbereiten ...');
$progress->make();
?>
<p class="normal">
<?
for ($i=1;$i<=100;$i++) {
usleep(100000);
if ($i==10) send('paulmueller@domain.de');
if ($i==20) send('lisa@springfield.de');
if ($i==30) send('donald@entenhausen.de');
if ($i==40) send('marketing@firma.de');
if ($i==50) send('dr.peter@arzt.de');
if ($i==60) send('schueler@schule.de');
if ($i==70) send('lehrer@schule.de');
if ($i==80) send('niemand@world.de');
if ($i==90) send('xxx@yyy.de');
$progress->setPercent($i);
$progress->setBarColor('#'.dechex(100-$i+156).dechex($i+80).'00');
}
$progress->setLabel('Fertig!');
sleep(1);
$progress->hide();
?>
</p>
<p class="normal">
Die Anzeige diente nur zur Demonstration. Es wurden nicht wirklich E-Mails versandt.
</body>
</html>

28
progress/js.inc.php Executable file
View File

@ -0,0 +1,28 @@
<?php
/* ___________________________________________________________________________
ProgressClass v1.0 - (c) 2002 Boris Wylutzki/www.edv-internet.de
___________________________________________________________________________
*/
$key = $this->_key;
$width = $this->_width;
$height = ($this->_button?106:63);
$top = str_replace('center',"parseInt(((document.all?document.body.offsetHeight:window.innerHeight)-$height)/2)",$this->_top);
$left = str_replace('center',"parseInt(((document.all?document.body.offsetWidth:window.innerWidth)-$width)/2)",$this->_left);
$button = $this->_jss_single(htmlentities($this->_button));
$button_url = $this->_jss_single($this->_button_url);
$button_target = str_replace('_self','self',$this->_button_target);
$button_target = str_replace('_top','top',$button_target);
$button_target = str_replace('_parent','parent',$button_target);
$button_target = $this->_jss_single($this->_jss_single($button_target));
$label = $this->_jss_single($this->_jss_single($this->_label));
$visibility = ($show?'visible':'hidden');
// ----------------------------------------------------------------------------
$js="<script type=\"text/javascript\">\n<!--\n// -------------------------------------------------------------------------\n// ProgressClass v1.0 JavaScript (c) 2002 Boris Wylutzki/www.edv-internet.de\n// -------------------------------------------------------------------------\nfunction {$key}_getObj(obj){if(document.all)return document.all['{$key}_'+obj];else return document.getElementById('{$key}_'+obj);}function {$key}_setPercent(percent){{$key}_getObj('bar').width=percent+'%';{$key}_getObj('percent').innerHTML=percent+' %';}function {$key}_setBarColor(color){{$key}_getObj('bar').bgColor=color;}function {$key}_setLabel(label){{$key}_getObj('label').innerHTML=label;}function {$key}_holdPosition(){if(document.all){document.all.{$key}_progress.style.pixelTop=document.body.scrollTop+$top;document.all.{$key}_progress.style.pixelLeft=document.body.scrollLeft+$left;}else{document.getElementById('{$key}_progress').style.top=(window.pageYOffset+$top)+'px';document.getElementById('{$key}_progress').style.left=(window.pageXOffset+$left)+'px';}}function {$key}_hideProgress(){{$key}_getObj('progress').style.visibility='hidden';}function {$key}_showProgress(){{$key}_getObj('progress').style.visibility='visible';}if(document.all){window.onscroll={$key}_holdPosition;window.onresize={$key}_holdPosition;}else setInterval('{$key}_holdPosition()',100);";$js.='document.write(\'<div id="'.$key.'_progress" style="position:absolute; z-index:1; left: \'+('.$left.')+\'px; top: \'+('.$top.')+\'px; visibility: '.$visibility.'">';if ($button)$js.='<form name="" action="">';$js.='<table width="'.$width.'" border="0" cellspacing="0" cellpadding="0" bgcolor="#D4D0C8" style="border: 1px solid; border-color: #D4D0C8 #404040 #404040 #D4D0C8"><tr><td><table width="100%" cellspacing="0" cellpadding="10" border="0" style="border: 1px solid; border-color: #FFFFFF #808080 #808080 #FFFFFF"><tr><td><table width="100%" cellspacing="0" cellpadding="0" border="0" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px"><tr><td id="'.$key.'_label">'.$label.'</td><td align="right" valign="bottom" id="'.$key.'_percent">'.$this->_percent.' %</td></tr></table><table width="100%" cellspacing="0" cellpadding="2" border="0" style="border: 1px solid; border-color: #808080 #FFFFFF #FFFFFF #808080"><tr><td><table id="'.$key.'_bar" width="'.$this->_percent.'%" height="18" border="0" cellspacing="0" cellpadding="0" bgcolor="'.$this->_barcolor.'"><tr><td></td></tr></table></td></tr></table>';if ($button)$js.='<p align="center"><input type="button" value="'.$button.'" class="text" onClick="'.$button_target.'.location.href=\\\''.$button_url.'\\\'"></p>';$js.='</td></tr></table></td></tr></table>';if ($button)$js.='</form>';$js.="</div>');\n// -->\n</script>";
echo $js;
flush();
?>

342
progress/license.txt Executable file
View File

@ -0,0 +1,342 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

469
progress/lizenz.txt Executable file
View File

@ -0,0 +1,469 @@
GNU General Public License
Deutsche <20>bersetzung der Version 2, Juni 1991
Copyright <20> 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
Es ist jedermann gestattet, diese Lizenzurkunde zu vervielf<6C>ltigen und
unver<EFBFBD>nderte Kopien zu verbreiten; <20>nderungen sind jedoch nicht
erlaubt.
Diese <20>bersetzung ist kein rechtskr<6B>ftiger Ersatz f<>r die
englischsprachige Originalversion!
Vorwort
Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die
Freiheit zu nehmen, die Software weiterzugeben und zu ver<65>ndern. Im
Gegensatz dazu soll Ihnen die GNU General Public License , die
Allgemeine <20>ffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie
soll sicherstellen, da<64> die Software f<>r alle Benutzer frei ist. Diese
Lizenz gilt f<>r den Gro<72>teil der von der Free Software Foundation
herausgegebenen Software und f<>r alle anderen Programme, deren Autoren
ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie k<>nnen diese
M<EFBFBD>glichkeit der Lizenzierung f<>r Ihre Programme anwenden. (Ein anderer
Teil der Software der Free Software Foundation unterliegt stattdessen
der GNU Library General Public License , der Allgemeinen <20>ffentlichen
GNU-Lizenz f<>r Bibliotheken.) [Mittlerweile wurde die GNU Library
Public License von der GNU Lesser Public License abgel<65>st - Anmerkung
des <20>bersetzers.]
Die Bezeichnung ,,freie`` Software bezieht sich auf Freiheit, nicht auf
den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren,
Kopien freier Software zu verbreiten (und etwas f<>r diesen Service zu
berechnen, wenn Sie m<>chten), die M<>glichkeit, die Software im
Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die
Lizenzen sollen garantieren, da<64> Sie die Software <20>ndern oder Teile
davon in neuen freien Programmen verwenden d<>rfen - und da<64> Sie wissen,
da<EFBFBD> Sie dies alles tun d<>rfen.
Um Ihre Rechte zu sch<63>tzen, m<>ssen wir Einschr<68>nkungen machen, die es
jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie
aufzufordern, auf diese Rechte zu verzichten. Aus diesen
Einschr<EFBFBD>nkungen folgen bestimmte Verantwortlichkeiten f<>r Sie, wenn Sie
Kopien der Software verbreiten oder sie ver<65>ndern.
Beispielsweise m<>ssen Sie den Empf<70>ngern alle Rechte gew<65>hren, die Sie
selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines
solchen Programms verbreiten. Sie m<>ssen sicherstellen, da<64> auch die
Empf<EFBFBD>nger den Quelltext erhalten bzw. erhalten k<>nnen. Und Sie m<>ssen
ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen.
Wir sch<63>tzen Ihre Rechte in zwei Schritten: (1) Wir stellen die
Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen
diese Lizenz an, die Ihnen das Recht gibt, die Software zu
vervielf<EFBFBD>ltigen, zu verbreiten und/oder zu ver<65>ndern.
Um die Autoren und uns zu sch<63>tzen, wollen wir dar<61>berhinaus
sicherstellen, da<64> jeder erf<72>hrt, da<64> f<>r diese freie Software
keinerlei Garantie besteht. Wenn die Software von jemand anderem
modifiziert und weitergegeben wird, m<>chten wir, da<64> die Empf<70>nger
wissen, da<64> sie nicht das Original erhalten haben, damit irgendwelche
von anderen verursachte Probleme nicht den Ruf des urspr<70>nglichen
Autors sch<63>digen.
Schlie<EFBFBD>lich und endlich ist jedes freie Programm permanent durch
Software-Patente bedroht. Wir m<>chten die Gefahr ausschlie<69>en, da<64>
Distributoren eines freien Programms individuell Patente lizensieren -
mit dem Ergebnis, da<64> das Programm propriet<65>r w<>rde. Um dies zu
verhindern, haben wir klargestellt, da<64> jedes Patent entweder f<>r freie
Benutzung durch jedermann lizenziert werden mu<6D> oder <20>berhaupt nicht
lizenziert werden darf.
Es folgen die genauen Bedingungen f<>r die Vervielf<6C>ltigung, Verbreitung
und Bearbeitung:
Allgemeine <20>ffentliche GNU-Lizenz Bedingungen f<>r die Vervielf<6C>ltigung,
Verbreitung und Bearbeitung
<EFBFBD>0. Diese Lizenz gilt f<>r jedes Programm und jedes andere Datenwerk, in
dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist,
da<EFBFBD> das Datenwerk unter den Bestimmungen dieser General Public License
verbreitet werden darf. Im folgenden wird jedes derartige Programm oder
Datenwerk als ,,das Programm`` bezeichnet; die Formulierung ,,auf dem
Programm basierendes Datenwerk`` bezeichnet das Programm sowie jegliche
Bearbeitung des Programms im urheberrechtlichen Sinne, also ein
Datenwerk, welches das Programm, auch auszugsweise, sei es unver<65>ndert
oder ver<65>ndert und/oder in eine andere Sprache <20>bersetzt, enth<74>lt. (Im
folgenden wird die <20>bersetzung ohne Einschr<68>nkung als ,,Bearbeitung``
eingestuft.) Jeder Lizenznehmer wird im folgenden als ,,Sie``
angesprochen.
Andere Handlungen als Vervielf<6C>ltigung, Verbreitung und Bearbeitung
werden von dieser Lizenz nicht ber<65>hrt; sie fallen nicht in ihren
Anwendungsbereich. Der Vorgang der Ausf<73>hrung des Programms wird nicht
eingeschr<EFBFBD>nkt, und die Ausgaben des Programms unterliegen dieser Lizenz
nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk
darstellt (unabh<62>ngig davon, da<64> die Ausgabe durch die Ausf<73>hrung des
Programmes erfolgte). Ob dies zutrifft, h<>ngt von den Funktionen des
Programms ab.
<EFBFBD>1. Sie d<>rfen auf beliebigen Medien unver<65>nderte Kopien des
Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und
verbreiten. Voraussetzung hierf<72>r ist, da<64> Sie mit jeder Kopie einen
entsprechenden Copyright-Vermerk sowie einen Haftungsausschlu<6C>
ver<EFBFBD>ffentlichen, alle Vermerke, die sich auf diese Lizenz und das
Fehlen einer Garantie beziehen, unver<65>ndert lassen und desweiteren
allen anderen Empf<70>ngern des Programms zusammen mit dem Programm eine
Kopie dieser Lizenz zukommen lassen.
Sie d<>rfen f<>r den eigentlichen Kopiervorgang eine Geb<65>hr verlangen.
Wenn Sie es w<>nschen, d<>rfen Sie auch gegen Entgeld eine Garantie f<>r
das Programm anbieten.
<EFBFBD>2. Sie d<>rfen Ihre Kopie(n) des Programms oder eines Teils davon
ver<EFBFBD>ndern, wodurch ein auf dem Programm basierendes Datenwerk entsteht;
Sie d<>rfen derartige Bearbeitungen unter den Bestimmungen von Paragraph
1 vervielf<6C>ltigen und verbreiten, vorausgesetzt, da<64> zus<75>tzlich alle im
folgenden genannten Bedingungen erf<72>llt werden:
1.
Sie m<>ssen die ver<65>nderten Dateien mit einem auff<66>lligen Vermerk
versehen, der auf die von Ihnen vorgenommene Modifizierung und das
Datum jeder <20>nderung hinweist.
2.
Sie m<>ssen daf<61>r sorgen, da<64> jede von Ihnen verbreitete oder
ver<65>ffentlichte Arbeit, die ganz oder teilweise von dem Programm
oder Teilen davon abgeleitet ist, Dritten gegen<65>ber als Ganzes
unter den Bedingungen dieser Lizenz ohne Lizenzgeb<65>hren zur
Verf<72>gung gestellt wird.
3.
Wenn das ver<65>nderte Programm normalerweise bei der Ausf<73>hrung
interaktiv Kommandos einliest, m<>ssen Sie daf<61>r sorgen, da<64> es,
wenn es auf dem <20>blichsten Wege f<>r solche interaktive Nutzung
gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen
geeigneten Copyright-Vermerk enth<74>lt sowie einen Hinweis, da<64> es
keine Gew<65>hrleistung gibt (oder anderenfalls, da<64> Sie Garantie
leisten), und da<64> die Benutzer das Programm unter diesen
Bedingungen weiter verbreiten d<>rfen. Auch mu<6D> der Benutzer darauf
hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann.
(Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber
normalerweise keine derartige Meldung ausgibt, mu<6D> Ihr auf dem
Programm basierendes Datenwerk auch keine solche Meldung
ausgeben).
Diese Anforderungen gelten f<>r das bearbeitete Datenwerk als Ganzes.
Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm
abgeleitet sind und vern<72>nftigerweise als unabh<62>ngige und eigenst<73>ndige
Datenwerke f<>r sich selbst zu betrachten sind, dann gelten diese Lizenz
und ihre Bedingungen nicht f<>r die betroffenen Teile, wenn Sie diese
als eigenst<73>ndige Datenwerke weitergeben. Wenn Sie jedoch dieselben
Abschnitte als Teil eines Ganzen weitergeben, das ein auf dem Programm
basierendes Datenwerk darstellt, dann mu<6D> die Weitergabe des Ganzen
nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen f<>r
weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden -
und somit auf jeden einzelnen Teil, unabh<62>ngig vom jeweiligen Autor.
Somit ist es nicht die Absicht dieses Abschnittes, Rechte f<>r
Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte f<>r Datenwerke
streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr
ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von
Datenwerken, die auf dem Programm basieren oder unter seiner
auszugsweisen Verwendung zusammengestellt worden sind, auszu<7A>ben.
Ferner bringt auch das einfache Zusammenlegen eines anderen
Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder
einem auf dem Programm basierenden Datenwerk auf ein- und demselben
Speicher- oder Vertriebsmedium dieses andere Datenwerk nicht in den
Anwendungsbereich dieser Lizenz.
<EFBFBD>3. Sie d<>rfen das Programm (oder ein darauf basierendes Datenwerk
gem<EFBFBD><EFBFBD> Paragraph 2) als Objectcode oder in ausf<73>hrbarer Form unter den
Bedingungen der Paragraphen 1 und 2 kopieren und weitergeben -
vorausgesetzt, da<64> Sie au<61>erdem eine der folgenden Leistungen
erbringen:
1.
Liefern Sie das Programm zusammen mit dem vollst<73>ndigen
zugeh<65>rigen maschinenlesbaren Quelltext auf einem f<>r den
Datenaustausch <20>blichen Medium aus, wobei die Verteilung unter den
Bedingungen der Paragraphen 1 und 2 erfolgen mu<6D>. Oder:
2.
Liefern Sie das Programm zusammen mit einem mindestens drei Jahre
lang g<>ltigen schriftlichen Angebot aus, jedem Dritten eine
vollst<73>ndige maschinenlesbare Kopie des Quelltextes zur Verf<72>gung
zu stellen - zu nicht h<>heren Kosten als denen, die durch den
physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter
den Bedingungen der Paragraphen 1 und 2 auf einem f<>r den
Datenaustausch <20>blichen Medium weitergegeben wird. Oder:
3.
Liefern Sie das Programm zusammen mit dem schriftlichen Angebot
der Zurverf<72>gungstellung des Quelltextes aus, das Sie selbst
erhalten haben. (Diese Alternative ist nur f<>r nicht-kommerzielle
Verbreitung zul<75>ssig und nur, wenn Sie das Programm als Objectcode
oder in ausf<73>hrbarer Form mit einem entsprechenden Angebot gem<65><6D>
Absatz b erhalten haben.)
Unter dem Quelltext eines Datenwerkes wird diejenige Form des
Datenwerkes verstanden, die f<>r Bearbeitungen vorzugsweise verwendet
wird. F<>r ein ausf<73>hrbares Programm bedeutet ,,der komplette
Quelltext``: Der Quelltext aller im Programm enthaltenen Module
einschlie<EFBFBD>lich aller zugeh<65>rigen Modulschnittstellen-Definitionsdateien
sowie der zur Compilation und Installation verwendeten Skripte. Als
besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von
dem zu enthalten, was <20>blicherweise (entweder als Quelltext oder in
bin<EFBFBD>rer Form) zusammen mit den Hauptkomponenten des Betriebssystems
(Kernel, Compiler usw.) geliefert wird, unter dem das Programm l<>uft -
es sei denn, diese Komponente selbst geh<65>rt zum ausf<73>hrbaren Programm.
Wenn die Verbreitung eines ausf<73>hrbaren Programms oder von Objectcode
dadurch erfolgt, da<64> der Kopierzugriff auf eine daf<61>r vorgesehene
Stelle gew<65>hrt wird, so gilt die Gew<65>hrung eines gleichwertigen
Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn
Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem
Objectcode zu kopieren.
<EFBFBD>4. Sie d<>rfen das Programm nicht vervielf<6C>ltigen, ver<65>ndern, weiter
lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz
ausdr<EFBFBD>cklich gestattet ist. Jeder anderweitige Versuch der
Vervielf<EFBFBD>ltigung, Modifizierung, Weiterlizenzierung und Verbreitung ist
nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch
werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter
dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz
voll anerkennen und befolgen.
<EFBFBD>5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie
nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die
Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu
ver<EFBFBD>ndern oder zu verbreiten. Diese Handlungen sind gesetzlich
verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das
Programm (oder ein darauf basierendes Datenwerk) ver<65>ndern oder
verbreiten, erkl<6B>ren Sie Ihr Einverst<73>ndnis mit dieser Lizenz und mit
allen ihren Bedingungen bez<65>glich der Vervielf<6C>ltigung, Verbreitung und
Ver<EFBFBD>nderung des Programms oder eines darauf basierenden Datenwerks.
<EFBFBD>6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm
basierendes Datenwerk) weitergeben, erh<72>lt der Empf<70>nger automatisch
vom urspr<70>nglichen Lizenzgeber die Lizenz, das Programm entsprechend
den hier festgelegten Bestimmungen zu vervielf<6C>ltigen, zu verbreiten
und zu ver<65>ndern. Sie d<>rfen keine weiteren Einschr<68>nkungen der
Durchsetzung der hierin zugestandenen Rechte des Empf<70>ngers vornehmen.
Sie sind nicht daf<61>r verantwortlich, die Einhaltung dieser Lizenz durch
Dritte durchzusetzen.
<EFBFBD>7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer
Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen
begrenzt) Bedingungen (durch Gerichtsbeschlu<6C>, Vergleich oder
anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz
widersprechen, so befreien Sie diese Umst<73>nde nicht von den
Bestimmungen dieser Lizenz. Wenn es Ihnen nicht m<>glich ist, das
Programm unter gleichzeitiger Beachtung der Bedingungen in dieser
Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann
d<EFBFBD>rfen Sie als Folge das Programm <20>berhaupt nicht verbreiten. Wenn zum
Beispiel ein Patent nicht die geb<65>hrenfreie Weiterverbreitung des
Programms durch diejenigen erlaubt, die das Programm direkt oder
indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl
das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die
Verbreitung des Programms zu verzichten.
Sollte sich ein Teil dieses Paragraphen als ung<6E>ltig oder unter
bestimmten Umst<73>nden nicht durchsetzbar erweisen, so soll dieser
Paragraph seinem Sinne nach angewandt werden; im <20>brigen soll dieser
Paragraph als Ganzes gelten.
Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche
Patente oder andere Eigentumsanspr<70>che zu verletzen oder die G<>ltigkeit
solcher Anspr<70>che zu bestreiten; dieser Paragraph hat einzig den Zweck,
die Integrit<69>t des Verbreitungssystems der freien Software zu sch<63>tzen,
das durch die Praxis <20>ffentlicher Lizenzen verwirklicht wird. Viele
Leute haben gro<72>z<EFBFBD>gige Beitr<74>ge zu dem gro<72>en Angebot der mit diesem
System verbreiteten Software im Vertrauen auf die konsistente Anwendung
dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob
er die Software mittels irgendeines anderen Systems verbreiten will;
ein Lizenznehmer hat auf diese Entscheidung keinen Einflu<6C>.
Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als
Konsequenz aus dem Rest dieser Lizenz betrachtet wird.
<EFBFBD>8. Wenn die Verbreitung und/oder die Benutzung des Programms in
bestimmten Staaten entweder durch Patente oder durch urheberrechtlich
gesch<EFBFBD>tzte Schnittstellen eingeschr<68>nkt ist, kann der
Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat,
eine explizite geographische Begrenzung der Verbreitung angeben, in der
diese Staaten ausgeschlossen werden, so da<64> die Verbreitung nur
innerhalb und zwischen den Staaten erlaubt ist, die nicht
ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die
Beschr<EFBFBD>nkung, als w<>re sie in diesem Text niedergeschrieben.
<EFBFBD>9. Die Free Software Foundation kann von Zeit zu Zeit <20>berarbeitete
und/oder neue Versionen der General Public License ver<65>ffentlichen.
Solche neuen Versionen werden vom Grundprinzip her der gegenw<6E>rtigen
entsprechen, k<>nnen aber im Detail abweichen, um neuen Problemen und
Anforderungen gerecht zu werden.
Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in
einem Programm angegeben wird, da<64> es dieser Lizenz in einer bestimmten
Versionsnummer oder ,,jeder sp<73>teren Version`` (``any later version'')
unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der
genannten Version zu folgen oder denen jeder beliebigen sp<73>teren
Version, die von der Free Software Foundation ver<65>ffentlicht wurde.
Wenn das Programm keine Versionsnummer angibt, k<>nnen Sie eine
beliebige Version w<>hlen, die je von der Free Software Foundation
ver<EFBFBD>ffentlicht wurde.
<EFBFBD>10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien
Programmen zu verwenden, deren Bedingungen f<>r die Verbreitung anders
sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten.
F<EFBFBD>r Software, die unter dem Copyright der Free Software Foundation
steht, schreiben Sie an die Free Software Foundation ; wir machen zu
diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den
beiden Zielen geleitet werden, zum einen den freien Status aller von
unserer freien Software abgeleiteten Datenwerke zu erhalten und zum
anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software
im allgemeinen zu f<>rdern.
Keine Gew<65>hrleistung
<EFBFBD>11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht
keinerlei Gew<65>hrleistung f<>r das Programm, soweit dies gesetzlich
zul<EFBFBD>ssig ist. Sofern nicht anderweitig schriftlich best<73>tigt, stellen
die Copyright-Inhaber und/oder Dritte das Programm so zur Verf<72>gung,
,,wie es ist``, ohne irgendeine Gew<65>hrleistung, weder ausdr<64>cklich noch
implizit, einschlie<69>lich - aber nicht begrenzt auf - Marktreife oder
Verwendbarkeit f<>r einen bestimmten Zweck. Das volle Risiko bez<65>glich
Qualit<EFBFBD>t und Leistungsf<73>higkeit des Programms liegt bei Ihnen. Sollte
sich das Programm als fehlerhaft herausstellen, liegen die Kosten f<>r
notwendigen Service, Reparatur oder Korrektur bei Ihnen.
<EFBFBD>12. In keinem Fall, au<61>er wenn durch geltendes Recht gefordert oder
schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein
Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet
hat, Ihnen gegen<65>ber f<>r irgendwelche Sch<63>den haftbar, einschlie<69>lich
jeglicher allgemeiner oder spezieller Sch<63>den, Sch<63>den durch
Seiteneffekte (Nebenwirkungen) oder Folgesch<63>den, die aus der Benutzung
des Programms oder der Unbenutzbarkeit des Programms folgen
(einschlie<69>lich - aber nicht beschr<68>nkt auf - Datenverluste,
fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder
anderen getragen werden m<>ssen, oder dem Unverm<72>gen des Programms, mit
irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein
Copyright-Inhaber oder Dritter <20>ber die M<>glichkeit solcher Sch<63>den
unterrichtet worden war.
Ende der Bedingungen
Anhang: Wie Sie diese Bedingungen auf Ihre eigenen, neuen Programme
anwenden k<>nnen
Wenn Sie ein neues Programm entwickeln und wollen, da<64> es vom
gr<EFBFBD><EFBFBD>tm<EFBFBD>glichen Nutzen f<>r die Allgemeinheit ist, dann erreichen Sie das
am besten, indem Sie es zu freier Software machen, die jeder unter
diesen Bestimmungen weiterverbreiten und ver<65>ndern kann.
Um dies zu erreichen, f<>gen Sie die folgenden Vermerke zu Ihrem
Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden
Quelldatei zu stellen, um den Gew<65>hrleistungsausschlu<6C> m<>glichst
deutlich darzustellen; zumindest aber sollte jede Datei eine Copyright-
Zeile besitzen sowie einen kurzen Hinweis darauf, wo die vollst<73>ndigen
Vermerke zu finden sind.
[eine Zeile mit dem Programmnamen und einer kurzen
Beschreibung]
Copyright (C) [Jahr] [Name des Autors]
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307, USA.
Auf Deutsch:
[eine Zeile mit dem Programmnamen und einer kurzen
Beschreibung]
Copyright (C) [Jahr] [Name des Autors]
Dieses Programm ist freie Software. Sie k<>nnen es unter den
Bedingungen der GNU General Public License, wie von der Free
Software Foundation ver<65>ffentlicht, weitergeben und/oder
modifizieren, entweder gem<65><6D> Version 2 der Lizenz oder (nach
Ihrer Option) jeder sp<73>teren Version.
Die Ver<65>ffentlichung dieses Programms erfolgt in der
Hoffnung, da<64> es Ihnen von Nutzen sein wird, aber OHNE
IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der
MARKTREIFE oder der VERWENDBARKEIT F<>R EINEN BESTIMMTEN
ZWECK. Details finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License
zusammen mit diesem Programm erhalten haben. Falls nicht,
schreiben Sie an die Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307, USA.
F<EFBFBD>gen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per
Brief erreichbar sind.
Wenn Ihr Programm interaktiv ist, sorgen Sie daf<61>r, da<64> es nach dem
Start einen kurzen Vermerk ausgibt:
version 69, Copyright (C) [Jahr] [Name des Autors]
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome to
redistribute it under certain conditions; type `show c' for
details.
Auf Deutsch:
Version 69, Copyright (C) [Jahr] [Name des Autors] F<>r
Gnomovision besteht KEINERLEI GARANTIE; geben Sie `show w'
f<>r Details ein. Gnonovision ist freie Software, die Sie
unter bestimmten Bedingungen weitergeben d<>rfen; geben Sie
`show c' f<>r Details ein.
Die hypothetischen Kommandos `show w' und `show c' sollten die
entsprechenden Teile der GNU-GPL anzeigen. Nat<61>rlich k<>nnen die von
Ihnen verwendeten Kommandos anders hei<65>en als `show w' und `show c'; es
k<EFBFBD>nnten auch Mausklicks oder Men<65>punkte sein - was immer am besten in
Ihr Programm pa<70>t.
Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als
Programmierer arbeiten) oder Ihre Schule einen Copyright-Verzicht f<>r
das Programm unterschreiben lassen. Hier ein Beispiel. Die Namen m<>ssen
Sie nat<61>rlich <20>ndern.
Yoyodyne, Inc., hereby disclaims all copyright interest in
the program `Gnomovision' (which makes passes at compilers)
written by James Hacker.
[Unterschrift von Ty Coon], 1 April 1989
Ty Coon, President of Vice
Auf Deutsch:
Die Yoyodyne GmbH erhebt keinen urheberrechtlichen Anspruch
auf das von James Hacker geschriebene Programm ,Gnomovision`
(einem Schrittmacher f<>r Compiler).
[Unterschrift von Ty Coon], 1. April 1989
Ty Coon, Vizepr<70>sident
Diese General Public License gestattet nicht die Einbindung des
Programms in propriet<65>re Programme. Ist Ihr Programm eine
Funktionsbibliothek, so kann es sinnvoller sein, das Binden
propriet<EFBFBD>rer Programme mit dieser Bibliothek zu gestatten. Wenn Sie
dies tun wollen, sollten Sie die GNU Library General Public License
anstelle dieser Lizenz verwenden.

317
progress/readme.htm Executable file
View File

@ -0,0 +1,317 @@
<!-- saved from url=(0022)https://internet.e-mail -->
<html>
<head>
<title>ProgressClass v1.0 Anleitung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify}
.klein { font-family: Arial, Helvetica, sans-serif; font-size: 10px}
.ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold}
.unterueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; font-style: italic}
.code { font-family: "Courier New", Courier, mono; font-size: 14px; font-weight: bold; color: #000099; text-align: left}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p class="normal"><span class="ueberschrift">ProgressClass v1.0 Manual<br>
</span> (c) 2002 by Boris Wylutzki / www.edv-internet.de --- english translation by <a href="mailto:lukas.schmidt123@web.de">L. Schmidt</a></p>
<table width="100%" border="0" bgcolor="#CCCCCC">
<tr>
<td> <p class="klein">This program is freeware. You can modify or pass it
on under the conditions of the GNU general Public License, published by
the Free Software Foundation, either in accordance with version 2 of the
license or (after your option) each later version.<br>
<br>
The publication of this program takes place in the hope that it will be
useful for you, but WITHOUT ANY GUARANTEE, even without the implicit guarantee
of being ready for the market or the USABILITY FOR A CERTAIN PURPOSE.
You can find details in the GNU general Public License. <br>
<br>
You should have received a <a href="license.txt">copy of the GNU general
Public License</a> together with this program. If not, write the Free
software Foundation, Inc., 59 Temple Place, suite 330, Boston, MA 02111-1307,
USA.<br>
<br>
If you need a license for using the application in payable software packages,
please contact the author via www.edv-internet.de.</p>
</td>
</tr>
</table>
<p class="unterueberschrift">Program-description </p>
<p class="normal">ProgressClass makes a PHP-Class for the dynamic display and
change of a progress bar available. In a Windows-styled window, the progress
can even be shown during the execution of the scripts, for example with the
loading or the output of the file, sending of e-mails or processing of data
bases. The progress bar can be faded out at the end of the side. Features: optional
abort button; dynamic change of label, color, percent; free size and positioning.
</p>
<p class="unterueberschrift">System-requirements</p>
<p class="normal"> The server requires PHP 4.x or higher with correctly installed
<a href="https://www.garykeith.com/browsers/browscap.asp" target="_blank">browscap.ini</a>.
The Client requires IE 5.x or higher as well as Netscape 6.x or higher. Other
browsers are not tested. ProgressClass tests the browser version independently
and shows no progress bar on too old versions; an own browser check is not needed.</p>
<p class="unterueberschrift">Installation</p>
<p class="normal">Simply copy the files <span class="code">ProgressClass.php</span>
and <span class="code">js.inc.php</span> onto your Webspace.</p>
<p class="unterueberschrift">Application</p>
<p class="normal">ProgressClass is completely object-oriented. It makes available
a class for generating, editing and removal of the progress bar. If several
progress bars are required, the class can be run in several instances without
problems several times (also simultaneously). Basically, the progress bar works
as follows:</p>
<ol class="normal">
<li>Integrate the class:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">require('ProgressClass.php');</td>
</tr>
</table>
<br>
</li>
<li>Generate oneinstance of the class:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress=new ProgressClass();</td>
</tr>
</table>
<br>
</li>
<li>Select the desired options (see below). This step is optional, the class
comes with default settings. Example:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300);<br>
$progress-&gt;setPosition('center',20);<br>
... etc. </td>
</tr>
</table>
<br>
</li>
<li>Generate and show progress bar:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
</li>
<li>Change the percentage or other attitudes:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code"> <p>$progress-&gt;setPercent(10);<br>
...<br>
$progress-&gt;setPercent(45);<br>
...<br>
$progress-&gt;setPercent(80);<br>
$progress-&gt;setLabel('Clearing RAM...');<br>
...<br>
$progress-&gt;setPercent(100);<br>
$progress-&gt;setLabel('Done!'); </p></td>
</tr>
</table>
<br>
</li>
<li>Remove progress bar, so that it is no longer shown in the browser:
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</li>
</ol>
<p class="unterueberschrift">Description of the functions</p>
<p class="code"><b>ProgressClass()</b></p>
<blockquote>
<p class="normal">The function is called by instancing the class and is makes
internal initializations. You may also use many progress bars (also simultaneously)
through generating instancing of new classes. All progress bars have independ
attitudes to each other and can be shown and changed separately. </p>
<p class="normal">Requires no parameters.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;new ProgressClass();</td>
</tr>
</table>
</blockquote>
<p class="code">setWidth($width);</p>
<blockquote>
<p class="normal">Defines the width (outer edge of the window) of the progress
bar in pixels. <em>350</em> pixels are default. </p>
<p class="normal">Calling this function after <span class="code">make()</span>
has no effect.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setWidth(300); </td>
</tr>
</table>
</blockquote>
<p class="code">setPosition($left=NULL,$top=NULL);</p>
<blockquote>
<p class="normal">Defines the position (upper left corner) of the progress bar
(outer edge of the window) within the indicated documents/frames in pixels.
Default is<em> 'center','center-65'</em>.</p>
<p class="normal">The first parameter marks the spacing of the upper left corner
to the left margin, the second to the upper margin. You can also declare only
one of these parameters, then the second one will be kept. If you would like
to declare only the second parameter, the first must be <span class="code">NULL</span>.</p>
<p class="normal">Instead of absolute numbers you also can indicate <span class="code">'center'</span>',
so that the window is centered in the display. Even a combination is possible,
for example<span class="code">'center-30'</span>.</p>
<p class="normal">Calling this function after <span class="code">make()</span>
has no effect.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100,30);</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(NULL,30); // keep default for
$left</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition(100); // keep default for $top</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPosition('center','center-30'); // center, shifted
upside a little</td>
</tr>
</table>
</blockquote>
<p class="code">setButton($label,$url,$target='_self')</p>
<blockquote>
<p class="normal">Add a button to the progress bar, on click a new side is opened.
The button can be marked <em>&quot;Abort&quot;</em> for example. If it is
clicked, a new side will be loaded, so that the implementation of the current
site is aborted (only if <em>target=' _self'</em> ). </p>
<p class="normal">The first parameter declares the label of the button, the second
one the target URL. The optional third parameter is used for the link target.</p>
<p class="normal">Calling this function after <span class="code">make()</span>
has no effect.</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Abort','/pages/abort.php');</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setButton('Info','info.php','_blank');</td>
</tr>
</table>
</blockquote>
<p class="code">setPercent($percent)</p>
<blockquote>
<p class="normal">Defines the percentage of the progress bar. Default is<em>
0</em>. </p>
<p class="normal">The parameter must be a number, without a percent-mark.</p>
<p class="normal"> This function can also be called after <span class="code">make()</span>
more then once in order to change the percentage dynamically (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setPercent(25);</td>
</tr>
</table>
</blockquote>
<p class="code">setPerX($some,$all)</p>
<blockquote>
<p class="normal">Defines the percentage of the progress bar and converts the
specified values into percent..</p>
<p class="normal">The first parameter represents the current position of altogether
as much positions as second parameter indicates. If you read a file or a MySQL-Result,
you hand over the number of the entries for <span class="code">$all</span>
and for <span class="code">$some</span> the current position of the pointer
of the file/result.</p>
<p class="normal">This function can also be called after <span class="code">make()</span> more then once in order to change the percentage dynamically (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$gesamt=1500;<br>
for ($i=1;$i&lt;=$gesamt;$i++)<br>
&nbsp;&nbsp;$progress-&gt;setPerX($i,$gesamt);</td>
</tr>
</table>
</blockquote>
<p class="code">setLabel($label)</p>
<blockquote>
<p class="normal">Defines the label of the progress bar. Default is<em> &quot;Please
wait...&quot;</em></p>
<p class="normal">This function can also be called after <span class="code">make()</span>
more then once in order to change the percentage dynamically (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setLabel('Seite wird geladen ...');</td>
</tr>
</table>
</blockquote>
<p class="code">setBarColor($color)</p>
<blockquote>
<p class="normal">Defines the color of the progress bar. Default is <em>dark-blue</em>.</p>
<p class="normal">The color has to be declared in HTML-Color-Code. </p>
<p class="normal">This function can also be called after <span class="code">make()</span>
more then once in order to change the percentage dynamically (DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;setBarColor('#FF0000'); // red</td>
</tr>
</table>
</blockquote>
<p class="code">hide()</p>
<blockquote>
<p class="normal">Make the progress bar invisible. Should be called in the end,
so that the visitor can view the side without the progress bar.</p>
<p class="normal">Requires no parameters.</p>
<p class="normal">This function should only be called after <span class="code">make()</span>
(DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;hide();</td>
</tr>
</table>
</blockquote>
<p class="code">show()</p>
<blockquote>
<p class="normal">Shows the progress bar and is meaningful, for example if previously
make(false) was called.</p>
<p class="normal">Requires no parameters.</p>
<p class="normal">This function should only be called after <span class="code">make()</span>
(DHTML).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;show();</td>
</tr>
</table>
</blockquote>
<p class="code"><b>make($show=true)</b></p>
<blockquote>
<p class="normal">Creates the progress bar and passes it to the browser. </p>
<p class="normal"><b><font color="#FF0000">Important:</font> The function must
only be called after the &lt;body&gt;-Tag was sent to the browser!</b></p>
<p class="normal"> You can optional declare with the parameter, whether the
progress bar is also immediately shown visible or not. Default is <span class="code">true</span>
(=yes).</p>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make();</td>
</tr>
</table>
<br>
<table width="80%" border="0" bgcolor="#FFE1C4">
<tr>
<td class="code">$progress-&gt;make(false); // Create only , don't show
yet. </td>
</tr>
</table>
</blockquote>
<p>&nbsp;</p>
</body>
</html>