<?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>tagdocs.de &#187; CodeIgniter</title>
	<atom:link href="http://www.tagdocs.de/category/php/code-igniter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tagdocs.de</link>
	<description>Deine tägliche Dosis Web</description>
	<lastBuildDate>Tue, 30 Aug 2011 16:30:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>PyroCMS &#8211; auf CodeIgniter basierendes CMS</title>
		<link>http://www.tagdocs.de/2010/08/10/pyrocms-auf-codeigniter-basierendes-cms/</link>
		<comments>http://www.tagdocs.de/2010/08/10/pyrocms-auf-codeigniter-basierendes-cms/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 11:15:10 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://www.tagdocs.de/?p=3007</guid>
		<description><![CDATA[PyroCMS ist ein relativ einfaches Content Management System auf Basis des CodeIgniter-Frameworks. Nach der Installation bietet das System verschiedene Module (Forum, News, Newsletter, Gallerie) und Widgets (RSS, Twitter, HTML, etc.) an, die man in eine Website einbinden kann. Ansonsten ist die Arbeitweise so, wie man sie von vielen anderen CMS her kennt: man legt eine [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_3008" class="wp-caption alignleft" style="width: 330px"><a href="http://pyrocms.com/"><img src="http://www.tagdocs.de/wp-content/uploads/2010/08/ci_pyro.jpg" alt="PyroCMS" title="ci_pyro" width="320" height="189" class="size-full wp-image-3008" /></a><p class="wp-caption-text">PyroCMS</p></div>
<p><a href="http://pyrocms.com/" title="PyroCMS Homepage">PyroCMS</a> ist ein relativ einfaches Content Management System auf Basis des CodeIgniter-Frameworks.</p>
<p>Nach der Installation bietet das System verschiedene Module (Forum, News, Newsletter, Gallerie) und Widgets (RSS, Twitter, HTML, etc.) an, die man in eine Website einbinden kann. Ansonsten ist die Arbeitweise so, wie man sie von vielen anderen CMS her kennt: man legt eine Seitenstruktur an bei der jede Seite ein eigenes Layout, eigene Meta-Daten, etc. haben kann und definiert dann eine eine hierarchische Navigation in die die Seiten und Module eingebunden werden (man kann also z.B. festlegen, dass der Menüpunkt &#8220;Impressum&#8221; die Seite &#8220;Impressum&#8221; anzeigt und z.B. der Menüpunkt &#8220;Kontakt&#8221; ein Modul &#8220;Kontaktformular&#8221; aufruft, etc.).</p>
<p>Was ich persönlich ungemein praktisch an PyroCMS finde ist, dass es so einfach ist. Dadurch wird es zu einer guten Basis für eigene Projekte, da das System über eigene Module entsprechend erweitert werden kann und man sich über den &#8220;lästigen Kleinkram&#8221; (sprich: Erstellung von normalen Seiten und der Navigation) kaum Gedanken machen muss.</p>
<p>Die Version 1.0 von PyroCMS (aktuell ist 0.9.9.6) soll übrigens auch schon CodeIgniter 2 als Basis nutzen was die Performance nochmal erhöhen soll und neue Features erlaubt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tagdocs.de/2010/08/10/pyrocms-auf-codeigniter-basierendes-cms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Datenbankbackups mit DBUTIL und MySQLi in CodeIgniter</title>
		<link>http://www.tagdocs.de/2010/02/24/datenbankbackups-mit-dbutil-und-mysqli-in-codeigniter/</link>
		<comments>http://www.tagdocs.de/2010/02/24/datenbankbackups-mit-dbutil-und-mysqli-in-codeigniter/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 14:00:43 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://www.tagdocs.de/?p=2450</guid>
		<description><![CDATA[In einem unserer Firmenprojekte nutze ich die DB Utitlity-Klasse von CodeIgniter um einfach ein Backup von bestimmten Tabellen zu erstellen. Leider gibt es ein kleines Problem mit der backup() Funktion der dbutil-Klasse: sie funktioniert nur mit MySQL und nicht unter MySQLi. Da ich aber für das Projekt die MySQLi-Variante bevorzuge habe ich mir einmal angeschaut [...]]]></description>
			<content:encoded><![CDATA[<p>In einem unserer <a title="IT-Imhof Networksolutions, Aschaffenburg" href="http://www.it-imhof.de">Firmenprojekte</a> nutze ich die DB Utitlity-Klasse von CodeIgniter um einfach ein Backup von bestimmten Tabellen zu erstellen. Leider gibt es ein kleines Problem mit der backup() Funktion der dbutil-Klasse: sie funktioniert nur mit MySQL und nicht unter MySQLi.</p>
<p>Da ich aber für das Projekt die MySQLi-Variante bevorzuge habe ich mir einmal angeschaut wo das eigentliche Problem liegt. Prinzipiell sollte es ja kein grosses Problem sein die MySQL-Funktionalität zu portieren.</p>
<p><span id="more-2450"></span></p>
<p>Wenn man sich die Datei <i>mysql_utility.php</i> anschaut wird schnell klar, dass die <i>_backup()</i>-Funktion nur zwei MySQL-spezifische Befehle nutzt: <i>mysql_fetch_field()</i> und <i>mysql_field_type()</i>. Nach ein wenig testen bin ich auf folgende Lösung gekommen um die backup-Funktion sauber mit MySQLi nutzen zu können:</p>
<h3>Schritt 1</h3>
<p>Man überschreibt die <i>_backup()</i>-Funktion in <i>mysqli_utility.php</i> mit der kompletten Funktion aus <i>mysql_utility.php</i></p>
<h3>Schritt 2</h3>
<p>Man ersetzt in der Funktion in <i>mysqli_utility.php</i> den folgenden Code-Block:</p>
<p>[php]$i = 0;<br />
$field_str = &#8221;;<br />
$is_int = array();<br />
while ($field = mysql_fetch_field($query->result_id))<br />
{<br />
        // Most versions of MySQL store timestamp as a string<br />
        $is_int[$i] = (in_array(<br />
                                                        strtolower(mysql_field_type($query->result_id, $i)),<br />
                                                        array(&#8216;tinyint&#8217;, &#8216;smallint&#8217;, &#8216;mediumint&#8217;, &#8216;int&#8217;, &#8216;bigint&#8217;), //, &#8216;timestamp&#8217;),<br />
                                                        TRUE)<br />
                                                        ) ? TRUE : FALSE;</p>
<p>        // Create a string of field names<br />
        $field_str .= &#8216;`&#8217;.$field->name.&#8217;`, &#8216;;<br />
        $i++;<br />
}[/php]</p>
<p>durch</p>
<p>[php]$i = 0;<br />
$field_str = &#8221;;<br />
$is_int = array();</p>
<p>while ($field = mysqli_fetch_field($query->result_id)) {</p>
<p>        $is_int[$i]     = in_array((int)$field->type,array(1,2,3,8,9));</p>
<p>        // Create a string of field names<br />
        $field_str .= &#8216;`&#8217;.$field->name.&#8217;`, &#8216;;<br />
        $i++;</p>
<p>}[/php]</p>
<h3>Schritt 3</h3>
<p>Man freut sich über die nun (hoffentlich <img src='http://www.tagdocs.de/wp-content/plugins/tango-smilies/tango/face-wink.png' alt=';)' class='wp-smiley' /> ) funktionierende Backup-Funktion.</p>
<p>Meine bisherigen Tests mit ein paar Datenbanken lefern identische Ergebnisse für Beide Varianten.</p>
<p>(( Da der Artikel wahrscheinlich nur für einen Teil der Blog-Besucher interessant ist habe ich ihn Extra nur gekürzt auf der Startseite veröffentlicht &#8211; das nur als Hinweis falls sich jemand gewundert hat <img src='http://www.tagdocs.de/wp-content/plugins/tango-smilies/tango/face-wink.png' alt=';-)' class='wp-smiley' />  ))</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tagdocs.de/2010/02/24/datenbankbackups-mit-dbutil-und-mysqli-in-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter, jQuery und die getScript() Funktion</title>
		<link>http://www.tagdocs.de/2010/01/15/codeigniter-jquery-und-die-getscript-funktion/</link>
		<comments>http://www.tagdocs.de/2010/01/15/codeigniter-jquery-und-die-getscript-funktion/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 14:15:12 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.tagdocs.de/?p=2246</guid>
		<description><![CDATA[Diese Woche bin ich in der Firma mal wieder über ein Problem (bzw. eine Aufgabe *g*) gestolpert. Solltet ihr jemals auf die Idee kommen die getScript()-Funktion von jQuery zu nutzen um JavaScript-Code auszuführen den ein CI-Controller zurückliefert werdet ihr sehr wahrscheinlich über das Problem stolpern, dass getScript() an die URL die ihr aufruft ein &#8220;?_=xxxx&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Woche bin ich in der Firma mal wieder über ein Problem (bzw. eine Aufgabe *g*) gestolpert.</p>
<p>Solltet ihr jemals auf die Idee kommen die getScript()-Funktion von jQuery zu nutzen um JavaScript-Code auszuführen den ein CI-Controller zurückliefert werdet ihr sehr wahrscheinlich über das Problem stolpern, dass getScript() an die URL die ihr aufruft ein &#8220;?_=xxxx&#8221; anhängt. Angenommen Ihr wollt also</p>
<pre>http://eure-domain/gib/mir/javascript</pre>
<p>aufrufen, dann ruft jQuery in Wirklichkeit z.B.</p>
<pre>http://eure-domain/gib/mir/javascript?_=1234567890</pre>
<p>auf. Dies macht jQuery um das Caching zu verhindern. Für CI ist das aber tödlich und führt zu einem klassischen &#8220;404 &#8211; Page not found&#8221; Fehler.</p>
<p>Man kann dieses Verhalten leider nicht ohne weiteres umgehen (es sei denn, man aktiviert in CI die Nutzung des Query-Strings wieder was aber ein paar Nachteile hat). Allerdings gibt es einen einfachen Ersatz. Statt getScript() nutzt man einfach die ajax() Funktion von jQuery:</p>
<pre>$.ajax({
        type:     "GET",
        url:      "http://eure-domain/gib/mir/javascript",
        dataType: "script",
        cache:    true
});</pre>
<p>Wichtig dabei ist das &#8220;cache: true&#8221; weil man sonst wieder in das gleiche Problem läuft. Um das Caching trotzdem zu verhindern sollte man im Controller auf jeden Fall die No-Cache Header mitsenden und man kann natürlich auch statt</p>
<pre>http://eure-domain/gib/mir/javascript</pre>
<p>einfach</p>
<pre>http://eure-domain/gib/mir/javascript/eine_zufällige_zahl</pre>
<p>aufrufen. CI stört sich nicht an dem zusätzlichen Parameter und im Controller kann man ihn einfach ignorieren.</p>
<p>Ich hoffe ich kann damit jemandem nervige Debugging-Zeit ersparen <img src='http://www.tagdocs.de/wp-content/plugins/tango-smilies/tango/face-smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tagdocs.de/2010/01/15/codeigniter-jquery-und-die-getscript-funktion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Universelle Bilderverwaltung GalleryCMS</title>
		<link>http://www.tagdocs.de/2009/09/28/universelle-bilderverwaltung-gallerycms/</link>
		<comments>http://www.tagdocs.de/2009/09/28/universelle-bilderverwaltung-gallerycms/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 11:15:33 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tagdocs.de/?p=1795</guid>
		<description><![CDATA[GalleryCMS ist eine etwas andere Art von Content Management System. Es dient einzig zur Verwaltung von Bildern. Es können Kategorien angelegt werden in die dann Bilder hochgeladen werden können. Zu jedem Bild legt GalleryCMS dann noch Thumbnails an. Das Besondere ist, dass GalleryCMS selbst kein Frontend für die hochgeladenen Bilder zur Verfügung stellt sondern lediglich [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1794" class="wp-caption alignright" style="width: 330px"><a href="http://www.gallerycms.com"><img class="size-full wp-image-1794" title="GalleryCMS" src="http://www.tagdocs.de/wp-content/uploads/2009/09/ci_gallery.png" alt="GalleryCMS" width="320" height="187" /></a><p class="wp-caption-text">GalleryCMS</p></div>
<p><a title="GalleryCMS" href="http://www.gallerycms.com">GalleryCMS</a> ist eine etwas andere Art von Content Management System. Es dient einzig zur Verwaltung von Bildern. Es können Kategorien angelegt werden in die dann Bilder hochgeladen werden können. Zu jedem Bild legt GalleryCMS dann noch Thumbnails an.</p>
<p>Das Besondere ist, dass GalleryCMS selbst kein Frontend für die hochgeladenen Bilder zur Verfügung stellt sondern lediglich eine XML-Datei mit Allen Informationen ausgeben kann.</p>
<p>Wenn man also z.B. ein Flash-Widget nutzt welches Bilder anzeigen kann und seine Daten aus XML-Dateien ausliest (z.B. <a href="http://www.longtailvideo.com/players/jw-image-rotator">http://www.longtailvideo.com/players/jw-image-rotator</a>) kann man die Bilder bequem über GalleryCMS verwalten.</p>
<p>Das Freeware-Script wurde auf Basis von CodeIgniter entwickelt und setzt sowohl PHP als auch MySQL voraus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tagdocs.de/2009/09/28/universelle-bilderverwaltung-gallerycms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ReduxAuth &#8211; Benutzerverwaltung für CodeIgniter</title>
		<link>http://www.tagdocs.de/2009/08/12/reduxauth-benutzerverwaltung-fur-codeigniter/</link>
		<comments>http://www.tagdocs.de/2009/08/12/reduxauth-benutzerverwaltung-fur-codeigniter/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 11:25:07 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[MIT]]></category>

		<guid isPermaLink="false">http://www.tagdocs.de/?p=1436</guid>
		<description><![CDATA[Wer kennt das Problem nicht: man entwickelt eine Web-Anwendung und benötigt eine Benutzerverwaltung. Sollte man in der glücklichen Lage sein, dass das Projekt auf CodeIgniter basiert kann man auf ReduxAuth zurückgreifen. RA ist eine Kombination aus einem Model, einer Bibliothek und einigen Views die einige Grundfunktionen für genau diesen Zweck zur Verfügung stellen. Benutzer können [...]]]></description>
			<content:encoded><![CDATA[<p>Wer kennt das Problem nicht: man entwickelt eine Web-Anwendung und benötigt eine Benutzerverwaltung.</p>
<p>Sollte man in der glücklichen Lage sein, dass das Projekt auf CodeIgniter basiert kann man auf <a title="Redux Auth" href="http://code.google.com/p/reduxauth/">ReduxAuth</a> zurückgreifen. RA ist eine Kombination aus einem Model, einer Bibliothek und einigen Views die einige Grundfunktionen für genau diesen Zweck zur Verfügung stellen.</p>
<p>Benutzer können sich registrieren (ggf. mit Account-Aktivierung), Ein- / Ausloggen, ihr Passwort ändern, etc.</p>
<p>Die Bibliothek steht unter der MIT-Lizenz und kann entsprechend frei genutzt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tagdocs.de/2009/08/12/reduxauth-benutzerverwaltung-fur-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced

Served from: www.tagdocs.de @ 2012-02-05 18:15:43 -->
