Hinweise für Benutzer von Versionen <2.20:
Ab 2.20 wurde ein neuer Benutzerlevel für Administratoren (superadmin) eingeführt. Systemkritische Aktionen (z.B. Herunterfahren von SimpNews) können nur noch von Administratoren mit diesem Benutzerlevel durchgeführt werden. Wenn die Administrationsoberfläche heruntergefahren oder das max. Benutzerlimit erreicht ist, dann können sich nur Administratoren mit diesem Benutzerlevel noch anmelden.
Aus diesem Grund sollten Sie nach einem Upgrade einem der Administratoren diesen Level geben. Wir empfehlen nur einen Administrator mit diesem Benutzerlevel anzulegen, damit es bei den Systemkritischen Aktionen nicht zu Kollisionen kommt.

Installation

Wichtiger Installationshinweis: Die in config.php definierte Datenbank muss bereits existieren. Aus Sicherheitsgründen legt das Skript nur Tabellen und keine Datenbanken an.
Hinweis für Benutzer von PHP4 <= 4.0.4: Bitte die Kommentare um die Funktion is_null am Ende von functions.php entfernen.
  1. Kopieren Sie config.dist.php nach config.php und editieren Sie diese Datei, so dass die Einstellungen für Ihren Server stimmen (nur empfohlen für Personen mit PHP-Kenntnissen) oder rufen Sie admin/mkconfig.php auf, um eine config.php 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 SimpNews 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.

    Stellen Sie beim Upgrade von einer alten Installation sicher, daß Sie alle neuen Variablen der aktuellen Version in Ihre bestehende config.php übernehmen!
  2. Kopieren Sie alle Dateien (.php, .inc ...) auf den Webhost. Bitte unbedingt die Unterverzeichnisstruktur beibehalten.
    Wichtig: Die Dateien in /applet, /gfx und /sfx 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 >=V2.25 VORHANDEN !!! UM DAS UPDATE ÄLTERER SKRIPTS DURCHZUFÜHREN LADEN SIE BITTE NOCH DAS UPDATE-PAKET AUF 2.25 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. 1.10)
      • Entfernen Sie den Punkt innerhalb der Versionnummer (im Beispiel wird das dann 110).
        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 1.22 (kurz 122), dann benutzen Sie upgrade_110_to_111.php, danach upgrade_111_to_112.php usw. bis upgrade_121_to_122.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 gültig für Beschreibung Voreinstellung1
language
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • eventcal.php
  • events.php
  • evlist2.php
  • newsframe.php
  • subscription.php
  • news_arc.php
  • news4_arc.php
  • evlist3.php
  • masssub.php
  • nlmaint.php
  • rss_news.php
  • wap_catlist.php
  • wap_ev_search.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_announce.php
  • wap_short_news.php
  • wap_catlist2.php
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
layout
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • eventcal.php
  • events.php
  • evlist2.php
  • newsframe.php
  • subscription.php
  • news_arc.php
  • news4_arc.php
  • evlist3.php
  • masssub.php
  • nlmaint.php
  • rss_news.php
  • wap_catlist.php
  • wap_ev_search.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_announce.php
  • wap_short_news.php
  • wap_catlist2.php
Layout, das für die Oberfläche benutzt werden soll Layout für die gewünschte Sprache, das in der Administrationsoberfläche als Voreinstellung markiert wurde
category
  • news.php
  • news4.php
  • news5.php
  • eventcal.php
  • events.php
  • subscription.php
  • news_arc.php
  • news4_arc.php
  • evlist3.php
  • rss_news.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_announce.php
  • wap_short_news.php
Kategorie, der die Daten zugeordnet sein müssen
(-1=alle Kategorien anzeigen)
Bei news_arc.php und news4_arc.php muss die entspr. Kategorie in der Administrationsoberfläche als Archivkategorie gekennzeichnet worden sein.
Kategorie 0 (Allgemein)
sortorder
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • events.php
  • evlist2.php
  • newsframe.php
  • evlist3.php
  • rss_news.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_announce.php
  • wap_short_news.php
Sortierreihenfolge für die Einträge
(0=absteigend nach Datum, 1=aufsteigend nach Datum, 2=aufsteigend nach Überschrift, 3=absteigend nach Überschrift)
Absteigend nach Datum

news5.php/evlist2.php: aufsteigend nach Datum
limitdays
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • evlist3.php
  • rss_news.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_announce.php
  • wap_short_news.php
Begrenzt die Anzahl zu berücksichtigender Tage in den Listen.
(Überschreibt entspr. Einstellung aus der Datenbank)
 
startdate
Format: YYYY-MM-DD
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • events.php
  • evlist2.php
  • evlist3.php
  • rss_news.php
Liste bei angegebenem Datum beginnen  
enddate
Format: YYYY-MM-DD
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • events.php
  • evlist2.php
  • evlist3.php
  • rss_news.php
Liste bei angegebenem Datum beenden
(überschreibt eine Begrunzung nach Anzahl Tagen)
 
maxannounce
  • news.php
  • news2.php
  • news3.php
  • news4.php
  • news5.php
  • events.php
  • evlist2.php
  • evlist3.php
Max. angegebene Anzahl von Ankündigungen anzeigen.
(bei Skripts, die die Daten nach Kategorien getrennt anzeigen: max. Anzahl an Ankündigungen pro Kategorie)
 
maxentries
  • news.php
  • news3.php
  • news4.php
  • rss_news.php
  • wap_short_announce.php
  • wap_short_events.php
  • wap_short_events2.php
  • wap_short_news.php
Max. angegebene Anzahl von Einträgen anzeigen.  
cats
  • masssub.php
Liste der Kategorien, die für das Formular berücksichtigt werden sollen
(durch Komma getrennt, z.B. cats=1,2,3)
 
mode
  • wap_catlist.php
Gibt an, auf welche Endseiten verlinkt werden soll.
Mögliche Werte:
  • news = wap_short_news.php
  • events = wap_short_events.php
  • events2 = wap_short_events2.php
  • announce = wap_short_announce.php
  • evsearch = wap_ev_search.php
news
searchtype
  • wap_ev_search.php
Gibt an, welcher Suchmodus verwendet werden soll.
Mögliche Werte:
  • text = Suche über Suchtext
  • normal = Suche über Kategorie & Datum
In Administrationsoberfläche eingestellter Modus
sortorder
  • news_arc.php
  • news4_arc.php
Gibt an, welche Sortierreihenfolge verwendet werden soll.
Mögliche Werte:
  • 0 = in Administrationsoberfläche definierte Reihenfolge
  • 10 = nach Überschrift aufsteigend
  • 11 = nach Überschrift absteigend
  • 20 = nach Datum aufsteigend
  • 21 = nach Datum absteigend
0

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

URL-Parameter müssen wie folgt angegeben werden:

Listen in Ihre eigenen Seiten einbinden

Bitte beachten Sie, dass nur die in diesem Abschnitt angegeben Skripte in Ihre eigenen Seiten eingebunden werden können. Die anderen sind so gestaltet, dass Sie direkt aufgerufen werden müssen.

Die einfachste Methode, um den benötigten Code zum Einbinden eines Skripts zu erhalten, ist der Code-Generator in der Administrationsoberfläche.
Anmerkung: Die Kodesegment, die in dieser Dokumentation angegeben werden sind in PHP

Hotnewsliste

  1. Mit
    include('<pathtosimpnews>/hotnews.php');
    bzw.
    include('<pathtosimpnews>/hotnews2.php');
    bzw.
    include('<pathtosimpnews>/hotnews4.php');
    bzw.
    include('<pathtosimpnews>/hotnews5.php');
    bzw.
    include('<pathtosimpnews>/hotnews6.php');
    bzw.
    include('<pathtosimpnews>/hotnews7.php');
    bzw.
    include('<pathtosimpnews>/hotnews8.php');
    bzw.
    include('<pathtosimpnews>/hotnews9.php');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.
Diese Skripte benutzen weder die selbst definierten Header oder Footer, noch das Stylesheet, die metadata.php oder setzen die Farben für Links. Diese Skripte wurden geschrieben, um sie in eine existierende PHP-Seite integrieren zu können (wenn Sie z.B. die 3 neuesten Einträge auf Ihrer Hauptseite anzeigen wollen).
hotnews.php arbeitet analog zu news.php, hotnews2.php analog zu news2.php hotnews4.php analog zu news4.php and hotnews5.php analog zu news5.php.
hotnews6/7/8/9 zeigen alle News zu den in der Administrationsoberfläche ausgewählten Kategorien an.

Liste der aktuellen Events

  1. Mit
    include('<pathtosimpnews>/currentevents.php');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.
Dieses Skript benutzt weder die selbst definierten Header oder Footer, noch das Stylesheet, die metadata.php oder setzen die Farben für Links. Dieses Skript wurden geschrieben, um es in eine existierende PHP-Seite integrieren zu können.

Icon für die Anzeige von neuen News

ohne Cookie für letzten Besuch

  1. Mit
    include('<pathtosimpnews>/newsnotify.php');
    können Sie das Skript in Ihre Seite einbinden.

mit Cookie für letzten Besuch

  1. Mit
    include('<pathtosimpnews>/newsnotify2.php');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.

Eventkalender

  1. Mit
    include('<pathtosimpnews>/eventcal2.php');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.

Ticker Java Applets

Es sind 6 verschiedene Ticker vorhanden: Die Methode zum Einbinden in eine eigene Seite ist für alle 6 die gleiche. In der folgenden Anleitung ersetzen Sie einfach <script> durch den Namen des Skripts, das Sie einbinden wollen.
  1. Mit
    include('<pathtosimpnews>/<script>');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.

JavaScript newsfader/newsscroller

  1. Mit
    include('<pathtosimpnews>/js_newsfader.php');
    bzw.
    include('<pathtosimpnews>/js_newsscroller.php');
    können Sie das Skript in Ihre Seite einbinden.
  2. Wenn Sie das Cookie für die Speicherung des letzten Besuches verwenden wollen, benutzen Sie
    include('<pathtosimpnews>/newscookie.php');
    um die Cookieroutine in Ihre bestehende Seite einzubinden.
    Diese Datei muss eingebunden werden, bevor der HTTP Body von PHP gesendet wird.

catlist_inc.php

  1. Mit
    include('<pathtosimpnews>/catlist_inc.php');
    können Sie das Skript in Ihre Seite einbinden.
Beachten:Der Zielframe, in dem die News erscheinen wird durch $linktarget am Skriptanfang festgelegt.

Newsletterbestellung

Durch von der Anwendung erzeugte Formulare

Bestellung von einzelnen Newslettern
http://your.host.com/installdir/subscription.php?params
Wird der Parameter category angegeben, so gilt das Formular nur für die angegebene Kategorie.
Wird er nicht angegeben, so kann die gewünschte Kategorie aus einer Dropdownliste vom Benutzer ausgewählte werden.
Bestellung von mehreren Newslettern auf einmal
http://your.host.com/installdir/masssub.php?params
Es wird eine Liste aller für den Versand von Newslettern verfügbaren Kategorien angezeigt. Der Benutzer kann dann markieren, welche er bestellen will und muss seine Emailadresse nur einmal eingeben.
Verwaltung der bestellten Newsletter
http://your.host.com/installdir/nlmaint.php?params
Der Benutzer muss seine Emailadresse eingeben und bekommt dann eine Liste aller von Ihm bestellten (und auch bestätigten) Newsletter angezeigt. Aus dieser Liste kann er dann die auswählen, die er abbestellen möchte.

Newsletterbestellung in eigene Seiten einbauen

Formular zur Bestellung eines einzelnen Newsletters
Beispiel, wie man die Anmeldung zum Abo auf einer eigenen Seite platzieren kann:
Bitte ersetzen Sie {desired category} durch die Kategorie, die durch dieses Formular abonniert werden soll. (0=Abo für alle Kategorien)
<!-- --------- Start of subscription code --------- -->
<table width="80%" align="center">
<form method="post" action="/simpnews/subscription.php">
<input type="hidden" name="lang" value="de">
<input type="hidden" name="layout" value="1">
<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>
<input type="hidden" name="newscat" value="{desired category}">
<td align="center" colspan="2"><input type="submit" value="subscribe">
</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="/simpnews/subscription.php">
<input type="hidden" name="lang" value="de">
<input type="hidden" name="layout" value="1">
<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="newscat" value="{desired category}">
<td align="center" colspan="2"><input type="submit" value="unsubscribe">
</td></tr></form></table>
<!-- --------- End of unsubscription code --------- -->

Formular zu Bestellung mehrere Newsletter auf einmal
Den HTML-Code für ein solches Formular erzeugen Sie bitte mittels der entspr. Funktion in der Administrationsoberfläche.

Administrationsoberfläche

Hinweis zu den Dateianhängen

Stellen Sie bei bereits vorhandenen Dateianhängen $attach_in_fs von false auf true oder umgekehrt, so führt dies zu Inkonsitenzen in der Datenbank. Bitte vor dem Umschalten alle Anhänge löschen und danach neu anhängen.

Anmerkung zum Feld "Vermerk (wird in E-Mails mitgeschickt)" im Layout:

Bitte irgendwo im Text "{unsubscribeurl}" (ohne Anführungszeichen) platzieren. Dies wird beim versenden der Mails durch die für den jeweiligen Empfänger passende URL zum Abmelden ersetzt.

Textbausteine

Für die unterschiedlichen 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.

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 SimpNews 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 SimpNews 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.

Speicherart für Dateianhänge ändern

Wichtig: Ändern Sie nicht einfach die Speicherart für Dateianhänge in der config.php ($attach_in_fs), wenn Sie bereits Dateianhänge in SimpNews benutzen. Bevor Sie die Speicherart von Ablage in der Datenbank auf Ablage im Dateisystem ändern (und umgekehrt), benutzen Sie die Funktionen Dateien in Datenbank transferieren bzw. Dateien ins Dateisystem transferieren unter Dateien verwalten in der Administrationsoberfläche. Damit werden die Binärdaten der Dateianhänge von der Datenbank ins Dateisystem transferiert (bzw. umgekehrt) und die Datenbank entsprechend aktualisiert. Danach und bevor Sie neue Dateianhänge uploaden, ändern Sie die Einstellung für den Speicherort in der config.php.

getestete Browser und Systeme

Für eine aktuelle Liste besuchen Sie unsere Website

Lizenzbestimmungen

Dieses Programm ist Freeware. Sie dürfen es kostenlos im nicht kommerziellen und kommerziellen Umfeld einsetzen. Sie dürfen 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:

© 2002-2005 Bösch EDV-Consulting
letzte Aktualisierung: 02.03.2005