Inhalt Zurueck Weiter

Anhang B: Quelltexte

Verwaltungstool linkadmin

build.bat

I:\netscape\server\bin\https\lwcomp -v -o linkadmin.web home.html start.html menue.html leer.html themenbaum.html neuthema.html neuquer.html loeschen.html neulink.html verwaltung.html setvalues.js erfolg.html links.html linkloeschen.html aendern.html linkaendern.html linkwaehlen.html stadtneu.html staedteliste.html stadtaendern.html

setvalues.js

function setvalues (id, themenname) {
    var einzug = 0;
    var sorti = "";
    var ueber = "";

    while (parseInt(id) != 0) {
        thema = database.cursor("SELECT tid, refid, name FROM themen WHERE tid=" + id);
        thema.next();
        einzug += 1;
        sorti = thema.name + " : " + sorti;
        ueber = "<a href=links.html?id=" + thema.tid + ">" + thema.name + "</a> : " + ueber;
        id = thema.refid;
    }
    request.einzug = einzug;
    request.sortierung = sorti + themenname;
    request.ueberschrift = ueber;
}

function obj_thema(tid, refid, name) {
    this.tid = tid;
    this.refid = refid;
    this.name = name;
}

aendern.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
<script language="javascript"><!--//

function pruefen(formular) {
    var tl = parent.rechts.themenliste;
    var gueltig = false;

    // *** ist tid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.tid.value))) {
        alert ("Themen-ID ist keine Zahl. Wählen Sie das Thema aus der rechten Liste!");
        return false; }
    else {
        formular.tid.value=parseInt(formular.tid.value);
    }

    // ** ist tid gültige Themen-ID?
    for (var i=0; i<tl.length; i++) {
        if (tl[i].tid == formular.tid.value)
            gueltig = true;
    }

    if (!gueltig) {
        alert("Themen-ID ist ungültig. Wählen Sie das Thema aus der rechten Liste!");
        return false;
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=true'">

<p align="center"><font size="4"><b>
Name eines Themas oder Querverweises &auml;ndern</b></font></p>

<form action="erfolg.html" name="aendern">
<input type=hidden name=form value="aendern">
<table border=0>
<tr>    <td>ID <input type=text name=tid size=5 maxsize=5>
     Bezeichnung <input type=text name=thema size=30 maxsize=40><p>
     <font size=-1><i>W&auml;hlen Sie das zu &auml;ndernde Thema 
     durch Klicken auf das entsprechende Thema im rechten Rahmen
     und editieren Sie hier die Bezeichnung.</p><p>
        Vorsicht: Wenn Sie die ID manuell &auml;ndern, &auml;ndern Sie
        die Bezeichnung dieses Themas, und nicht mehr die des zuvor
        gew&auml;hlten!</p></i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

erfolg.html

<html>
<head>
<title>Linkdatenbank - Verwaltung</title>
<!--meta http-equiv=refresh content="3; URL=home.html"-->
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='leer.html'">
<p align="center"><font size="4"><b>
Linkdatenbank - Verwaltung</b></font></p>

<SERVER>

var nochlinks = false // Flag für Themenlöschung
var keinlink = false // Flag für Hyperlinklöschung


// *** Projekt-Objekt sperren und DB-Transaktion starten ***

project.lock();
database.beginTransaction();


// *** Neues Thema oder neuen Querverweis anlegen ***

if (request.form == "neuquer" || request.form == "neuthema") {

    // Neue Themen-ID ermitteln
    project.lastTID = parseInt(project.lastTID) + 1;
    var newTID = parseInt(project.lastTID);

    // Bei Originalthema qid=tid setzen
    if (parseInt(request.qid) == 0) 
        request.qid = newTID;

    database.execute("INSERT INTO themen (tid, refid, qid, name) VALUES (" + newTID + ", " + request.refid +", " + request.qid + ", '" + request.bezeichnung + "')");

    // Themen-Felder Ueberschrift, Sortierung und Einzug berechnen
    setvalues(request.refid, request.bezeichnung);

    database.execute("UPDATE themen SET ueberschrift='" + request.ueberschrift + "', sortierung='" + request.sortierung + "', einzug=" + request.einzug + " WHERE tid=" + newTID);
}


// *** Thema oder Querverweis löschen ***

if (request.form == "loeschen") {

    // Feststellen, ob noch Links zu diesem Thema existieren
    links = database.cursor("SELECT COUNT(*) FROM Links WHERE thema=" + request.tid);
    links.next();
    if (links[0] == 0)
        database.execute("DELETE FROM themen WHERE tid=" + request.tid);
    else
        nochlinks = true;
}


// *** Bezeichnung eines Themas oder Querverweises ändern ***

if (request.form == "aendern") {

    // *** Bezeichnung ändern
    database.execute("UPDATE themen SET name='" + request.thema + "' WHERE tid=" + request.tid);

    // (anschl. muß Themenkatalog aktualisiert werden)
}


// *** Themen-Felder Ueberschrift, Sortierung und Einzug 
// FÜR ALLE Themen und Querverweise neu berechnen

if (request.form == "aendern" || request.form == "aktualisieren") {

    // JavaScript-Array mit allen Themen- und Referenz-IDs aus DB erzeugen
    var i = 0;
    jsthemen = new Array();
    dbthemen = database.cursor("SELECT tid, refid, name FROM themen");
    while (dbthemen.next()) {
        jsthemen[i++] = new obj_thema(dbthemen.tid, dbthemen.refid, dbthemen.name);
    }

    // Neuberechnung für alle Themen durchführen
    for (i in jsthemen) {
        setvalues(jsthemen[i].refid, jsthemen[i].name);
        database.execute("UPDATE themen SET ueberschrift='" + request.ueberschrift + "', sortierung='" + request.sortierung + "', einzug=" + request.einzug + " WHERE tid=" + jsthemen[i].tid);
        if (database.majorErrorCode() != 0)
            break;
    }
}


// *** Neuen Hyperlink anlegen ***

if (request.form == "neulink") {

    // Neue Link-ID ermitteln
    project.lastHLID = parseInt(project.lastHLID) + 1;
    var newHLID = parseInt(project.lastHLID);

    database.execute("INSERT INTO links (hlid,name,url,beschreibung,sprache,stadt,thema)    VALUES (" + newHLID + ", '" + request.titel + "', '" + request.url + "', '" + request.beschreibung + "', " + request.sp_add + ", " + request.stadt + ", " + request.tid + ")");
}


// *** Hyperlink löschen ***

if (request.form == "linkloeschen") {
    link = database.cursor("SELECT COUNT(*) FROM links WHERE hlid=" + request.hlid);
    link.next();
    if (link[0] > 0)
        database.execute("DELETE FROM links WHERE hlid=" + request.hlid);
    else
        keinlink = true;
}


// *** Hyperlink ändern ***

// Ungültige Hyperlink-ID gewählt?
if (request.form == "linkwaehlen") {
    keinlink = true;
}

// Änderungen der Hyperlink-Daten in DB schreiben
if (request.form == "linkaendern") {
    database.execute("UPDATE links SET name='" + request.titel + "', url='" + request.url + "', beschreibung='" + request.beschreibung + "', sprache=" + request.sp_add + ", stadt=" + request.stadt + ", thema=" + request.tid + " WHERE hlid=" + request.hlid);
}


// *** Neue Stadt anlegen ***

if (request.form == "stadtneu") {

    // Neue Stadt-ID ermitteln
    project.lastSTID = parseInt(project.lastSTID) + 1;
    var newSTID = parseInt(project.lastSTID);

    database.execute("INSERT INTO Staedte (stid, land, region, name) VALUES (" + newSTID + ", " + request.land +", " + request.region + ", '" + request.sname + "')");
}


// *** Stadt ändern ***

if (request.form == "stadtaendern") {

    if (request.region == "") {
        // Stadt löschen
        database.execute("DELETE FROM staedte WHERE stid=" + request.stid); }
    else {
        // Stadt ändern
        database.execute("UPDATE staedte SET land=" + request.land + ", region=" + request.region + ", name='" + request.sname + "' WHERE stid=" + request.stid);
    }
}


// *** Datenbankmeldung auswerten

if (database.majorErrorCode() == 0) { // DB-Aktion erfolgreich

    // Versuch, Thema mit noch vorhandenen Links zu löschen ?
    if (nochlinks) {
        write('<font size=4><p align=center>Ihr Auftrag konnte nicht durchgef&uuml;hrt werden!</p>\n<p align=center><b>Es existieren noch Linkeintr&auml;ge unter dem Thema, das Sie l&ouml;schen wollen.</b></p>\n<p align=center>Sie m&uuml;ssen erst alle diese Eintr&auml;ge l&ouml;schen, bevor Sie das Thema l&ouml;schen k&ouml;nnen.</p>');
    }
    if (keinlink) {
        write('<font size=4><p align=center>Ihr Auftrag konnte nicht durchgef&uuml;hrt werden!</p>\n<p align=center><b>Die angegebene ID des Hyperlinkeintrages ist ung&uuml;ltig</b></p>\n<p align=center>Wählen Sie den Hyperlink aus der rechten Liste!</p>');
    }
    if (!nochlinks && !keinlink) {
        // Erfolgsmeldung ausgeben
        write('<p align=center><font size=4>Ihr Auftrag wurde erfolgreich durchgef&uuml;hrt!</font></p>');

        // Transaktion abschließen
        database.commitTransaction();
    }
}
else { // DB meldet Fehler

    // Fehlermeldung des DB-Servers ausgeben
    write('<font size=4><p align=center>Ihr Auftrag konnte nicht durchgef&uuml;hrt werden!</p>\n<p align=center>Die Datenbank meldet folgenden Fehler:</p>\n<b><p align=center>');
    write(database.majorErrorMessage());
    write('</p>\n<p align=center>');
    write(database.minorErrorMessage());
    write('</p></b></font>\n');

    // Transaktion rückgängig machen
    database.rollbackTransaction();
}


// *** Projekt-Objekt wieder freigeben ***

project.unlock();

</SERVER>

<center>
<table width=300 border=0 cellpadding=10>
<tr>
    <td width=50% align=center>
        <form>
        <b><input type=button value="Auswahlmenü" onClick="top.location='home.html'"></b>
        </form>
    <td>
    <td width=50% align=center>
        <form>
        <b><input type=button value="Zurück" onClick="history.back();history.back();"></b>
        </form>
    <td>
</tr>
</table>
</center>

</body>
</html>

home.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
<server>
if(!database.connected())
    redirect("start.html");
</server>
</head>

<FRAMESET cols="55,50%,*">
<FRAME src="verwaltung.html" name="app" noresize scrolling="no" marginwidth="0" marginheight="0">
<FRAME src="menue.html" name="links">
<FRAME src="leer.html" name="rechts">
</FRAMESET>

<NOFRAMES>
<body bgcolor="#0C0D0D" text="#FFFFFF" link="#7a7a7a" vlink="#555555">
<font size=+2><b>
<P align=center>
This web page uses frames, but your browser doesn't support them.<br>
Diese Website benutzt Frames, aber Ihr Browser unterst&uuml;tzt keine Frames.
</P> 
</BODY>
</NOFRAMES>

</html>

leer.html

<html>
<head>
<title>
</title>
</head>
<body bgcolor="#FFFFFF">
</body>
</html>

linkaendern.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>

<SERVER>

// Hyperlink-Daten selektieren
link = database.cursor("SELECT links.*, themen.name AS themenname FROM links, themen WHERE links.thema=themen.tid AND links.hlid=" + request.hlid);
if (!link.next())
    redirect("erfolg.html?form=linkwaehlen");

// Staedte selektieren
staedte = database.cursor("SELECT laender.lkz, staedte.stid, staedte.region, staedte.name FROM laender, staedte WHERE laender.lid = staedte.land ORDER BY laender.lid, staedte.name, staedte.region");

</SERVER>

<script language="javascript"><!--//

// *** Überprüfen der Formulareingaben

function pruefen(formular) {
    var tl = parent.rechts.themenliste;

    // *** Titel und URL nicht leer?
    if (formular.titel.value == "" || formular.url.value == "") {
        alert("Titel und URL dürfen nicht leer sein!");
        return false;
    }

    // *** Beschreibung nicht länger als 250 Zeichen?
    if (formular.beschreibung.length > 250) {
        alert("Die Beschreibung kann maximal 250 Zeichen lang sein!");
        return false;
    }

    // *** sp_add berechnen: mind. eine Sprache muß gewählt werden
    if (formular.sprache[0].checked) formular.sp_add.value = 1;
    if (formular.sprache[1].checked) formular.sp_add.value = 2 + parseInt(formular.sp_add.value);
    if (formular.sprache[2].checked) formular.sp_add.value = 4 + parseInt(formular.sp_add.value);
    if (0 == formular.sp_add.value) {
        alert("Sie m&uuml;ssen mindestens eine Sprache angeben!");
        return false;
    }

    // *** ist tid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.tid.value))) {
        alert ("Themen-ID ist keine Zahl. Wählen Sie das Thema aus der rechten Liste!");
        return false; }
    else {
        formular.tid.value=parseInt(formular.tid.value);
    }

    // *** ist tid gültige Themen-ID?
    for (var i=0; i<tl.length; i++)
        if (tl[i].tid == formular.tid.value) { 
            formular.submit();
            return true;
        }
    alert("Themen-ID ist ungültig. Wählen Sie das Thema aus der rechten Liste!");
    return false;
}

//--></script>
</head>
<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=false'">

<p align="center"><font size="4"><b>
Hyperlink &auml;ndern</b></font></p>

<form action="erfolg.html" name="linkaendern">
<input type=hidden name=form value="linkaendern">
<input type=hidden name=hlid value=`link.hlid`>
<table border=0>
<tr>    <td><b>Titel</b></td>
    <td><input type=text name=titel value=`link.name` size=40 maxsize=80></td></tr>
<tr>    <td valign=baseline><b>URL</b></td>
    <td><input type=text name=url value=`link.url` size=40 maxsize=100></td></tr>
<tr>    <td colspan=2><b>Beschreibung</b><br>
    <textarea name=beschreibung rows=3 cols=50 wrap><SERVER>write(link.beschreibung)</SERVER></textarea></td></tr>
<tr>    <td valign=top><b>Sprache</b></td>
    <td>
<SERVER>
if (link.sprache==1 || link.sprache==3 || link.sprache==5 || link.sprache==7) 
    write('<input type=checkbox name=sprache value=1 checked>deutsch &nbsp;');
else
    write('<input type=checkbox name=sprache value=1>deutsch &nbsp;');
if (link.sprache==2 || link.sprache==3 || link.sprache==6 || link.sprache==7) 
    write('<input type=checkbox name=sprache value=2 checked>englisch &nbsp;');
else
    write('<input type=checkbox name=sprache value=2>englisch &nbsp;');
if (link.sprache==4 || link.sprache==5 || link.sprache==6 || link.sprache==7) 
    write('<input type=checkbox name=sprache value=4 checked>sonstiges');
else
    write('<input type=checkbox name=sprache value=4>sonstiges');
</SERVER>
     <input type=hidden name=sp_add value=0></td></tr>
<tr>    <td valign=top><b>Stadt</b></td>
    <td><select name=stadt>
<SERVER>
while (staedte.next()) {
    write("<option value=", staedte.stid);
    if (staedte.stid == parseInt(link.stadt))
        write(" selected");
    write(">", staedte.lkz, " ", staedte.name, " (", staedte.region, ")\n");
}
</SERVER>
</select><br>
     <font size=-1><i>Land, Stadt, Region<br>
     (F&uuml;r Deutschland: Region = erste zwei Ziffern der Postleitzahl)
     </i></font></td></tr>
<tr>    <td valign=baseline><b>Thema</b></td>
    <td>ID <input type=text name=tid value=`link.thema` size=5 maxsize=5>
     Bezeichnung <input type=text name=thema value=`link.themenname` size=30 maxsize=40><br>
     <font size=-1><i>W&auml;hlen Sie das Thema f&uuml;r diesen Neueintrag
     durch Klicken auf das entsprechende Thema im rechten Rahmen!<br>
     Die Bezeichnung ist nur zur Information. Einzig die ID ist relevant.</i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="top.location='home.html'"></td></tr>
</table>
</form>
</body>
</html>

linkloeschen.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
<script language="javascript"><!--//

function pruefen(formular) {
    // *** ist hlid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.hlid.value))) {
        alert ("Hyperlink-ID ist keine Zahl. Wählen Sie den Hyperlink aus der rechten Liste!");
        return false; }
    else {
        formular.hlid.value=parseInt(formular.hlid.value);
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='links.html?id=0'">

<p align="center"><font size="4"><b>
Hyperlink l&ouml;schen</b></font></p>

<form action="erfolg.html" name="linkloeschen">
<input type=hidden name=form value="linkloeschen">
<table border=0>
<tr>    <td>ID <input type=text name=hlid size=5 maxsize=5>
     Titel <input type=text name=titel size=40 maxsize=80>
     <p><font size=-1><i>W&auml;hlen Sie den zu l&ouml;schenden Linkeintrag 
     durch Klicken auf den entsprechenden Eintrag im rechten Rahmen
        unterhalb der horizontalen Linie. Sie k&ouml;nnen dabei mit Hilfe
        der Themeneintr&auml;ge oberhalb der horizontalen Linie wie ein
        Benutzer der Linkdatenbank durch den Themenkatalog navigieren.</p><p>
     Der Titel ist nur zur Information. Einzig die ID ist relevant.</i></font></p>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="top.location='home.html'"></td></tr>
</table>
</form>

</body>
</html>

links.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Linkdatenbank - Verwaltung</title>

<server>
    // Überschrift selektieren
    ueberschrift = database.cursor("SELECT name, ueberschrift FROM themen WHERE tid=" + request.id);

    // Unterthemen selektieren
    themen = database.cursor("SELECT qid, name FROM themen WHERE refid=" + request.id + " ORDER BY name");

    // Links zu diesem Thema selektieren
    links = database.cursor("SELECT hlid, url, name, beschreibung FROM links WHERE thema=" + request.id + " ORDER BY name");
</server>

</head>

<BODY BGCOLOR="#FFFFFF" LINK="#0000FF" ALINK="#FF0000">

<p align="center"><font size="4"><b>
Hyperlink ausw&auml;hlen</b></font></p>

<p><b><a href="links.html?id=0">Homepage</a> : 
<SERVER>
    ueberschrift.next();
    if (ueberschrift.ueberschrift != null)
        write(ueberschrift.ueberschrift, " ");
    write(ueberschrift.name);
    ueberschrift.close();
</SERVER></b></p>

<table border=0 cellpadding=10><tr><td valign="top" width="50%"><ul>
<SERVER>
    while (themen.next()) 
        write("<li> <a href=links.html?id=", themen.qid, ">", themen.name, "</a>\n");
</SERVER>
</ul></td></tr></table>

<hr>

<table border=0 cellpadding=10><tr><td>
<ul>
<SERVER>
    while (links.next()) {
        write('<li> <a href="javascript:parent.app.insertThema(' + links.hlid + ',\'' + escape(links.name) + '\')">', links.name, '</a><br>\n');
        if (links.beschreibung != null)
            write('<font size=2>', links.beschreibung, '</font>\n');
    }
    links.close();
</SERVER>
</ul>
</td></tr></table>

</body>
</html>

linkwaehlen.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
<script language="javascript"><!--//

function pruefen(formular) {
    // *** ist hlid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.hlid.value))) {
        alert ("Hyperlink-ID ist keine Zahl. Wählen Sie den Hyperlink aus der rechten Liste!");
        return false; }
    else {
        formular.hlid.value=parseInt(formular.hlid.value);
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='links.html?id=0'">

<p align="center"><font size="4"><b>
Zu &auml;ndernden Hyperlink ausw&auml;hlen</b></font></p>

<form action="linkaendern.html" target="links" name="linkwaehlen">
<table border=0>
<tr>    <td>ID <input type=text name=hlid size=5 maxsize=5>
     Titel <input type=text name=titel size=40 maxsize=80>
     <p><font size=-1><i>W&auml;hlen Sie zun&auml;chst den zu &auml;ndernden
        Linkeintrag durch Klicken auf den entsprechenden Eintrag im rechten Rahmen
        unterhalb der horizontalen Linie. Sie k&ouml;nnen dabei mit Hilfe
        der Themeneintr&auml;ge oberhalb der horizontalen Linie wie ein
        Benutzer der Linkdatenbank durch den Themenkatalog navigieren.</p><p>
        Wenn Sie den zu &auml;ndernden Hyperlink ausgew&auml;hlt haben,
        bet&auml;tigen Sie den "Weiter"-Button, um zum Editierformular
        zu gelangen.</p><p>
     Der Titel dient hier nur zur Information. Einzig die ID ist f&uuml;r
        die Auswahl des Hyperlinks relevant.</i></font></p>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Weiter" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="top.location='home.html'"></td></tr>
</table>
</form>

</body>
</html>

loeschen.html

<html>

<head>
<title>Linkdatenbank - Themenliste</title>
<script language="javascript"><!--//

function pruefen(formular) {
    var tl = parent.rechts.themenliste;
    var gueltig = false;
    // *** ist tid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.tid.value))) {
        alert ("Themen-ID ist keine Zahl. Wählen Sie das Thema aus der rechten Liste!");
        return false; }
    else {
        formular.tid.value=parseInt(formular.tid.value);
    }

    // *** kann dieses Thema gelöscht werden?
    for (var i=0; i<tl.length; i++) {
        // ** ist tid gültige Themen-ID?
        if (tl[i].tid == formular.tid.value)
            gueltig = true;
        // ** gibt es noch Unterthemen bzw. -Querverweise?
        if (tl[i].refid == formular.tid.value) {
            alert("Das Thema kann nicht gelöscht werden. Es existieren noch Unterthemen und/oder untergeordnete Querverweise. Löschen Sie diese erst!");
            return false;
        }
    }

    if (!gueltig) {
        alert("Themen-ID ist ungültig. Wählen Sie das Thema aus der rechten Liste!");
        return false;
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=true'">

<p align="center"><font size="4"><b>
Thema oder Querverweis l&ouml;schen</b></font></p>

<form action="erfolg.html" name=loeschen>
<input type=hidden name=form value="loeschen">
<table border=0>
<tr>    <td>ID <input type=text name=tid size=5 maxsize=5>
     Bezeichnung <input type=text name=thema size=30 maxsize=40>
     <font size=-1><i><p>W&auml;hlen Sie das zu l&ouml;schende Thema 
     durch Klicken auf das entsprechende Thema im rechten Rahmen!</p><p>
     Die Bezeichnung ist nur zur Information. Einzig die ID ist relevant.</p></i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

menue.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
</head>

<body bgcolor="#FFFFFF">

<p align="center"><font size="4"><b>
<font size="5">L</font>INKDATENBANK - <font size="5">V</font>ERWALTUNG</b></font></p>

<center>
<table border=0><tr><td>
<p><b>Themenkatalog pflegen:</b></p>
<ul><li> <a href="neuthema.html">Neues Thema anlegen</a></ul>
<ul><li> <a href="neuquer.html">Neuen Querverweis anlegen</a></ul>
<ul><li> <a href="loeschen.html">Thema oder Querverweis l&ouml;schen</a></ul>
<ul><li> <a href="aendern.html">Name eines Themas oder Querverweises &auml;ndern</a></ul>
<ul><li> <a href="erfolg.html?form=aktualisieren">Themenkatalog aktualisieren</a></ul>
<p><b>Hyperlinks pflegen:</b></p>
<ul><li> <a href="neulink.html">Neuen Hyperlink anlegen</a></ul>
<ul><li> <a href="linkloeschen.html">Hyperlink l&ouml;schen</a></ul>
<ul><li> <a href="linkwaehlen.html">Hyperlink &auml;ndern</a></ul>
<p><b>St&auml;dte pflegen:</b></p>
<ul><li> <a href="stadtneu.html">Neue Stadt anlegen</a></ul>
<ul><li> <a href="stadtaendern.html">Stadt &auml;ndern / l&ouml;schen</a></ul>
</td></tr></table>
</center>

</body>
</html>

neulink.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>

<SERVER>
staedte = database.cursor("SELECT laender.lkz, staedte.stid, staedte.region, staedte.name FROM laender, staedte WHERE laender.lid = staedte.land ORDER BY laender.lid, staedte.name, staedte.region");
</SERVER>

<script language="javascript"><!--//

// *** Überprüfen der Formulareingaben

function pruefen(formular) {
    var tl = parent.rechts.themenliste;

    // *** Titel und URL nicht leer?
    if (formular.titel.value == "" || formular.url.value == "") {
        alert("Titel und URL dürfen nicht leer sein!");
        return false;
    }

    // *** Beschreibung nicht länger als 250 Zeichen?
    if (formular.beschreibung.length > 250) {
        alert("Die Beschreibung kann maximal 250 Zeichen lang sein!");
        return false;
    }

    // *** sp_add berechnen: mind. eine Sprache muß gewählt werden
    if (formular.sprache[0].checked) formular.sp_add.value = 1;
    if (formular.sprache[1].checked) formular.sp_add.value = 2 + parseInt(formular.sp_add.value);
    if (formular.sprache[2].checked) formular.sp_add.value = 4 + parseInt(formular.sp_add.value);
    if (0 == formular.sp_add.value) {
        alert("Sie m&uuml;ssen mindestens eine Sprache angeben!");
        return false;
    }

    // *** ist tid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.tid.value))) {
        alert ("Themen-ID ist keine Zahl. Wählen Sie das Thema aus der rechten Liste!");
        return false; }
    else {
        formular.tid.value=parseInt(formular.tid.value);
    }

    // *** ist tid gültige Themen-ID?
    for (var i=0; i<tl.length; i++)
        if (tl[i].tid == formular.tid.value) { 
            formular.submit();
            return true;
        }
    alert("Themen-ID ist ungültig. Wählen Sie das Thema aus der rechten Liste!");
    return false;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=false'">

<p align="center"><font size="4"><b>
Neuen Hyperlink anlegen</b></font></p>

<form action="erfolg.html" name=neulink>
<input type=hidden name=form value="neulink">
<input type=hidden name=qid value="0">
<table border=0>
<tr>    <td><b>Titel</b></td>
    <td><input type=text name=titel size=40 maxsize=80></td></tr>
<tr>    <td valign=baseline><b>URL</b></td>
    <td><input type=text name=url value="http://" size=40 maxsize=100></td></tr>
<tr>    <td colspan=2><b>Beschreibung</b><br>
    <textarea name=beschreibung rows=3 cols=50 wrap></textarea></td></tr>
<tr>    <td valign=top><b>Sprache</b></td>
    <td><input type=checkbox name=sprache value=1 checked>deutsch &nbsp;
     <input type=checkbox name=sprache value=2>englisch &nbsp;
     <input type=checkbox name=sprache value=4>sonstiges
     <input type=hidden name=sp_add value=0></td></tr>
<tr>    <td valign=top><b>Stadt</b></td>
    <td><select name=stadt>
<SERVER>
while (staedte.next())
    write("<option value=" + staedte.stid + ">" + staedte.lkz + " " + staedte.name + " (" + staedte.region + ")\n");
</SERVER>
</select><br>
     <font size=-1><i>Land, Stadt, Region<br>
     (F&uuml;r Deutschland: Region = erste zwei Ziffern der Postleitzahl)
     </i></font></td></tr>
<tr>    <td valign=baseline><b>Thema</b></td>
    <td>ID <input type=text name=tid size=5 maxsize=5>
     Bezeichnung <input type=text name=thema size=30 maxsize=40><br>
     <font size=-1><i>W&auml;hlen Sie das Thema f&uuml;r diesen Neueintrag
     durch Klicken auf das entsprechende Thema im rechten Rahmen!<br>
     Die Bezeichnung ist nur zur Information. Einzig die ID ist relevant.</i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

neuquer.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>
<script language="javascript"><!--//

function pruefen(formular) {
    var refid_ok = false;
    var qid_ok = false;
    var tl = parent.rechts.themenliste;
    var bez = formular.bezeichnung.value;

    // *** Bezeichnung nicht leer?
    if (bez == "") {
        alert("Die Bezeichnung des Querverweises darf nicht leer sein!");
        return false;
    }

    // *** Klammeraffen @ anhängen, falls nicht vom Benutzer geschehen
    if (bez.substring(bez.length-1, bez.length) != '@')
        formular.bezeichnung.value += '@';

    // *** sind refid und qid Zahlen? sonst=0!
    if (isNaN(parseInt(formular.refid.value))) {
        alert ("Oberthemen-ID ist keine Zahl. Wählen Sie das Oberthema aus der rechten Liste!");
        return false; }
    else { 
        formular.refid.value = parseInt(formular.refid.value);
    }
    if (isNaN(parseInt(formular.qid.value))) {
        alert ("Originalthemen-ID ist keine Zahl. Wählen Sie das Originalthema aus der rechten Liste!");
        return false; }
    else {
        formular.qid.value=parseInt(formular.qid.value);
    }

    // *** refid und qid gültige Themen-IDs?
    for (var i=0; i<tl.length; i++) {
        if (tl[i].tid == formular.refid.value) 
            refid_ok = true;
        if (tl[i].tid == formular.qid.value) 
            qid_ok = true;
    }
    if (!refid_ok) {
        alert("Oberthemen-ID ungültig. Wählen Sie das Oberthema aus der rechten Liste!");
        return false;
    }
    if (!qid_ok) {
        alert("Originalthemen-ID ungültig. Wählen Sie das Originalthema aus der rechten Liste!");
        return false;
    }

    // *** alles ok, Formular abschicken!
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=false'">

<p align="center"><font size="4"><b>
Neuen Querverweis anlegen</b></font></p>

<form action="erfolg.html" name="neuquer">
<input type=hidden name=form value="neuquer">
<table border=0 cellpadding=3>
<tr>    <td><b>Bezeichnung</b></td>
    <td><input type=text name=bezeichnung size=40 maxsize=40><br>
     <font size=-1><i>Der Klammeraffe @ wird automatisch
     angef&uuml;gt.</i></font></td></tr>
<tr>    <td colspan=2>&nbsp;</td></tr>
<tr>    <td valign=baseline><b>Oberthema des<br>Querverweises</b></td>
    <td><input type=radio name=wo value=refid checked> ID <input type=text name=refid size=4 maxsize=5 onFocus="this.form.wo[0].checked=true">
     Bez. <input type=text name=oberthema size=25 maxsize=40 onFocus="this.form.wo[0].checked=true"></td></tr>
<tr>    <td colspan=2>&nbsp;</td></tr>
<tr>    <td valign=baseline><b>Originalthema<br>bzw. Ziel des<br>Querverweises</b></td>
    <td><input type=radio name=wo value=qid> ID <input type=text name=qid size=4 maxsize=5 onFocus="this.form.wo[1].checked=true">
     Bez. <input type=text name=originalthema size=25 maxsize=40 onFocus="this.form.wo[1].checked=true"></td></tr>
<tr>    <td></td>
    <td><font size=-1><i><p>W&auml;hlen Sie Oberthema und Originalthema, indem Sie
     zun&auml;chst den Radiobutton des entsprechenden ID-Feldes anklicken und
     anschlie&szlig;end das Thema im rechten Rahmen ausw&auml;hlen!</p><p>
     Die Bezeichnungen von Oberthema und Originalthema sind nur zur Information. 
     Einzig die IDs sind relevant.</p></i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

neuthema.html

<html>

<head>
<title>Linkdatenbank - Themenliste</title>
<script language="javascript"><!--//

function pruefen(formular) {
    var tl = parent.rechts.themenliste;
    var bez = formular.bezeichnung.value;

    // *** Bezeichnung nicht leer?
    if (bez == "") {
        alert("Die Bezeichnung des Themas darf nicht leer sein!");
        return false;
    }

    // *** Bezeichnung darf nicht mit Klammeraffe @ enden, 
    // um Verwechslung mit Querverweis zu vermeiden
    if (bez.substring(bez.length-1, bez.length) == '@') {
        alert("Die Bezeichnung darf nicht mit einem Klammeraffen @ enden, um Verwechslungen mit Querverweisen zu vermeiden!");
        return false;
    }

    // *** ist refid eine Zahl? sonst=0!
    if (isNaN(parseInt(formular.refid.value))) {
        alert ("Oberthemen-ID ist keine Zahl. Wählen Sie das Oberthema aus der rechten Liste!");
        return false; }
    else {
        formular.refid.value=parseInt(formular.refid.value);
    }

    // *** ist refid gültige Themen-ID?
    for (var i=0; i<tl.length; i++)
        if (tl[i].tid == formular.refid.value) { 
            formular.submit();
            return true;
        }
    alert("Oberthemen-ID ist ungültig. Wählen Sie das Oberthema aus der rechten Liste!");
    return false;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='themenbaum.html?quer=false'">

<p align="center"><font size="4"><b>
Neues Thema anlegen</b></font></p>

<form action="erfolg.html" name=neuthema>
<input type=hidden name=form value="neuthema">
<input type=hidden name=qid value="0">
<table border=0>
<tr>    <td><b>Bezeichnung</b></td>
    <td><input type=text name=bezeichnung size=40 maxsize=40></td></tr>
<tr>    <td valign=baseline><b>Oberthema</b></td>
    <td>ID <input type=text name=refid size=5 maxsize=5>
     Bezeichnung <input type=text name=oberthema size=30 maxsize=40>
     <font size=-1><i><p>W&auml;hlen Sie das Oberthema f&uuml;r diesen Neueintrag
     durch Klicken auf das entsprechende Thema im rechten Rahmen!</p><p>
     Die Bezeichnung ist nur zur Information. Einzig die ID ist relevant.</p></i></font>
     </td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

stadtaendern.html

<html>

<head>
<title>Linkdatenbank - Verwaltung</title>

<script language="javascript"><!--//

function loeschen(formular) {

    // Region leer = Flag, daß gelöscht wird
    formular.region.value="";

    formular.submit();
    return true;
}



function pruefen(formular) {
    var i = 0;
    var sl = parent.rechts.staedteliste;
    var land = parseInt(formular.land.options[formular.land.selectedIndex].value);
    var name = formular.sname.value;
    var upname1 = "";
    var upname2 = "";
    var region = parseInt(formular.region.value);
    formular.region.value = region;

    // *** Stadtname nicht leer?
    if (name == "") {
        alert("Der Name der Stadt darf nicht leer sein!");
        return false;
    }

    // *** Falls Land == Deutschland, muß ( 0 < region < 100 ) gelten!
    if (region <= 0 || region > 99 || isNaN(region)) {
        alert("Die PLZ-Region für deutsche Städte muß zwischen 01 und 99 liegen (die ersten zwei Ziffern der Postleitzahl)!");
        return false;
    }

    // *** Doubletten-Test
    upname1 = name.toUpperCase();
    for (i in sl) {
        upname2 = sl[i].name.toUpperCase();
        if (land == parseInt(sl[i].land) && region == parseInt(sl[i].region) && (upname1.indexOf(upname2) > -1 || upname2.indexOf(upname1) > -1)) { 
            alert("Stadt existiert bereits: " + sl[i].lkz + " - " + sl[i].name + " (" + sl[i].region + ")");
            return false;
        }
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='staedteliste.html?link=true'">

<p align="center"><font size="4"><b>
Stadt &auml;ndern / l&ouml;schen</b></font></p>

<form action="erfolg.html" name="stadtaendern">
<input type=hidden name=form value="stadtaendern">
<input type=hidden name=stid value="">
<table border=0>
<tr>
    <td valign=baseline><b>Land</b></td>
    <td><select name=land>
<SERVER>
        laender = database.cursor("SELECT * FROM laender");
        while (laender.next())
            write("<option value=", laender.lid, ">", laender.land, "\n");
</SERVER>
</select></td></tr>
<tr>
    <td valign=baseline><b>PLZ-Region</b></td>
    <td><input type=text name=region size=6 maxsize=6><br>
        <font size=-1><i>F&uuml;r deutsche St&auml;dte werden nur die ersten zwei
        Ziffern der Postleitzahl ausgewertet! Sonst vollst&auml;ndige PLZ angeben
        oder Feld frei lassen.</i></font></td></tr>
<tr>
    <td valign=baseline><b>Name</b></td>
    <td><input type=text name="sname" size=30 maxsize=30><br>
     <font size=-1><i>Bitte pr&uuml;fen Sie vor einem Neueintrag einer
        Stadt in der rechten Liste, ob sie nicht schon vorhanden ist.
        </i></font></td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Ändern" onClick="pruefen(this.form)"> &nbsp;
        <input type=button value="Löschen" onClick="loeschen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"><br>
        </td>
    <td align=right valign=top><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

stadtneu.html

<html>

<head>
<title>Linkdatenbank - Themenliste</title>

<script language="javascript"><!--//

function pruefen(formular) {
    var i = 0;
    var sl = parent.rechts.staedteliste;
    var land = parseInt(formular.land.options[formular.land.selectedIndex].value);
    var name = formular.sname.value;
    var upname1 = "";
    var upname2 = "";
    var region = parseInt(formular.region.value);

    if (isNaN(region))
        formular.region.value = 0;
    else
        formular.region.value = region;

    // *** Stadtname nicht leer?
    if (name == "") {
        alert("Der Name der Stadt darf nicht leer sein!");
        return false;
    }

    // *** Falls Land == Deutschland, muß ( 0 < region < 100 ) gelten!
    if (land == 1 && (region <= 0 || region > 99 || isNaN(region))) {
        alert("Die PLZ-Region für deutsche Städte muß zwischen 01 und 99 liegen (die ersten zwei Ziffern der Postleitzahl)!");
        return false;
    }

    // *** Doubletten-Test
    upname1 = name.toUpperCase();
    for (i in sl) {
        upname2 = sl[i].name.toUpperCase();
        if (land == parseInt(sl[i].land) && region == parseInt(sl[i].region) && (upname1.indexOf(upname2) > -1 || upname2.indexOf(upname1) > -1)) { 
            alert("Stadt existiert bereits: " + sl[i].lkz + " - " + sl[i].name + " (" + sl[i].region + ")");
            return false;
        }
    }
    formular.submit();
    return true;
}

//--></script>
</head>

<body bgcolor="#FFFFFF" onLoad="parent.rechts.location='staedteliste.html?link=false'">

<p align="center"><font size="4"><b>
Neue Stadt anlegen</b></font></p>

<form action="erfolg.html" name="stadtneu">
<input type=hidden name=form value="stadtneu">
<table border=0>
<tr>
    <td valign=baseline><b>Land</b></td>
    <td><select name=land>
<SERVER>
        laender = database.cursor("SELECT * FROM laender");
        while (laender.next())
            write("<option value=", laender.lid, ">", laender.land, "\n");
</SERVER>
</select></td></tr>
<tr>
    <td valign=baseline><b>PLZ-Region</b></td>
    <td><input type=text name=region size=6 maxsize=6><br>
        <font size=-1><i>F&uuml;r deutsche St&auml;dte werden nur die ersten zwei
        Ziffern der Postleitzahl ausgewertet! Sonst vollst&auml;ndige PLZ angeben
        oder Feld frei lassen.</i></font></td></tr>
<tr>
    <td valign=baseline><b>Name</b></td>
    <td><input type=text name="sname" size=30 maxsize=30><br>
     <font size=-1><i>Bitte pr&uuml;fen Sie vor einem Neueintrag einer
        Stadt in der rechten Liste, ob sie nicht schon vorhanden ist.
        </i></font></td></tr>
</table>
<br><br>
<table border=0 cellpadding=3 width=100%>
<tr>    <td><input type=button value="Abschicken" onClick="pruefen(this.form)"> &nbsp;
     <input type=reset value="Zurücksetzen"></td>
    <td align=right><input type=button 
     value="Abbrechen" onClick="history.back(); history.back()"></td></tr>
</table>
</form>

</body>
</html>

staedteliste.html

<html>

<head>
<title>Linkdatenbank - Staedteliste</title>

<SERVER>

// Erstellung eines Clientside JavaScriptes mit einem Staedte-Array
// zur Eingabevalidierung (gültige ID, vorhandener Link bei Löschung)

staedte = database.cursor("SELECT DISTINCT staedte.*, laender.lkz FROM staedte, laender WHERE staedte.land=laender.lid ORDER BY staedte.land, staedte.name, staedte.region");
var i = 0;
write('<script language="javascript"><!--\n');
write('staedteliste = new Array();\n');
write('function stadt(stid, land, region, name, lkz) {\n');
write(' this.stid = stid;\n');
write(' this.land = land;\n');
write(' this.region = region;\n');
write(' this.name = name;\n');
write(' this.lkz = lkz;\n}\n');
while (staedte.next()) 
    write("staedteliste[", (i++), "] = new stadt(", staedte.stid + ", " + staedte.land + ", " + staedte.region + ", '" + staedte.name + "', '" + staedte.lkz + "');\n");
write('//--></script>\n');


// Thementabelle für Darstellung des Themenbaumes auslesen

// themen = database.cursor("SELECT DISTINCT tid,qid,name,einzug,sortierung FROM themen ORDER BY sortierung");
</SERVER>

</head>

<body bgcolor="#FFFFFF">

<p align="center"><font size="4"><b>St&auml;dteliste</b></font></p>
<ul>

<SERVER>
write('<script language="javascript"><!--\n');
write('var i = 0;\n');
write('var link = ', request.link.toLowerCase(), ';\n');
</SERVER>

if (link) {
    for (i in staedteliste) {
        document.write('<li> <a href="javascript:parent.app.insertStadt(' + staedteliste[i].stid + ', ' + staedteliste[i].land + ', ' + staedteliste[i].region + ', \'', escape(staedteliste[i].name), '\')">', staedteliste[i].lkz, ' - ', staedteliste[i].name, ' (', staedteliste[i].region, ')</a>\n');
    }
}
else {
    for (i in staedteliste) {
        document.write('<li> ', staedteliste[i].lkz, ' - ', staedteliste[i].name, ' (', staedteliste[i].region, ')\n');
    }
}
//--></script>

</ul>
</body>
</html>

start.html

<html>
<head>
<title> Start Linkdb-Administration </title>
</head>
<body>

<server>
if (!database.connected())
    database.connect("ORACLE","","linkdb","dito","wgs_pc-ibe-inet-srv_ORCL");

if (!database.connected())
    write("Fehler: Datenbank kann nicht konnektiert werden.")
else {
    // Projekt-Objekt für exklusiven Schreibzugriff sperren
    project.lock()

    // Die höchsten IDs für Neueinträge ermitteln
    project.lastHLID = 0;
    project.lastTID = 0;
    project.lastSTID = 0;
    maxHLID = database.cursor("SELECT MAX(hlid) FROM links");
    maxTID = database.cursor("SELECT MAX(tid) FROM themen");
    maxSTID = database.cursor("SELECT MAX(stid) FROM staedte");
    maxHLID.next();
    maxTID.next();
    maxSTID.next();
    project.lastHLID = maxHLID[0];
    project.lastTID = maxTID[0];
    project.lastSTID = maxSTID[0];
    maxHLID.close();
    maxTID.close();
    maxSTID.close();

    // Projekt-Objekt wieder freigeben
    project.unlock()

    // Homepage anzeigen
    redirect("home.html")
}
</server>

</body>
</html>

themenbaum.html

<html>

<head>
<title>Linkdatenbank - Themenbaum</title>

<SERVER>

// Request-Variable (String) als Boolean auswerten

if (request.quer.toUpperCase() == "TRUE")
    quer = true;
else
    quer = false;


// Erstellung eines Clientside JavaScriptes mit einem Themen-Array
// zur Eingabevalidierung (gültige ID, Unterthema bei Löschung)

if (quer)
    themenids = database.cursor("SELECT DISTINCT tid, refid FROM themen");
else
    themenids = database.cursor("SELECT DISTINCT tid, refid FROM themen WHERE qid=tid");
var i = 0;
write('<script language="javascript"><!--\n');
write('themenliste = new Array();\n');
write('function thema(tid, refid) {\n');
write(' this.tid = tid;\n');
write(' this.refid = refid;\n}\n');
while (themenids.next()) 
    write("themenliste[" + (i++) +"] = new thema(" + themenids[0] + ", " + themenids[1] + ");\n");
write('//--></script>\n');


// Thementabelle für Darstellung des Themenbaumes auslesen

themen = database.cursor("SELECT DISTINCT tid,qid,name,einzug,sortierung FROM themen ORDER BY sortierung");
</SERVER>

</head>

<body bgcolor="#FFFFFF">

<p align="center"><font size="4"><b>Thema ausw&auml;hlen</b></font></p>

<pre>
<SERVER>
while (themen.next()) {
    for (var j = 0; j < themen.einzug; j++)
        write(' ');
    if (themen.tid != themen.qid && !quer)
        write(themen.name + '\n');
    else
        write('<a href="javascript:parent.app.insertThema(' + themen.tid + ',\'' + escape(themen.name) + '\')">' + themen.name + '</a>\n');
}
</SERVER>
</pre>

</body>
</html>

verwaltung.html

<html>
<head>
<title>Linkdatenbank - Verwaltung</title>

<script language="javascript"><!--//

// Korrigiert eingebaute JavaScript-Funktion unescape
// (Rückwandlung von + nach Leerzeichen)

function UNescape(escstring) {
    var i = 0;
    while ((i=escstring.indexOf("+")) != -1) {
        a = escstring.substring(0, i);
        b = escstring.substring(i+1, escstring.length);
        escstring = "" + a + " " + b;
    }
    return(unescape(escstring));
}


// Fügt aus rechtem Rahmen gewähltes Thema oder gewählten Link in linkes Formular ein

function insertThema(id, thema) {
    thema = UNescape(thema);
    var formular = parent.links.document.forms[0];

    if (formular.name == 'neuthema') {
        formular.refid.value = id;
        formular.oberthema.value = thema;
    }

    if (formular.name == 'neuquer') {
        if (formular.wo[0].checked) {
            formular.refid.value = id;
            formular.oberthema.value = thema; }
        else {
            formular.qid.value = id;
            formular.originalthema.value = thema; 
        }
    }

    if (formular.name == 'loeschen' || formular.name == 'neulink' || formular.name == 'aendern' || formular.name == 'linkaendern') {
        formular.tid.value = id;
        formular.thema.value = thema;
    }

    if (formular.name == 'linkloeschen' || formular.name == 'linkwaehlen') {
        formular.hlid.value = id;
        formular.titel.value = thema;
    }
}


// Fügt aus rechtem Rahmen gewählte Stadt in linkes Formular ein

function insertStadt(stid, land, region, name) {
    name = UNescape(name);
    var formular = parent.links.document.forms[0];
    var i = 0;

    formular.stid.value = stid;
    formular.region.value = region;
    formular.sname.value = name; 
    for (i=0; i<formular.land.length; i++) {
        if (formular.land.options[i].value == land) {
            formular.land.selectedIndex = i;
            break;
        }
    } 
}

//--></script>

</head>

<body bgcolor="#8C0042" text="#FFFFFF">

<table border=0 width=100% height=98% cellspacing=0 cellpadding=0>
<tr>
    <td align=center valign=top>
        <font size="5"><b>
        <br>V<br>E<br>R<br>W<br>A<br>L<br>T<br>U<br>N<br>G<br>
        </b></font>
    </td>
</tr>
<tr>
    <td align=center valign=bottom>
        <a href="home.html" target="_top">
        <img src="home.gif" border=0 hspace=0></a>
    </td>
</tr>
</table>

</body>
</html>

Seitenanfang

Inhalt Zurueck Weiter