AdWz WP-Plugin 19 – PostProxy

(AdWz; Auf dem Weg zum) WP-Plugin 19 – PostProxy

Die letzten vier Teile der AdWz-Serie haben die Erweiterungen für das Plugin mg404rewrite zur Umsetzung der Idee aus AdWz WP-Plugin 14 – Post beschrieben.

Der HTTP-Response wird kurz vor dem Senden durch das Plugin ausgewertet und in allen Formularen mit der Methode Post wird eine auflösbare URL (Nicht-Permalink) gesetzt.

Im letzten Schritt muss diese auflösbare URL durch ein weiteres Skript (PostProxy) verarbeitet werden.

PostProxy

Das Unbekannte – ein Formular mit der Methode Post an eine Permalink-URL – muss mit übertragenen Daten die ursprüngliche Permalink-Anfrage simulieren.

1
2
3
4
5
6
7
8
9
10
11
<?php
	if (isset($_POST["mg404_posturl"]) && isset($_POST["mg404_level"])) {
		$url =  parse_url($_POST["mg404_posturl"]);
		$_SERVER["REQUEST_URI"] = $url["path"];
		for ($i=0; $i<$_POST["mg404_level"]; $i++) 
			$chdir .= "../";
		chdir($chdir);
		if (is_file("index.php"))
			include("index.php");
	}
?>

Abgesichert durch die Abfragen in Zeile zwei und acht werden zur Simulation der ursprünglichen Permalink-Anfrage die Umgebungsvariable REQUEST_URI überschrieben (Zeile 4) und die Datei index.php von WordPress eingebettet (Zeile 9).

REQUEST_URI wird durch WordPress ausgewertet und sollte wie eine normale mod_rewrite Permalink-Anfrage verarbeitet werden.

weiter …

Das Plugin funktioniert mit der letzten Erweiterung in der lokalen Entwicklungsumgebung. Bevor die neue Version 0.7 auf der Plugin-Seite und im Plugin-Verzeichnis von WordPress.org aktualisiert wird, müssen die Änderungen noch entfernt in der vorgegebenen Umgebung des Providers getestet werden.

Erst einmal eine AdWz-Pause und dann demnächst auch die neue Version …

Tags: , , ,

Hinterlasse eine Antwort