<?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>Tobias Seckinger</title>
	<atom:link href="http://tobias-seckinger.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://tobias-seckinger.de</link>
	<description>Ein paar Worte zu PHP, Contao, Typo3 und der ganze Rest...</description>
	<lastBuildDate>Sun, 19 Feb 2012 18:04:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Contao 2.11.0 verfügbar</title>
		<link>http://tobias-seckinger.de/2012/02/contao-2-11-0-verfugbar/</link>
		<comments>http://tobias-seckinger.de/2012/02/contao-2-11-0-verfugbar/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:04:34 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Contao]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=760</guid>
		<description><![CDATA[Am 15.02.2012 wurde das Contao 2.11.0 Release veröffentlicht. Das Release ist das erste für die ein &#8220;Long-Term-Support&#8221; gilt, also mindestens 18 Monate gepflegt wird. Es wurde kräftig an Contao gearbeitet. Die wichtigsten Änderungen sind nachfolgend beschrieben: Stylesheets können nun in &#8230; <a href="http://tobias-seckinger.de/2012/02/contao-2-11-0-verfugbar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Am 15.02.2012 wurde das Contao 2.11.0 Release veröffentlicht. Das Release ist das erste für die ein &#8220;Long-Term-Support&#8221; gilt, also mindestens 18 Monate gepflegt wird. Es wurde kräftig an Contao gearbeitet. Die wichtigsten Änderungen sind nachfolgend beschrieben:</p>
<ul>
<li>Stylesheets können nun in die kombinierte CSS-Datei eingefügt werden:
<pre>$GLOBAL['TL_CSS'][] = 'mystyle.css|screen|static';</pre>
</li>
<li>Es gibt einige neue Hooks:
<ul>
<li>sqlCompileCommands</li>
<li>sqlGetFromFile</li>
<li>sqlGetFromDB</li>
<li>getCookie</li>
<li>getRootPageFromUrl</li>
</ul>
</li>
<li>File-/Folder-Klasse: Die Klassen &#8220;File&#8221; und &#8220;Folder&#8221; haben die neuen Funktionen &#8220;chmod()&#8221; und &#8220;copyTo()&#8221; erhalten.</li>
<li>Die Anonymisierung von IP-Adressen kann im Backend kon­fi­gu­rie­rt werden.</li>
<li>Google-Webfonts können über ein neues Feld im Seitenlayout eingebunden werden, die dann als externes Stlyesheet geladen werden.</li>
<li>Erweiterte Optionen zur Bildverkleinerung</li>
<li>Bei den Backend-Passwörtern kann die Änderung des Passworts erzwungen werden.</li>
<li>Es wurden alle externen Plugins aktualisiert.</li>
<li>Die URLs der Seiten können nun auch in der Form <em>domain.tld/de/</em> bzw. <em>domain.tld/[Ländercode]/</em> dargestellt werden. Dazu gibts auch einen neuen Sprachenwechsler.</li>
<li>Globale Stylesheet-Variablen: In den Theme-Einstellungen können globale Variablen definiert werden, die in den CSS-Definitionen verwendet werdne können.</li>
<li>Verbessertes FAQ-Modul, insbesondere das Rechtesystem.</li>
<li>News-Archiv und News-Leser auf derselben Seite: Das ist eine super Sachen. Es müssen nun nicht zwei Seiten mit einem Archiv und einem Leser erstellt werden (man kann auch Überssicht und Detailseite dazu sagen), sondern es kann eine Seite für beides verwendet werden&#8230; klasse.</li>
<li>Das CSS-Framework kann nun auch im Backend in den Einstellungen deaktiviert werden.</li>
<li>Request-Token-System: Es gab immer wieder Probleme mit dem Request-System, wenn der Nutzer die Browser-Funktion &#8220;vor&#8221; bzw. &#8220;zurück&#8221; verwendet hat. Das Token ist nun für eine Session und nicht für ein Request gültig.</li>
<li>Einen Safemode für Contao: Third-Party-Er­wei­te­run­gen werden nicht geladen, wenn der Mode aktiv ist. Wird auch bei einer Contao-Aktualisierung verwendet, damit eventuell fehlerhafte Erweiterungen die Stabilität des Systems nicht beeinträchtigen.</li>
<li>Systemnachrichten: Es gibt ein paar neue Funktionen, um Systemmeldungen im Backend anzuzeigen.</li>
<li>Einen neuen Inserttag <code>{{page}}</code></li>
</ul>
<p>Ein Update von Contao 2.10 auf 2.11 funktionierte problemlos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/contao-2-11-0-verfugbar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Einen Cron Manager unter Windows?</title>
		<link>http://tobias-seckinger.de/2012/02/einen-cron-manager-unter-windows/</link>
		<comments>http://tobias-seckinger.de/2012/02/einen-cron-manager-unter-windows/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 21:38:04 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Cron]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=746</guid>
		<description><![CDATA[Heute war ich auf der Suche nach eine Lösung für einen Cron Manager unter Windows. Der ein oder andere kann jetzt mit dem Argument kommen, dass man ja mit den &#8220;geplanten Tasks&#8221;, &#8220;Aufgabenplanung&#8221;, &#8220;Task Scheduler&#8221; oder &#8220;Scheduled Tasks&#8221; (je nach &#8230; <a href="http://tobias-seckinger.de/2012/02/einen-cron-manager-unter-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Heute war ich auf der Suche nach eine Lösung für einen Cron Manager unter Windows. Der ein oder andere kann jetzt mit dem Argument kommen, dass man ja mit den &#8220;geplanten Tasks&#8221;, &#8220;Aufgabenplanung&#8221;, &#8220;Task Scheduler&#8221; oder &#8220;Scheduled Tasks&#8221; (je nach Windows Version) gemacht werden kann &#8211; das ist natürlich richtig. Aber wie siehts mit einer Ausführungshistorie aus? &#8211; Ja, auch möglich, wenn man das aktiviert. Geht auch eine Email, falls der Job fehlschlägt? &#8211; Ja, auch das ist möglich, sofern der SMTP-Server korrekt konfiguriert ist. Jetzt die Preisfrage: Können auch andere Nutzer (Nicht-Administratoren) Jobs/Crons anlegen? &#8230;mhh&#8230; schwer? Oder wie wäre es mit einer Statusanzeige fürs Intranet? Ganz nützlich wäre auch das Ausführen von Cronjobs auf verschiedenen Servern, jedoch mit zentraler Administration. Wir sehen, an diesem Punkt stoßen wir mit den Windows Bordmitteln an Grenzen.</p>
<p><span id="more-746"></span></p>
<p>Zuerst dachte ich an eine Java Anwendung (plattformunabhängig) und fand auch einige wie z. B. <a title="Quarz Java Enterprise Job Scheduler" href="http://quartz-scheduler.org/" target="_blank">Quarz </a>einen Job Scheduler, den ich in einer eigenen Anwendung verwenden könnte. Ich benötigte jedoch eine Lösung, die schnell einsatzfähig ist und wollte auch keine Anwendung entwickeln. Da kam mir der Einfall, dass ich auch Hudson als System verwenden könnte. Hudson ist an sich ein System zur <strong>kontinuierlichen Integration</strong>. Da ich dieses System sowieso einsetzen wollte, prüfte ich nun die Möglichkeit zwei Fliegen mit einer Klappe zu schlagen. Tatsächlich kann Hudson dafür auch eingesetzt werden (und ich bin auch nicht der erste der diese Idee hatte).</p>
<p>Was braucht man nun dazu? Das Basissystem besteht aus einer Hudson Installation. Diese ist unter Windows schnell erledigt:</p>
<ul>
<li>Aktuelle Hudson Software herunterladen: Eine war-Datei z. Zt. in Version 2.2.0</li>
<li>Auf dem Zielsystem muß eine aktuelle Java Runtime Environment installiert sein. Am besten setzt man den Pfad zum \jre6\bin-Verzeichnis in den Windows Path, damit man in der Konsole nicht den kompletten Pfad zur Java-Installation angeben muß.</li>
<li>In der Konsole die heruntergeladene war-Datei ausführen z. B.:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>tt<span style="color: #000000; font-weight: bold;">&gt;</span>java <span style="color: #660033;">-jar</span> hudson.war<span style="color: #000000; font-weight: bold;">&lt;/</span>tt<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

</li>
<li><tt><tt>Nun startet Hudson. Das sah bei mir so aus:<br />
</tt></tt></p>
<p><div id="attachment_752" class="wp-caption alignnone" style="width: 652px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-start.png"><img class="size-full wp-image-752" title="Hudson Start" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-start.png" alt="" width="642" height="773" /></a><p class="wp-caption-text">Hudson startet in der Windows Konsole</p></div></li>
<li><tt>Wir können im Browser die Weboberfläche von Hudson öffnen über http://localhost:8080</tt>. Das sieht ungefähr so aus:
<p><div id="attachment_753" class="wp-caption alignnone" style="width: 409px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-weboberflaeche.png"><img class="size-full wp-image-753" title="Hudson Weboberfläche" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-weboberflaeche.png" alt="" width="399" height="372" /></a><p class="wp-caption-text">Die Hudson Weboberfläche</p></div></li>
<li>Unter dem Menüpunkt &#8220;Hudson verwalten&#8221; können wir diesen als Windows-Service installieren. Damit steht Hudson auch nach einem (Server-) Neustart zur Verfügung.</li>
</ul>
<h2>Konfiguration</h2>
<div id="attachment_754" class="wp-caption alignnone" style="width: 1070px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-verwaltung.png"><img class="size-full wp-image-754" title="Hudson Verwaltung" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-verwaltung.png" alt="Die Hudson Verwaltungsoberfläche" width="1060" height="679" /></a><p class="wp-caption-text">Die Hudson Verwaltungsoberfläche</p></div>
<p>Wir klicken auf &#8220;System konfigurieren&#8221; und setzen unter dem Abschnitt &#8220;E-Mail Benachrichtigung&#8221; die Hudson URL. Wenn wir eine Hudson Master/Slave Installation wollen, muß dort eine vom Slave aus erreichbare URL oder IP stehen.</p>
<p>Alle anderen Konfigurationsparamter sind so gut beschrieben, dass ich sie hier nicht erklären muß. Somit können wir gleich zur ersten Slave Installation kommen.</p>
<p><span style="color: #ff0000;">Die folgenden Aktionen machen wir auf dem Slave-Rechner!</span> Wir loggen uns also per Remote-Konsole auf einem anderen Server ein und rufen dort im Browser die URL der Hudson-Master-Installation auf. In der Konfiguration klicken wir auf &#8220;Knoten verwalten&#8221; und klicken auf &#8220;Neuer Knoten&#8221;. Wir erhalten folgenden Dialog:</p>
<div id="attachment_755" class="wp-caption alignnone" style="width: 722px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-knoten-hinzufuegen.png"><img class="size-full wp-image-755" title="Knoten in Hudson hinzufügen" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-knoten-hinzufuegen.png" alt="Knoten in Hudson hinzufügen" width="712" height="265" /></a><p class="wp-caption-text">Einen Slave-Knoten in Hudson hinzufügen</p></div>
<p>Wir vergeben einen Namen für den Knoten und klicken die Option &#8220;Dumb slave&#8221; an. Sobald wir mit OK bestätigen, gelangen wir zum nächsten Dialog:</p>
<div id="attachment_756" class="wp-caption alignnone" style="width: 720px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-slave-konfiguration.png"><img class="size-full wp-image-756" title="Hudson Slave Konfiguration" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-slave-konfiguration.png" alt="Hudson Slave Konfiguration" width="710" height="474" /></a><p class="wp-caption-text">Hudson Slave Konfiguration</p></div>
<p>Wir benennen ein Stammverzeichnis auf dem Slave, das natürlich existiert und definieren unter &#8220;Auslastung&#8221;, dass der Rechner exklusiv verwendet werden soll. Als Startmethode wählen wir &#8220;Starte Slave-Agenten über JNLP&#8221; aus. Wir gelangen nach der Bestätigung wieder auf die Übersichtsseite der Knoten. Erneut klicken wir auf den neu angelegten Knoten und erhalten nun Anweisungen, wie wir den Slave starten können:</p>
<p><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-slave-start.png"><img class="alignnone size-full wp-image-757" title="Hudson Slave starten" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/hudson-slave-start.png" alt="Hudson Slave starten" width="660" height="468" /></a></p>
<p>Wir klicken also auf &#8220;Launch&#8221;. Es startet eine kleine Java-Anwendung, über die wir den Hudson-Slave auch als Windows-Dienst installieren können. In der Übersicht der Knoten erscheint der Slave nun als aktiver Knoten.</p>
<p>Das ist nun die Basis. Über das Anlegen von Jobs kann auch eine zeitgesteuerte Ausführung geplant werden. Es kann z. B. eine Batch-Datei ausgeführt werden oder eine Domain aufgerufen werden. Die Ausgaben können geparst und in der Auswertung berücksichtigt werden. Außerdem kann das System über Plugins erweitert werden. Wir haben also eine Menge Möglichkeiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/einen-cron-manager-unter-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Robots Meta Tag und X-Robot Tags</title>
		<link>http://tobias-seckinger.de/2012/02/robots-meta-tag-und-x-robot-tags/</link>
		<comments>http://tobias-seckinger.de/2012/02/robots-meta-tag-und-x-robot-tags/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 22:49:30 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Robots]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=748</guid>
		<description><![CDATA[Der Titel klingt ja schon kriptisch, aber mal von vorne&#8230; über die Robots-Anweisungen lassen sich die &#8220;guten&#8221; Suchmaschinen bzw. dessen Crawler beeinflussen. Beispielsweise kann man bestimmte Seiten von der Indizierung ausschließen indem man im Wurzelverzeichnis einfach eine robots.txt anlegt und &#8230; <a href="http://tobias-seckinger.de/2012/02/robots-meta-tag-und-x-robot-tags/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Der Titel klingt ja schon kriptisch, aber mal von vorne&#8230; über die Robots-Anweisungen lassen sich die &#8220;guten&#8221; Suchmaschinen bzw. dessen Crawler beeinflussen. Beispielsweise kann man bestimmte Seiten von der Indizierung ausschließen indem man im Wurzelverzeichnis einfach eine <em>robots.txt</em> anlegt und dort ein paar Regeln reinschreibt.</p>
<p>Beispiel:</p>
<pre>disallow: [path]</pre>
<p>Eine Auflistung aller Möglichkeiten findet sich auf der Seite <a title="Controlling Crawling and Indexing" href="http://code.google.com/intl/de-DE/web/controlcrawlindex/docs/robots_txt.html" target="_blank">Controlling Crawling and Indexing</a>.</p>
<p>Außerdem gibts das ganze auch als Meta-Tag-Anweisung:</p>
<pre>&lt;meta name="robots" content="noindex" /&gt;</pre>
<p>Schließlich kann man das ganze auch als <abbr title="Hypertext Transfer Protocol">HTTP</abbr>-Header-Anweisung definieren:</p>
<pre>X-Robots-Tag: noindex</pre>
<p>In PHP kann dies einfach realisiert werden:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'X-Robots-Tag: noindex'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Da der Google Crawler immer besser wird und mittlerweise auch <abbr title="Uniform Resource Locator">URL</abbr>s in Javascript folgt, ist diese Anweisung ggf. bei einem <abbr title="Asynchronous JavaScript and XML">AJAX</abbr>-Aufruf sinnvoll.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/robots-meta-tag-und-x-robot-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conditional Commands mit Typo3 und TemplaVoila</title>
		<link>http://tobias-seckinger.de/2012/02/conditional-commands-mit-typo3-und-templavoila/</link>
		<comments>http://tobias-seckinger.de/2012/02/conditional-commands-mit-typo3-und-templavoila/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 18:00:43 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Typo3]]></category>
		<category><![CDATA[templaVoilà]]></category>
		<category><![CDATA[typoscript]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=738</guid>
		<description><![CDATA[Leider funktionieren Conditional Commands mit TemplaVoila nicht, da das abschließende HTML-Kommentar nicht ausgegeben wird. Beispiel: &#60;!--[if lt IE 9]&#62;&#60;script src=&#34;...&#34;&#62;&#60;/script&#62;&#60;![endif]--&#62; Bis das funktioniert, löse ich das über eine TypoScript Anweisung: page.headerData.100 = HTML page.headerData.100.value = &#60;!--&#91;if lt IE 9&#93;&#62;&#60;script src=&#34;...&#34;&#62;&#60;/script&#62;&#60;!&#91;endif&#93;--&#62;]]></description>
			<content:encoded><![CDATA[<p>Leider funktionieren Conditional Commands mit TemplaVoila nicht, da das abschließende HTML-Kommentar nicht ausgegeben wird. Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 9]&gt;&lt;script src=&quot;...&quot;&gt;&lt;/script&gt;&lt;![endif]--&gt;</span></pre></div></div>

<p>Bis das funktioniert, löse ich das über eine TypoScript Anweisung:</p>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">page</span><span style="color: #339933; font-weight: bold;">.</span>headerData<span style="color: #339933; font-weight: bold;">.</span>100 <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">HTML</span>
<span style="color: #000066; font-weight: bold;">page</span><span style="color: #339933; font-weight: bold;">.</span>headerData<span style="color: #339933; font-weight: bold;">.</span>100<span style="color: #339933; font-weight: bold;">.</span>value <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #3366CC;">&lt;!--<span style="color: #009900;">&#91;</span><span style="font-weight: bold;">if</span> lt IE 9<span style="color: #009900;">&#93;</span>&gt;</span><span style="color: #3366CC;">&lt;script src=&quot;...&quot;&gt;</span><span style="color: #3366CC;">&lt;/script&gt;</span><span style="color: #3366CC;">&lt;!<span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span>--&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/conditional-commands-mit-typo3-und-templavoila/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Curl mit Proxy</title>
		<link>http://tobias-seckinger.de/2012/02/php-curl-mit-proxy/</link>
		<comments>http://tobias-seckinger.de/2012/02/php-curl-mit-proxy/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 17:30:46 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Curl]]></category>
		<category><![CDATA[Proxy]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=742</guid>
		<description><![CDATA[Hier ein Snippet, wie man sich an einem Proxy über CURL authentifizieren kann: $ch = curl_init&#40;&#41;; curl_setopt&#40;$ch, CURLOPT_URL, 'http://www.foo.bar'&#41;; curl_setopt&#40;$ch, CURLOPT_HEADER, 1&#41;; curl_setopt&#40;$ch, CURLOPT_RETURNTRANSFER, 1&#41;; &#160; curl_setopt&#40;$ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM&#41;; curl_setopt&#40;$ch, CURLOPT_PROXY, 'proxy:8080'&#41;;     curl_setopt&#40;$ch, CURLOPT_PROXYPORT, 8080&#41;;     curl_setopt&#40;$ch, CURLOPT_PROXYUSERPWD, 'DOMÄNE\benutzer:password'&#41;;   &#8230; <a href="http://tobias-seckinger.de/2012/02/php-curl-mit-proxy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hier ein Snippet, wie man sich an einem Proxy über CURL authentifizieren kann:</p>

<div class="wp_syntax"><div class="code"><pre class="php-brief" style="font-family:monospace;"><span style="color: #0000ff;">$ch</span> <span style="color: #339933;">=</span> curl_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://www.foo.bar'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXYAUTH<span style="color: #339933;">,</span> CURLAUTH_NTLM<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXY<span style="color: #339933;">,</span> <span style="color: #0000ff;">'proxy:8080'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXYPORT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">8080</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXYUSERPWD<span style="color: #339933;">,</span> <span style="color: #0000ff;">'DOMÄNE<span style="color: #000099; font-weight: bold;">\b</span>enutzer:password'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
&nbsp;
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_TIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_REFERER<span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://myreferer.de'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #339933;">,</span> CURLOPT_USERAGENT<span style="color: #339933;">,</span> <span style="color: #0000ff;">'Mozilla...'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$result</span> <span style="color: #339933;">=</span> curl_exec<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$info</span> <span style="color: #339933;">=</span> curl_getinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$error</span> <span style="color: #339933;">=</span> curl_error<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
curl_close<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/php-curl-mit-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moduleinstellungen unter Contao</title>
		<link>http://tobias-seckinger.de/2012/02/moduleinstellungen-unter-contao/</link>
		<comments>http://tobias-seckinger.de/2012/02/moduleinstellungen-unter-contao/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 21:41:13 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Contao]]></category>
		<category><![CDATA[DCA]]></category>
		<category><![CDATA[Modulentwicklung]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=732</guid>
		<description><![CDATA[Während der Modulentwicklung kommt man schnell an den Punkt, wo man verschiedene Einstellungen zu einem Contao Modul hinterlegen möchte. Das kann eine Weiterleitungsseite sein, ein Text oder ein x-beliebiger Wert aus einem Auswahlfeld oder ähnliches. Jeder Eintrag in den Modulen &#8230; <a href="http://tobias-seckinger.de/2012/02/moduleinstellungen-unter-contao/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Während der Modulentwicklung kommt man schnell an den Punkt, wo man verschiedene Einstellungen zu einem Contao Modul hinterlegen möchte. Das kann eine Weiterleitungsseite sein, ein Text oder ein x-beliebiger Wert aus einem Auswahlfeld oder ähnliches. Jeder Eintrag in den Modulen einer &#8220;Theme&#8221; entspricht einem Datensatz in der Tabelle tl_module. Dort werden auch alle Einstellungen zu einem Modul hinterlegt.</p>
<div id="attachment_733" class="wp-caption alignnone" style="width: 285px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/contao-tl_module-auszug.png.png"><img class="size-full wp-image-733" title="tl_module" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/contao-tl_module-auszug.png.png" alt="Contao tl_module Tabelle" width="275" height="532" /></a><p class="wp-caption-text">Auszug aus der Tabelle tl_module</p></div>
<p>Um eine dieser bestehenden Spalten in einem Modul nutzen zu können, muß man in der <abbr title="Data Container Array">DCA</abbr> eine Zeile ergänzen:</p>

<div class="wp_syntax"><div class="code"><pre class="php-brief" style="font-family:monospace;"><span style="color: #0000ff;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'TL_DCA'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tl_module'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'palettes'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mymodule'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'{title_legend},name,headline,type,customLabel'</span><span style="color: #339933;">;</span></pre></div></div>

<p>Schon steht im Modul ein einfaches Textfeld zur Verfügung. Da diese Einstellung bereits von Contao verwendet wird, gibt es bereits eine Felddefinition und eine Übersetzung für die Einstellung <em>customLabel</em>. Damit wir keine neue Spalte in der tl_module anlegen müssen, können wir das Feld für etwas anderes &#8220;mißbrauchen&#8221;. Ich will nur demonstrieren, wie man Änderungen vornehmen kann, die im Prinzip auch bei einem neuen Feld notwendig sind.</p>
<p>Die Übersetzung wird beispielsweise folgendermaßen gesetzt bzw. überschrieben:</p>

<div class="wp_syntax"><div class="code"><pre class="php-brief" style="font-family:monospace;"><span style="color: #0000ff;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'TL_LANG'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tl_module'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'customLabel'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'View'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Please select a view type.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Den Feldtyp können wir folgendermaßen beeinflussen:</p>

<div class="wp_syntax"><div class="code"><pre class="php-brief" style="font-family:monospace;"><span style="color: #0000ff;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'TL_DCA'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tl_module'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'fields'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'customLabel'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
  <span style="color: #0000ff;">'label'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&amp;</span><span style="color: #0000ff;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'TL_LANG'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tl_module'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'customLabel'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
  <span style="color: #0000ff;">'inputType'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'select'</span><span style="color: #339933;">,</span>
  <span style="color: #0000ff;">'options'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Overview'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Detail'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Somit haben wir jetzt folgendes im Backend erreicht:</p>
<div id="attachment_734" class="wp-caption alignnone" style="width: 684px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/02/contao-backend-module-view.png.png"><img class="size-full wp-image-734" title="Das angepasste Backend Modul" src="http://tobias-seckinger.de/wp-content/uploads/2012/02/contao-backend-module-view.png.png" alt="Angepasstes Backend-Modul" width="674" height="335" /></a><p class="wp-caption-text">Das angepasste Backend Modul mit neuem Feld</p></div>
<p>Eines sollte jedoch klar sein, wenn man bestehende Felddefinitionen verändert: Auch in den Modulen, in den die Einstellung bereits verwendet wird, kann unter Umständen die Veränderung greifen. Das wiederum hängt von der Reihenfolge ab, wie die Module abgearbeitet werden (alphabetisch).</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/moduleinstellungen-unter-contao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vollbild-Modus im Browser</title>
		<link>http://tobias-seckinger.de/2012/02/vollbild-modus-im-browser/</link>
		<comments>http://tobias-seckinger.de/2012/02/vollbild-modus-im-browser/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 20:23:06 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Fullscreen-API]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=728</guid>
		<description><![CDATA[Nachfolgend eine komplettes Beispiel mit jQuery und der neuen Fullscreen-API ein HTML-Element im Vollbild-Modus anzuzeigen. Funktioniert nur in den neusten Browser von Safari, Firefox und Chrome und sieht auch nur im Firefox gut aus&#8230; aber hier gehts einfach nur um &#8230; <a href="http://tobias-seckinger.de/2012/02/vollbild-modus-im-browser/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nachfolgend eine komplettes Beispiel mit jQuery und der neuen Fullscreen-API ein HTML-Element im Vollbild-Modus anzuzeigen. Funktioniert nur in den neusten Browser von Safari, Firefox und Chrome und sieht auch nur im Firefox gut aus&#8230; aber hier gehts einfach nur um die Funktion.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;</span>
<span style="color: #00bbdd;">  &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">style</span>&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">    .<span style="color: #993333;">white</span> <span style="color: #00AA00;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span>verdana<span style="color: #00AA00;">;</span>
      <span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span><span style="color: #933;">200px</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    .<span style="color: #993333;">white</span> div
    <span style="color: #00AA00;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">white</span><span style="color: #00AA00;">;</span>
      <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>
      <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
      -moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span>
      border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span>
      -moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> grey<span style="color: #00AA00;">;</span>
      -webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> grey<span style="color: #00AA00;">;</span>
      box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> grey<span style="color: #00AA00;">;</span>
      <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    .<span style="color: #993333;">hidden</span> <span style="color: #00AA00;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">style</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fullscreen-container&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
      Here is your Fullscreen!
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fullscreen-link&quot;</span>&gt;</span>Show me fullscreen container...<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//&lt;![CDATA[</span>
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    fullscreen<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>params<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">var</span> conf <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
      $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>conf<span style="color: #339933;">,</span> params<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">return</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003366; font-weight: bold;">var</span> e<span style="color: #339933;">=</span>$<span style="color: #009900;">&#40;</span>params<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #003366; font-weight: bold;">var</span> element<span style="color: #339933;">=</span>e<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
          $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              e.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hidden'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">requestFullScreen</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              element.<span style="color: #660066;">requestFullScreen</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fullscreenchange&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>document.<span style="color: #660066;">fullScreen</span><span style="color: #009900;">&#41;</span> e.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hidden'</span><span style="color: #009900;">&#41;</span>
              <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">mozRequestFullScreen</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              element.<span style="color: #660066;">mozRequestFullScreen</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;mozfullscreenchange&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>document.<span style="color: #660066;">mozFullScreen</span><span style="color: #009900;">&#41;</span> e.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hidden'</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">webkitRequestFullScreen</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
              element.<span style="color: #660066;">webkitRequestFullScreen</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;webkitfullscreenchange&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>document.<span style="color: #660066;">webkitIsFullScreen</span><span style="color: #009900;">&#41;</span> e.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hidden'</span><span style="color: #009900;">&#41;</span>
              <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
          <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fullscreen-link'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fullscreen</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fullscreen-container'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//]]&gt;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/02/vollbild-modus-im-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ready NAS Duo unter Knoppix mounten</title>
		<link>http://tobias-seckinger.de/2012/01/ready-nas-duo-unter-knoppix-mounten/</link>
		<comments>http://tobias-seckinger.de/2012/01/ready-nas-duo-unter-knoppix-mounten/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 18:11:38 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Knoppix]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=717</guid>
		<description><![CDATA[Hab ein wenig suchen müssen, aber mit folgendem Befehl funktioniert das mounten unter Knoppix: sudo mount -t cifs //192.168.0.129/media/Temp /media/smb -o username=root,password=das_passwort,iocharset=utf8,file_mode=0777,dir_mode=0777 &#160;]]></description>
			<content:encoded><![CDATA[<p>Hab ein wenig suchen müssen, aber mit folgendem Befehl funktioniert das mounten unter Knoppix:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> cifs <span style="color: #000000; font-weight: bold;">//</span>192.168.0.129<span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>Temp <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>smb <span style="color: #660033;">-o</span> <span style="color: #007800;">username</span>=root,<span style="color: #007800;">password</span>=das_passwort,<span style="color: #007800;">iocharset</span>=utf8,<span style="color: #007800;">file_mode</span>=0777,<span style="color: #007800;">dir_mode</span>=0777</pre></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/01/ready-nas-duo-unter-knoppix-mounten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typo3 4.6.4 Update und Zend Server</title>
		<link>http://tobias-seckinger.de/2012/01/typo3-4-6-4-update-und-zend-server/</link>
		<comments>http://tobias-seckinger.de/2012/01/typo3-4-6-4-update-und-zend-server/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:28:23 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Typo3]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Bug]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=705</guid>
		<description><![CDATA[Ein kleines Update ist heute veröffentlicht worden. Alle Änderungen sind im Release-Log aufgeführt. Ich habe seit neustem auf meinem Windows x64 System ein Problem mit dem Zend Server CE (PHP 5.2) 5.6.0 und Typo3 Version 4.6.3. Mit Version 5.5 hat &#8230; <a href="http://tobias-seckinger.de/2012/01/typo3-4-6-4-update-und-zend-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ein kleines Update ist heute veröffentlicht worden. Alle Änderungen sind im <a title="Typo3 4.6.4" href="http://wiki.typo3.org/wiki/TYPO3_4.6.4" target="_blank">Release-Log </a>aufgeführt.</p>
<p>Ich habe seit neustem auf meinem Windows x64 System ein Problem mit dem <strong>Zend Server CE (PHP 5.2)</strong> 5.6.0 und Typo3 Version 4.6.3. Mit Version 5.5 hat noch alles problemlos funktioniert. Ich weiß nicht, ob es an den &#8220;Security Enhancements&#8221; in PHP 5.3.9 liegt, aber der Login in den Backend-Bereich von Typo3 ist in dieser Umgebung nicht mehr möglich. Nach Absenden des Login-Formulars erschient eine Meldung ala &#8220;Wollen Sie die index.php Datei speichern oder öffnen&#8230;&#8221;. Darin ist ein 500-HTTP-Status-Code enthalten, jedoch erscheint in den Apache und PHP-Log-Dateien keinerlei Hinweis darauf. In der Ereignisanzeige von Windows sieht das ganz anders aus. Dort scheint die php-cgi.exe einen Fehler zu verursachen.</p>
<p>Ich werde das morgen mit der neuen Typo3-Version testen und auch Bilder und genaue Fehlermeldungen nachliefern.</p>
<p><strong>Update</strong></p>
<p>Eine Aktualisierung auf Typo3 4.6.4 brachte wie vermutet keinen Erfolg. Wie versprochen ein paar Details zu dem Fehler:</p>
<div id="attachment_708" class="wp-caption alignnone" style="width: 488px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo3-login.png"><img class="size-full wp-image-708" title="typo3-login" src="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo3-login.png" alt="Typo3 4.6.3 Login Screen" width="478" height="424" /></a><p class="wp-caption-text">Typo3 4.6.3 Login Screen</p></div>
<div id="attachment_709" class="wp-caption alignnone" style="width: 449px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo3-error1.png"><img class="size-full wp-image-709" title="typo3-error1" src="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo3-error1.png" alt="Fehlermeldung nach Login" width="439" height="329" /></a><p class="wp-caption-text">Fehlermeldung nach Login</p></div>
<p>&nbsp;</p>
<p><a href="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error2.png"><img class="size-full wp-image-710" title="typo-error2" src="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error2.png" alt="Inhalt der Datei index.php" width="697" height="351" /></a></p>
<div class="mceTemp">
<dl id="attachment_710" class="wp-caption alignnone" style="width: 707px;">
<dd class="wp-caption-dd">Inhalt der Datei index.php</dd>
</dl>
</div>
<div id="attachment_711" class="wp-caption alignnone" style="width: 661px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error3.png"><img class="size-full wp-image-711" title="typo-error3" src="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error3.png" alt="Windows Ereignisanzeige Fehlermeldung" width="651" height="600" /></a><p class="wp-caption-text">Windows Ereignisanzeige - Fehlermeldung</p></div>
<p>Nochmal als Text (damit Google das findet):</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Name der fehlerhaften Anwendung: php-cgi.exe, Version: 5.3.9.0, Zeitstempel: 0x4ef33bca
Name des fehlerhaften Moduls: php5.dll, Version: 5.3.9.0, Zeitstempel: 0x4ef33bc8
Ausnahmecode: 0xc0000005
Fehleroffset: 0x00092b20
ID des fehlerhaften Prozesses: 0xd1c
Startzeit der fehlerhaften Anwendung: 0x01ccdb33ed105389
Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\Zend\ZendServer\bin\php-cgi.exe
Pfad des fehlerhaften Moduls: C:\Program Files (x86)\Zend\ZendServer\bin\php5.dll
Berichtskennung: f2e4d78f-4728-11e1-bd4d-005056c00008</pre></div></div>

<div id="attachment_713" class="wp-caption alignnone" style="width: 205px"><a href="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error4.png"><img class="size-full wp-image-713" title="typo-error4" src="http://tobias-seckinger.de/wp-content/uploads/2012/01/typo-error4.png" alt="Noch eine Meldung in der Windows Ereignisanzeige" width="195" height="292" /></a><p class="wp-caption-text">Noch eine Meldung in der Windows Ereignisanzeige</p></div>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Fehlerbucket , Typ 0
Ereignisname: APPCRASH
Antwort: Nicht verfügbar
CAB-Datei-ID: 0
&nbsp;
Problemsignatur:
P1: php-cgi.exe
P2: 5.3.9.0
P3: 4ef33bca
P4: php5.dll
P5: 5.3.9.0
P6: 4ef33bc8
P7: c0000005
P8: 00092b20
P9:
P10:</pre></div></div>

<p><strong> Update 2:</strong></p>
<p>Das Problem ist vorübergehend gelöst, indem man die Datei /typo3/contrib/RemoveXSS/RemoveXSS.php in der Größe verändert. Schuld daran ist ein <a title="PHP Bug" href="https://bugs.php.net/bug.php?id=48034" target="_blank">PHP-Bug</a>. Einen herzlichen Dank an Jürgen für den Tip (siehe Kommentare).</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/01/typo3-4-6-4-update-und-zend-server/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Umleitung mit Apache-Rewrite-Modul</title>
		<link>http://tobias-seckinger.de/2012/01/umleitung-mit-apache-rewrite-modul/</link>
		<comments>http://tobias-seckinger.de/2012/01/umleitung-mit-apache-rewrite-modul/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 21:24:38 +0000</pubDate>
		<dc:creator>Tobias Seckinger</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://tobias-seckinger.de/?p=701</guid>
		<description><![CDATA[Umleitung von einer Domain mit www auf eine Domain ohne www: RewriteCond %{HTTP_HOST} ^www\.test\.tobias-seckinger\.de [NC] RewriteRule ^(.*) http://test.tobias-seckinger.de/$1 [R=301,L,QSA] [NC] = No case. Damit spielt die Groß- oder Kleinschreibung keine Rolle [R=XXX] = Redirect mit HTTP-Status-Code XXX. Im Beispiel wird &#8230; <a href="http://tobias-seckinger.de/2012/01/umleitung-mit-apache-rewrite-modul/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Umleitung von einer Domain mit www auf eine Domain ohne www:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteCond</span> %{HTTP_HOST} ^www\.test\.tobias-seckinger\.de [NC]
<span style="color: #00007f;">RewriteRule</span> ^(.*) http://test.tobias-seckinger.de/$1 [R=<span style="color: #ff0000;">301</span>,L,QSA]</pre></div></div>

<ul>
<li><strong>[NC]</strong> = No case. Damit spielt die Groß- oder Kleinschreibung keine Rolle</li>
<li><strong>[R=XXX]</strong> = Redirect mit HTTP-Status-Code XXX. Im Beispiel wird mittels 301 umgeleitet</li>
<li><strong>[L]</strong> = Last. Letzte Regel, die beachtet werden muß.</li>
<li><strong>[QSA]</strong> = Query String Append. Hängt neue Parameter an die ursprünglichen Parameter an. Wird für obige Regel nicht zwingend benötigt.<br />
<strong>Beispiel:</strong></p>
<pre>RewriteRule ^source\.php$ /target.php?bar=foo [QSA,L]
# Eingabe: http://tobias-seckinger.de/source.php?foo=bar
# Umleitung zu: http://tobias-seckinger.de/target.php?foo=bar&amp;bar=foo</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tobias-seckinger.de/2012/01/umleitung-mit-apache-rewrite-modul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

