ShortLink - verkürzt lange und unhandliche Links

Das Admin-Tool ShortLink dient dazu, lange und unhandliche Linkungetüme in kurze und kompakte Links zu verwandeln. Mein Favorit bei den Linkmonstern ist Google Maps, der Link auf meine Adresse in der Stockholmer Straße sieht so aus:
Auf dieser Seite sieht das nur hässlich aus, wenn Sie diesen Link jedoch in einer E-Mail weitergeben, kann ihn der Empfänger u.U. gar nicht aufrufen, weil das E-Mail Programm einen Zeilenumbruch in den Link einfügt...
ShortLink reduziert den o.a. Link zu:
http://phpmanufaktur.de/sl.php?sl=2
Wenn Sie - wie in diesem Fall - den Link auf Ihre Adresse öfters mal weitergeben möchten, können Sie auch einen Bezeichner festlegen, z.B. buero, der Link sieht in diesem Fall dann so aus:
http://phpmanufaktur.de/sl.php?name=buero
und ist aussagekräftig genug, dass man ihn sich sogar merken kann...
Einen interessanten und lesenswerten Artikel über "Kurz-URLs – ein gutes oder schlechtes System?" finden Sie bei Norman.
Ein weiterer Vorteil von ShortLink liegt darin, dass die verkürzten Links von der eigenen Domain ausgehen - das macht sich im monatlichen Newsletter aber auch in E-Mails an Kunden oder Vereinsmitglieder wesentlich besser.
Wie funktioniert ShortLink? Ganz einfach. ShortLink legt die Zieladresse in seiner Datenbank ab und generiert eine eindeutige Kennung. Wird ShortLink mit dieser Kennung aufgerufen, leitet es sofort und Verzögerungsfrei auf die Zieladresse um.
Das Tool kann jedoch noch mehr, so können Sie mit ShortLink z.B.:
- Einweg Links erzeugen, d.h. der Link kann genau ein einziges Mal aufgerufen werden,
- die Gültigkeit der Links zeitlich begrenzen,
- Dateien zum Download bereitstellen,
- Download Dateien die nicht mehr benötigt werden automatisch löschen,
- die ShortLinks direkt aus den Admin-Tools heraus per E-Mail versenden und
- dabei auf Adressdaten registrierter User und auf Adressdaten anderer Module zugreifen.
Die Einrichtun
g von ShortLink ist recht einfach. Nach der Installation finden Sie das Tool im Backend unter den Admin-Tools.
Damit ShortLink funktioniert, muss die Datei link.php aus dem Verzeichnis <ihredomain>/modules/shortlink/ in das Wurzelverzeichnis ihrer Domain kopiert werden. ShortLink wird selbst versuchen, die Datei dorthin zu kopieren, dies dürfte dem Tool allerdings nur in den seltensten Fällen gelingen, in der Regel werden die Rechte nicht ausreichen.

Die Aufgabe der link.php besteht darin, den übergebenen Parameter umzusetzen und die entsprechende Zielseite aufzurufen oder einen Download zu starten. Wird die link.php mit einem ungültigen Parameter aufgerufen, leitet sie kommentarlos auf die index.php ihrer Website weiter. Da die Bezeichnung link.php möglicherweise Spider oder Hacker dazu einlädt, die Datei für eigene Zwecke zu missbrauchen, empfehle ich die Umbennung in einen unverfänglichen Namen - hier bei der phpManufaktur habe ich die Datei in sl.php umbenannt.
Wenn Sie die link.php im Wurzelverzeichnis ihrer Domain umbenennen, müssen Sie ShortLink den neuen Name mitteilen. Rufen Sie dazu in ShortLink die Einstellungen auf und ändern Sie den Wert für den Bezeichner cfgLinkFileName entsprechend.
Alternativ können Sie auf die link.php verzichten und stattdessen einen Aufruf für ShortLink in die index.php im Wurzelverzeichnis ihrer Domain einfügen.
Hierzu editieren Sie die index.php und fügen nach dem Abschnitt // Check if the config file has been set-up den Aufruf für ShortLink wie im folgenden Beispiel ein:
$starttime = array_sum(explode(" ",microtime()));
// Include config file
require_once(dirname(__FILE__).'/config.php');
// Check if the config file has been set-up
if(!defined('WB_PATH')) {
header("Location: install/index.php");
exit(0);
}
// ShortLink
if (file_exists(WB_PATH.'/modules/shortlink/class.shortlink.php')) {
require_once(WB_PATH.'/modules/shortlink/initialize.php');
shortLink();
}
Damit ShortLink die index.php anstatt der link.php verwendet, ändern Sie unter den Einstellungen den Wert für den Bezeichner cfgLinkFileUse auf 0.
Jetzt ist ShortLink einsatzbereit, rufen Sie ShortLink auf und fügen Sie einen langen Link in das Eingabefeld Ziel URL ein.
Wenn Sie einen einfachen ShortLink benötigen, können Sie direkt auf Übernehmen klicken.
Planen Sie, den ShortLink öfters zu verwenden, können Sie ihm einen Bezeichner zuordnen, der ShortLink wird in diesem Fall über den Bezeichner und nicht über einen numerischen Wert aufgerufen.
Falls der ShortLink für einen einzelnen Adressaten bestimmt ist und Sie möchten, dass dass dieser Link nur einmal aufgerufen wird, setzen Sie ein Häkchen bei Einweg Link.
Sie können auch festlegen, dass der ShortLink nur bis zu einem bestimmten Datum aufgerufen werden kann, legen Sie in diesem Fall ein Datum bei Gültig bis fest.
Das Erstellen eines DownloadLink funktioniert sehr ähnlich, rufen Sie DownloadLink auf und wählen Sie die Datei aus, die Sie für den Download bereitstellen möchten. Der DownloadLink verfügt über die zusätzliche Option Automatisch löschen. Setzen Sie hier einen Haken, wird die Datei automatisch vom Server gelöscht, wenn der DownloadLink nicht mehr gültig ist.

Der Bestätigungsdialog ist bei einem ShortLink und einem DownloadLink fast identisch. Sie erhalten eine Zusammenfassung über die Eigenschaften des Links und können den erzeugten Link in die Zwischenablage kopieren.
Am unteren Rand des Dialog können Sie per Klick direkt den nächsten Link erzeugen, den gerade erzeugten Link ändern oder direkt per E-Mail verschicken.

Zum Versenden von Links per E-Mail gibt es nicht allzuviel zu sagen. Absender festlegen, Adressat(en) eingeben oder in der Auswahlliste auswählen, den automatisch generierten Text ergänzen und abschicken...
ShortLink speichert automatisch Adressen, die Sie neu eingeben und zeigt sie beim nächsten Aufruf in der Auswahlliste an.
ShortLink kann auf Adressdaten aus anderen Bereichen oder Modulen zugreifen, hierzu verfügt ShortLink über eine dokumentierte Schnittstelle class.address.interface.php, die es Programmierern ermöglicht ShortLink Zugriff auf Adressdaten ihrer Module zu gewähren. Momentan verfügt ShortLink über die drei Schnittstellen WB USERS, PrintShop und dbKontakte. WB USERS ermöglicht einen Zugriff auf die Namen und E-Mail Adressen der Benutzer, die in Website Baker registriert sind. Um WB USERS in ShortLink einzubinden, fügen Sie bitte bei den Einstellungen bei dem Bezeichner cfgUseInterface den Wert users ein - schon haben Sie in der Auswahlliste des E-Mail Dialog Zugriff auf alle in Website Baker registrierten Benutzer.
Es gibt noch ein paar speziellere Konfigurationsmöglichkeiten über cfgSwitches.
Wenn Sie überwiegend DownloadLinks erstellen, wünschen Sie sich vermutlich, dass beim Aufruf von ShortLink auch direkt die Unterseite DownloadLink angezeigt wird. Dazu ändern Sie bei den Einstellungen den Wert für cfgSwitches von navDefault=sl in navDefault=dl und schon funktioniert es wunschgemäß.
Mit navHide können Sie die Anzeige von Unterseiten unterdrücken. Mögliche Werte sind sl (ShortLink), dl (DownloadLink), list (Liste), cfg (Einstellungen) und info (?). Fügen Sie navHide=dl durch ein Komma getrennt nach navDefault=sl ein um die Anzeige der Unterseite DownloadLink zu unterdrücken. Um mehrere Seiten zu unterdrücken hängen Sie diese durch ein Semikolon getrennt an, navHide=dl;cfg unterdrückt die Anzeige der Unterseiten DownloadLink und Einstellungen (wenn Sie die Anzeige der Einstellungen unterdrücken, gelangen Sie mit einem Aufruf von <ihredomain>/admin/admintools/tool.php?tool=shortlink&act=cfg wieder dorthin).
Alle übrigen Funktionen und Einstellungen von ShortLink sind glaube ich selbsterklärend oder ergeben sich aus dem Zusammenhang.
Vielen Dank für Ihr Interesse!
![]()
Download
Die aktuelle Version finden Sie auf der Download Seite.
Kommentare
05.04.2010
Erstmal danke für das Modul.
Wenn ich einen neuen Link ohne Ablaufdatum anlegen, funktioniert die ganze Sache nicht und leitet einfach auf die Hauptseite weiter.
Grüße,
Michael
30.12.2009
Jan
Es wäre sicher hilfreich (für mich als Anfänger) darauf hin zu weisen, das das Modul allein nicht lauffaähig ist. Sonder wieder Modul db benötigt wird das Modul xyz braucht. War mir zu kompliziert und hat somit auch bei der Install nicht geklappt. Deinsatll war nicht möglich da es nicht aufgelistet war. Blöd...
30.10.2009
Ralf Hertsch
Hallo Claus,
das ist eine interessante Idee - sicher nicht nur für Bakery. Das "wie" muss ich allerdings erst mal überschlafen ;-)
Bin aber zuversichtlich, dass sich da eine praktikable Lösung finden lässt.
Gruß
Ralf
29.10.2009
Claus
Hallo Ralf,
vielen Dank :-) Dann hätte ich noch eine Anregung, allerdings ist die modulübergreifend. Ich benutze auch das Shop-Addon Bakery und würde gerne Downloads anbieten. Dazu wäre es praktisch, wenn man eine Variable (z.B. die Artikel-Nr.) als Bezeichner für shortlink nehmen könnte um daraus dann einen Downloadlink zu kreiieren. Diesen Link könnte man dann problemlos in die Bestätigungsmails nach der Bezahlung einarbeiten. Ist sowas machbar?
Gruß Claus
27.10.2009
Ralf Hertsch
Hallo Claus,
vielen Dank für deine Anregung, ich nehme das in die nächste Release auf.
Gruß
Ralf
27.10.2009
Claus
Hallo Ralf, zunächst mal tolles Addon für Websitebaker. Wäre es möglich das Script so zu erweitern, dass man statt einem festen Datum bis zur Löschung / Deaktivierung eine Zeitspanne angeben kann (z.B. 24 Stunden) ?
Für Downloadlinks wäre das äußerst praktisch.
Gruß, Claus
08.10.2009
Ralf Hertsch
Vielen Dank für den Hinweis, ich habe das Problem inzwischen behoben.
Gruß
Ralf
07.10.2009
Alexander
Am Ende der Seite http://phpmanufaktur.de/pages/topics/shortlink.php befindet sich diese Meldung: Notice: Constant TOPIC_BLOCK2 already defined in /srv/www/modules/topics/view.topic.php on line 216. Das ist sicher nicht gewollt. Gruß Alex
