<?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>info.michael-simons.eu &#187; PHP</title>
	<atom:link href="http://info.michael-simons.eu/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://info.michael-simons.eu</link>
	<description>Just another nerd blog</description>
	<lastBuildDate>Wed, 08 Feb 2012 10:26:00 +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>Extended Live Archives and WordPress 3.0</title>
		<link>http://info.michael-simons.eu/2010/06/21/extended-live-archives-and-wordpress-3-0/</link>
		<comments>http://info.michael-simons.eu/2010/06/21/extended-live-archives-and-wordpress-3-0/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 09:26:40 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/?p=405</guid>
		<description><![CDATA[The Extended Live Archives Plugin does not work with WordPress 3.0, opposed to the plugin page. I still like this plugin as seen here, so here is my solution: Download the archive Open includes/af-extended-live-archive.js.php and includes/af-ela.php in your favorite editor Replace in both files require&#40;'../../../../wp-blog-header.php'&#41;; with require_once&#40;'../../../../wp-config.php'&#41;; $wp_did_header = true; $wp-&#62;init&#40;&#41;; and you&#8217;re good to [...]]]></description>
			<content:encoded><![CDATA[<p>The <em>Extended Live</em> Archives Plugin does not work with WordPress 3.0, opposed to the <a href="http://wordpress.org/extend/plugins/better-extended-live-archive/">plugin page</a>.  I still like this plugin as seen <a href="http://info.michael-simons.eu/archive/">here</a>, so here is my solution:</p>
<ul>
<li>Download the <a href="http://downloads.wordpress.org/plugin/better-extended-live-archive.0.50.zip">archive</a></li>
<li>Open <em>includes/af-extended-live-archive.js.php</em> and <em>includes/af-ela.php</em> in your favorite editor</li>
<li>Replace in both files

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'../../../../wp-blog-header.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p> with</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'../../../../wp-config.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 		
<span style="color: #000088;">$wp_did_header</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$wp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>and you&#8217;re good to go.</li>
</ul>
<p>If anyone has a better idea, please write a comment.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=405&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_405" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2010/06/21/extended-live-archives-and-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wütend</title>
		<link>http://info.michael-simons.eu/2009/02/25/wutend/</link>
		<comments>http://info.michael-simons.eu/2009/02/25/wutend/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 17:39:30 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[German posts]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/?p=302</guid>
		<description><![CDATA[Oh man, ich bin so verdammt wütend, ein Tweet reicht nicht aus. Es ist so zum kotzen, dass es Programmiersprachen wie PHP den Leuten so leicht machen, hübsche Sachen zu programmieren, die auseinander fallen, wenn man sie mal schief anschaut. &#8220;Hübsche Gui&#8221; und &#8220;Ich weiß, was ich da gerade in die Datenbank schreibe&#8221; sind zwei [...]]]></description>
			<content:encoded><![CDATA[<p>Oh man, ich bin so verdammt wütend, ein Tweet reicht nicht aus.</p>
<p>Es ist so zum kotzen, dass es Programmiersprachen wie PHP den Leuten so leicht machen, hübsche Sachen zu programmieren, die auseinander fallen, wenn man sie mal schief anschaut.</p>
<p>&#8220;Hübsche Gui&#8221; und &#8220;Ich weiß, was ich da gerade in die Datenbank schreibe&#8221; sind zwei Paar Schuhe. </p>
<p>Wie kann man eigentlich eine Checksum Routine so implementieren, dass sie auf unterschiedlichen Architekturen unterschiedliche Ergebnisse liefert? Braucht es da mehr als einen mittelmässig begabten Affen, zu erkennen, dass das eine scheiß Idee ist? Und noch spannender ist es natürlich dann, diese Funktion auch zu nutzen.</p>
<p>Boah echt ey.</p>
<p>Leute, lasst die Finger von <a href="http://bugs.php.net/bug.php?id=39062">PHPs crc32()</a> Implementierung oder benutzt sie <a href="http://guxx.de/2007/05/25/crc32-in-php-richtig-benutzt/">richtig</a>.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=302&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_302" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2009/02/25/wutend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patching wp-cache for more security</title>
		<link>http://info.michael-simons.eu/2008/04/04/patching-wp-cache-for-more-security/</link>
		<comments>http://info.michael-simons.eu/2008/04/04/patching-wp-cache-for-more-security/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 13:14:22 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[English posts]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/?p=159</guid>
		<description><![CDATA[I use wp-cache on all my blogs all the time. No need waiting for being slashdotted or heised. But wp-cache comes with a security flaw. It requires the webserver to have write access on $WP_HOME/wp-content/cache and $WP_HOME/wp-content. The first part is perfectly reasonable, the second not. wp-cache creates it&#8217;s wp-cache-config.php in that place and edits [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://mnm.uib.es/gallir/wp-cache-2/">wp-cache</a> on all my blogs all the time. No need waiting for being slashdotted or heised.</p>
<p>But wp-cache comes with a security flaw. It requires the webserver to have write access on <code>$WP_HOME/wp-content/cache</code> and <code>$WP_HOME/wp-content</code>. The first part is perfectly reasonable, the second not.</p>
<p>wp-cache creates it&#8217;s <code>wp-cache-config.php</code> in that place and edits this file consequently while being configured.</p>
<p>wp-cache comes with a sample config you can put in place. After that,  chmod this file to 660 or something else that allows your webserver to edit it. Please don&#8217;t give your webserver write access to <code>$WP_HOME/wp-content</code>, especially not facing the current attacks on wordpress bloggers as described <a href="http://www.tamagothi.de/2008/03/25/wp-angriffe-an-alle-betroffenen/">here</a>.</p>
<p>I assume you know what your doing in the next step. All recommendations are tested and working with wp-cache 2.1.2. Open the file file <code>wp-cache.php</code> in your favorite editor, navigate to line 471 in function <code>wp_cache_verify_config_file</code> and change the following code</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: #339933;">!</span><span style="color: #990000;">is_writable</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;b&gt;Error:&lt;/b&gt; wp-content directory (&lt;b&gt;<span style="color: #006699; font-weight: bold;">$dir</span>&lt;/b&gt;) is not writable by the Web server.&lt;br /&gt;Check its permissions.&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>to</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
if ( !is_writable($dir)) {
    echo &quot;&lt;b&gt;Error:&lt;/b&gt; wp-content directory (&lt;b&gt;$dir&lt;/b&gt;) is not writable by the Web server.&lt;br /&gt;Check its permissions.&quot;;
    return false;
}
*/</span></pre></div></div>

<p>Alternatively, you can use the file i prepared: <a href="/wp-content/uploads/2008/04/wp-cache.php.txt">wp-cache.php</a>. Rename it from *.php.txt to *.php and replace the old file with it.</p>
<p>Read more about the attack on wp blogs <a href="http://spam.weltretter.de/2008/04/02/zweite-runde-der-wp-angriffe/">here</a>. It&#8217;s shown that the attackers create a subfolder in your wp-contents. So it&#8217;s essential to chmod this folder to 0755 or even better to 0555 if you&#8217;re paranoid and only change it if you upload updates.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=159&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_159" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2008/04/04/patching-wp-cache-for-more-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to WordPress 2.3 &#8220;Dexter&#8221;</title>
		<link>http://info.michael-simons.eu/2007/09/25/upgrading-to-wordpress-23-dexter/</link>
		<comments>http://info.michael-simons.eu/2007/09/25/upgrading-to-wordpress-23-dexter/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 10:40:41 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Ultimate Tag Warrior]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/2007/09/25/upgrading-to-wordpress-23-dexter/</guid>
		<description><![CDATA[In the first place, i wanted to wait to here some more news about the latest release of WordPress, called &#8220;Dexter&#8221; (I don&#8217;t think about some saxophonist, but about Dexter Morgan). But, as you know, curiosity killed the cat, i couldn&#8217;t wait and with the announcement yesterday, i created a patch file (they forgot the [...]]]></description>
			<content:encoded><![CDATA[<p>In the first place, i wanted to wait to here some more news about the latest release of WordPress, called &#8220;Dexter&#8221; (I don&#8217;t think about some saxophonist, but about <a href="http://en.wikipedia.org/wiki/Dexter_(TV_series)">Dexter Morgan</a>). But, as you know, curiosity killed the cat, i couldn&#8217;t wait and with the <a href="http://wordpress.org/development/2007/09/wordpress-23/">announcement yesterday</a>, i created a patch file (they forgot the link at wordpress.org) and patched my blog.</p>
<p>As danger is my second name, i didn&#8217;t backup or anything especially for upgrading (ok, honestly i have a nightly cron&#8217;ed backup) and run the patch with</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">patch</span> <span style="color: #660033;">-p2</span>  diff-from-tags_2.2.3-r6166-to-tags_2.3-r6166.diff.txt</pre></div></div>

<p>from my install dir and boom, i had 2.3 (get the patch file at the <a href="http://trac.wordpress.org/changeset?format=diff&#038;new=6166&#038;old=6166&#038;new_path=tags%2F2.3&#038;old_path=tags%2F2.2.3">wordpress trac (for upgrading 2.2.3 to 2.3)</a>).</p>
<p>Things, that didn&#8217;t work but didn&#8217;t break the blog either were: Ultimate Tag Warrior. It&#8217;s still there and still working. Things that didn&#8217;t work were my theme and the <a href="http://www.sonsofskadi.net/extended-live-archive/">Extended Live Archives</a> by Sons Of Skadi. </p>
<p>For testing purpose, i completely disabled wp-cache.</p>
<p>Luckily, someone had already patched ELA, you can download a modified version <a href="http://blog.tinyau.net/archives/2007/07/07/extended-live-archives-for-wordpress-23/">here</a>, see it in action <a href="/archive/">here</a>. Be aware, you also need the original release from above. Before this thingy works, you need to clean it&#8217;s cache. Otherwise you&#8217;ll get some weird error messages.</p>
<p>Things i need to fix in my theme were UTW related. I imported my tags into the new taxonomic scheme and finally, dumped the warrior. The import worked well, but it killed the blanks in tags and replaced them with underscores. Thanks for that :/</p>
<p>I did the following replacement in my theme:</p>
<table>
<colgroup>
<col width="20%" />
<col width="40%" />
<col width="40%" /></colgroup>
<tr>
<th>Purpose</th>
<th>UTW</th>
<th>WP</th>
</tr>
<tr>
<td>Show the current selected tag in archive view</td>
<td>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">UTW_ShowCurrentTagSet</pre></div></div>

</td>
<td>

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

</td>
</tr>
<tr>
<td>Show the tags for the current post</td>
<td>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">UTW_ShowTagsForCurrentPost<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;commalist&quot;</span><span style="color: #009900;">&#41;</span></pre></div></div>

</td>
<td>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">the_tags<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">', '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

</td>
</tr>
<tr>
<td>Create a tag cloud</td>
<td>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">UTW_ShowWeightedTagSet<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sizedtagcloud&quot;</span><span style="color: #009900;">&#41;</span></pre></div></div>

</td>
<td>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">wp_tag_cloud<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'smallest=70&amp;largest=130&amp;unit=%&amp;orderby=count&amp;order=DESC'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

</td>
</tr>
</table>
<p>The arguments to the functions corresponds with my former UTW settings. Speaking of which: WordPress 2.3 tagging system is completely naked. There are no settings and what is worse, there is no such thing as a dropdown thingy while writing, just a plain text field. As a first solution, i&#8217;ve tried the <a href="http://www.poplarware.com/tagplugin.html">Advanced Tag Entry WordPress Plugin</a>. Seems to work fine, but not as comfortable like UTW.</p>
<p>All other plugins i use, seem to work fine:</p>
<table>
<tr>
<td>Advanced Tag Entry</td>
<td>1.02</td>
</tr>
<tr>
<td>Akismet</td>
<td>2.0.2</td>
</tr>
<tr>
<td>Chunk Urls for WordPress</td>
<td>2.0</td>
</tr>
<tr>
<td>Extended Live Archives</td>
<td>0.10beta-r18 (patched version)</td>
</tr>
<tr>
<td>FeedStats</td>
<td>3.0</td>
</tr>
<tr>
<td>Google Adsense widget</td>
<td>1.0</td>
</tr>
<tr>
<td>Google XML Sitemaps</td>
<td>3.0</td>
</tr>
<tr>
<td>Math Comment Spam Protection</td>
<td>2.1</td>
</tr>
<tr>
<td>Related Posts</td>
<td>2.04</td>
</tr>
<tr>
<td>Share This</td>
<td>1.4</td>
</tr>
<tr>
<td>Simple Trackback Validation</td>
<td>2.1</td>
</tr>
<tr>
<td>Subscribe To Comments</td>
<td>2.1.1</td>
</tr>
<tr>
<td>Tag cloud widget</td>
<td>1.0a (modified by myself)</td>
</tr>
<tr>
<td>Time Zone</td>
<td>2.2</td>
</tr>
<tr>
<td>wp-cache</td>
<td>2.1.2</td>
</tr>
<tr>
<td>WP-Syntax</td>
<td>0.6</td>
</table>
<p>In the meantime, i have the impression that 2.3 is somewhat slower than 2.2.3, but i can be wrong. </p>
<p>I&#8217;m in doubt about upgrading my other blog <a href="http://planet-punk.de">planet-punk.de</a>. I like and do use tags a lot, but for the time being, the <a href="http://boren.nu/archives/2007/08/26/wordpress-23-taxonomy-schema/">greatest db scheme</a> doesn&#8217;t help a somewhat unusable ui. Don&#8217;t get me wrong, i really like the changes in the scheme going on, but for now, i see little benefit.</p>
<p>Another nice post with the same title as mine has some suggestions for people who ran into problems: read it at <a href="http://weblogtoolscollection.com/archives/2007/09/25/upgrading-to-wordpress-23-dexter/">the Weblog Tools Collection</a>.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=119&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_119" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2007/09/25/upgrading-to-wordpress-23-dexter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Projektdokumentationen und Anwendungsdesign</title>
		<link>http://info.michael-simons.eu/2007/05/19/projektdokumentationen-und-anwendungsdesign/</link>
		<comments>http://info.michael-simons.eu/2007/05/19/projektdokumentationen-und-anwendungsdesign/#comments</comments>
		<pubDate>Sat, 19 May 2007 07:12:04 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Webdevelopment]]></category>
		<category><![CDATA[Lesetipps]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/2007/05/19/projektdokumentationen-und-anwendungsdesign/</guid>
		<description><![CDATA[In den letzten Tagen habe ich einige ganz interessante, deutsche Projektdokumentationen gefunden. Zum einen die zur Zeiterfassung Mite gehörende Diplomarbeit, die hier zum Download angeboten wird. Zum anderen einen Aufsatz von Thomas Bachem, einem der Macher von sevenload.de Ich finde beide Dokumentationen hochgradig interessant zu lesen, nichts desto habe ich einige Anmerkungen und Gedanken dazu: [...]]]></description>
			<content:encoded><![CDATA[<p>In den letzten Tagen habe ich einige ganz interessante, deutsche Projektdokumentationen gefunden.</p>
<p>
Zum einen die zur Zeiterfassung <a href="http://bemite.de/">Mite</a> gehörende Diplomarbeit, die <a href="http://bemite.de/hintergrund.html">hier zum Download</a> angeboten wird. <br />
Zum anderen einen <a href="http://blog.thomasbachem.com/2007/05/07/mein-artikel-im-php-magazin-52006/">Aufsatz</a> von <a href="http://blog.thomasbachem.com/">Thomas Bachem</a>, einem der Macher von <a href="http://www.sevenload.de">sevenload.de</a>
</p>
<p>Ich finde beide Dokumentationen hochgradig interessant zu lesen, nichts desto habe ich einige Anmerkungen und Gedanken dazu:</p>
<p>
Mite ist ein Projekt mit Ruby on Rails. Die Macher hatten am Anfang Lastprobleme, konnten das aber durch einen Umzug auf einen performanteren Server lösen.</p>
<p>
Sevenload ist ein PHP Projekt. Leider nutze ich es nicht so häufig wie Youtube, daher kann ich keine definitive Aussage zur Geschwindigkeit treffen. Dennoch frage ich mich, ob es wirklich nötig ist, in einem Grundlagenartikel direkt mit kontrollierten Redundanzen für die einfachsten Sachen wie &#8220;durchschnittliche Bewertung eines Bildes&#8221; loszulegen? Ich meine, bin ich der einzige, der so etwas für Überflüssig hält? Letzten Endes ist es ein Einzeiler in SQL, der mit korrekter Indexerstellung kein DBMS in die Knie zwingen sollte:
</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> avg<span style="color: #66cc66;">&#40;</span>rating<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> rateable_id <span style="color: #993333; font-weight: bold;">FROM</span> ratings <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> rateable_id <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">ASC</span>;</pre></div></div>

<p>Das dann noch mit einem inner join über die zu bewertenden Dinger verknüpft und gut.</p>
<p>Welcher Ansatz würde ich wählen? Ich selber würde jederzeit Standards vorziehen, im obigen Fall auf ein sauberes ER &lt;-&gt;Objekt Mapping und auf Normalisierung in der DB (witzigerweise erwähnt Thomas Bachem das im nächsten Absatz bzgl. Tagging Schema) setzen. In anderen Worten: Lieber den Railsweg gehen und sauberes Design erhalten und dann im Zweifelsfall etwas mehr Hardware hinter her werfen.</p>
<p>Tatsächlich redundate Informationen zu speichern würde ich generell nicht ausschliessen, in diesem Fall allerdings schon. Ich denke, wenn man soweit unten bereits diesen Bedarf hat, wird es eng mit Optimierungen, wenn die Luft unter Last dünner wird.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=82&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_82" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2007/05/19/projektdokumentationen-und-anwendungsdesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress and UTW Upgrade</title>
		<link>http://info.michael-simons.eu/2007/04/03/wordpress-and-utw-upgrade/</link>
		<comments>http://info.michael-simons.eu/2007/04/03/wordpress-and-utw-upgrade/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 18:24:41 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ultimate Tag Warrior]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/2007/04/03/wordpress-and-utw-upgrade/</guid>
		<description><![CDATA[Why on earth has my &#8216;post_type&#8217; column on my wp 2.0.x based blog no default value? Ultimate Tag Warrior UTW3-14159265 will break and show no tags. If anyone else has this problem, add $typelimitsql = &#34;(post_status = 'publish' OR post_status = 'static')&#34;; // From previous version of utw in ultimate-tag-warrior-core.php right before the class definition. [...]]]></description>
			<content:encoded><![CDATA[<p>Why on earth has my &#8216;post_type&#8217; column on my wp 2.0.x based blog no default value? Ultimate Tag Warrior UTW3-14159265 will break and show no tags.</p>
<p>If anyone else has this problem, add</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$typelimitsql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;(post_status = 'publish' OR post_status = 'static')&quot;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// From previous version of utw</span></pre></div></div>

<p>in ultimate-tag-warrior-core.php right before the class definition. It&#8217;s taken from the previous UTW Version. </p>
<p>Edit:<br />
Upgrading to WP 2.1.x changed the table structure&#8230; A little hint would have been nice in the utw changelog.</p>
<p class="akst_link"><a href="http://info.michael-simons.eu/?p=63&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_63" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2007/04/03/wordpress-and-utw-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der virtuelle Nachsendeauftrag</title>
		<link>http://info.michael-simons.eu/2006/09/09/der-virtuelle-nachsendeauftrag/</link>
		<comments>http://info.michael-simons.eu/2006/09/09/der-virtuelle-nachsendeauftrag/#comments</comments>
		<pubDate>Sat, 09 Sep 2006 11:15:43 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Webdevelopment]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://info.michael-simons.eu/2006/09/09/der-virtuelle-nachsendeauftrag/</guid>
		<description><![CDATA[Passend zum vorherigen Eintrag Der Umzug ein kleiner HTTP Redirect Tipp: Ich habe mich ein bisschen schlau gemacht, wie man der Welt im allgemeinen und Suchmaschinen im speziellen am besten mitteilt, dass sich eine URL geändert hat. Der goldene Weg ist der entsprechende HTTP Header: 301, permanently moved. Das ist mit wenigen Zeilen PHP schnell [...]]]></description>
			<content:encoded><![CDATA[<p>Passend zum vorherigen Eintrag <a href="http://info.michael-simons.eu/2006/09/08/umzug/">Der Umzug</a> ein kleiner HTTP Redirect Tipp:</p>
<p>Ich habe mich ein bisschen schlau gemacht, wie man der Welt im allgemeinen und Suchmaschinen im speziellen am besten mitteilt, dass sich eine URL geändert hat.</p>
<p>Der goldene Weg ist der entsprechende HTTP Header: 301, permanently moved. Das ist mit wenigen Zeilen PHP schnell erledigt:</p>

<div class="wp_syntax"><div class="code"><pre class="php-brief" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP/1.1 301 Moved Permanently&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: http://info.michael-simons.eu&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Diese Methode ist auf jedenfall einem Refresh über Meta Tags vorzuziehen, da die Bots der Suchmaschinen so ihre Indizes aktualisieren.</p>
<p>In dem Zusammen stieß ich auf folgenden Artikel: <a href="http://ekstreme.com/webmaster/301-redirection.php" rel="external">Redirects using HTTP 301 headers</a>. Dort wird anschaulich dagelegt, dass es für das Suchmaschinen Ranking einer Seite nicht gut ist, wenn z.B. www.michael-simons.eu auf www.michael-simons.eu zeigt, michael-simons.eu auf michael-simons.eu. Suchmaschinenbetreiber stufen dadurch teilweise beide Seiten schlechter ein, weil identischer Content über unterschiedliche Domains zu erreichen sind.</p>
<p>Das kann vermieden werden, indem entweder beide Domains auf michael-simons.eu verweisen oder beide auf www.michael-simons.eu. Beispiel: Wird www.michael-simons.eu als Zieladresse in den Browser eingegeben, landet man genauso auf michael-simons.eu, als wenn man es direkt eingibt.  Umgekehrt ist es genauso in Ordnung.</p>
<p>Das Problem lässt sich durch einen Eintrag in die .htaccess Datei mit aktivierten mod_rewrite leicht lösen:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">on</span>
<span style="color: #00007f;">RewriteCond</span> %{HTTP_HOST} ^www\.michael-simons\.eu [nc]
<span style="color: #00007f;">RewriteRule</span> (.*) http://michael-simons.eu/$1 [R=<span style="color: #ff0000;">301</span>,L]</pre></div></div>

<p class="akst_link"><a href="http://info.michael-simons.eu/?p=31&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_31" class="akst_share_link " rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://info.michael-simons.eu/2006/09/09/der-virtuelle-nachsendeauftrag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.553 seconds -->

