<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WeizenSpr.eu &#187; Studium</title>
	<atom:link href="http://weizenspr.eu/kategorie/studium/feed/" rel="self" type="application/rss+xml" />
	<link>http://weizenspr.eu</link>
	<description>trennt Spreu vom Weizen</description>
	<lastBuildDate>Thu, 29 Jul 2010 01:40:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Herr Bachelor of Science&#8230; with Honours!</title>
		<link>http://weizenspr.eu/2010/herr-bachelor-of-science-with-honours/</link>
		<comments>http://weizenspr.eu/2010/herr-bachelor-of-science-with-honours/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 15:02:00 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=5592</guid>
		<description><![CDATA[Soderle, dies dürfte vorerst der letzte Artikel zu meinem Studium sein. Gerade ist nämlich mein Bachelor aus England angekommen   . Da ich diesen jedoch für die gleiche Studienleistung wie den ersten verliehen bekommen habe, darf ich die beiden nicht parallel tragen, sondern nur abwechselnd.  
Was mir an dem englischen Bachelor gegenüber dem [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Soderle, dies dürfte vorerst der letzte Artikel zu meinem Studium sein. Gerade ist nämlich mein Bachelor aus England angekommen <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . Da ich diesen jedoch für die gleiche Studienleistung wie <a href="http://weizenspr.eu/2009/herr-bachelor-of-science/" target="_blank" class="liinternal">den ersten</a> verliehen bekommen habe, darf ich die beiden nicht parallel tragen, sondern nur abwechselnd. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_5594" class="wp-caption aligncenter" style="width: 235px"><a href="http://weizenspr.eu/uploads/IMG_0964.jpg" target="_blank" class="liimagelink"><img src="http://weizenspr.eu/uploads/IMG_0964-225x300.jpg" alt="" title="IMG_0964" width="225" height="300" class="size-medium wp-image-5594" /></a><p class="wp-caption-text">Bachelor Degree der OU London</p></div>
<p>Was mir an dem englischen Bachelor gegenüber dem deutschen gefällt, ist, dass es sich dabei um einen Bachelor <em>with Honours</em> handelt &#8211; er also mit besonderer Leistung abgeschlossen worden ist. Ich kann mich jetzt also entscheiden, ob ich ein &#8220;B.Sc.&#8221; oder aber ein &#8220;BSc (Hons)&#8221; an meinen Namen anfüge. <em>Welche Variante findet ihr besser?</em><br/><br />
<strong>Akademische Grüße, Kenny, BSc (Hons)</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2010/herr-bachelor-of-science-with-honours/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Herr Bachelor of Science</title>
		<link>http://weizenspr.eu/2009/herr-bachelor-of-science/</link>
		<comments>http://weizenspr.eu/2009/herr-bachelor-of-science/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 07:23:19 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=3141</guid>
		<description><![CDATA[Tjaha! Nach nun mehr 3 Jahren Studium wurde mir letzten Freitag im mannheimer Rosengarten offiziell mein erster akademischer Grad &#8211; der Bachelor of Science &#8211; verliehen!  
Damit darf ich nun das Kürzel B.Sc. tragen, was sich auch bereits im Impressum niedergeschlagen hat   .
Allerdings wird es dabei wahrscheinlich nicht bleiben &#8211; ich überlege [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Tjaha! Nach nun mehr 3 Jahren Studium wurde mir letzten Freitag im mannheimer <a href="http://www.rosengarten-mannheim.de/" target="_blank" class="liexternal">Rosengarten</a> offiziell mein erster akademischer Grad &#8211; der <strong>Bachelor of Science</strong> &#8211; verliehen! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_3143" class="wp-caption aligncenter" style="width: 327px"><a href="http://weizenspr.eu/uploads/img_3650.jpg" target="_blank" class="liimagelink"><img src="http://weizenspr.eu/uploads/img_3650-150x150.jpg" alt="Bachelor-Urkunde" title="img_3650" width="150" height="150" class="size-thumbnail wp-image-3143" /></a> <a href="http://weizenspr.eu/uploads/img_3652.jpg" target="_blank" class="liimagelink"><img src="http://weizenspr.eu/uploads/img_3652-150x150.jpg" alt="Bachelor-Urkunde" title="img_3652" width="150" height="150" class="size-thumbnail wp-image-3144" /></a><p class="wp-caption-text">Bachelor-Urkunde</p></div>
<p>Damit darf ich nun das Kürzel <strong>B.Sc.</strong> tragen, was sich auch bereits im <a href="http://weizenspr.eu/impressum/" target="_blank" class="liinternal">Impressum</a> niedergeschlagen hat <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .</p>
<p>Allerdings wird es dabei wahrscheinlich nicht bleiben &#8211; ich überlege nämlich neben dem Beruf ein Master-Studium aufzunehmen und dieses dann später um ein PhD-Studium zu erweitern. Das ist jedoch alles noch Zukunftsmusik: Erst einmal muss ich mich an meine neue Arbeit gewöhnen und sehen, wieviel Zeit nebenbei für ein Studium bliebe.</p>
<p>Als nächstes erwartet mich eine kleine Überraschung aus England, über die ich natürlich berichten werde, sobald sie aktuell werden sollte. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<br/><br />
<strong>Akademische Grüße, Kenny B.Sc.</strong></p>
<p>Für die Verleihung habe ich übrigens im <a href="http://park-inn-mannheim.de/" target="_blank" class="liexternal">Park Inn</a> Hotel in Mannheim übernachtet. Es war zwar nicht das billigste Hotel oder das, das am nächsten am Wasserturm liegt, aber dafür war es dort sehr schön, sauber, ruhig und gemütlich <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ! Ich hatte sogar ein Wannenbad und ein riesiges Doppelbett für mich allein <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  . Deshalb ist es in meinen Augen durchaus zu empfehlen <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .</p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/herr-bachelor-of-science/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Eeendlich Urlaub!</title>
		<link>http://weizenspr.eu/2009/eeendlich-urlaub/</link>
		<comments>http://weizenspr.eu/2009/eeendlich-urlaub/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 08:38:04 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2677</guid>
		<description><![CDATA[Kaum zu glauben, wir haben nun bereits Mitte September und das Ende des Studiums steht kurz bevor. Gestern habe ich die letzten Unterlagen per Post an die Duale Hochschule abgeschickt: Meine Studienarbeit I (Archivkopie), meine Studienarbeit II (Archivkopie und Bewertungskopie) und meinen letzten Praxisbericht.
Habe schlappe 12,20€ bei der Post für 4 Einwurfeinschreiben zurückgelassen, aber um [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Kaum zu glauben, wir haben nun bereits Mitte September und das Ende des Studiums steht kurz bevor. Gestern habe ich die letzten Unterlagen per Post an die Duale Hochschule abgeschickt: Meine Studienarbeit I (Archivkopie), meine Studienarbeit II (Archivkopie und Bewertungskopie) und meinen letzten Praxisbericht.<br />
Habe schlappe 12,20€ bei der Post für 4 Einwurfeinschreiben zurückgelassen, aber um endlich alle Dokumente aus dem Haus zu haben, war mir das Wert. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Da das doch einige Seiten waren und zumindest die Bewertungskopie der Studienarbeit II gebunden werden musste, habe ich vorher dem <a href="http://www.kopierladen-berlin.de/" target="_blank" class="liexternal">Kopierlanden</a> an der Frankfurter Allee mal wieder einen Besuch abgestattet. Seit die mir dort &#8211; auf gut Deutsch &#8211; den Arsch bei meiner Bachelorthesis gerettet haben, sind meine Familie und ich dort sozusagen Stammkunde.<br />
Kleine Anekdote am Rande: Meine Bachelorthesis musste damals Samstag gedruckt und gebunden werden, um am Montag abgegeben werden zu können. Hatte mir dazu einen Copyshop in Kreuzberg ausgesucht, der allerdings schon geschlossen &#8211; trotz anders besprochener Öffnungszeiten. Sind dann auf dem Rückweg am <a href="http://www.kopierladen-berlin.de/" target="_blank" class="liexternal">Kopierlanden</a> vorbeigekommen, die zehn vor acht noch 200 Seiten gedruckt und zwei Buchbindungen gemacht hatten.</p>
<p>Und nun ist es soweit: Ich habe derzeit nichts mehr zu tun, habe Urlaub und liege in meinem gemütlichen Bettchen in Berlin. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<br/><br />
<strong>Urlaubige Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/eeendlich-urlaub/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Der Schrecken der Nacht: Consulting + Marketing + Sales</title>
		<link>http://weizenspr.eu/2009/der-schrecken-der-nacht-consulting-marketing-sales/</link>
		<comments>http://weizenspr.eu/2009/der-schrecken-der-nacht-consulting-marketing-sales/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 12:06:13 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2637</guid>
		<description><![CDATA[Heute habe ich mit den &#8211; für mich &#8211; schlimmsten Themen meines Studiums abgeschlossen: Consulting, Marketing und Sales. Zwar wurde uns eindrucksvoll gezeigt, dass das ganze in der Realität doch nicht so schlimm ist, eine theoretische Klausr ist dann allerdings doch noch einmal was anderes. Was ich in der Klausur haben werde, weiß ich noch [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Heute habe ich mit den &#8211; für mich &#8211; schlimmsten Themen meines Studiums abgeschlossen: <strong>Consulting, Marketing und Sales</strong>. Zwar wurde uns eindrucksvoll gezeigt, dass das ganze in der Realität doch nicht <em>so</em> schlimm ist, eine theoretische Klausr ist dann allerdings doch noch einmal was anderes. Was ich in der Klausur haben werde, weiß ich noch nicht &#8211; da habe ich etwas gemischte Gefühle. Allerdings wollte ich meine Lösung zu einer der Aufgaben nicht vorenthalten: Da es die letzte Aufgabe war und ich danach noch ein bisschen Zeit hatte, habe ich mir die Freiheit genommen, die Lösung noch einmal für mich abzuschreiben.</p>
<p>Ich sage nur: <strong>Viel Spaß beim <a href="http://de.wikipedia.org/wiki/Bullshit-Bingo" target="_blank" rel="nofollow" class="liwikipedia">Bullshit-Bingo</a>!</strong> <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<blockquote><p><em>Produktkommunikation ist &#8211; im Gegensatz zu Public Relations, das auch zur Imageverbesserung des Unternehmens dient &#8211; rein produktspezifisch. Sie findet nicht nur in der Werbung statt, sondern befindet sich auch auf der Verpackung, dem Beipackzettel und wird &#8211; z.B. bei verkaufsfördernden Maßnahmen (wie Verkaufsständen im Supermarkt) &#8211; durch Verkäufer und Promoter als Teil ganzheitlicher Marketingkonzepte dem Kunden nähergebracht.<br />
Es werden jedoch auch &#8211; manchmal ungewollte &#8211; Marktmechanismen aktiv, wenn die Kundenzufriedenheit ausreicht, um die Erstkaufrate zu steigern, ohne, dass weitere absatzfördernde Maßnahmen notwendig wären. Dieses virale Marketing (Kaufanimierung durch Kunden) ist vor allem in Zeiten des Internets eine treibende Kraft, da es sehr leicht möglich ist &#8211; z.B. über Google &#8211; herauszufinden, welche Bedarfe alles gedeckt werden könnten. Dies ist bereits soweit gewachsen, dass Amazon in Teilen Amerikas bereits Verbrauchsgüter des täglichen Bedarfs per Onlinebestellung anbietet. In Deutschland würde dies wahrscheinlich am 14-Tage-Rückgaberecht bei Fernabsatzgeschäften scheitern.</em><br />
(Kevin Niehage, 25.08.2009)</p></blockquote>
<p><br/><br />
<strong>Schreckliche Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/der-schrecken-der-nacht-consulting-marketing-sales/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Update] Studienarbeit: Erste Lebenszeichen</title>
		<link>http://weizenspr.eu/2009/studienarbeit-erste-lebenszeichen/</link>
		<comments>http://weizenspr.eu/2009/studienarbeit-erste-lebenszeichen/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 21:39:14 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2627</guid>
		<description><![CDATA[Hachja! Ist das schön, wenn man an einem Projekt arbeitet und irgendwann endlich mal irgendeine Reaktion der Anwendung verzeichnen kann.  
Gerade arbeite ich mal wieder an meiner Studienarbeit und sehe das erste Mal, das auch wirklich etwas passiert &#8211; einfach grandios!  
Was das sein soll?! Das kann man doch erkennen: Ein Forum!
Was man [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Hachja! Ist das schön, wenn man an einem Projekt arbeitet und irgendwann endlich mal irgendeine Reaktion der Anwendung verzeichnen kann. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Gerade arbeite ich mal wieder an meiner Studienarbeit und sehe das erste Mal, das auch wirklich etwas passiert &#8211; einfach grandios! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<div id="attachment_2628" class="wp-caption aligncenter" style="width: 310px"><a href="http://weizenspr.eu/uploads/pesd_first.png" target="_blank" class="liimagelink"><img src="http://weizenspr.eu/uploads/pesd_first-300x281.png" alt="PESD: First Impression" title="pesd_first" width="300" height="281" class="size-medium wp-image-2628" /></a><p class="wp-caption-text">PESD: First Impression</p></div><br />
Was das sein soll?! Das kann man doch erkennen: <strong>Ein Forum!</strong></p>
<p>Was man auf dem Bild sehen kann, sind die ersten Lebenszeichen der Template-Engine: Anstatt im Quelltext direkt zu hinterlegen, wie die Seite aussehen soll, werden die einzelnen Teile aus Template-Dateien gelesen und entsprechend umgesetzt.</p>
<p>Alle Nachrichten können bereits über deren Message-ID abgefragt werden. Dabei wird geguckt, ob eine Nachricht eine Kategorie darstellt, oder eine echte Frage (bzw. eine Antwort auf eine Frage) ist! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Was man sieht, ist der merkwürdige Benutzername <em>MISSING</em> &#8211; das kommt daher, dass intern noch nicht alles verdrahtet ist. Genauer gesagt: Das Forum ist noch nicht an das eigentliche System &#8211; <em>PESD</em> &#8211; gekoppelt.</p>
<p><strong>PESD</strong> ist das Akronym für <em>PHP: Enhanced Security for Databases</em>. Dabei handelt es sich um ein Framework für die Erstellung sicherer Datenbankanwendungen in PHP. <em>Sicher</em> bedeutet hier, dass, auch wenn der Quelltext der Anwendung kompromitiert wird, ein Angreifer immernoch keinen Vollzugriff auf die darunter liegende Datenbank erhalten kann.</p>
<p>Dafür wird im Quelltext lediglich der Zugang zu einem Minimalaccount hinterlegt, der über eine Stored Procedure für den Login die Zugangsdaten für höherwertige Accounts abrufen und sich dann dadurch mehr Rechte verschaffen kann.<br />
Auch die Datenbankabfragen und -manipulationen höherer Accounts sind durch (automatisch erzeugte) Stored Procedures gekapselt, sodass intern ein Data-Ownershipmodell durchgesetzt werden kann.</p>
<p>Wünscht mir Glück, dass ich die primären Ziele bis zum 11.09.2009 erreiche <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  . Ich werde euch inzwischen auf dem Laufenden halten!<br />
<br/><br />
<strong>Update:</strong><br />
Beinahe vergessen es zu erwähnen: Ein massiver Vorteil von PESD gegenüber anderen &#8211; oder garkeinen &#8211; Systemen ist, dass die Anwendung gegen SQL-Injections abgehärtet wird! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
Dadurch, dass im Normalbetrieb (z.B. Foreneinträge lesen) keine höheren Privilegien gebraucht werden, werden auch keine schadhaften Änderungen zugelassen oder der Zugriff auf sensitive Daten bereitgestellt.<br />
<br/><br />
<strong>Lebendige Grüße, Kenny</strong></p>
<p>Anmerkung an mich selbst: Da für Benutzer der gleichen Ebene derselbe Datenbank-Account verwendet wird, muss ein anderer Weg gefunden werden, um im Backend mit Sicherheit feststellbar sein, wer gerade den Account verwendet. Lösungsidee ist das verwenden einer Unique ID, die während dem Login zurückgegeben wird. Diese ist zeitlich begrenzt gültig und wird bei weiteren Calls anstelle der User-Credentials übergeben, um den tatsächlichen Benutzer zu bestimmen.</p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/studienarbeit-erste-lebenszeichen/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Termine, Termine, Termine</title>
		<link>http://weizenspr.eu/2009/termine-termine-termine/</link>
		<comments>http://weizenspr.eu/2009/termine-termine-termine/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:31:30 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2620</guid>
		<description><![CDATA[Soderle! Nachdem ich nun langsam aus den Augen verloren habe, was in der nächsten Zeit alles ansteht, habe ich nun endlich mal meinen Terminkalender auf den neusten Stand gebracht.
Wie man rechts in der Leiste sehen kann, ist das doch schon einiges. Oberste Priorität haben zur Zeit die Klausuren &#8211; davon stehen nächste Woche noch 3 [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Soderle! Nachdem ich nun langsam aus den Augen verloren habe, was in der nächsten Zeit alles ansteht, habe ich nun endlich mal meinen Terminkalender auf den neusten Stand gebracht.</p>
<p>Wie man rechts in der Leiste sehen kann, ist das doch schon einiges. Oberste Priorität haben zur Zeit die Klausuren &#8211; davon stehen nächste Woche noch 3 Stück an: Interaktive Systeme, Consulting und Advanced Interculturual Communication. Danach ist das letzte Theoriesemester meines Bachelorstudiums gelaufen! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Nächsthöhere Priorität haben dann die einzelnen Arbeiten, die noch erledigt werden wollen: Ein <a href="http://de.wikipedia.org/wiki/E-Learning" target="_blank" rel="nofollow" class="liwikipedia">E-Learning</a> zum Thema <em>Mobile Commerce</em>, meine Studienarbeit mit dem Thema PESD (<em>PHP: Enhanced Security for Databases</em>), sowie der Praxisbericht zum letzten Praxiseinsatz.</p>
<p>Die Sales-Schulung vom 31. August bis zum 4. September und die SAP-Schulung vom 9. September bis 11. September läuft da eher nebenbei. Das schöne: Ab dem 14. September bis zum 30 September habe ich dann Urlaub! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
In diesen fällt dann auch der Studienabschluss bei meiner Ausbildungsfirma und mein Rück(um)zug nach Berlin. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ihr glaubt garnicht, wie froh ich bin, wenn ich am 1. Oktober meine neue Arbeit aufnehme und weiß, dass nach dem Feierabend dann auch wirklich Feierabend ist! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Kein Lernen, keine Projekte, einfach nur freeeiii&#8230; <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<br/><br />
<strong>Terminierende Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/termine-termine-termine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Es geht voran&#8230;</title>
		<link>http://weizenspr.eu/2009/es-geht-voran/</link>
		<comments>http://weizenspr.eu/2009/es-geht-voran/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 20:09:19 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2583</guid>
		<description><![CDATA[Heute habe ich so viel getan und trotzdem ist kein Ergebnis für&#8217;s Studium bei rausgekommen. Aber es war trotzdem wichtig, wertvoll und wird mir in ein paar Wochen genau diese Zeit ersparen.  
Zuerst einmal war ich heute morgen bei der Post und habe ein Einwurfeinschreiben losgeschickt &#8211; nach Meckenheim. Inhalt war mein Arbeitsvertrag, der [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Heute habe ich so viel getan und trotzdem ist kein Ergebnis für&#8217;s Studium bei rausgekommen. Aber es war trotzdem wichtig, wertvoll und wird mir in ein paar Wochen genau diese Zeit ersparen. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Zuerst einmal war ich heute morgen bei der Post und habe ein Einwurfeinschreiben losgeschickt &#8211; nach Meckenheim. Inhalt war mein Arbeitsvertrag, der gestern Mittag nach Wochen des Wartens endlich eingetrudelt war. Es hatte mich ein bisschen gewundert: Damals der Vertrag für das Duale Hochschulstudium benötigte nur eine einzige Unterschrift <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  ! Dieses Mal waren es geradezu Berge an Papieren und Formularen mit allen möglichen Erklärungen und Angaben.<br />
<div id="attachment_2584" class="wp-caption aligncenter" style="width: 310px"><a href="http://weizenspr.eu/uploads/img_3543.jpg" target="_blank" class="liimagelink"><img src="http://weizenspr.eu/uploads/img_3543-300x225.jpg" alt="Vertragsunterlagen" title="img_3543" width="300" height="225" class="size-medium wp-image-2584" /></a><p class="wp-caption-text">Vertragsunterlagen</p></div></p>
<p>Tja, wie das Leben halt manchmal so spielt: Eine Stunde, nachdem ich den Vertrag bei der Post abgegeben hatte, rief mich eine Abteilung aus Stuttgart an. Diese hatte mich schon einmal vor über 4 Wochen um einen Termin gebeten, da sie sich vorstellen konnten, mich einzustellen. Damals wussten sie allerdings noch nicht, ob sie überhaupt die Freigabe bekommen würden, einen Vertrag auszustellen.<br />
Lange Rede, kurzer Sinn: Diese Abteilung sollte heute endlich die Freigabe für das Ausstellen eines Arbeitsvertrags erhalten &#8211; leider zu spät, um mich an Board zu holen. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Tjoah, nun aber weiter im Tagesgeschehen: Nachdem der Vertrag also schonmal auf dem Weg war, habe ich mich um weitere Dokumente gekümmert. Zum einen benötigt mein neuer Arbeitgeber eine Mitgliedsbestätigung meiner Krankenkasse &#8211; das ganze war in ein paar Minuten erledigt: Die schicken das Schreiben sogar direkt an die Firma &#8211; dadurch spare ich mir Zeit und Portokosten! Sehr schön zu sehen ist auch, dass einige Firmen immernoch normaler Festnetznummern angeben &#8211; das spart einem bei einer Festnetzflat einiges an Schotter.</p>
<p>Neben dieser Bestätigung benötigt die Firma zudem (vorerst) eine Kopie meiner Lohnsteuerkarte. Leider Gottes hat die zur Zeit natürlich mein derzeitiger Arbeitgeber. Also in meinem zuständigen Sekretariat in Mainz angerufen, zur Personalabteilung nach Berlin weitervermittelt worden und von dort in die Buchhaltung in Stuttgart abgeschoben worden. Dort wurde mir dann endlich gesagt, dass man sich mit so etwas am besten per Mail an die Gehaltsabrechnungsstelle wendet. Auf deren Antwort warte ich nun. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Danach wollte ich mich noch um die Kündigung meines Stromanschlusses für Ende September kümmern. Also bei der MVV Energie angerufen: Dort erzählte man mir, dass man einfach nur nach dem Auszug dort anrufen und den letzten Zählerstand angeben müsse. Die Endabrechnung würde dann an die neue Adresse geschickt werden. Na wenn das mal kein unkomplizierter Kündigungsvorgang ist, dann weiß ich auch nicht mehr! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Den restlichen Kram konnte ich dann leider nicht mehr telefonisch oder online klären. Also ab durch die Hecke zur Sparkasse. Dort habe ich mich beraten lassen, wie ich am besten mit meinem Girokonto verfahre. Schlussendlich habe ich mich dazu entschieden, das Dingen erstmal zu behalten (ist bis 28 kostenlos) und nur die Adresse, auf die das Konto läuft, auf meine berliner Adresse umschreiben zu lassen.<br />
So kann ich dann später &#8211; wenn ich wieder hauptsächlich mein berliner Konto nutze &#8211; sehen, welche Lastschriftaufträge dort noch auflaufen und diese dann entsprechend auf mein berliner Konto umbiegen.</p>
<p>Abschließend war ich sogar noch beim Bürgeramt und habe mich dort abgemeldet &#8211; vordatiert auf Ende September natürlich. So spare ich mir später diesen Behördengang.</p>
<p>Als nächstes werde ich dann noch meine McFit-Migliedschaft kündigen (es gibt ein Sonderkündigungsrecht, wenn man umzieht) und meine Verträge, die auf meine mannheimer Adresse laufen, umschreiben lassen. Damit sollte der Umzug dann so gut wie fertig sein.</p>
<p>Achja! Da fällt mir eine Kleinigkeit ein: Die Post bietet einen sogenannten <strong>Nachsendeauftrag</strong> an. Durch diesen werden Postsendungen, die an die <em>alte Adresse</em> geschickt werden, automatisch auf die <em>neue Adresse</em> umgeleitet. Allerding sollte man aufpassen: Die Post ist mit einem Adressverkäufer verbandelt, der diese Daten natürlich gerne an zahlende Kundschaft weitervertickt.<br />
Deswegen sollte man am besten nur den temporären Auftrag (geht max. 6 Monate, afaik) einreichen &#8211; ich denke mal, so wird evtl. angenommen, dass die alte Adresse aktuell bleibt. Ich hoffe es zumindest! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<br/><br />
<strong>Dokumentarische Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/es-geht-voran/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Update] Die Zukunft der IT&#8230; vielleicht&#8230;</title>
		<link>http://weizenspr.eu/2009/die-zukunft-der-it-vielleicht/</link>
		<comments>http://weizenspr.eu/2009/die-zukunft-der-it-vielleicht/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 11:10:50 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Weizen]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2491</guid>
		<description><![CDATA[Da wären wir endlich beim Artikel des Monats August. Lange hat&#8217;s gedauert &#8211; und Schuld daran ist mein zukünftiger Arbeitgeber   . Wie ich ja angekündigt hatte, wollte ich eigentlich alle 8 Bücher im Gewinnspiel unter die Leute bringen, wenn ich endlich meinen Vertrag unterschrieben habe.
Nun, erstens kommt es immer anders und zweitens als [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Da wären wir endlich beim Artikel des Monats August. Lange hat&#8217;s gedauert &#8211; und Schuld daran ist mein zukünftiger Arbeitgeber <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  . Wie ich ja <a href="http://weizenspr.eu/2009/guess-what-gewinnspiel/" target="_blank" class="liinternal">angekündigt</a> hatte, wollte ich eigentlich alle 8 Bücher im Gewinnspiel unter die Leute bringen, wenn ich endlich meinen Vertrag unterschrieben habe.</p>
<p>Nun, erstens kommt es immer anders und zweitens als man denkt. Denn eigentlich hätte ich den Vertrag längst in meinen Händen, wenn&#8230; ja wenn die Firma es geschafft hätte, das zu tun, worum ich sie gebeten hatte &#8211; nämlich den Vertrag nach <strong>Mannheim</strong> zu schicken, da ich ja zur Zeit Vorlesungen habe. Aber nein&#8230; irgendwer hat anscheinend mal wieder geschlafen und so bekam ich am Freitag einen Anruf von meinen Eltern, dass Unterlagen von der Firma in <strong>Berlin</strong> angekommen seien.<br />
Jetzt haben sie den Umschlag gestern noch zur Post gebracht, weshalb ich gehofft hatte, dass er heute ankommen würde. Die Postfrau kam, aber sie hatte keinen Brief für mich <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  . Allerdings will ich nur noch ungern bis Montag mit der Veröffentlichung des Artikels warten. Nunja, weiter im Text&#8230;</p>
<p>Ich möchte noch einmal ein Dankeschön an <a href="http://hannes-schurig.de/06/08/2009/2-coole-gewinnspiele-dan-brown-bucher-und-kostenlose-banner-gewinnen/" target="_blank" class="liexternal">Hannes Schurig</a> loswerden, der noch einmal kurz vor Schluss die Werbetrommel für mich rühren wollte und damit das Gewinnspiel um einen Tag verlängert hatte. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Die Bekanntgabe des Gewinners wird, wie beim <a href="http://weizenspr.eu/2009/gewinnspiel-auswertung/" target="_blank" class="liinternal">letzten Mal</a>, in einem seperaten Artikel erfolgen.</p>
<p>Da bei mir zur Zeit alles in Richtung Ende des Studiums und zum neuen Arbeitsplatz verläuft, habe ich mal Überlegungen angestellt, wie meine Arbeit sich wohl in den nächsten 40 Jahren verändern könnte. Welche Hardware werden wir im Alltag verwenden? Wie wird die dazugehörige Software aussehen? Wie werden wir mit der Technik interagieren?</p>
<p>Gleich am Anfang möchte ich mich gegen einen Trend aussprechen: Das Internet. Ja, das Internet ist toll, ich verbringe selbst eine Menge Zeit im WWW und bin auch politisch aktiv, um (u.a.) die Bürgerrechte in diesem noch recht jungen Medium zu stärken. Mit dem Web 2.0 ist es für jeden möglich geworden, Inhalte zu publizieren und für deren Verbreitung zu sorgen.<br />
Und das sage ich nicht einfach so: Ich habe schon früh erste Gehversuche mit eigenen Webseiten gemacht und es war nie sonderlich leicht, einen halbwegs passablen Kommunikationskanal zu öffnen. Oft blieb es dabei, dass nur wenige Leute Notiz von den eigenen Inhalten genommen haben &#8211; meist blieb die Webseite im reinen Freundeskreis. Erst jetzt ist es auch für den kleinen Bürger möglich, Netzwerke zu knüpfen, Ideen zu verbreiten und wirklich gefunden zu werden.</p>
<p>Das ist toll und ich denke, dass uns das Internet auch weiterhin als Informationsquelle und als Grundlage unserer Kommunikationswege erhalten bleiben wird.<br />
Was ich allerdings nicht glaube oder &#8211; vielleicht eher &#8211; hoffe, ist, dass das Internet die Antwort auf die Frage sein wird, wo zukünftig Anwendungen ausgeführt werden. Das mag durchaus einher gehen mit meiner <a href="http://weizenspr.eu/2009/cloud-computing-die-neue-it-wunderwaffe/" target="_blank" class="liinternal">Einstellung zum Cloud Computing</a>.</p>
<p>Ja, es gibt Ansätze wie z.B. <a href="http://prism.mozilla.com/" target="_blank" class="liexternal">Prism</a> (ein WebApp-Container) und auch Google versucht, mit seinem (zur Zeit in der Entwicklung befindlichen) Betriebssystem <a href="http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html" target="_blank" class="liexternal">Chrome OS</a> eine Plattform zu schaffen, auf der sich Anwendungen im Web abspielen. Wirklich repräsentativ ist das allerdings nicht. Ich meine: Was will denn Mozilla &#8211; als überwiegender Browsergigant &#8211; sonst großartiges machen, außer ein neues Browserkonzept auszuprobieren? Und Google erst &#8211; was anderes als Marktmacht im Internet haben sie doch kaum. Da ist es doch klar, dass sie darauf drängen, Anwendungen ins Web zu verlagern!</p>
<p>Ich persönlich denke, dass das Web die Desktopanwendungen nicht ablösen wird. Hier und da wird es evtl. kleinere Formate geben, die ihre Funktionalität ausschließlich durch Webapplikationen erlangen. Solange man immer im Internet unterwegs ist, mag das praktikabel sein &#8211; zumindest so lange, bis man sich Gedanken darüber macht, wer denn nun noch alles Zugriff auf die eigenen Dateien (Briefe, etc.) hat.<br />
Vor allem für unterwegs &#8211; wo es auch mal vorkommen kann, dass man eben kein Internet hat &#8211; würde so ein Konzept jedoch nicht tragfähig sein. Man stelle sich mal vor, man macht eine Dienstreise in die Pampa und plötzlich hat man keine seiner Dokumente mehr oder kann die Präsentation nicht halten, weil man kein <a href="http://www.openoffice.org/product/impress.html" target="_blank" class="liexternal">Impress</a> auf dem Rechner hat. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Aber da wir gerade beim <em>unterwegs sein</em> sind: Ich denke, dass das Handy eine immer größer werdende Rolle spielen wird. Es liegt zwar noch ein Stückchen vom Weg vor uns, aber den Großteil haben wir, denke ich, schon geschafft! <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Wenn ich mit Leuten &#8211; abgesehen von JHB &#8211; darüber rede, dass es in naher Zukunft möglich sein wird, den Rechner (z.B. das Laptop) durch ein Handy zu ersetzen, kommt meist die Aussage, dass die Geräte doch noch viel zu leistungsschwach sind. Das mag stimmen, jedoch sind wir auf dem Weg der Besserung &#8211; die <a href="http://www.zdnet.de/news/wirtschaft_investition_hardware_toshiba_zeigt_erstes_smartphone_mit_1_ghz_prozessor_story-39001021-41000016-1.htm" target="_blank" class="liexternal">1GHz Marke</a> haben wir schon erreicht!</p>
<p>Was bisher fehlt, sind ordentliche Bedien- und Darstellungskonzepte für das Handy &#8211; und damit meine ich nicht herausziehbare Tastaturen oder Touchscreens. Es muss eine Möglichkeit gefunden werden, dass man das Handy wirklich wie einen PC benutzen kann: Und dabei geht es mir vor allem um die Effizienz. Natürlich, man kann mit der Bildschirmtastatur des iPhone arbeiten, aber dabei ist man weit davon entfernt, so schnell zu arbeiten, wie mit einer echten Tastatur. Ebenso ist der Bildschirm für eine längere Arbeitsphase viel zu klein.</p>
<p><a href="http://www.netzwelt.de/news/77962-hosentaschen-beamer-erstes-handy-projektor.html" target="_blank" class="liexternal">Projektoren im Handy</a> könnten eine Lösung für dieses Problem darstellen, doch auch ein einfacher (kleiner) Monitoranschluss am Handy, der meinetwegen eine Auflösung von 1024&#215;768 Pixel liefert, sollte für den Anfang ausreichen. In Verbindung mit einer Bluetooth-Tastatur oder gar einer <a href="http://www.zdnet.de/mobiles_drahtloses_arbeiten_wireless_lan_wlan_projektions_tastatur_celluon_laserkey_cl800bt_review-20000106-39156680-1.htm" target="_blank" class="liexternal">Projektionstastatur</a> könnte man die Bedienbarkeit (und damit die Effizienz) des Handy massiv steigern.</p>
<p>Die Basistechniken sind vorhanden &#8211; wir müssen sie nur noch geschickt zusammenfügen. Es mag hier und da zwar Leute geben, die sagen, sie würden es nicht nötig haben, dass ihr Handy so viel mehr kann als jetzt schon. Aber wenn man zeigen kann, dass sie durch diese Entwicklung garkein anderes Gerät mehr benötigen, dann würde mich mal interessieren, wie die Entscheidung ausfällt. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>Was denkst du? Könntest du dir vorstellen, dein Handy als PC-Ersatz zu verwenden? Wie siehst du die zukünftige Entwicklung von Webanwendungen?</em><br />
<br/><br />
<strong>Update:</strong><br />
Wie ich gerade im <a href="http://nokian95blog.blogspot.com/2007/07/nokia-n95-den-fernseher-anschlieen.html" target="_blank" class="liexternal">Nokia N95 Blog</a> gelesen habe, ist es schon seit 2 Jahren möglich, das N95 per <a href="http://de.wikipedia.org/wiki/Cinch" target="_blank" rel="nofollow" class="liwikipedia">Cinch</a> mit dem Fernseher zu verbinden. Da sage ich nur: <em>Wow!</em> <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Da der Artikel doch schon etwas älter ist, habe ich mal geguckt, ob man so ein Kabel heute auch noch kaufen kann. Ergebnis: Bei <a href="http://www.handyersatzteil.ch/product_info.php?products_id=105" target="_blank" class="liexternal">Handyersatzteil.ch</a> kann man das Dingen immernoch finden. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<br/><br />
<strong>Zukünftige Grüße, Kenny</strong></p>
<p>P.S.: Dieser Text wurde auf einem Laptop mit 1.2GHz-Prozessor und einer Auflösung von 1024&#215;768 verfasst. Es sollte einem zu denken geben. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/die-zukunft-der-it-vielleicht/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Kleine Zwischenmeldung&#8230;</title>
		<link>http://weizenspr.eu/2009/kleine-zwischenmeldung/</link>
		<comments>http://weizenspr.eu/2009/kleine-zwischenmeldung/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 16:56:46 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Guess what?!]]></category>
		<category><![CDATA[Spreu]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2531</guid>
		<description><![CDATA[&#8230;Aus gegebenem Anlass verschiebt sich die Veröffentlichung des Artikel des Monats auf morgen den 08.08.2009. Was genau los ist und wieso die Entwicklung zwar positiv, aber gleichzeitig auch negativ ist, hört ihr dann morgen.
Bis dahin: Nehmt doch ruhig noch am Gewinnspiel teil, das ebenfalls bis morgen weiterläuft! 

Meldende Grüße, Kenny
]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>&#8230;Aus gegebenem Anlass verschiebt sich die Veröffentlichung des Artikel des Monats auf morgen den 08.08.2009. Was genau los ist und wieso die Entwicklung zwar positiv, aber gleichzeitig auch negativ ist, hört ihr dann morgen.</p>
<p>Bis dahin: <em>Nehmt doch ruhig noch am <a href="http://weizenspr.eu/2009/guess-what-gewinnspiel/" target="_blank" class="liinternal"><strong>Gewinnspiel</strong></a> teil, das ebenfalls bis morgen weiterläuft!</em> <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
<br/><br />
<strong>Meldende Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/kleine-zwischenmeldung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Update] WP Mobile Edition und Subdomains</title>
		<link>http://weizenspr.eu/2009/wp-mobile-edition-und-subdomains/</link>
		<comments>http://weizenspr.eu/2009/wp-mobile-edition-und-subdomains/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 11:44:06 +0000</pubDate>
		<dc:creator>Mea Culpa</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Aufbau]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Weizen]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://weizenspr.eu/?p=2500</guid>
		<description><![CDATA[Nachdem ich letztens darüber geschrieben habe, dass ich nun auf WordPress Mobile Edition umgestiegen bin und dort auch erwähnt habe, dass man die Funktionsweise hinter Subdomains verstecken könne, kam die Frage auf, wie man das denn genau machen könne.
Nachdem meine Variante jedoch als nicht allzu toll bezeichnet wurde, habe ich versprochen, mir das ganze nochmal [...]]]></description>
			<content:encoded><![CDATA[<!-- RSPEAK_START --><p>Nachdem ich letztens darüber <a href="http://weizenspr.eu/2009/mobilepress-hat-ausgedient/" target="_blank" class="liinternal">geschrieben</a> habe, dass ich nun auf <em>WordPress Mobile Edition</em> umgestiegen bin und dort auch erwähnt habe, dass man die Funktionsweise hinter Subdomains verstecken könne, kam die <a href="http://weizenspr.eu/2009/mobilepress-hat-ausgedient/#comment-599" target="_blank" class="liinternal">Frage</a> auf, wie man das denn genau machen könne.<br />
Nachdem <a href="http://weizenspr.eu/2009/mobilepress-hat-ausgedient/#comment-600" target="_blank" class="liinternal">meine Variante</a> jedoch als <a href="http://weizenspr.eu/2009/mobilepress-hat-ausgedient/#comment-604" target="_blank" class="liinternal">nicht allzu toll</a> bezeichnet wurde, habe ich <a href="http://weizenspr.eu/2009/mobilepress-hat-ausgedient/#comment-605" target="_blank" class="liinternal">versprochen</a>, mir das ganze nochmal genauer anzusehen.</p>
<p>Wie das, was ich gleich zeigen werde, in der Praxis aussieht, kann man sich testhalber einmal auf <a href="http://mobile.weizenspr.eu/m/" target="_blank" class="liinternal">Mobile.WeizenSpr.eu/m/</a> ansehen. Bitte denkt dabei jedoch daran, dass das Theme nicht an den Test angepasst wurde &#8211; deshalb funktioniert der <em>&#8220;Exit the Mobile Edition&#8221;</em>-Link nicht. Diese kleine Änderung sollte jedoch jeder hinkriegen, der diesem Tutorial hier folgen kann.</p>
<p>Fangen wir zuerst einmal mit der Veränderung des Plugins an. In der <strong>wp-mobile.php</strong> gibt es ein paar tiefere Änderungen zu erledigen:<br />
Bisher ist es so, dass das Plugin durch den Parameter <em>?cf_action=show_mobile</em> erstmal nur einen Wert in einem Cookie setzt und danach die Seite neu lädt. Bei dem Reload wird dann das Cookie gelesen und erkannt, dass die mobile Seite benötigt wird. Wir müssen nun dafür sorgen, dass nicht nur das Cookie gesetzt wird, sondern auch <strong>direkt</strong> die mobile Seite zurückgegeben wird!</p>
<p>Hierfür gehen wir zuerst einmal in die Funktion <strong>cfmobi_check_mobile()</strong> und gehen runter bis zur letzten Zeile:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">return</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'cfmobi_check_mobile'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$mobile</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Direkt über dieser fügen wir folgenden Code-Schnipsel ein:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cf_action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cf_action'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'reject_mobile'</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$mobile</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'show_mobile'</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$mobile</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Um nun zu verhinden, dass der Redirect stattfindet, gehen wir anschließend in die Funktion <strong>cfmobi_request_handler()</strong> und kommentieren dort folgenden Codeblock aus:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$redirect</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_REFERER'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$go</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_REFERER'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$go</span> <span style="color: #339933;">=</span> get_bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'home'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <a href="http://www.php.net/header"><span style="color: #990000;">header</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$go</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Nachdem wir diese Änderungen vorgenommen haben, können wir anfangen, unsere Subdomain entsprechend zu gestalten. Hierfür benötigen wir zuerst einmal eine <strong>.htaccess</strong> Datei, die bei mir wie folgt aussieht:</p>
<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">on</span><br />
<span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">FollowSymLinks</span><br />
<span style="color: #00007f;">RewriteBase</span> /m/<br />
<span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-d<br />
<span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-f<br />
<span style="color: #00007f;">RewriteRule</span> ^(.*)$ index.php [L]</div></td></tr></tbody></table></div>
<p>Wichtig ist die <em>RewriteBase</em>. Diese gibt an, in welchem Unterverzeichnis eure mobile Fassung aktiv werden soll. Wenn ihr direkt im Hauptverzeichnis arbeiten wollt, dann ändert diese einfach in ein einzelnes Slash <strong>/</strong> um. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Nun kommt erstmal ein dicker Batzen an Quelltext &#8211; den ich danach näher erklären werde. Es handelt sich dabei um den Inhalt der <strong>index.php</strong>:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//++ CONSTANTS</span><br />
&nbsp; <span style="color: #000088;">$urlBefore</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://mobile.weizenspr.eu/m&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$urlAfter</span> &nbsp;<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://weizenspr.eu&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$usrAgent</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mobile.weizenspr.eu/m/&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//-- CONSTANTS</span><br />
<br />
&nbsp; <span style="color: #666666; font-style: italic;">//++ FUNCTIONS</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">// taken from http://www.addedbytes.com/php/querystring-functions/</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> add_querystring_var<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/preg_replace"><span style="color: #990000;">preg_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/(.*)(?|&amp;)'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'=[^&amp;]+?(&amp;)(.*)/i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'$1$2$4'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'?'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'?'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_Server<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_is_SSL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTPS&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#40;</span>get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTPS&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'on'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#40;</span>get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">443</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_current_URL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$appendQueryString</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$protocol</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>get_is_SSL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$protocol</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$protocol</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;s&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$protocol</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$protocol</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;://&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$port</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>get_is_SSL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$port</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">.</span> get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$serverName</span> <span style="color: #339933;">=</span> get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$requestURI</span> <span style="color: #339933;">=</span> get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;REQUEST_URI&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$protocol</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$serverName</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$port</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$requestURI</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$appendQueryString</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$queryString</span> <span style="color: #339933;">=</span> get_Server<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;QUERY_STRING&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$position</span> &nbsp; &nbsp;<span style="color: #339933;">=</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">,</span> <span style="color: #000088;">$queryString</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$position</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$position</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;?&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_real_URL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$currentURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$realURL</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> get_current_URL<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$currentURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$realURL</span><span style="color: #339933;">,</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> add_querystring_var<span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;cf_action&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;show_mobile&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #000000; font-weight: bold;">function</span> get_Cookies<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cookieArray</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$cookieArray</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$name</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">.=</span> <a href="http://www.php.net/urlencode"><span style="color: #990000;">urlencode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;=&quot;</span> <span style="color: #339933;">.</span> <a href="http://www.php.net/urlencode"><span style="color: #990000;">urlencode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;;&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//-- FUNCTIONS</span><br />
<br />
&nbsp; <span style="color: #666666; font-style: italic;">//++ IMPLEMENTATION</span><br />
&nbsp; <span style="color: #000088;">$mobileURL</span> <span style="color: #339933;">=</span> get_real_URL<span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlBefore</span><span style="color: #339933;">,</span> <span style="color: #000088;">$urlAfter</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; CURLOPT_AUTOREFERER &nbsp; &nbsp;<span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_COOKIE &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">=&gt;</span> get_Cookies<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_COOKIE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br />
<span style="color: #666666; font-style: italic;">// &nbsp; &nbsp;CURLOPT_FOLLOWLOCATION =&gt; true,</span><br />
&nbsp; &nbsp; CURLOPT_HEADER &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_POST &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_POSTFIELDS &nbsp; &nbsp; <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$_POST</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_RETURNTRANSFER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_SSL_VERIFYHOST <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_SSL_VERIFYPEER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_USERAGENT &nbsp; &nbsp; &nbsp;<span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$usrAgent</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_VERBOSE &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><br />
&nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$mobileAccess</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_init"><span style="color: #990000;">curl_init</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileURL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt_array"><span style="color: #990000;">curl_setopt_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileAccess</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$mobileContent</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_exec"><span style="color: #990000;">curl_exec</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileAccess</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$mobileHeader</span> &nbsp;<span style="color: #339933;">=</span> <a href="http://www.php.net/curl_getinfo"><span style="color: #990000;">curl_getinfo</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileAccess</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_close"><span style="color: #990000;">curl_close</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileAccess</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$textType</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;text&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileHeader</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;content_type&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$textType</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$mobileContent</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlAfter</span><span style="color: #339933;">,</span> <span style="color: #000088;">$urlBefore</span><span style="color: #339933;">,</span> <span style="color: #000088;">$mobileContent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <a href="http://www.php.net/header"><span style="color: #990000;">header</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$mobileHeader</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;content_type&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mobileContent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//-- IMPLEMENTATION</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Ich würde sagen, ich fange bei der Erklärung oben an und arbeite mich nach unten. Wie man sehen kann, gibt es mehrere Abschnitte: CONSTANTS, FUNCTIONS und IMPLEMENTATION.</p>
<p>Für den Endanwender wichtig ist lediglich der Abschnitt CONSTANTS. Dort sind alle Werte hinterlegt, die man eventuell ändern muss:</p>
<ul>
<li>Die Variable <em>$urlBefore</em> gibt an, wie der Anfang sämtlicher mobiler URLs aussieht. Wichtig ist, zu wissen, dass am Ende ein 1:1 Mapping zwischen mobiler und normaler URL stattfindet.</li>
<li>Die Variable <em>$urlAfter</em> gibt den Anfang der normalen URL an. In meinem Fall werden alle URLs der Form <strong>http://mobile.weizenspr.eu/m$1</strong> auf <strong>http://weizenspr.eu$1</strong> umgeschrieben.</li>
<li>Die Variable <em>$usrAgent</em> gibt an, unter welchem Namen die Seite vom Originalserver geladen wird. Das kann zum Beispiel bei der Fehlersuche interessant sein, wenn man sich durch die Serverlogs wuseln darf.</li>
</ul>
<p>Im Abschnitt FUNCTIONS werden einige Funktionen definiert, die später in der Programmlogik benötigt werden:</p>
<ul>
<li>Die Funktion <strong>add_querystring_var()</strong> habe ich mir von <a href="http://www.addedbytes.com/php/querystring-functions/<br />
" target="_blank">hier</a> ausgeliehen. Sie dient dazu, später an die abgefragte URL den Parameter <em>?cf_action=show_mobile</em> anzufügen.</li>
<li>Die Funktion <strong>get_current_URL()</strong> dient dazu, die aktuelle URL herauszufinden. Es wäre auch möglich gewesen, in der <strong>.htaccess</strong> dafür zu sorgen, dass die aktuelle URL als GET-Parameter an die <strong>index.php</strong> gegeben wird &#8211; allerdings hätte es dann evtl. Probleme gegeben, wenn die eigentliche Seite ebenfalls Parameter benötigt.</li>
<li>Die Funktion <strong>get_real_URL()</strong> dient dazu, aus den angegebenen Konstanten die eigentliche mobile URL zu erzeugen, wie sie von <em>WP Mobile Edition</em> erwartet wird.</li>
<li>Die Funktion <strong>get_Cookies()</strong> dient abschließend dazu, aus den zur Verfügung stehenden Cookie-Informationen einen Cookie-String für <em>cURL</em> zu generieren.</li>
</ul>
<p>Nun zur eigentlichen IMPLEMENTATION: So banal es klingen mag, aber im Grunde implementieren wir hier einen Proxy in PHP. Wir holen uns die angeforderte Adresse durch den Querystring der aktuellen Seite, generieren daraus die Adresse der Zielseite, rufen diese mit Hilfe der <a href="http://www.php.net/curl" target="_blank" class="liexternal">cURL</a>-Bibliothek ab und geben diese aus. Es gibt lediglich 3 Feinheiten, die wir beachten müssen:</p>
<ol>
<li>Wir müssen darauf achten, dass wir die Dateien mit dem richtigen <a href="http://de.wikipedia.org/wiki/Content-Type" target="_blank" rel="nofollow" class="liwikipedia">Dateityp</a> weiterreichen. Wenn wir z.B. ein Bild vom fernen Server abrufen, dann müssen auch wir die Datei als Bild weiterreichen und nicht etwa als Textdatei.</li>
<li>Weiterhin ist es wichtig, dass wir nicht vergessen, die <strong>POST</strong>-Informationen, die an den Proxy geschickt werden, auch wirklich an die Ursprungsseite weitergeleitet werden. Ansonsten können wir keine Kommentare schreiben oder anderweitig über Formulare mit der eigentlichen Webseite aggieren.</li>
<li>Zudem müssen wir dafür sorgen, dass wir alle Links auf die eigentliche Originalseite (in <em>$urlAfter</em>) auf die mobile Seite (in <em>$urlBefore</em>) umbiegen. Ansonsten würden wir bei einem Klick auf einen (Artikel-) Link automatisch zur Originalseite geleitet werden. Das wäre jedoch abträglich für die Illusion von einer vollkommen eigenständigen Subdomain.</li>
</ol>
<p>Eine wichtige Änderung muss unbedingt noch vorgenommen werden. In der Datei <strong>wp-comments-post.php</strong> von WordPress werden die eintrudelnden Kommentare verarbeitet. Das funktioniert soweit ganz gut, bis auf eine kleine Ausnahme: Eigentlich wird man nach dem Absenden des Kommentars genau dorthin weitergeleitet. Dies geschieht über diesen Aufruf ganz am Ende des Quelltextes:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wp_redirect<span style="color: #009900;">&#40;</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Diese Weiterleitung funktioniert über den Proxy leider nicht. Ich weiß noch nicht genau weshalb, werde mir das ganze aber in ruhiger Stunde einmal ansehen. Jedenfalls können wir das Problem durch ein Stück eigenen PHP-Code umschiffen. Dafür fügen wir nach besagter Zeile noch folgenden Quelltext ein:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;html&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp;&lt;head&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp; &nbsp;&lt;title&gt;Comment saved.&lt;/title&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp; &nbsp;&lt;meta http-equiv=<span style="color: #000099; font-weight: bold;">\&quot;</span>refresh<span style="color: #000099; font-weight: bold;">\&quot;</span> content=<span style="color: #000099; font-weight: bold;">\&quot;</span>0;url=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$location</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp;&lt;/head&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp;&lt;body&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp; &nbsp;Your comment has been saved.&lt;br/&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp; &nbsp;You will be redirected immediately: &lt;a href=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$location</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;LINK&lt;/a&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &nbsp;&lt;/body&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;/html&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Damit bieten wir dem Proxy (und damit dem mobilen Client) die Möglichkeit, den Redirect selber durchzuführen. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Die einzige Änderung, die man nun noch vornehmen könnte, wäre die, dass mobile Surfer, die auf der Originalseite auftreffen, auf die mobile Subdomain weitergeleitet werden. Wer sich gemerkt hat, dass es in der Datei <strong>wp-mobile.php</strong> die Funktion <strong>cfmobi_check_mobile()</strong> gibt, ist bereits einen großen Schritt näher, die Lösung für dieses Problem zu finden. Ich will euch ja schließlich nicht sämtlichen Spaß nehmen. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Nundann, ich hoffe, diese ausschweifende Beschreibung hat einigen von euch geholfen, ihre mobile Seite noch ein bisschen zu verschönern. Allen, die das ganze absolut nicht interessiert hat, verspreche ich, dass es auch wieder normalere Artikel geben wird. <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Und nicht vergessen: <em>Ich hafte nicht für Schäden an Software, Hardware oder für Vermögensschäden, die durch Anwendung dieser Änderungen entstanden sind oder entstehen könnten.</em> <img src='http://weizenspr.eu/weizenspreu_wordpress29_live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<br/><br />
<strong>Update:</strong><br />
Gerade sind die ersten Errorlogs eingetrudelt, deswegen habe ich noch ein wenig optimiert: Wichtig ist, dass <em>CURLOPT_FOLLOWLOCATION</em> nicht erlaubt ist, wenn der <strong>SafeMode</strong> von PHP aktiviert ist. Zudem habe ich die Funktionen <strong>get_is_SSL()</strong> und <strong>get_current_URL()</strong> umgeschrieben und habe die Funktion <strong>get_Server()</strong> eingeführt. Auf meinem Server ist die Variable <em>$_SERVER["HTTPS"]</em> nicht definiert, weshalb bei jedem Aufruf 2 Fehler ausgeworfen wurden.<br />
<br/><br />
<strong>Update:</strong><br />
Es ist nun möglich, Kommentare über den Proxyclient zu senden. Hierfür ist leider eine kleine Änderung an der WordPress-Datei <em>wp-comments-post.php</em> notwendig.<br />
<br/><br />
<strong>Subdomainige Grüße, Kenny</strong></p>
<!-- RSPEAK_STOP -->]]></content:encoded>
			<wfw:commentRss>http://weizenspr.eu/2009/wp-mobile-edition-und-subdomains/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
