<?php
    $currDate 
strftime"%d.%m.%Y" );
    
$filename "./sindarin_sd.html";

    
/* Verbindung aufbauen, auswählen einer Datenbank */
    
$link mysql_connect"localhost""suche""Suche" )
        or die( 
"Keine Verbindung möglich: " mysql_error() );

    
mysql_select_db"sindarin" )
        or die( 
"Auswahl der Datenbank fehlgeschlagen" );

    
/* SQL-Anfrage */
    
$result mysql_query"SELECT deu, deusort, wortliste.sind, sind_alt, sind2, kl, info, srek, s2rek, saltrek, sc, url, wortliste.rf, wortliste_komm.komm FROM wortliste
    LEFT JOIN wortliste_komm ON wortliste.sind=wortliste_komm.sind AND wortliste.rf=wortliste_komm.rf
    UNION (SELECT NULL, NULL, sind_alt, sind, NULL, NULL, NULL, saltrek, NULL, NULL, NULL, NULL, NULL, NULL FROM wortliste) ORDER BY sind, sind_alt, rf, deu"
)
        or die( 
"Anfrage fehlgeschlagen: " mysql_error() );
        
    
$result_cp mysql_query"SELECT deu, deusort, wortliste.sind, sind_alt, sind2, kl, info, srek, s2rek, saltrek, sc, url, wortliste.rf, wortliste_komm.komm FROM wortliste
    LEFT JOIN wortliste_komm ON wortliste.sind=wortliste_komm.sind AND wortliste.rf=wortliste_komm.rf
    UNION (SELECT NULL, NULL, sind_alt, sind, NULL, NULL, NULL, saltrek, NULL, NULL, NULL, NULL, NULL, NULL FROM wortliste) ORDER BY sind, sind_alt, rf, deu"
)
        or die( 
"Anfrage fehlgeschlagen: " mysql_error() );

    
/* Datei anlegen und zum Schreiben öffnen */
    
$f fopen$filename"w" )
        or die( 
"Fehler beim Anlegen der Datei!" );

    
fputs$f"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html><head>
    <title>Wortliste Sindarin - Deutsch</title>
    <link rel=stylesheet type=\"text/css\" href=\"./sindarin.css\">
    <meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
</head><body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>

<table class=\"head\" width=\"100%\" border=0 cellspacing=0 cellpadding=6><tr><td width=\"100%\" valign=center>
    <center><h1>Sindarin - Deutsch</h1></center>
</td></tr></table>" 
);

    
/* Aktuelles Datum einfügen */
    
fputs$f"<p><small><i>(Stand vom $currDate)</i></small></p><p>" );

    
fputs$f"<p>\n" );

    
$firstRun true;
    
    
/*Vergleichsliste initialisieren*/
    
$nextline mysql_fetch_row($result_cp);
    
    while( 
$line mysql_fetch_array$resultMYSQL_ASSOC ) ){
        
/*
        if( $line['deu']=NULL){
            fputs( $f, "(<b>{$line['sind']} -> {$line['sind_alt']}</b>) " );
        }
        */
        
        /*
        neue Zeile, falls:
        1. neues Sindarin-Wort
        2. homophones Sindarin-Wort, aber anderes Alternativwort (siehe thenn < thenna und thenn < thinda)
        3. homophones Sindarin-Wort, aber rekonstruiert (siehe *dan "aber" und *dan "zurück")
        4. homophones Sindarin-Wort, homophones Alternativwort, aber rekonstruiert (siehe nadhor "Weide" und nadhr, nadhor "Ratte")
        */
        
if( $lastWord != $line['sind'] || ($lastWord $line['sind'] && $lastWord_alt != $line['sind_alt']) || ($lastWord $line['sind'] && $lastWord_rek != $line['srek']) || ($lastWord $line['sind'] && $lastWord_alt $line['sind_alt'] && $lastWord_altrek != $line['saltrek'])){
            if( 
$firstRun == false ){
                
// alte Zeile abschließen
                
fputs$f".<br>\n" );
            }
            else{
                
$firstRun false;
            }

            
// Sternchen setzen
            
if( $line['srek'] == true ){
                
fputs$f"*" );
            }
            
// Doelchlein setzen
            //if( strpos($line['info'],'arch.') || strpos($line['info'],'poet.') ){
            //    fputs( $f, "&dagger;" );
            //}
            // Sindarin-Wort setzen
            
fputs$f"<b>{$line['sind']}</b> " );
            
            
// Sindarin-Alt(ernativ)wort setzen
            
if( $line['sind_alt'] <> "" ){
                if(
$line['deu'] != NULL){
                    if( 
$line['saltrek'] == true ){
                        
fputs($f" (*<b>{$line['sind_alt']}</b>) ");
                    }
                    else{
                        
fputs($f" (<b>{$line['sind_alt']}</b>) ");
                    }
                }
                else{
                    
fputs($f"&rarr; <b>{$line['sind_alt']}</b>");
                }
            }

            
// Sindarin-Pluralwort setzen (sind2)
            
if( $line['sind2'] <> "" ){
                
fputs$f" &lt;" );
                
                
//setze Stern, falls nur eine Rekonstruktion
                
if( $line['s2rek'] == ){
                    
fputs$f"*" );
                }
                
//setze mehr Sterne, falls mehrere Rekonstruktionen
                
elseif( $line['s2rek'] > ){
                    
fputs$f"*" );
                    
$rek_anzahl = (int)$line['s2rek']-1;
                    
$line['sind2'] = preg_replace("/, /"", *"$line['sind2'], $rek_anzahl);
                }
                
fputs$f"{$line['sind2']}&gt; " );
            }
        }
        else{
            
// alte Zeile fortsetzen
            
if($line['deu'] != NULL){
                
fputs$f"; " );
            }
        }
        
        
// Update vom letzten Wort
        
$lastWord $line['sind'];
        
$lastWord_alt $line['sind_alt'];
        
$lastWord_altrek $line['saltrek'];
        
$lastWord_rek $line['srek'];
        
$lastWord_pl $line['sind2'];

        
// Wortklasse setzen
        
fputs$f"<small><i>{$line['kl']}</i></small>" );

/*
        // URL?
        if( $line['url'] <> "" )
        {
            $url = true;
            fputs( $f, "<a href=\"{$line['url']}\">" );
        }
        else
        {
            $url = false;
        }
*/

        // deutsches Wort setzen
        
if( strpos($line['info'],'arch.') || strpos($line['info'],'poet.') ){
            
fputs$f"&dagger;" );
        }
        if(
$line['deu'] != NULL){
            
fputs$f{$line['deu']});
        }
/*
        if( $url == true )
        {
            fputs( $f, "</a>" );
        }

        if( $line['info'] <> "" )
            fputs( $f, " ({$line['info']})" );
*/
        // naechste Zeile zum Vergleich holen
        
$nextline mysql_fetch_array$result_cpMYSQL_ASSOC );

        
// falls der Eintrag eine andere Referenz hat oder ein neues Sindarin-Wort kommt oder andere Alternativwörter
        //fputs($f,"|{$line['rf']}_{$nextline['rf']}| |{$line['sind']}_{$nextline['sind']}|"); //Testausgabe
        
if( $line['rf'] != $nextline['rf'] || $line['sind'] != $nextline['sind'] || $line['sind_alt'] != $nextline['sind_alt']){
            if( 
$line['sc'] <> "" ){
                
fputs($f," <small>[{$line['sc']}]</small>");
            }
            
// fuege Referenz ein
            
if( $line['rf'] <> "" ){
                
fputs$f" <small>({$line['rf']})</small>");
            }
            
// fuege Kommentar ein
            
if( $line['komm'] <> "" ){
                
fputs($f" <small>[{$line['komm']}]</small>");
            }
        }
    } 
// Ende von while
    
    // Abschluss der Liste
    
fputs$f".</p>\n" );
    
fputs$f"<center><b><big>~&nbsp;~&nbsp;~</big></b></center>\n</body></html>" );
    
fclose$f );

    
// Freigeben des Resultsets
    
mysql_free_result$result );

    echo 
"<p>Datei <a href=\"$filename\">$filename</a> erfolgreich angelegt!</p>";

// **************************************************************************************************************************************************

    
$filename "./sindarin_ds.html";

    
$f fopen$filename"w" )
        or die( 
"Fehler beim Anlegen der Datei!" );

    
/* SQL-Anfrage */
    
$result mysql_query"SELECT deu, deusort, wortliste.sind, sind_alt, sind2, kl, info, srek, s2rek, saltrek, sc, url, wortliste.rf, wortliste_komm.komm FROM wortliste
    LEFT JOIN wortliste_komm ON wortliste.sind=wortliste_komm.sind AND wortliste.rf=wortliste_komm.rf
    ORDER BY deu, sind"
)
        or die( 
"Anfrage fehlgeschlagen: " mysql_error() );
        
    
$result_cp mysql_query"SELECT deu, deusort, wortliste.sind, sind_alt, sind2, kl, info, srek, s2rek, saltrek, sc, url, wortliste.rf, wortliste_komm.komm FROM wortliste
    LEFT JOIN wortliste_komm ON wortliste.sind=wortliste_komm.sind AND wortliste.rf=wortliste_komm.rf
    ORDER BY deu, sind"
)
        or die( 
"Anfrage fehlgeschlagen: " mysql_error() );

    
fputs$f"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
    <html><head>
    <title>Wortliste Deutsch - Sindarin</title>
    <link rel=stylesheet type=\"text/css\" href=\"./sindarin.css\">
    <meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
    </head><body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>
    <table class=\"head\" width=\"100%\" border=0 cellspacing=0 cellpadding=6><tr><td width=\"100%\" valign=center>
    <center><h1>Deutsch - Sindarin</h1></center>
    </td></tr></table>" 
);

    
/* Datum einfügen */
    
fputs$f"<p><small><i>(Stand vom $currDate)</i></small></p><p>" );

    
fputs$f"<p>\n" );

    
$firstRun true;
    
    
$nextline mysql_fetch_row($result_cp);
    
    while( 
$line mysql_fetch_array$resultMYSQL_ASSOC ) ){
    
        if( 
$lastWord != $line['deu'] ){
            if( 
$firstRun == false ){
                
// Alte Zeile abschließen
                
fputs$f".<br>\n" );
            }
            else{
                
$firstRun false;
            }

            
// Deutsch
            
fputs$f"<b>{$line['deu']}</b>: " );
        }
        else{
            
// Alte Zeile fortsetzen
            
fputs$f"; " );
        }

        
$lastWord $line['deu'];

        
// Wortklasse
        
fputs$f"<small><i>{$line['kl']}</small></i> " );

/*
        // URL?
        if( $line['url'] <> "" )
        {
            $url = true;
            fputs( $f, "<a href=\"{$line['url']}\">" );
        }
        else
        {
            $url = false;
        }
*/

        // Sternchen setzen
        
if( $line['srek'] == true ){
            
fputs$f"*" );
        }
        
// Doelchlein setzen
        
if( strpos($line['info'],'arch.') || strpos($line['info'],'poet.') ){
            
fputs$f"&dagger;" );
        }
        
        
// Sindarin-Wort setzen
        
fputs$f"{$line['sind']});
        
        
// Sindarin-Alternativwort setzen
        
if( $line['sind_alt'] <> "" ){
                if( 
$line['saltrek'] == true ){
                        
fputs($f" (*{$line['sind_alt']}) ");
                    }
                    else{
                        
fputs($f" ({$line['sind_alt']}) ");
                    }
        }

        
// Sindarin-Pluralwort setzen
        
if( $line['sind2'] <> "" ){
                
fputs$f" &lt;" );
                
                
//setze Stern, falls nur eine Rekonstruktion
                
if( $line['s2rek'] == ){
                    
fputs$f"*" );
                }
                
//setze mehr Sterne, falls mehrere Rekonstruktionen
                
elseif( $line['s2rek'] > ){
                    
fputs$f"*" );
                    
$rek_anzahl = (int)$line['s2rek']-1;
                    
$line['sind2'] = preg_replace("/, /"", *"$line['sind2'], $rek_anzahl);
                }
                
fputs$f"{$line['sind2']}&gt; " );
        }
            
/*
        if( $url == true )
        {
            fputs( $f, "</a>" );
        }

        if( $line['info'] <> "" )
            fputs( $f, " ({$line['info']})" );

        if( $line['sc'] <> "" )
            fputs( $f, " {$line['sc']}" );
*/

    
$nextline mysql_fetch_array$result_cpMYSQL_ASSOC );

    if( 
$line['sc'] <> "" ){
        
fputs($f," <small>[{$line['sc']}]</small>");
    }
    
// fuege Referenz ein
    
if( $line['rf'] != $nextline['rf'] || $line['deu'] != $nextline['deu']){
        if( 
$line['rf'] <> "" ){
            
fputs$f" <small>({$line['rf']})</small>");
        }
    }
    
// fuege Kommentar ein
    
if( $line['komm'] <> "" ){
        
fputs($f" <small>[{$line['komm']}]</small>");
    }

    } 
// while

    
fputs$f".</p>\n" );

    
fputs$f"<center><b><big>~&nbsp;~&nbsp;~</big></b></center>\n</body></html>" );

    
fclose$f );

    
/* Freigeben des Resultsets */
    
mysql_free_result$result );

    
/* schliessen der Verbinung */
    
mysql_close$link );

    echo 
"<p>Datei <a href=\"$filename\">$filename</a> erfolgreich angelegt!</p>";

?>