interne Orga
';
// show msg, if available
if ( $strmsg != '' )
{
echo'
Authentifizierungshinweis:
';
$strmsg = '';
}
if ( !$sbolauthloggedin )
{
// show authentication page and then die
if ( !$bolauthabort )
{
// show login form
echo'
*knock-knock*
';
}
// close page and stoprun.
echo'
';
readfile( constant("SERVER_FILE_EXTRO") );
die();
}
// Well, Checkpoint.
// Now the user is proofed to be successfully logged in. (All others are wiped out.)
// From here on the user is authorized to enjoy all the following features.
// default sequence within each chapter:
// 1. headline
// 2. submit action
// 3. showmsg();
// 4. user forms
// 5. showmsg();
// 6. five empty rows to separate from next chapter ;)
// show logout chapter
echo'
Logout
';
showmsg();
echo '
';
showmsg();
// show anmeldungen
echo'
';
if ( $bolshowanmeldungen )
{
// Anmeldungen anzeigen
// hmm, das hier musste jetzt mal schnell gehen, schöner oder gar effizienter Code ist das natürlich absolut nicht ;-)
$strinput = file_get_contents( constant("SERVER_FILE_ANMELDUNGSLISTE") );
$strinput = htmlentities( $strinput, ENT_QUOTES );
$strinput = str_replace( chr(13), '', $strinput );
$strinput = str_replace( chr(10), '
', $strinput );
$strinput = str_replace( chr(9), ' | ', $strinput );
$stroutput = '';
$stroutput = str_replace( ' |
|
', '', $stroutput );
$strinput = file( constant("SERVER_FILE_ANMELDUNGSLISTE") );
$intsumanmeldungen = 0;
$intsumeinnahmen = 0;
$intsumwurst = 0;
$intsumkaese = 0;
$intsummarmelade = 0;
$intsumobst = 0;
$intsummuesli = 0;
$eintritt = array( 'Normal' => 50, 'Mitglied' => 35, 'Engel' => 25, 'Ermaeszigt' => 25 );
foreach ($strinput as $intlinenum => $strline) {
if ( $intlinenum != 0 && strlen( $strline ) > 0)
{
list($strnick, $strstatus, $stremail, $intwurst, $intkaese, $intmarmelade, $intobst, $intmuesli, $strtimestamp) = explode(chr(9), $strline);
$intsumanmeldungen = $intsumanmeldungen + 1;
$intsumeinnahmen = $intsumeinnahmen + $eintritt[$strstatus];
$intsumwurst = $intsumwurst + $intwurst;
$intsumkaese = $intsumkaese + $intkaese;
$intsummarmelade = $intsummarmelade + $intmarmelade;
$intsumobst = $intsumobst + $intobst;
$intsummuesli = $intsummuesli + $intmuesli;
}
}
echo '
';
echo 'nach Status:';
echo 'Normal: ' . substr_count( $stroutput, '>Normal<' ) . '';
echo 'Mitglieder: ' . substr_count( $stroutput, '>Mitglied<' ) . '';
echo 'Engel: ' . substr_count( $stroutput, '>Engel<' ) . '';
echo 'Ermäßigt: ' . substr_count( $stroutput, '>Ermaeszigt<' ) . '';
echo '
';
echo 'Gesamt: ' . $intsumanmeldungen . '';
echo 'Einnahmen: ' . $intsumeinnahmen . ' Euro';
echo '';
echo '
';
echo 'nach Futter: pro Tag (' . constant("ORGA_DAYS_BREAKFAST") . ' Tage)';
echo 'Wurst: ' . $intsumwurst . ' (' . ( constant("ORGA_DAYS_BREAKFAST") * $intsumwurst ) . ')' . '';
echo 'Käse: ' . $intsumkaese . ' (' . ( constant("ORGA_DAYS_BREAKFAST") * $intsumkaese ) . ')' . '';
echo 'Marmelade: ' . $intsummarmelade . ' (' . ( constant("ORGA_DAYS_BREAKFAST") * $intsummarmelade ) . ')' . '';
echo 'Obst: ' . $intsumobst . ' (' . ( constant("ORGA_DAYS_BREAKFAST") * $intsumobst ) . ')' . '';
echo 'Müsli: ' . $intsummuesli . ' (' . ( constant("ORGA_DAYS_BREAKFAST") * $intsummuesli ) . ')' . '';
echo '
';
echo 'Brötchen gesamt: ' . ( $intsumwurst + $intsumkaese + $intsummarmelade ) . ' (' . ( 4 * ( $intsumwurst + $intsumkaese + $intsummarmelade ) ) . ')' . '';
echo '';
echo '
' . $stroutput . '
';
}
showmsg();
// show kassenliste
echo'
';
if ( $bolshowkassenliste )
{
// Kassenliste anzeigen
// hmm, das hier musste jetzt mal schnell gehen, schöner oder gar effizienter Code ist das natürlich absolut nicht ;-)
$strinput = file( constant("SERVER_FILE_ANMELDUNGSLISTE") );
natcasesort ( $strinput );
$eintritt = array( 'Normal' => 50, 'Mitglied' => 35, 'Engel' => 25, 'Ermaeszigt' => 25 );
$stroutput = '';
foreach ($strinput as $intlinenum => $strline)
{
if ( $intlinenum != 0 && strlen( $strline ) > 0)
{
list($strnick, $strstatus, $stremail, $intwurst, $intkaese, $intmarmelade, $intobst, $intmuesli, $strtimestamp) = explode(chr(9), $strline);
$strnick = htmlentities( $strnick, ENT_QUOTES );
$stroutput = $stroutput . chr(13) . '
' . $strstatus . ' | ' . $eintritt[$strstatus] . ' | ' . $strnick . ' |
';
}
}
$stroutput = '
Status | Eintritt | Nick | ' . $stroutput . '
';
echo '
' . $stroutput . '
';
}
showmsg();
/* ignore this for 2007
// show make workshops chapter
echo'
make install Workshops
';
if ( $bolmakeworkshops )
{
//make workshops
$bolok = false;
$stroutput = '';
// read workshops
$strdbsql = " select ws_id, ws_name, ws_speakers, ws_content" .
" from tbl_workshops ws" .
" order by ws_name";
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// workshops found
// -> use them
while ( $dbsmain->getdbrow ( $strdbrow ))
{
// for each workshop:
$stroutput = $stroutput .'
' . $strdbrow['ws_name'] . '
' . $strdbrow['ws_speakers'] . '
' . html_entity_decode( $strdbrow['ws_content'], ENT_QUOTES ) . '
';
}
// don't allow to finish properly until finished developing!
$bolok = true;
}
else
{
// no workshops found
// -> hmm, that should not happen, but even then there should be no data anyway...
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Abfrage der Workshops verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
if ( $bolok )
{
// operation has succeeded -> now generate workshop file
$stroutput = '
Workshops
Stand: ' . date( "d.m.Y H:i:s", $intnow ) . '
' . $stroutput . '
';
// add autogeneration-warning
$stroutput = file_get_contents( constant("SERVER_FILE_AUTOGEN") ) . $stroutput;
$strinput = file_get_contents( constant("SERVER_FILE_TEMPLATE") );
$strinput = str_replace( "[%title%]", "Workshops", $strinput );
$stroutput = str_replace( "[%content%]", $stroutput, $strinput );
if ( is_writable( constant("SERVER_FILE_WORKSHOPS") ))
{
file_put_contents( constant("SERVER_FILE_WORKSHOPS"), $stroutput );
// file_put_contents does not work with PHP 4.x, so use instead: fopen, fwrite, fclose
//$intfileid = fopen( constant("SERVER_FILE_WORKSHOPS"), "w" );
//fwrite( $intfileid, $stroutput );
//fclose( $intfileid );
$bolok = true;
}
else
{
addmsg ( 'Die Workshopdatei "' . constant("SERVER_FILE_WORKSHOPS") . '" konnte nicht geschrieben werden. (Rechteproblem?)');
$bolok = false;
}
}
// write result
if ( $bolok )
{
addmsg ( 'Die Workshopdatei wurde erfolgreich aktualisiert.' );
}
else
{
addmsg ( 'Die Workshopdatei wurde nicht aktualisiert.' );
}
}
showmsg();
echo'
';
showmsg();
// show make fahrplan chapter
echo'
make install Fahrplan
';
if ( $bolmakefahrplan )
{
//make fahrplan
$bolok = false;
$stroutput = '';
// prepare table header with room names
// read rooms
$strdbsql = " select ro_name" .
" from tbl_rooms ro" .
" order by ro_schedpos";
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// rooms found
// -> use them
$strtablehead = '';
while ( $dbsmain->getdbrow ( $strdbrow, clsdb::DB_ROW_NEXT ))
{
// for each room:
$strtablehead = $strtablehead .'
' . $strdbrow['ro_name'] . ' | ';
}
$bolok = true;
}
else
{
// no rooms found
// -> hmm, that should not happen, but even then there should be no data anyway...
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Abfrage der Raumliste verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
if ( $bolok )
{
// read schedule slots with workshops
$strdbsql = " select extract(hour from sd_begintime) as sd_begintime_hour, extract(day from sd_begintime) as sd_begintime_day," .
" extract(month from sd_begintime) as sd_begintime_month, extract(year from sd_begintime) as sd_begintime_year," .
" DAYOFWEEK(sd_begintime) as sd_begintime_weekday, sd_begintime," .
" ws_id, ws_name, ws_speakers,".
" ro_name" .
" from tbl_schedule sd" .
" left join tbl_workshops ws on sd.sd_ws_id = ws.ws_id" .
" left join tbl_rooms ro on sd.sd_ro_id = ro.ro_id" .
" order by sd_begintime, ro_schedpos";
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// scheduled events found
// -> use them
// es folgt: Gruppenwechsel über Tag, Timeslot, Raum, Schedule-Event
// Gesamtvorlauf
$intsdyear = 0;
$intsdmonth = 0;
$intsdday = 0;
$intsdhour = 0;
$strroname = '';
$boleof = false;
$boleof = !$dbsmain->getdbrow ( $strdbrow, clsdb::DB_ROW_NEXT );
while ( !$boleof )
{
// Gruppenvorlauf Tag
$intsdyear = $strdbrow['sd_begintime_year'];
$intsdmonth = $strdbrow['sd_begintime_month'];
$intsdday = $strdbrow['sd_begintime_day'];
// neue Tabelle initialisieren
$intcolrot = 1;
$stroutput = $stroutput .'
' . $strweekdayname[ $strdbrow['sd_begintime_weekday'] ] . '
' . $intsdday . '.' . $intsdmonth . '.
| ';
$stroutput = $stroutput . $strtablehead;
$stroutput = $stroutput .'
';
while
(
!$boleof
&&
(
$intsdyear == $strdbrow['sd_begintime_year']
&&
$intsdmonth == $strdbrow['sd_begintime_month']
&&
$intsdday == $strdbrow['sd_begintime_day']
)
)
{
// Gruppenvorlauf Timeslot
$intsdhour = $strdbrow['sd_begintime_hour'];
// neue Tabellenzeile initialisieren
$intcolrot = abs( $intcolrot - 1 );
$stroutput = $stroutput .'
' . $intsdhour.'
:00
| ';
while
(
!$boleof
&&
(
$intsdyear == $strdbrow['sd_begintime_year']
&&
$intsdmonth == $strdbrow['sd_begintime_month']
&&
$intsdday == $strdbrow['sd_begintime_day']
)
&&
(
$intsdhour == $strdbrow['sd_begintime_hour']
)
)
{
// Gruppenvorlauf Schedule-Event
$strroname = $strdbrow['ro_name'];
// neue Tabellenzelle initialisieren
$stroutput = $stroutput .'
';
while
(
!$boleof
&&
(
$intsdyear == $strdbrow['sd_begintime_year']
&&
$intsdmonth == $strdbrow['sd_begintime_month']
&&
$intsdday == $strdbrow['sd_begintime_day']
)
&&
(
$intsdhour == $strdbrow['sd_begintime_hour']
)
&&
(
$strroname == $strdbrow['ro_name']
)
)
{
// Datensatz (Schedule-Event) verarbeiten
if ( $strdbrow['ws_name'] > '')
{
$stroutput = $stroutput . '' . $strdbrow['ws_name'];
if ( $strdbrow['ws_speakers'] > '')
{
$stroutput = $stroutput . ' (' . $strdbrow['ws_speakers'] . ')';
}
$stroutput = $stroutput . '';
}
// neuen Datensatz lesen
$boleof = !$dbsmain->getdbrow ( $strdbrow, clsdb::DB_ROW_NEXT );
}
// Gruppennachlauf Schedule-Event
// Tabellenzelle finalisieren
$stroutput = $stroutput .'
| ';
}
// Gruppennachlauf Timeslot
// Tabellenzeile finalisieren
$stroutput = $stroutput .'
';
}
// Gruppennachlauf Tag
// Tabelle finalisieren
$stroutput = $stroutput .'
';
}
// Gesamtnachlauf
// Gesamtausgabe finalisieren
addmsg ( 'Die Fahrplandaten wurden erfolgreich zusammengestellt. Die Fahrplandatei kann jetzt geschrieben werden.' );
$bolok = true;
}
else
{
// no scheduled events found
// -> hmm, that should not happen, but even then there should be no data anyway...
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Abfrage des Fahrplans verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
if ( $bolok )
{
// operation has succeeded -> now generate schedule file
$stroutput = '
Fahrplan
Stand: ' . date( "d.m.Y H:i:s", $intnow ) . '
' . $stroutput .
'
feste Einrichtungen
Orga / Projektleitung:
Büro (EG) bei Work4
Infrastruktur:
NOC (OG), POC (OG)
CERT (Rot-Kreuz):
Flur (OG) vor dem Heimatmuseum
CAcert:
Bei den Funkamateuren
Funk-Amateure:
Work3 (OG), hinter der Werkstatt (Freifunker)
Freifunker:
Werkstatt (OG)
Fest- und Flüssignahrung:
Cafe, vorderer Teil (EG)
';
// add autogeneration-warning
$stroutput = file_get_contents( constant("SERVER_FILE_AUTOGEN") ) . $stroutput;
$strinput = file_get_contents( constant("SERVER_FILE_TEMPLATE") );
$strinput = str_replace( "[%title%]", "Fahrplan", $strinput );
$stroutput = str_replace( "[%content%]", $stroutput, $strinput );
if ( is_writable( constant("SERVER_FILE_FAHRPLAN") ))
{
file_put_contents( constant("SERVER_FILE_FAHRPLAN"), $stroutput );
// file_put_contents does not work with PHP 4.x, so use instead: fopen, fwrite, fclose
//$intfileid = fopen( constant("SERVER_FILE_FAHRPLAN"), "w" );
//fwrite( $intfileid, $stroutput );
//fclose( $intfileid );
$bolok = true;
}
else
{
addmsg ( 'Die Fahrplandatei "' . constant("SERVER_FILE_FAHRPLAN") . '" konnte nicht geschrieben werden. (Rechteproblem?)');
$bolok = false;
}
}
// write result
if ( $bolok )
{
addmsg ( 'Die Fahrplandatei wurde erfolgreich aktualisiert.' );
}
else
{
addmsg ( 'Die Fahrplandatei wurde nicht aktualisiert.' );
}
}
showmsg();
echo'
';
showmsg();
// todo:
// Diese verdammten Einrückungen müssten bei Gelegenheit mal wieder komplett repariert werden!
// Ursprünglich waren mal alle Einrückungen (pro Ebene) durch zwei Leerzeichen dargestellt.
// Anscheinend waren da aber zwischenzeitlich "intelligente" Editoren dran, die sich gegenseitig
// eine wilde Schlacht mittels mehrerer inkompatibler Space- und Tab-Konventionen geliefert haben.
// HTML-Anker und orga-Chapter sollten jedenfalls absolut linksbündig stehen... *seufz*
// Eigentlich auch alles halb so schlimm, falls man einen Editor mit Block-Highlighting hat... ;-)
// show workshop editor chapter
echo '
Workshop Editor
';
if ( $bolwsupdate && $intwsid != constant("DB_ID_NONE") )
{
// update workshop
// if $intwsid == constant("DB_ID_NEW") create new workshop else update existing
$bolok = false;
if ( $intwsid != constant("DB_ID_NEW") )
{
// update existing workshop
$strdbsql = " ws_name = '" . $strwsname . "'," .
" ws_speakers = '" . $strwsspeakers . "'," .
" ws_content = '" . $strwscontent . "'," .
" ws_comment = '" . $strwscomment . "',";
if ( $intwsduration != '' )
{
$strdbsql = $strdbsql . " ws_duration = " . $intwsduration . ",";
}
else
{
$strdbsql = $strdbsql . " ws_duration = NULL,";
}
$strdbsql = " update tbl_workshops set " .
substr( $strdbsql, 0, strlen( $strdbsql ) - 1 ) .
" where ws_id = " . $intwsid;
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// update successful
addmsg ( 'Erfolgreich aktualisiert: ' . $dbsmain->getdbrowcount() . ' Workshop(s).' );
$bolok = true;
}
else
{
// update failed
addmsg ( 'Aktualisierung fehlgeschlagen!
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Workshop-Aktualisierung verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
else
{
// insert new workshop
$strdbsql = '';
if ( $strwsname != '' )
{
$strdbfields = $strdbfields . " ws_name,";
$strdbsql = $strdbsql . " '" . $strwsname . "',";
}
if ( $intwsduration != '' )
{
$strdbfields = $strdbfields . " ws_duration,";
$strdbsql = $strdbsql . " " . $intwsduration . ",";
}
if ( $strwsspeakers != '' )
{
$strdbfields = $strdbfields . " ws_speakers,";
$strdbsql = $strdbsql . " '" . $strwsspeakers . "',";
}
if ( $strwscontent != '' )
{
$strdbfields = $strdbfields . " ws_content,";
$strdbsql = $strdbsql . " '" . $strwscontent . "',";
}
if ( $strwscomment != '' )
{
$strdbfields = $strdbfields . " ws_comment,";
$strdbsql = $strdbsql . " '" . $strwscomment . "',";
}
if ( $strdbsql != '' )
{
// get nextval
$strdbsql2 = "select MAX(ws_id)+1 as nextval from tbl_workshops";
addmsg ( 'Running SQL: ' . $strdbsql2 );
if ( $dbsmain->runsql( $strdbsql2 ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
if ( $dbsmain->getdbrow ( $strdbrow, clsdb::DB_ROW_FIRST ))
{
// nextval succeeded
addmsg ( 'Nextval erhalten: ' . $strdbrow['nextval'] );
$intwsid = $strdbrow['nextval'];
$strdbfields = " ws_id," . $strdbfields;
$strdbsql = " " . $intwsid . "," . $strdbsql;
}
else
{
// this should never happen, at all
addmsg ( 'Nextval nicht lesbar!
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
else
{
// nextval failed
addmsg ( 'Keinen Nextval erhalten!
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Workshop-Erstellung verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
if ( $intwsid != constant("DB_ID_NEW") )
{
// nextval available
$strdbsql = " insert into tbl_workshops (" .
substr( $strdbfields, 0, strlen( $strdbfields ) - 1 ) .
") values ("
. substr( $strdbsql, 0, strlen( $strdbsql ) - 1 ) .
")";
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// insert successful
addmsg ( 'Erfolgreich erstellt: ' . $dbsmain->getdbrowcount() . ' Workshop(s).' );
$bolok = true;
}
else
{
// insert failed
addmsg ( 'Erstellung fehlgeschlagen!
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Workshop-Erstellung verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
if ( !$bolok )
{
$intwsid = constant("DB_ID_NEW");
}
}
}
else
{
// no fields filled
addmsg ( 'Wenn Du einen neuen Workshop anlegen willst, wäre es geschickt, zumindest schonmal den Namen auszufüllen. ;o) ' );
}
}
}
showmsg();
echo '
Hier können Workshops manuell bearbeitet - oder eben auch kaputtgemacht - werden, bitte also aufpassen ;)
';
echo '
';
if ( $intwsid != constant("DB_ID_NONE") )
{
// show workshop update form with selected workshop
echo
'
';
}
echo
'
';
showmsg();
// show fahrplan editor chapter
echo
'
Fahrplan Editor
';
// update fahrplan
if ( $bolsdupdate )
{
// save all selected workshops (from downlists) into schedule
$bolok = true;
$intcount = 0;
reset( $lstschedule );
foreach ( $lstschedule as $strscheduleindex => $intschedulevalue)
{
$intscheduleindex = intval( substr( $strscheduleindex, 0, strpos( $strscheduleindex . constant("DISPLAY_VALUE_SEPARATOR"), constant("DISPLAY_VALUE_SEPARATOR") )));
if ( $intschedulevalue != intval( substr( $strscheduleindex, strpos( $strscheduleindex . constant("DISPLAY_VALUE_SEPARATOR"), constant("DISPLAY_VALUE_SEPARATOR") ) + 1 )))
{
// dropdownbox had been changed
// -> update
$strdbsql = "NULL";
if ( $intschedulevalue != constant("DB_ID_NONE") )
{
$strdbsql = strval( intval( $intschedulevalue ));
}
$strdbsql = " update tbl_schedule " .
" set sd_ws_id = " . $strdbsql .
" where sd_id = " . strval( intval( $intscheduleindex ));
addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// schedule updated
// continue
$intcount = $intcount + 1;
}
else
{
// schedule not updated
addmsg ( 'Sorry, die Scheduleposition mit der ID ' . strval( intval( $intscheduleindex )) . ' konnte nicht geschrieben werden.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
$bolok = false;
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Aktualisierung des Schedules verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
$bolok = false;
}
}
else
{
// dropdownbox had not been changed
// -> ignore
}
}
addmsg ( 'Es wurden ' . $intcount . ' Slots erfolgreich aktualisiert.' );
showmsg();
}
if ( $bolsdupdate || $bolsdactivate )
{
$bolok = false;
$strtablehead = '';
// prepare table header with room names
// read rooms
$strdbsql = " select ro_name" .
" from tbl_rooms ro" .
" order by ro_schedpos";
//addmsg ( 'Running SQL: ' . $strdbsql );
if ( $dbsmain->runsql( $strdbsql ) )
{
if ( $dbsmain->getdbrowcount() > 0 )
{
// rooms found
// -> use them
$strtablehead = '';
while ( $dbsmain->getdbrow ( $strdbrow, clsdb::DB_ROW_NEXT ))
{
// for each room:
{
$strtablehead = $strtablehead .
'
' . $strdbrow['ro_name'] . ' |
';
}
}
$bolok = true;
}
else
{
// no rooms found
// -> hmm, that should not happen, but even then there should be no data anyway...
}
}
else
{
// error accessing database
addmsg ( 'Sorry, die Datenbank ist momentan nicht für die Abfrage der Raumliste verfügbar.
Die Datenbank sagt: ' . $dbsmain->getdberror() );
}
// Achtung:
// Der "Fahrplan Editor" benötigt für die Dropdownlisten auch die Variable $strworkshoplist,
// welche weiter oben im Rahmen des Kapitels "Workshop Editor" erstellt wurde.
showmsg();
}
echo
'
';
showmsg();
ignore this for 2007 */
// show run SQL chapter
echo
'
run SQL
';
$bolok = false;
if ( $bolrunsql && $strsql != '' )
{
// runs SQL statement
// be careful now:
// fire raw sql statement to database
$strdbsql = $pstrsql;
// write defused sql statement to screen
addmsg ( 'Running SQL: ' . $strsql );
if ( $dbsmain->runsql ( $strdbsql ) )
{
addmsg ( $dbsmain->getdbrowcount() . ' records found.' );
if ( $dbsmain->getdbfields( $strdbfields ))
{
echo
'
';
foreach ( $strdbfields[clsdb::DB_FIELD_NAME] as $intindex => $strvalue )
{
echo
'
' . $strvalue . ' |
';
}
echo
'
';
//if ( $dbsmain->getdbrow( $strdbrow, clsdb::DB_ROW_FIRST ))
$intcolrot = 0;
while ( $dbsmain->getdbrow( $strdbrow, clsdb::DB_ROW_NEXT ))
{
echo
'
';
$intindex = 1;
foreach ( $strdbfields[clsdb::DB_FIELD_NAME] as $intindex => $strvalue )
{
echo
'
' . $strdbrow[ $strvalue ] . ' |
';
}
echo
'
';
$intcolrot = abs( $intcolrot - 1 );
}
echo '
';
$bolok = true;
}
else
{
addmsg ( 'Error reading the fields!
Database says: ' . $dbsmain->getdberror() );
}
}
else
{
addmsg ( 'Error accessing the database!
Database says: ' . $dbsmain->getdberror() );
}
}
showmsg();
echo
'
';
showmsg();
// close page and stoprun.
echo
'
';
readfile( constant("SERVER_FILE_EXTRO") );
die();
?>