<?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>André Bloggt &#187; Tutorial</title>
	<atom:link href="http://blog.andreflemming.de/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.andreflemming.de</link>
	<description>Ein Pfadfinder im Internet</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:43:10 +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>Piwik automatisch laden</title>
		<link>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/</link>
		<comments>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 11:47:02 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[mod_include]]></category>
		<category><![CDATA[mod_inject]]></category>
		<category><![CDATA[mod_layout]]></category>
		<category><![CDATA[mod_substitute]]></category>
		<category><![CDATA[Piwik]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=801</guid>
		<description><![CDATA[Heute gibts mal wieder was aus der Ecke der nützlichen Sachen. Wie einige von euch vielleicht wissen, habe ich seit einigen Monaten ein VServer. Davor war ich mit all meinen Webseiten bei pytal.de, wo auch jetzt noch einige Seiten von mir liegen. Bei Pytal gab es immer so eine kleine Statistik wo man zumindest sehen [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibts mal wieder was aus der Ecke der nützlichen Sachen.<br />
Wie einige von euch vielleicht wissen, habe ich seit einigen Monaten ein VServer. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Davor war ich mit all meinen Webseiten bei <a href="http://pytal.de">pytal.de</a>, wo auch jetzt noch einige Seiten von mir liegen.</p>
<p>Bei Pytal gab es immer so eine kleine Statistik wo man zumindest sehen konnte, wie viele User auf der Seite waren, daher hatte ich mir nie wirklich Gedanken gemacht eine eigene Statistik auftzustellen. Für mich ist sowas eigentlich auch gar nicht wichtig, ich möchte im Prinzip nur ab und an mal sehen, wie viele Leute denn auf der Webseite waren.<br />
Naja jetzt mit einem eigenen Server gibt es diese Statistik von Pytal natürlich nicht mehr, also musste was eigenes her.</p>
<p>Piwik &#8230;. schon viel von gelesen, aber noch nie ausprobiert.</p>
<p>Die Benutzung ist ja wirklich leicht, einfach den Tracking-Code, der von Piwik generiert wird, auf die Webseite packen und gut ist.</p>
<p>Aber bei jeder Webseite die neu auf den Server kommt immer in den Code eingreifen und evtl. bei einem Update drauf achten, dass der Tracking-Code nicht verloren geht, ist auf die Dauer bestimmt nervig. Was muss also passieren? Richtig, der Code muss Automatisch in die Webseiten eingebettet werden. Aber wie?</p>
<p>Bei Pytal waren die Werbeeinblendungen auf der Webseite auch immer automatisch eingebunden, wie machen die das nur? Ich habe einfach mal eine Email geschrieben und bekam auch direkt eine Antwort, dass es sich dabei um ein selbst geschriebenes Apache Modul handelt.</p>
<p>Ok, das ist ein bisschen zu viel den guten, ich möchte doch einfach nur ein bisschen dynamischen Code ans Ende jeder Webseite einfügen. Eine Idee dafür, lieferte die Email von Pytal direkt mit, ich wurde auf mod_layout hingewiesen.</p>
<p>Bei der Beschaffung dieses Modules traten jedoch einige Probleme auf, da ich die Webseite, wo man das ganze Downloaden sollte, nicht öffnen konnte.</p>
<p>Also suchte ich erst einmal ein bisschen weiter. Nach einigen Minuten hatte ich die Lösung gefunden &#8230; naja das dachte ich zumindest.</p>
<p>auto_append_file in der php.ini war für mich erst einmal die Lösung des Problems. Heute morgen habe ich das ganze dann auf meinem Server getestet, natürlich ohne Erfolg. Das Skript wurde zwar geladen und ausgeführt, allerdings bei jeder PHP-Datei. Diese Aktion zwang dann meinen VServer in die Knie &#8230; und so war meine Webseite nicht erreichbar, bis ich nach 2 Stunden wieder aus der Schule kam.</p>
<p>auto_append_file ist also keine Lösung &#8230; aber was benutze ich dann? Vielleicht noch einmal mod_layout probieren? Doch auch diesmal hatte ich keinen Erfolg, beim Download. Bei der suche nach Alternativen fand ich dann mod_injection. Aber auch hier musste ich feststellen, dass die Seite zum Downloaden offline war.</p>
<p>Was mache ich nun also?</p>
<p>Nach einiger Zeit des googelns, stieß ich auf einen <a href="http://bemasc.net/wordpress/2010/06/24/how-to-not-use-mod_layout/">Blog Artikel</a>, welcher erklärt, wie man mittels mod_substitute und mod_include Code an das Ende der Seite einfügt.</p>
<p>Aufgrund dieses Beispiels habe ich dann folgenden Code in meine httpd.conf eingefügt:</p>
<p><code>&lt;IfModule substitute_module&gt;<br />
&lt;IfModule include_module&gt;<br />
FilterDeclare Sub<br />
FilterProvider Sub SUBSTITUTE resp=Content-Type $text/html<br />
FilterDeclare SSI<br />
FilterProvider SSI INCLUDES resp=Content-Type $text/html<br />
Options +Includes<br />
FilterChain +Sub +SSI<br />
Substitute "s|&lt;/body.*?&gt;|&lt;!--#exec cmd=\"php /srv/http/include_piwik.php\"--&gt;&lt;!--#exec cmd=\"php /srv/http/include_piwik.php\"--&gt;$1|i"<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</code></p>
<p>Und siehe da, endlich wurde die include_piwik.php an jede Seite angehängt und der Sever ging dabei nicht in die Knie.</p>
<p>Wie aber stellt man es nun an, dass nicht jede Webseite getrackt wird? Und dazu auch die Webseiten unterschieden werden?</p>
<p>Bei einem kurzen Blick auf den von Piwik erstellten Tracking-Code sieht man, dass dort eine ID gesetzt wird. Also muss man nur die ID der Seite herausfinden &amp; in den Tracking-Code einsetzen. Schon kann man die Webseiten unterscheiden.</p>
<p>Ich habe das ganze wie folgt gelöst:</p>
<p><code><br />
&lt;?php<br />
// +----------------------------------------------------------------------+<br />
// | Copyright (c) 2012 DasLampe &lt;daslampe@lano-crew.org&gt; |<br />
// | Encoding:  UTF-8 |<br />
// +----------------------------------------------------------------------+<br />
$url    = $_SERVER['SERVER_NAME'];<br />
if(substr_count($url, '.') &gt;= 2)<br />
{<br />
$url    = substr($url, strrpos($url, '.', -4)+1);<br />
}<br />
$result    = simplexml_load_file("http://nixmuss-design.de/services/piwik/index.php?module=API&amp;method=SitesManager.getSitesIdFromSiteUrl&amp;url=http://".$url."/&amp;format=XML&amp;token_auth=[AUTH TOKEN]");<br />
if(!empty($result))<br />
{<br />
?&gt;<br />
&lt;!-- Piwik --&gt;<br />
&lt;script type="text/javascript"&gt;<br />
var pkBaseURL = (("https:" == document.location.protocol) ? "https://nixmuss-design.de/services/piwik/" : "http://nixmuss-design.de/services/piwik/");<br />
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));<br />
&lt;/script&gt;&lt;script type="text/javascript"&gt;<br />
try {<br />
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", &lt;?= $result-&gt;row[0]-&gt;idsite; ?&gt;);<br />
piwikTracker.trackPageView();<br />
piwikTracker.enableLinkTracking();<br />
} catch( err ) {}<br />
&lt;/script&gt;&lt;noscript&gt;&lt;p&gt;&lt;img src="http://nixmuss-design.de/services/piwik/piwik.php?idsite=&lt;?= $result-&gt;row[0]-&gt;idsite; ?&gt;" style="border:0" alt="" /&gt;&lt;/p&gt;&lt;/noscript&gt;<br />
&lt;!-- End Piwik Tracking Code --&gt;<br />
&lt;?php<br />
}<br />
else<br />
{<br />
echo $url;<br />
}<br />
?&gt;<br />
&lt;/body&gt;</code></p>
<p>Piwik läuft bei mir also unter der URL meiner Gewerbe Webseite <a href="http://nixmuss-design.de">http://nixmuss-design.de</a>. Die ID jeder Seite finde ich über die Piwik API heraus. Den Zugriff auf diese Daten habe ich einem Benutzer erlaubt, von welchem ich den Token Key übergebe.</p>
<p>Wenn ich die ID habe, dann setze ich diese einfach in den Tracking-Code ein und fertig.</p>
<p>&nbsp;</p>
<p>Eine Besonderheit ist, dass Subdomains als die normale Domains getrackt werden, somit muss ich zum Beispiel blog.andreflemming.de nicht extra in Piwik eintragen, sondern der Zugriff wird unter andreflemming.de gespeichert.</p>
<p>Sollte eine Webseite nicht in Piwik auftauchen, aber trotzdem bei mir auf dem Server liegen, dann wird einfach nur ein &lt;/body&gt; ausgegeben.</p>
<p>&nbsp;</p>
<p>Ich hoffe diese kleine Erklärung, die irgendwie mehr Text als alles andere geworden ist, hilft einigen Leuten, bei der Lösung ähnlicher Probleme.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webseiten als PDF speichern</title>
		<link>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/</link>
		<comments>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 14:07:18 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Schule]]></category>
		<category><![CDATA[Drucker]]></category>
		<category><![CDATA[Facharbeit]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Umwelt]]></category>
		<category><![CDATA[Webseiten]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=748</guid>
		<description><![CDATA[Langsam geht es wieder für viele Schüler des 12. Jahrgangs in die Endphase der Facharbeiten. Ein häufig benutztes Medium der Informationsbeschaffung, ist dabei das Internet. Durch die offenheit des Internets, also das jeder mit den nötigen Rechten, die Inhalte der Seite ändern kann, sollten Webseiten im Anhang der Facharbeit als ausgedruckte Form bestehen, zumindest fordern [...]]]></description>
			<content:encoded><![CDATA[<p>Langsam geht es wieder für viele Schüler des 12. Jahrgangs in die Endphase der Facharbeiten.</p>
<p>Ein häufig benutztes Medium der Informationsbeschaffung, ist dabei das Internet.</p>
<p>Durch die offenheit des Internets, also das jeder mit den nötigen Rechten, die Inhalte der Seite ändern kann, sollten Webseiten im Anhang der Facharbeit als ausgedruckte Form bestehen, zumindest fordern das die Lehrer der <a href="http://gss-ohligs.de" target="_blank">Geschwister-Scholl-Gesamtschule in Solingen</a>!</p>
<p>Da die Webseiten meistens nur für die Lehrer interessant sind, welche die Facharbeit kontrollieren und nicht für Schüler die diese Facharbeit vielleicht später lesen (wenn das überhaupt jemand macht <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), kann man eine Menge Papier sparen, indem man die Webseiten zum Beispiel als PDF Datei auf eine CD brennt und diese dann der Facharbeit beilegt.</p>
<p>Ich habe das letzten Jahr auch so gemacht, weil ich auch ein kleines Video dabei hatte, aus welchem ich Zitiert habe.</p>
<p>Für dieses Jahr, habe ich auch schon mit einer meiner Jahrgangsleiterinen gesprochen, dabei ist herraus gekommen, das wir auch dieses Jahr diese Methode wieder anwenden dürfen.</p>
<p>Aufgrund von einigen Nachfragen aus meiner Stufe, schreibe ich hier kurz eine Anleitung, wie man Webseiten in eine PDF-Datei &#8220;druckt&#8221;.</p>
<p>Die Anleitung ist nur für Windows User. Soweit ich das beurteilen kann, kann Linux das ganze eh. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Wie es bei dem Apfel-Betriebssystem aussieht, weiß ich grade nicht.</p>
<p>Zuerst brauchen wir eine Software die einen Drucker emuliert. Dazu nehmen wir z.B. PDFCreator (<a href="http://www.chip.de/downloads/PDFCreator_13009777.html" target="_blank">von Chip.de</a>).</p>
<p>Nach der Installation, welche ohen Probleme vonstatten gehen sollte, könenn wir nun in unseren Browser gehen, zum Beispiel Firefox, und dort einfach auf Drucken klicken, als Drucker wählen wir nun PDFCreator aus.</p>
<p>Und schon &#8220;druckt&#8221; man die Webseite in eine PDF-Datei.</p>
<p>Schwer ist das ganze also nicht! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich hoffe diese Anleitung hilft ein paar Leuten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palm Pre: Powerknopf Problem</title>
		<link>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/</link>
		<comments>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 16:48:22 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Powerknopf]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=707</guid>
		<description><![CDATA[Die nächsten Artikel drehen sich mal wieder um das Palm Pre, da es hier einiges zu Berichten gibt. Los geht&#8217;s mit einem Hardware Problem. Der Powerknopf zum ausschalten des Displays und des Palms selbst, hat mir heute Probleme bereitet. Normalerweise hört man ein kleines klicken, wenn man diesen betätigt. Nachdem ich den Palm aus meiner [...]]]></description>
			<content:encoded><![CDATA[<p>Die nächsten Artikel drehen sich mal wieder um das Palm Pre, da es hier einiges zu Berichten gibt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Los geht&#8217;s mit einem Hardware Problem. Der Powerknopf zum ausschalten des Displays und des Palms selbst, hat mir heute Probleme bereitet. Normalerweise hört man ein kleines klicken, wenn man diesen betätigt.<br />
Nachdem ich den Palm aus meiner Tasche genommen hatte, kam dieses Geräusch allerdings nicht mehr und der Palm reagierte auch nicht mehr auf diese Taste.<br />
Das entwickelt sich dann natürlich zu einem großen Problem, da ich keine Lust habe, den Palm immer aufzuschieben bevor ich was sehen kann und zu warten bis sich die Touchscreensperre eingeschaltet hat, bevor ich den Pre wieder in die Tasche stecken kann.<br />
Ab morgen, werde ich dafür wohl auch kaum die Zeit finden, wenn ich erstmal wieder in der Schule sitze.</p>
<p>Also was macht man? Das Ding einschicken und eine Zeit lang ohne Handy auskommen, kommt für mich nicht wirklich in frage, da ich kein zweites Handy habe, welches ich als Alternative verwenden kann, damit ich trotzdem erreichbar bin. Und extra eins kaufen, naja dafür bin ich dann etwas zu geizig. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Also habe ich mich schnell mal vor den Mac von <a href="http://twitter.com/Pfirsichwolke">@Pfirsichwolke</a> gesetzt und gegoogelt, wie man das Problem den beheben kann, bzw. erstmal ob dieses Problem öfter auftritt.<br />
Tatsächlich, das ganze ist wohl eine Abnutzungserscheinung vom Pre, was ich bei dem Preis schon echt krass finde, besonders da mein Palm Pre noch nicht alt ist, knapp 4 Monate.</p>
<p>Lange rede kurzer Sinn, ich wollte euch hier mal schnell die Lösung präsentieren, die ich verwendet habe, damit der Powerknopf wieder funktioniert.</p>
<p>Einfach, ganz Vorsichtig, von der Bildschirmseite, mit einem dünnen Gegenstand, bei mir war es eine Nagelfeile, den Powerknopf aushebeln. Dort wo der Powerknopf war, kommt nun eine Platte zum vorschein. Auf diese Platte habe ich ein kleines (2 mal gefalltenes) Stück Kassenbon gelegt und den Knopf wieder drauf gepackt.</p>
<p>Jetzt läuft das ganze wieder ohne Probleme. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Vielleicht kann dem ein oder anderen das ja helfen.</p>
<p>Achja den Tipp habe ich übrigens hier her: <a href="http://www.preforum.de/palm-pre-forum/1318-power-knopf-funktioniert-nicht.html#post17353">http://www.preforum.de/palm-pre-forum/1318-power-knopf-funktioniert-nicht.html#post17353</a></p>
<p>Bald gehts weiter, mit neuen Infos, bzw. der Installationsanleitung zum SMS Counter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IMAP via fsockopen</title>
		<link>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/</link>
		<comments>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 23:18:10 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[fsockopen]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=689</guid>
		<description><![CDATA[Hier kommt mal wieder ein Artikel der etwas länger, aber vielleicht auch etwas informativer, als die letzten wird. Dieses mal geht es um eine Möglichkeit via fsockopen in PHP ein IMAP-Postfach auszulesen. Normaler weise gibt es dafür in PHP schon eine Extension, jedoch ist diese nicht überall aktiviert, daher kann man diese Technik nicht sehr [...]]]></description>
			<content:encoded><![CDATA[<p>Hier kommt mal wieder ein Artikel der etwas länger, aber vielleicht auch etwas informativer, als die letzten wird. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dieses mal geht es um eine Möglichkeit via fsockopen in PHP ein IMAP-Postfach auszulesen. Normaler weise gibt es dafür in PHP schon eine Extension, jedoch ist diese nicht überall aktiviert, daher kann man diese Technik nicht sehr gut nutzen, wenn man ein Programm/Skript, schreiben möchte, welches auf möglichst vielen Server läuft.</p>
<p>fsockopen ist zwar auch bei vielen Free Webhostern ausgeschaltet, da mit dieser Funktion viel &#8220;Schaden&#8221; angerichtet werden kann, jedoch hat man bei <a href="http://pytal.de">Pytal.de</a> zum Beispiel die Möglichkeit, durch eine Bestätigte Mitgliedschaft fsockopen nutzen zu können.</p>
<p>Naja lange genug um den heißen Brei geredet, was habe ich also gemacht?</p>
<p>Ganz einfach, ich habe es mir einige Stunden vorm PC gemütlich gemacht, während sich <a href="http://twitter.com/Pfirsichwolke">@Pfirsichwolke</a> immer mehr langweilte.</p>
<p>Nach ziemlich viel gegoogle, ausprobieren und fragen im <a href="http://pyjeti.pytalhost.de">Pytalchat</a>, habe ich jetzt endlich eine naja zugegeben schlechte, aber trotzdem Funktionierenden IMAP-Klasse geschrieben. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Der Code dazu kommt hier:</p>
<blockquote><p>// +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
// | Copyright (c) 2010 DasLampe  |<br />
// | Encoding:  UTF-8 |<br />
// +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
class IMAP<br />
{<br />
var	$sock;<br />
var $host;<br />
var $port;<br />
var $sid;<br />
var $tag;<br />
var $_lastTag;<br />
var	$currentMailbox;</p>
<p>function __construct()<br />
{<br />
$this-&gt;sock	= null;<br />
$this-&gt;host	= &#8220;localhost&#8221;;<br />
$this-&gt;port	= &#8220;143&#8243;;<br />
$this-&gt;sid	= &#8220;&#8221;;<br />
$this-&gt;tag	= 0;<br />
$this-&gt;_lastTag	= $this-&gt;tag;<br />
$this-&gt;currentMailbox	= &#8220;&#8221;;<br />
}</p>
<p>function __destruct()<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; LOGOUT\r\n&#8221;);<br />
}</p>
<p>function connect($host=&#8221;", $port=&#8221;", $ssl=false)<br />
{<br />
$this-&gt;host		= $host;<br />
$this-&gt;port		= $port;</p>
<p>if($ssl == true)<br />
{<br />
$this-&gt;host = &#8220;ssl://&#8221;.$host;<br />
}</p>
<p>$this-&gt;sock	= fsockopen($this-&gt;host, $this-&gt;port, $errno, $errstr);</p>
<p>if(!$this-&gt;_assumedNextLine(&#8216;* OK&#8217;))<br />
{<br />
echo &#8216;FAIL CONNECT&#8217;;<br />
}<br />
}</p>
<p>function getTag()<br />
{<br />
$this-&gt;tag	= $this-&gt;tag +1;<br />
$this-&gt;_lastTag	= &#8220;A000&#8243;.$this-&gt;tag;</p>
<p>return $this-&gt;tag;<br />
}</p>
<p>function login($username, $pass)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; LOGIN &#8220;.$username.&#8221; &#8220;.$pass.&#8221;\r\n&#8221;);<br />
if(!$this-&gt;_assumedNextLine($this-&gt;_lastTag))<br />
{</p>
<p>}<br />
}</p>
<p>function selectMailBox($mailbox)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; SELECT &#8220;.$mailbox.&#8221;\r\n&#8221;);<br />
$this-&gt;currentMailbox	= $mailbox;</p>
<p>$this-&gt;readResponse($this-&gt;_lastTag);<br />
}</p>
<p>function countMessages()<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; SEARCH ALL\r\n&#8221;);<br />
$response	= $this-&gt;readResponse($this-&gt;_lastTag);</p>
<p>foreach($response as $id)<br />
{<br />
if($id[0] == &#8220;S&#8221;)<br />
{<br />
$count	= count_chars($id, 1);<br />
}<br />
}<br />
return $count[32];<br />
}</p>
<p>public function getSubject($msgId)<br />
{<br />
if(empty($msgId))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[HEADER.FIELDS (subject)]&#8220;);</p>
<p>$array	= array();<br />
while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag))<br />
{<br />
if(!empty($tokens) &amp;&amp; preg_match(&#8220;/FETCH/&#8221;, $tokens))<br />
{<br />
$msgId	= preg_split(&#8220;/ /&#8221;, $tokens, 2);<br />
$msgId	= $msgId[0];<br />
}<br />
if(!empty($tokens) &amp;&amp; !preg_match(&#8220;/FETCH/&#8221;, $tokens))<br />
{<br />
$array[]	= array(&#8220;id&#8221;		=&gt; $msgId,<br />
&#8220;subject&#8221;	=&gt; $tokens);<br />
}<br />
}<br />
return mb_decode_mimeheader($array[0]['subject']);</p>
<p>}</p>
<p>public function getMsgText($msgId=&#8221;")<br />
{<br />
if(empty($msgId))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[TEXT]&#8220;);</p>
<p>$array		= array();<br />
$array[]	= &#8220;=?ISO-8859-1?Q?&#8221;;<br />
while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag, $tag))<br />
{<br />
$array[]	.= $tag.&#8217; &#8216;.$tokens;<br />
}<br />
//Löschen der 1. und letzten Response<br />
unset($array[1]);				//FETCH<br />
unset($array[count($array)]);	//Klammer</p>
<p>$array = array_values($array);</p>
<p>//Array2String<br />
$array	= implode(&#8221;, $array);</p>
<p>//Decodieren und Zeilenumbrüche setzten<br />
return nl2br(mb_decode_mimeheader($array));<br />
}</p>
<p>public function getFromOrTo($msgId=&#8221;", $fromOrTo=&#8221;")<br />
{<br />
if(empty($msgId) || empty($fromOrTo))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[HEADER.FIElDS (".$fromOrTo.")]&#8220;);</p>
<p>while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag))<br />
{<br />
if(!isset($return) &amp;&amp; !preg_match(&#8216;/FETCH/&#8217;, $tokens))<br />
{<br />
$return	= htmlspecialchars($tokens);<br />
}<br />
}<br />
return mb_decode_mimeheader($return);<br />
}</p>
<p>private function fetch($command, $param=false)<br />
{<br />
if(!$param)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; FETCH &#8220;.$command.&#8221;\r\n&#8221;);<br />
}<br />
else<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; FETCH &#8220;.$command.&#8221; &#8220;.$param.&#8221;\r\n&#8221;);<br />
}<br />
}</p>
<p>function _nextLine()<br />
{<br />
$line = @fgets($this-&gt;sock);<br />
if ($line === false)<br />
{<br />
echo &#8216;FAIL!!&#8217;;<br />
return false;<br />
}<br />
return $line;<br />
}</p>
<p>protected function _assumedNextLine($start)<br />
{<br />
$line = $this-&gt;_nextLine();<br />
return strpos($line, $start) === 0;<br />
}</p>
<p>public function readLine(&amp;$tokens = array(), $wantedTag = &#8216;*&#8217;, &amp;$tag=&#8221;")<br />
{<br />
$line = $this-&gt;_nextTaggedLine($tag);<br />
$tokens = $line;<br />
$tag	= $tag;</p>
<p>if(($tag == &#8220;A000&#8243;.$this-&gt;tag) || ($tag == $wantedTag))<br />
{<br />
return $tag;<br />
}<br />
}</p>
<p>public function readResponse($tag=&#8221;*&#8221;)<br />
{<br />
if($tag	== &#8220;lastTag&#8221;)<br />
{<br />
$tag	= $this-&gt;_lastTag;<br />
}<br />
$lines = array();<br />
while (!$this-&gt;readLine($tokens, $tag)) {<br />
$lines[] = $tokens;<br />
}</p>
<p>return $lines;<br />
}</p>
<p>protected function _nextTaggedLine(&amp;$tag)<br />
{<br />
$line = $this-&gt;_nextLine();</p>
<p>// seperate tag from line<br />
@list($tag, $line) = explode(&#8216; &#8216;, $line, 2);</p>
<p>return $line;<br />
}<br />
}</p></blockquote>
<p>Vielleicht kann diese Klasse ja jemanden Helfen, der ein ähnliches Problem hat, ich würde mich dann auf jeden Fall über ein Kommentar freuen.</p>
<p>Ich muss dazu sagen, das ich bei meiner Suche natürlich auch auf andere Klassen gestoßen bin, welche bei mir jedoch alle nicht Problemlos liefen. Dazu kommt, das ich natürlich gerne weiß, was mein Programm macht und ich in den Ferien auch Zeit dafür habe, so etwas selbst zu schreiben.</p>
<p>Kleiner Tipp noch am Rande, wer plant auch einige eigene Klasse zu schreiben, dem kann <a href="http://www.wireshark.org/">Wireshark</a> echt gut helfen!<br />
Ich hatte zum Beispiel das Problem, das schon die 2. Anfrage gesendet wurde, bevor die 1. Anfrage zurück kam, trotz eines <em>sleep(2)</em>, solche Fehler kann man eher schlecht aus einer Protokolldokumentation entnehmen. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Achja, hier noch die Klassen, die ich so ausprobiert habe und von welchen Einflüsse in meinem Code sind:</p>
<p>Zend Mail aus dem Zend Framework + <a href="http://www.phpgangsta.de/imap-emails-lesen-mit-dem-zend-framework">diese Anleitung von PHP Gangsta</a></p>
<p>Net_IMAP aus der PEAR Bibliothek.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palm Pre: Manueler SMS Counter [Update4]</title>
		<link>http://blog.andreflemming.de/2010/04/30/palm-pre-manueler-sms-counter/</link>
		<comments>http://blog.andreflemming.de/2010/04/30/palm-pre-manueler-sms-counter/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:07:30 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=656</guid>
		<description><![CDATA[Update: SMS Counter app ist fertig! Weitere Infos: http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/ Seit dem 9.4.10 bin ich im Besitz eines Palm Pre, natürlich muss man erstmal gucken was diese Dingen für Funktionen hat. Dabei ist mir in den letzten Tagen leider immer wieder aufgefallen, das mir eine Funktion doch sehr fehlt. Nämlich die SMS Zähl Funktion, zur Zeit [...]]]></description>
			<content:encoded><![CDATA[<p>Update: SMS Counter app ist fertig! Weitere Infos: <a href="http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/">http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/</a></p>
<p>Seit dem 9.4.10 bin ich im Besitz eines Palm Pre, natürlich muss man erstmal gucken was diese Dingen für Funktionen hat.</p>
<p>Dabei ist mir in den letzten Tagen leider immer wieder aufgefallen, das mir eine Funktion doch sehr fehlt. Nämlich die SMS Zähl Funktion, zur Zeit gibt es noch keine (mir bekannte) Möglichkeit über ein Programm auf dem Pre einzusehen, wie viele SMS man geschrieben hat.</p>
<p>Da ich einen Vertrag bei O2 habe und dieser 100 Frei-SMS enthält wäre so eine Funktion aber schon sehr praktisch.</p>
<p>Also habe ich mich mal auf die Suche gemacht, zuerst einen SSH Zugang zu meinem Handy gebaut, Anleitungen gibt es dazu viele im Netz. (Google hilft)</p>
<p>Nach einigem Suchen im Dateisystem fand ich die Datei <em>/var/luna/data/dbdata/PalmDatabase.db3</em>, diese habe ich mir auf meinen Rechner gezogen und mittels SQLite Database Browser (im AUR vorhanden (für die Linux Leute <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )) und folgendes eingetippt:</p>
<p><code>SELECT COUNT(*) FROM com_palm_pim_FolderEntry WHERE flags = '133' AND messageType='SMS'</code></p>
<p>Mit diesem SQL Befehl wird einem nun die Anzahl der SMS die man geschrieben hat und welche noch nicht gelöscht wurden, angezeigt. Natürlch keine super Lösung, ich überlege zur Zeit, das ich mir ein eigenes Programm schreibe was, die Anzahl der SMS ausgibt und damit auch für jeden Zugänglich ist.</p>
<p>Ich hoffe, das ich trotz der nicht wirklich vorhanden Ausführlichkeit des Artikels, doch einigen helfen konnte.</p>
<p>Leider muss ich jetzt auch schon wieder weg, sonst würde ich gerne mehr dazu schreiben und mich auch jetzt schonmal an ein Programm setzen.</p>
<p>[Update]: Damit ihr das Datum korrekt aus dem Timestamp raus ziehen könnt, müsst ihr die letzten 3 Ziffern von diesem entfernen, sonst bekommt ihr ein falsches Datum.<br />
Jemand eine Idee warum das so ist?</p>
<p>[Update2]: Hatte im SQL-Code nen Tippfehler is mir grade mal aufgefallen. Ist jetzt behoben. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
[Update3]: Endlich gibts was neues. Nachdem Peter in meinen Kommentaren geschrieben hatte, dass er so ein Programm sucht, ist wieder Bewegung in die Entwicklung gekommen. Und siehe da, mit ein bisschen Glück, ist das ganze auch gar kein Problem.<br />
So habe ich jetzt auf meinem Pre schon so ein Programm. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich feile jetzt noch ein wenig am Design und werde das ganze dann schnell für alle Zugänglichen machen, wohl erst einmal über einen eigenen Feed, welchen man in Preware importieren kann.</p>
<p>[Update4] Endlich ist es soweit, der SMS Counter ist online! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Weitere Infos: <a href="http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/">http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/04/30/palm-pre-manueler-sms-counter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Automatisch erkennen ob Feld Pflichtfeld ist [JQuery]</title>
		<link>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/</link>
		<comments>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 00:12:11 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wochenende]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=633</guid>
		<description><![CDATA[Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch einen Abfrage ob die Daten auch das richtige Format haben.</p>
<p>Natürlich könnte man für jedes Formular eine eigene Javascript Datei schreiben, in welcher man jedes Formularfeld prüfen lässt, welches Ausgefüllt werden muss. Da mir das aber zu viel Arbeit ist, habe ich mir gedacht ich lese einfach mittels Javascript alle &lt;label&gt; Felder aus, welche in ihrem Text ein * besitzen.</p>
<p>Das ganze habe ich mit dem Javascript Framework <a href="http://jquery.com" target="_blank">JQuery</a> realisiert.</p>
<p>Erst einmal ein Beispiel Formular:<br />
<code><br />
&lt;form method="post"&gt;<br />
&lt;label for="vorname"&gt;Vorname *&lt;/label&gt;<br />
&lt;input type="text" name="vorname" /&gt;&lt;br/&gt;<br />
&lt;label for="nachname"&gt;Nachname&lt;/label&gt;<br />
&lt;input type="text" name="nachname" /&gt;&lt;br/&gt;<br />
&lt;label for="gebDatum"&gt;Geburtsdatum *&lt;/label&gt;<br />
&lt;input type="text" name="gebDatum" /&gt;&lt;br/&gt;<br />
&lt;input type="submit" name="submit" value="Absenden" /&gt;<br />
&lt;/form&gt;</code></p>
<p>In diesem Formular sollen also der Vorname und das Geburtsdatum angegeben werden. Um zu überprüfen ob diese Daten wirklich eingetragen wurden, benötigen wir nun noch ein kleines Javascript. (Achtung: JQuery muss natürlich schon eingebunden sein)</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
$('input[type="submit"]').click(function() //Ausgeführt wenn submit-Button gedrückt<br />
{<br />
var    error    = false;<br />
var form    = $('form').children($(this)); //Suchen des Formulars<br />
var    label    = $(form).find('label:contains("*")'); //Finden der Label-Felder mit einem *<br />
$(label).each(function(index)<br />
{<br />
var name    = $(this).attr('for'); //Suche Namen für input-Feld<br />
if($('input[name='+name+']').val() == "") //Wenn input-Feld leer<br />
{<br />
error    = true;<br />
$('input[name='+name+']').addClass('inputError'); //Hinzufügen von CSS-Klasse<br />
}<br />
});<br />
if(error == true)<br />
{ //Nicht alle Felder ausgefüllt<br />
return false;<br />
}<br />
else<br />
{<br />
return true;<br />
}<br />
});<br />
&lt;/script&gt;</code></p>
<p>Mit diesem kleinen, aber meiner Meinung nach sehr hilfreichen Codeschnipsel kann man sich einiges an Arbeit sparen und dem User einiges an Wartezeit, da die Seite ja nicht erst neu geladen werden muss, bevor er angezeigt bekommt, das er einen Fehler gemacht hat.</p>
<p>Bestimmt kann man an diesem Skript noch viel verbessern, aber es erfüllt erst einmal Sinn und Zweck. Wenn jemand noch einen besseren Vorschlag hat, dann wäre ich dankbar diesen zu bekommen.</p>
<p>[Leider will WordPress den Code nicht so schön speichern wie er ursprünglich war <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ich hoffe ihr könnt ihn trotzdem lesen]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twittern per SMS</title>
		<link>http://blog.andreflemming.de/2009/11/11/twittern-per-sms/</link>
		<comments>http://blog.andreflemming.de/2009/11/11/twittern-per-sms/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 15:08:37 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Aktion]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[Kostenlos]]></category>
		<category><![CDATA[MeinVz]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Vz]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=562</guid>
		<description><![CDATA[Chriz hat einen sehr interessanten Artikel über Twittern per SMS verfasst, den ich euch natürlich nicht vorenthalten will. Das beste zuerst für Vodafone Kunden gibt es den Dienst zur Zeit kostenlos (Aktion läuft bis zum 31.12.2009 (evtl. wird diese verlängert))! Also wie geht das ganze den nun? Ganz einfach, ihr benötigt nur 3 Sachen natürlich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.andreflemming.de/wp-content/uploads/2009/11/icontexto-webdev-social-bookmark-09-bonus.png"><img class="alignleft size-full wp-image-563" title="Twitter" src="http://blog.andreflemming.de/wp-content/uploads/2009/11/icontexto-webdev-social-bookmark-09-bonus.png" alt="Twitter" width="256" height="256" /></a>Chriz hat einen sehr interessanten Artikel über <a href="http://www.chrizblog.de/kostenlos-auf-twitter-sms-schreiben/">Twittern per SMS</a> verfasst, den ich euch natürlich nicht vorenthalten will.</p>
<p>Das beste zuerst für Vodafone Kunden gibt es den Dienst zur Zeit kostenlos (Aktion läuft bis zum 31.12.2009 (evtl. wird diese verlängert))!</p>
<p>Also wie geht das ganze den nun?</p>
<p>Ganz einfach, ihr benötigt nur 3 Sachen natürlich einen Twitter Account, eine Handy mit einer Vodafon Karte und einen MeinVz, SchülerVz oder StudiVz Account.</p>
<p>Die Vz Gruppen bieten seit einiger Zeit eine Verknüpfung von Twitter Account und Buschfunk an, außerdem gibt es eine Aktion mit der man kostenlos (Vodafone, EPlus und O2 Kunden) SMS empfangen kann, darüber hinaus ist es auch möglich eine SMS mit seinem Aktuellen Status an den Buschfunk zu senden (für Vodafonekunden kostenlos).</p>
<p>Diese 2 Funktionen machen wir uns zum Nutzen.</p>
<p>1. Einloggen in ein Vz und den Twitter Account mit dem Profil verbinden (unter &#8220;Mein Account&#8221; möglich)</p>
<p>2. Handynummer mit dem Vz verknüpfen http://www.*vz.net/Notification (Link steht unter der Buschfunk Eingabe)</p>
<p>3. Freischaltungs SMS an das Vz schicken</p>
<p>4. Los Twittern. (Achtung nur 40 Tweets (/Buschfunknachrichten) in der Stunde!)</p>
<p>Ein kleiner Tipp von Chriz ist es einen neuen Account in einem Vz anzulegen, damit die Freunde nicht allzusehr genervt werden. Zur Zeit habe ich das noch nicht gemacht. Ich warte erst einmal ab, bis sich einer meiner Freunde beschwert. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Viel Spaß beim Twittern per SMS.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2009/11/11/twittern-per-sms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maleware springt nicht an</title>
		<link>http://blog.andreflemming.de/2009/07/29/maleware-springt-nicht-an/</link>
		<comments>http://blog.andreflemming.de/2009/07/29/maleware-springt-nicht-an/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:12:39 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Maleware]]></category>
		<category><![CDATA[MSN]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Virtueller PC]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=397</guid>
		<description><![CDATA[Gestern war ich bei einer Freundin und die ganze Zeit ging bei dem PC Firefox auf und hat sich mit einer Seite verbunden. Ganz klar, es handelt sich auf jeden Fall um unerwünschte Software! Auf den PC kam das ganze durch einen Link der per MSN weiter geschickt wurde. Wenn man auf diesen Link klickt, [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-398" href="http://blog.andreflemming.de/2009/07/29/maleware-springt-nicht-an/wow_1248865211099/"><img class="alignright size-medium wp-image-398" title="Maleware installations Aufforderung" src="http://blog.andreflemming.de/wp-content/uploads/2009/07/WoW_1248865211099-300x268.jpg" alt="Maleware installations Aufforderung" width="300" height="268" /></a>Gestern war ich bei einer Freundin und  die ganze Zeit ging bei dem PC Firefox auf und hat sich mit einer Seite verbunden.<br />
Ganz klar, es handelt sich auf jeden Fall um unerwünschte Software!</p>
<p>Auf den PC kam das ganze durch einen Link der per MSN weiter geschickt wurde. Wenn man auf diesen Link klickt, wird man aufgefordert ein Update für den Flashplayer herunter zuladen, damit man das Video sehen kann.</p>
<p>Wenn man diese Datei ausführt, installiert sich dann die Maleware auf dem Computer und man kann natürlich das Video immer noch nicht gucken, da es überhaupt keins gibt.</p>
<p>Nach der Installation der Maleware passiert auch nichts weiter, es wird keine Meldung ausgegeben oder sonst etwas, jedoch ist der eigene PC jetzt eine auf eine Linkschleuder und schickt einen neuen Link an alle Freunde aus der MSN Kontaktliste und damit geht das Spiel wieder von vorne los.</p>
<p>Im Internet auf trojaner-board.de gibt es schon einige Leute welche dieses Problem haben und wohl auch gelöst haben, allerdings finde ich die Anleitung etwas spärlich beschrieben. Deswegen habe ich mir diese Maleware auf einem Virtuellen PC auch installiert und warte nun ab, das diese endlich eine Seite öffnet, damit ich sicher gehen kann, das diese aktiv ist. Dann möchte ich diese Maleware löschen und dazu eine etwas längere Anleitung schreiben, wie man diese löscht, damit auch alle die Chance haben, diese Software selbstständig zu löschen.</p>
<p>Nur wie soll ich diese Maleware löschen, wenn diese keine aktiven Bewegungen zeigt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Irgendwie merkt man ja schon das Ferien sind und ich langeweile habe. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ich halte euch auf jeden Fall auf dem laufendem!</p>
<p>[Update] Das entfernen ging bei mir in der Virtuellen Maschine und auch an einem Befallenen PC ohne Probleme, mit den Programmen: HijackThis &amp; Malewarebytes&#8217; Anti-Maleware</p>
<p>Wichtig ist hierbei wohl das die adlaunch32.dll entfernt wird, diese wird von Malewarebytes&#8217; Anit Maleware allerdings auch sofort gefunden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2009/07/29/maleware-springt-nicht-an/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bilder sortieren unter Linux</title>
		<link>http://blog.andreflemming.de/2009/07/14/bilder-sortieren-unter-linux/</link>
		<comments>http://blog.andreflemming.de/2009/07/14/bilder-sortieren-unter-linux/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 23:58:25 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Bilder]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=332</guid>
		<description><![CDATA[Heute hatte ich mal wieder das Problem, das ich Bilder von 2 verschiedenen Kameras hatte und diese sortieren musste. Natürlich könnte man alle Bilder Manuel umbenennen, allerdings dauert das ganze ziemlich lange und ist lästig. Also habe ich mich ein wenig auf die Suche begeben und bin nach einiger Zeit auf fündig geworden. Zwar ist [...]]]></description>
			<content:encoded><![CDATA[<p>Heute hatte ich mal wieder das Problem, das ich Bilder von 2 verschiedenen Kameras hatte und diese sortieren musste.</p>
<p>Natürlich könnte man alle Bilder Manuel umbenennen, allerdings dauert das ganze ziemlich lange und ist lästig.</p>
<p>Also habe ich mich ein wenig auf die Suche begeben und bin nach einiger Zeit auf fündig geworden. Zwar ist es ein Workaround, aber es funktioniert ohne Probleme.</p>
<p>Zuerst muss man sich <a href="http://picasa.google.de/">Picasa von Google</a> downloaden (Bei Archlinux geht dies auch über den Paketmanager). Nachdem Picasa dann alle Dateien gescannt hat, sucht man den Ordner in dem die zu sortierenden Bilder liegen.</p>
<p>Nun sortiert man diese Bilder per Drag &amp; Drop. Wenn man mit dem sortieren fertig ist, exportiert man den Ordner als HTML Seite <em>(Ordner -&gt; Als HTML-Seite exportieren &#8230;)</em>. Dabei ist zu beachten, das man die index Datei im XML Format exportiert!</p>
<p>Nun lädt man sich das Script <a href="http://http://sourceforge.net/projects/picasaorderpres/">Picasa Export Order Preserver.jar</a> herrunter und führt es in dem Ordner wo die index.xml Datei liegt aus. (Über die Konsole mit: <code>java -jar PicasaExportOrderPreserver.jar</code>)</p>
<p>Das Script speichert die Bilder mit 3 Zahlen vor dem eigentlichen Namen in dem Ordner &#8220;<em>ImageSorted</em>&#8220;, von dort aus kann man die Bilder dann wieder in den eigentlichen Ordner kopieren, oder sonst etwas damit machen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2009/07/14/bilder-sortieren-unter-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress, Beitrag wird nicht erstellt</title>
		<link>http://blog.andreflemming.de/2009/06/16/wordpress-beitrag-wird-nicht-erstellt/</link>
		<comments>http://blog.andreflemming.de/2009/06/16/wordpress-beitrag-wird-nicht-erstellt/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 12:55:58 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Blogsystem]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Pytal]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=218</guid>
		<description><![CDATA[Seit einiger Zeit, ich glaube sogar seitdem ich auf WordPress umgestiegen bin, hatte ich das Problem, das meine Beiträge nicht direkt Veröffentlicht bzw. gespeichert werden konnten (Speichern ging nur über das Automatische Speichern). Ich musste die Beiträge nach dem Automatischen speichern immer erst Bearbeiten und konnte diese dann bearbeiten. Das war mir natürlich schon länger [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einiger Zeit, ich glaube sogar seitdem ich auf WordPress umgestiegen bin, hatte ich das Problem, das meine Beiträge nicht direkt Veröffentlicht bzw. gespeichert werden konnten (Speichern ging nur über das Automatische Speichern).</p>
<p>Ich musste die Beiträge nach dem Automatischen speichern immer erst Bearbeiten und konnte diese dann bearbeiten.</p>
<p>Das war mir natürlich schon länger ein Dorn im Auge &#8230; aber ich hatte nie Zeit und Lust mich darum zu kümmern. Obwohl es doch eigentlich so einfach ist.</p>
<p>Heute habe ich mir dann mal die Zeit genommen und folgende Lösung gefunden:</p>
<blockquote>
<ol>
<li> Öffnen der Datei /wp-admin/admin-ajax.php</li>
<li>@header(&#8216;Content-Type: text/html; charset=&#8217; . get_option(&#8216;blog_charset&#8217;)); mit @header(&#8216;Content-Type: text/plain; charset=&#8217; . get_option(&#8216;blog_charset&#8217;)); ersetzte</li>
<li>Das ganze hochladen</li>
</ol>
</blockquote>
<p>Das Problem soll wohl an den Werbeeinblendungen von <a href="http://pytal.de">Pytal</a> (meinem Webhoster) liegen, was ich mir zwar nicht vorstellen kann, aber jetzt geht es zumindest wieder alles <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2009/06/16/wordpress-beitrag-wird-nicht-erstellt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

