<?xml version="1.0" encoding="utf-8"?>	
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

    <channel>
    
    <title>CodeIgniter Wiki</title>
    <link>http://codeigniter.com/wiki/</link>
    <description>CodeIgniter Wiki</description>
    <dc:language>en</dc:language>
    <dc:creator>forums@codeigniter.com</dc:creator>
    <dc:rights>Copyright 2007</dc:rights>
    <dc:date>2010-03-21T02:58:02-06:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.pmachine.com/" />
    

    <item>
      <title>Custom markup language</title>
      <link>http://codeigniter.com/wiki/Custom_markup_language/</link>
      <guid>http://codeigniter.com/wiki/Custom_markup_language/</guid>
      <description><![CDATA[<p>In a project for one of my customers, I ran into a problem: traditional WYSIWYG editors fubar&#8217;ed the output, resulting in different output in different browsers, total nightmares when somebody copied from MS Word and more trouble. <br />
The main reason for this trouble was that a lot of users were able to edit the same pages. In order to overcome this problem, I wrote a custom markup language.</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#91;h1&#93;heading 1&#91;h1&#93;<br />&#91;h2&#93;heading 2&#91;h2&#93;<br /><br /></span><span style="color: #007700">**</span><span style="color: #0000BB">bold</span><span style="color: #007700">**<br /></span><span style="color: #FF8000">//emphasize//<br /></span><span style="color: #0000BB">&#91;strike&#93;strike</span><span style="color: #007700">-</span><span style="color: #0000BB">through&#91;strike&#93;<br />__underline__<br /><br />&#91;url&#93;http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.google.nl|title|link_name&#91;url&#93;<br /></span><span style="color: #0000BB">&#91;url&#93;http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.google.nl|link_name&#91;url&#93;<br /><br /></span><span style="color: #0000BB">&#91;sub&#93;subscript&#91;sub&#93;<br />&#91;sup&#93;superscript&#91;sup&#93; </span>
</span>
</code></div>

<p>The parser automatically detects the differnce between line-breaks and paragraphs.</p>

<p>I call the language &#8216;dyn_code&#8217;, since I&#8217;m totally out of inspiration. The lang consists only of the few elements I needed for the editors, so it&#8217;s extremely light weight. Take a look at the (few) available codes. </p>

<p>As you can see it&#8217;s a bit of a mixture of BB code and Markdown, but hell, it works! <br />
Below you see the helper function. If you autoload it, you can call it from anywhere. <br />
There&#8217;s one &#8216;hidden&#8217; gem, the &#8216;parser&#8217; is fully customizable. You can config your own preferred translation set, I build two of them in: xhtml and html (traditional). Just pass one of those as the second parameter. </p>

<p>In my app I also wrote a jquery based WYM editor, to accompany this &#8216;language&#8217;. If it proofs to work properly, I&#8217;ll post it online!</p>

<p>You can also create your own translation set. Pass an array of the following markup into the second parameter:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$custom </span><span style="color: #007700">= array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'b'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'i'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'u'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'s'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h1'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h2'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sup'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sub'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'opening tag'</span><span style="color: #007700">, </span><span style="color: #DD0000">'closing tag'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;echo </span><span style="color: #0000BB">dyn_code</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">, </span><span style="color: #0000BB">$custom</span><span style="color: #007700">); </span>
</span>
</code></div>

<p>The parser function
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">function </span><span style="color: #0000BB">dyn_code</span><span style="color: #007700">(</span><span style="color: #0000BB">$html</span><span style="color: #007700">, </span><span style="color: #0000BB">$doctype </span><span style="color: #007700">= </span><span style="color: #DD0000">'xhtml'</span><span style="color: #007700">) </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;$set&#91;</span><span style="color: #DD0000">'xhtml'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'b'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;strong&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/strong&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'i'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;em&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/em&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'u'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;span style="text-decoration: underline;"&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'s'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;span style="text-decoration: line-through;"&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h1'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;h1&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/h1&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h2'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;h2&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/h2&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sup'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;sup&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/sup&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sub'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;sub&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/sub&gt;'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$set&#91;</span><span style="color: #DD0000">'html'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'b'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;B&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/B&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'i'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;I&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/I&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'u'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;U&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/U&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'s'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;S&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/S&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h1'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;H1&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/H1&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'h2'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;H2&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/H2&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sup'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;SUP&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/SUP&gt;'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'sub'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; array(</span><span style="color: #DD0000">'&lt;SUB&gt;'</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;/SUB&gt;'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$a </span><span style="color: #007700">= </span><span style="color: #0000BB">$set&#91;</span><span style="color: #DD0000">'xhtml'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$doctype</span><span style="color: #007700">)) </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">in_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$doctype</span><span style="color: #007700">, </span><span style="color: #0000BB">$set</span><span style="color: #007700">)) </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a </span><span style="color: #007700">= </span><span style="color: #0000BB">$set&#91;$doctype&#93;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125; </span><span style="color: #007700">else </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">foreach(</span><span style="color: #0000BB">$set&#91;</span><span style="color: #DD0000">'xhtml'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">as </span><span style="color: #0000BB">$k </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$v</span><span style="color: #007700">) </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(isset(</span><span style="color: #0000BB">$doctype&#91;$k&#93;</span><span style="color: #007700">)) </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a&#91;$k&#93; </span><span style="color: #007700">= </span><span style="color: #0000BB">$doctype&#91;$k&#93;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\*\*(.&#123;1,&#125;)\*\*/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'b'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'b'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\/\/(.&#123;1,&#125;)\/\//"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'i'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'i'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/__(.&#123;1,&#125;)__/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'u'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'u'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;sub\&#93;(.&#123;1,&#125;)\&#91;sub\&#93;/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'sub'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'sub'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;sup\&#93;(.&#123;1,&#125;)\&#91;sup\&#93;/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'sup'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'sup'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;url\&#93;(.+)\|(.+)\|(.&#123;1,&#125;)\&#91;url\&#93;/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"&lt;a &gt;$3&lt;/a&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;url\&#93;(.+)\|(.&#123;1,&#125;)\&#91;url\&#93;/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"&lt;a &gt;$2&lt;/a&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;(.+)\&#93;(.&#123;1,&#125;)\&#91;b\&#93;/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"&lt;a &gt;$2&lt;/a&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;strike\&#93;(.&#123;1,&#125;)\&#91;strike\&#93;/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'s'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'s'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;h1\&#93;(.&#123;1,&#125;)\&#91;h1\&#93;/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'h1'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'h1'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/\&#91;h2\&#93;(.&#123;1,&#125;)\&#91;h2\&#93;/"</span><span style="color: #007700">, </span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'h2'</span><span style="color: #0000BB">&#93;&#91;0&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">"$1"</span><span style="color: #007700">.</span><span style="color: #0000BB">$a&#91;</span><span style="color: #DD0000">'h2'</span><span style="color: #0000BB">&#93;&#91;1&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #DD0000">'&lt;p&gt;' </span><span style="color: #007700">. </span><span style="color: #0000BB">$html </span><span style="color: #007700">. </span><span style="color: #DD0000">'&lt;/p&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"&lt;/p&gt;&lt;p&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$html </span><span style="color: #007700">= </span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"&lt;br /&gt;"</span><span style="color: #007700">, </span><span style="color: #0000BB">$html</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return </span><span style="color: #0000BB">$html</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125; </span>
</span>
</code></div>]]></description>
      <dc:subject>Custom markup language</dc:subject>
      <dc:date>2010-03-21T02:58:02-06:00</dc:date>
    </item>

    <item>
      <title>Arabic</title>
      <link>http://codeigniter.com/wiki/Arabic/</link>
      <guid>http://codeigniter.com/wiki/Arabic/</guid>
      <description><![CDATA[<p>البداية العربية لهذا الفرامورك . سنبدأ بإذن الله ترجمته للغة العربية بلإظافة إلى ترجمة ملفات اللغة الأساسية </p>

<p>الملفات المعربة لغاية الأن يمكن التعديل عليها لغاية أن ننتهي من تعريب جميع الملفات: </p>

<p><b>اخر تحديث 19/03/2010</b></p>

<p><br />
<a href="http://codeigniter.com/wiki/File:arabic1.7.2.zip/" title="File:arabic1.7.2.zip" class="noArticle">File:arabic1.7.2.zip</a> <br />
<a href="http://codeigniter.com/wiki/File:errors-arabic.zip/" title="File:errors-arabic.zip" class="noArticle">File:errors-arabic.zip</a> ملفات الأخطاء<br />
<b>المساهمين في الترجمة :</b><br />
-<a href="http://aimadj.com">عماد اجعيط</a><br />
-<a href="http://www.blazeboy.com/">عماد السيد</a></p>

<p>التعريب يدوي وبدون اي مساعدة<br />
ولتصحيح أو إضافة اي ملف جديد المرجو المشاركة في تتمت عملية التعريب<br />
عبر المشاركة في المحادثة : http://codeigniter.com/forums/viewthread/108567/<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>



<p>&nbsp;</p>

<p>شكرا للأخ <a href="http://intekhabrizvi.wordpress.com/">Intekhab A Rizvi </a> على المساعدة</p>

<p><a href="http://codeigniter.com/wiki/Category:Contributions::Languages/" title="Category:Contributions::Languages">Category:Contributions -&gt; Languages</a>
</p>]]></description>
      <dc:subject>Arabic</dc:subject>
      <dc:date>2010-03-21T00:39:05-06:00</dc:date>
    </item>

    <item>
      <title>Alternate Pagination class</title>
      <link>http://codeigniter.com/wiki/Alternate_Pagination_class/</link>
      <guid>http://codeigniter.com/wiki/Alternate_Pagination_class/</guid>
      <description><![CDATA[<p><a href="http://codeigniter.com/wiki/Category:Core/" title="Category:Core">Category:Core</a> | <a href="http://codeigniter.com/wiki/Category:Core::Community/" title="Category:Core::Community">Category:Core -&gt; Community</a> | <a href="http://codeigniter.com/wiki/Category:Core::Pagination/" title="Category:Core::Pagination">Category:Core -&gt; Pagination</a></p>

<h3>An Alternate CI Pagination Library</h3><p>
This alternate pagination lib (Requires PHP5) uses page numbers in the URI as opposed to the offsets used by the stock class. Where the default CI class returns a html string, this class returns an array to be formatted by your own templates or views. </p>

<h3>The library init code</h3><p>
This is the library init code</p>

<p><b>application/init/init_altpage.php</b>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php </span><span style="color: #007700">if (!</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'BASEPATH'</span><span style="color: #007700">)) exit(</span><span style="color: #DD0000">'Direct access not permitted!'</span><span style="color: #007700">);<br /><br />if (! </span><span style="color: #0000BB">class_exists</span><span style="color: #007700">(</span><span style="color: #DD0000">'Altpage'</span><span style="color: #007700">))</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;</span><span style="color: #007700">include_once(</span><span style="color: #0000BB">APPPATH</span><span style="color: #007700">.</span><span style="color: #DD0000">'libraries/Altpage'</span><span style="color: #007700">.</span><span style="color: #0000BB">EXT</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125;<br /><br />$obj </span><span style="color: #007700">=&amp; </span><span style="color: #0000BB">get_instance</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">altpage </span><span style="color: #007700">= new </span><span style="color: #0000BB">Altpage</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ci_is_loaded&#91;&#93; </span><span style="color: #007700">= </span><span style="color: #DD0000">'altpage'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt; </span>
</span>
</code></div>

<h3>The Library</h3><p>
This is the lib itself. </p>

<p><b>application/libraries/altpage.php</b>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* CI License &amp; stuff */<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Altpage &#123;<br /><br />&nbsp;&nbsp;public $page </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">public $per_page </span><span style="color: #007700">= </span><span style="color: #0000BB">20</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">public $total </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">public $uri_segment</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000BB">private $_link_uri </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000BB">public </span><span style="color: #007700">function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$p</span><span style="color: #007700">=array())</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$p</span><span style="color: #007700">) &gt; </span><span style="color: #0000BB">0</span><span style="color: #007700">) </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">init</span><span style="color: #007700">(</span><span style="color: #0000BB">$p</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">log_message</span><span style="color: #007700">(</span><span style="color: #DD0000">'debug'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Altpage Class Initialized'</span><span style="color: #007700">);<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br /><br />&nbsp;&nbsp;public </span><span style="color: #007700">function </span><span style="color: #0000BB">init</span><span style="color: #007700">(</span><span style="color: #0000BB">$p</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">foreach(</span><span style="color: #0000BB">$p </span><span style="color: #007700">as </span><span style="color: #0000BB">$k </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$v</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123; $this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">$k </span><span style="color: #007700">= </span><span style="color: #0000BB">$v</span><span style="color: #007700">; </span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&#125;<br /><br />&nbsp;&nbsp;private </span><span style="color: #007700">function </span><span style="color: #0000BB">_setLinkURI</span><span style="color: #007700">()</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;$obj </span><span style="color: #007700">=&amp; </span><span style="color: #0000BB">get_instance</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$segs </span><span style="color: #007700">= </span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">uri</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">segment_array</span><span style="color: #007700">(); <br />&nbsp;&nbsp;&nbsp;&nbsp;if (</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">1</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (isset(</span><span style="color: #0000BB">$segs&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">uri_segment&#93;</span><span style="color: #007700">))</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">= (int) </span><span style="color: #0000BB">$segs&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">uri_segment&#93;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125; </span><span style="color: #007700">else </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;$segs&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">uri_segment&#93; </span><span style="color: #007700">= </span><span style="color: #DD0000">'%d'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_link_uri </span><span style="color: #007700">= </span><span style="color: #0000BB">$obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">config</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">item</span><span style="color: #007700">(</span><span style="color: #DD0000">'base_url'</span><span style="color: #007700">).</span><span style="color: #0000BB">implode</span><span style="color: #007700">(</span><span style="color: #DD0000">'/'</span><span style="color: #007700">, </span><span style="color: #0000BB">$segs</span><span style="color: #007700">);<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br /><br />&nbsp;&nbsp;private </span><span style="color: #007700">function </span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$page</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return (string) </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_link_uri</span><span style="color: #007700">, </span><span style="color: #0000BB">$page</span><span style="color: #007700">);<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br /><br />&nbsp;&nbsp;public </span><span style="color: #007700">function </span><span style="color: #0000BB">create_links</span><span style="color: #007700">()</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;$num_pages </span><span style="color: #007700">= (int) </span><span style="color: #0000BB">ceil</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">total </span><span style="color: #007700">/ </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">per_page</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">total </span><span style="color: #007700">== </span><span style="color: #0000BB">0 </span><span style="color: #007700">OR </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">per_page </span><span style="color: #007700">== </span><span style="color: #0000BB">0 </span><span style="color: #007700">OR </span><span style="color: #0000BB">$num_pages </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">2</span><span style="color: #007700">) return </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_setLinkURI</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg</span><span style="color: #007700">=array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/* Upto 2 pages either side + current page */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg&#91;</span><span style="color: #DD0000">'pages'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">=array();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$t</span><span style="color: #007700">=(bool)(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg&#91;</span><span style="color: #DD0000">'first'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">=(</span><span style="color: #0000BB">$t</span><span style="color: #007700">)? </span><span style="color: #DD0000">''</span><span style="color: #007700">: </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg&#91;</span><span style="color: #DD0000">'prev'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= (</span><span style="color: #0000BB">$t</span><span style="color: #007700">)? </span><span style="color: #DD0000">''</span><span style="color: #007700">: </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</span><span style="color: #0000BB">$t</span><span style="color: #007700">===</span><span style="color: #0000BB">false</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i</span><span style="color: #007700">=</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (</span><span style="color: #0000BB">$i</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if ((</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">- </span><span style="color: #0000BB">$i</span><span style="color: #007700">) &gt; </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pg&#91;</span><span style="color: #DD0000">'pages'</span><span style="color: #0000BB">&#93;&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">- </span><span style="color: #0000BB">$i&#93; </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">- </span><span style="color: #0000BB">$i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">$i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/* Current page should not be a clickable link! */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg&#91;</span><span style="color: #DD0000">'pages'</span><span style="color: #0000BB">&#93;&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page&#93;</span><span style="color: #007700">=</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$t</span><span style="color: #007700">=(bool)(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">$num_pages</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (</span><span style="color: #0000BB">$t</span><span style="color: #007700">===</span><span style="color: #0000BB">true</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">2</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if ((</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">+ </span><span style="color: #0000BB">$i</span><span style="color: #007700">) &lt;= </span><span style="color: #0000BB">$num_pages</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pg&#91;</span><span style="color: #DD0000">'pages'</span><span style="color: #0000BB">&#93;&#91;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">+ </span><span style="color: #0000BB">$i&#93; </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">+ </span><span style="color: #0000BB">$i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">++</span><span style="color: #0000BB">$i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;$pg&#91;</span><span style="color: #DD0000">'next'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= (</span><span style="color: #0000BB">$t</span><span style="color: #007700">)? </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">page </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">): </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pg&#91;</span><span style="color: #DD0000">'last'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= (</span><span style="color: #0000BB">$t</span><span style="color: #007700">)? </span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_getLink</span><span style="color: #007700">(</span><span style="color: #0000BB">$num_pages</span><span style="color: #007700">): </span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return </span><span style="color: #0000BB">$pg</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&#125;<br />&nbsp;&nbsp;<br />?&gt; </span>
</span>
</code></div>

<h3>Example Controller</h3><p>
Here&#8217;s the simple controller </p>

<p><b>application/controllers/testpagination.php</b>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Testpagination </span><span style="color: #007700">extends </span><span style="color: #0000BB">Controller &#123;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #007700">function </span><span style="color: #0000BB">index</span><span style="color: #007700">()</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">load</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">library</span><span style="color: #007700">(</span><span style="color: #DD0000">'altpage'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_p&#91;</span><span style="color: #DD0000">'total'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= </span><span style="color: #0000BB">200</span><span style="color: #007700">; </span><span style="color: #FF8000">/* Total results */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_p&#91;</span><span style="color: #DD0000">'per_page'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= </span><span style="color: #0000BB">20</span><span style="color: #007700">; </span><span style="color: #FF8000">/* Results Per Page */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_p&#91;</span><span style="color: #DD0000">'uri_segment'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">=</span><span style="color: #0000BB">2</span><span style="color: #007700">; </span><span style="color: #FF8000">/* Used to read and set pages */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">altpage</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">init</span><span style="color: #007700">(</span><span style="color: #0000BB">$_p</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/* Pass pagination as array to the view */<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">load</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">view</span><span style="color: #007700">(</span><span style="color: #DD0000">'pgtest'</span><span style="color: #007700">, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'pagination'</span><span style="color: #007700">=&gt;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">altpage</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">create_links</span><span style="color: #007700">()));<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&#125;<br /><br />?&gt; </span>
</span>
</code></div>

<h3>Example View</h3>

<p>Here&#8217;s the example view in <a href="http://course-works.com/customized-paper">customized paper</a>, [http://customresearchpapers.co.uk/| academic writing] and <a href="http://www.rushessay.com">custom essays</a>&nbsp; complete with example CSS, note how the current page is handled in the loop because you&#8217;ll need to deal with this in your template or view. </p>

<p><b>application/views/pgtest.php</b>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br /> &lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Alternate Pagination </span><span style="color: #007700">Class For </span><span style="color: #0000BB">CI</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">style</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">body &#123; background</span><span style="color: #007700">-</span><span style="color: #0000BB">color</span><span style="color: #007700">: </span><span style="color: #FF8000">#000; font-family: Tahoma, Verdana; &#125;<br />&nbsp;&nbsp;&nbsp;#pagination &#123; background-color: #eee; text-align: center; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">margin</span><span style="color: #007700">: </span><span style="color: #0000BB">2em</span><span style="color: #007700">; </span><span style="color: #0000BB">padding</span><span style="color: #007700">: </span><span style="color: #0000BB">0.75em</span><span style="color: #007700">; </span><span style="color: #0000BB">border</span><span style="color: #007700">: </span><span style="color: #0000BB">4px solid </span><span style="color: #FF8000">#bad; &#125;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">currentpage</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#pagination a:link,<br />&nbsp;&nbsp;&nbsp;#pagination a:visited &#123; color: #000; text-decoration: none; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">background</span><span style="color: #007700">-</span><span style="color: #0000BB">color</span><span style="color: #007700">: </span><span style="color: #0000BB">transparent</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">padding</span><span style="color: #007700">: </span><span style="color: #0000BB">2px</span><span style="color: #007700">; </span><span style="color: #0000BB">border</span><span style="color: #007700">: </span><span style="color: #0000BB">1px solid </span><span style="color: #FF8000">#000; &#125;<br />&nbsp;&nbsp;&nbsp;#pagination a:hover &#123; color: #fff; background-color: #bad; &#125;<br />&nbsp;&nbsp;&nbsp;#pagination a:focus,<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">currentpage &#123; background</span><span style="color: #007700">-</span><span style="color: #0000BB">color</span><span style="color: #007700">: </span><span style="color: #FF8000">#fff; border: 1px solid #bad; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">font</span><span style="color: #007700">-</span><span style="color: #0000BB">weight</span><span style="color: #007700">: </span><span style="color: #0000BB">bold</span><span style="color: #007700">; </span><span style="color: #0000BB">&#125;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">style</span><span style="color: #007700">&gt;<br /> &lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">if (isset(</span><span style="color: #0000BB">$pagination</span><span style="color: #007700">)):<br /><br /></span><span style="color: #0000BB">?&gt;<br /><br />&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">div id</span><span style="color: #007700">=</span><span style="color: #DD0000">"pagination"</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&lt;?php <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'first'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">!=</span><span style="color: #DD0000">''</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;a href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'first'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;&amp;laquo; First&lt;/a&gt; '</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'prev'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">!=</span><span style="color: #DD0000">''</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;a href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'prev'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;&amp;#60;&lt;/a&gt; '</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">foreach (</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'pages'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">as </span><span style="color: #0000BB">$page</span><span style="color: #007700">=&gt;</span><span style="color: #0000BB">$link</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/* NOTE: Current page should NOT be a clickable link */<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">$page</span><span style="color: #007700">==</span><span style="color: #0000BB">$link</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;span class="currentpage"&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$page</span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;/span&gt; '</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125; </span><span style="color: #007700">else </span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;a href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$link</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$page</span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;/a&gt; '</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'next'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">!=</span><span style="color: #DD0000">''</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;a href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'next'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;&amp;#62;&lt;/a&gt; '</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if (</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'last'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">!=</span><span style="color: #DD0000">''</span><span style="color: #007700">)</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo </span><span style="color: #DD0000">'&nbsp;&nbsp;&nbsp;&lt;a href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$pagination&#91;</span><span style="color: #DD0000">'last'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">.</span><span style="color: #DD0000">'"&gt;Last &amp;raquo;&lt;/a&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;?&gt;<br />&nbsp;&nbsp;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">div</span><span style="color: #007700">&gt;<br /><br /></span><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">endif;<br /></span><span style="color: #0000BB">?&gt;<br /> </span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt; </span>
</span>
</code></div>]]></description>
      <dc:subject>Alternate Pagination class</dc:subject>
      <dc:date>2010-03-20T22:15:52-06:00</dc:date>
    </item>

    <item>
      <title>mod rewrite</title>
      <link>http://codeigniter.com/wiki/mod_rewrite/</link>
      <guid>http://codeigniter.com/wiki/mod_rewrite/</guid>
      <description><![CDATA[<p><a href="http://codeigniter.com/wiki/Category:Help::ApacheConfig/" title="Category:Help::ApacheConfig">Category:Help -&gt; ApacheConfig</a></p>

<p>This article explains how to take away &#8220;index.php&#8221; from your CI application URLs. However, it does NOT remove the need for Index.php, which is the CI front controller i.e. even though Index.php will not appear in the URL, it still needs to be present at the top level of your site (above the /system/ directory).&nbsp; To quote the User Guide,</p>

<blockquote><p>You can easily remove this file by using a .htaccess file with some simple rules.</p></blockquote>

<p>You need to perform the following steps to get this working:</p>

<p><b>1. Create a .htaccess file to configure the rewrite engine</b></p>

<p><b>2. Set $config[&#8216;index_page&#8217;] to an empty string</b></p>

<p><b>3. Make sure your apache uses the mod_rewrite module</b></p>

<p><b>4. Make sure apache is configured to accept needed .htaccess directives</b></p>

<p><b>5. Restart apache and test</b></p>

<p>
</p><h3>1. Create your .htaccess file</h3>

<p>Create a new file named .htaccess and put it in your web directory</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">IfModule mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">c</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteEngine On<br />&nbsp;&nbsp;&nbsp;&nbsp;RewriteBase </span><span style="color: #007700">/<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#Removes access to the system folder by users.<br />&nbsp;&nbsp;&nbsp;&nbsp;#Additionally this will allow you to create a System.php controller,<br />&nbsp;&nbsp;&nbsp;&nbsp;#previously this would not have been possible.<br />&nbsp;&nbsp;&nbsp;&nbsp;#'system' can be replaced if you have renamed your system folder.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_URI&#125; </span><span style="color: #007700">^</span><span style="color: #0000BB">system</span><span style="color: #007700">.*<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteRule </span><span style="color: #007700">^(.*)$ /</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">?/$</span><span style="color: #0000BB">1 &#91;L&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#When your application folder isn't in the system folder<br />&nbsp;&nbsp;&nbsp;&nbsp;#This snippet prevents user access to the application folder<br />&nbsp;&nbsp;&nbsp;&nbsp;#Submitted by: Fabdrol<br />&nbsp;&nbsp;&nbsp;&nbsp;#Rename 'application' to your applications folder name.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_URI&#125; </span><span style="color: #007700">^</span><span style="color: #0000BB">application</span><span style="color: #007700">.*<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteRule </span><span style="color: #007700">^(.*)$ /</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">?/$</span><span style="color: #0000BB">1 &#91;L&#93;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#Checks to see if the user is attempting to access a valid file,<br />&nbsp;&nbsp;&nbsp;&nbsp;#such as an image or css document, if this isn't true it sends the<br />&nbsp;&nbsp;&nbsp;&nbsp;#request to index.php<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">f<br />&nbsp;&nbsp;&nbsp;&nbsp;RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">d<br />&nbsp;&nbsp;&nbsp;&nbsp;RewriteRule </span><span style="color: #007700">^(.*)$ </span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">?/$</span><span style="color: #0000BB">1 &#91;L&#93;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">IfModule</span><span style="color: #007700">&gt;<br /><br />&lt;</span><span style="color: #0000BB">IfModule </span><span style="color: #007700">!</span><span style="color: #0000BB">mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">c</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000"># If we don't have mod_rewrite installed, all 404's<br />&nbsp;&nbsp;&nbsp;&nbsp;# can be sent to index.php, and everything works as normal.<br />&nbsp;&nbsp;&nbsp;&nbsp;# Submitted by: ElliotHaughin<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ErrorDocument 404 </span><span style="color: #007700">/</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">IfModule</span><span style="color: #007700">&gt; </span>
</span>
</code></div>

<p>The above configuration behaves as follows:</p>

<p>1. If your installation is not in the server root you will need to amend the RewriteBase line from &#8220;RewriteBase /&#8221; to &#8220;RewriteBase /folder/&#8221;</p>

<p>2. Checks to see if someone has entered a URL starting with &#8220;system&#8221;, all requests like this get routed to index.php, this is a security feature that removes the possibility of anyone directly accessing your system folder. You can use the same syntax to hide other folders inside your root if you want.</p>

<p>3. If the URL doesn&#8217;t start with &#8220;system&#8221;, the web server will check to see if there is a corresponding physical resource matching the URL, such as an image, script file, or directory.</p>

<p>4. If such a resource exists, that resource is returned by the webserver with no rewriting performed. If no such resource exists the url is rewritten to index.php (passed to codeigniter)</p>

<p>Notes for Windows users:<br />
To create this file you must open Command Prompt and type:<br />
copy con .htaccess [Enter]<br />
[Press CTRL + Z]<br />
A blank .htaccess file will be created. Now you can edit it using Notepad or your favorite text editor and copy the script above.</p>

<p>Note: Most Windows editors will assume that you are attempting to save an .htaccess file as a file with an extension and no filename. The Crimson Editor can be used to create and save .htaccess files and other files that have no filename. </p>

<p>Note: If your site is placed in subfolder specify the path in the &#8220;RewriteBase /subfolder/&#8221; line.</p>

<p>Note: When using the above example on some systems it may be necessary to specify the uri_protocol configuration value to achieve reliable results. (Otherwise values with periods that are passed via URI will be converted to underscores in CodeIgniter 1.7.1 eg: some.value becomes some_value)
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$config&#91;</span><span style="color: #DD0000">'uri_protocol'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= </span><span style="color: #DD0000">'QUERY_STRING'</span><span style="color: #007700">; </span>
</span>
</code></div>

<h3>2. Set $config[&#8216;index_page&#8217;]&nbsp; to an empty string</h3><p>
Open your </p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">system</span><span style="color: #007700">/</span><span style="color: #0000BB">application</span><span style="color: #007700">/</span><span style="color: #0000BB">config</span><span style="color: #007700">/</span><span style="color: #0000BB">config</span><span style="color: #007700">.</span><span style="color: #0000BB">php </span>
</span>
</code></div><p> and find the line that assigns $config[&#8216;index_page&#8217;] a value, usually:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$config&#91;</span><span style="color: #DD0000">'index_page'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= </span><span style="color: #DD0000">"index.php"</span><span style="color: #007700">; </span>
</span>
</code></div>

<p>and change it to:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$config&#91;</span><span style="color: #DD0000">'index_page'</span><span style="color: #0000BB">&#93; </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">; </span>
</span>
</code></div>

<p>Save the file.</p>

<h3>3. Make sure your apache has mod_rewrite activated</h3><p>
This means that the apache must be configured to load the mod_rewrite module (or it might have it compiled-in). For module inclusion, usually you have to look for a line like this in httpd.conf or a file loaded by it (hint: use some quick file search utility to grep files with lines containing &#8216;rewrite&#8217; string):</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">LoadModule rewrite_module </span><span style="color: #007700">/</span><span style="color: #0000BB">usr</span><span style="color: #007700">/</span><span style="color: #0000BB">lib</span><span style="color: #007700">/</span><span style="color: #0000BB">apache2</span><span style="color: #007700">/</span><span style="color: #0000BB">modules</span><span style="color: #007700">/</span><span style="color: #0000BB">mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">so </span>
</span>
</code></div>

<p>If you&#8217;re running Apache2 type
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">a2enmod </span>
</span>
</code></div> in the console and when prompted <div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">rewrite </span>
</span>
</code></div><p> to enable mod_rewrite.</p>

<p>On a Windows machine this line might look this way:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">LoadModule rewrite_module modules</span><span style="color: #007700">/</span><span style="color: #0000BB">mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">so </span>
</span>
</code></div>

<p>If it is commented out (# in front), make sure to uncomment it and save the file. Checking if the corresponding module exists may be a good idea as well (but it usually does).</p>

<h3>4. Make sure apache accepts needed .htaccess directives</h3><p>
This means that apache is explicitly configured to allow .htaccess files to override those directives that you use in your .htaccess file from step 1. above.</p>

<p>It seems to be sufficient if you add these two lines to your &lt;Directory&gt; section where you configure the document root for your CI application:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">Directory </span><span style="color: #DD0000">"/some/absolute/path/htdocs"</span><span style="color: #007700">&gt;<br />...<br /></span><span style="color: #0000BB">Options FollowSymLinks<br />AllowOverride FileInfo<br /></span><span style="color: #007700">...&nbsp;&nbsp;<br />&lt;/</span><span style="color: #0000BB">Directory</span><span style="color: #007700">&gt; </span>
</span>
</code></div>

<p>There might be other Options listed, just make sure you have <b>FollowSymLinks</b> as well.</p>

<p>Should you get a 500 Internal Server Error, try the following syntax:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">Directory </span><span style="color: #DD0000">"/some/absolute/path/htdocs"</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">Options Indexes Includes FollowSymLinks MultiViews<br />AllowOverride AuthConfig FileInfo<br />Order allow</span><span style="color: #007700">,</span><span style="color: #0000BB">deny<br />Allow from all<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">Directory</span><span style="color: #007700">&gt; </span>
</span>
</code></div>

<h3>5. Restart apache and test your application</h3>

<p><b>Works? Congratulations!</b></p>

<p>Doesn&#8217;t work? Ehrrr&#8230; well, do not give up; equip yourself with patience, double check all steps above and if it still does not work, post on the forum giving all details of your setup.</p>

<h3>How does URL rewriting work?</h3>
<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">IfModule mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">c</span><span style="color: #007700">&gt;<br />...<br />&lt;/</span><span style="color: #0000BB">IfModule</span><span style="color: #007700">&gt; </span>
</span>
</code></div><p>
Do what is inside only if Apache has the mod_rewrite feature (by in place compilation, or loaded module).
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">RewriteEngine On </span>
</span>
</code></div><p>
Activate the URL rewriting engine, if not already done (in main Apache configuration file.
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">RewriteBase </span><span style="color: #007700">/ </span>
</span>
</code></div><p>
Define the part of the URL that won&#8217;t change nor be used for rewriting. In fact, this part will be removed before processing, and prepended after processing. This&#8217;s a good way to use subfolder-independent rewrite rules. For example, if your CodeIgniter index.php is placed in a virtual host directory, like /tests/, set RewriteBase to /tests/.
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">f </span>
</span>
</code></div><p>
Condition to meet for RewriteRule activation. Here, we test if the requested filename does not exist.
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">d </span>
</span>
</code></div><p>
Same as above, but we test for directory existence.
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">RewriteRule </span><span style="color: #007700">^(.*)$ </span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">/$</span><span style="color: #0000BB">1 &#91;L&#93; </span>
</span>
</code></div><p>
If RewriteCond conditions are met, this rule will be applied. It inserts index.php before the requested URI. The $1 represents the part of string enclosed by parentheses in left expression. The [L] means that this rule is the last one if rule is applied (thus stopping rewriting).</p>

<h2>Configuring mod_rewrite in the httpd.conf file</h2>

<p>The Apache mod_rewrite docs say </p><blockquote><p>While URL manipulations in per-server context are really fast and efficient, per-directory rewrites are slow and inefficient&#8230;</p></blockquote><p>. If you have access to your httpd.conf file, you&#8217;ll have better performance if you configure the rewrite rules in there.</p>

<p>You can add something like this to your httpd.conf:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">IfModule mod_rewrite</span><span style="color: #007700">.</span><span style="color: #0000BB">c</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">RewriteEngine On<br />RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_URI&#125; </span><span style="color: #007700">!^(/</span><span style="color: #0000BB">index\</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">|/</span><span style="color: #0000BB">img</span><span style="color: #007700">|/</span><span style="color: #0000BB">js</span><span style="color: #007700">|/</span><span style="color: #0000BB">css</span><span style="color: #007700">|/</span><span style="color: #0000BB">robots\</span><span style="color: #007700">.</span><span style="color: #0000BB">txt</span><span style="color: #007700">|/</span><span style="color: #0000BB">favicon\</span><span style="color: #007700">.</span><span style="color: #0000BB">ico</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">RewriteRule </span><span style="color: #007700">^(.*)$ /</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">/$</span><span style="color: #0000BB">1 &#91;L&#93;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">IfModule</span><span style="color: #007700">&gt; </span>
</span>
</code></div>

<h2>Configuring mod_rewrite and virtual hosting with Apache 2.2</h2>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">VirtualHost </span><span style="color: #007700">*&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ServerName www</span><span style="color: #007700">.</span><span style="color: #0000BB">mydomain</span><span style="color: #007700">.</span><span style="color: #0000BB">com<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot </span><span style="color: #007700">/</span><span style="color: #0000BB">path</span><span style="color: #007700">/</span><span style="color: #0000BB">to</span><span style="color: #007700">/</span><span style="color: #0000BB">ci</span><span style="color: #007700">/</span><span style="color: #0000BB">directory<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">Directory </span><span style="color: #007700">/</span><span style="color: #0000BB">path</span><span style="color: #007700">/</span><span style="color: #0000BB">to</span><span style="color: #007700">/</span><span style="color: #0000BB">ci</span><span style="color: #007700">/</span><span style="color: #0000BB">directory</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteEngine On<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RewriteBase </span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">f<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RewriteCond </span><span style="color: #007700">%</span><span style="color: #0000BB">&#123;REQUEST_FILENAME&#125; </span><span style="color: #007700">!-</span><span style="color: #0000BB">d<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RewriteRule </span><span style="color: #007700">^(.*)$ </span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">/$</span><span style="color: #0000BB">1 &#91;L&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">Directory</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">VirtualHost</span><span style="color: #007700">&gt; </span>
</span>
</code></div>]]></description>
      <dc:subject>mod rewrite</dc:subject>
      <dc:date>2010-03-20T14:36:01-06:00</dc:date>
    </item>

    <item>
      <title>ddauth &#45; Dragonfly Development&#39;s Auth System</title>
      <link>http://codeigniter.com/wiki/ddauth_&#45;_Dragonfly_Development%27s_Auth_System/</link>
      <guid>http://codeigniter.com/wiki/ddauth_&#45;_Dragonfly_Development%27s_Auth_System/</guid>
      <description><![CDATA[]]></description>
      <dc:subject>ddauth &#45; Dragonfly Development&#39;s Auth System</dc:subject>
      <dc:date>2010-03-17T23:01:01-06:00</dc:date>
    </item>

    <item>
      <title>ddauth &#45; Dragonfly Development Auth System</title>
      <link>http://codeigniter.com/wiki/ddauth_&#45;_Dragonfly_Development_Auth_System/</link>
      <guid>http://codeigniter.com/wiki/ddauth_&#45;_Dragonfly_Development_Auth_System/</guid>
      <description><![CDATA[<h3>ddauth - Dragonfly Development&#8217;s Auth System</h3>

<p>The ddauth add-on for CodeIgniter is intended to be a flexible authentication library focussing almost entirely on the problem of creating a secure authentication ticket and attempts to place as few restrictions as possible on the application using it.</p>

<p>The primary purpose for writing this library was the fact that many of the existing CodeIgniter authentication systems were either too complicated to implement easily, required too much integration into the application itself or focused solely on cookies and did not support fallback authentication methods for when cookies are not available.</p>

<p>The latter is particularly important when using any sort of application with a web application that requires authentication as Flash cannot be assumed to send the browser&#8217;s cookies reliably. In this case, it is beneficial to be able to pass the authentication ticket to the Flash movie and instruct it to pass the ticket along as a GET or POST param.</p>

<p>The core security principles were inspired by <a href="http://cookies.lcs.mit.edu/pubs/webauth:tr.pdf">&#8220;Dos and Don&#8217;ts of Client Authentication on the Web.&#8221;</a></p>

<h3>Goals</h3><p>
<b>1) Unobtrusive to Model</b><br />
&nbsp; * Does not require any Model interaction whatsoever<br />
&nbsp; * Makes only the following assumptions about what is needed to authenticate a &#8220;user&#8221;:<br />
&nbsp;   - A username<br />
&nbsp;   - A password<br />
&nbsp;   - A user identifier (could be username!)<br />
<b>2) Unobtrusive to Controller</b><br />
&nbsp; * Only requires one call from the Controller to start<br />
&nbsp; * Only requires one method be implemented by the Controller<br />
<b>3) Must work in absence of cookies</b><br />
&nbsp; * Falls back to finding authentication information from GET or POST params</p>

<h3>What doesn&#8217;t ddauth do?</h3><p>
 * ddauth does not attempt to handle any authorization, only authentication.<br />
 * ddauth does not handle registration or manage users in any way.</p>

<p>If you are looking &#8220;kitchen sink&#8221; functionality, ddauth is not for you. If you want to have the flexibility to handle all of the user management and authorization yourself but not worry about having to reinvent the basic authentication wheel for every project, ddauth <i>may</i> be for you!</p>

<h3>Project</h3><p>
ddauth is hosted on Google Code and can be found here: <a href="http://code.google.com/p/dd-ci-ddauth/">http://code.google.com/p/dd-ci-ddauth/</a></p>

<h3>Examples</h3><p>
Check out some <a href="http://code.google.com/p/dd-ci-ddauth/wiki/SimpleExamples">simple examples</a>.</p>

<h3>Download</h3><p>
ddauth can be <a href="http://code.google.com/p/dd-ci-ddauth/downloads">downloaded here</a>.</p>

<h3>Source</h3><p>
The source for ddauth can be <a href="http://github.com/dflydev/dd-ci-ddauth">found on GitHub</a>.</p>

<h3>Categories</h3><p>
<a href="http://codeigniter.com/wiki/Category:Libraries::Authentication/" title="Category:Libraries::Authentication">Category:Libraries -&gt; Authentication</a><br />
<a href="http://codeigniter.com/wiki/Category:Contributions::Libraries::Authentication/" title="Category:Contributions::Libraries::Authentication">Category:Contributions -&gt; Libraries -&gt; Authentication</a>
</p>]]></description>
      <dc:subject>ddauth &#45; Dragonfly Development Auth System</dc:subject>
      <dc:date>2010-03-17T22:57:02-06:00</dc:date>
    </item>

    <item>
      <title>SPAW</title>
      <link>http://codeigniter.com/wiki/SPAW/</link>
      <guid>http://codeigniter.com/wiki/SPAW/</guid>
      <description><![CDATA[<p><a href="http://codeigniter.com/wiki/Category:Library::External/" title="Category:Library::External">Category:Library -&gt; External</a> | <a href="http://codeigniter.com/wiki/Category:Library::WYSIWYG/" title="Category:Library::WYSIWYG">Category:Library -&gt; WYSIWYG</a>
</p><h2>Introduction</h2><p>
SPAW is a very powerful and easy to use visual editor that I like to use in my applications.</p>

<p>I wanted to keep it flowing with the rest of my CI app by using the loader class to load it (instead of including it at strange places in my views), so I turned it into a custom library which can be loaded.
</p><h2>Dowload</h2><p>
<a href="http://codeigniter.com/wiki/File:spaw2.zip/" title="File:spaw2.zip" class="noArticle">File:spaw2.zip</a></p>

<h2>Installation</h2><p>
Download the spaw2.zip file and unzip its contents into your libraries directory within your CI app. </p>

<p>Move the spaw.php file within the spaw2 directory into the libraries directory.</p>

<p><i>Note: as of CodeIgniter_1.5.3 the loader class cannot recurse directory structures in the libraries directory, spaw.php needs to be directly inside it.</i></p>

<p>Then, inside your controller do something like this:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">class </span><span style="color: #0000BB">Test </span><span style="color: #007700">extends </span><span style="color: #0000BB">Controller<br />&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">function </span><span style="color: #0000BB">Test</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;parent</span><span style="color: #007700">::</span><span style="color: #0000BB">Controller</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$config&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">= array(</span><span style="color: #DD0000">'name'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'SpawTest'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'content'&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'This should be in textarea.'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">load</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">library</span><span style="color: #007700">(</span><span style="color: #DD0000">'spaw'</span><span style="color: #007700">, </span><span style="color: #0000BB">$config</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">function </span><span style="color: #0000BB">index</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">load</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">view</span><span style="color: #007700">(</span><span style="color: #DD0000">'test_view'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&#125; </span>
</span>
</code></div>

<p>Notice &#8216;spaw&#8217; is the name of the spaw.php library file the instance of the editor is loaded from there; and $config is the parameter array for the editor.</p>

<p>The $config array, the &#8216;name&#8217; key holds the value for the name of the SPAW instance, and the &#8216;content&#8217; key holds the value for the textarea (the text that shows up by default before the user does any input).</p>

<p>Now, to actually load the editor into the browser window, I chose to call it in my view like so:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Test </span><span style="color: #007700">for </span><span style="color: #0000BB">SPAW LIBRARY</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">&lt;?</span><span style="color: #007700">=</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">spaw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">show</span><span style="color: #007700">();</span><span style="color: #0000BB">?&gt;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt; </span>
</span>
</code></div>

<p>$this-&gt;spaw-&gt;show() is what does the magic.</p>

<p>There are many, many other configurable options (width, height, stylehseet to use, toolbar config, etc) and can be set with SPAW&#8217;s default static methods. Just remember to replace </p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$spaw</span><span style="color: #007700">-&gt; </span>
</span>
</code></div> with <div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">spaw </span>
</span>
</code></div>

<p>This integration is not exhaustive and I am releasing this under the same license the software came with.
</p><h2>Links</h2><p>
<a href="http://codeigniter.com/forums/viewthread/53053/">Forum thread</a><br />
<a href="http://www.puredissertation.com/">Custom Dissertation</a> <a href="http://www.professays.com/">Custom Essay</a> <br />
<a href="http://www.hqessays.com/">Buy Essays</a>
</p>]]></description>
      <dc:subject>SPAW</dc:subject>
      <dc:date>2010-03-17T17:48:50-06:00</dc:date>
    </item>

    <item>
      <title>FormIgniter</title>
      <link>http://codeigniter.com/wiki/FormIgniter/</link>
      <guid>http://codeigniter.com/wiki/FormIgniter/</guid>
      <description><![CDATA[<p><a href="http://codeigniter.com/wiki/Category:Contributions::Applications/" title="Category:Contributions::Applications">Category:Contributions -&gt; Applications</a></p>

<p>Name: FormIgniter v0.8.3<br />
Released: October 26 2009<br />
CI Version: Tested with CodeIgniter 1.7.2<br />
Author: <a href="http://toomanytabs.com">Ollie Rattue</a></p>

<p><b>A Code Generator for CodeIgniter Forms</b></p>

<p><b>The problem</b></p>

<p>Building validated forms in Code Igniter using the form_validation library takes too long. To build a form with the form validator and form libraries you need to enter the same value in multiple places; 3 times in the view, the label, the fields error message, and the field itself, again in the controller, once more in the model, and finally you need to setup the database schema to accept these values. This is repetitive and dull.</p>

<p><b>The solution</b></p>

<p>Build a little application to automate the large majority of this process. You enter the field names, types, labels and validation rules and it generates all the code for a working validated form.</p>

<p><b>Considerations</b></p>

<p>Forms tend to have some bespoke element (AJAX, sessions, custom callbacks etc). Often libraries and scripts tend to try and do the whole process and thus force you into a mold. FormIgniter should simply write 4 files; the MVC and the db schema and then get out of the way.</p>

<p><b>Where can I find this?</b></p>

<p>Live application - <a href="http://formigniter.org/app">http://formigniter.org/app</a></p>

<p>Further explanation and source code - <a href="http://formigniter.org">http://formigniter.org</a></p>

<p>CodeIgniter forum discussion - <a href="http://codeigniter.com/forums/viewthread/111570/">http://codeigniter.com/forums/viewthread/111570/</a>
</p>]]></description>
      <dc:subject>FormIgniter</dc:subject>
      <dc:date>2010-03-17T13:14:29-06:00</dc:date>
    </item>

    <item>
      <title>index</title>
      <link>http://codeigniter.com/wiki/index/</link>
      <guid>http://codeigniter.com/wiki/index/</guid>
      <description><![CDATA[<h3>Welcome to the CodeIgniter Wiki</h3>

<p>Search, browse, add and enhance - the wiki is yours to use and to contribute your knowledge to</p>

<p>The wiki is intended as a source of contribution for the members, and by the members.&nbsp; Articles are added, categorized, and modified by the community, with only light moderation by EllisLab staff.</p>

<p>We encourage you to post your tutorials, tidbits, examples, and other resources on the wiki and to help expand and clarify existing resources.</p>

<h3>Selected categories &amp; articles</h3><p>
To view a full list of available articles, please <a href="http://www.codeigniter.com/wiki/Special:Titles">click here</a> or use the navigation on the left.</p>

<p><span class="" style="display:block;float:left;width:33%"><br />
<a href="/wiki/Category:Help"><span style="color:black;cursor:pointer;font-weight:bold;">Getting started »</span></a><br />
<span style="color:inherited;display:block;margin-left:1em;"><a href="/wiki/FAQ">FAQ</a><br />
<a href="/wiki/Category:Help::Tutorials">Tutorials</a><br />
<a href="/user_guide/">User Guide</a><br />
<a href="/wiki/Approaches">Approaches</a><br />
</span><br />
<a href="/wiki/Category:Community"><span style="color:black;cursor:pointer;font-weight:bold;">Community »</span></a><br />
<span style="color:inherited;display:block;margin-left:1em;"><a href="/wiki/How_to_ask_a_good_question/">How to ask a good question</a><br />
<a href="/forums/">Forums</a><br />
<a href="/wiki/IRC">IRC</a><br />
</span><br />
</span></p>

<p><span class="" style="display:block;float:left;width:33%"><br />
<a href="/wiki/Contributions"><span style="color:black;cursor:pointer;font-weight:bold;">Contributions »</span></a><br />
<span style="color:inherited;display:block;margin-left:1em;"><a href="/wiki/Applications">Applications</a><br />
<a href="/wiki/Helpers">Helpers</a><br />
<a href="/wiki/Languages">Languages</a><br />
<a href="/wiki/Libraries">Libraries</a><br />
<a href="/wiki/Modifications">Modifications</a><br />
<a href="/wiki/Plugins">Plugins</a><br />
<a href="http://www.airarticles.com">article directory</a><br />
</span></span></p>

<p><br />
<span style="color:inherited;clear:both;display:block;"></span></p>

<h3>Policies and guidelines</h3><p>
If you would like to contribute to the wiki, please start by reading the <a href="http://codeigniter.com/wiki/Getting_Started/" title="Getting_Started">Getting Started</a> page.&nbsp; Only registered members can contribute, so if you don&#8217;t have an account yet, please sign up by using the links at the top of the page.</p>

<h3>Copyrights and Content License</h3>

<p><a href="http://creativecommons.org/licenses/by-sa/3.0/"><img src="http://i.creativecommons.org/l/by-sa/3.0/us/88x31.png"  alt='88x31.png' /></a></p>

<p>All of the content in the CodeIgniter Wiki is licensed by <a href="http://ellislab.com/">EllisLab, Inc.</a> under the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-Share Alike License</a>.</p>

<p>By contributing content to the CodeIgniter Wiki you are agreeing to license it under the Creative Commons Attribution-Share Alike License.&nbsp; In order to grant this right you must have either produced this content yourself, or acquired it from the public domain or a source that allows this licensing.</p>

<p>CodeIgniter Wiki content can be copied, modified, and redistributed so long as the new version acknowledges the authors and is licensed under the Creative Commons Attribution-Share Alike License</p>

<p>EllisLab, Inc. reserves the right to remove any content, for any reason, particularly if it is deemed that the content does not meet the licensing criteria.
</p>]]></description>
      <dc:subject>index</dc:subject>
      <dc:date>2010-03-17T09:28:16-06:00</dc:date>
    </item>

    <item>
      <title>Applications Using Code Igniter</title>
      <link>http://codeigniter.com/wiki/Applications_Using_Code_Igniter/</link>
      <guid>http://codeigniter.com/wiki/Applications_Using_Code_Igniter/</guid>
      <description><![CDATA[<p><a href="http://codeigniter.com/wiki/Category:Applications/" title="Category:Applications">Category:Applications</a></p>

<h3>Projects using CodeIgniter (source code available)</h3>

<p><b><a href="http://www.bambooinvoice.org/">BambooInvoice</a></b></p>

<p><b><a href="http://www.Iheartrant.com/">Rant</a></b> = <a href="http://www.Iheartrant.com/">Wiki</a> : <a href="http://codeigniter.com/forums/viewthread/47731/P0/">Forum</a></p>

<p><b><a href="http://www.4webby.com/freakauth/">FreakAuth</a></b><br />
CI drop-in authentification system.</p>

<p><b><a href="http://classroombookings.com/">Classroombookings</a></b><br />
Room booking system for schools.</p>

<p><b><a href="http://myfina.ridinglinux.org/">MyFina</a></b><br />
Web-based personal financial management system.</p>

<p><b><a href="http://68kb.com">68 Knowledge Base</a></b><br />
68KB is a knowledge base script.&nbsp; It was built with the site owner in mind and to be as simple to work with as possible.</p>

<p><b><a href="http://www.assembla.com/wiki/show/linkster">Linkster, PHP Link Directory</a></b><br />
Growing out of a need for simple categorical organization, Linkster aims to be the simple solution. Specifically built for link directories, such as a collection of your business partners. <a href="http://demo.codeigniterdirectory.com/">Demo available here</a>. </p>

<p><b><a href="http://max-3000.com/">MaxSite CMS</a></b><br />
WordPress-like blog CMS. In heavy development. Documentation is in Russian only for now.<br />
<b><a href="http://code.google.com/p/planet-ci/">Planet CI</a></b><br />
Planet CI is a Feed/RSS agregator reader using PHP. Its similar to <a href="http://www.planetplanet.org/">planetplanet</a> but its on perl langguage. Planet CI using codeigniter and simple pie. you can se the demo at <a href="http://planet.ilkom.org/">planet.ilkom.org</a>.</p>

<p><b><a href="http://myclientbase.com/">MyClientBase</a></b><br />
Invoice management.</p>

<p><b><a href="http://www.exitecms.org/">ExiteCMS</a></b><br />
ExiteCMS (version 8) is an application framework that builds on top of CodeIgniter, and adds features like a full administrative backend, multi-site support, an elaborate TRBAC model, workflow, etc. It is fully modular, we are busy making all functionality of the current ExiteCMS version (forums, albums, blogs, etc) available as modules.</p>

<h3>Projects using Code Igniter</h3>

<p><b><a href="http://www.wittygraphy.com">Wittygraphy</a></b> is a social network dedicated to caricaturists and caricature lovers. It&#8217;s a place to share, discuss, and promote the art of caricature. Caricaturists get free webspace to build their homepage, get listed in our directory, publish their portfolios to promote their artwork. In addition Wittygraphy is also a marketplace helping artists to sell their services.</p>

<p><b><a href="http://blogfrog.pl/">BlogFrog</a></b> blog aggegate service</p>

<p><b><a href="https://www.mindzinger.com/">MindZinger</a></b> is mainly a question-answer site for students and tutors. Also it has a section that is pretty similar to hotornot.com, and a forum (based on phpbb2), etc. Registration is free. All created on top of a plain code igniter installation by <a href="http://www.pengekcs.com">www.pengekcs.com</a> - you can reach me on yahoo at pengekcs [at] yahoo [dot] com</p>

<p><b><a href="http://www.bambooinvoice.org/">BambooInvoice</a></b> is free open-source invoicing software intended for small businesses and independent contractors. <i>code is available</i> Also see this <a href="http://www.codeigniter.com/forums/viewthread/705/">forum thread</a>.</p>

<p><b><a href="http://www.motortopia.com/">Motortopia</a></b>. A motor enthusiast social networking site focused on peoples passion for motor vehicles. Site features Web 2.0 interface, cross-browser compatability, degradability, accessability and web standards compliance.</p>

<p><b><a href="http://www.todlaciebie.pl/">ToDlaCiebie.pl</a></b> - website built entirely with CI, collects best gift ideas from Polish e-shops (&#8216;to dla ciebie&#8217; means &#8216;this is for you&#8217;).</p>

<p><b><a href="http://www.nuherbs.com/">Nuherbs.com</a></b> - Chinese herbs and medicine site built in CI. Has product ordering and full account access.</p>

<p><b><a href="http://peterbaker.net/">PeterBaker.net</a></b> - Portfolio for the photographer, built in CI and using jquery for some effects.</p>

<p><b><a href="http://www.snowshoeconditions.com/">Snowshoe Conditions</a></b> - A site for people to check back-country snow conditions before heading out for the day, everything is user-submitted.</p>

<p><b><a href="http://www.creatieve-cursussen.nl">Creatieve-Cursussen.nl</a></b> - Dutch website listing creative courses. Also uses Jquery and a google maps api class.</p>

<p><b><a href="http://britcaster.com">BritCaster.com</a></b> - An aggregator and hub for podcasts - UK focused. Generates aggregated RSS feeds for serialised content and a unique custom keyword RSS creator (FeedMe!).</p>

<p><b><a href="http://www.sign-up-sheet.com">Sign-Up-Sheet</a></b> - Super simple web based sign-up-sheet program.</p>

<p><b><a href="http://www.badgetracker.com">BadgeTracker</a></b> - A web app, built using CI, that handles activity registration and camp management for summer camps.</p>

<p><b><a href="http://classroombookings.com/">Classroombookings</a></b>. An open-source easy to use web-based room booking system for schools.</p>

<p><b><a href="http://www.zoekipedia.nl/">Zoekipedia</a></b>. Dutch Wikipedia searchengine. build in CI 1.5.2 Project from Auke Jongbloed and under constant development.</p>

<p><b><a href="http://www.webacana.com.br/">Webacana</a></b>. Brazilian movie rental service (like Netflix). build in CI 1.5.1 Project from Jesse Jr and under constant development too.</p>

<p><b><a href="http://www.morechevrolet.com/">More Chevrolet</a></b>. Auto dealer site build completely with Code Igniter, with full administrative and CMS.</p>

<p><b><a href="http://www.reggaeplanet.pl/">Reggae Planet</a></b>, <b><a href="http://www.metaltown.pl/">Metal Town</a></b>, <b><a href="http://www.punkspace.pl/">Punk Space</a></b>. Polish e-shops for reggae, metal and punk music fans.</p>

<p><b><a href="http://www.gayticketshop.nl/">Gayticketshop.nl</a></b> - Dutch webshop for ordering tickets for (gay) parties and events. Built and maintained in latest CI version.</p>

<p><b><a href="http://www.solid.lt/">Solid.lt</a></b>. Lithuanian hosting provider.</p>

<p><b><a href="http://www.webhostninja.com/">WebHostNinja.com</a></b>. Price and feature comparison for web hosting.</p>

<p><b><a href="http://d.sumy.ua/mng/">Music News Generator</a></b> - lets you generate music release news code (BB-Code, XHTML code and any other) for blogs, forums etc. using data recieved from <a href="http://www.discogs.com/">Discogs</a> and <a href="http://www.last.fm/">Last.fm</a> music community sites.</p>

<h3>Work-in-progress projects using Code Igniter</h3><p>
<b><a href="http://cornnery.kelio.org/">morel cornnery</a></b>. a project Meeting site based on CI  1.5.4 from dakar senegal  .<br />
<b><a href="http://franchisebean.com/">Franchise Bean</a></b>. An online resource for franchise companies that allows to set up profiles and generate leads.</p>

<p><b><a href="http://www.digital-design.it/">Digital Design</a></b> a website built on CI 1.4.1, jquery js/ajax library and some google api flavour. Still under construction. They plan to release the source when they are done.</p>

<p><b><a href="http://www.interlinkairlines.com/">Interlink Airlines</a></b> Still under construction, due for release soon. Complete rewrite of Airline booking system + admin facility + major features upgrade.</p>

<p><b><a href="http://www.granitiworld.com/">GranitiWorld</a></b> - Just a personal site about Graniti, Italy.</p>

<p><b><a href="http://www.lovetech.net/">Lovetech</a></b>&nbsp; - Personal website. Started Dec 06. Heading for commerical cms. Or for charity. Or both. Still practicing, Finland.</p>

<p><b><a href="http://3m2.net/sl/vouge/"> SLVouge </a> </b> - Web Site for an already active Second Life Fashion Magazine. Not yet finished and still in development.</p>

<p><b><a href="http://www.overfood.com/"> overfood.com </a> </b> - The site currently features a restaurant search of the Chefmoz database with restaurants mapped using Google Maps. The search uses xajax for an autocomplete when searching by city. It also uses the mootools accordion effect to switch between search types. </p>

<p><b><a href="http://www.mobilu.lt/">Mobilu.lt</a></b>. Lithuanian site. It&#8217;s cell phones classifieds system. Built on CI 1.5.3. Uses a little bit of XAJAX library.</p>

<p><b><a href="http://www.dwi.web.id/">Blog System</a></b>. An Indonesian CMS Blog, will release the source when it have done.</p>

<p><b><a href="http://www.beezwaxx.com/">Beezwaxx!</a></b>. Safe, secure, online email app for kids. Currently in closed beta.</p>

<p><b><a href="http://itemio.de/">itemio</a></b>. Social Bookmarking site for products based on CI</p>

<p><b><a href="http://ufashion.de/">ufashion</a></b>. German Fashion Community using COdeIgniter and JQuery</p>

<h3>Websites using Code Igniter</h3>

<p><b><a href="http://tctransit.mobi/">TCTransit.mobi - Twin Cities Transit: Mobile</a></b>. Provide transit data to Twin Cities (Minnesota, USA) commuters in a manner friendly to iPhone and Android devices. Based on CI 1.7.2.</p>

<p><b><a href="http://panturanews.com/">News Online - PanturaNews</a></b>. An online News website.</p>

<p><b><a href="http://www.operamage.com">Prodotti Tipici</a></b> - Vendita online di prodotti tipici | Italian special alimentar products e-Commerce</p>

<p><b><a href="http://bestpartyever.com">Party Ideas and Party Planning</a></b> - at bestpartyever.com - CI,1.6.1</p>

<p><b><a href="http://www.rsciranjang.com">Rumah Sakit Ciranjang</a></b> - Ciranjang Hospital Website. Based on CI 1.6</p>

<p><b><a href="http://www.diksphoto.com">Dik&#8217;s Photography</a></b> - Indonesian Photographer Website. Based on CI 1.5</p>

<p><b><a href="http://www.spiceit.co.uk/">SpicY Web+Design</a></b> - Website based on CI 1.5</p>

<p><b><a href="http://www.networkartisan.co.uk/">Network Artisan</a></b> - UK catering supplier based on CI 1.5.</p>

<p><b><a href="http://www.422south.com/">422 South</a></b> - VFX House website based on CI 1.5</p>

<p><b><a href="http://www.michel-ange.fr/">Michel-Ange Kuntz - Photo blog</a></b> - Built using CI 1.5. Back-office : &#8220;Partikule CMS&#8221; based on CI 1.5.</p>

<p><b><a href="http://www.wissamjoubran.com/">Wissam Joubran website</a></b> - Wissam Joubran luthier web site. Front-end based on Code Igniter. Back-office : &#8220;Partikule CMS&#8221; based on Code Igniter.</p>

<p><b><a href="http://www.sheybal.waw.pl/">Aleksandra Sheybal &amp; Family</a></b> - first version of private family website (it&#8217;s still growing with features - if it&#8217;s too small - please remove it from list ;-))</p>

<p><b><a href="http://www.tomwelshbuilder.com/">Thomas Welsh Builders, LLC</a></b> Built using CI 1.5, has property management backend and more - 100% CI!</p>

<p><b><a href="http://c7.se/">c7 mobile blog</a></b> - Personal moblog, updated to Code Igniter over one evening.</p>

<p><b><a href="http://browniethecow.org/">BrownieTheCow.org</a></b> - School testing activist web site. All Code Igniter (front and backend) and a bit of jQuery.<br />
<b><a href="http://wissahickon.patrails.org/">Wissahickon Restoration Volunteers</a></b> - Environmental group / member-supported, volunteer-driven nonprofit. All CI.<br />
<b><a href="http://www.theclientele.co.uk/">www.theclientele.co.uk</a></b> - web site for the band &#8216;the clientele&#8217; (merge records). </p>

<p><b><a href="http://pipasforthepeople.com/">pipasforthepeople.com</a></b> - band web site. tour dates, blog stuff and the rest of the site all done with CI.</p>

<p><b><a href="http://www.pixelsandcode.net/">Pixels and Code, LLC</a></b> - Forward-thinking web design and development</p>

<p><b><a href="http://www.systematix.co.uk/">Systematix Computer Training</a></b> - UK commercial training website rewritten in CI 1.5.1</p>

<p><b><a href="http://www.jomm.nl/">Jongbloed MultiMedia</a></b>. Home of Dutch Freelance webdeveloper Auke Jongbloed. Front and back-end build in CI 1.5.2 using mootools for effects.</p>

<p><b><a href="http://www.club-3d.com/">Club 3D </a></b>. Graphics and Multimedia card company. Front and back-end build in CI 1.5.2 extended with Xajax library.</p>

<p><b><a href="http://www.monpatelin.fr/">MonPatelin.fr</a></b>. French website of local classifieds.</p>

<p><b><a href="http://rmcreative.ru/">RMCreative</a></b>. Sam Dark&#8217;s custom blog written from scratch with CI.</p>

<p><b><a href="http://www.lirikita.com/">Lirikita</a></b>. Lyric and  video download written from scratch with CI.</p>

<p><b><a href="http://www.scholl.com.pl/">Scholl</a></b>. Shoes and foot care company - polish version written from scratch with CI.</p>

<p><b><a href="http://www.moyvkus.ru/">MoyVkus.ru</a></b>. Food Social Network.</p>

<p><b><a href="http://www.drimr.com/">DrimR.com</a></b>. Music Social Network</p>

<p><b><a href="http://www.thebuzz.co.il/">thebuzz.co.il</a></b>. Real-time news aggregation of financial and business news in Israeli media (in Hebrew).</p>

<p><b><a href="http://www.backabuddy.co.za/">Backabuddy</a></b>. Online fundraising -&nbsp; speedy solution to donating and raising money for charity!, .</p>

<p><b><a href="http://www.openopp.ca">OpenOpp</a></b> - Specializing in Job Marketing and Perpetual Sourcing of top talent, our careers microsites can fully integrate with your existing corporate website, they are available instantly, and they enable millions of active, passive, and future job seekers to find your jobs first.</p>

<p><b><a href="http://www.dennismonsewicz.com">dennismonsewicz.com</a></b> - Personal blog about PHP, terminal and weight loss</p>

<h3>Other Helpful Links</h3>

<p><b><a href="http://en.wikipedia.org/wiki/Social_media">Social Media</a></b> - media designed to be disseminated through social interaction</p>

<p><b><a href="http://www.seop.com/social-media-marketing/">Social Media Marketing</a></b> -&nbsp; help your site gain more visibility, popularity, solidify your brand and promote your products and services
</p>]]></description>
      <dc:subject>Applications Using Code Igniter</dc:subject>
      <dc:date>2010-03-17T03:52:17-06:00</dc:date>
    </item>

    
    </channel>
</rss>