Installation

Wichtiger Installationshinweis: Die in config.php definierte Datenbank muss bereits existieren. Aus Sicherheitsgründen legt das Skript nur Tabellen und keine Datenbanken an.
  1. Editieren Sie die config.php, so dass die Einstellungen für Ihren Server stimmen oder rufen Sie admin/mkconfig.php auf, um eine zu erzeugen. (wenn Sie eine PHP Version >=4.2.0 benutzen, so müssen Sie $new_global_handling=true; in mkconfig.php einstellen)
    Anmerkung: Sie können mehrere Instanzen von FAQEngine in einer Datenbank haben. Benutzen Sie dabei nur bei jeder Installation verschiedene Werte für tableprefix in der config.php. Dies muss gemacht werden bevor Sie install.php aufrufen.
  2. Kopieren Sie alle Dateien (.php, .inc ...) auf den Webhost. Bitte unbedingt die Unterverzeichnisstruktur beibehalten.
    Wichtig: Die Dateien in /gfx und /admin/gfx im Binärmodus übertragen !!!!
    1. Erstinstallation:
      Rufen Sie nun http://ihr.host.de/installationsverzeichnis/admin/install.php auf, um die Tabellen in der Datenbank zu erzeugen und den ersten Administrator zu definieren.
    2. Updates:
      IM AKTUELLEN ARCHIV SIND NUR UPDATE-SKRIPTS FÜR UPDATES AB >=V3.70 VORHANDEN !!! UM DAS UPDATE ÄLTERER SKRIPTS DURCHZUFÜHREN LADEN SIE BITTE NOCH DAS UPDATE-PAKET AUF 3.70 HERUNTER !!
      Alle Dateien (.php, .inc ...) auf dem Server durch die neuen ersetzen.
      So bestimmen Sie das benötigte Updateskript:
      • Nehmen Sie die aktuell installierte Version (z.B. 3.10)
      • Entfernen Sie den Punkt innerhalb der Versionnummer (im Beispiel wird das dann 310).
        Jetzt haben Sie die benötigte Updateversion.
      • Benutzen Sie nun alle Updateskripts von dieser Version an bis zur aktuellen Version (in der richtigen Reihenfolge).
        Angenommen im Beispiel wäre die aktuelle Version 3.22 (kurz 322), dann benutzen Sie upgrade_310_to_311.php, danach upgrade_311_to_312.php usw. bis upgrade_321_to_322.php.
        Existiert eines der Zwischenskripte nicht, so war bei den entsprechenden Versionen kein Update der DB nötig. Fahren sie in diesem Fall einfach mit dem nächsten, passenden Skript in der Reihe fort.
  3. Nach der Installation entfernen Sie bitte mkconfig.php, install.php, upgrade_* and fill_* vom Server und setzen die Dateizugriffsrechte für die config.php so, dass PHP nicht in die Datei schreiben kann (bei den meissten Serverkonfigurationen ist das chmod 644).
  4. Nun können Sie sich bei der Administrationsoberfläche unter
    http://ihr.host.de/installionsverzeichnis/admin/index.php
    mit dem bei der Installation angegebenen Daten anmelden.

Aufruf der unterschiedlichen Benutzeransichten

URL-Parameter für die Skripts

Parametername Beschreibung Voreinstellung1
langvar Sprachvariable, die in der config.php definiert wurde.
($langvar)
kein optionaler Wert
language Sprache, in der die Oberfläche angezeigt werden soll
(Gültige Werte sind die Sprachkürzel, für die eine entspr. Sprachdatei im Verzeichnis language vorhanden ist.
Der zu benutzende Wert ist der Teil des Dateinamens zwischen '_' und '.' -> für lang_de.php ist der Wert "de")
$default_lang aus config.php
progid Programm, auf das sich die Anzeige beziehen soll
mode Modus, in dem die Knowledge Base angezeigt werden soll.
mögliche Werte:
  • wizard: startet mit der Wizardoberfläche
  • search: startet mit der Schlüsselwortsuche
  • proglist: startet mit der Programmliste
in der Administrationsoberfläche eingesteller Modus

1 voreingestellter Wert, der benutzt wird, wenn der entspr. Parameter nicht angegeben wird

Newsletterbestellung in eigene Seiten einbauen

Beispiel, wie man die Anmeldung zum Abo auf einer eigenen Seite platzieren kann:
Bitte ersetzen Sie {desired program} durch die ID des Programms, für das die FAQ durch dieses Formular abboniert werden soll, {desired lang} durch die die gewünschte Sprache und {langvar} durch die in der config.php definierte Variable für die Sprache.
<!-- --------- Start of subscription code --------- -->
<table width="80%" align="center">
<form method="post" action="/faq/subscription.php">
<input type="hidden" name="{langvar}" value="{desired lang}">
<input type="hidden" name="mode" value="subscribe">
<tr><td align="right" width="30%">E-Mail:</td>
<td><input type="text" name="email" size="40" maxlength="240"></td></tr>
<tr><td align="right" valign="top">E-Mailart:</td><td>
<input type="radio" name="emailtype" value="0" checked> HTML<br>
<input type="radio" name="emailtype" value="1"> nur text</td></tr>
<tr><td align="right" valign="top">komprimierter Versand:</td><td>
<input type="radio" name="compress" value="1" checked> ja<br>
<input type="radio" name="compress" value="0"> nein</td></tr>
<input type="hidden" name="prog" value="{desired program}">
<td align="center" colspan="2"><input type="submit" value="abonnieren">
</td></tr></form></table>
<!-- --------- End of subscription code --------- -->

Beispiel, wie man die Abmeldung vom Abo auf einer eigenen Seite platzieren kann:
<!-- --------- Start of unsubscription code --------- -->
<table width="80%" align="center">
<form method="post" action="/faq/subscription.php">
<input type="hidden" name="{langvar}" value="{desired lang}">
<input type="hidden" name="mode" value="unsubscribe">
<tr><td align="right" width="30%">E-Mail:</td>
<td><input type="text" name="email" size="40" maxlength="240"></td></tr>
<input type="hidden" name="prog" value="{desired program}">
<td align="center" colspan="2"><input type="submit" value="abmelden">
</td></tr></form></table>
<!-- --------- End of unsubscription code --------- -->

Administrationsoberfläche

Textbausteine

Für verschiedene Textbausteine können bei der Erfassung verschiedene Platzhalter verwendet werden. Diese werden dann bei Benutzung des entspr. Textbausteins im Programm durch entsprechende, aktuelle Werte ersetzt.
Im folgenden werden die Platzhalter für die einzelnen Textbausteine aufgeführt und auch durch welchen Wert Sie ersetzt werden.

FAQ-Upload mittels Textdatei

Sie können eine Textdatei, die Überschrift, Frage und Antwort enthält uploaden, wie Sie vom Offlineeditor erzeugt werden. Sie können im Text für Frage und Antwort alle BBCode Tags verwenden, genauso, als ob Sie den Text direkt in das Formular eintippen.

Authentifizierung von Administratoren

Es gibt 3 Authentifizierungsmethoden für die Administrationsoberfläche:
  1. Die interne Authentifizierungsmethode. Diese basiert auf den Benutzerdaten, die per Administrationsoberfläche eingegeben wurden und benutzt ein Cookie für das Sessionhandling.
  2. wie 1, aber die Session-ID wird per GET und POST übermittelt.
  3. Authentifizierung durch den Webserver (z.B. .htaccess)

Methode #1

Sie müssen $enable_htaccess und $sessid_url in der config.php auf false setzen.
Bitte prüfen Sie ob die folgenden Variablen in der config.php richtig gesetzt sind: Diese Methode benutzt den Username und das Passwort aus der internen Tabelle, so dass sie diese per Administrationsoberfläche setzen können.

Methode #2

Setzen Sie $enable_htaccess auf false und $sessid_url auf true in der config.php.
Diese Methode benutzt kein Cookie, sondern die Session-ID wird bei jedem GET und POST mitgeschickt. Aus diesem Grund kann jeder, der Blickkontakt mit Ihrem Bildschirm hat, die Sessionid aus der im Browser angezeigten URL auslesen.
Wir erachten diese Methode als nicht besonders sicher (wurde aber gewünscht) und empfehlen Ihnen eher Methode 1 oder 3 einzusetzen. Aber das soll jeder Admin für sich entscheiden.
Bitte prüfen Sie, dass auch $sesscookiename sinnvoll belegt ist. Am Besten ist es hier den voreingestellten Namen beizubehalten, da die entsprechende HTTP-Variable von FAQEngine nicht anderweitig verwendet werden darf, da das Programm sonst nicht funktioniert.

Diese Methode benutzt den Username und das Passwort aus der internen Tabelle, so dass sie diese per Administrationsoberfläche setzen können.

Methode #3

Setzen Sie $enable_htaccess in der config.php auf true.
Ausserdem müssen Sie für jeden in der Administrationsoberfläche definierten Admin auch einen gleichnamigen Benutzer für die Sicherheitsprüfung durch den Webserver (z.B. .htpasswd) erzeugen. Dies ist notwendig, damit das Programm den vom Webserver erhaltenen Benutzer auch einem Admin zuordnen kann und so auf die Daten, wie E-Mail und Benutzerlevel kommt. (Beim Benutzernamen wird in FAQEngine nicht nach Groß-/Kleinschreibung unterschieden, bei vielen Webservern bei der internen Authentifizierung allerdings schon)
Aus Sicherheitsgründen können Sie eine .htaccess/.htpasswd nicht aus der Administrationsoberfläche aktualisieren. Ändern Sie also bei dieser Methode das Passwort in der Administrationsoberfläche, so hat dies keinerlei Effeckt. Legen Sie einen neuen Admin an, so müssen Sie ein Passwort vergeben, damit keine Sicherheitslücke entsteht, wenn Sie von dieser Methode auf Methode 1 oder 2 wechseln.
Anmerkung: Bei Verwendung dieser Methode ist die im Programm integrierte Protokollierung von Anmeldungen und fehlgeschlagenen Anmeldungen nicht verfügbar. Außerdem funktioniert die Logout-Funktion der Administrationsoberfläche nicht.

Übersetzte Sprachdateien in HTML-Entities konvertieren

Im Archiv ist ein Skript enthalten, mit dem Sie eine Sprachdatei, die nicht ASCII Zeichen enthält in HTML-Entities umwandeln können. Um Ihre übersetzte Sprachdatei zu konvertieren, führen Sie folgende Schritte aus:
  1. Übersetzen Sie die Sprachdatei und speichern Sie diese im entspr. language Unterverzeichnis ab
  2. Rufen Sie admin/encode_langfile.php auf
  3. Wählen Sie die Sprachdatei aus, die konvertiert werden soll
  4. Kopieren Sie die heruntergeladene Datei (mit dem _enc durch die entspr. Länderkennung ersetzt) in das entspr. language Unterverzeichnis
  5. Nun können Sie die Administrationsoberfläche/Benutzeransicht mit der neuen Sprachdatei aufrufen
Anmerkung: Nach dem Konvertieren der Sprachdatei sollten Sie admin/encode_langfile.php auf dem Server löschen

getestete Browser

Für eine aktuelle Liste besuchen Sie unsere Website

Lizenzbestimmungen

Dieses Programm Freeware. Sie dürfen es kostenlos im nicht kommerziellen und kommerziellen Umfeld einsetzen. Sie dürfen ohne schriftliche Einwillingung keine Änderungen an den Skripten vornehmen. Ausnahme: Sollten Sie das Programm auf Ihrer Website einsetzen, so tragen Sie diese doch bitte als Referenz auf unserer Website ein.

Sollten Sie das Programm im kommerziellen Umfeld einsetzen, so fänden wir es toll, wenn Sie unsere Arbeit evtl. auch finanziell unterstützen würden.

Die neueste Version gibt es immer auf http://www.boesch-it.de

(Benutzt die HTML Mime Mail class by Richard Heyes <richard@phpguru.org>)

© 2001,2002 Bösch EDV-Consulting
letzte Aktualisierung: 16.09.2002