Commit f33eccaf authored by Stephan Kreutzer's avatar Stephan Kreutzer

sos-server-2 added.

parent 71945475
......@@ -33,7 +33,7 @@ define("LANG_UPLOAD_SPECIFIC_ERROR_PRE", "Error ");
define("LANG_UPLOAD_SPECIFIC_ERROR_POST", " has occurred.");
define("LANG_LINKCAPTION_DONE", "Done");
define("LANG_LINKCAPTION_BACK", "Back");
define("LANG_UPLOAD_SUCCESS", "File import was successful.");
define("LANG_IMPORT_SUCCESS", "File import was successful.");
define("LANG_IMPORT_FAILURE", "The import failed.");
......
Stephan Kreutzer, Bahnhofstraße 71, 74321 Bietigheim-Bissingen, GERMANY (https://skreutzer.de, <[email protected]>).
Christian Huke, Steinhalderstraße 12, 66999 Hinterweidenthal, GERMANY (<[email protected]>).
This diff is collapsed.
This diff is collapsed.
/* Copyright (C) 2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
body
{
font-family: sans-serif;
}
#causes
{
width: 32%;
height: 18%;
position: absolute;
left: 0%;
top: 0%;
text-align: right;
}
#current
{
width: 32%;
height: 18%;
position: absolute;
left: 34%;
top: 0%;
text-align: center;
}
#effects
{
width: 32%;
height: 18%;
position: absolute;
left: 68%;
top: 0%;
text-align: left;
}
#details
{
width: 96%;
height: 38%;
position: absolute;
left: 2%;
top: 62%;
}
/* Copyright (C) 2013-2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file $/web/css/mainstyle.css
* @brief Global style settings.
* @author Stephan Kreutzer
* @since 2013-09-14
*/
body
{
font-family: sans-serif;
background-color: #2B72AD;
margin: 0px;
padding: 0px;
}
.mainbox
{
/* Centering. */
margin-left: auto;
margin-right: auto;
/*width: 75%;*/
border-style: solid;
border-width: 0px;
background-color: #FFFFFF;
padding: 5px;
}
.mainbox_header
{
background-color: #2B72AD;
border-style: solid;
border-width: 1px;
border-color: #2B72AD;
}
.mainbox_header_h1
{
color: #FFFFFF;
text-align: center;
}
.mainbox_body
{
background-color: #FFFFFF;
text-align: justify;
}
.footerbox
{
/* Centering. */
margin-left: auto;
margin-right: auto;
/*width: 75%;*/
padding: 5px;
text-align: center;
color: #FFFFFF;
}
.footerbox_link
{
color: #FFFFFF;
}
.license
{
font-family: monospace;
text-align: left;
margin-top: 50px;
margin-bottom: 50px;
}
.languageselector
{
/* Centering. */
width: 70%;
margin:0 auto;
}
.languageselector_text
{
color: #FFFFFF;
}
fieldset
{
border: 0px;
}
.success
{
color: green;
}
.error
{
color: red;
}
.table
{
display: table;
}
.tr
{
display: table-row;
}
.thead
{
display: table-header-group;
}
.tbody
{
display: table-row-group;
}
.tfoot
{
display: table-footer-group;
}
.th
{
display: table-cell;
font-weight: bold;
}
.td
{
display: table-cell;
}
<?php
/* Copyright (C) 2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file $/web/grid.php
* @author Stephan Kreutzer
* @since 2019-10-12
*/
require_once("./libraries/https.inc.php");
require_once("./libraries/poi_management.inc.php");
require_once("./libraries/languagelib.inc.php");
require_once(getLanguageFile("grid"));
header("Content-Type: application/xhtml+xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n".
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n".
"<html version=\"-//W3C//DTD XHTML 1.1//EN\" xsi:schemaLocation=\"http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd\" xml:lang=\"en\" lang=\"en\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:sos=\"http://www.untiednations.com/SOS\" xmlns=\"http://www.w3.org/1999/xhtml\">\n".
" <head>\n".
" <meta http-equiv=\"content-type\" content=\"application/xhtml+xml; charset=UTF-8\"/>\n".
" <!--\n".
" Copyright (C) 2018-2019 Stephan Kreutzer\n".
"\n".
" This file is part of SOS Server Prototype 2.\n".
"\n".
" SOS Server Prototype 2 is free software: you can redistribute it and/or modify\n".
" it under the terms of the GNU Affero General Public License version 3 or any later version,\n".
" as published by the Free Software Foundation.\n".
"\n".
" SOS Server Prototype 2 is distributed in the hope that it will be useful,\n".
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n".
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n".
" GNU Affero General Public License 3 for more details.\n".
"\n".
" You should have received a copy of the GNU Affero General Public License 3\n".
" along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.\n".
"\n".
" The data in the <div id=\"sos-input\"/> is not part of this program,\n".
" it's user data that is only processed. A different license may apply.\n".
" -->\n".
" <title>".LANG_PAGETITLE."</title>\n".
" <meta content=\"initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\" name=\"viewport\"/>\n".
" <link rel=\"stylesheet\" type=\"text/css\" href=\"./css/grid_styles.css\"/>\n".
" <script type=\"text/javascript\" src=\"./js/sos-grid-engine.js\">//</script>\n".
" <script type=\"text/javascript\" src=\"./js/sos-grid-renderer.js\">//</script>\n".
" <script type=\"text/javascript\" src=\"./js/sos-grid-navigation.js\">//</script>\n".
" <script type=\"text/javascript\">\n".
"\"use strict\";\n".
"\n".
"// As browsers/W3C/WHATWG turned incredibly evil, they might ignore the self-declarative\n".
"// XML namespace of this document and the given content type in the header, and instead\n".
"// assume/render \"text/html\", which then fails with JavaScript characters that are\n".
"// XML/XHTML special characters which need to be escaped, if the file is saved under\n".
"// a name that happens to end with \".html\" (!!!). Just have the file name end with\n".
"// \".xhtml\" and it might magically start to work.\n".
"\n".
"function loadGrid()\n".
"{\n".
" if (window.location.hash.length &gt; 1)\n".
" {\n".
" NavigatePoi(window.location.hash.substr(1));\n".
" }\n".
" else\n".
" {\n".
" NavigatePoi(\"\");\n".
" }\n".
"}\n".
"\n".
"window.onload = function () {\n".
" let loadLink = document.getElementById('loadLink');\n".
" loadLink.parentNode.removeChild(loadLink);\n".
"\n".
" loadGrid();\n".
"\n".
" if (\"onhashchange\" in window)\n".
" {\n".
" window.onhashchange = loadGrid;\n".
" }\n".
"};\n".
" </script>\n".
" </head>\n".
" <body>\n".
" <div id=\"grid\">\n".
" <div id=\"causes\"/>\n".
" <div id=\"current\"/>\n".
" <div id=\"effects\"/>\n".
" <div id=\"details\"/>\n".
" <div id=\"loadLink\">\n".
" <a href=\"#\" onclick=\"loadGrid();\">Load</a>\n".
" </div>\n".
" </div>\n".
" <div id=\"sos-input\" style=\"display:none;\">\n".
" <!-- The data contained in this element and sub-elements is not part of this program, it's user data and might be under a different license than this program. This program also doesn't depend on it or link it as a library, it's only processed. -->\n".
" <sos:SOS Language=\"en\" xsi:schemaLocation=\"http://www.untiednations.com/SOS http://www.untiednations.com/XML/SOSMeeting2.xsd\">\n";
$parents = array();
$relations = GetRelations();
if (is_array($relations) === true)
{
foreach ($relations as $relation)
{
if (array_key_exists($relation['id_poi_child'], $parents) !== true)
{
$parents[$relation['id_poi_child']] = array();
}
$parents[$relation['id_poi_child']][] = $relation['id_poi_parent'];
}
}
$pois = GetPois();
if (is_array($pois) === true)
{
$entries = array();
{
$lastPoiId = -1;
foreach ($pois as $poi)
{
if ($lastPoiId == (int)$poi['pois_id'])
{
continue;
}
else
{
$lastPoiId = (int)$poi['pois_id'];
}
$entries[] = $poi;
}
}
foreach ($entries as $entry)
{
echo " <sos:POI ID=\"".$entry['pois_id']."\">\n".
" <sos:Title>".htmlspecialchars($entry['poi_revisions_text'], ENT_XHTML, "UTF-8")."</sos:Title>\n";
if (array_key_exists($entry['pois_id'], $parents) === true)
{
foreach ($parents[$entry['pois_id']] as $parent)
{
echo " <sos:Parent Parent-ID=\"".$parent."\"/>\n";
}
}
echo " </sos:POI>\n";
}
}
echo " </sos:SOS>\n".
" </div>\n".
" </body>\n".
"</html>\n";
?>
This diff is collapsed.
/* Copyright (C) 2013-2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
.mainbox_proceed
{
margin: 20px;
}
.languageselector
{
/* Centering. */
width: 70%;
margin: 0 auto;
}
This diff is collapsed.
<?php
/* Copyright (C) 2013-2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file $/web/install/lang/de/install.lang.php
* @author Stephan Kreutzer
* @since 2013-09-14
*/
define("LANG_PAGETITLE", "Installation");
// -- Step 0 -------------------------------------------------------------------
define("LANG_STEP0_HEADER", "Installation");
define("LANG_STEP0_INTROTEXT", "Installation des Server-Prototyps 2 für <a href=\"http://untiednations.com/community/plan-sos\"><span xml:lang=\"en\">Shared/Semantic/Structured Open Space</span></a>.");
define("LANG_STEP0_PROCEEDTEXT", "Weiter");
// -- Step 1 -------------------------------------------------------------------
define("LANG_STEP1_HEADER", "Lizenzvertrag");
define("LANG_STEP1_PROCEEDTEXT", "Zustimmen");
// -- Step 2 -------------------------------------------------------------------
define("LANG_STEP2_HEADER", "Datenbankeinstellungen");
define("LANG_STEP2_REQUIREMENTS", "Diese Software benötigt einen laufenden MySQL-Datenbankserver. Füllen Sie bitte die Datenbank-Verbindungseinstellungen aus. Selbige werden in die Datei <tt>\$/libraries/database_connect.inc.php</tt> des Installationsverzeichnisses der Software geschrieben.");
define("LANG_STEP2_HOSTDESCRIPTION", "Adresse des Datenbankservers");
define("LANG_STEP2_USERNAMEDESCRIPTION", "Datenbank-Benutzername");
define("LANG_STEP2_PASSWORDDESCRIPTION", "Passwort dieses Datenbank-Benutzers");
define("LANG_STEP2_DATABASENAMEDESCRIPTION", "Name der Datenbank, welche die Tabellen enthalten wird");
define("LANG_STEP2_TABLEPREFIXDESCRIPTION", "Präfix für Datenbanktabellen (kann leer gelassen werden, wenn keine Namenskollisionen zu erwarten sind – Präfix endet üblicherweise mit einem Unterstrich '_')");
define("LANG_STEP2_SAVETEXT", "Einstellungen speichern");
define("LANG_STEP2_EDITTEXT", "Einstellungen editieren");
define("LANG_STEP2_PROCEEDTEXT", "Einstellungen bestätigen");
define("LANG_STEP2_DBCONNECTSUCCEEDED", "Verbindung zur Datenbank konnte erfolgreich hergestellt werden!");
// Corresponding with LANG_STEP3_DBCONNECTFAILED.
define("LANG_STEP2_DBCONNECTFAILED", "Verbindung zur Datenbank konnte nicht hergestellt werden. Fehlerbeschreibung: ");
// Corresponding with LANG_STEP3_DBCONNECTFAILEDNOERRORINFO.
define("LANG_STEP2_DBCONNECTFAILEDNOERRORINFO", "Keine Fehlerdetails!");
define("LANG_STEP2_DATABASECONNECTFILECREATEFAILED", "Der Versuch, <tt>\$/libraries/database_connect.inc.php</tt> anzulegen, ist fehlgeschlagen!");
define("LANG_STEP2_DATABASECONNECTFILEISWRITABLE", "<tt>\$/libraries/database_connect.inc.php</tt> kann geschrieben werden!");
define("LANG_STEP2_DATABASECONNECTFILEISNTWRITABLE", "<tt>\$/libraries/database_connect.inc.php</tt> kann nicht geschrieben werden! Entweder bestehen keine Schreibrechte auf das Verzeichnis <tt>\$/libraries/</tt>, sodass die Datei nicht angelegt werden kann, oder die Datei <tt>\$/libraries/database_connect.inc.php</tt> existiert bereits und die Berechtigung zum Schreiben der Datei wurde nicht eingeräumt. Womöglich müssen Sie die Berechtigungen für das Verzeichnis <tt>\$/libraries/</tt> und/oder die potentiell existierende Datei <tt>\$/libraries/database_connect.inc.php</tt> per FTP-Programm (CHMOD-Befehl) oder per Remote-Verbindung auf dem Server manuell einrichten. Vergessen Sie nicht, die Berechtigungen wieder zurückzusetzen, nachdem die Installation abgeschlossen wurde.");
define("LANG_STEP2_DATABASECONNECTFILEWRITABLEOPENFAILED", "<tt>\$/libraries/database_connect.inc.php</tt> schien schreibbar zu sein, sie konnte allerdings nicht geöffnet werden!");
define("LANG_STEP2_DATABASECONNECTFILEWRITEFAILED", "<tt>\$/libraries/database_connect.inc.php</tt> schien schreibbar zu sein, konnte erfolgreich geöffnet werden, jedoch ist das tatsächliche Schreiben fehlgeschlagen!");
define("LANG_STEP2_DATABASECONNECTFILEWRITESUCCEEDED", "<tt>\$/libraries/database_connect.inc.php</tt> konnte erfolgreich geschrieben werden!");
define("LANG_STEP2_DATABASECONNECTFILEISNTREADABLE", "<tt>\$/libraries/database_connect.inc.php</tt> kann nicht gelesen werden! Entweder bestehen keine Leserechte auf das Verzeichnis <tt>\$/libraries/</tt>, sodass auf die Datei nicht zugegriffen werden kann, oder der Datei <tt>\$/libraries/database_connect.inc.php</tt> fehlt die Leseberechtigung. Womöglich müssen Sie die Berechtigungen für das Verzeichnis <tt>\$/libraries/</tt> und/oder die Datei <tt>\$/libraries/database_connect.inc.php</tt> per FTP-Programm (CHMOD-Befehl) oder sonstigem Datenübertragungsprogramm auf dem Server manuell einrichten. Vergessen Sie nicht, die Berechtigungen wieder zurückzusetzen, nachdem die Installation abgeschlossen wurde.");
define("LANG_STEP2_DATABASECONNECTFILEISREADABLE", "Geschriebene <tt>\$/libraries/database_connect.inc.php</tt> kann gelesen werden!");
define("LANG_STEP2_DATABASECONNECTFILEDOESNTEXIST", "<tt>\$/libraries/database_connect.inc.php</tt> existiert nicht!");
// -- Step 3 -------------------------------------------------------------------
define("LANG_STEP3_HEADER", "Einrichtung");
define("LANG_STEP3_INITIALIZETEXT", "Einrichten");
define("LANG_STEP3_INITIALIZATIONDESCRIPTION", "Die Software muss nun initial eingerichtet werden. Dabei werden unter anderem die Tabellen in der Datenbank erzeugt.");
define("LANG_STEP3_CHECKBOXDESCRIPTIONDROPEXISTINGTABLES", "Bereits existierende Tabellen löschen (Achtung: kann nicht rückgängig gemacht werden!)");
define("LANG_STEP3_CHECKBOXDESCRIPTIONKEEPEXISTINGTABLES", "Tabellen nur neu anlegen, wenn sie noch nicht vorhanden sind (behält bestehende Tabellen unverändert bei)");
// Corresponding with LANG_STEP2_DBCONNECTFAILED.
define("LANG_STEP3_DBCONNECTFAILED", "Verbindung zur Datenbank konnte nicht hergestellt werden. Fehlerbeschreibung: ");
// Corresponding with LANG_STEP2_DBCONNECTFAILEDNOERRORINFO.
define("LANG_STEP3_DBCONNECTFAILEDNOERRORINFO", "Keine Fehlerdetails!");
define("LANG_STEP3_DBOPERATIONFAILED", "Datenbankoperation fehlgeschlagen. Fehlerbeschreibung: ");
define("LANG_STEP3_DBOPERATIONFAILEDNOERRORINFO", "Keine Fehlerdetails!");
define("LANG_STEP3_DBCOMMITFAILED", "Bestätigen der Datenbankoperationen fehlgeschlagen!");
define("LANG_STEP3_DBOPERATIONSUCCEEDED", "Einrichtung erfolgreich vorgenommen!");
define("LANG_STEP3_COMPLETETEXT", "Einrichtung abschließen");
// -- Step 4 -------------------------------------------------------------------
define("LANG_STEP4_HEADER", "Konfiguration");
define("LANG_STEP4_USERINITIALIZATIONDESCRIPTION", "Bitte legen Sie den ersten Benutzer an. Dieser Benutzer ist gleichzeitig der Administrator.");
define("LANG_STEP4_USERNAMEDESCRIPTION", "Benutzername");
define("LANG_STEP4_PASSWORDDESCRIPTION", "Passwort");
define("LANG_STEP4_EMAILDESCRIPTION", "E-Mail-Adresse");
define("LANG_STEP4_DOMAINROOTDESCRIPTION", "Bitte hinterlegen sie, unter welcher Domain und welchem Server-Pfad die Notiz-Software gerade installiert wird. Dieser Pfad wird verwendet, um absolute Links auf das Notiz-System Ihres Servers zusammensetzen zu können.");
define("LANG_STEP4_BUTTONSAVECAPTION", "Konfiguration speichern");
define("LANG_STEP4_DBOPERATIONSUCCEEDED", "Benutzer erfolgreich angelegt.");
define("LANG_STEP4_PROCEEDTEXT", "Konfiguration abschließen");
define("LANG_STEP4_DBOPERATIONFAILED", "Datenbankoperation fehlgeschlagen.");
// -- Step 5 -------------------------------------------------------------------
define("LANG_STEP5_HEADER", "Fertig!");
define("LANG_STEP5_COMPLETETEXT", "Installation erfolgreich abgeschlossen! Die Installationsroutine wird nun versuchen, sich selbst zu löschen. Wenn dies nicht gelingen sollte (Sie sich also nicht auf der Hauptseite anmelden können und wieder zur Installation umgeleitet werden), müssen Sie das Verzeichnis <tt>\$/install/</tt> manuell löschen, mindestens jedoch die Datei <tt>\$/install/install.php</tt>. Anschließend sollte das Anmeldeformular zugänglich sein.");
define("LANG_STEP5_EXITTEXT", "Beenden");
?>
<?php
/* Copyright (C) 2013-2019 Stephan Kreutzer
*
* This file is part of SOS Server Prototype 2.
*
* SOS Server Prototype 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3 or any later version,
* as published by the Free Software Foundation.
*
* SOS Server Prototype 2 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 Affero General Public License 3 for more details.
*
* You should have received a copy of the GNU Affero General Public License 3
* along with SOS Server Prototype 2. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file $/web/install/lang/en/install.lang.php
* @author Stephan Kreutzer
* @since 2013-09-14
*/
define("LANG_PAGETITLE", "Installation");
// -- Step 0 -------------------------------------------------------------------
define("LANG_STEP0_HEADER", "Installation");
define("LANG_STEP0_INTROTEXT", "Installation of the server prototype 2 for <a href=\"http://untiednations.com/community/plan-sos\">Shared/Semantic/Structured Open Space</a>.");
define("LANG_STEP0_PROCEEDTEXT", "Continue");
// -- Step 1 -------------------------------------------------------------------
define("LANG_STEP1_HEADER", "License Agreement");
define("LANG_STEP1_PROCEEDTEXT", "Agree");
// -- Step 2 -------------------------------------------------------------------
define("LANG_STEP2_HEADER", "Database Settings");
define("LANG_STEP2_REQUIREMENTS", "This software requires a running MySQL database server. Please fill in the database connection settings. They'll get written into the file <tt>\$/libraries/database_connect.inc.php</tt> of the software installation directory.");
define("LANG_STEP2_HOSTDESCRIPTION", "Address of the database server");
define("LANG_STEP2_USERNAMEDESCRIPTION", "Database username");
define("LANG_STEP2_PASSWORDDESCRIPTION", "Password of that database user");
define("LANG_STEP2_DATABASENAMEDESCRIPTION", "Name of the database which will hold the tables");
define("LANG_STEP2_TABLEPREFIXDESCRIPTION", "Prefix for table names (could be empty if no name collusions are expected – prefix ends usually with an underscore '_')");
define("LANG_STEP2_SAVETEXT", "Save settings");
define("LANG_STEP2_EDITTEXT", "Edit settings");
define("LANG_STEP2_PROCEEDTEXT", "Confirm settings");
define("LANG_STEP2_DBCONNECTSUCCEEDED", "Connection to the database was successfully established!");
// Corresponding with LANG_STEP3_DBCONNECTFAILED.
define("LANG_STEP2_DBCONNECTFAILED", "Connection to the database couldn't be established. Error description: ");
// Corresponding with LANG_STEP3_DBCONNECTFAILEDNOERRORINFO.
define("LANG_STEP2_DBCONNECTFAILEDNOERRORINFO", "No error details!");
define("LANG_STEP2_DATABASECONNECTFILECREATEFAILED", "The attempt to create <tt>\$/libraries/database_connect.inc.php</tt> failed!");
define("LANG_STEP2_DATABASECONNECTFILEISWRITABLE", "<tt>\$/libraries/database_connect.inc.php</tt> is writable!");
define("LANG_STEP2_DATABASECONNECTFILEISNTWRITABLE", "<tt>\$/libraries/database_connect.inc.php</tt> isn't writable! Either there are no write permissions granted for the directory <tt>\$/libraries/</tt>, so that the file can't be created, or the file <tt>\$/libraries/database_connect.inc.php</tt> does already exist, but permissions for writing the file aren't sufficient. You might have to enable write permission manually on the server for the directory <tt>\$/libraries/</tt> and/or for the file <tt>\$/libraries/database_connect.inc.php</tt> (if already existing) with a FTP program (CHMOD command) or via remote connection. Don't forget to reset the permissions after the installation is completed.");
define("LANG_STEP2_DATABASECONNECTFILEWRITABLEOPENFAILED", "<tt>\$/libraries/database_connect.inc.php</tt> looked to be writable, but opening the file failed!");
define("LANG_STEP2_DATABASECONNECTFILEWRITEFAILED", "<tt>\$/libraries/database_connect.inc.php</tt> looked to be writable, was successfully opened, but can't be actually written!");
define("LANG_STEP2_DATABASECONNECTFILEWRITESUCCEEDED", "Writing <tt>\$/libraries/database_connect.inc.php</tt> succeeded!");
define("LANG_STEP2_DATABASECONNECTFILEISNTREADABLE", "<tt>\$/libraries/database_connect.inc.php</tt> isn't readable! Either there are no read permissions granted for the directory <tt>\$/libraries/</tt>, so that the file can't be accessed, or the file <tt>\$/libraries/database_connect.inc.php</tt> itself lacks read permission. You might have to enable read permission manually on the server for the directory <tt>\$/libraries/</tt> and/or for the file <tt>\$/libraries/database_connect.inc.php</tt> with a FTP program (CHMOD command) or another file transfer program. Don't forget to reset the permissions after the installation is completed.");
define("LANG_STEP2_DATABASECONNECTFILEISREADABLE", "Written <tt>\$/libraries/database_connect.inc.php</tt> is readable!");
define("LANG_STEP2_DATABASECONNECTFILEDOESNTEXIST", "<tt>\$/libraries/database_connect.inc.php</tt> doesn't exist!");
// -- Step 3 -------------------------------------------------------------------
define("LANG_STEP3_HEADER", "Initialization");
define("LANG_STEP3_INITIALIZETEXT", "Initialize");
define("LANG_STEP3_INITIALIZATIONDESCRIPTION", "The software is about to be initialized. This includes the creation of the tables in the database.");
define("LANG_STEP3_CHECKBOXDESCRIPTIONDROPEXISTINGTABLES", "Delete tables that already exist (warning: tables can't be recovered!)");
define("LANG_STEP3_CHECKBOXDESCRIPTIONKEEPEXISTINGTABLES", "Only create tables, if not already existing (will keep existing tables without change)");
// Corresponding with LANG_STEP2_DBCONNECTFAILED.
define("LANG_STEP3_DBCONNECTFAILED", "Connection to the database couldn't be established. Error description: ");
// Corresponding with LANG_STEP2_DBCONNECTFAILEDNOERRORINFO.
define("LANG_STEP3_DBCONNECTFAILEDNOERRORINFO", "No error details!");
define("LANG_STEP3_DBOPERATIONFAILED", "Database operation failed. Error description: ");
define("LANG_STEP3_DBOPERATIONFAILEDNOERRORINFO", "No error details!");
define("LANG_STEP3_DBCOMMITFAILED", "Committing the database operations failed!");
define("LANG_STEP3_DBOPERATIONSUCCEEDED", "Initialization was successful!");
define("LANG_STEP3_COMPLETETEXT", "Complete");
// -- Step 4 -------------------------------------------------------------------
define("LANG_STEP4_HEADER", "Configuration");
define("LANG_STEP4_USERINITIALIZATIONDESCRIPTION", "Please create the first user. This user is also the administrator.");
define(