<?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>drailing.net &#187; Entwicklung</title>
	<atom:link href="http://www.drailing.net/index.php/category/entwicklung/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drailing.net</link>
	<description>informatik, entwicklung, codeschnipsel und studium - von und mit dreiling</description>
	<lastBuildDate>Thu, 12 Aug 2010 19:21:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Probleme und Lösungen mit JS/jQuery</title>
		<link>http://www.drailing.net/index.php/2010/07/probleme-und-losungen-mit-jquery/</link>
		<comments>http://www.drailing.net/index.php/2010/07/probleme-und-losungen-mit-jquery/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 10:38:40 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[JS / AJAX]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=561</guid>
		<description><![CDATA[Nachdem ich mich die letzte Woche mit jQuery etwas beschäftigt habe, möchte ich hier einmal kurz die aufgetretenen Probleme und die damit verbundenen Lösungen festhalten:
Parallele Abläufe
Da es in Javascript und somit auch in jQuery keine Threads gibt und eine endlose while Schleife keine Parallelität bietet (und ausserdem den Browser abstürzen lässt) muss ein anderes Konstrukt [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich mich die letzte Woche mit jQuery etwas beschäftigt habe, möchte ich hier einmal kurz die aufgetretenen Probleme und die damit verbundenen Lösungen festhalten:</p>
<p><strong>Parallele Abläufe</strong><br />
Da es in Javascript und somit auch in jQuery keine Threads gibt und eine endlose while Schleife keine Parallelität bietet (und ausserdem den Browser abstürzen lässt) muss ein anderes Konstrukt herhalten. Die Lösung hier lautet Rekursion (schön erklärt von <a href="http://javathreads.de/2010/04/begriffe-endlosschleife-und-rekursion-anschaulich-durch-buch-glossar-erklaert/">Markus Kühle auf Javathreads</a>).</p>
<p><strong>setTimeout mit Parametern</strong><br />
Auf anhieb findet man für die Rekursion viele Beispiele mit der setTimeout Methode, leider aber immer ohne Parameterübergabe (in meinem Beispiel der CountUp):</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;countUp()&quot;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Sobald nun countUp() mit einem Parameter übergeben werden soll, funktioniert dieser Aufruf nicht mehr. Die Lösung war, den ersten Parameter der setTimeout Methode durch eine Funktion zu ersetzen:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">setTimeout<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	countUp<span style="color: #009900;">&#40;</span>date<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Countup und die Zeit</strong><br />
Ich hatte eigentlich erwartet dass mich Google mit kleinen Codeschnipseln überhäuft wenn es um einen Simplen Countup für Zeit geht. Gefunden habe ich ein paar wenige, die aber so unschön anzuschauen waren, dass ich mir kurzerhand was kleines Simples selbst zusammengeschrieben habe:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//Parameter inzwischen global um einfach und dynamisch zur Laufzeit zu ändern</span>
<span style="color: #003366; font-weight: bold;">var</span> year<span style="color: #339933;">,</span> month<span style="color: #339933;">,</span> day<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> countUp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">//month-1 da die Monate von 0-11 codiert sind</span>
	<span style="color: #003366; font-weight: bold;">var</span> startDate <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span>year<span style="color: #339933;">,</span> month<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span> day<span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> currentDate <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> diff <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span>currentDate.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> startDate.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//(diff.getYear()-70) da der Zeitliche Nullpunkt bei 1970 liegt, und wir nur die Anzahl der Jahre benötigen</span>
	<span style="color: #003366; font-weight: bold;">var</span> diffString <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Years &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>diff.<span style="color: #660066;">getYear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #CC0000;">70</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; Months &quot;</span> <span style="color: #339933;">+</span> diff.<span style="color: #660066;">getMonth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; Days &quot;</span> <span style="color: #339933;">+</span> diff.<span style="color: #660066;">getDate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> 
		<span style="color: #3366CC;">&quot; Hours &quot;</span> <span style="color: #339933;">+</span> diff.<span style="color: #660066;">getHours</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; Minutes &quot;</span> <span style="color: #339933;">+</span> diff.<span style="color: #660066;">getMinutes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; Seconds &quot;</span> <span style="color: #339933;">+</span> diff.<span style="color: #660066;">getSeconds</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">//String schreiben</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#countUpDiv'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>diffString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">//rekursiver Aufruf</span>
	setTimeout<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		countUp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>noch ein Tip zum Schluss</strong><br />
Um die komplette jQuery Doku auch offline (solls ja ab und zu geben&#8230;) nutzen zu können, gibts diese auch als PDF oder sogar als Windows Help File zum Download.<br />
<a href="http://docs.jquery.com/Alternative_Resources">Link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/07/probleme-und-losungen-mit-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nichtraucher mit jQuery</title>
		<link>http://www.drailing.net/index.php/2010/07/nichtraucher-mit-jquery/</link>
		<comments>http://www.drailing.net/index.php/2010/07/nichtraucher-mit-jquery/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 14:00:49 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[JS / AJAX]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=551</guid>
		<description><![CDATA[Nachdem ich seit inzwischen 3 Wochen dem Laster des Rauchens trotze und in meiner freien Zeit vor Praxisphase und Bachelorarbeit noch etwas sinnvolles machen wollte, habe ich mich etwas mit dem Javascript/AJAX Framework jQuery beschäftigt. Beides kombiniert, kommt bei mir eine kleine Nichtraucher&#8221;Uhr&#8221; raus:
Zur Zeit wird das Datum der letzten Zigarette (, durchschnittliches Gerauche und [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich seit inzwischen 3 Wochen dem Laster des Rauchens trotze und in meiner freien Zeit vor Praxisphase und Bachelorarbeit noch etwas sinnvolles machen wollte, habe ich mich etwas mit dem Javascript/AJAX Framework jQuery beschäftigt. Beides kombiniert, kommt bei mir eine kleine Nichtraucher&#8221;Uhr&#8221; raus:</p>
<p>Zur Zeit wird das Datum der letzten Zigarette (, durchschnittliches Gerauche und Preis einer Schachtel erfasst und daraus die Zeit als Nichtraucher und das dabei gesparte Geld errechnet.</p>
<p><a href="http://smoking.drailing.net/"><img src="http://www.drailing.net/wp-content/uploads/2010/07/NonSmoking_1279806743864.png" alt="" title="NonSmoking_1279806743864" width="600" height="250" class="aligncenter size-full wp-image-553" /></a></p>
<p>In Zukunft wird die Toplist noch um das gesparte Geld erweitert, eine kleine API gebastelt die die &#8220;Uhr&#8221; ausgeben kann (ohne angemeldet zu sein) und bei ganz viel Laune wird noch das Standarddesign ersetzt.</p>
<p>Wer sich nicht registrieren will, kann sich mit test/test auch das innenleben mal amschauen.</p>
<p>Eine schöne Sache dieses jQuery <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/07/nichtraucher-mit-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RESTful Redirect über onchange Javascript Event</title>
		<link>http://www.drailing.net/index.php/2010/06/restful-redirect-uber-onchange-javascript-event/</link>
		<comments>http://www.drailing.net/index.php/2010/06/restful-redirect-uber-onchange-javascript-event/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 00:13:38 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=510</guid>
		<description><![CDATA[Für unser &#8220;Projekt Systementwicklung&#8221; basteln wir grade ein Web Frontend für die weTravel iPad App. In diesem Zusammenhang wollten wir über eine Select-Box zwischen verschiedenen, hochgeladenen Reports wechseln. 
Eigentlich keine große Sache:

&#60;select onchange=&#34;javascript:window.location=this.value&#34;&#62;
  &#60;option value=&#34;url&#34; &#62;anderer Beitrag&#60;/option&#62;
&#60;/select&#62;

Aber: mit diesem Skript wird in REST nur der letzte Parameter (also zB beitrag/3/kommentar/8&#8230; ) geändert, also die [...]]]></description>
			<content:encoded><![CDATA[<p>Für unser &#8220;Projekt Systementwicklung&#8221; basteln wir grade ein Web Frontend für die <a href="http://wetravel.fbi.h-da.de/">weTravel</a> iPad App. In diesem Zusammenhang wollten wir über eine Select-Box zwischen verschiedenen, hochgeladenen Reports wechseln. </p>
<p>Eigentlich keine große Sache:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;select onchange=&quot;javascript:window.location=this.value&quot;&gt;
  &lt;option value=&quot;url&quot; &gt;anderer Beitrag&lt;/option&gt;
&lt;/select&gt;</pre></div></div>

<p>Aber: mit diesem Skript wird in REST nur der letzte Parameter (also zB <em>beitrag/3/kommentar/8</em>&#8230; ) geändert, also die 8 einfach durch die url ersetzt und somit ist es nicht möglich nur den Beitrag (in meinem Beispiel) zu ändern.</p>
<p>Die Lösung ist denkbar simpel: wir schreiben die komplette URL und konstruieren uns den kompletten Pfad neu. Über einen Slash vor this.value im kleinen Javascript können wir nun die komplette URL löschen:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">onchange<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript:window.location= '/' + this.value&quot;</span></pre></div></div>

<p>und die url im value Parameter entsprechend nachzukonstruieren, bei uns in Rails hätte es so aussehen:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">&lt;option value=<span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#996600;">&quot;beitrag/&quot;</span> <span style="color:#006600; font-weight:bold;">+</span> beitrag.<span style="color:#9900CC;">id</span>.<span style="color:#9900CC;">to_s</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#996600;">&quot;/kommentar&quot;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></div></div>

<p>Wie immer, wenn mans einmal gesehen hat ist es eine total simple Geschichte, der Trick der uns gefehlt hatte war der Slash im onchange um die komplette URL zu löschen <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/06/restful-redirect-uber-onchange-javascript-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Little School Helper &#8211; Zeugnis schreiben leicht gemacht</title>
		<link>http://www.drailing.net/index.php/2010/06/little-school-helper-zeugnis-schreiben-leicht-gemacht/</link>
		<comments>http://www.drailing.net/index.php/2010/06/little-school-helper-zeugnis-schreiben-leicht-gemacht/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 18:28:37 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=498</guid>
		<description><![CDATA[Sodale,
nach ca 1 Jahr Freizeitentwicklung, vielen Pausen, einem kompletten Neustart aufgrund fehlender Planung und der Weitsicht im Datenbankdesign, möchte ich nun den &#8220;Little School Helper&#8221; vorstellen.
Die Idee entstand durch meine Mutter: Zuzuschauen wie die heutigen Grundschullehrer Zeugnisse schreiben macht jeden Informatiker traurig. Das werden Wordtemplates auf USB Sticks ausgetauscht um sich im schlimmsten Fall gegenseitig [...]]]></description>
			<content:encoded><![CDATA[<p>Sodale,</p>
<p>nach ca 1 Jahr Freizeitentwicklung, vielen Pausen, einem kompletten Neustart aufgrund fehlender Planung und der Weitsicht im Datenbankdesign, möchte ich nun den &#8220;Little School Helper&#8221; vorstellen.</p>
<p>Die Idee entstand durch meine Mutter: Zuzuschauen wie die heutigen Grundschullehrer Zeugnisse schreiben macht jeden Informatiker traurig. Das werden Wordtemplates auf USB Sticks ausgetauscht um sich im schlimmsten Fall gegenseitig das Geschriebene zu überschreiben oder im Klassensaal zu vergessen.</p>
<p>Es musste also ein System her was zentralisiert die Zeugnisse speichert und jedem, auch den gleichzeitigen Zugriff auf ein Zeugnis, von Zuhause aus ermöglicht. Da kam die Idee: ich will das Zeugnisschreiben für Grundschullehrer vereinfachen! Das Ziel war also gesteckt, nix großes, doch das Vorgenommene gut zu machen war der Anspruch an mich selbst.</p>
<p>Nach einer Version mit der Grundfunktionalität war ich dann 2 Tage bei einem guten Freund (<a href="http://werkvoll.de/">Link</a>)  im Büro um das Design auch entsprechend ansprechend zu bauen. Unschönerweise muss ich mich da die Tage noch mit den ganzen CSS Hacks auseinandersetzen, da der IE zT einfach nicht im Kontext bleibt und ganz andere Parents / Childs anspricht als mein Freund der Firefox&#8230; steht also noch auf der TODO Liste.</p>
<p>Inzwischen wurde der Little School Helper einem kleineren Kreis an Lehrern und Direktoren vorgestellt und noch einige Wünsche / Änderungen realisiert und stelle Ihn nun hier vor um vieleicht noch mehr Feedback von Fachfremden, aber technisch versierterem Publikum zu bekommen.</p>
<p>Die Featureliste ist inzwischen auch um einiges angewachsen, über Statistiken, automatisierte Schuljahreswechsel, eine komplette Rechteverwaltung der Kollegen, bis hin zu PDF Generierung von echten Zeugnis Templates (bisher nur für RLP). Eine Doku ist noch nicht fertig, deshalb ists am einfachsten sich das ganze mal selber anzuschauen:</p>
<p>Eine Testversion gibts <a href="http://lsh.drailing.net/" target="blank">hier</a>, mit Benutzername: <strong>admin</strong> und Passwort: <strong>test</strong> kann man sich anmelden und die komplette Funktionalität testen.</p>
<p><a href="http://lsh.drailing.net/" target="blank"><img src="http://www.drailing.net/wp-content/uploads/2010/06/Zeugnisse_1275848675590.png" alt="" title="Zeugnisse_1275848675590" width="500" height="300" class="aligncenter size-full wp-image-500" /></a></p>
<p>Übrigens: ich suche zur Zeit eine Grundschule die sich den Little School Helper mal genauer anschauen, und vieleicht sogar im produktiven Zeugnisschreiben benutzen/testen möchte. Wer also selbst als lehrendes Organ tätig ist oder jemanden kennt für den es von Interesse sein könnte: meldet euch bitte unter <a href="mailto:littleschoolhelper@drailing.net">littleschoolhelper@drailing.net</a></p>
<p>Wie immer, über Feedback egal welcher Form freue ich mich sehr <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Grüße,<br />
Christian</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/06/little-school-helper-zeugnis-schreiben-leicht-gemacht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Umlautefix für das Adminpanel</title>
		<link>http://www.drailing.net/index.php/2010/05/umlautefix-fur-das-adminpanel/</link>
		<comments>http://www.drailing.net/index.php/2010/05/umlautefix-fur-das-adminpanel/#comments</comments>
		<pubDate>Tue, 11 May 2010 19:42:41 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=490</guid>
		<description><![CDATA[So einfach kanns sein, wenn man weiß wies geht  
Um mit meinem Adminpanel auch Umlaute schreiben zu können muss nur eine kleine Zeile (in Zeile 307) eingefügt werden:

306 - $input = $input.&#34;?&#62;&#34;;
307 - $input = utf8_encode&#40;$input&#41;;
308 - fwrite&#40;$datei, $input&#41;;

Den Downloadlink habe ich inzwischen auch im Ursprungspost ersetzt.
]]></description>
			<content:encoded><![CDATA[<p>So einfach kanns sein, wenn man weiß wies geht <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Um mit meinem Adminpanel auch Umlaute schreiben zu können muss nur eine kleine Zeile (in Zeile 307) eingefügt werden:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #cc66cc;">306</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$input</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;?&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #cc66cc;">307</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #990000;">utf8_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #cc66cc;">308</span> <span style="color: #339933;">-</span> <span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$datei</span><span style="color: #339933;">,</span> <span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Den <a href='http://www.drailing.net/wp-content/uploads/2010/05/ajaxchat_adminpanel_fix.zip'>Downloadlink</a> habe ich inzwischen auch im Ursprungspost ersetzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/05/umlautefix-fur-das-adminpanel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adminpanel für blueimp AjaxChat</title>
		<link>http://www.drailing.net/index.php/2010/04/adminpanel-fur-blueimp-ajaxchat/</link>
		<comments>http://www.drailing.net/index.php/2010/04/adminpanel-fur-blueimp-ajaxchat/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 22:55:54 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=473</guid>
		<description><![CDATA[Hiho,
auf blueimp.net gibts einen Open Source Ajax Chat der auf jedem Webserver mit php und MySql ganz einfach installiert werden kann. Das ist ne super Sache um sich schnell mit mehreren Menschen abzustimmen ohne ICQ Nummern oder Emailadressen austauschen zu müssen. Bei mir kommt er zB für ein Browserspiel zum Einsatz.
Leider ist die Verwaltung noch [...]]]></description>
			<content:encoded><![CDATA[<p>Hiho,</p>
<p>auf <a href="https://blueimp.net/ajax/">blueimp.net</a> gibts einen Open Source Ajax Chat der auf jedem Webserver mit php und MySql ganz einfach installiert werden kann. Das ist ne super Sache um sich schnell mit mehreren Menschen abzustimmen ohne ICQ Nummern oder Emailadressen austauschen zu müssen. Bei mir kommt er zB für ein Browserspiel zum Einsatz.</p>
<p>Leider ist die Verwaltung noch etwas unkonfortabel, alle Benutzer müssen über eine &#8220;users.php&#8221; Datei in ein Array eingepflegt werden. (je nach Konfiguration kann man sich auch ohne Passwort einloggen)</p>
<p>Dazu habe ich mir was kleines einfallen lassen um die Benutzer über eine Datenbanktabelle zu pflegen und ein kleines funktionales Adminpanel gebastelt <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Kurze Featureliste:<br />
  <em>* Adminaccount:</em><br />
    &#8211; Benutzer anlegen (auch Moderator)<br />
    &#8211; Benutzer löschen<br />
    &#8211; Passwort für Benutzer zurücksetzen<br />
<em>  * Useraccount</em><br />
    &#8211; eigenes Passwort ändern</p>
<p>Die Idee dahinter ist ganz simpel:<br />
Wir legen alle Benutzer in einer Datenbank ab und schreiben die Datei (users.php), die Benutzer verwaltet bei Änderungen neu.</p>
<p>Um diese Administration zu ermöglichen brauchen wir Schreibrechte auf CHAT_ROOT/lib/data/users.php und müssen eine Benutzertabelle in der Datenbank anlegen:</p>
<p>Im INSERT Statement kann ein beliebiger Adminbenutzer angelegt werden, hier als Standard als Benutzername und Passwort &#8220;admin&#8221;.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`ajax_chat_user`</span> <span style="color: #66cc66;">&#40;</span>
  <span style="color: #ff0000;">`id`</span> int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`username`</span> text<span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`password`</span> text<span style="color: #66cc66;">,</span>
  <span style="color: #ff0000;">`role`</span> text<span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> 
&nbsp;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`ajax_chat_user`</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'1'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'admin'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'admin'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AJAX_CHAT_ADMIN'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>In der Datei &#8220;admin.php&#8221; muss dann noch die entsprechende Datenbankverbindung an mehreren Stellen eingetragen werden.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> mysqli<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'db-user-name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'db-pw'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'db-name'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Am einfachsten über suchen / ersetzen:<br />
&#8220;db-user-name&#8221; -> eigener Datenbankbenutzer<br />
&#8220;db-pw&#8221; -> zugehöriges Datenbankpasswort<br />
&#8220;db-name&#8221; -> Datenbankname</p>
<p>Falls der Adminbenutzer einen anderen Namen als &#8220;admin&#8221; bekommen hat, müsst ihr in der Datei auch noch an 2 Stellen den entsprechend gewählten Namen eintragen (Zeile 289 und 325), einmal für das schreiben der users.php, und einmal um das evtl versehentliche Löschen zu verhindern.</p>
<p>Die admin.php dannach einfach ins Rootverzeichnis des Chats legen, und über www.url-to-chat.net/admin.php einloggen.</p>
<p>Bekannte Fehler:<br />
- Beim Schreiben der Datei werden Umlaute nicht richtig dargestellt, daher können zur Zeit keine Benutzer/Passwörter mit Umlauten verwendet werden.</p>
<p>Kommentiert ist so gut wie nix, dafür sollte der Code recht sprechend und leicht zu verstehen sein.<br />
Zum Download gehts hier: <a href='http://www.drailing.net/wp-content/uploads/2010/05/ajaxchat_adminpanel_fix.zip'>ajaxchat_adminpanel_fix</a></p>
<p>Über Feedback jeglicher Art würde ich mich natürlich freuen <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Grüße,<br />
Christian</p>
<p>Nachtrag:<br />
ACHTUNG!<br />
Falls ihr die kleine Erweiterung benutzen wollt: Es wird die Datei in der die Benutzer zuvor verwaltet wurden gnadenlöse überschrieben!<br />
Bedeutet: Wenn zuvor Benutzer in der Datei gepflegt wurden, sollte man sich ein Backup machen und diese dann über die Oberfläche in die Datenbank eintragen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/04/adminpanel-fur-blueimp-ajaxchat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails / Sqlite3 unter Windows (Netbeans)</title>
		<link>http://www.drailing.net/index.php/2010/03/ruby-on-rails-sqlite3-unter-windows-netbeans/</link>
		<comments>http://www.drailing.net/index.php/2010/03/ruby-on-rails-sqlite3-unter-windows-netbeans/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 15:56:04 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=450</guid>
		<description><![CDATA[Nach unendlichen Stunden und noch mehr Fehlermeldungen hats endlich getan! Da evtl noch andere vor ähnlichem Problem stehen fasse ich hier kurz zusammen:
Der erste Versuch startete mit dem integrierten JRuby 1.4 &#8211; das ist aber ganz großer Mist, übel verbuggt und nicht fähig c-Skripte auszuführen, was aber für manche Gems wichtig ist&#8230; Also Ruby erstmal [...]]]></description>
			<content:encoded><![CDATA[<p>Nach unendlichen Stunden und noch mehr Fehlermeldungen hats endlich getan! Da evtl noch andere vor ähnlichem Problem stehen fasse ich hier kurz zusammen:</p>
<p>Der erste Versuch startete mit dem integrierten JRuby 1.4 &#8211; das ist aber ganz großer Mist, übel verbuggt und nicht fähig c-Skripte auszuführen, was aber für manche Gems wichtig ist&#8230; Also Ruby erstmal einrichten:</p>
<p>Da es für mich den einfachsten Weg darstellte habe ich mich bei Ruby für den One-Click Installer entschieden ( <a href="http://www.ruby-lang.org/de/downloads/">Link</a> ) &#8211; der meint es nett mit uns und setzt uns auch gleich die Systemvariabeln.</p>
<p>Um die sqlite3-ruby gem zu installieren brauchts aber noch Sqlite3 ( <a href="http://sqlite.org/download.html">Link</a> ). Davon die dlls und die exe (2 Archive!) in einen Ordner entpacken und den Pfad dazu in die Path Systemvariable eintragen.</p>
<p>Dannach einfach in der Konsole (cmd) die restliche Installation durchführen:<br />
<code>gem update --system</code><br />
<code>gem install sqlite3-ruby</code><br />
<code>gem install rails</code></p>
<p>Mein Netbeans 6.8 hat über das Autodetect im Anlegen eines neuen Ruby Projekts (Ruby Plattform &#8211; Manage) alles richtig erkannt und mit der oben eingerichteten Version von Sqlite3 funktionieren auch endlich die rake Comands!</p>
<p>Und für alle die dann gleich durchstarten wollen hier noch der Link zu den <a href="http://guides.rubyonrails.org/getting_started.html">RailsGuides</a> <img src='http://www.drailing.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Hoffe ich konnte dem Ein oder Anderen ein bisschen helfen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2010/03/ruby-on-rails-sqlite3-unter-windows-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Schnipsel I</title>
		<link>http://www.drailing.net/index.php/2009/12/php-schnipsel-i/</link>
		<comments>http://www.drailing.net/index.php/2009/12/php-schnipsel-i/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 12:43:01 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=376</guid>
		<description><![CDATA[Guten Morgen,
da sich inzwischen auch EWA mit den etwas interessanteren Themen beschäftigt und sich im laufe der Zeit auch ausserhalb von EWA etwas nützliches angesammelt hat, hier ein paar kleine Codeschnipsel auf die ich immer wieder gerne zurückgreiffe:
Komplettes POST Array auslesen und ausgeben:

foreach&#40;$_POST as $key =&#62; $value&#41;  &#123; 
    print&#40;htmlspecialchars&#40;&#34;Name: [$key] [...]]]></description>
			<content:encoded><![CDATA[<p>Guten Morgen,</p>
<p>da sich inzwischen auch EWA mit den etwas interessanteren Themen beschäftigt und sich im laufe der Zeit auch ausserhalb von EWA etwas nützliches angesammelt hat, hier ein paar kleine Codeschnipsel auf die ich immer wieder gerne zurückgreiffe:</p>
<p>Komplettes POST Array auslesen und ausgeben:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span> 
    <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Name: [<span style="color: #006699; font-weight: bold;">$key</span>] Wert: [<span style="color: #006699; font-weight: bold;">$value</span>]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;br&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Komplettes POST Array unescapen:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">get_magic_quotes_gpc</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$_POST</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_map</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'stripslashes'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Includes als Dateinamen managen:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">is_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;files/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;site&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">include</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;files/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;site&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">else</span>
    <span style="color: #b1b100;">include</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;welcome.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Letzte Besuche von Google Bot registrieren:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gethostbyaddr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
<span style="color: #000088;">$domain</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$host</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
<span style="color: #000088;">$domain_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$domain</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>   
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$domain</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$domain_array</span>&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;googlebot&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>  
    <span style="color: #666666; font-style: italic;">//information verwalten, insert oder ausgabe </span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Und kennt evtl irgendjemand ein WordpressPlugin was es erlaubt den Code schön formatiert zu posten?<br />
Für Tips bin ich sehr dankbar <img src='http://www.drailing.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Grüße,<br />
Christian</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2009/12/php-schnipsel-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EWA Tools (Entwicklung Webbasierter Anwendungen)</title>
		<link>http://www.drailing.net/index.php/2009/10/ewa-tools-entwicklung-webbasierter-anwendungen/</link>
		<comments>http://www.drailing.net/index.php/2009/10/ewa-tools-entwicklung-webbasierter-anwendungen/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 11:01:48 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=310</guid>
		<description><![CDATA[Guten Morgen!
Da EWA ja langsam mit der eigentlichen Entwicklung beginnt, dachte ich mir dass es vielleicht sinnvoll ist mal die gängigsten Tools zusammenzufassen:
- Aptana: Link
sehr komfortabler Editor auf Eclipsebasis
- XAMPP: Link
eine Distribution aus Apache Webserver, PHP und MySQL &#8211; sehr einfach zu installieren und super praktisch zum lokalen Entwickeln.
Firefox Plugins:
 &#8211; Firebug: Link
einfach DAS Werkzeug [...]]]></description>
			<content:encoded><![CDATA[<p>Guten Morgen!</p>
<p>Da EWA ja langsam mit der eigentlichen Entwicklung beginnt, dachte ich mir dass es vielleicht sinnvoll ist mal die gängigsten Tools zusammenzufassen:</p>
<p>- Aptana: <a href="http://www.aptana.org/">Link</a><br />
sehr komfortabler Editor auf Eclipsebasis</p>
<p>- XAMPP: <a href="http://www.apachefriends.org/de/xampp.html">Link</a><br />
eine Distribution aus Apache Webserver, PHP und MySQL &#8211; sehr einfach zu installieren und super praktisch zum lokalen Entwickeln.</p>
<p><strong>Firefox Plugins:</strong></p>
<p> &#8211; Firebug: <a href="https://addons.mozilla.org/de/firefox/addon/1843">Link</a><br />
einfach DAS Werkzeug ohne das wohl kein Webentwickler mehr leben möchte. Ermöglicht das genaue Analysieren und Debuggen von HTML, CSS und Javascript.</p>
<p>- IE Tab: <a href="https://addons.mozilla.org/de/firefox/addon/10909">Link</a><br />
erlaubt das Darstellen der Seite in der Internet Explorer Engine in einem eigenen Firefox Tab.</p>
<p>- HTML Validator: <a href="https://addons.mozilla.org/de/firefox/addon/249">Link</a><br />
prüft jede Webseite auf Standardkonformität und zeigt dabei Warnings und Fehler an.</p>
<p>- Dust-Me Selectors: <a href="https://addons.mozilla.org/de/firefox/addon/5392">Link</a><br />
scannt das CSS (auf Wunsch automatisch) und erstellt eine Liste mit genutzen und ungenutzen CSS Klassen</p>
<p><strong>Internet Explorer:</strong></p>
<p>IE Developer Toolbar: <a href="http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&#038;displaylang=en">Link</a><br />
ähnlich wie Firebug für Internet Explorer, leider bei weitem nicht so komfortabel.</p>
<p>Und zum Schluss noch ein Link zum <a href="http://matthiasschuetz.com/werkzeugkoffer/">&#8220;Werkzeugkoffer für Webentwickler&#8221;</a> &#8211; eine sehr umfangreiche und gut sortierte Linksammlung in der man immer mal wieder was nützliches neues finden kann.<br />
(gefunden bei <a href="http://webthreads.de/2009/08/dem-webentwickler-sein-werkzeugkoffer/">Webthreads</a> )</p>
<p>Ich glaube für den Moment habe ich nix vergessen, vielleicht hilfts ja dem ein oder anderen etwas weiter <img src='http://www.drailing.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Grüße,<br />
Christian</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2009/10/ewa-tools-entwicklung-webbasierter-anwendungen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ikariam Spio Manager [Update 23.07]</title>
		<link>http://www.drailing.net/index.php/2009/07/ikariam-spio-manager/</link>
		<comments>http://www.drailing.net/index.php/2009/07/ikariam-spio-manager/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:00:44 +0000</pubDate>
		<dc:creator>dreiling</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.drailing.net/?p=206</guid>
		<description><![CDATA[Wies eben so läuft, braucht jeder zwischen Uni, letzten Klausurzulassungen und lernen irgendwas um sich den Kopf frei zu machen. Ein netter Nebeneffekt dabei ist dass zwischen guter Musik und Battlefield Heroes auch noch was produktives entstanden ist. Ich buche die Zeit mal auf &#8220;Java vertiefen&#8221;  
Am ende kam ein kleiner &#8220;Explorer&#8221; für Spionageberichte [...]]]></description>
			<content:encoded><![CDATA[<p>Wies eben so läuft, braucht jeder zwischen Uni, letzten Klausurzulassungen und lernen irgendwas um sich den Kopf frei zu machen. Ein netter Nebeneffekt dabei ist dass zwischen guter Musik und Battlefield Heroes auch noch was produktives entstanden ist. Ich buche die Zeit mal auf &#8220;Java vertiefen&#8221; <img src='http://www.drailing.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Am ende kam ein kleiner &#8220;Explorer&#8221; für Spionageberichte für das Browserspiel Ikariam dabei raus.<br />
Die erste Version funktioniert in Deutsch für Lager und Garnisonsberichte und sieht folgendermaßen aus:</p>
<p><a href="http://www.drailing.net/wp-content/uploads/2009/07/spiomanager.JPG" target="blank"><img src="http://www.drailing.net/wp-content/uploads/2009/07/spiomanager-300x239.jpg" alt="spiomanager" title="spiomanager" width="300" height="239" class="aligncenter size-medium wp-image-244" /></a></p>
<p>kleines Update (10.07):<br />
- Koordinaten können nun mit angegeben werden<br />
- daher ist die alte spio.dat nicht mehr brauchbar<br />
- in der Garnisonsansicht werden vorhandene Truppen nun rot hervorgehoben.<br />
- eine Operakompatible Version erstellt (noch nicht sehr ausgiebig getestet&#8230;)</p>
<p>nochmal ein kleines Update (23.07):<br />
- auf Wunsch einen &#8220;In die Zwischenablage kopieren&#8221; Button für Lager und Garnsionsberichte eingebaut. Funktioniert wie erwartet, der aktuell geöffnete Bericht wird in die Zwischenablage kopiert um auch einzelne Berichte wieder aus dem Manager herauszubekommen und zu posten oder weiterzuschicken.<br />
- special Feature: weil &#8220;In die Zwischenablage kopieren&#8221; viel zu lange ist und nicht mehr auf den Button gepasst hätte, habe ich kurzerhand eine richtig nerdige Abkürzung erfunden &#8220;CTC&#8221; -> Copy to Clipboard, was sich eben immernoch besser anschauen lässt als &#8220;IDZK&#8221; <img src='http://www.drailing.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Firefox:<br />
<a href='http://www.drailing.net/wp-content/uploads/2009/07/SpioManager.jar'>Download</a><br />
<a href="http://www.virustotal.com/de/analisis/02cbf89d8a2e7b33f50e5def66c0006347d384b50d2a36ce07fffc9cd9498ae3-1248350405">VirusTotal Scan</a></p>
<p>Opera:<br />
<a href='http://www.drailing.net/wp-content/uploads/2009/07/SpioManagerOpera.jar'>Download</a><br />
<a href="http://www.virustotal.com/de/analisis/04c85f47cc1bc44718e7bc1c1a05a45242b50dea18bec4a6fa4f17608b2b1a44-1248350549">VirusTotal Scan</a></p>
<p>Über Verbesserungsvorschläge(, Bugs) oder allgemeines Feedback freu ich mich natürlich immernoch.</p>
<p>In diesem Sinne, //jetzt wird wieder OberPrima genötigt!<br />
//Mathe is inzwischen vorbei!<br />
Mathe vs Christian:   0:1 &#8211; mit 2,3 bestanden!</p>
<p>Christian</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drailing.net/index.php/2009/07/ikariam-spio-manager/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
