<?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>Benjamin Mock &#187; Coding</title>
	<atom:link href="http://benjaminmock.de/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjaminmock.de</link>
	<description>web &#38; mobile development</description>
	<lastBuildDate>Mon, 06 Sep 2010 00:05:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Eclipse Autocomplete für CodeIgniter</title>
		<link>http://benjaminmock.de/eclipse-autocomplete-fuer-codeigniter/</link>
		<comments>http://benjaminmock.de/eclipse-autocomplete-fuer-codeigniter/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 16:24:13 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[codeigniter]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=254</guid>
		<description><![CDATA[Ich verwende für so ziemlich alle meine Programmierarbeiten die Eclipse IDE. Leider hatte ich bisher noch keinen Weg gekannt das Autocomplete für CodeIgniter-Projekte zu aktivieren. Die Dokumentation von CodeIgniter ist zwar richtig gut, dennoch kostet das Nachschlagen seltener verwendeter Methoden doch immer recht viel Zeit. Ein Autocomplete ist für die CodeIgniter Methoden ist daher eine [...]]]></description>
			<content:encoded><![CDATA[<p>Ich verwende für so ziemlich alle meine Programmierarbeiten die Eclipse IDE. Leider hatte ich bisher noch keinen Weg gekannt das Autocomplete für CodeIgniter-Projekte zu aktivieren. Die Dokumentation von CodeIgniter ist zwar richtig gut, dennoch kostet das Nachschlagen seltener verwendeter Methoden doch immer recht viel Zeit. Ein Autocomplete ist für die CodeIgniter Methoden ist daher eine echte Erleichterung. <a href="http://www.gostomski.co.uk/codeigniter/getting-full-auto-complete-with-codeigniter-in-eclipse">Damian Gostomski</a> erklärt in diesem Post wie es geht. Auch wenn man das Projekt cleanen muss und Eclipse neustarten muss &#8211; irgendwann funktioniert es. Also am besten einfach mal austesten:</p>
<p>1) In system/codeigniter/Base5.php (bzw. Base4.php) am Ende des Konstruktors den folgenden Code einbinden:</p>
<p><code><br />
if(false) { // eclipse autocomplete<br />
			$agent = new CI_User_agent();<br />
			$benchmark = new CI_Benchmark();<br />
			$calendar = new CI_Calendar();<br />
			$cart = new CI_Cart();<br />
			$config = new CI_Config();<br />
			$db = new CI_DB_active_record();<br />
			$email = new CI_Email();<br />
			$encrypt = new CI_Encrypt();<br />
			$form_validation = new CI_Form_validation();<br />
			$ftp = new CI_FTP();<br />
			$image_lib = new CI_Image_lib();<br />
			$input = new CI_Input();<br />
			$lang = new CI_Language();<br />
			$output = new CI_Output();<br />
			$pagination = new CI_Pagination();<br />
			$parser = new CI_Parser();<br />
			$session = new CI_Session();<br />
			$table = new CI_Table();<br />
			$trackback = new CI_Trackback();<br />
			$typography = new CI_Typography();<br />
			$unit = new CI_Unit_test();<br />
			$upload = new CI_Upload();<br />
			$uri = new CI_URI();<br />
			$xmlrpc = new CI_Xmlrpc();<br />
			$xmlrpcs = new CI_Xmlrpcs();<br />
			$zip = new CI_Zip();<br />
		}<br />
</code></p>
<p>2) Project -> clean<br />
3) Eclipse neu starten<br />
4) falls das Autocomplete nicht erscheint den Shortcut Strg + Leer testen</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/eclipse-autocomplete-fuer-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safe Mode auf der Kommandozeile</title>
		<link>http://benjaminmock.de/safe-mode-auf-der-kommandozeile/</link>
		<comments>http://benjaminmock.de/safe-mode-auf-der-kommandozeile/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 23:44:28 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[safe mode]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=228</guid>
		<description><![CDATA[Ich hatte gerade auf der Konsole (cli) auf einem Server den Fehler &#8220;set_time_limit(): Cannot set time limit in safe mode in &#8230;&#8221;, obwohl ich laut phpinfo() den Safe Mode ausgeschaltet hatte. Nach anfänglicher Verwunderung habe ich festgestellt, dass zwei verschiedene php.inis verwendet werden; eine für den Apache, eine für die Kommandozeile.
Unter Suse 10 findet man [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte gerade auf der Konsole (cli) auf einem Server den Fehler &#8220;set_time_limit(): Cannot set time limit in safe mode in &#8230;&#8221;, obwohl ich laut phpinfo() den Safe Mode ausgeschaltet hatte. Nach anfänglicher Verwunderung habe ich festgestellt, dass zwei verschiedene php.inis verwendet werden; eine für den Apache, eine für die Kommandozeile.</p>
<p>Unter Suse 10 findet man diese beispielsweise unter </p>
<p>Apache:<br />
/etc/php5/apache2/php.ini</p>
<p>CMD:<br />
/etc/php5/cli/php.ini</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/safe-mode-auf-der-kommandozeile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Console Wrapper</title>
		<link>http://benjaminmock.de/javascript-console-wrapper/</link>
		<comments>http://benjaminmock.de/javascript-console-wrapper/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 02:46:41 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=224</guid>
		<description><![CDATA[Die alert()-function benutzt hoffentlich niemand mehr zum Debuggen von JavaScript. Dafür sind Tools wie Firebug viel zu gut und komfortabel, denn sie besitzen unter anderem eine Konsole, über die Log und Debug-Ausgaben getätigt werden können. Problematisch wird das nur, wenn Testbrowser keine Konsole besitzen, oder die console-Aufrufe vergessen werden. Dann nämlich werden Fehler geworfen und [...]]]></description>
			<content:encoded><![CDATA[<p>Die alert()-function benutzt hoffentlich niemand mehr zum Debuggen von JavaScript. Dafür sind Tools wie <a href="http://www.getfirebug.com/">Firebug</a> viel zu gut und komfortabel, denn sie besitzen unter anderem eine Konsole, über die Log und Debug-Ausgaben getätigt werden können. Problematisch wird das nur, wenn Testbrowser keine Konsole besitzen, oder die console-Aufrufe vergessen werden. Dann nämlich werden Fehler geworfen und der JavaScript-Code nicht weiter ausgeführt.</p>
<p>Abhilfe schaffen hier sogenannte Console-Wrapper. Diese ersetzen die console-Calls, falls keine Konsole vorhanden ist. Die Console-Wrapper von <a href="http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/">Paul Irish</a> oder <a href="http://benalman.com/projects/javascript-debug-console-log/">Ben Alman</a> sind hier besonders zu erwähnen, da diese die console-Calls speichern. Hängt man dann etwa Firebug-Lite an die Seite an, werden die gespeicherten Log-Ausgaben darin ausgegeben. </p>
<p>Hier der Link zur <a href="http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js">minified-Version des Console-Wrappers</a> von Ben Alman, den man grundsätzlich in jedes JS-Projekt einbinden sollte um Fehler mit der Konsole zu vermeiden.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/javascript-console-wrapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter Validation-Library Probleme mit PHP 4</title>
		<link>http://benjaminmock.de/codeigniter-validation-library-probleme-mit-php-4/</link>
		<comments>http://benjaminmock.de/codeigniter-validation-library-probleme-mit-php-4/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 10:53:00 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=185</guid>
		<description><![CDATA[Die CodeIgniter-Validation-Library zum Überprüfen von Formularen hat mit PHP 4 ein Problem.
Wer die Fehlermeldung

Message: Undefined property: ...

in seiner View erhält kann sich mit 

$data['this'] = $this;

 im Controller behelfen. So wird das $this in der View erreichbar und somit sind auch die Validation-Values zugreifbar.
]]></description>
			<content:encoded><![CDATA[<p>Die CodeIgniter-Validation-Library zum Überprüfen von Formularen hat mit PHP 4 ein Problem.</p>
<p>Wer die Fehlermeldung</p>
<pre language="php">
Message: Undefined property: ...
</pre>
<p>in seiner View erhält kann sich mit </p>
<pre language="php">
$data['this'] = $this;
</pre>
<p> im Controller behelfen. So wird das <b>$this</b> in der View erreichbar und somit sind auch die Validation-Values zugreifbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/codeigniter-validation-library-probleme-mit-php-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Tabelle kopieren / synchronisieren</title>
		<link>http://benjaminmock.de/mysql-tabelle-kopieren-synchronisieren/</link>
		<comments>http://benjaminmock.de/mysql-tabelle-kopieren-synchronisieren/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 02:01:49 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=176</guid>
		<description><![CDATA[Der einfachste Weg eine Datenbank anhand einer anderen zu synchronisieren ist, sie einfach zu kopieren. Das kann man über den Umweg eines Dumps machen, oder direkt über eine Pipe. Zwar handelt es sich dabei nicht um eine echte Synchronisation, da alle Daten gelöscht und neu erstellt werden, aber dieses Vorgehen funktioniert schnell und unkompliziert.

mysqldump -al [...]]]></description>
			<content:encoded><![CDATA[<p>Der einfachste Weg eine Datenbank anhand einer anderen zu synchronisieren ist, sie einfach zu kopieren. Das kann man über den Umweg eines Dumps machen, oder direkt über eine Pipe. Zwar handelt es sich dabei nicht um eine echte Synchronisation, da alle Daten gelöscht und neu erstellt werden, aber dieses Vorgehen funktioniert schnell und unkompliziert.</p>
<pre><code>
mysqldump -al --user=[username1] --password=[pw1] -h [host1] --add-drop-table [db_name1] [table] | mysql -h [host2] --user=[username2] --password=[pw2] [db_name2]
</code></pre>
<p>Alles mit [*] muss natürlich entsprechend ersetzt werden (auch die Klammern entfernen!).</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/mysql-tabelle-kopieren-synchronisieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery CSS Reset Plugin</title>
		<link>http://benjaminmock.de/jquery-css-reset-plugin/</link>
		<comments>http://benjaminmock.de/jquery-css-reset-plugin/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 02:06:29 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[reset-css]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=155</guid>
		<description><![CDATA[
summary: plugin resets css styles of given element
version: 0.1
date: 09.07.22

If you&#8217;re coding a widget which is not included in the page via an iframe you have to cope with a lot of different styles that are given by the css of the page. Using a lot of inline styles for your elements is most of [...]]]></description>
			<content:encoded><![CDATA[<ul style="border:1px solid #ffffff; overflow:hidden;margin:5px;">
<li><b>summary: </b>plugin resets css styles of given element</li>
<li><b>version: </b>0.1</li>
<li><b>date: </b>09.07.22</li>
</ul>
<p>If you&#8217;re coding a widget which is not included in the page via an iframe you have to cope with a lot of different styles that are given by the css of the page. Using a lot of inline styles for your elements is most of the time not an option, because you need some easy injectable html-code for the users. So styling your widget with JavaScript is the best option. And therefore you will maybe like to reset the css for your elements. And that&#8217;s exactly what the <b>beResetCSS</b>-JQuery-Plugin does.</p>
<h3>Download</h3>
<p style="border:1px solid #ffffff; overflow:hidden;">
<img src="http://benjaminmock.de/wp-content/uploads/box_download.png" align="left" alt="download beResetCSS"> <br/><br /> <br />
<a href="http://benjaminmock.de/wp-content/uploads/beResetCSS.zip">Download BeResetCSS v0.1 as zip</a></p>
<h3>Usage</h3>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<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>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;YourElement&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">beResetCSS</span><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: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The reset-CSS is based on the <a href="http://meyerweb.com/eric/tools/css/reset/">suggestion</a> from meyerweb.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/jquery-css-reset-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mischen von Query-Strings und URL-Segmenten</title>
		<link>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/</link>
		<comments>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 16:07:54 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[query_string]]></category>
		<category><![CDATA[uri_protocol]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=152</guid>
		<description><![CDATA[CodeIgniter ist auf saubere URLs ausgelegt. Das heißt, dass Daten entweder per post durch Formulare oder per URL-Segment übergeben werden. Ein Zugriff auf das $_GET-Array ist in der Standardkonfiguration nicht vorgesehen. Dennoch kann es nötig sein eben dieses $_GET-Array zu nutzen. Eine Suchfunktion kann zum Beispiel ein Grund dafür sein. Zwar könnte der Suchstring auch [...]]]></description>
			<content:encoded><![CDATA[<p>CodeIgniter ist auf saubere URLs ausgelegt. Das heißt, dass Daten entweder per post durch Formulare oder per URL-Segment übergeben werden. Ein Zugriff auf das <b>$_GET</b>-Array ist in der Standardkonfiguration nicht vorgesehen. Dennoch kann es nötig sein eben dieses <b>$_GET</b>-Array zu nutzen. Eine Suchfunktion kann zum Beispiel ein Grund dafür sein. Zwar könnte der Suchstring auch mit post aus dem Formular übergeben werden, jedoch gäbe es keine Ergebnis-URLs, die z.B. vom Benutzer kopiert werden könnten. Entweder man kodiert den Suchstring mit base64 und nutzt diesen dann als URL Segment, so dass eindeutige URLs entstehen für alle Suchanfragen, allerdings ist diese URL dann natürlich nicht mehr lesbar. Will man lesbare URLs, muss man zwangsläufig auf die <b>Get-Methode</b> zurückgreifen.</p>
<p>Dazu setzt man in <b>system/application/config/config.php</b> den Wert von uri_protocol von AUTO auf PATH_INFO.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'uri_protocol'</span><span style="color: #009900;">&#93;</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;PATH_INFO&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In den Controllern, in denen nun das $_GET-Array genutzt werden soll muss folgende Zeile in den Konstruktor:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">parse_str</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'QUERY_STRING'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Damit kann dann in diesen Controllern ganz normal auf $_GET zugegriffen werden. Dennoch bleiben auch die URL-Segmente aktiviert und können weiter genutzt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter error reporting / logging</title>
		<link>http://benjaminmock.de/codeigniter-error-reporting-logging/</link>
		<comments>http://benjaminmock.de/codeigniter-error-reporting-logging/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 20:11:36 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[error_reporting]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=149</guid>
		<description><![CDATA[CodeIgniter wurde so entwickelt, dass es auf möglichst vielen Servern ohne Probleme läuft. Daher wird die Serverumgebung als unbekannt vorausgesetzt. Einstellungen wie display_error werden daher nicht beachtet. Vielmehr wird bei jedem Seitenaufruf die PHP-Funktion error_reporting aufgerufen. Wer die Einstellungen von error_reporting aber in der config.php sucht, wird vergeblich suchen. Eingestellt wird das error_reporting in der [...]]]></description>
			<content:encoded><![CDATA[<p>CodeIgniter wurde so entwickelt, dass es auf möglichst vielen Servern ohne Probleme läuft. Daher wird die Serverumgebung als unbekannt vorausgesetzt. Einstellungen wie <i>display_error</i> werden daher nicht beachtet. Vielmehr wird bei jedem Seitenaufruf die PHP-Funktion <i>error_reporting</i> aufgerufen. Wer die Einstellungen von error_reporting aber in der config.php sucht, wird vergeblich suchen. Eingestellt wird das error_reporting in der index.php im root-Verzeichnis.</p>
<p>Für den Test- und Entwicklungsbetrieb eignet sich</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">error_reporting</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">E_ALL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Für den Produktivbetrieb, sollte diese Einstellung aber auf jeden Fall in</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">error_reporting</span><span style="color: #009900;">&#40;</span>0<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>geändert werden. Generell sollten zwar so wenig Fehler wie möglich auftreten, leider gibt es aber doch immer wieder Unvorhersehbarkeiten, die durch das Error Reporting sensible Daten aufdecken könnten.</p>
<p>Allerdings ist es allein mit dem Error Reporting noch nicht getan, denn Datenbankfehler werden dennoch angezeigt. Um auch diese im Produktivbetrieb auszuschalten muss in  <b>system/application/database.php</b></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'db_debug'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span></pre></div></div>

<p>in</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'db_debug'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span></pre></div></div>

<p>geändert werden. </p>
<p>Zwei einfache Handgriffe, die in jedem Fall zur Sicherheit der Applikation und des Servers beitragen und niemals vergessen werden sollten. Am besten aktiviert man, wenn man schon dabei ist in <b>system/application/config.php</b> das <b>Fehler Logging</b>. Dazu wird</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'log_threshold'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span></pre></div></div>

<p>auf</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'log_threshold'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span></pre></div></div>

<p>gesetzt. So werden alle aufgetretenen PHP-Fehler in <b>system/logs/</b> geloggt.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/codeigniter-error-reporting-logging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BeZoom Lighweight JQuery Zoom Plugin</title>
		<link>http://benjaminmock.de/bezoom-jquery-plugin/</link>
		<comments>http://benjaminmock.de/bezoom-jquery-plugin/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 02:58:47 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[zoom]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=126</guid>
		<description><![CDATA[BeZoom is a simple and lightweight zoom plugin for the wonderful JQuery framework.
Update / Changelog
09.07.29 v0.11

fixed overlow:hidden bug in IE6 &#038; 7 when container has position:absolute;
changed method to calculate relative mouse position to work in IE
chaining of mouseenter, mouseleave and mousemove didn&#8217;t work in IE
Plugin now works in Opera >= 9, Firefox >= 2,  [...]]]></description>
			<content:encoded><![CDATA[<p><b>BeZoom</b> is a <b>simple and lightweight zoom plugin</b> for the wonderful JQuery framework.</p>
<h3>Update / Changelog</h3>
<p><b>09.07.29 v0.11</b></p>
<ul>
<li>fixed overlow:hidden bug in IE6 &#038; 7 when container has position:absolute;</li>
<li>changed method to calculate relative mouse position to work in IE</li>
<li>chaining of mouseenter, mouseleave and mousemove didn&#8217;t work in IE</li>
<li>Plugin now works in <strong>Opera </strong>>= 9, <strong>Firefox</strong> >= 2,  <strong>IE</strong> >= 7 &#038; <strong>Chrome</strong></li>
</ul>
<h3>Demo</h3>
<p>To view this script in action simply hover of the following image:<br />
<a href="http://benjaminmock.de/wp-content/uploads/bezoom/img_big.jpg" class="zoom" title="Your Title"><img src="http://benjaminmock.de/wp-content/uploads/bezoom/img_small.jpg"></a></p>
<h3>Download</h3>
<p style="border:1px solid #ffffff; -moz-border-radius: 10px;-khtml-border-radius: 10px;-webkit-border-radius: 10px;">
<img src="http://benjaminmock.de/wp-content/uploads/box_download.png" align="left" alt="download BeZoom"> <br/><br />
<a href="http://benjaminmock.de/wp-content/uploads/bezoom.zip">Download BeZoom v0.11 as zip</a><br />
<br/>
</p>
<h3>Usage</h3>
<pre><code class="javascript">$(document).ready(function(){
	$(".zoom").bezoom();
});
</code></pre>
<h3>HTML</h3>
<p>The plugins works best with images with the same proportions.</p>
<pre><code class="javascript">
&lt;a href=&quot;img_big.jpg&quot; class=&quot;zoom&quot; title=&quot;Your Title&quot;&gt;
    &lt;img src=&quot;img_small.jpg&quot;&gt;
&lt;/a&gt;
</code></pre>
<h3>Options</h3>
<p>It&#8217;s not neccessary to link directly to the big image. You can also you the <i>rel-Attribute</i> for the preview-image or any other attribute.</p>
<pre><code class="javascript">$(document).ready(function(){
	var options = {imgSource = 'rel'};
	$(".zoom").bezoom();
});
</code></pre>
<pre><code class="javascript">
&lt;a href=&quot;some_page.html&quot; rel=&quot;img_big.jpg&quot; class=&quot;zoom&quot; title=&quot;Your Title&quot;&gt;
    &lt;img src=&quot;img_small.jpg&quot;&gt;
&lt;/a&gt;
</code></pre>
<h3>Options Overview</h3>
<ul class="bezoom_options">
<li class="head">
<div class="option">Option</div>
<div class="default">Default Value</div>
<div class="description">Description</div>
</li>
<li class="even">
<div class="option">marginLeft</div>
<div class="default">10</div>
<div class="description">left side margin</div>
</li>
<li>
<div class="option">identifier</div>
<div class="default">bezoom</div>
<div class="description">id that is used internally for the bezoom plugin; should not need to be changed as long as you don&#8217;t use an &#8220;bezoom&#8221;-id on your own page</div>
</li>
<li class="even">
<div class="option">height</div>
<div class="default">200</div>
<div class="description">height of preview-container; height of title-container doesn&#8217;t count</div>
</li>
<li>
<div class="option">width</div>
<div class="default">200</div>
<div class="description">width of preview-container</div>
</li>
<li class="even">
<div class="option">titleSource</div>
<div class="default">title</div>
<div class="description">Attribute that contains the title</div>
</li>
<li>
<div class="option">imgSource</div>
<div class="default">href</div>
<div class="description">Attribute that contains the url of the preview-image</div>
</li>
<li class="even">
<div class="option">bgColor</div>
<div class="default">#5398EE</div>
<div class="description">background-color of title</div>
</li>
<li>
<div class="option">color</div>
<div class="default">#ffffff</div>
<div class="description">font-color of title</div>
</li>
<li class="even">
<div class="option">size</div>
<div class="default">0.8em</div>
<div class="description">font-size of title; you can also use px instead of em</div>
</li>
</ul>
<div class="clear"></div>
<h3>Alternatives</h3>
<p>With <a href="http://www.mind-projects.it/jqzoom_v10">jqzoom</a> there is a well known alternative to <b>BeZoom</b>, I used some time. But jqzoom in my opinion is much to complicated and confusing. Changing something in this 1000 liner isn&#8217;t fun at all. After all jqzoom seems to be a <a href="http://www.feedmyapp.com/p/a/jqzoom-evolution-image-magnifier-for-jquery/7020">mashup</a> of prototip and lightview.</p>
<p>So I created <b>BeZoom</b> to suit my personal needs. It&#8217;s light and it&#8217;s easy to use.</p>
<p>If you are using <b>BeZoom</b> let me know it and I&#8217;m going to develop some more features for it. If you find any bugs I&#8217;d appreciate a short comment so I can fix it.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/bezoom-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Codeigniter imagettftext() Problem &#8211; Could not read font</title>
		<link>http://benjaminmock.de/codeigniter-imagettftext-problem/</link>
		<comments>http://benjaminmock.de/codeigniter-imagettftext-problem/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 13:18:50 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[bild]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[imagettftext]]></category>
		<category><![CDATA[schrift]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=101</guid>
		<description><![CDATA[Wer mit Codeigniter (1.7.1) und der PHP-Funktion imagettftext() versucht Text in ein Bild zu schreiben wird &#8211; zumindest wenn er eine XAMPP Umgebung unter Windows nutzt &#8211; auf seltsame Probleme stoßen.
Trotz korrektem Pfad zur integrierten Schrift, der texb.ttf, tritt nämlich die Fehlermeldung imagettftext: Could not read font auf. Da hilft kein experimentieren oder ändern des [...]]]></description>
			<content:encoded><![CDATA[<p>Wer mit Codeigniter (1.7.1) und der PHP-Funktion <strong>imagettftext()</strong> versucht Text in ein Bild zu schreiben wird &#8211; zumindest wenn er eine XAMPP Umgebung unter Windows nutzt &#8211; auf seltsame Probleme stoßen.</p>
<p>Trotz korrektem Pfad zur integrierten Schrift, der <strong>texb.ttf</strong>, tritt nämlich die Fehlermeldung <strong>imagettftext: Could not read font</strong> auf. Da hilft kein experimentieren oder ändern des Pfades, es hilft nur eine neue Schriftart, denn offensichtlich ist diese Schriftart defekt oder funktioniert unter Windows nicht korrekt (unter Linux habe ich es noch nicht getestet). Massig coole Schriftarten gibt&#8217;s übrigens bei <a href="http://dafont.com/">dafont</a>. Die neue Schriftart sollte dann im dafür vorgesehenen Ordner <strong>system/fonts/</strong> gespeichert werden.</p>
<p>Und hier nochmal ein kleines Snippet, das zeigt wie man dann mit der neuen Schriftart Texte in Bilder schreibt:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Bild erzeugen, Farbe allokieren</span>
<span style="color: #000088;">$width</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">400</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$im</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$background_color</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ImageColorAllocate</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$im</span><span style="color: #339933;">,</span> 255<span style="color: #339933;">,</span> 255<span style="color: #339933;">,</span> 255<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$text_color</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ImageColorAllocate</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$im</span><span style="color: #339933;">,</span> 0<span style="color: #339933;">,</span>0<span style="color: #339933;">,</span>0<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// schreiben</span>
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'TEXT'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$font_size</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$angle</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$x</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">30</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$y</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">80</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$font_path</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">'./system/fonts/neue_schriftart.ttf'</span><span style="color: #339933;">;</span>
<span style="color: #990000;">imagettftext</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$im</span><span style="color: #339933;">,</span> <span style="color: #000088;">$font_size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$angle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x</span><span style="color: #339933;">,</span> <span style="color: #000088;">$y</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text_color</span><span style="color: #339933;">,</span> <span style="color: #000088;">$font_path</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Bild ausgeben</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-type: image/png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ImagePNG</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$im</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ImageDestroy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$im</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Ich habe in diesem Fall ein <strong>png</strong> erstellt. Den Code umzubauen, so dass ein gif oder jpeg erzeugt wird, sollte aber kein Problem sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/codeigniter-imagettftext-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
