<?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; Computer</title>
	<atom:link href="http://blog.andreflemming.de/category/pc/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>[PHP] Email Adressen automatisch anklickbar machen</title>
		<link>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/</link>
		<comments>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 00:28:11 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=782</guid>
		<description><![CDATA[Heute Mittag habe ich schon über das erstellen von anklickbaren Links mittels der PHP Funktion preg_replace geschrieben. Das ganze habe ich nun etwas bearbeitet und habe jetzt eine Funktion, die mir Email Adressen anklickbar macht und dabei netter weise noch ein wenig vor Spambots schützt. Den Code dafür findet ihr hier: https://gist.github.com/1420919 Dort steht in [...]]]></description>
			<content:encoded><![CDATA[<p>Heute Mittag habe ich schon über das <a href="http://blog.andreflemming.de/2011/12/01/php-links-aus-text-generieren/">erstellen von anklickbaren Links mittels der PHP Funktion preg_replace</a> geschrieben.</p>
<p>Das ganze habe ich nun etwas bearbeitet und habe jetzt eine Funktion, die mir Email Adressen anklickbar macht und dabei netter weise noch ein wenig vor Spambots schützt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Den Code dafür findet ihr hier: <a href="https://gist.github.com/1420919">https://gist.github.com/1420919</a></p>
<p>Dort steht in dem Kommentar auch was ihr zusätzlich benötigt, damit die Email Adressen wirklich anklickbar sind.</p>
<p>Ich habe jetzt auch keine Lust mehr, mehr zu schreiben.<br />
Wünsche euch allen eine gute Nacht!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Links aus Text generieren.</title>
		<link>http://blog.andreflemming.de/2011/12/01/php-links-aus-text-generieren/</link>
		<comments>http://blog.andreflemming.de/2011/12/01/php-links-aus-text-generieren/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 17:33:42 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=778</guid>
		<description><![CDATA[Heute gibt es mal wieder etwas neues in meinem Blog, aber wie immer nichts langes. Dafür ist es heute aber mal wieder nützlich für einige Leute. Ich stand vor dem Problem, naja ok es war eher ne Herausforderung die ich bewältigen wollte,  Links in einem HTML Formatierten Text zu erkennen und dann mit einem a-Tag [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibt es mal wieder etwas neues in meinem Blog, aber wie immer nichts langes. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Dafür ist es heute aber mal wieder nützlich für einige Leute.</p>
<p>Ich stand vor dem Problem, naja ok es war eher ne Herausforderung die ich bewältigen wollte,  Links in einem HTML Formatierten Text zu erkennen und dann mit einem a-Tag zu versehen, so das diese anklickbar sind.</p>
<p>&nbsp;</p>
<p>Also einfach den ganzen HTML Code  mittels preg_replace_callback &amp; preg_match versucht so umzuformen, dass die Links anklickbar sind.</p>
<p>An sich keine große Sache, einfach alle Textstellen finden, die das Format eines Links haben. Dabei kam es aber immer wieder zu Problemen.</p>
<p>Was mache ich zum Beispiel, wenn der Link schon in einem a-Tag steht?</p>
<p>Nach vielen solcher Probleme habe ich mich dann ans Googeln begeben, irgendwer muss doch schon einmal die selbe Idee gehabt haben. Bei Google habe ich allerdings nichts anständiges gefunden.</p>
<p>Dann kam mir die Idee, versuch es doch einfach mal bei <a title="github" href="http://github.com">github.com</a>!</p>
<p>Und siehe da, ich wurde fündig. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Natürlich möchte ich euch den Code nicht vorenthalten.<br />
<code><br />
function auto_link_text($text) {<br />
$regexp = '/<br />
( # leading text<br />
| # leading HTML tag, or<br />
[^=!:\'"\/]| # leading punctuation, or<br />
^ # beginning of line<br />
)<br />
(<br />
(?:https?:\/\/)| # protocol spec, or<br />
(?:www\.) # www.*<br />
)<br />
(<br />
[-\w]+ # subdomain or domain<br />
(?:\.[-\w]+)* # remaining subdomains or domain<br />
(?::\d+)? # port<br />
(?:\/(?:(?:[~\w\+%-]|(?:[,.;:][^\s$]))+)?)* # path<br />
(?:\?[\w\+%&amp;=.;-]+)? # query string<br />
(?:\#[\w\-]*)? # trailing anchor<br />
)<br />
([[:punct:]]|\s| /x';</p>
<p>return preg_replace_callback($regexp, function($matched) {<br />
list($all, $before, $protocol, $address, $after) = $matched;</p>
<p>// already linked<br />
if (preg_match('/</p>
<p>return "$before<a href="\&quot;$protocol$address\&quot;">$text</a>$after";<br />
}, $text);<br />
}<br />
</code></p>
<p>Zu finden natürlich auch direkt auf github unter: <a href="https://gist.github.com/907604">https://gist.github.com/907604</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/12/01/php-links-aus-text-generieren/feed/</wfw:commentRss>
		<slash:comments>1</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: SMS Counter &#8211; Version 0.0.3</title>
		<link>http://blog.andreflemming.de/2010/09/08/palm-pre-sms-counter-version-0-0-3/</link>
		<comments>http://blog.andreflemming.de/2010/09/08/palm-pre-sms-counter-version-0-0-3/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 15:07:37 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Freisms]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[SMS Counter]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=721</guid>
		<description><![CDATA[Heute gibt es mal einen minimalen Versionssprung von dem SMS Counter. Ab sofort ist der Palm Pre SMS Counter in der Version 0.0.3 erhältlich, einige Bugs wurden behoben und die Funktion zur Auswahl des Reset-Tages wurde geschaffen. Die Einstellungsmöglichkeiten findet ihr ab sofort im Menü (Links oben). Damit kann ich endlich diese Funktion auf der [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibt es mal einen minimalen Versionssprung von dem SMS Counter.</p>
<p>Ab sofort ist der Palm Pre SMS Counter in der Version 0.0.3 erhältlich, einige Bugs wurden behoben und die Funktion zur Auswahl des Reset-Tages wurde geschaffen.</p>
<p>Die Einstellungsmöglichkeiten findet ihr ab sofort im Menü (Links oben).</p>
<p>Damit kann ich endlich diese Funktion auf der To-Do Liste streichen. Bleiben nur noch ein paar. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Die neue Version wurde natürlich schon in den Preware Stream (<a href="http://daslampe.lano-crew.org/webOs">http://daslampe.lano-crew.org/webOs</a>) eingespeißt.</p>
<p>Auf dieser Seite findet ihr auch die jeweils aktuelle Version zum manuellen Download.</p>
<p>Viel Spaß mit der App!</p>
<p>Über Kommentare und Anregungen freue ich mich natürlich weiterhin.</p>
<p>Natürlich freue ich mich auch über eine kleine Spende, für meine Arbeit:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="EJSBV2V3SSGVC">
<input type="image" src="https://www.paypal.com/de_DE/DE/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
<img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1"><br />
</form>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/09/08/palm-pre-sms-counter-version-0-0-3/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Palm Pre: SMS Counter &#8211; Version 0.0.1 [Update]</title>
		<link>http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/</link>
		<comments>http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 22:00:31 +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[Palm Pre]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[SMSCounter]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=713</guid>
		<description><![CDATA[Endlich ist es soweit, ich kann den Palm Pre SMS Counter Vorstellen! Lange hat es gedauert, aber jetzt ist er doch online. Das ganze ist mehr oder weniger noch in der Testphase, und sollte in den nächsten Tagen und Wochen wohl noch mehrere Updates bekommen, weil es bestimmt noch einige Bugs gibt. Daher wäre es [...]]]></description>
			<content:encoded><![CDATA[<p>Endlich ist es soweit, ich kann den Palm Pre SMS Counter Vorstellen! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Lange hat es gedauert, aber jetzt ist er doch online.</p>
<p>Das ganze ist mehr oder weniger noch in der Testphase, und sollte in den nächsten Tagen und Wochen wohl noch mehrere Updates bekommen, weil es bestimmt noch einige Bugs gibt.</p>
<p>Daher wäre es nett, wenn ihr in den Kommentaren Bugs melden würdet, damit ich diese beheben kann.</p>
<p>Nun aber zum SMS Counter selbst.</p>
<p>Das ganze funktioniert über einen Daemon, welcher in einem Extra Paket installiert werden muss, keine Angst, Preware erkennt das Automatisch und installiert direkt beides.</p>
<p>Nachdem der Daemon installiert ist, liest dieser die PalmDatabase.db3 alle 5 Minuten aus und schreibt das Ergebnis in eine JSON Datei, woraus das Interface mit Daten versorgt wird.</p>
<p>In dieser JSON Datei stehen zur Zeit die Daten über Gesendete SMS Heute, im Aktuellen Monat und die Gesamtanzahl, alles beruhend auf den Daten aus der PalmDatabase.db3, daher gibt es hier keinen Anspruch auf Richtigkeit! Außerdem wird in der Datei noch die Zeit der Erstellung gespeichert, damit man im Programm sehen kann, von wann dieser Counterstand ist.</p>
<p>Fürs erste sollte das reichen, hoffe ich. Weitere Vorschläge nehme ich natürlich gerne an.</p>
<p>Hier mal eine kleine Liste mit den Sachen die ich geplant habe:</p>
<ul>
<li>Monatsanfang selbst bestimmen. Zur Zeit ist Monatsanfang immer der 1.</li>
<li>Timestamp nicht mehr von Webseite holen, sondern im Gerät selbst erzeugen. (Jemand nen Tipp?)</li>
<li>Refresh Button, im Prinzip Manuelles ausführen des Daemon</li>
<li>Speichern der Daten in einer &#8220;richtigen&#8221; Datenbank</li>
</ul>
<p>So genug um den heißen Brei geredet!</p>
<p>Zum installieren benötigt ihr <a href="http://www.preware.org/#/index/">Preware</a> oder WebOSQuickInstall, damit lässt sich der Daemon installieren.</p>
<p>Wenn ihr Preware benutzt, dann muss ein neues Feed erstellt werden (wird sich später wohl ändern).</p>
<p>Die Adresse ist: <a href="http://daslampe.lano-crew.org/webOs">http://daslampe.lano-crew.org/webOs</a></p>
<p>Solltet ihr einfach nur die Dateien benötigen, dann gibts diese hier zum Download:</p>
<p>[Update]:</p>
<p><a href="http://blog.andreflemming.de/2010/09/08/palm-pre-sms-counter-version-0-0-3/">Ab sofort ist Version 0.0.3 Verfügbar! Mehr dazu hier &#8230;</a></p>
<p><span style="text-decoration: line-through;">App &#8211; <a href="http://daslampe.lano-crew.org/webOs/org.daslampe.smscounter_0.0.1_all.ipk">http://daslampe.lano-crew.org/webOs/org.daslampe.smscounter_0.0.1_all.ipk</a></span></p>
<p><span style="text-decoration: line-through;">Daemon &#8211; <a href="http://daslampe.lano-crew.org/webOs/org.daslampe.smscounterd_0.0.1_all.ipk">http://daslampe.lano-crew.org/webOs/org.daslampe.smscounterd_0.0.1_all.ipk</a></span></p>
<p>Bei Problemen, auch bei Problemen mit der Installation, kann man mich natürlich gerne anschreiben!</p>
<p>Viel Spaß mit dem SMS Counter!</p>
<p>Ihr könnt mir natürlich auch ein kleinen Betrag für meine Arbeit spenden.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="EJSBV2V3SSGVC">
<input type="image" src="https://www.paypal.com/de_DE/DE/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
<img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1"><br />
</form>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/08/31/palm-pre-sms-counter-version-0-0-1/feed/</wfw:commentRss>
		<slash:comments>4</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>Programme einfach und schnell installieren</title>
		<link>http://blog.andreflemming.de/2010/07/01/programme-einfach-und-schnell-installieren/</link>
		<comments>http://blog.andreflemming.de/2010/07/01/programme-einfach-und-schnell-installieren/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 13:13:54 +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[Firefox]]></category>
		<category><![CDATA[Formatieren]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Zeit]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=680</guid>
		<description><![CDATA[Dank meines Palm Pre (bei dem ich leider immer noch nicht einen Daemon installiert bekomme (wenn jemand weiter helfen kann bitte melden)), konnte ich heute in der Schule einen ziemlich interessanten Artikel von WebmasterPro.de lesen. Bei diesem Artikel geht es dadrum, wichtige Programme, die man eigentlich auf jedem Rechner haben sollte, zu installieren. Wer kennt [...]]]></description>
			<content:encoded><![CDATA[<p>Dank meines Palm Pre (bei dem ich leider immer noch nicht einen Daemon installiert bekomme (wenn jemand weiter helfen kann bitte melden)), konnte ich heute in der Schule einen ziemlich interessanten Artikel von <a href="http://www.webmasterpro.de/portal/news/2010/07/01/wichtigste-freeware-software-direkt-aus-dem-internet-installieren.html">WebmasterPro.de</a> lesen.</p>
<p>Bei diesem Artikel geht es dadrum, wichtige Programme, die man eigentlich auf jedem Rechner haben sollte, zu installieren.</p>
<p>Wer kennt das nicht, man formatiert, was bei Windows ja öfter vorkommen soll <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . Und dann sitzt man Stunden vorm PC und installiert wieder alle Programme, wie z.B. Firefox oder VLC Player usw.</p>
<p>Eine Abhilfe sollen 2 Webseiten bringen, welche das installieren, von kostenlosen Programmen übernehmen.</p>
<p>Zum einen ist das <a href="http://ninite.com">ninite.com</a> und zum anderen <a href="http://www.allmyapps.com/">allmyapps.com</a>.</p>
<p>Bei diesen 2 Webseiten wählt man, laut Beschreibung einfach die Programme aus und klickt auf weiter. Die Webseite spuckt nun eine Exe Datei aus, welche alle Programm installieren soll.</p>
<p>Schön für Ubuntu Benutzer, bei allmyapps, können auch diese diesen Service nutzen. Allerdings muss man sich bei diesem Service irgendwie anmelden, was ich persönlich nicht so gerne mache.</p>
<p>Ich selbst habe beide Webseiten nicht wirklich ausprobiert, da ich mit<a href="http://archlinux.org"> Arch Linux</a> arbeite. Wenn jemand also Erfahrungen gemacht hat, kann er/sie diese gerne als Kommentar Posten!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/07/01/programme-einfach-und-schnell-installieren/feed/</wfw:commentRss>
		<slash:comments>0</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>
	</channel>
</rss>

