Seit mehr als 10 Jahren realisieren die kreativen Köpfe von MountainGrafix professionelle Internet-, Datenbank-, und eCommerce-Applikationen für Unternehmen, Privatanwender, Vereine und die öffentliche Hand.

Sicherheitshinweis für easyLink v2 und easyLink v3

Abgelegt von Sascha Schoppengerd am 16.07.2009 um 09:14 Uhr

Aufgrund einer Schwachstelle, die kürzlich in easyLink v2.x bekanntwurde, unterziehen wir beide Softwarereihen derzeit einem ausführlichem Sicherheitscheck und in diesem Zusammenhang ist uns aufgefallen, dass 90% aller Nutzer die Installationsdateien auf dem Server belassen.

Diese Vorgehensweise stellt ein extrem hohes Sicherheitsrisiko dar, denn einem Angreifer ist es somit durch eine erneute Ausführung des Setups möglich, das ACP Passwort bzw. in der V3 den Adminaccount zu überschreiben um anschließend vollen Zugriff auf das ACP zu erhalten. mehr…

Neues Plugin: PostSignatur

Abgelegt von Sascha Schoppengerd am 04.07.2009 um 12:40 Uhr

An den Wochenenden ist immer etwas Zeit um mich mit Problemen ausserhalb von Kundenprojekten zu befassen und so habe ich mich heute Vormittag einmal diesem Themengebiet angenommen. Entstanden ist dabei mit PostSignatur wieder einmal ein sehr nützliches Plugin, was am Ende jeder Pressemeldung einen beliebigen Text anfügt.

Der Text bzw. die Signatur kann frei über das Template eingestellt werden und neben den im Beispiel aufgeführten Variablen, sind theoretisch auch fast alle anderen in der Datenbank verfügbaren Informationen zum Artikel oder zum Eintrag in der Signatur nutzbar.

Hier findet Ihr weitere Informationen zum Plugin

easyLink v3 – Plugin Instanz einbinden

Abgelegt von Sascha Schoppengerd am 01.07.2009 um 15:02 Uhr

Für viele Nutzer scheint bei der Entwicklung eines Plugins für easyLink v3 die Einbindung der jeweiligen Klassen-Instanz ein großes Problem darzustellen und daher möchte ich euch heute verschiedene Wege aufzeigen, mit deren Hilfe man dieses Problem lösen kann.

Grundsätzlich sollte man bei der Programmierung von Plugins die OOP Struktur der Software beibehalten und die wesentlichen Teile der Erweiterung auch als eigenständige Klasse schreiben. Das ist zum einen wesentlich sauberer als eine Ansammlung von Funktionen und bietet zum anderen ebenfalls wieder Möglichkeiten zur Erweiterung.

Für unser Beispiel hat das Plugin nun eine Klasse mit der Bezeichnung LastEntryList und da mit mit einer Klasse allein nichts anfangen kann, müssen wir natürlich auch eine Instanz dieser Klasse erzeugen. Dieses geschieht daher wie üblich direkt nach der Deklarierung der Klasse.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
/*
 * Erstellt eine Liste der letzten Einträge
 */
class LastEntryList {
...
}
 
$LastEntryList = new LastEntryList();
 
?>

Der Vorteil dieser Variante ist nun, dass wir durch das inkludieren der Plugin-Datei, was ja automatisch geschieht, auch sofort eine Instanz der gesamten Klasse zur Verfügung haben. Wir können jetzt also über die Variable $LastEntryList vollkommen problemlos auf die einzelnen Methoden der Klasse zugreifen.

Für den Fall, dass wir die Instanz innerhalb einer anderen Klasse, Methode oder Funktion benötigen, müssen wir sie natürlich über den bekannten Befehl global verfügbar machen.

1
2
3
4
5
6
7
8
9
<?php
 
function myTest() {
    global $LastEntryList;
 
    ...
}
 
?>

Manchmal stehen wir aber vor dem Problem, dass die Erzeugung der Instanz direkt bei inkludieren eines Plugins zu massiven Problemen führen kann, weil z.B. zu diesem Zeitpunkt bestimmte Funktionen oder Methoden noch nicht verfügbar sind.

Das geschieht in der Regel immer dann, wenn das Plugin innerhalb der Methode __construct() auf die Template-Klasse zugreifen möchte. Für diesen Fall bietet jedoch create_function() in Verbindung mit einem beliebigen Hook wie z.B. IndexEnd die Lösung.

1
2
3
4
5
<?php
 
AddAction('IndexEnd', create_function('', '$LastEntryList = new LastEntryList();'));
 
?>

Bei dieser Vorgehensweise wird die Instanz also bei erreichen des Hooks IndexEnd erzeugt und somit natürlich auch erst nach der Initialisierung der Template-Engine.

Unter PHP 5.3.0 wird es hier jedoch einige Änderungen geben, denn dort ist ja erstmals auch das deklarieren so genannter Lambda-Funktionen direkt im Quellcode möglich und natürlich kann auch das direkt in unser Beispiel übertragen werden.

1
2
3
4
5
6
7
<?php
 
AddAction('IndexEnd', function() { 
    $LastEntryList = new LastEntryList();
});
 
?>

Ich hoffe, dass ich mit diesem Beitrag einige Fragen beantworten konnte und vielleicht bekommen wir ja in Kürze ein nettes Plugin aus dem Kreis der Nutzer zu sehen.

Neue Plugin: AdminNotes

Abgelegt von Sascha Schoppengerd am 30.06.2009 um 10:50 Uhr

Als Admistrator steht man oftmals vor dem Problem, dass man einen bestimmten Eintrag für kurze Zeit deaktiviert hat oder der Eintrag aufgrund technischer noch nicht freigeschaltet werden konnte. Nach einiger Zeit und bei besonders großen Portalen kann man hier aber schon einmal den Überblick verlieren und genau da kann das Plugin AdminNotes sicherlich weiterhelfen.

Diese nützliche Erweiterung erlaubt das Anlegen und Verwalten von persönlichen Notizen zu jedem Eintrag in Ihrem Verzeichnis und so gehen Ihnen wichtige Informationen niemals wieder verloren. Darüber hinaus werden die angelegten Notizen auch direkt in der Auflistung der noch nicht freigeschalteten Einträge aufgeführt, denn so können Sie sich vor der endgültigen Aktivierung nochmals über den Vorgang informieren.

Hier finden Sie ein paar Screenshots zum Plugin: AdminNotes

Neues Plugin: UserToCSV

Abgelegt von Sascha Schoppengerd am 20.06.2009 um 17:00 Uhr

Viele Kunden nutzen neben der Software easyLink V3 in der Regel auch ein leistungsfähiges Newsletter-Programm und um diese Nutzer bei der Erstellung der personalisierten Mailings zu unterstützen, haben wir ein neues Plugin in den Shop aufgenommen. Mit UserToCSV könnt Ihr verschiedene voreingestellte Listen in das bekannte CSV Format exportieren.

Die so erstellten Dateien brauchen dann nur noch in das Newsletter-Programm importiert werden und schon können die Mails auf die Reise gehen.

Selbstverständlich können die exportierten Daten nicht nur in Newsletter-Programmen verwendet werden, denn grundsätzlich lassen sich CSV Listen mit einer Vielzahl von externen Tools wie z.B. Faktura-Programmen weiterverarbeiten.

PremiumRating 1.2 im Shop verfügbar

Abgelegt von Sascha Schoppengerd am 19.05.2009 um 10:49 Uhr

Heute habe ich eine besonders gute Nachricht für euch, denn vielleicht erinnert sich der ein oder andere noch an das Plugin PremiumRating , dass wir im Auftrag eines Kunden entwickelt haben. Nach einigen Tagen bzw. Wochen haben wir es nun endlich geschafft, den Kunden davon zu überzeugen, das Plugin auch andere Kunden zur Verfügung zu stellen und somit ist es seit wenigen Minuten in unserem Shop erhältlich.

Hier findet Ihr einige Screenshots & einen Link zur Bestellung

5 weitere Plugin’s sind für easyLink V3 verfügbar

Abgelegt von Sascha Schoppengerd am 17.05.2009 um 08:52 Uhr

Momentan sind wir dabei, die easyLink PluginAPI auf Herz und Nieren zu prüfen und als schöner Nebeneffekt entstehen dabei natürlich viele nützliche Plugin’s, die entweder über unseren Shop zu erwerben sind oder teilweise auch im Forum kostenlos heruntergeladen werden können.

Heute möchte ich euch die nächsten 5 Kandidaten vorstellen:

FlickrRSS

Mit Hilfe des Plugin FlickrRSS könnt Ihr einen beliebigen Flickr Photostream in eurem Verzeichnis / Webkatalog anzeigen lassen. Der große Vorteil dieses Plugins liegt jedoch in der hohen Konfigurierbarkeit, denn erstmals ist es möglich, mit nur einem Plugin z.B. verschiedene bzw. mehrere Accounts abzufragen.

Hier könnt Ihr FlickrRSS bestellen

chCounter

Mit Hilfe des chCounterWidget könnt Ihr nicht nur den notwendigen Counter-Code in die Seite einbinden, sondern das Plugin erlaubt zudem noch eine komfortable Verwaltung der Ausgabe über das Backoffice. Der große Vorteil dieses Plugins liegt daher in der hohen Konfigurierbarkeit des Systems.

Hier könnt Ihr das chCounter Plugin bestellen

PayPal Donation

Das Plugin ermöglicht die einfach Integration eines PayPal-Spendenbutton’s über einen festgelegten ShortCode. Darüber hinaus lassen sich die zentralen Einstellungen für die Button’s natürlich auch bequem im Backoffice der Software festlegen.

Hier könnt Ihr PayPal Donation bestellen

Google Analytics Report

Bekanntlich gehört Google Analytics zu den meist genutzten Statistikservice’s im Netz und da auch viele easyLink Nutzer diesen Dienst nutzen und oftmals schon an der korrekten Einbindung des Tracking-Codes scheitern, möchten wir euch heute ein ganz besonders Plugin aus unserem Hause vorstellen.

Mit Hilfe von Google Analytics Report könnt Ihr nicht nur den besagten Tracking-Code bequem über das ACP einbinden, sondern das Plugin stellt darüber hinaus auch noch eine tabellarische und grafische Auswertung der wichtigsten Daten für euch bereit. Ihr müsst euch also nicht mehr gesondert bei bei Google Analytics einloggen, sondern Ihr könnt die wichtigsten Informationen direkt in eurem easyLink ACP ablesen.

Zusätzlich bietet das Plugin noch den Bonus, dass Ihr nicht nur die Daten der gerade aktiven easyLink – Seite einsehen könnt, sondern je nach gewünschter Einstellung, können die Daten sämtlicher Seiten abgefragt werden, die in eurem Analytics-Profil hinterlegt wurden.

Hier könnt Ihr Analytics Report bestellen

LandingSites

Die Besucher einer Seite kommen in der Regel über die bekannten Suchmaschinen auf die einzelnen Artikel. Jedoch finden viele nicht sofort die gesuchten Informationen und in der Regel ist es dann so, dass die Besucher zu ihrer Suchmaschine zurück kehren und den nächsten Link nutzen.

Manchmal gibt es aber einen thematisch relevanten Artikel und genau dafür ist dieses Plugin entwickelt worden. LandingSites prüft nach der Aktivierung automatisch, ob ein Besucher von einer Suchmaschine kommt und bietet diesem bereits beim Aufruf des Portal’s die möglichen relevante Artikel an. Durch den Einsatz des Plugin’s findet der Besucher also sehr schnell die gewünschten Informationen und verbleibt damit natürlich auch länger auf der Seite.

Hier könnt Ihr LandingSites bestellen