jsCards ist ein frei konfigurierbares elektronisches Grusskartensystem. Die Grusskarten können zusätzlich wahlweise mit Hintergrundmusik und/oder vom Bildschirm fallenden Bildern versehen werden. Das komplette Aussehen kann via Templates gesteuert werden. Die gesamte Verwaltung kann via webbasierter Administrations-Oberfläche vorgenommen werden. Die Grusskarten können in verschiedene Rubriken unterteilt werden. Mit installiertem GD-Modul können die Thumbnails automatisch erstellt werden. Unix/(Windows), deutsch, kostenlos.
Die Informationsseite zum Script inkl. Downloadmöglichkeit und Online-Demo finden Sie hier!
jsCards ist ein elektronisches Grusskartensystem, wie es auf vielen Homepages eingesetzt wird. Einige interessante Features machen jsCards jedoch besonders interessant:
Der Server muss natürlich CGI's verarbeiten können. Nebst CGI-Unterstützung gelten noch folgende Voraussetzungen:
Dieses Skript basiert auf den STANDARD-Lizenzbedinungen, die Sie unter http://www.cgicorner.ch/download/info.shtml oder in der Datei cgicorner.txt im ZIP-Archiv finden.
Folgende Dateien müssen kopiert und mit den entsprechenden Berechtigungen versehen werden:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Anmerkung: Die mit (*) gekennzeichneten Dateien befinden sich nicht im ZIP-Archiv und werden erst im Betrieb erstellt.
Je nach Konfiguration des Webservers werden keine Bilder aus dem cgi-bin Verzeichnis angezeigt. Deshalb wird empfohlen, die Bilder in ein Verzeichnis ausserhalb von cgi-bin zu kopieren und die entsprechenden Bildpfade im Adminbereich anzupassen. Die Standard-Konfiguration des Scripts geht davon aus, dass Bilder im cgi-bin Verzeichnis angezeigt werden können und auch dort abgespeichert sind. Bei einer Änderung der Installations-Verzeichnisse ist zwingend eine Anpassung im Adminbereich notwendig.
jscards.cgi benötigt Schreibzugriff auf das Script-Verzeichnis. Dazu ist - je nach Konfiguration des Webservers - ein chmod 777 für das Verzeichnis notwendig. Möglicherweise meldet das Script nach dem chmod 777 jedoch einen "Internal Server Error". Zuerst sollte also immer chmod 755 versucht werden.
jsCards setzt das GD-Modul voraus, um alle Funktionen nutzen zu können.
Auf Webservern, auf denen das GD-Modul nicht installiert ist wird jsCards ebenfalls funktionieren, die automatische Erstellung von Thumbnails wird jedoch nicht zur Verfügung stehen.
Falls das GD-Modul nachträglich installiert wird, muss die Datei subs.pl im Scriptverzeichnis gelöscht werden. Dies führt dazu, dass beim nächten Aufruf von jsCards erneut geprüft wird, ob das GD-Modul installiert ist.
Alle notwendigen Schritte für den Update sowie alle Neuerungen finden Sie in der Datei update.txt. Es müssen immer alle TODO-Einträge zwischen der eingesetzten und neuen Version beachtet werden.
Zudem steht ebenfalls ein Update-Script zur Verfügung. Um dieses zu nutzen, gehen Sie wie folgt vor:Die wichtigsten URLs zu jsCards lauten:
Die Administrationsoberfläche finden Sie unter: http://www.meinserver.ch/cgi-bin/jscards/jscards.cgi?action=admin
Beim ersten Login werden - je nach Konfiguration - die Bilder noch nicht geladen. Dies ist normal und muss Sie nicht weiter stören.
Loggen Sie sich nun mit dem Benutzername admin, ohne Passwort ein.
Sie gelangen nun ins Hauptmenü. Klicken Sie auf den Link "System-Einstellungen ändern". Hier können Sie verschiedene Einstellungen vornehmen. Kontrollieren Sie den Pfad zu sendmail und passen Sie ggf. die Dateipfade für die Konfigurationsdateien sowie Templates an.
Passen Sie danach noch die Einstellungen der Grusskarten unter "Grusskarten Einstellungen ändern" an.
Unter "Login-Daten ändern" können Sie den Benutzername sowie das Passwort für die Administrationsoberfläche festlegen.
Unter "System Einstellungen ändern" können Sie den Pfad zu sendmail sowie die Pfade und Dateinamen der einzelnen Templates, Datenbanken und Bildern für die Adminoberfläche konfigurieren.
Die Einstellungen im Detail:
| Pfad zu sendmail | Definiert den Pfad zu sendmail |
| Zeitverschiebung | Legt die Zeitverschiebung in Stunden fest, z.B. wenn der Server in einer anderen Zeitzone steht und man trotzdem die lokale Zeit loggen möchte. |
| Daten-Datei (temporär) | Datei für temporäre Daten (letzte SIDs, letzter Grusskarten-Versand) |
| Error-Datei | Logfile für fehlerhafte Login-Versuche |
| Grusskarten Daten | Pfad und Dateiname der Grusskarten-Datenbank |
| temp. Grusskarten Daten | Pfad und Dateiname der temporären Grusskarten-Datenbank (Vorschau noch nicht bestätigt) |
| Statistik-Daten Datei | Pfad und Dateiname der "Statistik-Datenbank" (Informationen, wieviele und welche Karten versendet wurden) |
| E-Mail Blacklist Datei | Pfad und Dateiname der Blacklist-Datei der gesperrten Mailadressen |
| Beschreibungsdatei Bilder | Pfad und Dateiname der Bild-Beschreibungsdatei (Dateinamen, Beschreibung und Kategorie der Karten) |
| Beschreibungsdatei MIDI/WAV | Pfad und Dateiname der Audio-Beschreibungsdatei (Dateinamen, Beschreibung der Hintergrund-Audios) |
| Beschreibungsdatei Fall. Bilder | Pfad und Dateiname der Effekt-Beschreibungsdatei (Dateinamen, Beschreibung der fallenden Bilder) |
| Template für Kartenauswahl | Speicherort des Templates für die Auswahl der Karten und Eingabe der Texte |
| Template für Voransicht | Speicherort des Templates für die Voransicht der Grusskarte (vor dem Versand) |
| Template für Absendebestätigung | Speicherort des Templates für die Absendebestätigung (Grusskarte versendet) |
| Template für Mail | Speicherort des Templates für das Mail, welches den Empfänger über die Grusskarte informiert. |
| Template für Kartenansicht | Speicherort des Templates für die Ansicht der Grusskarte |
| Template Fehler ID nicht gefunden | Speicherort des Templates für die Fehlermeldung, dass keine Grusskarte mit der angegebenen ID gefunden wurde. |
| Template für Lesebestätigung | Speicherort des Templates für die Lesebestätigung (Information an Absender, dass der Empfänger die Grusskarte angesehen hat) |
| Template Datenbankfehler | Speicherort des Templates für einen Datenbankfehler (keinen Schreibzugriff auf Datei) |
| Template für Blacklist | Speicherort des Templates für die Blacklist (Mailadressen, an die keine Grusskarten gesendet werden) |
| Template für Blacklist (Mail) | Speicherort des Templates für die Blacklist (Mail mit Bestätigungslink) |
| Copyright | Copyright-Information (sichtbar in dem Administrationsbereich) |
| CSS für Administrationsbereich | CSS-Datei für die Administrationsoberfläche |
| Diverse Images | Ablageort und Dateiname der einzelnen Bilder der Admin-Oberfläche. Browser-Pfad |
| Transparentes GIF | Speicherort eines transparenten GIFs. UNIX-Pfad |
Hier können die Pfade zu den Verzeichnissen mit Bildern, Audio-Dateien etc., die Kategorien, sowie einige variable Texte konfiguriert werden.
Die Einstellungen im Detail:
| Bilder Verzeichnis | Pfad zu den Grusskarten-Bildern (Browser und UNIX-Pfad) |
| Kategorien | Grusskarten-Kategorien. Pro Kategorie eine Zeile |
| Standard-Kategorie | Kategorie, die angezeigt werden soll, wenn das Script ohne Kategorie aufgerufen wird. |
| Top-Karten: Anzahl Karten | Anzahl Karten, welche in der Top XX-Kategorie angezeigt werden sollen. 0 deaktiviert diese Kategorie. |
| Top-Karten: Beschriftung | Beschriftung der Top XX Kategorie. Keine Bedeutung, wenn Anzahl = 0 |
| Thumbnail Verzeichnis | Pfad zu den Thumbnails der Grusskarten-Bildern (Browser und UNIX-Pfad) |
| max. Breite Thumbnails | maximale Breite der Thumbnails (nur bei automatischer Erstellung via jsCards oder HTML-Resize relevant) |
| max. Höhe Thumbnails | maximale Höhe der Thumbnails (nur bei automatischer Erstellung via jsCards oder HTML-Resize relevant) |
| Bild-Vorschau | Legt den Typ der Bild-Vorschau fest: entweder als Pop-Up Fenster beim Klick auf das Thumbnail oder als Mouse-Over-Effekt beim "berührung" des Thumbnails. |
| Eigene Bilder (Upload) Verz. | Pfad zu den Verzeichnis, in das vom Benutzer hochgeladene Bilder gespeichert werden. |
| maximale Dateigrösse bei Bild-Upload | Maximale Dateigrösse in Bytes für eigene Bilder (0=keine Einschränkung) |
| maximale Bild-Breite bei Bild-Upload | Maximale Bildbreite in Pixel (0=keine Einschränkung) |
| maximale Bild-Höhe bei Bild-Upload | Maximale Bildhöhe in Pixel (0=keine Einschränkung) |
| zu grosse Bilder (nur bei Einschränkung) | Definiert, ob zu grosse Bilder (Pixel) abgelehnt oder verkleinert angezeigt werden sollen. Wichtig: HTTP-Resize (verkleinerte Anzeige) hat keinen Einfluss auf Dateigrösse und Ladedauer, sondern dient nur der Kosmetik. |
| MIDI/WAV erlauben | Legt fest, ob Hintergrundmusik erlaubt ist |
| MIDI-Vorschau | Definiert, ob die MIDI-Vorschau bei der Grusskarten-Auswahl in einen Pop-Up mit Player (und somit mit Möglichkeit, die Wiedergabe zu stoppen, vor-/zurück zu spulen etc.) oder unsichtbar erfolgen soll. |
| Text für MIDI per URL | Text, der im Auswahl-Menü angezeigt wird, um eine eigene Hintergrundmusik anhand einer URL zu definieren. Wird der Text leer gelassen, ist die Funktion eigene Hintergrundmusik via URL deaktiviert. |
| MIDI/WAV Background Verz. | Pfad zu den Audio-Dateien für die Hintergrundmusik (nur relevant, wenn auch erlaubt) |
| Fallende Bilder erlauben | Legt fest, ob fallende Bilder (kleine Bildchen, die über die Grusskarte von oben nach unten fallen) erlaubt ist |
| Effekt-Vorschau | Definiert, ob bei der Auswahl eines Effektes automatisch ein Pop-Up-Fenster mit der Vorschau des Bildes geöffnet werden soll oder nicht. Bei deaktivierter Option kann wahlweise ein Link zur manuellen Vorschau eingefügt werden (siehe Kapitel 4.11) |
| Text für fallende Bilder per URL | Text, der im Auswahl-Menü angezeigt wird, um eine eigene fallende Bilder anhand einer URL zu definieren. Wird der Text leer gelassen, ist die Funktion eigene Effekte via URL deaktiviert. |
| Fallende Bilder Verz. | Pfad zu den Audio-Dateien für die fallenden Bilder (nur relevant, wenn auch erlaubt) |
| Quelle der Java-Script Datei | Pfad und Dateiname der Java-Script Datei für die fallenden Bilder (nur relevant, wenn auch erlaubt) |
| Smileys in Text-Beitrag? | Definiert, ob Smileys im Text durch entsprechende Grafiken ersetzt werden sollen. |
| Pfad zu Smileys | Browserpfad zum Verzeichnis, welches die Smileys beinhaltet |
| Secure-Code (Missbrauchsschutz) | Legt fest, ob der Secure-Code Missbrauchschutz aktiviert werden soll (benötigt GD-Modul). In diesem Fall wird ein Code in einer Grafik angezeigt, welcher in ein Textfeld übernommen werden muss. Somit werden automatisierte Grusskarten verhindert. |
| Secure-Code Hintergrund | Grafik mit Hintergrund des Secure-Codes |
| Secure-Code Hintergrund-Schrift | Schriftfarbe für Secure-Code "Störziffern" im Hintergrund |
| Secure-Code Vordergrund-Schrift | Schriftfarbe des Secure-Codes |
| Bilder pro Seite | Legt die Anzahl Bilder pro Seite bei der Auswahl fest |
| Anzahl Empfänger | Definiert die Anzahl der möglichen Empfänger in der Startansicht. Zahl kann durch Benutzer bei Auswahl erhöht werden. |
| Maximale Empfänger | Definiert die maximale Anzahl Empfänger, an die eine Grusskarte gleichzeitig versendet werden kann. |
| Text für kein MIDI | Text in der Drop-Down-Auswahlbox für keine Hintergrundmusik |
| Text für keine Effekte | Text in der Drop-Down-Auswahlbox für keine Effekte (fallende Bilder) |
| Fehler: keine Karte ausgewählt | Fehler-Text, der angezeigt werden soll, wenn keine Karte ausgewählt wurde. |
| Fehler: zu grosses Bild | Fehler-Text, der angezeigt werden soll, wenn das Bild zu gross ist (Pixel oder Bytes). |
| Fehler: Secure-Code falsch | Fehler-Text, der angezeigt werden soll, wenn kein Secure-Code eingegeben wurde oder der eingegebene Code falsch ist. |
| Fehler: Absender Name fehlt | Fehler-Text, der angezeigt werden soll, wenn kein Absendername angegeben wurde. |
| Fehler: Absender Mail fehlt/fehlerhaft | Fehler-Text, der angezeigt werden soll, wenn die Absendermail-Adresse fehlt oder fehlerhaft ist. |
| Fehler: Empfänger Name fehlt | Fehler-Text, der angezeigt werden soll, wenn kein Empfängername angegeben wurde. |
| Fehler: Empfänger Mail fehlt/fehlerhaft | Fehler-Text, der angezeigt werden soll, wenn die Empfängermail-Adresse fehlt oder fehlerhaft ist. |
| Fehler: Sendedatum ungültig | Fehler-Text, der angezeigt werden soll, wenn ein ungültiges Sendedatum angegeben wurde. |
| Fehler: Kein Text eingegeben | Fehler-Text, der angezeigt werden soll, wenn kein Nachrichten-Text eingegeben wurde. |
| Fehler: Fehler: Zu viele Empfänger | Fehler-Text, der angezeigt werden soll, wenn die maximale Anzahl Empfänger überschritten wurde. |
| Fehler: Adresse nicht in Blacklist | Fehler-Text, der angezeigt werden soll, wenn versucht wird, eine Adresse aus der Blacklist zu löschen, welche nicht vorhanden ist. |
| Fehler: Adresse bereits in Blacklist | Fehler-Text, der angezeigt werden soll, wenn eine Adresse der Blacklist hinzugefügt werden soll, welche bereits erfasst ist. |
| Info: Blacklist - Mail versendet | Info-Text, der angezeigt werden soll, wenn ein Bestätigungsmail versendet wurde (Blacklist). |
| Info: Blacklist - Änderung gespeichert | Info-Text, der angezeigt werden soll, wenn eine Änderung an der Blacklist vorgenommen wurde. |
| Fehler: Allgemeiner Fehler (Datenbank/ID) | Fehler-Text, der angezeigt werden soll, wenn die Datenbank für Schreibzugriffe gesperrt ist oder die ID nicht stimmt. |
| Linktext weiter | Text für den Link "weiter zur nächsten Seite" |
| Linktext zurück | Text für den Link "zurück zur letzten Seite" |
| CSS-Stylesheet Kalender | Browserpfad zum CSS-Stylesheet des Kalenders |
| JavaScript-Datei Kalender | Browserpfad zur JavaScript-Datei des Kalenders |
| allg. Bilderverzeichnis | Der hier eingegebene Browser-Pfad ist in den Templates unter >!--imgDir--> erreichbar und ermöglicht so eine zentrale Konfiguration von allgemeinen Bildern (Poststempel, Linien, Kalender-GIF). Sollte auf das images-Verzeichnis verweisen. |
| Karten nach x Tagen löschen | Legt fest, wie lange die Grusskarten auf dem System gespeichert werden sollen. |
| Statistik-Titel Benutzerdef. Feld 1-3 | Definiert den Zwischentitel für die benutzerdefinierten Felder in der Statistik im Adminbereich. Wird kein Titel angegeben, wird das Feld in der Statistik nicht berücksichtigt. |
Unter "Grusskarten verwalten" können Sie den Inhalt der Datenbanken ansehen und einzelne Grusskarten löschen. Dabei werden Ihnen jedoch nur die Rohdaten (Sendezeit, Absender und Empfänger sowie Titel angezeigt. Der Nachrichtentext ist nicht sichtbar.
Wichtig: Aus Datenschutzrechtlichen Gründen ist es weder möglich, Grusskarten anzusehen, noch zu editieren.
Unter dem Menüpunkt "Bilder verwalten" werden alle Bilder aufgelistet (bei mehr als 15 Grusskarten ist eine Navigation mittels vor- und zurück Buttons vorhanden).
Jedes Bild kann hier mit einer kurzen Beschreibung versehen und einer Kategorie zugeordnet werden. Ebenfalls ist es möglich, das Thumbnails auf eine bestimmte Grösse zu verkleinern (Achtung: Resize erfolgt via HTML-Tags width=/HEIGHT=. Die Dateigrösse verringert sich deshalb nicht!), oder das Bild zu löschen. Bei installiertem GD-Modul und JPG-Dateien kann auch automatisch ein Thumbnail erstellt werden.
Am Ende der Seite hat es noch fünf weitere Menüpunkte:
Flash- und IFRAME-Grusskarten können wie normale Bildergrusskarten verwaltet werden. Auch ein Upload via Browser ist problemlos möglich. Wichtig im Zusammenhang mit diesen Spezial-Grusskarten sind folgende Punkte:
Hier kann zu jeder Audio-Datei ein kurzer Titel erfasst werden. Ebenfalls ist es möglich, diese Dateien anzuhören oder zu löschen. Zudem kann via "Filter hinzufügen" für jede Datei ein Filter erstellt werden, in welchen Kategorien die Datei zur Auswahl angeboten werden soll.
Midi's können auch mit einem Zwischentitel versehen werden. Dazu muss die Beschreibung im Format "Zwischentitel~Beschreibung" erfasst werden. Wenn sich der Zwischentitel ändert, wird der automatisch dargestellt. Dateien mit den gleichen Zwischentitel müssen natürlich auch untereinander stehen (Sortierung erfolgt anhand des Dateinamens).
Am Ende der Seite gibt es noch zwei Menüpunkte:
Hier kann zu jedem fallenden Bild ein kurzer Titel erfasst werden. Wie schon bei den MIDI-Dateien ist das setzen von Filtern möglich. Zudem können einzelne Bilder gelöscht werden.
Am Ende der Seite gibt es noch zwei weitere Menüpunkte:
Es ist auch möglich, mehrere Bilder zu gruppieren. Dazu wählt man einfach die gewünschten Bilder aus (Checkbox links neben dem Bild) und wählt am unteren Ende einen Gruppenname (wird angezeigt) sowie einen Dateinamen (keine Dateiendung; relevant für Sortierung) und klickt auf "Gruppe erstellen". Gruppen können dann nachträglich editiert werden, indem der entsprechende Link angeklickt, die GIFs editieren und die Gruppe neu speichern.
Sollte ein Bild nur in der Gruppe und nicht einzeln angezeigt werden, so muss das Beschreibungsfeld bei den entsprechenden Bildern einfach leer gelassen werden. Bilder ohne Beschreibung werden nicht angezeigt.
Unter diesem Menüpunkt können die verschiedenen Templates editiert werden. Mehr über die speziellen Tags findet man weiter unten in dieser Anleitung. Für umfangreiche Anpassungen ist es möglicherweise einfacher, direkt die Template-Dateien in einem Texteditor zu editieren.
Im Menü Statistik befindet sich eine graphische Auswertung, wie viele Karten bereits versendet wurden sowie welche Motive, Effekte und Hintergrundsounds am beliebtesten sind. In diesem Menü können die Daten auch aus der Statistik gelöscht werden.
Jeder Schreibzugriff auf eine Datei wird mit einer betriebssystem-unabhängigen Dateisperre versehen. Diese Dateisperre sollte in der Regel wieder aufgehoben werden, kann aber in Ausnahmefällen (z.B. Script-Absturz) erhalten bleiben.
In der Regel kann die Datei wieder via Adminoberfläche entsperrt werden. Falls dies nicht geht, muss die entsprechende lock-Datei gelöscht werden (Beispiel: Lock-Datei für config.pl heisst config.pl.lock).
Der Online Versions-Check ist eine einfache Möglichkeit, zu überprüfen, ob die eingesetzte Version noch aktuell ist.
Um den Versions-Check zu starten, muss man auf den Link bei der Versions-Nummer unten rechts klicken. Danach wird eine Verbindung mit dem Server von cgicorner.ch hergestellt. Dazu ist eine Internet-Verbindung notwendig.
Es wird nur die Versionsnummer sowie das letzte Änderungsdatum an den Server von cgicorner.ch übermittelt. cgicorner.ch garantiert, dass keine weiteren Konfigurationseinstellungen oder Benutzerdaten gesendet werden. Der Browser übermittelt möglicherweise noch den Referer, der mögliche Informationen über den Einsatzort liefert. Wenn Sie dies nicht möchten, installieren Sie eine Personal-Firewall, welcher die Referer-Informationen blockiert oder kopieren Sie den Link in die Zwischenablage und fügen Sie ihn manuell in die Browser-Adressleiste ein.
Als zweite Möglichkeit steht unter http://www.cgicorner.ch/cgi-bin/jsnews/jsnews.cgi ein Newsletter zur Verfügung. Nach der Anmeldung werden Sie über neue Versionen ihrer gewählten jsStyle-Produkte bequem per Mail informiert.
Das Hinzufügen von zusätzlichen Grusskarten ist sehr einfach: die Grusskarte muss einfach in das definierte Verzeichnis kopiert werden (cards). Wenn es sich nicht um eine JPG-Datei handelt, oder das GD-Modul auf dem Server nicht installiert ist, muss noch ein Thumbnail erstellt und in das Verzeichnis "thumbs" kopiert werden.
Nun kann man in dem Administrationsbereich unter "Bilder verwalten" das Bild einer Kategorie zuordnen und mit einem kurzen Kommentar versehen.
Fertig! Das Bild steht ab sofort zur Auswahl bereit.
Innerhalb der Templates sind einige Steuertags vorhanden. Diese sind immer nach dem Prinzip <!--Steuertag--> aufgebaut. Es stehen nicht alle Tags für jedes Template zur Verfügung. Nachfolgend nun die Auflistung:
| Auswahl | Vorschau | Ansicht | Blacklist | Blacklist Mail | <!--CGIURL--> Vollständige URL zum Grusskarten-Script |
|||||
| Auswahl | <!--cat--> Ausgewählte Kategorie |
|||||||||
| Auswahl | <!--cat=KATEGORIE:TEXT--> Fügt den Text "TEXT" ein, wenn Kategorie "KATEGORIE" gewählt ist. |
|||||||||
| Auswahl | <!--catlinks:[Trennzeichen]--> Links zu allen Kategorien, getrennt durch [Trennzeichen] |
|||||||||
| Auswahl | <!--catlinks:[select]--> Links zu allen Kategorien in einer SELECT-Box |
|||||||||
| Auswahl | <!--calendar--> Header-Informationen für Kalender |
|||||||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Lese-best. | <!--title--> Titel der Grusskarte |
|||||
| Auswahl | Vorschau | Ansicht | <!--message--> Text der Grusskarte |
|||||||
| Auswahl | <!--LinkBack--> Link für "Zurück zur vorherigen Seite". Link wird nur angezeigt, wenn mehrere Seiten mit Grusskarten der selben Kategorie vorhanden sind und der Benutzer nicht auf der ersten Seite ist. |
|||||||||
| Auswahl | <!--LinkForward--> Link für "Weiter zur nächsten Seite". Link wird nur angezeigt, wenn mehrere Seiten mit Grusskarten der selben Kategorie vorhanden sind und der Benutzer nicht auf der Letzten Seite ist. |
|||||||||
| Auswahl | Vorschau | Ansicht | <!--sendtime--> Eingegebenes Versanddatum, bzw. aktuelles Datum, wenn leer. |
|||||||
| Auswahl | <!--notify--> Hat den Wert CHECKED, wenn das Feld Lesebestätigung angekreuzt wurde. |
|||||||||
| Auswahl | <!--sendcopy--> Hat den Wert CHECKED, wenn das Feld "Kopie an Absender" angekreuzt wurde. |
|||||||||
| Auswahl | Vorschau | Ansicht | <!--smiley--> Browserpfad zum Smiley-Verzeichnis |
|||||||
| Auswahl | <!--userfile--> URL für eigenes Bild |
|||||||||
| Auswahl | <!--userfileHTML--> HTML-Code für eigenes Bild in Auswahl-Template (inkl. IMG/EMBED-Tag) |
|||||||||
| Auswahl | <!--userfile_selected--> Hat den Wert CHECKED, wenn eine eigene URL für das Grusskarten-Bild angegeben wurde. |
|||||||||
| Auswahl | <!--start--> Beginne bei Eintrag X |
|||||||||
| Auswahl | <!--messagetypehtml--> CHECKED, wenn HTML als Nachrichten-Typ gewählt wurde. |
|||||||||
| Auswahl | <!--messagetypetext--> CHECKED, wenn Text als Nachrichten-Typ gewählt wurde. |
|||||||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Lese-best. | Blacklist Mail | <!--rcptmail--> Mail-Adresse des Empfängers |
||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Lese-best. | <!--rcptname--> Name des Empfängers |
|||||
| Sende-best. | <!--rcpts--> Alle Empfänger, verlinkt mit Mailadresse (Komma-getrennt) |
|||||||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Lese-best. | <!--sendermail--> Mail-Adresse des Absenders |
|||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Lese-best. | <!--sendername--> Name des Absenders |
|||||
| Auswahl | <!--rcptmail_error--> Fehlertext bei falscher/fehlender Empfänger Mail-Adresse |
|||||||||
| Auswahl | <!--rcptname_error--> Fehlertext bei fehlendem Empfänger Name |
|||||||||
| Auswahl | <!--sendermail_error--> Fehlertext bei falscher/fehlender Absender Mail-Adresse |
|||||||||
| Auswahl | <!--sendername_error--> Fehlertext bei fehlendem Absender Name |
|||||||||
| Auswahl | <!--file_error--> Fehler-Text wenn keine Grusskarte ausgewählt wurde |
|||||||||
| Auswahl | <!--message_error--> Fehler-Text wenn kein Nachrichtentext eingegeben wurde |
|||||||||
| Auswahl | <!--sendtime_error--> Fehler-Text bei ungültigem Versandsdatum |
|||||||||
| Auswahl | <!--maxrcpt_error--> Fehler-Text bei zu vielen Empfängern |
|||||||||
| Auswahl | <!--SelectMIDI--> Fügt eine Drop-Down Box mit allen Hintergrundmusiken ein. Optional kann eine CSS-Class übergeben werden: <!--SelectMIDI:css_style_name--> |
|||||||||
| Auswahl | <!--SelectFall--> Fügt eine Drop-Down Box mit den fallenden Bildern ein. Optional kann eine CSS-Class übergeben werden: <!--SelectFall:css_style_name--> |
|||||||||
| Vorschau | Ansicht | <!--effects--> HTML-Code für fallende Bilder |
||||||||
| Vorschau | Ansicht | <!--file--> URL zum Grusskarten-Bild |
||||||||
| Vorschau | Ansicht | Fehler | Lese-best. | <!--id--> Grusskarten ID |
||||||
| Auswahl | Vorschau | Ansicht | <!--midi--> HTML-Code für Hintergrundmusik |
|||||||
| Auswahl | Vorschau | Ansicht | <!--userdef1--> - <!--userdef5--> Benutzerdefinierte Felder 1-5 |
|||||||
| Sende-best. | Fehler | <!--cardTTL--> Dauer in Tagen, wie lange die Grusskarte auf dem System gespeichert bleibt |
||||||||
| Sende-best. | <!--notify:[text]--> Text, der angezeigt werden soll, wenn eine Lesebestätigung angekreuzt wurde. |
|||||||||
| Sende-best. | <!--sendlater:[text]--> Text, der angezeigt werden soll, wenn die Grusskarte zu einem späteren Zeitpunkt versendet wird. |
|||||||||
| Sende-best. | <!--sendnow:[text]--> Text, der angezeigt werden soll, wenn die Grusskarte sofort versendet wird. |
|||||||||
| Blacklist Mail | <!--cardLink--> Link zur Grusskarte/Blacklist |
|||||||||
| Lese-best. | Blacklist Mail | <!--date--> Aktuelles Datum im Mailformat (für Mailheader) |
||||||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Fehler | DB-Error | Blacklist | <!--includeFile:[Dateiname]--> Fügt [Dateiname] 1:1 in das Template ein (UNIX-Pfad) |
|||
| Vorschau | <!--backLink:[Text]--> Erstellt einen Link, um die Karte nochmals zu bearbeiten. [Text] wird als Linktext verwendet |
|||||||||
| Vorschau | <!--backButton:[CSS-Class]:[Text]--> Erstellt einen Button mit der CSS-Klasse [CSS-Class], um die Karte nochmals zu bearbeiten. [Text] wird als Button-Beschriftung verwendet |
|||||||||
| Blacklist | <!--SystemMessage--> Benutzerdefinierter Fehler-/Info-Text |
|||||||||
| Auswahl | Vorschau | Sende-best. | Ansicht | Fehler | DB-Error | Blacklist | <!--imgDir--> Allgemeines Bildverzeichnis, z.B. Poststempel und Kalender-GIF |
|||
Für das Grusskarten-Auswahl-Template existiert ein spezieller Tag <!--catlinks:-->, welcher Links zu allen verfügbaren Kategorien darstellt. Das Aussehen dabei ist frei definierbar. Nachfolgend nun einige Beispiele:
<!--catlinks:[select]-->Stellt alle Kategorien in einer SELECT-Box dar, welche nach der Auswahl einer Kategorie sofort dorthin wechselt.
<!--catlinks: - -->Stellt alle Kategorien mit Textlinks nebeneinander dar, getrennt durch " - "
<!--catlinks:<br>-->Stellt alle Kategorien mit Textlinks untereinander dar.
<ul><li>Stellt alle Kategorien mit Textlinks untereinander dar (in einer unnummerierten Aufzählung).
Für die Auflistung der Thumbnails sind spezielle Tags vorhanden.
Alle Zeilen zwischen <!--SelectStart--> und <!--SelectEnd--> werden für jedes Thumbnail wiederholt.
| <!--Thumbnail--> | Fügt das Thumbnail inkl. Link zur vergrösserten Ansicht ein |
| <!--description--> | Fügt den Beschreibungstext des Bildes ein |
| <!--SelectBox--> | Fügt ein Radio-Button zum Auswählen des Bildes ein. Optional kann noch eine CSS-Class übergeben werden: <!--SelectBox:css_style_name--> |
| <!--After[Zahl]:[Code]--> | Fügt nach [Zahl] Thumbnails den Code [Code] ein. Z.B. <!--After[4]:</TR><TR>-->: fügt immer nach vier Thumbnails eine neue Zeile ein. |
Diese Anpassungen sind seit jsCards 1.10 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
jsCards erlaubt es, Grusskarten gleichzeitig an mehrere Empfänger zu verschicken. Um nicht von Anfang an jede Menge Eingabefelder für den Empfänger auf der Auswahl-Seite zu haben, hat der Benutzer die Möglichkeit, via Links neue Zeilen hinzuzufügen. Dazu existieren spezielle Tags:
| <!--MoreRCPTStart--> | Leitet den Multi-Empfänger-Bereich ein. Alle Zeilen in diesem Bereich werden für jeden zusätzlichen Empfänger (ab dem zweiten) wiederholt. |
| <!--MoreRCPTEnd--> | Schliesst den Multi-Empfänger-Bereich ab. |
| rcptXname | Feldbezeichnung für aktuellen Empfängernamen |
| <!--rcptXname--> | Aktuellen Empfängernamen |
| rcptXmail | Feldbezeichnung für aktuelle Empfänger-Mailadresse |
| <!--rcptXmail--> | Aktuelle Empfänger-Mailadresse |
| <!--rcptXmail_error--> | Fehler-Text fehlerhafte Empfänger-Mailadresse |
| <!--rcptXname_error--> | Fehler-Text fehlender Empfängername |
Das Ergebnis könnte dann so aussehen:
<!--MoreRCPTStart-->
<tr>
<td>Empfänger Name / Mail</TD>
<td><input type="text" name="rcptXname" value="<!--rcptXname-->" class="input148"/>
<input type="text" name="rcptXmail" value="<!--rcptXmail-->" class="input148"/></td>
<td><!--rcptXname_error--> <!--rcptXmail_error--></td>
</tr>
<!--MoreRCPTEnd-->
Nun muss es natürlich noch möglich sein, zusätzliche Empfänger hinzuzufügen. Dafür muss in einem Feld addrcpt die Anzahl zusätzlicher Felder übergeben werden. Ebenfalls muss das Formular an die action "select" übermittelt werden. Dies lässt sich am einfachsten mit etwas Java-Script bewerkstelligen und könnte so aussehen:
<tr>
<td>mehr Empfänger <input type="hidden" name="addrcpt" value=""/></td>
<td>
<a href="javascript:document.select.addrcpt.value='1'; document.select.action.value='select'; document.select.submit();">+1</a>
<a href="javascript:document.select.addrcpt.value='3'; document.select.action.value='select'; document.select.submit();">+3</a>
<a href="javascript:document.select.addrcpt.value='6'; document.select.action.value='select'; document.select.submit();">+6</a>
</td>
<td> </td>
</tr>
Zudem ist noch ein zusätzliches, verstecktes Feld notwendig:
Ebenfalls sollte das send.template noch angepasst werden, damit in der Sendebestätigung alle Namen angezeigt werden. Dieses müsste neu wie folgt aussehen:
Diese Anpassungen sind seit jsCards 1.06 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Nach erfolgter Konfiguration der Pfade im Admin-Bereich müssen noch ein paar Eingriffe im Grusskarten-Auswahl-Template (select.template) vorgenommen werden:
Im HEAD-Bereich muss noch folgende-Zeile eingefügt werden:
Diese Zeile bindet das CSS-Stylesheet sowie den JavaScript-Code für den Kalender ein. Danach muss noch die Zeile mit dem Eingabefeld ersetzt werden:
Der Pfad zum Kalender-Image muss ggf. noch angepasst werden. Das Bild kann natürlich auch durch einen Text-Link oder ein anderes Bild ersetzt werden.
Diese Anpassungen sind seit jsCards 1.00 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Damit ein Datei-Upload überhaupt möglich ist, muss das Formular mit einem speziellen Encoding-Type versehen werden. Dies wird mit einem zusätzlichen Attibut im FORM-Tag gemacht:
Damit ein hochgeladenes Bild verwendet wird, muss das Feld "file" den Wert "[upload]" haben und das Bild im Feld "uploadfile" sein. Dies wird durch folgenden Code erreicht:
<input type="radio" name="file" value="[upload]"/> <input type="file" name="uploadfile"/>
Diese Anpassungen sind seit jsCards 1.22 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Der Secure-Code Missbrauchsschutz setzt das GD-Modul voraus. Damit dieser angezeigt werden kann, muss eine ID generiert und ein Eingabefeld für den Secure-Code eingebunden werden. Für die ID ist ein verstecktes Feld notwendig:
Damit das Eingabefeld für den Secure-Code nur bei aktivierter Funktion angezeigt wird, müssen die entsprechenden Zeilen den Tag <!--scyes--> beinhalten. Dies bewirkt, dass die Zeile bei deaktiviertem Secure-Code komplett unterdrückt wird. Diese Zeilen stellen ein Eingabefeld für den Secure-Code dar ("seccode") und bindet eine Grafik ein ("scid" wird als Parameter übergeben).
<!--scyes--><tr><td colspan="3" </td></tr> <!--scyes--><tr valign="top"> <!--scyes--> <td>Secure-Code</td> <!--scyes--> <td colspan="2"><input type="text" name="seccode" value="<!--seccode-->" class="input300"> <!--scyes--> <img src="<!--CGIURL-->?action=seccode&id=<!--scid-->"/> <!--code_error--></td> <!--scyes--></tr>
Im Auswahl-Template gibt es die Möglichkeit, einen Text nur dann anzuzeigen, wenn eine bestimmte Bedingung erfüllt ist. Dies kann u.a. bei benutzerdefinierten Auswahlfeldern oder bei einem Kategorieabhängigen Text der Fall sein.
Falls im Auswahl-Template ein Text nur bei einer bestimmten Kategorie angezeigt werden soll (z.B. Beschreibung einer Kategorie etc.), kann dies mit einer IF-Abfrage gelöst werden:
"Kategoriename" entspricht dem Namen der Kategorie in korrekter Gross-/Kleinschreibung. Das §-Zeichen dient als Trennzeichen. "Text" ist der anzuzeigende Text. Dieser darf auch HTML-Tages (fett, Bilder etc.) beinhalten.
Werden mehrere solche Wenn-Abfragen verwendet, muss jede auf einer eigenen Zeile stehen, z.B.
<!--if:cat=Reisen§Hier findet man Grusskarten rund ums Thema Reisen--> <!--if:cat=Feiertage§Grusskarte für einen besonderen Anlass gesucht? Hier sind sie richtig!--> <!--if:cat=Comic§Alles was lustig ist <img src="smiley.gif"/>-->
Wenn ein benutzerdefiniertes Feld (siehe unten) in einem Auwahlfenster zur Verfügung gestellt wird, muss wieder der richtige Wert ausgewählt werden, wenn die Karte editiert wird. Dazu ist ebenfalls eine IF-Abfrage notwendig:
<select name="userdef1" class="var300"> <option value="#FFFFFF"<!--if:userdef1=#FFFFFF§ selected-->>weiss</option> <option value="#EEEEEE"<!--if:userdef1=#EEEEEE§ selected-->>grau</option> <option value="#FFFFAA"<!--if:userdef1=#FFFFAA§ selected-->>gelb</option> <option value="#FFCCCC"<!--if:userdef1=#FFCCCC§ selected-->>rot</option> <option value="#AAFFAA"<!--if:userdef1=#AAFFAA§ selected-->>grün</option> <option value="#AAAAFF"<!--if:userdef1=#AAAAFF§ selected-->>violett</option> </select>
jsCards stellt fünf benutzerdefinierte Felder zur Verfügung, welche für beliebige Zwecke verwendet werden können. Wird in der Eingabemaske (select.template) ein Feld "userdef1" definiert, wird dessen Wert in der Auswahl, in der Vorschau und in der Kartenansicht angezeigt, wenn der Text <!--userdef1--> eingefügt wird.
Im Beispieltemplate ist dies mit der benutzerdefinierten Hintergrundfarbe demonstriert: Im Auswahl-Template wird das Feld "userdef1" definiert (mittels Auswahl-Box), in der Vorschau und Kartenansicht im CSS-Stylesheet mit "<!--userdef1-->" wieder darauf zugegriffen.
Diese Anpassungen sind seit jsCards 1.20 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Um Smileys in ein eigenes Template einzubauen, muss wie folgt vorgegangen werden:
<script language="javascript" type="text/javascript">
<!--
function addText(text) {
textField=document.select.message;
var caretPos;
var TFbefore;
var TFafter;
var TFselect;
if (textField.createTextRange) { // Microsoft Internet Explorer
theSelection = false;
// selektierten Text einlesen
theSelection = document.selection.createRange().text;
if (theSelection) { // Markierung vorhanden --> Abbruch (Schutz vor Überschreiben)
return;
}
caretPos = textField.caretPos; // Cursorposition bestimmen und Text einfügen
caretPos.text = text;
textField.focus(); // Feld aktivieren
} else if (textField.selectionStart != null) { // Mozilla
// Text vor und nach Cursorposition in Variable speichern
TFbefore=(textField.value.substring(0,textField.selectionEnd));
TFafter=(textField.value.substring(textField.selectionEnd,textField.value.length));
// Text in Textfeld schreiben
textField.value=TFbefore+text+TFafter;
// Cursorposition setzen
textField.setSelectionRange(TFbefore.length+text.length,TFbefore.length+text.length);
textField.focus();
} else { // anderer Browser
textField.value += text;
textField.focus();
}
storeCaret(this);
}
function storeCaret(text) {
if (text.createTextRange) {
text.caretPos = document.selection.createRange().duplicate();
}
}
//-->
</script>
<a onClick="addText(':-)')"><img src="<!--smiley-->/smly_smile.gif" alt=":-)" border="0"/></a>
<a onClick="addText(':-D')"><img src="<!--smiley-->/smly_bigsmile.gif" alt=":-D" border="0"/></a>
<a onClick="addText(';)')"><img src="<!--smiley-->/smly_wink.gif" alt=";)" border="0"/></a>
<a onClick="addText('8-)')"><img src="<!--smiley-->/smly_cool.gif" alt="8-)" border="0"/></a>
<a onClick="addText(':-x')"><img src="<!--smiley-->/smly_kiss.gif" alt=":-x" border="0"/></a><br>
<a onClick="addText(':-O')"><img src="<!--smiley-->/smly_shock.gif" alt=":-O" border="0"/></a>
<a onClick="addText(':-(')"><img src="<!--smiley-->/smly_frown.gif" alt=":-(" border="0"/></a>
<a onClick="addText(':-[')"><img src="<!--smiley-->/smly_angry.gif" alt=":-[" border="0"/></a>
<a onClick="addText(':-X')"><img src="<!--smiley-->/smly_nothingsay.gif" alt=":-X" border="0"/></a>
<a onClick="addText(':-p')"><img src="<!--smiley-->/smly_tongue.gif" alt=":-p" border="0"/></a><br>
<a onClick="addText('???')"><img src="<!--smiley-->/smly_question.gif" alt="???" border="0"/></a>
<a onClick="addText(':o)')"><img src="<!--smiley-->/smly_clown.gif" alt=":o)" border="0"/></a>
<a onClick="addText('B(')"><img src="<!--smiley-->/smly_blackeye.gif" alt="B(" border="0"/></a>
<a onClick="addText('|(')"><img src="<!--smiley-->/smly_sleepy.gif" alt="|(" border="0"/></a>
<a onClick="addText('xx(')"><img src="<!--smiley-->/smly_dead.gif" alt="xx(" border="0"/></a> <br>
Diese Anpassungen sind seit jsCards 1.20 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Um das Adressbuch in ein eigenes Template einzubauen muss folgender Link an beliebiger Stelle eingefügt werden:
Um das Adressbuch auch noch bei den zusätzlichen Empfängern einzufügen, muss zwischen den Zeilen <!--MoreRCPTStart--> und <!--MoreRCPTEnd--> der Link nochmals eingefügt werden, jedoch muss "rcptname" durch "rcptXname" und "rcptmail" durch "rcptXmail" ersetzt werden.
Um das Adressbuch für den Absender einzubinden, ist die folgende Zeile notwendig. Die Adressbücher für Absender und Empfänger sind unabhängig und können auch getrennt voneinander aktiviert oder deaktiviert werden.
Bei deaktivierter automatischer Vorschau von fallenden Effekten kann es unter Umständen trotzdem wünschenswert sein, dass der Besucher sich manuell eine Vorschau des Effektes anzeigen kann (bei der Kartenvorschau sieht es den Effekt ja sowieso). Dies kann mit folgendem Link im select.template erreicht werden.
Diese Anpassungen sind seit jsCards 1.23 Bestandteil der Standard-Templates. Manuelle Anpassungen sind nur notwendig, wenn ältere Templates mit einer neuen Version eingesetzt werden oder die Templates von Grund auf neu aufgebaut werden.
Für die Mouse-Over-Effekte der Grusskartenvorschau sind nur wenige Anpassungen der Templates notwendig. Diese können auch im Template belassen werden, wenn Pop-Up als Vorschauvariante gewählt wurde.
Im CSS-Bereich (<style type="text/css">) müssen folgende Zeilen eingefügt werden:
.ajaxwindow {
background-color: #ffffff;
color: #000000;
border: 1px solid #1155aa;
font-size: 10pt;
font-family: Verdana, Tahoma, Arial, Helvetica, Univers, sans-serif;
}
.ajaxframe {
position: absolute;
visibility: hidden;
z-index: 100;
}
Diese dienen dazu, den Layer für die Bildvorschau zu generieren. Der notwendige AJAX-JavaScript-Code wird von jsCards automatisch generiert. Dazu muss an beliebiger Stelle des Templates (vorzugsweise unmittelbar vor </body>) folgender Code eingefügt werden:
Für alle Seiten ist immer das gleiche Skript zuständig, welches ja nach übergebener Parameter andere Seiten darstellt.
| .../jscards.cgi?action=admin | Administrations-Oberfläche (Passwortgeschützt) |
| .../jscards.cgi?action=select | Grusskarten-Auswahl mit der Standard-Kategorie |
| .../jscards.cgi?action=select&cat=xyz | Grusskarten-Auswahl mit der Kategorie xyz. Anstelle von xyz kann eine beliebige Kategorie eingesetzt werden. Gross-/Kleinschreibung beachten! |
| .../jscards.cgi?action=clear | Liefert nur ein transparentes GIF zurück (siehe Zeitversetztes senden) |
Damit das zeitversetzte Versenden von Grusskarten klappt, muss das Script mindestens einmal pro Tag aufgerufen werden. Wird nicht täglich eine Grusskarte versendet, so kann das Script noch auf zwei weitere Arten aufgerufen werden. Wichtig: wird das Script an einem Tag nicht aufgerufen, so werden die an diesem Tag zu versendenden Grusskarten nicht versendet, auch wenn das Script zu einem späteren Zeitpunkt aufgerufen wird.
Auf irgendeiner Seite der restlichen Homepage, welche garantiert einmal pro Tag aufgerufen wird, kann das Script als transparentes GIF eingefunden werden. Dazu muss lediglich ein Image-Tag eingebunden werden: <img src=".../jscards.cgi?action=clear" width="1" height="1"/>.
Auf UNIX-Systemen kann auch ein Cron-Job eingerichtet werden, der das Script einmal pro Tag aufruft:
0 15 * * * /var/www/cgi-bin/jscards/jscards.cgi > /dev/null
Damit bei versendeten Grusskarten die korrekt URL im Mail erscheint, muss in der jscards.cgi die Zeile
durch die URL ersetzt werden, also z.B.
| Tip am Rande: Unter http://www.cronjob.de können Sie ebenfalls Ihre eigenen, kostenlosen Cron-Jobs erfassen. Damit ist sichergestellt, dass die Grusskarten täglich versendet werden. Als aufzurufende URL tragen Sie die komplette URL mit action=clear ein, also beispielsweise "http://www.meinserver.ch/cgi-bin/jscards/jscards.cgi?action=clear". |
Ganz klar: eigene Motive geben Ihrem Grusskarten-Service eine persönliche Note. Erfahrungsgemäss wandern aber immer wieder einige oder gar alle Beispielmotive in die eigene Homepage (was natürlich nicht verboten ist). cgicorner.ch verwendet deshalb ausschliesslich Bilder, welche zur Weiterverwendung (privat sowie kommerziell) freigegeben sind. Die nachfolgende Tabelle listet zur Transparenz die Herkunft aller Demo-Bilder auf:
| achterbahn.jpg | CorelDraw 8! CD3 - photos\crc_fair\721086.WI |
| alpen.jpg | CorelDraw 8! CD3 - photos\location\708035.WI |
| berg2.jpg | CorelDraw 8! CD3 - photos\location\708032.WI |
| berge.jpg | CorelDraw 8! CD3 - photos\location\708023.WI |
| bergsee.jpg | CorelDraw 8! CD3 - photos\location\708029.WI |
| binladen.jpg | http://www.jojos-catroons.de; mit Genehmigung von Jörg Mayer, toonmaster@gmx.net (*) Genehmigung gilt für alle Comics unter http://www.jojos-cartoons.de |
| clown.jpg | CorelDraw 8! CD3 - photos\crc_fair\721028.WI |
| computer.jpg | http://www.sxc.hu/browse.phtml?f=view&id=349825 (transluent keyboard by stocker) |
| cool.jpg | Print Master Platinium 7.0 - CD3 |
| danke.jpg | http://www.sxc.hu/browse.phtml?f=view&id=185093 (bunch of flowers 2 by jf) |
| delphine.jpg | CorelDraw 8! CD3 - photos\crc_fair\721017.WI |
| drink2.jpg | CorelDraw 8! CD3 - photos\objctvi\763049.WI |
| email.jpg | http://www.sxc.hu/browse.phtml?f=view&id=285900 (mail - button by Azbest) |
| fax.jpg | http://www.jojos-catroons.de; mit Genehmigung von Jörg Mayer, toonmaster@gmx.net (*) Genehmigung gilt für alle Comics unter http://www.jojos-cartoons.de |
| fensterputzer.jpg | http://www.jojos-catroons.de; mit Genehmigung von Jörg Mayer, toonmaster@gmx.net (*) Genehmigung gilt für alle Comics unter http://www.jojos-cartoons.de |
| fischen.jpg | CorelDraw 8! CD3 - photos\active\834081.WI |
| fluss.jpg | CorelDraw 8! CD3 - photos\eve_sky\790032.WI |
| freizeitpark.jpg | CorelDraw 8! CD3 - photos\crc_fair\721018.WI |
| geburtstag.jpg | Print Master Platinium 7.0 - CD5 |
| geburtstag2.jpg | http://www.sxc.hu/browse.phtml?f=view&id=253355 (Happy Birthday! by DeepBlu) |
| geburtstag3.jpg | http://www.sxc.hu/browse.phtml?f=view&id=208382 (candle by gozilla) |
| geburtstag4.jpg | CorelDraw 8! CD3 - photos\spec_occ\724005.WI |
| geburtstag5.jpg | Print Master Platinium 7.0 - CD1 |
| geileseite.jpg | http://www.sxc.hu/browse.phtml?f=view&id=352249 (What U looking for? 1 by wagg66) |
| halloween.jpg | CorelDraw 8! CD3 - photos\spec_occ\724045.WI |
| halloween2.jpg | CorelDraw 8! CD3 - photos\spec_occ\724007.WI |
| hochzeit.jpg | CorelDraw 8! CD3 - photos\spec_occ\724094.WI |
| kinderinnen.jpg | http://www.jojos-catroons.de; mit Genehmigung von Jörg Mayer, toonmaster@gmx.net (*) Genehmigung gilt für alle Comics unter http://www.jojos-cartoons.de |
| insel.jpg | CorelDraw 8! CD3 - photos\thebeach\798097.WI |
| insel2.jpg | CorelDraw 8! CD3 - photos\thebeach\798014.WI |
| insel3.jpg | CorelDraw 8! CD3 - photos\location\708016.WI |
| leuchtturm.jpg | CorelDraw 8! CD3 - photos\location\790008.WI |
| linux.jpg | http://www.sxc.hu/browse.phtml?f=view&id=25328 (Tux with his little rebel son by sphaera) |
| meer.jpg | CorelDraw 8! CD3 - photos\eve_sky\790010.WI |
| meer2.jpg | CorelDraw 8! CD3 - photos\location\708028.WI |
| meer3.jpg | CorelDraw 8! CD3 - photos\thebeach\798057.WI |
| musik.jpg | CorelDraw 8! CD3 - photos\active\834098.WI |
| musik2.jpg | CorelDraw 8! CD3 - photos\backgrds\754015.WI |
| obst.jpg | CorelDraw 8! CD3 - photos\objctvii\764001.WI |
| osereier.jpg | http://www.sxc.hu/browse.phtml?f=view&id=265840 (Easter moods by Zela) |
| osterhase.jpg | http://www.pixelquelle.de/details.php?image_id=32315&mode=search (Na? Wer ist hier das echte Kuscheltier?) |
| osterhuhn.jpg | -- per Mail angefragt |
| osterkuecken.jpg | http://www.sxc.hu/browse.phtml?f=view&id=100731 (chick, chicks by arkansasfi) |
| see.jpg | CorelDraw 8! CD3 - photos\eve_sky\790050.WI |
| see2.jpg | CorelDraw 8! CD3 - photos\location\790076.WI |
| silvester.jpg | CorelDraw 8! CD3 - photos\spec_occ\724031.WI |
| silvester2.jpg | CorelDraw 8! CD3 - photos\spec_occ\724023.WI |
| silvester3.jpg | CorelDraw 8! CD3 - photos\spec_occ\724048.WI |
| sonnenuntergang2.jpg | CorelDraw 8! CD3 - photos\eve_sky\790060.WI |
| stadt.jpg | CorelDraw 8! CD3 - photos\business\719018.WI |
| stadt1.jpg | CorelDraw 8! CD3 - photos\eve_sky\790056.WI |
| strand.jpg | CorelDraw 8! CD3 - photos\location\708043.WI |
| strand3.jpg | CorelDraw 8! CD3 - photos\location\708010.WI |
| strand4.jpg | CorelDraw 8! CD3 - photos\thebeach\798055.WI |
| strand5.jpg | CorelDraw 8! CD3 - photos\thebeach\798031.WI |
| sueden.jpg | http://www.sxc.hu/browse.phtml?f=view&id=323951 (medieval town by serignar) |
| sueden2.jpg | CorelDraw 8! CD3 - photos\thebeach\798046.WI |
| sueden3.jpg | CorelDraw 8! CD3 - photos\location\708081.WI |
| sueden4.jpg | http://www.sxc.hu/browse.phtml?f=view&id=190716 (narrow house in the south by carlohh) |
| surfing.jpg | Print Master Platinium 7.0 - CD3 |
| valentinstag.jpg | http://www.sxc.hu/browse.phtml?f=view&id=248529 (Love me tender by LotusHead) |
| waitingformail.jpg | http://www.sxc.hu/browse.phtml?f=view&id=3449 (Skeleton by TWS) |
| wal.jpg | CorelDraw 8! CD3 - photos\crc_fair\721035.WI |
| weihnachten3.jpg | CorelDraw 8! CD3 - photos\spec_occ\724061.WI |
| weihnachten4.jpg | CorelDraw 8! CD3 - photos\spec_occ\724050.WI |
| weihnachten5.jpg | CorelDraw 8! CD3 - photos\spec_occ\724001.WI |
| weihnachten6.jpg | CorelDraw 8! CD3 - photos\spec_occ\724006.WI |
| weihnachten7.jpg | Print Master Platinium 7.0 - CD5 |
| weihnachten8.jpg | CorelDraw 8! CD3 - photos\spec_occ\724054.WI |
| weihnachten9.jpg | http://www.sxc.hu/browse.phtml?f=view&id=229218 (Surprise! 1 by meezer) |
| weihnachten9f.swf | http://www.sxc.hu/photo/680457 (Christmas Decoration by barrym67; Flash by cgicorner.ch) |
| werbung.jpg | http://www.jojos-catroons.de; mit Genehmigung von Jörg Mayer, toonmaster@gmx.net (*) Genehmigung gilt für alle Comics unter http://www.jojos-cartoons.de |
| winter.jpg | http://www.sxc.hu/browse.phtml?f=view&id=338503 (andorra 2 by xannah) |
| wueste.jpg | http://www.sxc.hu/browse.phtml?f=view&id=325856 (Desert sands 2 by philipn) |
| wueste2.jpg | CorelDraw 8! CD3 - photos\location\708013.WI |
| www.jpg | http://www.sxc.hu/browse.phtml?f=view&id=202302 (Traffic by brokenarts) |
| zeit.jpg | CorelDraw 8! CD3 - photos\business\719047.WI |
| zuerich.jpg | http://www.sxc.hu/browse.phtml?f=view&id=2003 (Züri by shadow) |
| zuerich1.jpg | http://www.sxc.hu/browse.phtml?f=view&id=1860 (tram by emc) |
| zuerich2.jpg | http://www.sxc.hu/browse.phtml?f=view&id=302702 (Waiting for Customers 2 by mproe) |
(*) Die Genehmigung von Bildern umfasst jeweils folgendes:
Jede Verwendung oder Weiterverbreitung dieser Grafiken ausserhalb von jsCards (entweder in anderen Grusskartensystemen und/oder Bildergallerien etc.) ist in diesen Nutzungsrichtlinien nicht gestattet und bedarf der Einwilligung des Rechte-Inhabers.
| Copyright © 2008 by Jürg Sommer, scripts@cgicorner.ch http://www.cgicorner.ch |
Letzte Änderung: 21. Februar 2008 |