WordPress Themes löschen

Bis WordPress 3.8 war es möglich ein Theme über die Theme-Verwaltung im Backend zu löschen. In neueren WordPress Versionen findet man direkt in der Theme-Verwaltungkeinen Link mehr zum Löschen des Themes.

In den Theme Details findet sich der Link zum löschen

In den Theme Details findet sich der Link zum löschen

Stattdessen wurde der Link etwas verlegt. Um ein Theme zu löschen, müssen im ersten Schritt die Theme Details für das gewünschte Theme aufgerufen werden. Dazu geht man mit der Maus einfach auf das Vorschaubild des Themes und klickt auf den eingeblendeten Link. Anschließend kann man das Theme in den Theme Details löschen.

Certificate pinning im Browser

Beim sogenannten Certificate pinning werden Zertifikate, welche für die Verschlüsselung von Webseiten und anderen Diensten genutzt werden, lokal gespeichert. Dies hat den Vorteil, das dass Zertifikat nicht einfach unbemerkt durch ein anderes Zertifikat ausgetauscht werden kann und erschwert damit das abhören von SSL/TLS-Verbindungen.

Certificate Patrol
Preis: Kostenlos

Leider ist diese Funktionalität in den gängigen Browsern nicht vorhanden. Mit dem Firefox-AddOn Certificate Patrol kann man ein solches Certificate pinning im Browser nachrüsten. Zertifikate müssen dabei einmalig akzeptiert werden – anschließend wird man informiert, wenn sich das Zertifikat ändert. Damit ist es für einen Angreifer wesentlich schwieriger geworden, dem Nutzer falsche Zertifikate unterzuschieben.

jQuery Ajax Abfrage synchron durchführen

Zwar steht AJAX für Asynchronous JavaScript, aber trotzdem kann man solche Abfragen auch synchron durchführen. Mit jQuery kann man das ganze dabei wie folgt bewerkstelligen:

$.ajax({url: "getName.php", 
	type: "get",
	data:{lang:"american"},
	success: function(result){
		name=result;
}, async: false});

Wichtig ist, das der Schlüssel async auf false gesetzt ist – das Verhalten ist in neueren Versionen von jQuery als veraltet gekennzeichnet, kann aber noch genutzt werden.

OpenStreetMap Karten drucken

Bei der freien OpenStreetMap-Karte handelt es sich in erster Linie um einen Online-Dienst. Allerdings hat Papier im Kartenbereich noch nicht ausgedient und so gibt es immer Anwendungsfälle für eine gedruckte Karte.

Eine druckbare Karte wird erzeugt

Eine druckbare Karte wird erzeugt

Möchte man eine solche gedruckte Karte erzeugen, so kann man dies mit dem Dienst MapOSMatic bewerkstelligen. Bei MapOSMatic wählt man im ersten Schritt den gewünschten Bereich aus und arbeitet sich anschließend durch die gewünschten Darstellungsoptionen. Im letzten Schritt wird dann die Karte gerendert und in unterschiedlichen Formaten (PDF, SVGZ, PNG) zum Download angeboten. Weitere Dienste zum Drucken von OpenStreetMap-Karten, mit teilweise anderen Herangehensweisen, sind im OpenStreet Wiki zu finden.

Dateien in PHP rekursiv ermitteln

In PHP gibt es (nach meinem Wissen) keine einfache Methode um die Dateien eines Ordner rekursiv zu ermitteln. Möchte man die Dateien eines Ordners ohne dessen Unterordner ermitteln, so kann man scandir nutzen. Auf Basis dessen, habe ich eine Funktion geschrieben, welche diesen Operation auf Wunsch auch rekursiv ausführt:

function GetFiles($directory, $recursiv)
{	
	if($directory[strlen($directory)-1]!='/') $directory.="/";
	
	$files = array();
	$subDirectories = array();
	
	$scandirFiles = scandir($directory); //Read files

	foreach ($scandirFiles as $file) 
	{
		if($file=="." || $file=="..") continue;

		if(is_dir($directory.$file))
		{
			array_push($subDirectories, $directory.$file);
		}
		else if(is_file($directory.$file))
		{
			array_push($files, $directory.$file);
		}
	}

	 if($recursiv)
	 {
		 foreach ($subDirectories as $dirs) 
		 {
			 $subDirectoryFiles=GetFiles($dirs, $recursiv);
			 $files = array_merge($files, $subDirectoryFiles);
		 }
	 }
	 
	 return $files;
}

Genutzt wird die Funktion wie folgt:

$files = GetFiles('images/', true);

Der Rückgabewert ist ein Array, in welchem die Dateien mit ihren relativen Pfaden enthalten sind.