<?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>A developer diary</title>
	<atom:link href="http://www.es-dev.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.es-dev.de</link>
	<description>programming,cheats and breakcore</description>
	<lastBuildDate>Tue, 19 Oct 2010 06:44:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Spring3-Interceptor</title>
		<link>http://www.es-dev.de/2010/10/spring3-interceptor/</link>
		<comments>http://www.es-dev.de/2010/10/spring3-interceptor/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 06:43:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=125</guid>
		<description><![CDATA[Spring 3 &#8211; Interceptor to push Attributes in the Model
When you have a lot of Controllers, you&#8217;ll come to the need of a general point to push attributes like locale, login-data, user information to your Model.
There are other ways to do this, but i&#8217;ll show the Spring way.
First of all you need this entry in [...]]]></description>
			<content:encoded><![CDATA[<p>Spring 3 &#8211; Interceptor to push Attributes in the Model</p>
<p>When you have a lot of Controllers, you&#8217;ll come to the need of a general point to push attributes like locale, login-data, user information to your Model.<br />
There are other ways to do this, but i&#8217;ll show the Spring way.</p>
<p>First of all you need this entry in your app-config.xml</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mvc:interceptors<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;bean</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;net.mycityscout.www.controller.AddGeneralModelInterceptor&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mvc:interceptors<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div>
<p>AddGeneralModelInterceptor is our custom interceptor class:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:400px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> AddGeneralModelInterceptor <span style="color: #000000; font-weight: bold;">implements</span> HandlerInterceptor <span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">protected</span> UserDetailImpl getUser<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Authentication auth <span style="color: #339933;">=</span> SecurityContextHolder.<span style="color: #006633;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span style="color: #006633;">getAuthentication</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>auth <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> auth.<span style="color: #006633;">getPrincipal</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">instanceof</span> UserDetailImpl<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>UserDetailImpl<span style="color: #009900;">&#41;</span> auth.<span style="color: #006633;">getPrincipal</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> preHandle<span style="color: #009900;">&#40;</span>HttpServletRequest request,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HttpServletResponse response, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> handler<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> afterCompletion<span style="color: #009900;">&#40;</span>HttpServletRequest request,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HttpServletResponse response, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> handler, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> ex<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> <span style="color: #009900;">&#123;</span>&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> postHandle<span style="color: #009900;">&#40;</span>HttpServletRequest request,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HttpServletResponse response, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> handler,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ModelAndView modelAndView<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>modelAndView <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> getUser<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; modelAndView.<span style="color: #006633;">addObject</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;loggedUser&quot;</span>, getUser<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>That&#8217;s it.Now you can put your general attributes in the model on every Request. Spring will execute your interceptor before every Controller-instance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2010/10/spring3-interceptor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flot &#8211;  a plotting library for jQuery</title>
		<link>http://www.es-dev.de/2010/02/flot-a-plotting-library-for-jquery/</link>
		<comments>http://www.es-dev.de/2010/02/flot-a-plotting-library-for-jquery/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 15:25:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=113</guid>
		<description><![CDATA[After some research for a jquery library to present some charts on a website I found this one.It is very configurable and also looks good.
Just set your datapoints and fire Flot up.
123456$&#40;function &#40;&#41; &#123;
&#160; &#160; // a null signifies separate line segments
&#160; &#160; var d3 = &#91;&#91;0, 12&#93;, &#91;7, 12&#93;, null, &#91;7, 2.5&#93;, &#91;12, 2.5&#93;&#93;;
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>After some research for a jquery library to present some charts on a website I found this one.It is very configurable and also looks good.<br />
Just set your datapoints and fire Flot up.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<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><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// a null signifies separate line segments</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> d3 <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>0<span style="color: #339933;">,</span> 12<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>7<span style="color: #339933;">,</span> 12<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>7<span style="color: #339933;">,</span> 2.5<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>12<span style="color: #339933;">,</span> 2.5<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; $.<span style="color: #660066;">plot</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#placeholder&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span>d3<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Here is a shot of a sample graph:</p>
<p><a href="http://www.es-dev.de/wp-content/Picture-1.png"><img class="aligncenter size-medium wp-image-114" title="Flot Samplegraph" src="http://www.es-dev.de/wp-content/Picture-1-300x152.png" alt="Flot Samplegraph" width="300" height="152" /></a></p>
<p>You can get this great plugin at the <a href="http://code.google.com/p/flot/" target="_blank">Flot-Projectsite</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2010/02/flot-a-plotting-library-for-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIActionSheet with dynamic entries</title>
		<link>http://www.es-dev.de/2010/02/107/</link>
		<comments>http://www.es-dev.de/2010/02/107/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:11:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=107</guid>
		<description><![CDATA[Sometimes you want to present some options to the user that come from a dynamic datasource.In other cases you could use an UITableView, but if you need to show a modal dialog, you can just use UIActionSheet
Here comes the sample code to build it:
1234567891011121314151617181920212223UIActionSheet *viewSetMenu = &#91;&#91;UIActionSheet alloc&#93;
initWithTitle: @&#34;Select a news-page&#34;
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil&#93;;

//dynamic build of buttons
//you could [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you want to present some options to the user that come from a dynamic datasource.In other cases you could use an UITableView, but if you need to show a modal dialog, you can just use UIActionSheet</p>
<p>Here comes the sample code to build it:</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:400px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">UIActionSheet <span style="color: #339933;">*</span>viewSetMenu <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>UIActionSheet alloc<span style="color: #009900;">&#93;</span><br />
initWithTitle<span style="color: #339933;">:</span> @<span style="color: #ff0000;">&quot;Select a news-page&quot;</span><br />
delegate<span style="color: #339933;">:</span>self<br />
cancelButtonTitle<span style="color: #339933;">:</span>nil<br />
destructiveButtonTitle<span style="color: #339933;">:</span>nil<br />
otherButtonTitles<span style="color: #339933;">:</span>nil<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//dynamic build of buttons</span><br />
<span style="color: #666666; font-style: italic;">//you could loop over an array</span><br />
<span style="color: #009900;">&#91;</span>viewSetMenu addButtonWithTitle<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;Google News&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>viewSetMenu addButtonWithTitle<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;NTV&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>viewSetMenu addButtonWithTitle<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;BBC&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>viewSetMenu addButtonWithTitle<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;Cancel&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//set index for destructive and cancel button (in the set of dynamic buttons)</span><br />
<br />
<span style="color: #009900;">&#91;</span>viewSetMenu setDestructiveButtonIndex<span style="color: #339933;">:</span>0<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>viewSetMenu setCancelButtonIndex<span style="color: #339933;">:</span>3<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//to avoid blocking at bottom from the tabbar,</span><br />
<span style="color: #666666; font-style: italic;">//we should not add the sheet to a child of the tabbar</span><br />
<br />
<span style="color: #009900;">&#91;</span>viewSetMenu showInView<span style="color: #339933;">:</span>self.<span style="color: #202020;">tabBarController</span>.<span style="color: #202020;">view</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>thanks to <a href="http://www.forwardecho.com/2009/01/tab-bars-and-uiactionsheets.html" target="_blank">Forward Echo</a> for their hint in case you use a TabBar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2010/02/107/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Post-Kalender mit Fullcalendar und jQuery</title>
		<link>http://www.es-dev.de/2010/02/wordpress-post-kalender-mit-fullcalendar-und-jquery/</link>
		<comments>http://www.es-dev.de/2010/02/wordpress-post-kalender-mit-fullcalendar-und-jquery/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 15:54:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=91</guid>
		<description><![CDATA[Das Fullcalendar-Plugin für jQuery ist ein voll konfigurierbarer Kalender mit Schnittstellen für den Abruf von Daten von einem Server.
Ausserdem können Events von einem bstehenden Google-Kalender abgefragt werde.,
Im einem meiner letzten Projekte, habe ich nach einer Alternative zum WP Kalender-Widget gesucht.Dabei bin ich auf dieses Plugin gestossen.
Die Abfrage der Daten erfolgt im JSON-Format.
Hier der PHP-Teil um [...]]]></description>
			<content:encoded><![CDATA[<p>Das Fullcalendar-Plugin für jQuery ist ein voll konfigurierbarer Kalender mit Schnittstellen für den Abruf von Daten von einem Server.<br />
Ausserdem können Events von einem bstehenden Google-Kalender abgefragt werde.,<br />
Im einem meiner letzten Projekte, habe ich nach einer Alternative zum WP Kalender-Widget gesucht.Dabei bin ich auf dieses Plugin gestossen.</p>
<p>Die Abfrage der Daten erfolgt im JSON-Format.<br />
Hier der PHP-Teil um die Event-Objekte zu erstellen und an den Kalender zu schicken:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:400px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009933; font-style: italic;">/**<br />
* wp-posts.php to deliver json objects<br />
*/</span><br />
<br />
<span style="color: #000088;">$posts</span> <span style="color: #339933;">=</span> get_posts<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$eventArr</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//build event object</span><br />
<span style="color: #000088;">$event</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> stdClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d&quot;</span><span style="color: #339933;">,</span><a href="http://www.php.net/strtotime"><span style="color: #990000;">strtotime</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_date</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comments</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_count</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span> <span style="color: #339933;">=</span> get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$event</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allDay</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000088;">$eventArr</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #b1b100;">echo</span> <a href="http://www.php.net/json_encode"><span style="color: #990000;">json_encode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$eventArr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Der Code für die Anzeige im Browser ist sehr kurz und simpel:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fullcalendar'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fullCalendar</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; editable<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span><br />
&nbsp; aspectRatio<span style="color: #339933;">:</span> <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><br />
&nbsp; timeFormat<span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">,</span><br />
&nbsp; events<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;/wp-posts.php&quot;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Bei Bedarf kann man natürlich auch weitere Datenquellen einbinden und z.B. eigene Veranstaltungen eintragen.</p>
<p>Das Ergebnis sieht man hier: <a target="_blank" href="http://www.es-dev.de/wp-cal.php">http://www.es-dev.de/wp-cal.php</a></p>
<p>Das Modul gibt es hier:</p>
<p><a target="_blank" href="http://arshaw.com/fullcalendar/">http://arshaw.com/fullcalendar/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2010/02/wordpress-post-kalender-mit-fullcalendar-und-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>X11 forwarding on SSH after su</title>
		<link>http://www.es-dev.de/2008/08/x11-forwarding-on-ssh-after-su/</link>
		<comments>http://www.es-dev.de/2008/08/x11-forwarding-on-ssh-after-su/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 17:46:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=15</guid>
		<description><![CDATA[before you become su,get your MIT-MAGIC-Cookie
xauth list $DISPLAY
you&#8217;ll see an output like
myhost.mydomain:21 mit-magic-cookie-1 4d22408a71a55b41ccd1657d377923ae
switch to root (&#8217;su&#8217;)
add your cookie to the session
xauth add  myhost.mydomain:21 mit-magic-cookie-1 4d22408a71a55b41ccd1657d377923ae
that&#8217;s it, now you can start your forwarded X11-Application
sometimes you have to set your $DISPLAY variable,so copy the value from &#8216;echo $DISPLAY&#8217; before su and set export $DISPLAY=&#8221;myhost:XY&#8221; when [...]]]></description>
			<content:encoded><![CDATA[<p>before you become su,get your MIT-MAGIC-Cookie</p>
<p><strong>xauth list $DISPLAY</strong></p>
<p>you&#8217;ll see an output like<br />
<strong>myhost.mydomain:21 mit-magic-cookie-1 4d22408a71a55b41ccd1657d377923ae</strong></p>
<p>switch to root (&#8217;su&#8217;)</p>
<p>add your cookie to the session<br />
<strong>xauth add </strong> <strong>myhost.mydomain:21 mit-magic-cookie-1 4d22408a71a55b41ccd1657d377923ae</strong></p>
<p>that&#8217;s it, now you can start your forwarded X11-Application</p>
<p>sometimes you have to set your $DISPLAY variable,so copy the value from &#8216;echo $DISPLAY&#8217; before su and set export $DISPLAY=&#8221;myhost:XY&#8221; when you&#8217;re root</p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2008/08/x11-forwarding-on-ssh-after-su/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The find fiasco</title>
		<link>http://www.es-dev.de/2008/08/the-find-fiasco/</link>
		<comments>http://www.es-dev.de/2008/08/the-find-fiasco/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 17:37:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=14</guid>
		<description><![CDATA[If you want to be sure you don&#8217;t delete files you wanted to keep (like root-directory)
never use: find /my/directory * -mindepth 1 -exec  rm -r {} \;  (VERY  BAD)
if it doesn&#8217;t find any files in your given path it will try to delete the filenames expanded by &#8216;*&#8217; AFTER your given path
better use: find /my/directory [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to be sure you don&#8217;t delete files you wanted to keep (like root-directory)</p>
<p>never use: find /my/directory * -mindepth 1 -exec  rm -r {} \;  (VERY  BAD)</p>
<p>if it doesn&#8217;t find any files in your given path it will try to delete the filenames expanded by &#8216;*&#8217; AFTER your given path</p>
<p>better use: find /my/directory -name &#8216;*&#8217; -mindepth 1 -exec  rm -r {} \;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2008/08/the-find-fiasco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>metaMatic beta-Release</title>
		<link>http://www.es-dev.de/2008/06/metamatic-beta-release/</link>
		<comments>http://www.es-dev.de/2008/06/metamatic-beta-release/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 15:47:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=9</guid>
		<description><![CDATA[metaMatic ist a small piece of software to help you managing your music metadata and artwork.
because it&#8217;s written in pure java you can use it on every OS with an installed runtime &#62; 1.5, on OS X you&#8217;ll need Leopard and Java 1.6.
Start:
usually you can double-click on metamatic.jar, if that doesn&#8217;t work you have to [...]]]></description>
			<content:encoded><![CDATA[<p>metaMatic ist a small piece of software to help you managing your music metadata and artwork.</p>
<p>because it&#8217;s written in pure java you can use it on every OS with an installed runtime &gt; 1.5, on OS X you&#8217;ll need Leopard and Java 1.6.</p>
<p><span id="more-9"></span>Start:</p>
<p>usually you can double-click on metamatic.jar, if that doesn&#8217;t work you have to type &#8216;java -jar metamatic.jar&#8217; in the dist-directory</p>
<p>Usage:</p>
<p>Just drag&#8217;n drop your music directories in upper left area.You&#8217;ll see your tracks and their metafields.</p>
<p>You can mark all tracks to see if they&#8217;ve all the same album &amp; artist set.If not you&#8217;ll see &#8216;multiple&#8217;,just click in the field and edit the value.</p>
<p>To set an artwork for you album just click on one of the images in the bottom-panel,if it&#8217;s empty check your artist/album fields.</p>
<p>implemented features:</p>
<p>- recursive loading of album-directories</p>
<p>- read &amp; display common metafields &amp; artwork</p>
<p>- edit common metafields &amp; multiple edit for album/artist</p>
<p>- auto query artwork-provider for selected album</p>
<p>- load multiple artworks on multiple album-entries in one directory</p>
<p>- write all changes to filesystem after editing is done</p>
<p>upcoming features:</p>
<p>- progress &amp; loading bars</p>
<p>- ogg &amp; mp4/aac artwork-support</p>
<p>- gui design and better element descriptions</p>
<p>- selection for used artwork-provider</p>
<p>- dynamic load of artwork providers (reflection or config-file)</p>
<p>used libraries:</p>
<p>- commons-codec</p>
<p>- commons-httpclient</p>
<p>- commons-io</p>
<p>- commons-logging</p>
<p>- jaudiotagger</p>
<p>For feedbacks and feature ideas contact me under es@es-dev.de</p>
<p>Download: <a href="http://www.es-dev.de/transfer/metamatic.zip">download metaMatic</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2008/06/metamatic-beta-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dynamic Hibernate criteria query</title>
		<link>http://www.es-dev.de/2008/05/dynamic-hibernate-criteria-query/</link>
		<comments>http://www.es-dev.de/2008/05/dynamic-hibernate-criteria-query/#comments</comments>
		<pubDate>Fri, 23 May 2008 19:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.es-dev.de/?p=3</guid>
		<description><![CDATA[123Criteria criteria = new GenericDAO(entityManager, utx).getHibernateSession().createCriteria(DateEntry.class)
.createAlias(&#34;user&#34;, &#34;user&#34;)
.createAlias(&#34;employee&#34;, &#34;employee&#34;);
if (employee != null) {
criteria.add(Expression.eq(&#8220;employee&#8221;, employee));
}
if (customer != null) {
criteria.add(Expression.eq(&#8220;user&#8221;, customer));
}
if (category != null) {
criteria.createAlias(&#8220;categories&#8221;, &#8220;category&#8221;).add(
Expression.eq(&#8220;category.id&#8221;, category.getId()));
}
if (pending != null &#38;&#38; closed != null) {
criteria.add(Expression.eq(&#8220;pending&#8221;, pending));
criteria.add(Expression.eq(&#8220;closed&#8221;, closed));
}
if (date != null &#38;&#38; dateTo != null) {
criteria.add(Expression.between(&#8220;time&#8221;, date, dateTo));
}
if (orderParam != null) {
String orderParams[] = orderParam.split(&#8220;,&#8221;);

for (String orderParamEntry : orderParams) [...]]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Criteria criteria = new GenericDAO(entityManager, utx).getHibernateSession().createCriteria(DateEntry.class)<br />
.createAlias(&quot;user&quot;, &quot;user&quot;)<br />
.createAlias(&quot;employee&quot;, &quot;employee&quot;);</div></td></tr></tbody></table></div>
<p>if (employee != null) {<br />
criteria.add(Expression.eq(&#8220;employee&#8221;, employee));<br />
}<br />
if (customer != null) {<br />
criteria.add(Expression.eq(&#8220;user&#8221;, customer));<br />
}<br />
if (category != null) {<br />
criteria.createAlias(&#8220;categories&#8221;, &#8220;category&#8221;).add(<br />
Expression.eq(&#8220;category.id&#8221;, category.getId()));<br />
}<br />
if (pending != null &amp;&amp; closed != null) {<br />
criteria.add(Expression.eq(&#8220;pending&#8221;, pending));<br />
criteria.add(Expression.eq(&#8220;closed&#8221;, closed));<br />
}<br />
if (date != null &amp;&amp; dateTo != null) {<br />
criteria.add(Expression.between(&#8220;time&#8221;, date, dateTo));<br />
}</p>
<p>if (orderParam != null) {<br />
String orderParams[] = orderParam.split(&#8220;,&#8221;);<br />
<span id="more-3"></span><br />
for (String orderParamEntry : orderParams) {</p>
<p>if (orderAscending) {<br />
criteria.addOrder(Order.asc(orderParamEntry));<br />
} else {<br />
criteria.addOrder(Order.desc(orderParamEntry));<br />
}<br />
}<br />
} else {<br />
if (orderAscending) {<br />
criteria.addOrder(Order.asc(&#8220;time&#8221;));<br />
} else {<br />
criteria.addOrder(Order.desc(&#8220;time&#8221;));<br />
}<br />
}</p>
<p>To avoid double-entries, use this code:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">filter.add(Restrictions.eq(&quot;user&quot;, user));<br />
filter.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);<br />
List&amp;lt;DateEntry&amp;gt; results = filter.list();</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://www.es-dev.de/2008/05/dynamic-hibernate-criteria-query/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

