Dienstag, 4. November 2014

Typo3-Extension "Quick Google Maps" (cbgooglemaps) anpassen

Ich finde die Extension "Quick Google Maps" (cbgooglemaps) ist ziemlich genial, allerdings gibt es da 2 Dinge, die man nicht direkt über die Einstellungen der Extension beeinflussen kann: Die Reaktion von Google Maps auf das Scrollrad und der Einsatz von eigenen Pushpins, wobei Ersteres die Usability beeinflusst (stört beim scrollen) und letzteres die Optik. 

Leider habe ich nicht herausgefunden, wie man ein eigenes Template bei cbgooglemaps einsetzt, daher habe ich als quick'n'dirty-Anpassung einfach das ursprüngliche Template (/typo3conf/ext/cbgooglemaps/Resources/Private/Templates/Map/Index.html) direkt angepasst.
Öffnet das Template und fügt an den entsprechenden Stellen den Code hinzu  (ist eigentlich ziemlich offensichtlich)

Meine Anpassungen sind die Deaktivierung vom Scrollrad hinter Zeile 22
mapOptions_{contentId}.scrollwheelfalse;

und den Einsatz von einer eigenen Pin-Grafik hinter Zeile 29 (ändert die entsprechende URL)
mapCenter_{contentId}.icon '/fileadmin/images/Pushpin.png';

Hier könnt ihr die Extension mit den Veränderungen live begutachten - eigener Pushpin und kein Scrollwheel: http://www.e-kern.com/de/kontakt/standorte-europa/deutschland/frankfurt.html

(diese Anpassungen basieren auf der Version 2.1.15 für Typo 4.x)

Mittwoch, 29. Oktober 2014

Typo3 4.5.x: Schwarze Hintergründe bei Bildkonvertierung mit Transparenzen

Habt ihr auch das Problem, dass beim Umwandeln von PNG-, GIF- oder PDF-Dateien zu JPG die transparenten Bildelemente schwarz dargestellt werden? Ich hatte dieses Problem vor allem bei PDF- und GIF-Dateien gehabt. Bisher habe ich das Problem hauptsächlich bei Typo3 4.5.x und niedriger gehabt, bei Typo3 6.2 hingegen gar nicht (für 6.1, 6.0 und 4.7 habe ich nicht getestet).


Öffnet hierzu die Datei /t3lib/class.t3lib_stdgraphic.php und ersetzt folgenden Code

$this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . '

mit diesem Code

$this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . ' -background white -flatten 


Achtet bitte zur Sicherheit auch darauf, dass hinter -flatten auch ein Leerzeichen ist. Wir ihr ablesen könnt, wird bei diesem Befehl für eine Umwandlung in JPG zunächst ein weißer Hintergrund hinzugefügt und anschließend das Bild "flachgelegt", also die Bildebenen zusammengelegt unter Berücksichtigung der vorher festgelegten Hintergrundfarbe.

Mittwoch, 15. Oktober 2014

Sicherheitslücke in der Extension dmmjobcontrol und Workaround

Update 20.10.2014: Kevin Renskers arbeitet zwar nicht mehr an der Extension und sucht auch jemanden, der die Extension gerne "adoptiert", aber er hat die unten genannten Änderungen übernommen und hochgeladen. Einen Bug gibt es zwar noch, aber auch dieser wird gerade von jemand anderen bearbetet und demnächst hochgeladen: Zwar wird die Sicherheitslücke mit diesen Änderungen gestopft, aber die Suchfunktion ist dann nicht mehr Nutzbar.
----------------------------------

Ein Sicherheitsleck in der Extension dmmjobcontrol wurde auf typo3.org bekannt gegeben: http://typo3.org/teams/security/security-bulletins/typo3-extensions/typo3-ext-sa-2014-012/

Langfristig ist es sicherlich sinnvoller auf eine andere Extension aufzubauen, die auch gewartet wird, z.B. Job Fair, welches optisch fast eine 1:1 Kopie von dmmjobcontrol ist. Leider läuft diese Extension nur auf Typo3 6.x läuft, was den Umstieg etwas komplizierter macht, wenn man noch Typo3 4.5 nutzt. Manche Websites haben sehr viele Einträge in der Extension und eine Übertragung in eine andere Extension wird nicht so schnell funktionieren. Es scheint aber so, als würde Job Fair laut Angaben des Autors fast die gleiche Datenbankstruktur zu haben wie dmmjobcontrol - vielleicht ist es möglich, mit einer Art "Update-Script"

Auf http://seclists.org/fulldisclosure/2014/Sep/89 habe ich ein Workaround gefunden, wie ihr diese beiden Sicherheitslücken vorübergehend stopfen könnt. Dies sollte aber meiner Meinung nach nicht dauerhaft geschehen, sondern sollte solange, bis man es geschafft hat, auf eine andere Extension umzusteigen - wer weiß welche Sicherheitslücken in Zukunft auftauchen.


Öffnet die Datei typo3conf/ext/dmmjobcontrol/pi1/class.tx_dmmjobcontrol_pi1.php

Ersetzt die Zeile 112 mit folgendem Code gegen die XSS-Lücke
$markerArray['###KEYWORD_VALUE###'] = htmlspecialchars($session['search']['keyword'], ENT_QUOTES);

Ersetzt die Zeile 257 mit folgendem Code gegen die SQL-Injection-Lücke:
$whereAdd[] = $table.'.uid_local=tx_dmmjobcontrol_job.uid AND ('.$table.'.uid_foreign='.implode(' OR '.$table.'.uid_foreign=', intval($value)).')';

Montag, 27. Januar 2014

Extension ve_guestbook mit Typo3 6.2 (Beta 4) kompatibel machen

Bekommt ihr, wenn ihr versucht unter Typo3 6.2 (Beta 4) die Extension "ve_guestbook" zum Laufen zu bringen diese Fehlermeldung?

"Fatal error: require_once(): Failed opening required 'PATH_t3libclass.t3lib_tcemain.php' ...?

Ähnlich wie beim vorherigen Posting zum Thema T3jquery und Typo3 6.2 Beta, wird hier in der Extension eine veraltete Klasse aufgerufen, die es nicht mehr gibt. Hier eine Anleitung, wie ihr das umgehen könnt, bis eine angepasste Version der Extension veröffentlicht wird.

Öffnet dazu die Datei /typo3conf/ext/ve_guestbook/pi1/class.tx_veguestbook_pi1.php (Sicherheitskopie anlegen!) und verändert den Code in Zeile 31 von

require_once (PATH_t3lib . "class.t3lib_tcemain.php");

zu

require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('core') . 'Classes/DataHandling/DataHandler.php';

Fertig! Jetzt sollte die Extension wieder Laufen

---------------------------------
Update vom 23. April 2014:

in der oben genannten Datei müsst ihr auch in Zeile 25 den Code

require_once (PATH_tslib . "class.tslib_pibase.php");

durch diesen Code ersetzen:

require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('frontend') . 'Classes/Plugin/AbstractPlugin.php';
----------------------------------------