<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">

<channel>
<title><![CDATA[Indra Prasetya]]></title>
<link><![CDATA[http://indraprasetya.info]]></link>
<description><![CDATA[Blog]]></description>
<generator>MemHT Portal</generator>
<item>
<title><![CDATA[CodeIgniter Community Voice - HOWTO: Set up a CodeIgniter project in Subversion]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_289_CodeIgniter-Community-Voice---HOWTO-Set-up-a-CodeIgniter-project-in-Subversion.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_289_CodeIgniter-Community-Voice---HOWTO-Set-up-a-CodeIgniter-project-in-Subversion.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week, our Community Voice author is Bruce Alderson, known on the forums as <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/member/65974/">madmaxx</a>, who has written a wonderful guide on how he uses subversion with CodeIgniter.&nbsp; Bruce is an elder web monkey and systems programmer.&nbsp; He totally digs the craft of building software, making cool stuff, and causing people to laugh so hard liquids are forced from their nose.&nbsp; He&#8217;s actually the Chief Monkey at Discovery Software and author of the not-at-all famous <a rel="nofollow" href=http://anonym.to/?"http://robotpony.ca">robotpony.ca</a>.&nbsp; (Go read the one about <a rel="nofollow" href=http://anonym.to/?"http://robotpony.ca/page/29/">shaving your yak</a>)</p>

<hr />

<p>After working with <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com">CodeIgniter</a> for a few months (and WordPress for a few years), I?ve settled on a way to set up web assignments that works well for development, deployment, and source control. Note that this style of layout only works on systems like Mac and Linux that have useful symlinks.</p>

<h4>First, the folder layout</h4><p>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">some</span><span style="color: #007700">-</span><span style="color: #0000BB">domain</span><span style="color: #007700">.</span><span style="color: #0000BB">com</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">app</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">config</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">controllers</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">etc</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">public</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">htaccess&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/.</span><span style="color: #0000BB">htaccess<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;favicon</span><span style="color: #007700">.</span><span style="color: #0000BB">ico&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">favicon</span><span style="color: #007700">.</span><span style="color: #0000BB">ico<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;js</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">js<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;images</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">images<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">application</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../../</span><span style="color: #0000BB">app</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">js</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">images</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">htaccess </span>
</span>
</code></div><p></p>

<p>The layout favours a <a rel="nofollow" href=http://anonym.to/?"http://en.wikipedia.org/wiki/Vhost">vhost</a> setup, and splits your code and resources out of the CodeIgniter sources. Splitting your stuff from the CodeIgniter stuff lets you link your Subversion repository to theirs, so that you can keep it in sync with their development.</p>

<h4>How it&#8217;s done</h4>

<ol><li>Set up your source tree (not including the symlinks or CodeIgniter source) and add to your Subversion repo.</li><li>Add a <kbd>svn</kbd> link to CodeIgniter&#8217;s repo (via <kbd>svn propedit svn:externals</kbd>, with <kbd>public  <a rel="nofollow" href=http://anonym.to/?"http://dev.ellislab.com/svn/CodeIgniter/tags/v1.6.2/">http://dev.ellislab.com/svn/CodeIgniter/tags/v1.6.2/</a></kbd>) and run a <kbd>svn update</kbd> to grab the framework.&nbsp; See the <a rel="nofollow" href=http://anonym.to/?"http://svnbook.red-bean.com/en/1.0/ch07s03.html">Subversion docs</a> for details.</li><li>Copy the CI <kbd>application</kbd> folder to the site root (as <kbd>app</kbd>), remove the <kbd>.svn</kbd> folders, symlink to <kbd>application</kbd>, and add it to your local svn repo.</li><li>Symlink the other site-extras to the <kbd>public</kbd> webserver root, and configure your local machine (and public webserver) to point to this root for the domain&#8217;s virtual host setup.</li><li>Alternatively, you can modify the <kbd>$application_path</kbd> to point to <kbd>../public/app/</kbd> (I&#8217;m not sure which is better yet).&nbsp; See the <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/user_guide/general/managing_apps.html">CodeIgniter docs on apps</a> for more details.</li></ol>

<p>You now have a CodeIgnitor assignment ready for development. You can keep up-to-date with CodeIgniter updates, deploy easily, and get at your code without wading through extra levels of hierarchy.</p>

<p><br />
<a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/88290/">Discuss this article</a></p>]]></description>
<pubDate><![CDATA[Thu, 01 Jan 2009 23:54:08 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter 1.7.0 Released]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_288_CodeIgniter-1.7.0-Released.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_288_CodeIgniter-1.7.0-Released.html]]></guid>
<description><![CDATA[<p>Code Igniter Version 1.7 has been released.&nbsp; This version contains a number of new features and enhancements, as well as many small improvements and bug fixes. For a list of all changes please see the <a rel="nofollow" href=http://anonym.to/?"http://www.codeigniter.com/user_guide/changelog.html">Change Log</a>.</p>

<p>If you are actually running Code Igniter please read the <a rel="nofollow" href=http://anonym.to/?"http://www.codeigniter.com/user_guide/installation/upgrading.html">update instructions</a>.</p>

<p>Note:&nbsp; If your browser does not display the 1.7 user guide please clear your cache and reload the page.</p>]]></description>
<pubDate><![CDATA[Thu, 01 Jan 2009 15:44:42 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Voice - HOWTO: Set up a CodeIgniter assignment in Subversion]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_287_CodeIgniter-Community-Voice---HOWTO-Set-up-a-CodeIgniter-assignment-in-Subversion.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_287_CodeIgniter-Community-Voice---HOWTO-Set-up-a-CodeIgniter-assignment-in-Subversion.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week, our Community Voice author is Bruce Alderson, known on the forums as <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/member/65974/">madmaxx</a>, who has written a wonderful guide on how he uses subversion with CodeIgniter.&nbsp; Bruce is an elder web monkey and systems programmer.&nbsp; He totally digs the craft of building software, making cool stuff, and causing people to laugh so hard liquids are forced from their nose.&nbsp; He&#8217;s actually the Chief Monkey at Discovery Software and author of the not-at-all famous <a rel="nofollow" href=http://anonym.to/?"http://robotpony.ca">robotpony.ca</a>.&nbsp; (Go read the one about <a rel="nofollow" href=http://anonym.to/?"http://robotpony.ca/page/29/">shaving your yak</a>)</p>

<hr />

<p>After working with <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com">CodeIgniter</a> for a few months (and WordPress for a few years), I?ve settled on a way to set up web projects that works well for development, deployment, and source control. Note that this style of layout only works on systems like Mac and Linux that have useful symlinks.</p>

<h4>First, the folder layout</h4><p>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">some</span><span style="color: #007700">-</span><span style="color: #0000BB">domain</span><span style="color: #007700">.</span><span style="color: #0000BB">com</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">app</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">config</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">controllers</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000BB">etc</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">public</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">htaccess&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/.</span><span style="color: #0000BB">htaccess<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;favicon</span><span style="color: #007700">.</span><span style="color: #0000BB">ico&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">favicon</span><span style="color: #007700">.</span><span style="color: #0000BB">ico<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;js</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">js<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;images</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/</span><span style="color: #0000BB">images<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">application</span><span style="color: #007700">/&nbsp;&nbsp;&nbsp;&nbsp;-&gt; ../../</span><span style="color: #0000BB">app</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">site</span><span style="color: #007700">-</span><span style="color: #0000BB">extras</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">js</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">images</span><span style="color: #007700">/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #0000BB">htaccess </span>
</span>
</code></div><p></p>

<p>The layout favours a <a rel="nofollow" href=http://anonym.to/?"http://en.wikipedia.org/wiki/Vhost">vhost</a> setup, and splits your code and resources out of the CodeIgniter sources. Splitting your stuff from the CodeIgniter stuff lets you link your Subversion repository to theirs, so that you can keep it in sync with their development.</p>

<h4>How it&#8217;s done</h4>

<ol><li>Set up your source tree (not including the symlinks or CodeIgniter source) and add to your Subversion repo.</li><li>Add a <kbd>svn</kbd> link to CodeIgniter&#8217;s repo (via <kbd>svn propedit svn:externals</kbd>, with <kbd>public  <a rel="nofollow" href=http://anonym.to/?"http://dev.ellislab.com/svn/CodeIgniter/tags/v1.6.2/">http://dev.ellislab.com/svn/CodeIgniter/tags/v1.6.2/</a></kbd>) and run a <kbd>svn update</kbd> to grab the framework.&nbsp; See the <a rel="nofollow" href=http://anonym.to/?"http://svnbook.red-bean.com/en/1.0/ch07s03.html">Subversion docs</a> for details.</li><li>Copy the CI <kbd>application</kbd> folder to the site root (as <kbd>app</kbd>), remove the <kbd>.svn</kbd> folders, symlink to <kbd>application</kbd>, and add it to your local svn repo.</li><li>Symlink the other site-extras to the <kbd>public</kbd> webserver root, and configure your local machine (and public webserver) to point to this root for the domain&#8217;s virtual host setup.</li><li>Alternatively, you can modify the <kbd>$application_path</kbd> to point to <kbd>../public/app/</kbd> (I&#8217;m not sure which is finer yet).&nbsp; See the <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/user_guide/general/managing_apps.html">CodeIgniter docs on apps</a> for more details.</li></ol>

<p>You now have a CodeIgnitor project ready for development. You can keep up-to-date with CodeIgniter updates, deploy easily, and get at your code without wading through extra levels of hierarchy.</p>

<p><br />
<a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/88290/">Discuss this article</a></p>]]></description>
<pubDate><![CDATA[Thu, 01 Jan 2009 11:43:43 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Voice - Generating PDF files using CodeIgniter]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_286_CodeIgniter-Community-Voice---Generating-PDF-files-using-CodeIgniter.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_286_CodeIgniter-Community-Voice---Generating-PDF-files-using-CodeIgniter.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week, our Community Voice author is Chris Monnat, known on the forums as <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/member/34172/">mrtopher</a>, who writes a helpful step by step guide to generating PDF files from CodeIgniter.&nbsp; Chris is a full time web application developer and part time entrepreneur. In addition to building web sites for the medical indusattempt during the day, at night Chris also runs his own development company <a rel="nofollow" href=http://anonym.to/?"http://www.leftofcentercom.com">Left of Center Communications</a>. He recently started a personal blog at <a rel="nofollow" href=http://anonym.to/?"http://www.chrismonnat.com">http://www.chrismonnat.com</a> where he keeps a record of his exploits and discusses, among other things, CodeIgniter.</p>

<hr />

<p>PDF files rock! Some of the programs used to view them could use some work, but the file format itself is real handy. As a programmer I have found PDF&#8217;s to be most helpful when generating reports that need to be printable. I know we are all supposed to be doing our part to make our offices &#8220;greener&#8221; and use less resources like paper. But some things just need to be printed (especially when your talking about the financial and legal industries).</p>

<p>When generating reports in PDF format you suddenly have a lot more control over layout and design than  you do with plain old HTML and CSS (although much progress is being made with print style sheets). You can create some really pleasant reports on the fly that your users can view, save for later or e-mail to their co-workers for review. In this post I will show you how I generate PDF reports using <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com">CodeIgniter</a>.</p>

<h4>Quick Note</h4>

<p>There are a number of PHP libraries out there for generating PDF files (like <a rel="nofollow" href=http://anonym.to/?"http://www.fpdf.org/">FPDF</a>, <a rel="nofollow" href=http://anonym.to/?"http://www.stillhq.com/opensource.html">Panda</a> and <a rel="nofollow" href=http://anonym.to/?"http://www.digitaljunkies.ca/dompdf/">dompdf</a>) but the best one I have come across is the <a rel="nofollow" href=http://anonym.to/?"http://www.ros.co.nz/pdf/">R&OS pdf class</a>. I was first introduced to it from the <a rel="nofollow" href=http://anonym.to/?"http://www.sitepoint.com/books/phpant1/?SID=beb1c45753ae71830305e53194bf4faf">PHP Anthology</a> first edition by Harry Fuecks. I have tried other PDF libraries (some PHP 5 specific and some not) and none of them have been able to provide me with the same control or ease of use that the R&OS class has which is why I&#8217;m using it for this tutorial.</p>

<h4>Getting Started</h4>

<p>Before we start, lets get everyone to the same place so you can follow along as we go. I&#8217;ve prepared a .zip file containing everything you&#8217;ll need to follow along. The archive includes CI 1.6.3 along with all the code and libraries we will discuss in this tutorial. Simply <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/files/ci_blog/pdf_tutorial.zip">download the archive</a>, unzip it on your web server and follow along.</p>

<p>I have done all the work of downloading the code library and putting the files in their right place for you, but I wanted to mention where things were for the detail oriented among you. There are 2 files that are necessary in order to use the R&OS library: <strong>class.ezpdf.php</strong> and <strong>class.pdf.php</strong>. Those two files have been placed in the application/library folder. R&OS also requires some font files in order to function and they have been placed at the root of the .zip file in a folder called <strong>fonts</strong>.</p>

<p>You do have to make a minor modification to the <strong>class.ezpdf.php</strong> file so that it will work properly within CI. First I renamed the file to <strong>cezpdf.php</strong>, which makes it easier to load using the CI loader. Then you have to modify the include statement on line 3 to:</p>

<p></p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">include_once(</span><span style="color: #0000BB">APPPATH </span><span style="color: #007700">. </span><span style="color: #DD0000">'libraries/class.pdf.php'</span><span style="color: #007700">); </span>
</span>
</code></div><p></p>

<p>This will keep PHP from saying that it can&#8217;t find included file. Once those modifications are made the R&OS class is ready to use with CI.

<p>In the archive, I have also made a controller called<strong> tutorial.php</strong> and a helper called <strong>pdf_helper</strong>.<strong>php</strong> both in their respective directories. With the background info. out of the way, lets get our hands dirty with a real simple example.
<h4>Hello World</h4>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">function </span><span style="color: #0000BB">hello_world</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />$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">'cezpdf'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezText</span><span style="color: #007700">(</span><span style="color: #DD0000">'Hello World'</span><span style="color: #007700">, </span><span style="color: #0000BB">12</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'justification' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'center'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezSetDy</span><span style="color: #007700">(-</span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$content </span><span style="color: #007700">= </span><span style="color: #DD0000">'The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog.<br />Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs.'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezText</span><span style="color: #007700">(</span><span style="color: #0000BB">$content</span><span style="color: #007700">, </span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezStream</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#125; </span>
</span>
</code></div><p>

The above code produces a PDF file <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/files/ci_blog/hello_world.pdf">like this</a>.

In the above, first thing we do is load the R&OS library for use. Next we use the <strong>ezText()</strong> function to create a title for our document. This function takes the text it will display as the first argument, the size of that text and an optional array of additional configuration options. In this instance we pass along a justification option of center. That will center our title at the top of our document.

After the title we insert some extra white space using the <strong>ezSetDy()</strong> function. After the whites pace we put the rest of the content for the document in a variable called $content and add it to our document using the <strong>ezText()</strong> function again. Finally, we create our document using the <strong>ezStream()</strong> function which actually creates the document and sends it to the users which prompts them to view/download the generated PDF document.

<h4>Handling Tabular Data</h4>

When your dealing with business reports the odds are good that you will need to generate reports with tables to display tabular data. From my experience with other PDF libraries, this is not an easy task. But with the R&OS library it&#8217;s about as hard as creating an array.

</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">function </span><span style="color: #0000BB">tables</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />$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">'cezpdf'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$db_data&#91;&#93; </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Jon Doe'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phone' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'111-222-3333'</span><span style="color: #007700">, </span><span style="color: #DD0000">'email' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'jdoe@someplace.com'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$db_data&#91;&#93; </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Jane Doe'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phone' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'222-333-4444'</span><span style="color: #007700">, </span><span style="color: #DD0000">'email' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'jane.doe@something.com'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$db_data&#91;&#93; </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Jon Smith'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phone' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'333-444-5555'</span><span style="color: #007700">, </span><span style="color: #DD0000">'email' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'jsmith@someplacepsecial.com'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$col_names </span><span style="color: #007700">= array(<br /></span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Name'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'phone' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Phone Number'</span><span style="color: #007700">,<br /></span><span style="color: #DD0000">'email' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'E-mail Address'<br /></span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezTable</span><span style="color: #007700">(</span><span style="color: #0000BB">$table_data</span><span style="color: #007700">, </span><span style="color: #0000BB">$col_names</span><span style="color: #007700">, </span><span style="color: #DD0000">'Contact List'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'width'</span><span style="color: #007700">=&gt;</span><span style="color: #0000BB">550</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezStream</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#125; </span>
</span>
</code></div><p>

The above code should produce a PDF file <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/files/ci_blog/tables.pdf">like this</a>.

In the above code I create an array of data called $db_data. I put this together so that it imitates a tyimageal database result set because that&#8217;s usually where you will be getting your data from. Below my data array I have created a $col_names array that associates the data elements in the $db_data array with a column title for the table. This is where the R&OS gets the title to display at the top of each table column. Once I have the data and column titles I create the table by calling the <strong>ezTable()</strong> function. This function takes the data array, an associative array for column names, the title for the table and an optional array of configuration options. There are a number of options that can be configured through that last optional array, but I&#8217;m not going to go into them in this tutorial.

<h4>Headers and Footers</h4>

Most reports in a corporate setting come with some kind of standard header and/or footer. They can include anything from the date/time generated, the user who generated them, to page numbers and the like. Headers and footers are handy to have, but unfortunately there isn&#8217;t a real good way to add them to printable reports generated in HTML and CSS. There&#8217;s one more reason to use the portable document format when creating printable reports.

The course of action of adding headers and footers to a PDF using the R&OS library is the slightest bit complicated. There are a lot of lines of code just to accomplish it, that&#8217;s why I have created a helper file. Since the code is in a helper function, you just need load the helper and call the function whenever you need to add headers/footers to a PDF.

</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">function </span><span style="color: #0000BB">prep_pdf</span><span style="color: #007700">(</span><span style="color: #0000BB">$orientation </span><span style="color: #007700">= </span><span style="color: #DD0000">'portrait'</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />$CI </span><span style="color: #007700">= &</span><span style="color: #0000BB">amp</span><span style="color: #007700">; </span><span style="color: #0000BB">get_instance</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">selectFont</span><span style="color: #007700">(</span><span style="color: #0000BB">base_url</span><span style="color: #007700">() . </span><span style="color: #DD0000">'/fonts'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$all </span><span style="color: #007700">= </span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">openObject</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">saveState</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setStrokeColor</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">$orientation </span><span style="color: #007700">== </span><span style="color: #DD0000">'portrait'</span><span style="color: #007700">) </span><span style="color: #0000BB">&#123;<br />$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezSetMargins</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">70</span><span style="color: #007700">,</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezStartPageNumbers</span><span style="color: #007700">(</span><span style="color: #0000BB">500</span><span style="color: #007700">,</span><span style="color: #0000BB">28</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">''</span><span style="color: #007700">,</span><span style="color: #DD0000">'&#123;PAGENUM&#125;'</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">line</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,</span><span style="color: #0000BB">40</span><span style="color: #007700">,</span><span style="color: #0000BB">578</span><span style="color: #007700">,</span><span style="color: #0000BB">40</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addText</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">32</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">'Printed on ' </span><span style="color: #007700">. </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'m/d/Y h:i:s a'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addText</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">22</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">'CI PDF Tutorial - http://www.christophermonnat.com'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125;<br /></span><span style="color: #007700">else </span><span style="color: #0000BB">&#123;<br />$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ezStartPageNumbers</span><span style="color: #007700">(</span><span style="color: #0000BB">750</span><span style="color: #007700">,</span><span style="color: #0000BB">28</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">''</span><span style="color: #007700">,</span><span style="color: #DD0000">'&#123;PAGENUM&#125;'</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">line</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,</span><span style="color: #0000BB">40</span><span style="color: #007700">,</span><span style="color: #0000BB">800</span><span style="color: #007700">,</span><span style="color: #0000BB">40</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addText</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">32</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">'Printed on '</span><span style="color: #007700">.</span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'m/d/Y h:i:s a'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addText</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">22</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #DD0000">'CI PDF Tutorial - http://www.christophermonnat.com'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125;<br />$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">restoreState</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">closeObject</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$CI</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">cezpdf</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addObject</span><span style="color: #007700">(</span><span style="color: #0000BB">$all</span><span style="color: #007700">,</span><span style="color: #DD0000">'all'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125; </span>
</span>
</code></div><p>

An example of how I use this helper is provided in the headers() function of the tutorial.php controller. That code produces a PDF file <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/files/ci_blog/headers.pdf">like this</a>.

The above code is the <strong>prep_pdf()</strong> function located in the <strong>pdf_helper.php</strong> file. This function does all the hard work of creating a footer for my PDF reports for me. All I have to do is load the helper in my controller and call the function. Since the reports could be portrait or landscape I have also included the ability to pass the orientation to the function and the code will modify the document margins accordingly.

I&#8217;m not going to go into a lot of detail about the above code because this tutorial could become very long. But the general idea is that I&#8217;m using the R&OS library to modify the margins of the document I&#8217;m creating, add page numbers and text to the very bottom of the document. R&OS has some functions that makes this easy like <strong>ezStartPageNumbers()</strong> and <strong>line()</strong>. Once all that is done I can add any kind of content to the document back in my controller and then just call <strong>ezStream()</strong> to generate the final document.

<h4>Wrap Up</h4>

I barely scratched the surface of what you can do with the R&OS PDF library in this tutorial. I encourage you to spend some quality time with the <strong>readme.pdf</strong> documentation file that comes with the library when you download it. That file goes over all the functions and their options in great detail.

So there you have it, generating PDF files with CodeIgniter and the R&OS library. If this method doesn&#8217;t quite do it for you, there are a few helpful articles on the CodeIgniter <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/wiki/">wiki</a>, like <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/wiki/PDF_generation_using_dom/">this one</a> and <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/wiki/fpdf_CIed/">this one</a>, which walk you through some additional options. Whatever solution you choose I hope this tutorial has helped to introduce you to some of the options you have at your disposal for creating PDF reports with CodeIgniter.

<a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/86890/">Discuss this article</a>]]></description>
<pubDate><![CDATA[Thu, 01 Jan 2009 07:37:15 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Voice - Lee?s Lost Bet]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_285_CodeIgniter-Community-Voice---Lees-Lost-Bet.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_285_CodeIgniter-Community-Voice---Lees-Lost-Bet.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week, our Community Voice author is Lee Tengum, who discusses how CodeIgniter has cost him over $8,800 in beer and soft drinks. Lee is a bit of a serial entrepreneur, with 5 successful startups under his belt including the recently launched <a rel="nofollow" href=http://anonym.to/?"http://cleverandy.com">http://cleverandy.com</a>.&nbsp; He has become something of a cookie! jar of startup knowledge. When he is not managing his team of contractors he blogs about the trials and tribulations of his startups at <a rel="nofollow" href=http://anonym.to/?"http://tumbledry.ca">http://tumbledry.ca</a>. </p>

<hr />

<p>It all started with an idea at 4 a.m. on a Tuesday morning that brought us to CodeIgniter. <br />
We were neck deep in a deadline and sinking fast. We knew we needed help. <br />
After puling some strings that bought some time we quit work for a week - well, client work at least. There were our own issues to solve.</p>

<p>We had amassed a team of roughly 14 at this point and had no way to efficiently manage who was doing what for how much and how long; in fact we were often surprised by code submissions.<br />
That?s a sad place to be.</p>

<p>We had been building in the ?flavor of the weak? when it came to frameworks and often chose whatever the contractor was fluent in to save time (which != saved money). </p>

<p>Not only were we not communicating, but we were reinventing the wheel for every assignment. Have I mentioned how sad of a place that is to be?</p>

<p>Back to 4 a.m.</p>

<p>Doug is one of my closest friends, and a trusted peer. He suggested we should develop a contractor management system and that we should build it all on CodeIgniter. At this time I hadn?t seen sleep in nearly a day, consumed nearly seven liters of coffee, the &#8220;development tub&#8221; was empty and we were trying to finish a RoR assignment that a contractor bailed on. I didn&#8217;t want to hear about another &^%in framework, I just wanted this to be done. </p>

<p>Thankfully my friend couldn?t understand the word ?no? and kept pressing. He went on about how anyone with knowledge of PHP can build with this, its development cycle and the community that was forming around it. I still wasn&#8217;t convinced but he assured me this would be the last time we changed frameworks and proposed a friendly bet.</p>

<p>I hate that I love gambling. I don&#8217;t have a problem, per say, but I always lose. The problem is that my pride drives me to bet anyways. Besides I relished the opportunity to prove him wrong. </p>

<p>So the bet was laid. We would build the contractor management system in CI and all client assignments for one month with CI. At the end of that month if I wanted to go back to another framework and could justify it rationally with solid points then he would keep the Development Tub full for a full year (a cost of roughly $100/week). If we stayed with Code Igniter I would the one stocking the tub for the next year and I would also have accept his offer to buy into my company and become a partner. </p>

<p>On Wednesday morning we filled the tub (again not a problem&#8230; really) and set out to build our app. We outlined what we wanted, mapped it out on the whiteboard, set up a Basecamp assignment for it, defined our milestones and set Saturday as launch day. </p>

<div style="text-align: center;"><img src="http://codeigniter.com/files/ci_blog/DSC_9399.jpg" width="300" height="199" alt="The tub&#8230;" /> <img src="http://codeigniter.com/files/ci_blog/DSC_9400.jpg" width="300" height="199" alt="The tub&#8230; again" /></div>

<p>Beer? Check.<br />
Monster energy drinks? Check.<br />
Coffee? Check.<br />
M&M Peanuts? Check.<br />
Babysitter? Check. (We&#8217;re parents&#8230;)&nbsp; <br />
Pizza? Maybe.<br />
Basecamp set up? Check.<br />
SVN Server? Check.</p>

<p>While I depleted the tub and read the user guide, Doug was getting down to business. By the time I?d figured out how I was going to tackle my portion of the build he?d built the user authentication as well as the management section. Doug was already adding features to our &#8220;Wish List&#8221; in Basecamp and checking off milestones. Roughly 9 hrs into our assignment we started completing items on the wish list, which had never happened before. The wish list had never become a checklist before a deadline and I was starting to worry.</p>

<p>In the wee hours of Thursday morning we headed home to sleep. The following day we sent login details to our contractors and set up a basecamp assignment to log bugs. We fixed the stupid little ones that we missed and made changes on the fly. By the end of the day I had a huge overview of our team of contractors and a vision of things to come. I never did see the 48 hr Milestone reminder emails from Basecamp&#8230; again I was seeing a change.</p>

<p>By the end of the month we had more than a few client sites built on CI. We also had a process for development laid out and the term Rapid Development was taking on meaning with me. I was happy, the clients were happy and we had a team we could manage&#8230; and then reality sunk in.</p>

<p>I hate losing, even more so I hate losing to people I like winning against. I lost the bet. Though I gained a valuable business partner, a managed team, profitability and a kick ass framework to build it upon&#8230; I am forever filling the tub.</p>

<p>And with ExpressionEngine 2 built on CI (Which we are using extensively for client sites now), the tub has gained a lifetime sponsor. Me.</p>

<p>That app was build on 1.4.0 on September 20th 2006 and since then we have revised many things including our checklist:</p>

<p>Beer? Check.<br />
M&M Peanuts? Check.<br />
Basecamp set up? Check.<br />
SVN Server? Check.</p>

<p>See the difference? We don&#8217;t live at the office any more. CodeIgniter gave us the freedom to build around our needs and wants and it gave us the structure we needed to become more efficient. Just don?t bet against CI, it has cost me $8800 and counting&#8230;. weekly.</p>

<p>
</p><h3>ABOUT LEE</h3>

<p>Lee is a bit of a serial entrepreneur, with 5 successful startups under his belt including the recently launched <a rel="nofollow" href=http://anonym.to/?"http://cleverandy.com">http://cleverandy.com</a>.&nbsp; He has become something of a cookie! jar of startup knowledge. When he is not managing his team of contractors he blogs about the trials and tribulations of his startups at <a rel="nofollow" href=http://anonym.to/?"http://tumbledry.ca">http://tumbledry.ca</a>. </p>

<p><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/85844/">Discuss this article</a></p>]]></description>
<pubDate><![CDATA[Thu, 01 Jan 2009 03:11:54 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Chieftain Michael Wales]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_284_CodeIgniter-Community-Chieftain-Michael-Wales.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_284_CodeIgniter-Community-Chieftain-Michael-Wales.html]]></guid>
<description><![CDATA[<p>We&#8217;re happy to announce a new program for exceptional members of the CodeIgniter community, <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/85513_49/">CodeIgniter Community Chieftains</a>.&nbsp; As the community grows, the EllisLab development team often does not have the time that we would like to interact with the community in various ways, but it&#8217;s always been a key part of our success.&nbsp; So as the need arises, we have created this program to help keep the wheels greased so to speak, making sure that our forums, wiki, and bug tracker are handling the needs of the community and are properly moderated.</p>

<p>This is an invitation only program as the aforementioned link explains, and we&#8217;re proud to bring <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/member/48108/">Michael Wales</a> on board as our first CodeIgniter Community Chieftain.&nbsp; Most will need no introduction to Michael as you have likely already encountered him or some of his contributions in the community.&nbsp; Welcome aboard, Michael!</p>]]></description>
<pubDate><![CDATA[Wed, 31 Dec 2008 23:08:01 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Brazil]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_283_CodeIgniter-Brazil.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_283_CodeIgniter-Brazil.html]]></guid>
<description><![CDATA[<p>Hermes Alves has launched a CodeIgniter resource in Portuguese, located at <a rel="nofollow" href=http://anonym.to/?"http://www.codeigniter.com.br">codeigniter.com.br</a>.&nbsp; The site includes a discussion forum, mailing-list, and a few other resources.&nbsp; Kudos Hermes! </p>]]></description>
<pubDate><![CDATA[Wed, 31 Dec 2008 19:05:12 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Voice - Mathew Davies]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_282_CodeIgniter-Community-Voice---Mathew-Davies.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_282_CodeIgniter-Community-Voice---Mathew-Davies.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week,&nbsp; our Community Voice author is Mathew Davies (AKA Popcorn), author of the <a rel="nofollow" href=http://anonym.to/?"http://code.google.com/p/reduxauth/">Redux Authentication library</a>, a light, easy to use and fully featured auth engine. What follows is a brief discussion of some of the logic and security that went into the library, and considerations for your own programming.</p>

<hr />

<p>Let me start by saying I love CodeIgniter, it&#8217;s a developers dream. <img src="http://ellislab.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>

<p>Today I plan to talk about some of the security features that are used within my library : Redux Authentication.</p>

<p><strong>Hash Once and Only Once!</strong></p>

<p>Over at TalkPHP someone provided a code snippet which had this code :<br />
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$psd </span><span style="color: #007700">= </span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">md5</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST&#91;</span><span style="color: #DD0000">'password'</span><span style="color: #0000BB">&#93;</span><span style="color: #007700">)))))))); </span>
</span>
</code></div><p><br />
I&#8217;ve made a similar mistake myself in the past.&nbsp; Someone on the CodeIgniter forums pointed out that a solution like the above will actually increase the probability of a collision. Here&#8217;s what inparo had to say :
</p><blockquote><p>
&#8220;It&#8217;s safer if you only hash it once.&nbsp; The initial string is random in both length and characters.&nbsp; The first sha1 gives you a fixed length and reduced character set.&nbsp; By hashing this again you&#8217;re actually increasing the probability of collisions.&#8221;
</p></blockquote><p>
So there you go folks, hash once. This also leads nicely to my next toimage &#8220;salts&#8221;</p>

<p><strong>Salts</strong></p>

<p>A lot of people when hashing passwords will do something like this :</p>

<p>$password = md5($password);</p>

<p>You may think this is secure, but actually it&#8217;s very insecure. Websites exist which store hashes of dictionary words, so if your database was ever stolen, the passwords could be looked up and revealed. This is where the power of the password salt comes in.&nbsp; Salts come in two varieties : A dynamic salt and a static salt. A dynamic salt is automatically generated and is usually very hard to guess. A good example of a dynamic salt would be :<br />
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$salt </span><span style="color: #007700">= </span><span style="color: #0000BB">microtime</span><span style="color: #007700">(); </span>
</span>
</code></div><p><br />
It&#8217;s not totally random, but you get the idea.</p>

<p>You would then concatenate the salt along with the password to provide a new hash. This new hash can&#8217;t be looked up because of it&#8217;s &#8220;randomness&#8221;. You would then store it with other user info and select it when you need to log them in.</p>

<p>I know what you&#8217;re thinking. If the database is stolen they&#8217;ve got the password and the dynamic salt &#8220;What good is that?!&#8221; This is where a static salt comes in.</p>

<p>A static salt is just that, a variable that is random in both length and characters. This is best stored in a configuration file somewhere. You then combine this with the dynamic salt to provide a very secure solution. Reasons being: (a) If the database is stolen, they are missing the static salt; (b) Two passwords the same will result in a different hash. Here&#8217;s an example:<br />
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$dynamic_salt </span><span style="color: #007700">= </span><span style="color: #0000BB">microtime</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$static_salt </span><span style="color: #007700">= </span><span style="color: #DD0000">'qGPBA8iCM3cUuCbBAQx3E0uOkKTrSeEUiSrAkykEk4sEniyP67Q2BTp8vtDqoqw'</span><span style="color: #007700">; </span><span style="color: #FF8000">// Grabbed from file.<br /></span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">'password'</span><span style="color: #007700">; </span><span style="color: #FF8000">// Password from input form.<br /><br /></span><span style="color: #0000BB">$hashed_password </span><span style="color: #007700">= </span><span style="color: #0000BB">sha1</span><span style="color: #007700">(</span><span style="color: #0000BB">$dynamic_salt</span><span style="color: #007700">.</span><span style="color: #0000BB">$password</span><span style="color: #007700">.</span><span style="color: #0000BB">$static_salt</span><span style="color: #007700">); </span><span style="color: #FF8000">// Super Secure! </span>
</span>
</code></div><p></p>

<p><strong>Forgotten Password</strong></p>

<p>Ooops, the user has forgotten their password. What are we going to do? Michael Wales made a well informed post about this toimage a while ago, but it was recently lost.</p>

<p>The best method is to use a secret question and answer system coupled with email verification.</p>

<p>The logic would be something like this:</p>

<p>User requests new password -> Sends email verification code -> Verification code is looked up in the database -> Show secret question -> Check Answers</p>

<p>I prefer this system because a hacker could of got into your email account and requested a new password, but would then struggle to get your secret question right. Keeping the users account secure.</p>

<p><strong>DB Sessions</strong></p>

<p>This will be a quick talk. At the moment Redux stores a &#8220;users_id&#8221; in the session cookie and uses this to figure out if the user is logged in or not. A hacker could use the algorithm in CodeIgniter&#8217;s session library and craft his own cookie with a fake &#8220;user_id&#8221;.</p>

<p>Database sessions move this data from the clients cookie to the database providing a scenario where the client can&#8217;t edit it. Redux doesn&#8217;t actually use this, but it is in the works.</p>

<p>Thanks for listening to me babble on, hope you enjoyed it.</p>

<p>PS : All examples above are used in <a rel="nofollow" href=http://anonym.to/?"http://code.google.com/p/reduxauth/">Redux</a> so go download it <img src="http://ellislab.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>

<p>- Mathew Davies</p>

<p><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/83844/">Discuss this article</a></p>]]></description>
<pubDate><![CDATA[Wed, 31 Dec 2008 15:02:15 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter 1.6.3 Maintenance and Security Release]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_281_CodeIgniter-1.6.3-Maintenance-and-Security-Release.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_281_CodeIgniter-1.6.3-Maintenance-and-Security-Release.html]]></guid>
<description><![CDATA[<p>We are happy to release CodeIgniter version 1.6.3 today.&nbsp; Version 1.6.3 is primarily a maintenance release, with a variety of bug fixes and some refinement to existing features (with a few new ones tossed in for good measure).&nbsp; Details of course can be found in the <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/user_guide/changelog.html">Change Log</a>.</p>

<p>Additionally, with the assistance of an outstanding community member, <a rel="nofollow" href=http://anonym.to/?"http://expressionengine.com/forums/member/57813/">Pascal Kriete (Inparo)</a>, we have identified and eliminated a potential cross-site scripting vulnerability.&nbsp; No known sites have been affected, but as we take security very seriously, we felt it warranted a feature-light point release to help users protect their sites.&nbsp; We cannot thank Pascal enough for the manner in which he reported this issue to us, and then continuing to diligently work with us to make sure the vulnerability was plugged.&nbsp; If you&#8217;re looking for a fresh set of eyes to do a security audit on your app, he comes highly recommended by the EllisLab staff.</p>

<p>Command line addicts: don&#8217;t forget that starting with version 1.6.1, the CodeIgniter subversion contains <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/user_guide/installation/downloads.html">tagged releases</a>!</p>]]></description>
<pubDate><![CDATA[Wed, 31 Dec 2008 02:57:59 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[CodeIgniter Community Voice - Michael Wales]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_280_CodeIgniter-Community-Voice---Michael-Wales.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_280_CodeIgniter-Community-Voice---Michael-Wales.html]]></guid>
<description><![CDATA[<p>EllisLab is blessed with two of the greatest communities that can be found anywhere on the internet in ExpressionEngine and more recently CodeIgniter.&nbsp; Despite being a relative newcomer to the scene, the people attracted to CodeIgniter are among the smartest, most talented and down-to-earth developers around today.&nbsp; From time to time we want to highlight some of these talented people, and we&#8217;ve asked them to lend their voice to ours.&nbsp;  <em><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewannounce/81650_49/">Have your voice</a></em>.&nbsp; I hope you enjoy what they have to say as much as I did.</p>

<p>This week,&nbsp; our Community Voice author is <a rel="nofollow" href=http://anonym.to/?"http://michaelwales.com/">Michael Wales</a>, a programmer, a father, an aspiring author, and an award winning Airman.&nbsp; For the past 3 years, he&#8217;s been focusing the majority of his time on  CodeIgniter. He is among the most consistent contributors to the community, has released numerous libraries and tutorials, and is one of the most highly sought after freelancers within the community.</p>

<p>What follows is a summary in his own words of how CodeIgniter has changed how he works, and how he develops.</p>

<hr>

<p>90% of my work comes from word-of-mouth, which means I can never have my name in too many places. Although I claim to be a CodeIgniter Programmer, I&#8217;m willing to take on a vanilla PHP assignment if the client insists (although I&#8217;ll definitely fight for CI beforehand). I&#8217;ve been known to crank out a web design or two and anyone that subscribes to my blog knows I often drift off into toimages completely unrelated to programming (Battlestar Galactica, the military, etc).<br />
 
Why do I stretch myself so thin? Because it gets my name out there. I want &#8220;CodeIgniter Programmer&#8221; to by synonymous with &#8220;Michael Wales.&#8221; Cocky? Self righteous? Conceited? Maybe - but I&#8217;ve always been determined to be the absolute best at whatever I aim to achieve. CodeIgniter has given me that goal to aim for - to be honest, it&#8217;s changed my life completely.<br />
 
CodeIgniter, the Framework, has allowed me to work for clients with vastly different requirements. Whether it&#8217;s the hottest new Web 2.0 site, a corporate Intranet, a portal for a gaming community, or a local business&#8217; website - and believe me, I&#8217;ve done them all.<br />
 
CodeIgniter empowers me to deliver the best possible product I can to the client.<br />
CodeIgniter empowers me to deliver a product at a cheaper price than many competitors because I can complete it twice as fast.<br />
CodeIgniter empowers me to let clients utilize whatever architecture they want because CodeIgniter&#8217;s going to work.<br />
 
CodeIgniter, the Community, has given me friends that will last a lifetime. Whether it&#8217;s chatting into the wee hours of the night about the wife and kids, walking me through a bit of code I&#8217;m just not getting my head around, or putting in a good word for me with a client - and believe me, I&#8217;ve done them all.<br />
 
CodeIgniter empowers me to meet new people, learn about new cultures, and see things &#8220;in another man&#8217;s shoes.&#8221;<br />
CodeIgniter empowers me to seek out new opportunities and to encourage me when I take a risk.<br />
CodeIgniter empowers me to admit when I need help and to allow others to help me.<br />
 
CodeIgniter, the Clients, have changed my outlook on life and given me a renewed hope that things will be okay. Whether it&#8217;s giving me a assignment that starts my daughter&#8217;s college fund, paying me up-front for a assignment before it&#8217;s complete when I need the money, or allowing me to supplement my military paycheck so that my family can live more comfortably - and believe, I&#8217;ve done them all.<br />
 
CodeIgniter empowers me to seek out new challenges and attack problems from &#8220;outside the box.&#8221;<br />
CodeIgniter empowers me to become a finer listener, follower, leader, husband, father, and man.<br />
CodeIgniter empower me to overcome all obstacles and complete the task at hand.<br />
 
 <br />
CodeIgniter empowers me - and my family - to leave our Air Force family behind in April 2009 at the end of my enlistment. Although it&#8217;s scary - hell, it&#8217;s downright petrifying - I know we will be okay. I know we&#8217;ll always be welcome in the CodeIgniter family.<br />
 
- Michael D. Wales</p>

<p><a rel="nofollow" href=http://anonym.to/?"http://codeigniter.com/forums/viewthread/82820/">Discuss this article</a></p>]]></description>
<pubDate><![CDATA[Tue, 30 Dec 2008 22:12:39 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Japanese CodeIgniter book]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_279_Japanese-CodeIgniter-book.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_279_Japanese-CodeIgniter-book.html]]></guid>
<description><![CDATA[<p>A testament to the strength and flexibility of CodeIgniter is how quickly its been adopted internationally.&nbsp; Today, some of the very active users at <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.jp/">CodeIgniter Japan</a> have released <a rel="nofollow" href=http://anonym.to/?"http://codeigniter.jp/tettei/">CodeIgniter Tettei Nyumon</a> (The Definitive Guide to CodeIgniter).&nbsp; Congratulations Katz Kawai, Kenji Suzuki, and Ken Ando from the entire EllisLab team!</p>

<p><img src="http://codeigniter.com/files/ci_blog/ci_japan_book.jpg" width="317" height="400" alt="CodeIgniter Tettei" /></p>]]></description>
<pubDate><![CDATA[Tue, 30 Dec 2008 18:12:53 GMT]]></pubDate>
</item>


<item>
<title><![CDATA[PHP script to find domain age]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_120_PHP-script-to-find-domain-age.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_120_PHP-script-to-find-domain-age.html]]></guid>
<description><![CDATA[Simple script to obtain domain age. <br />
This script using curl module, make sure its turned on<br />
<div class="std_code"><div style="overflow:auto; max-width:500px; width:expression(document.body.clientWidth > 400? '400px': 'auto' );">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000FF; font-weight: bold;">function</span> getAgeInfo<span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$domain</span><span style="color: #000099;">&#41;</span><span style="color: #000099;">&#123;</span>&nbsp; &nbsp;&nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000FF;">$url</span> = <span style="color: #CC0000;">&quot;http://www.webconfs.com/domain-age.php&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000FF;">$ch</span> = curl_init <span style="color: #000099;">&#40;</span> <span style="color: #0000FF;">$url</span> <span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curl_setopt <span style="color: #000099;">&#40;</span> <span style="color: #0000FF;">$ch</span>, CURLOPT_RETURNTRANSFER, <span style="color: #006600;">true</span> <span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$ch</span>, CURLOPT_POST, <span style="color: #FF0000;">1</span><span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$ch</span>, CURLOPT_HEADER, <span style="color: #FF0000;">0</span><span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;curl_setopt<span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$ch</span>, CURLOPT_POSTFIELDS,<span style="color: #CC0000;">'domains='</span>.<span style="color: #0000FF;">$domain</span>.<span style="color: #CC0000;">'&amp;submit=submit'</span><span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curl_setopt <span style="color: #000099;">&#40;</span> <span style="color: #0000FF;">$ch</span>, CURLOPT_USERAGENT, <span style="color: #0000FF;">$_SERVER</span> <span style="color: #000099;">&#91;</span><span style="color: #CC0000;">'HTTP_USER_AGENT'</span><span style="color: #000099;">&#93;</span> <span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000FF;">$data</span> = <span style="color: #0000FF;">html_entity_decode</span><span style="color: #000099;">&#40;</span>curl_exec <span style="color: #000099;">&#40;</span> <span style="color: #0000FF;">$ch</span> <span style="color: #000099;">&#41;</span><span style="color: #000099;">&#41;</span>;&nbsp; <br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000FF;">preg_match</span><span style="color: #000099;">&#40;</span><span style="color: #CC0000;">&quot;/<span style="color: #FF9900;">\<</span>a target=_blank title='View how the website looked at this Age'(.*?)<span style="color: #FF9900;">\<</span><span style="color: #FF9900;">\/</span>a<span style="color: #FF9900;">\></span>/i&quot;</span>,<span style="color: #0000FF;">$data</span>,<span style="color: #0000FF;">$p</span><span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600;">if</span><span style="color: #000099;">&#40;</span><span style="color: #0000FF;">empty</span><span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$p</span><span style="color: #000099;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000099;">&#93;</span><span style="color: #000099;">&#41;</span><span style="color: #000099;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600;">return</span> <span style="color: #006600;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600;">return</span> <span style="color: #0000FF;">strip_tags</span><span style="color: #000099;">&#40;</span><span style="color: #0000FF;">$p</span><span style="color: #000099;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000099;">&#93;</span><span style="color: #000099;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000099;">&#125;</span><br />
&nbsp;</div></div>]]></description>
<pubDate><![CDATA[Thu, 30 Oct 2008 22:44:54 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Inilah isi dari RUU Pornografi itu]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_116_Inilah-isi-dari-RUU-Pornografi-itu.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_116_Inilah-isi-dari-RUU-Pornografi-itu.html]]></guid>
<description><![CDATA[Banyak yg nerima, banyak yang menolak, banyak juga yang dilema.. Ngomong-ngomong, Anda setuju tidak sih RUU Pornografi ini? Dengan kata lain, setujukah pornografi dilarang? selengkapnya <a href="http://indraprasetya.info/blog_view_Inilah+isi+dari+RUU+Pornografi+itu.html">disini</a>]]></description>
<pubDate><![CDATA[Wed, 24 Sep 2008 22:45:24 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Pertamina Akan Naikkan Harga Elpiji 12 kg]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_90_Pertamina-Akan-Naikkan-Harga-Elpiji-12-kg.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_90_Pertamina-Akan-Naikkan-Harga-Elpiji-12-kg.html]]></guid>
<description><![CDATA[Pertamina akan menaikkan harga elpiji ukuran tabung 12 kg. Akibatnya, permintaan elpiji di sejumlah daerah menjadi cenderung meningkat, meski pasokan masih aman. Saat ini harga dari agen untuk tabung 12 kg adalah Rp 52 ribu. Kalau nanti naik dipasaran, bisa menembus harga Rp 75 ribu. Beberapa pemilik toko elpiji dibeberapa daerah seperti di Depok, mengaku persediaan elpiji kemasan 12 kg telah habis terjual. Bahkan, mereka menyarankan warga agar beralih ke elpiji ukuran tiga kg karena harganya masih stabil. Di Bandung, Jawa Barat, permintaan terhadap elpiji ukuran tabung 12 kg melonjak. Direktur Pemasaran dan Niaga Pertamina, Achmad Faisal, sebelumnya mengatakan harga elpiji kemasan 12 kg akan naik menjadi Rp 5000 per kg dari sebelumnya Rp 4250 per kg. Jika awalnya harga tabung elpiji ukuran 12 kg harganya Rp 51 ribu per tabung, dengan kenaikan tersebut akan menjadi Rp 60 ribu per tabung. Kenaikan ini untuk mengimbangi membengkaknya biaya transportasi dan pengisian gas elpiji akibat naiknya harga Bahan Bakar Minyak (BBM). Pengamat energi dari Reforminer Institute, Pry Agung Rakhmanto, menilai belum saatnya harga elpiji ukuran 12 kg naik. “Tekanan inflasi akibat kenaikan harga BBM kemarin saja masih akan memuncak Juni-Juli ini.” ujar Pry. Apalagi, belum adanya transparansi harga keekonomian gas elpiji. Karena itu, dia meminta audit biaya pokok produksi dan distribusi elpiji Pertamina.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 16:24:01 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Pemprov DKI Jakarta Menyiapkan Tarif Baru Pajak Kendaraan]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_89_Pemprov-DKI-Jakarta-Menyiapkan-Tarif-Baru-Pajak-Kendaraan.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_89_Pemprov-DKI-Jakarta-Menyiapkan-Tarif-Baru-Pajak-Kendaraan.html]]></guid>
<description><![CDATA[Penerapan tarif baru pajak kendaraan bermotor akan dilaksanakan oleh Pemerintah Provinsi DKI Jakarta  dalam waktu dekat ini. rencana kebijakan baru ini diterapkan untuk mengurangi beban Anggaran Pendapatan dan Belanja Daerah Perubahan 2008 yang membengkak akibat kenaikan gaji pegawai negeri sipil sebesar 20 persen. Kepala Subbidang Bagi Hasil Pajak Dinas Pendapatan Daerah Jakarta Iwan Setiawandi mengungkapkan besaran pajak akan disesuaikan dengan nilai jual masing-masing merek kendaraan beserta tipenya. Hal ini berbeda dengan aturan sebelumnya yang mengacu pada Undang-Undang Nomor 18 Tahun 1997 tentang Pajak daerah dan Retribusi Daerah yang menyebutkan pajak kendaraan ditetapkan berdasarkan jenis dan kapasitas mesin (cc) kendaraan. Bisa saja meskipun berkapasitas mesin sama, dua mobil yang berlainan tipe dan merek akan memiliki tarif pajak yang berbeda pula. Sementara itu, perhitungan tarif pajak hanya dibedakan menjadi dua jenis, yaitu tarif kendaraan pribadi sebanyak 1,5 persen dan kendaraan umum satu persen. Hasil perkailan persentase tarif dengan nilai jual kendaraan berdasarkan tipe dan merek tersebut yang nantinya harus dibayarkan oleh pemilik kendaraan. Nilai jual kendaraan sendiri pun ditetapkan berdasarkan harga di pasar. Perubahan tarif pajak ini berdasarkan atas Peraturan Menteri Dalam Negeri Nomor 22 Tahun 2008 tentang Penghitungan Dasar Pengenaan Pajak Kendaraan Bermotor. Dan peraturan tersebut akan diterapkan juga diseluruh Indonesia.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 15:13:31 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Jaksa Tuntut Burhanuddin Abdullah Hukuman Seumur Hidup]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_88_Jaksa-Tuntut-Burhanuddin-Abdullah-Hukuman-Seumur-Hidup.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_88_Jaksa-Tuntut-Burhanuddin-Abdullah-Hukuman-Seumur-Hidup.html]]></guid>
<description><![CDATA[Setelah ditahan sejak April, Rabu pekan lalu, Burhanuddin Abdullah (61)  menghadapi sidang pertamanya. Mantan Gubernur Bank Indonesia itu didakwa telah menyetujui penggunaan dana Bank Indonesia yang berada di Yayasan Lembaga Pengembangan Perbankan Indonesia untuk penyelesaian kasus Bantuan Likuiditas Bank Indonesia. Jaksa mendakwa Burhanuddin menyalahgunakan Rp 100 miliar milik Yayasan yang dikeluarkan atas dasar keputusan rapat Dewan Gubernur Bank Indonesia pada 3 Juni 2003. Pengambilan dana tanpa melalui mekanisme sistem anggaran bank sentral ini sudah termasuk dalam bentuk berbau korupsi. Menurut jaksa K.M.S Roni, terdakwa mengijinkan mantan Direktur Hukum Bank Indonesia Oey Hoey Tiong dan mantan Kepala Biro Gubernur Bank Indonesia Rusli Simanjuntak untuk mengalirkan dana sebesar Rp 15 miliar kepada anggota Dewan Perwakilan Rakyat (DPR) Antony Zeidra Abidin dan Hamka Yandhu. Burhanuddin menyatakan rapat Dewan Gubernur yang dipimpinnya ketika itu absah. “Substansinya tidak menyimpang dan didorong niat baik,” ujar Burhanuddin. Sementara itu, penasehat hukum terdakwa menyatakan bahwa dana yang diambil dari Yayasan merupakan bentuk dari pinjaman. Mantan Menteri Koordinator Perekonomian ini terancam hukuman seumur hidup.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 14:07:31 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Satu Mahasiswa Unas Meninggal]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_87_Satu-Mahasiswa-Unas-Meninggal.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_87_Satu-Mahasiswa-Unas-Meninggal.html]]></guid>
<description><![CDATA[Setelah sempat ditahan selama beberapa hari dan mengeluh sakit akibat pemukulan yang diterimanya saat aksi penyerbuan aparat kepolisian kedalam kampus Unas, Mahtuf Fauzi mahasiswa Unas akhirnya meninggal dunia, Jumat (20/6). Sebelum meninggal Maftuh sempat dirawat di Rumah Sakit Pusat Pertamina. Pihak rumah sakit menyatakan Maftuh meninggal akibat infeksi menyeluruh sehingga organ tubuhnya tak berfungsi. Maftuh meninggal pada usia 27 tahun. Mahasiswa angkatan 2003 ini dirawat di RSPP sejak 18 Juni lalu. Maftuh termasuk 31 mahasiswa yang paling akhir dibebaskan Kepolisian Resor Jakarta Selatan setelah insiden penyerangan kampus Unas. Empat hari setelah dibebaskan ia langsung dirawat di RS Universitas Kristen Indonesia lalu dirujuk ke RSPP. Kematian Maftuh langsung disambut aksi keprihatinan rekan-rekannya. Tak pelak, aksi keprihatinan tersebut membuahkan demonstrasi yang dilakukan oleh ratusan mahasiswa Unas yang menuntut tanggungjawab pihak kepolisian atas kematian rekan mereka. Insiden Unas berawal dari unjuk rasa mahasiswa menolak kenaikan harga bahan bakar minyak. Unjuk rasa yang berlangsung hingga dini hari berakhir dengan kericuhan. Polisi merangsek masuk ke dalam kampus dengan alasan diserang terlebih dulu oleh mahasiswa. Komisi Nasional Hak Asasi Manusia menyatakan telah terjadi pelanggaran hak asasi manusia dalam insiden Unas.

]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 13:02:42 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Tersangka Baru Kasus Munir Tertangkap]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_86_Tersangka-Baru-Kasus-Munir-Tertangkap.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_86_Tersangka-Baru-Kasus-Munir-Tertangkap.html]]></guid>
<description><![CDATA[Kembali, satu orang menjadi tersangka dalam kasus pembunuhan aktivis HAM Munir. Tersangka baru tersebut adalah orang yang selama ini sering disebut-sebut dalam proses penyelidikan hingga persidangan. Menurut wakil ketua Tim Pencari Fakta (TPF), Asmara Nababan penetapan tersangka baru ini bukan merupakan “ujung jalan” dari upaya mengungkap aktor intelektual di balik pembunuhan Munir. Diibaratkan keberadaan tersangka baru tersebut layaknya pintu gerbang menuju fakta-fakta baru mengenai dimana pembunuh Munir yang sebenarnya bersembunyi. Berkas penuntutan tersangka baru dalam kasus pembunuhan ini sendiri segera dilimpahkan ke Kejaksaan Agung. Tersangka baru tersebut merupakan pensiunan dari sebuah institusi yang perannya dalam kasus ini sebagai pihak yang turut merencanakan pembunuhan Munir. Semakin dekatnya rencana penangkapan tersangka baru inimembuat jajaran Bareskrim Polri sibuk mempersiapkan diri. Hal itu sudah terlihat beberapa hari belakangan saat beberapa anggota Brimob hilir mudik di Bareskrim. Dan Jumat (20/6), Mayjend (purn) Muchdi PR yang telah dicurigai oleh pihak Kepolisian akhirnya ditahan. Kepala Badan Reserse Kriminal Mabes Polri Konjen Bambang Hendarso mengatakan bahwa Muchdi menyerahkan diri dengan sangat kooperatif kepada penyidik. Muchdi dijerat pasal 340 juncto pasal 55 tentang pembunuhan berencana. Sementara, tim pengacara Muchdi, Achmad Cholid menegaskan, kliennya datang sendiri ke Mabes Polri untuk memenuhi undangan. “Jadi perlu diluruskan, pak Muchdi tidak ditangkap. Dia datang sendiri memenuhi panggilan,” ujar Achmad Cholid.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 12:01:02 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Indonesia-Australia Menguatkan Kerjasama Antiterorisme]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_85_Indonesia-Australia-Menguatkan-Kerjasama-Antiterorisme.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_85_Indonesia-Australia-Menguatkan-Kerjasama-Antiterorisme.html]]></guid>
<description><![CDATA[Perdana Menteri Australia Kevin Michael Rudd mengunjungi Indonesia dalam rangka pertemuan bilateral Indonesia-Australia, Jumat (13/06). Dalam kunjungan kenegaraannya ke Jakarta, PM Rudd menemui Presiden Susilo Bambang Yudhoyono untuk membicarakan peningkatan kerjasama diplomatik, ekonomi, pendidikan, perubahan iklim, pertahanan keamanan, serta kerjasama bilateral untuk mengatasi krisis energi dan pangan, termasuk juga membicarakan masalah peringatan berpergian (travel warning). “Kita sahabat yang menjalin persahabatan dengan baik dan kuat juga dalam wajah baru,” ungkap PM Rudd saat jumpa pers bersama Presiden SBY. Presiden SBY mengatakan dari pertemuan ini menghasilkan kesepakatan untuk melanjutkan kerjasama yang semakin baik, semakin kuat dan terus berkembang. Untuk masalah peringatan berpergian (travel warning) yang sejauh ini masih diterapkan oleh pemerintah Australia masih belum dicabut oleh negara tersebut karena hal itu merupakan kewenangan lembaga independen di bidang pariwisata. PM Rudd mengatakan bahwa masalah travel warning ini masih sangat sensitif bagi warga Australia. Tentu ini berpengaruh pada kebijakan negara Australia sendiri yang wajib melindungi warga negaranya. Namun, disampaikannya lagi, kerjasama kedua negara di bidang ini sangat baik dan akan terus berlangsung. Sementara itu, Presiden SBY memaklumi atas belum dicabutnya peringatan tersebut dan meyakinkan bahwa keamanan Indonesia saat ini sudah sangat baik. Dengan adanya perhatian yang sangat serius dalam upaya pencegahan terorisme sejak peristiwa Bom Bali dan bom di depan Kedubes Australia, Indonesia semakin meningkatkan kerjasama internasional antiterorisme.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 11:00:44 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[SKB Ahmadiyah Keluar]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_84_SKB-Ahmadiyah-Keluar.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_84_SKB-Ahmadiyah-Keluar.html]]></guid>
<description><![CDATA[Setelah munculnya pergulatan panjang pada kasus Ahmadiyah hingga menjadi isu nasional yang telah menimbulkan banyak kerugian, akhirnya pemerintah menerbitkan Surat Keputusan Bersama (SKB) yang telah disetujui oleh  Menteri Agama, Menteri Dalam Negeri dan Jaksa Agung. Isi dari keputusan tersebut antara lain, 1. Memberi peringatan dan memerintahkan warga masyarakat untuk tidak menceritakan, menganjurkan, atau mengusahakan dukungan umum melakukan penafsiran tentang suatu agama yang dianut di Indonesia atau melakukan kegiatan keagamaan yang menyerupai kegiatan keagamaan dari agama itu yang menyimpang dari pokok-pokok ajaran itu. 2. Memberi peringatan dan memerintahkan kepada penganut, anggota, dan/atau anggota pengurus JAI sepanjang mengaku beragama Islam untuk menghentikan penyebaran penafsiran dan kegiatan yang menyimpang dari pokok-pokok ajaran Islam, yaitu penyebaran paham yang mengakui adanya nabi dengan segala ajarannya setelah Nabi Muhammad SAW. 3. Penganut, anggota, dan/atau anggota pengurus JAI yang tidak mengindahkan peringatan dan perintah sebagaimana dimaksud pada diktum kesatu dan diktum kedua dapat dikenai sanksi sesuai ketentuan peraturan perundang-undangan, termasuk organisasi dan badan hukumnya. 4. Memberi peringatan dan memerintahkan warga masyarakat untuk menjaga dan memelihara kerukunan umat beragama serta ketenteraman dan ketertiban kehidupan bermasyarakat dengan tidak melakukan perbuatan dan/atau tindakan melawan hukum terhadap penganut, anggota, dan/atau anggota pengurus JAI. 5. Warga masyarakat yang tidak mengindahkan peringatan dan perintah sebagaimana dimaksud pada diktum kesatu dan diktum keempat dapat dikenai sanksi sesuai ketentuan peraturan perundang-undangan. 6. Memerintahkan aparat pemerintah dan pemerintah daerah melakukan langkah-langkah pembinaan dalam rangka pengamanan dan pengawasan pelaksanaan Keputusan Bersama ini. Menteri Agama Maftuh Basyuni dalam jumpa persnya bersama Menteri Dalam Negeri Mardiyanto dan Jaksa Agung Hendarman Supandji, mengatakan “Sepanjang mengakui Islam harus konsisten melaksanakan ajaran Islam.”]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 10:00:01 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Qtel Menguasai Indosat]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_83_Qtel-Menguasai-Indosat.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_83_Qtel-Menguasai-Indosat.html]]></guid>
<description><![CDATA[Setelah pemerintah Indonesia menjual aset negara yaitu PT Indosat, Tbk kepada PT Singapore Technologies Telemedia Pte Ltd pada tahun 2002 lalu, sekarang perusahaan operator seluler terbesar kedua seluruh Indonesia itu dijual kepada Qatar Telecom (Qtel). Perusahaan telekomunikasi milik pemerintah Qatar itu telah membeli 40,81 persen saham Indosat dari Asia Mobile Holdings Company Pte.Ltd yang merupakan anak perusahaan Singapore Technologies Telemedia (STT) dengan harga Sin$ 2,4 milyar atau sekitar Rp 16 triliun. “Harga tender offer itu berkisar Rp 7.388 per lembar, sama dengan pembelian saham milik STT,” ujar Direktur Utama Qatar Telecom Nasser Marafih ketika datang ke Jakarta. Pasca akuisisi, Qtel menjadi pemegang saham terbesar di Indosat setelah pemerintah Indonesia sebanyak 14,29 persen dan JP Morgan Case Bank sebesar 8,5 persen. Dengan melepas saham seharga 7.388 kepada Qtel, STT meraih keuntungan Rp 11,18 triliun diluar pembagian dividen sejak tahun 2003-2007. Jadi total keuntungan yang diterima adalah sebesar Rp 12,48 triliun. Menurut Menteri Negara Badan Usaha Milik Negara Sofyan Djalil terjualnya saham Indosat kepada Qtel bisa semakin melancarkan investasi dari Timur Tengah ke Indonesia dan dia juga menegaskan pemerintah Indonesia tidak mempersoalkan adanya penjualan saham Indosat. Bahkan pemerintah menyambut gembira atas kehadiran Qtel di Indonesia.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 08:54:05 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Comic for August 30, 2008]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_82_Comic-for-August-30-2008.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_82_Comic-for-August-30-2008.html]]></guid>
<description><![CDATA[<img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/2000/200/22375/22375.strip.print.gif" border="0" />
<p><a rel="nofollow" href="http://feedads.googleadservices.com/~a/vXIsfjHtZif_X0qZd7uvMpk0XVI/a"><img src="http://feedads.googleadservices.com/~a/vXIsfjHtZif_X0qZd7uvMpk0XVI/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/DilbertDailyStrip/~4/ACV23ozVRfk" height="1" width="1"/>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 08:53:44 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[AdamAir Resmi Bangkrut]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_81_AdamAir-Resmi-Bangkrut.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_81_AdamAir-Resmi-Bangkrut.html]]></guid>
<description><![CDATA[ Pengadilan Niaga dan Pengadilan Negeri Jakarta Pusat akhirnya memutuskan bahwa maskapai penerbangan swasta nasional AdamAir pailit. Keputusan tersebut disampaikan oleh Ketua Majelis Hakim Makkasau, “Syarat pailit termohon (AdamAir) terpenuhi, karena itu permohonan pailit dikabulkan.” Ujarnya. Keputusan pailit tersebut memperlihatkan bahwa AdamAir masih mempunyai utang sejumlah Rp 29.375.000 kepada CV Cici yang bertindak sebagai pemohon pailit. CV Cici merupakan penyedia jasa antarjemput awak kabin AdamAir saat maskapai tersebut masih beroperasi. Selain itu, AdamAir juga masih memiliki hutang kepada enam kreditor antara lain, PT Global, PT Jaya Makmur, PT Mafati Indonesia, Toko Bintang Waris Warna, PT Wijaya Motor dan PT Pendawa Oto. Total hutang AdamAir kepada kreditor-kreditor sebesar Rp 300 juta yang belum dilunasi. Belum lagi tunggakan gaji 2.999 karyawan yang belum dibayar sejak April 2008 hingga mencapai Rp  80 milyar. Berkenaan dengan masalah tersebut, Gustiono Kustianto yang menjadi perwakilan Global Transport Service (GTS) yang menjabat sebagai Wakil Direktur Utama dan Direktur Keuangan termasuk juga sebagai pemilik saham sebesar 19 persen di maskapai ini menjelaskan, meskipun perusahaan tersebut sudah dinyatakan pailit, pihaknya tetap melanjutkan gugatan pidana kepada pemegang saham pendiri AdamAir yaitu Adam Suherman yang memiliki 50 persen saham.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 07:49:22 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Comic for August 29, 2008]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_80_Comic-for-August-29-2008.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_80_Comic-for-August-29-2008.html]]></guid>
<description><![CDATA[<img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/2000/200/22374/22374.strip.print.gif" border="0" />
<p><a rel="nofollow" href="http://feedads.googleadservices.com/~a/b3lb-zF5O8yPERtpmj9zaHXuqiU/a"><img src="http://feedads.googleadservices.com/~a/b3lb-zF5O8yPERtpmj9zaHXuqiU/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/DilbertDailyStrip/~4/9FnKfn29OYI" height="1" width="1"/>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 07:49:05 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Pemerintah Cabut Pajak Reksa Dana]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_79_Pemerintah-Cabut-Pajak-Reksa-Dana.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_79_Pemerintah-Cabut-Pajak-Reksa-Dana.html]]></guid>
<description><![CDATA[Pemerintah mencabut usulan pajak final reksa dana karena banyak ditentang oleh masyarakat investor. Demikian yang disampaikan Dirjen Pajak Darmin Nasution. Menurutnya lagi, dengan pembatalan pajak final maka ketentuan perpajakan bagi reksa dana tetap mengacu pada peraturan yang saat ini berlaku. Awalnya, pemerintah mengajukan usul untuk memberlakukan pajak final terhadap produk reksa dana sebesar 0,05 persen, dengan kata lain, pemerintah akan mengenakan pajak sebesar itu apabila investor mencairkan dananya dari produk reksa dana tersebut. Namun, para manajer investasi menolak pemberlakuan pajak tersebut karena mereka menganggap dapat menghambat pertumbuhan reksa dana, pengenaan pajak tersebut membuat kupon obligasi menjadi lebih mahal. Seperti diketahui, reksa dana dibawah lima tahun yang berbasis obligasi atau reksa dana berpendapatan tetap dan reksa dana berdana campuran termasuk bebas pajak. Pajak baru diberlakukan setelah berusia lima tahun. Oleh sebab itu, para manajer investasi menyiasatinya dengan menutup program reksa dana pendapatan tetap menjelang umur lima tahun. Ketua Umum Asosiasi Pengelola Reksa Dana Indonesia (APRDI) Abiprayadi Riyanto menjelaskan, jika dikenai pajak final investor bakal enggan untuk investasi pada reksa dana karena pengembalian dana (return) yang diperoleh tidak menarik. Karena return reksa dana dibawah lima tahun menjadi relatif kecil akibat potongan pajak. Padahal return saat ini sangat menarik sehingga mendorong industri reksa dana untuk bangkit kembali.]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 06:44:07 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Comic for August 28, 2008]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_78_Comic-for-August-28-2008.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_78_Comic-for-August-28-2008.html]]></guid>
<description><![CDATA[<img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/2000/200/22373/22373.strip.print.gif" border="0" />
<p><a rel="nofollow" href="http://feedads.googleadservices.com/~a/ki8e930mmj10lgq4718mu6mfvg/a"><img src="http://feedads.googleadservices.com/~a/ki8e930mmj10lgq4718mu6mfvg/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/DilbertDailyStrip/~4/iE1IgzQfFus" height="1" width="1"/>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 06:43:51 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Buruknya Laporan Keuangan Pemerintah]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_77_Buruknya-Laporan-Keuangan-Pemerintah.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_77_Buruknya-Laporan-Keuangan-Pemerintah.html]]></guid>
<description><![CDATA[<p>Dalam kurun waktu empat tahun berturut-turut, laporan keuangan pemerintah belum juga menunjukkan peningkatan dalam hal transparansi keuangan. Hal ini membuat Badan Pemeriksa Keuangan (BPK) terpaksa kembali memberikan opini disclaimer (tidak menyatakan pendapat). Ketua Badan Pemeriksa Keuangan Anwar Nasution menyebutkan ada beberapa alasan pokok yang menyebabkan BPK memberikan opini disclaimer pada Laporan Keuangan Pemerintah Pusat (LKPP) 2004-2007. Pertama, terbatasnya akses BPK atas informasi penerimaan dan piutang pajak serta biaya perkara yang dipungut Mahkamah Agung. Kedua, kelemahan sistem akuntansi dan pelaporan keuangan negara, termasuk terbatasnya SDM pengelola keuangan di pusat dan daerah. Ketiga, belum tertibnya penempatan uang negara dan belum adanya single treasury account pemerintah. Keempat, tidak adanya inventarisasi aset serta utang maupun piutang negara. Kelima, sistem teknologi informasi yang kurang andal dan tidak terintegrasi. Keenam, kelemahan sistem pengendalian internal pemerintah yang belum mampu meninjau ulang kebenaran laporan keuangan sebelum diperiksa BPK. Dan ketujuh, adanya ketidakpatuhan terhadap ketentuan peraturan perundang-undangan karena masih terdapat penerimaan dan pengeluaran di luar mekanisme APBN. Selain LKPP 2007 yang dinyatakan disclaimer, BPK mendapatkan kualitas laporan keuangan kementerian dan lembaga negara dan laporan keuangan pemerintah daerah dalam tiga tahun terakhir memiliki tendensi semakin buruk dari tahun ke tahun.</p>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 05:36:50 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Comic for August 27, 2008]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_76_Comic-for-August-27-2008.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_76_Comic-for-August-27-2008.html]]></guid>
<description><![CDATA[<img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/2000/200/22372/22372.strip.print.gif" border="0" />
<p><a rel="nofollow" href="http://feedads.googleadservices.com/~a/7op85m4ivlgitgt2nelpmjbb64/a"><img src="http://feedads.googleadservices.com/~a/7op85m4ivlgitgt2nelpmjbb64/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/DilbertDailyStrip/~4/D_eKb3gyOG0" height="1" width="1"/>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 05:36:36 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Kemelut Malut yang Tak Kunjung Usai]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_75_Kemelut-Malut-yang-Tak-Kunjung-Usai.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_75_Kemelut-Malut-yang-Tak-Kunjung-Usai.html]]></guid>
<description><![CDATA[Hasil Pilkada Provinsi Maluku Utara (Malut) masih saja belum terselesaikan. Setelah pengumuman pemerintah melalui Menteri Dalam Negeri tentang pemenang pilkada di Provinsi Maluku Utara yang diraih oleh pasangan Thaib Armaiyn dan Abdul Gani Kasuba, (2/6) ternyata membawa persoalan bagi kemelut maluku utara. Ada kecurigaan salah satu pasangan telah melakukan kecurangan di salah satu kabupaten yaitu Halmahera barat dengan tiga kecamatan. Karena terjadi polemik dan masalah yang tidak bisa diselesaikan di Ternate, oleh KPU Pusat diambil alih ke Jakarta. Beberapa hari sebelum masalah ditarik ke KPU pusat, KPU di Malut membekukan KPUD Halmahera Barat yang oleh KPU Malut dinilai tidak mampu menyelesaikan konflik yang terjadi di Halmahera barat. Pada rapat di KPU Pusat, KPU menonaktifkan Rahmi Husen dan Nurbaya Soleman. Selain itu KPU pusat menunjuk Mukhlis Tapitapi sebagai pelaksana KPU Malut sementara. Pada saat bersamaan ada gugatan dari pasangan Thaib Armain- Gani Kasuba di Mahkamah Agung yang meminta fatwa kepada Mahkamah Agung (MA). MA memberi fatwa agar dilakukan penghitungan ulang di Kabupaten Halmahera Barat terutama di tiga kecamatan. Rahmi Husen dan Nurbaya Soleman yang dinonaktifkan oleh KPU tidak menerima keputusan itu. Lalu muncul penghitungan suara ulang yang dilakukan oleh ketua KPU non aktif Rahmi Husen dan Nurbaya Soleman. Tapi KPU Pusat tidak menerima hal ini karena mereka sudah dinonaktifkan, dan yang harus melaksanakan adalah Mukhlis Tapitapi. Waktu itu ada keputusan menteri dalam negeri bahwa kasus Pilkada Malut dikembalikan ke DPRD Malut. Ini juga karena ada dua versi usulan yang disampaikan dari DPRD Maluku Utara. Ada satu versi usulan untuk melantik pasangan Thaib Armain-Abdul Gani Kasuba tapi ada surat dari DPRD Malut yang lain dan ditandatangani oleh ketua DPR juga yang dalam surat itu mengusulkan Mendagri melantik pasangan Abdul Gafur- Abdul Rahim Fabanyo sebagai gubernur terpilih Malut. Jadi dari KPU terdapat dua versi dan dari DPRD ada dua versi. Ini yang menyebabkan berlarut-larut.

]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 04:26:10 GMT]]></pubDate>
</item>
<item>
<title><![CDATA[Comic for August 26, 2008]]></title>
<link><![CDATA[http://indraprasetya.info/blog_view_74_Comic-for-August-26-2008.html]]></link>
<guid isPermaLink="true"><![CDATA[http://indraprasetya.info/blog_view_74_Comic-for-August-26-2008.html]]></guid>
<description><![CDATA[<img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/2000/200/22371/22371.strip.print.gif" border="0" />
<p><a rel="nofollow" href="http://feedads.googleadservices.com/~a/e28ar79pu3dbajj1ribh5sqsgo/a"><img src="http://feedads.googleadservices.com/~a/e28ar79pu3dbajj1ribh5sqsgo/i" border="0" ismap="true"></img></a></p><img src="http://feedproxy.google.com/~r/DilbertDailyStrip/~4/qzUd2jGlSRk" height="1" width="1"/>]]></description>
<pubDate><![CDATA[Sun, 31 Aug 2008 04:25:59 GMT]]></pubDate>
</item>
</channel>
</rss>