Initial Import
diff --git a/user_guide/helpers/array_helper.html b/user_guide/helpers/array_helper.html
new file mode 100644
index 0000000..d719be9
--- /dev/null
+++ b/user_guide/helpers/array_helper.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Array Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Array Helper</h1>

+

+<p>The Array Helper file contains functions that assist in working with arrays.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('array');</code>

+

+<p>The following functions are available:</p>

+

+

+<h2>random_element()</h2>

+

+<p>Takes an array as input and returns a random element from it.  Usage example:</p>

+

+<code>$quotes = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"I find that the harder I work, the more luck I seem to have. - Thomas Jefferson",<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Don't stay in bed, unless you can make money in bed. - George Burns",<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"We didn't lose the game; we just ran out of time. - Vince Lombardi",<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"If everything seems under control, you're not going fast enough. - Mario Andretti",<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Reality is merely an illusion, albeit a very persistent one. - Albert Einstein",<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Chance favors the prepared mind - Louis Pasteur"<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo random_element($quotes);</code>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="../libraries/xmlrpc.html">XML-RPC Class</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="cookie_helper.html">Cookie Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/cookie_helper.html b/user_guide/helpers/cookie_helper.html
new file mode 100644
index 0000000..3152fc3
--- /dev/null
+++ b/user_guide/helpers/cookie_helper.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Cookie Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Cookie Helper</h1>

+

+<p>The Cookie Helper file contains functions that assist in working with cookies.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('cookie');</code>

+

+<p>The following functions are available:</p>

+

+<h2>set_cookie()</h2>

+

+<p>Sets a cookie containing the values you specify.  There are two ways to pass information this function so that a cookie can be set:

+Arrray Method, and Discreet Parameters:</p>

+

+<h4>Array Method</h4>

+

+<p>Using this method, an associative array is passed to the first parameter:</p>

+

+<code>$cookie = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name'&nbsp;&nbsp;&nbsp;=> 'The Cookie Name',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'value'&nbsp;&nbsp;=> 'The Value',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'expire' => '86500',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'domain' => '.some-domain.com',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'path'&nbsp;&nbsp;&nbsp;=> '/',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'prefix' => 'myprefix_',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+set_cookie($cookie);

+</code>

+

+<p><strong>Notes:</strong></p>

+

+<p>Only the name and value are required.</p>

+

+<p>The expiration is set in <strong>seconds</strong>, which will be added to the current time.  Do not include the time, but rather only the

+number of seconds from <em>now</em> that you wish the cookie to be valid.  If the expiration is set to 

+zero the cookie will only last as long as the browser is open.</p>

+<p>To delete a cookie set it with the expiration blank.</p>

+<p>For site-wide cookies regardless of how your site is requested, add your URL to the <strong>domain</strong> starting with a period, like this:  .your-domain.com</p>

+<p>The path is usually not needed since the function sets a root path.</p>

+<p>The prefix is only needed if you need to avoid name collisions with other identically named cookies for your server.</p>

+

+<h4>Discreet Parameters</h4>

+

+<p>If you prefer, you can set the cookie by passing data using individual parameters:</p>

+

+<code>set_cookie($name, $value, $expire, $domain, $path, $prefix);</code>

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="array_helper.html">Array Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="date_helper.html">Date Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/date_helper.html b/user_guide/helpers/date_helper.html
new file mode 100644
index 0000000..b25f249
--- /dev/null
+++ b/user_guide/helpers/date_helper.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Directory Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Date Helper</h1>

+

+<p>The Date Helper file contains functions that help you work with dates.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('date');</code>

+

+

+<p>The following functions are available:</p>

+

+<h2>now()</h2>

+

+<p>Returns the current time as a Unix timestamp, referenced either to your server's local time or GMT, based on the "time reference"

+setting in your config file.  If you do not intend to set your master time reference to GMT (which you'll typically do if you

+run a site that lets each user set their own timezone settings) there is no benefit to using this function over PHP's time() function.

+</p>

+

+

+

+

+<h2>mdate()</h2>

+

+<p>This function is identical to PHPs <a href="http://www.php.net/date">date()</a> function, except that it lets you 

+use MySQL style date codes, where each code letter is preceded with a percent sign:  %Y %m %d etc.</p>

+

+<p>The benefit of doing dates this way is that you don't have to worry about escaping any characters that

+are not date codes, as you would normally have to do with the date() function.  Example:</p>

+

+<code>$datestring = "Year: %Y Month: %m Day: %d - %h:%i %a";<br />

+$time = time();<br />

+<br />

+echo mdate($datestring, $time);</code>

+

+<p>If a timestamp is not included in the second parameter the current time will be used.</p>

+

+

+<h2>local_to_gmt()</h2>

+

+<p>Takes a Unix timestamp as input and returns it as GMT.  Example:</p>

+

+<code>$now = time();<br />

+<br />

+$gmt = local_to_gmt($now);</code>

+

+

+<h2>gmt_to_local()</h2>

+

+<p>Takes a Unix timestamp (referenced to GMT) as input, and converts it to a localized timestamp based on the 

+timezone and Daylight Saving time submitted.  Example:</p>

+

+<code>

+$timestamp = '1140153693';<br />

+$timezone  = 'UM8';<br />

+$daylight_saving = TRUE;<br />

+<br />

+echo gmt_to_local($timestamp, $timezone, daylight_saving);</code>

+

+<p><strong>Note:</strong> For a list of timezones see the reference at the bottom of this page.</p>

+

+<h2>mysql_to_unix()</h2>

+

+<p>Takes a MySQL Timestamp as input and returns it as Unix. Example:</p>

+

+<code>$mysql = '20061124092345';<br />

+<br />

+$unix = mysql_to_unix($mysql);</code>

+

+

+<h2>unix_to_human()</h2>

+

+<p>Takes a Unix timestamp as input and returns it in a human readable format with this prototype:</p>

+

+<code>YYYY-MM-DD HH:MM:SS AM/PM</code>

+

+<p>This can be useful if you need to display a date in a form field for submission.</p>

+

+<p>The time can be formatted with or without seconds, and it can be set to European or US format.  If only 

+the timestamp is submitted it will return the time without seconds formatted for the U.S. Examples:

+

+<code>$now = time();<br />

+<br />

+echo unix_to_human($now); // U.S. time, no seconds<br />

+<br />

+echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds<br />

+<br />

+echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds</code>

+

+

+<h2>human_to_unix()</h2>

+

+<p>The opposite of the above function.  Takes a "human" time as input and returns it as Unix.  This function is 

+useful if you accept "human" formatted dates submitted via a form.  Returns FALSE (boolean) if 

+the date string passed to it is not formatted as indicated above.  Example:</p>

+

+<code>$now = time();<br />

+<br />

+$human = unix_to_human($now);<br />

+<br />

+$unix = human_to_unix($human);</code>

+

+

+

+

+

+<h2>timespan()</h2>

+

+<p>Formats a unix timestamp so that is appears similar to this:</p>

+

+<code>1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes</code>

+

+<p>The first parameter must contain a Unix timestamp.  The second parameter must contain a

+timestamp that is greater that the first timesamp.  If the second parameter empty, the current time will be used.  The most common purpose

+for this function is to show how much time has elapsed from some point in time in the past to now.  Example:</p>

+

+<code>$post_date = '1079621429';<br />

+$now = time();<br />

+<br />

+echo timespan($post_date, $now);</code>

+

+<p class="important"><strong>Note:</strong> The text generated by this function is found in the following language file: language/&lt;your_lang&gt;/date_lang.php</p>

+

+

+<h2>days_in_month()</h2>

+

+<p>Returns the number of days in a given month/year. Takes leap years into account.  Example:</p>

+<code>echo days_in_month(06, 2005);</code>

+

+<p>If the second parameter is empty, the current year will be used.</p>

+

+

+

+<h2>timezone_menu()</h2>

+

+<p>Generates a pull-down menu of timezones, like this one:</p>

+

+<form>

+<select name="timezones">

+<option value='UM12'>(UTC - 12:00) Enitwetok, Kwajalien</option>

+<option value='UM11'>(UTC - 11:00) Nome, Midway Island, Samoa</option>

+<option value='UM10'>(UTC - 10:00) Hawaii</option>

+<option value='UM9'>(UTC - 9:00) Alaska</option>

+<option value='UM8'>(UTC - 8:00) Pacific Time</option>

+<option value='UM7'>(UTC - 7:00) Mountain Time</option>

+<option value='UM6'>(UTC - 6:00) Central Time, Mexico City</option>

+<option value='UM5'>(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</option>

+<option value='UM4'>(UTC - 4:00) Atlantic Time, Caracas, La Paz</option>

+<option value='UM25'>(UTC - 3:30) Newfoundland</option>

+<option value='UM3'>(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</option>

+<option value='UM2'>(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</option>

+<option value='UM1'>(UTC - 1:00) Azores, Cape Verde Islands</option>

+<option value='UTC' selected='selected'>(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</option>

+<option value='UP1'>(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</option>

+<option value='UP2'>(UTC + 2:00) Kaliningrad, South Africa, Warsaw</option>

+<option value='UP3'>(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</option>

+<option value='UP25'>(UTC + 3:30) Tehran</option>

+<option value='UP4'>(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</option>

+<option value='UP35'>(UTC + 4:30) Kabul</option>

+<option value='UP5'>(UTC + 5:00) Islamabad, Karachi, Tashkent</option>

+<option value='UP45'>(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</option>

+<option value='UP6'>(UTC + 6:00) Almaty, Colomba, Dhakra</option>

+<option value='UP7'>(UTC + 7:00) Bangkok, Hanoi, Jakarta</option>

+<option value='UP8'>(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</option>

+<option value='UP9'>(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</option>

+<option value='UP85'>(UTC + 9:30) Adelaide, Darwin</option>

+<option value='UP10'>(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</option>

+<option value='UP11'>(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</option>

+<option value='UP12'>(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</option>

+</select>

+</form>

+

+<p>This menu is useful if you run a membership site in which your users are allowed to set their local timezone value.</p>

+

+<p>The first paramater lets you set the "selected" state of the menu.  For example, to set Pacific time as the default you will do this:</p>

+

+<code>echo timezone_menu('UM8');</code>

+

+<p>Please see the timezone reference below to see the values of this menu.</p>

+

+<p>The second parameter lets you set a CSS class name for the menu.</p>

+

+<p class="important"><strong>Note:</strong> The text contained in the menu is found in the following language file: language/&lt;your_lang&gt;/date_lang.php</p>

+

+

+

+<h2>Timezone Reference</h2>

+

+<p>The following table indicates each timezone and its location.</p>

+

+<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">

+<tr>

+<th>Time Zone</th>

+<th>Location</th>

+</tr><tr>

+

+<td class="td">UM12</td><td class="td">(UTC - 12:00) Enitwetok, Kwajalien</td>

+</tr><tr>

+<td class="td">UM11</td><td class="td">(UTC - 11:00) Nome, Midway Island, Samoa</td>

+</tr><tr>

+<td class="td">UM10</td><td class="td">(UTC - 10:00) Hawaii</td>

+</tr><tr>

+<td class="td">UM9</td><td class="td">(UTC - 9:00) Alaska</td>

+</tr><tr>

+<td class="td">UM8</td><td class="td">(UTC - 8:00) Pacific Time</td>

+</tr><tr>

+<td class="td">UM7</td><td class="td">(UTC - 7:00) Mountain Time</td>

+</tr><tr>

+<td class="td">UM6</td><td class="td">(UTC - 6:00) Central Time, Mexico City</td>

+</tr><tr>

+<td class="td">UM5</td><td class="td">(UTC - 5:00) Eastern Time, Bogota, Lima, Quito</td>

+</tr><tr>

+<td class="td">UM4</td><td class="td">(UTC - 4:00) Atlantic Time, Caracas, La Paz</td>

+</tr><tr>

+<td class="td">UM25</td><td class="td">(UTC - 3:30) Newfoundland</td>

+</tr><tr>

+<td class="td">UM3</td><td class="td">(UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.</td>

+</tr><tr>

+<td class="td">UM2</td><td class="td">(UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena</td>

+</tr><tr>

+<td class="td">UM1</td><td class="td">(UTC - 1:00) Azores, Cape Verde Islands</td>

+</tr><tr>

+<td class="td">(UTC</td><td class="td">(UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</td>

+</tr><tr>

+<td class="td">UP1</td><td class="td">(UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome</td>

+</tr><tr>

+<td class="td">UP2</td><td class="td">(UTC + 2:00) Kaliningrad, South Africa, Warsaw</td>

+</tr><tr>

+<td class="td">UP3</td><td class="td">(UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi</td>

+</tr><tr>

+<td class="td">UP25</td><td class="td">(UTC + 3:30) Tehran</td>

+</tr><tr>

+<td class="td">UP4</td><td class="td">(UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi</td>

+</tr><tr>

+<td class="td">UP35</td><td class="td">(UTC + 4:30) Kabul</td>

+</tr><tr>

+<td class="td">UP5</td><td class="td">(UTC + 5:00) Islamabad, Karachi, Tashkent</td>

+</tr><tr>

+<td class="td">UP45</td><td class="td">(UTC + 5:30) Bombay, Calcutta, Madras, New Delhi</td>

+</tr><tr>

+<td class="td">UP6</td><td class="td">(UTC + 6:00) Almaty, Colomba, Dhakra</td>

+</tr><tr>

+<td class="td">UP7</td><td class="td">(UTC + 7:00) Bangkok, Hanoi, Jakarta</td>

+</tr><tr>

+<td class="td">UP8</td><td class="td">(UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei</td>

+</tr><tr>

+<td class="td">UP9</td><td class="td">(UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</td>

+</tr><tr>

+<td class="td">UP85</td><td class="td">(UTC + 9:30) Adelaide, Darwin</td>

+</tr><tr>

+<td class="td">UP10</td><td class="td">(UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok</td>

+</tr><tr>

+<td class="td">UP11</td><td class="td">(UTC + 11:00) Magadan, New Caledonia, Solomon Islands</td>

+</tr><tr>

+<td class="td">UP12</td><td class="td">(UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island</td>

+</tr>

+</table>

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="cookie_helper.html">Cookie Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="directory_helper.html">Directory Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/directory_helper.html b/user_guide/helpers/directory_helper.html
new file mode 100644
index 0000000..803bb4c
--- /dev/null
+++ b/user_guide/helpers/directory_helper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Directory Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Directory Helper</h1>

+

+<p>The Directory Helper file contains functions that assist in working with directories.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('directory');</code>

+

+<p>The following functions are available:</p>

+

+<h2>directory_map('<var>source directory</var>')</h2>

+

+<p>This function reads the directory path specified in the first parameter

+and builds an array representation of it and all its contained files. Example:</p>

+

+<code>$map = directory_map('./mydirectory/');</code>

+

+<p class="important"><strong>Note:</strong> Paths are almost always relative to your main index.php file.</p>

+

+

+

+<p>Sub-folders contained within the directory will be mapped as well.  If you wish to map

+only the top level directory set the second parameter to <var>true</var> (boolean):</p>

+

+<code>$map = directory_map('./mydirectory/', TRUE);</code>

+

+<p>Each folder name will be an array index, while its contained files will be numerically indexed. 

+Here is an example of a typical array:</p>

+

+<code>Array<br />

+(<br />

+&nbsp;&nbsp;&nbsp;[libraries] => Array<br />

+&nbsp;&nbsp;&nbsp;(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] => benchmark.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] => config.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[database] => Array<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[0] => active_record.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[1] => binds.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[2] => configuration.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[3] => connecting.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[4] => examples.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[5] => fields.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[6] => index.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[7] => queries.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[2] => email.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[3] => file_uploading.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[4] => image_lib.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[5] => input.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[6] => language.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[7] => loader.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[8] => pagination.html<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[9] => uri.html<br />

+)</code>

+

+

+

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="date_helper.html">Date Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="file_helper.html">File Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/file_helper.html b/user_guide/helpers/file_helper.html
new file mode 100644
index 0000000..c6b049b
--- /dev/null
+++ b/user_guide/helpers/file_helper.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+File Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>File Helper</h1>

+

+<p>The File Helper file contains functions that assist in working with files.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('file');</code>

+

+<p>The following functions are available:</p>

+

+<h2>read_file('<var>path</var>')</h2>

+

+<p>Returns the data contained in the file specified in the path.  Example:</p>

+

+<code>$string = read_file('./path/to/file.php');</code>

+

+<p>The path can be a relative or full server path.  Returns FALSE (boolean) on failure.</p>

+

+<p class="important"><strong>Note:</strong> The path is relative to your main site index.php file, NOT your controller or view files.

+Code Igniter uses a front controller so paths are always relative to the main site index.</p>

+

+<p>If you server is running an open_basedir restriction this function

+might not work if you are trying to access a file above the calling script.</p>

+

+<h2>write_file('<var>path</var>', <kbd>$data</kbd>)</h2>

+

+<p>Writes data to the file specified in the path.  If the file does not exist the function will create it. Example:</p>

+

+<code>

+$data = 'Some file data';<br />

+<br />

+if ( ! write_file('./path/to/file.php', $data))<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp; echo 'Unable to write the file';<br />

+}<br />

+else<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp; echo 'File written!';<br />

+}</code>

+

+<p>Note: In order for this function to write data to a file its file permissions must be set such that it is writable (666, 777, etc.).

+If the file does not already exist, the directory containing it must be writable.</p>

+

+<p class="important"><strong>Note:</strong> The path is relative to your main site index.php file, NOT your controller or view files.

+Code Igniter uses a front controller so paths are always relative to the main site index.</p>

+

+

+

+<h2>delete_files('<var>path</var>')</h2>

+

+<p>Deletes ALL files contained in the supplied path.  Example:</p>

+<code>delete_files('/path/to/directory/');</code>

+

+<p>If the second parameter is set to <kbd>true</kbd>, any directories contained within the supplied root path will be deleted as well. Example:</p>

+

+<code>delete_files('/path/to/directory/', TRUE);</code>

+

+<p class="important"><strong>Note:</strong> The files must be writable or owned by the system in order to be deleted.</p>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="directory_helper.html">Directory Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="form_helper.html">Form Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html
new file mode 100644
index 0000000..8593f81
--- /dev/null
+++ b/user_guide/helpers/form_helper.html
@@ -0,0 +1,343 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Form Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Form Helper</h1>

+

+<p>The Form Helper file contains functions that assist in working with forms.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('form');</code>

+

+<p>The following functions are available:</p>

+

+

+

+<h2>form_open()</h2>

+

+<p>Creates an opening form tag with a base URL <strong>built from your config preferences</strong>.  It will optionally let you

+add form attributes and hidden input fields.</p>

+

+<p>The main benefit of using this tag rather than hard coding your own HTML is that it permits your site to be more portable

+in the event your URLs ever change.</p>

+

+<p>Here's a simple example:</p>

+

+<code>echo form_open('email/send');</code>

+

+<p>The above example would create a form that points to your base URL plus the "email/send" URI segments, like this:</p>

+

+<code>&lt;form method="post" action="http:/www.your-site.com/index.php/email/send" /></code>

+

+<h4>Adding Attributes</h4>

+

+<p>Attributes can be added by passing an associative array to the second parameter, like this:</p>

+

+<code>

+$attributes = array('class' => 'email', 'id' => 'myform');<br />

+<br />

+echo form_open('email/send', $attributes);</code>

+

+<p>The above example would create a form similar to this:</p>

+

+<code>&lt;form method="post" action="http:/www.your-site.com/index.php/email/send" &nbsp;class="email" &nbsp;id="myform" /></code>

+

+<h4>Adding Hidden Input Fields</h4>

+

+<p>Hidden fields can be added by passing an associative array to the third parameter, like this:</p>

+

+<code>

+$hidden = array('username' => 'Joe', 'member_id' => '234');<br />

+<br />

+echo form_open('email/send', '', $hidden);</code>

+

+<p>The above example would create a form similar to this:</p>

+

+<code>&lt;form method="post" action="http:/www.your-site.com/index.php/email/send" &nbsp;class="email" &nbsp;id="myform" /><br />

+&lt;input type="hidden" name="username" value="Joe" /><br />

+&lt;input type="hidden" name="member_id" value="234" /></code>

+

+

+<h2>form_open_multipart()</h2>

+

+<p>This function is absolutely identical to the <dfn>form_open()</dfn> tag above except that it adds a multipart attribute,

+which is necessary if you would like to use the form to upload files with.</p>

+

+<h2>form_hidden()</h2>

+

+<p>Lets you generate hidden input fields.  You can either submit a name/value string to create one field:</p>

+

+<code>form_hidden('username', 'johndoe');<br />

+<br />

+// Would produce:<br /><br />

+&lt;input type="hidden" name="username" value="johnodoe" /></code>

+

+<p>Or you can submit an associative array to create multiple fields:</p>

+

+<code>$data = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name'&nbsp;&nbsp;=> 'John Doe',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'email' => 'john@some-site.com',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'url'&nbsp;&nbsp;&nbsp;=> 'http://www.some-site.com'<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo form_hidden($data);<br />

+<br />

+// Would produce:<br /><br />

+&lt;input type="hidden" name="name" value="John Doe" /><br />

+&lt;input type="hidden" name="email" value="john@some-site.com" /><br />

+&lt;input type="hidden" name="url" value="http://www.some-site.com" /></code>

+

+

+

+

+<h2>form_input()</h2>

+

+<p>Lets you generate a standard text input field.  You can minimally pass the field name and value in the first

+and second parameter:

+

+<code>echo form_input('username', 'johndoe');</code>

+

+<p>Or you can pass an associative array containing any data you wish your form to contain:</p>

+

+<code>$data = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'username',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'username',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'value'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'johndoe',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'maxlength'&nbsp;&nbsp;&nbsp;=> '100',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'size'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '50',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'style'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; => 'width:50%',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo form_input($data);<br />

+<br />

+// Would produce:<br /><br />

+&lt;input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" /></code>

+

+<p>If you would like your form to contain some additional data, like JavaScript, you can pass it as a string in the 

+third parameter:

+

+<code>$js = 'onClick="some_function()"';<br />

+<br />

+echo form_input('username', 'johndoe', $js);</code>

+

+<h2>form_password()</h2>

+

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+except that is sets it as a "password" type.</p>

+

+<h2>form_upload()</h2>

+

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+except that is sets it as a "file" type, allowing it to be used to upload files.</p>

+

+<h2>form_textarea()</h2>

+

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+except that it generates a "textarea" type. Note: Instead of the "maxlength" and "size" attributes in the above

+example, you will instead specify "rows" and "cols".</p>

+

+

+<h2>form_dropdown()</h2>

+

+<p>Lets you create a standard drop-down field.  The first parameter will contain the name of the field,

+the second parameter will contain an associative array of options, and the third parameter will contain the

+value you wish to be selected.  Example:

+

+<code>$options = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'small'&nbsp;&nbsp;=> 'Small Shirt',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'med'&nbsp;&nbsp;&nbsp;&nbsp;=> 'Medium Shirt',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;large'&nbsp;&nbsp; => 'Large Shirt',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'xlarge' => 'Extra Large Shirt',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo form_dropdown('shirts', $options, 'large');<br />

+<br />

+// Would produce:<br /><br />

+

+&lt;select name="shirts"><br />

+&lt;option value="small">Small Shirt</option><br />

+&lt;option value="med">Medium  Shirt</option><br />

+&lt;option value="large" selected>Large Shirt</option><br />

+&lt;option value="xlarge">Extra Large Shirt</option><br />

+&lt;/select></code>

+

+

+<p>If you would like the opening &lt;select> to contain  additional data, like JavaScript, you can pass it as a string in the 

+fourth parameter:

+

+<code>$js = 'onChange="some_function()"';<br />

+<br />

+echo form_dropdown('shirts', $options, 'large', $js);</code>

+

+

+<h2>form_checkbox()</h2>

+

+<p>Lets you generate a checkbox field. Simple example:

+

+

+<code>echo form_checkbox('newsletter', 'accept', TRUE);<br />

+<br />

+// Would produce:<br />

+<br />

+&lt;input type="checkbox" name="newsletter" value="accept" checked="checked" /></code>

+

+<p>The third parameter contains a boolean TRUE/FALSE to determine whether the box should be checked or not.</p>

+

+<p>Similar to the other form functions in this helper, you can also pass an array of attributes to the function:</p>

+

+<code>$data = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'newsletter',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'newsletter',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'value'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'accept',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'checked'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> TRUE,<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'style'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; => 'margin:10px',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo form_checkbox($data);<br />

+<br />

+// Would produce:<br /><br />

+&lt;input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" /></code>

+

+<p>As with other functions, if you would like the tag to contain  additional data, like JavaScript, you can pass it as a string in the 

+fourth parameter:

+

+<code>$js = 'onClick="some_function()"';<br />

+<br />

+echo echo form_checkbox('newsletter', 'accept', TRUE, $js)</code>

+

+

+<h2>form_radio()</h2>

+<p>This function is identical in all respects to the <dfn>form_checkbox()</dfn> function above except that is sets it as a "radio" type.</p>

+

+

+<h2>form_submit()</h2>

+

+<p>Lets you generate a standard submit button. Simple example:</p>

+

+<code>echo form_submit('mysubmit', 'Submit Post!');<br />

+<br />

+// Would produce:<br />

+<br />

+&lt;input type="submit" name="mysubmit" value="Submit Post!" /></code>

+

+<p>Similar to other functions, you can submit an associative array in the first parameter if you prefer to set your own attributes.

+The third parameter lets you add extra data to your form, like JavaScript.</p>

+

+

+<h2>form_close()</h2>

+

+<p>Produces a closing &lt;/form> tag.  The only advantage to using this function is it permits you to pass data to it

+which will be added below the tag.  For example:</p>

+

+<code>$string = "&lt;/div>&lt;/div>";<br />

+<br />

+echo form_close($string);<br />

+<br />

+// Would produce:<br />

+<br />

+&lt;/form><br />

+&lt;/div>&lt;/div></code>

+

+

+

+

+

+<h2>form_prep()</h2>

+

+<p>Allows you to safely use HTML and characters such as quotes within form elements without breaking out of the form.  Consider this example:</p>

+

+<code>$string = 'Here is a string containing <strong>"quoted"</strong> text.';<br />

+<br />

+&lt;input type="text" name="myform" value="<var>$string</var>" /></code>

+

+<p>Since the above string contains a set of quotes it will cause the form to break.

+The form_prep function converts HTML so that it can be used safely:</p>

+

+<code>&lt;input type="text" name="myform" value="<var>&lt;?php echo form_prep($string); ?></var>" /></code>

+

+<p class="important"><strong>Note:</strong> If you use any of the form helper functions listed in this page the form

+values will be prepped automatically, so there is no need to call this function. Use it only if you are

+creating your own form elements.</p>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="file_helper.html">File Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="html_helper.html">HTML Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/html_helper.html b/user_guide/helpers/html_helper.html
new file mode 100644
index 0000000..603b83a
--- /dev/null
+++ b/user_guide/helpers/html_helper.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Directory Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>HTML Helper</h1>

+

+<p>The HTML Helper file contains functions that assist in working with HTML.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('html');</code>

+

+<p>The following functions are available:</p>

+

+

+<h2>heading()</h2>

+

+<p>Lets you create HTML &lt;h1> tags.  The first parameter will contain the data, the

+second the size of the heading.  Example:</p>

+

+<code>echo heading('Welcome!', 3);</code>

+

+<p>The above would produce:  &lt;h3>Welcome!&lt;/h3></p>

+

+

+<h2>nbs()</h2>

+<p>Generates non-breaking spaces (&amp;nbsp;) based on the number you submit. Example:</p>

+<code>echo nbs(3);</code>

+<p>The above would produce: &amp;nbsp;&amp;nbsp;&amp;nbsp;</p>

+

+

+<h2>br()</h2>

+<p>Generates line break tags (&lt;br />) based on the number you submit. Example:</p>

+<code>echo br(3);</code>

+<p>The above would produce: &lt;br />&lt;br />&lt;br /></p>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="form_helper.html">Form Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="security_helper.html">Security Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/index.html b/user_guide/helpers/index.html
new file mode 100644
index 0000000..342549d
--- /dev/null
+++ b/user_guide/helpers/index.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Helper Functions

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+<h1>Helper Functions</h1>

+

+<p>Helpers, as the name suggests, help you with tasks.  Each helper file is simply a collection of functions in a particular

+category.  There are <dfn>URL Helpers</dfn>, that assist in creating links, there are <dfn>Form Helpers</dfn>

+that help you create form elements, <dfn>Text Helpers</dfn> perform various text formatting routines,

+<dfn>Cookie Helpers</dfn> set and read cookies, <dfn>File Helpers</dfn> help you deal with files, etc.

+</p>

+

+<p>Unlike most other systems in Code Igniter, Helpers are not written in an Object Oriented format.  They are simple, procedural functions.

+Each helper function performs one specific task, with no dependence on other functions.</p>

+

+<p>Helpers are intentionally kept very simple so that they can be used within your <strong>View Files</strong> with a minimal amount of code.  

+This is important if you intend to have designers or non-programmer will be working with your view files, since it keeps the code to a minimum.

+</p>

+

+<p>Code Igniter does not load Helper Files by default, so the first step in using 

+a Helper is to load it.  Once loaded, it becomes globally available in your <a href="../general/controllers.html">controller</a> and <a href="../general/views.html">views</a>.</p>

+

+<h2>Loading a Helper</h2>

+

+<p>Loading a helper file is quite simple using the following function:</p>

+

+<code>$this->load->helper('<var>name</var>');</code>

+

+<p>Where <var>name</var> is the file name of the helper, without the .php file extension or the "helper" part.</p>

+

+<p>For example, to load the <dfn>URL Helper</dfn> file, which is named <var>url_helper.php</var>, you would do this:</p>

+

+<code>$this->load->helper('<var>url</var>');</code>

+

+<p>A helper can be loaded anywhere within your controller functions (or even within your View files, although that's not a good practice),

+as long as you load it before you use it.  You can load your helpers in your controller constructor so that they become available

+automatically in any function, or you can load a helper in a specific function that needs it.</p>

+

+<p class="important">Note: The Helper loading function above does not return a value, so don't try to assign it to a variable.  Just use it as shown.</p>

+

+<h2>Auto-loading Helpers</h2>

+

+<p>If you find that you need a particular helper globally throughout your application, you can tell Code Igniter to auto-load it during system initialization.

+This is done by opening the <var>application/config/autoload.php</var> file and adding the helper to the autoload array.</p>

+

+

+<h2>Using a Helper</h2>

+

+<p>Once you've loaded the Helper File containing the function you intend to use, you'll call it the way you would a standard PHP function.</p>

+

+<p>For example, to create a link using the <dfn>anchor()</dfn> function in one of your view files you would do this:</p>

+

+<code>&lt;?=anchor('blog/comments', 'Click Here');?&gt;</code>

+

+<p>Where "Click Here" is the name of the link, and "blog/comments" is the URI to the controller/function you wish to link to.</p>

+

+

+<h2>Now What?</h2>

+

+<p>In the Table of Contents you'll find a list of all the available Helper Files.  Browse each one to see what they do.</p>

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p><a href="#top">Top of Page</a><p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/security_helper.html b/user_guide/helpers/security_helper.html
new file mode 100644
index 0000000..7649fe7
--- /dev/null
+++ b/user_guide/helpers/security_helper.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Security Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Security Helper</h1>

+

+<p>The Security Helper file contains security related functions.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('security');</code>

+

+<p>The following functions are available:</p>

+

+

+<h2>xss_clean()</h2>

+

+<p>Provides Cross Site Script Hack filtering.  This function is an alias to the the one in the 

+<a href="../libraries/input.html">Input class</a>.  More info can be found there.</p>

+

+

+<h2>hash()</h2>

+

+<p>Permits you to create SHA1 or MD5 one way hashes suitable for encrypting passwords.  Will create SHA1 by default. Examples:</p>

+

+<code>

+$str = hash($str); // SHA1<br />

+<br />

+$str = hash($str, 'md5'); // MD5

+</code>

+

+

+

+

+<h2>strip_image_tags()</h2>

+

+<p>This is a security function that will strip image tags from a string.  It leaves the image URL as plain text.</p>

+

+<code>$string = strip_image_tags($string);</code>

+

+

+<h2>encode_php_tags()</h2>

+

+<p>This is a security function that converts PHP tags to entities. Note: If you use the XSS filtering function it does this automatically.</p>

+

+<code>$string = encode_php_tags($string);</code>

+

+

+

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="html_helper.html">HTML Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="string_helper.html">String Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/string_helper.html b/user_guide/helpers/string_helper.html
new file mode 100644
index 0000000..dfe8ae7
--- /dev/null
+++ b/user_guide/helpers/string_helper.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+String Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>String Helper</h1>

+

+<p>The String Helper file contains functions that assist in working with strings.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('string');</code>

+

+<p>The following functions are available:</p>

+

+<h2>random_string()</h2>

+

+<p>Generates a random string based on the type and length you specify.  Useful for creating passwords or generating random hashes.</p>

+

+<p>The first parameter specifies the type of string, the second parameter specifies the length.  The following choices are available:</p>

+

+

+<ul>

+<li><strong>alnum</strong>:&nbsp; Alpha-numeric string with lower and uppercase characters.</li>

+<li><strong>numeric</strong>:&nbsp; Numeric string.</li>

+<li><strong>nozero</strong>:&nbsp; Numeric string with no zeros.</li>

+<li><strong>unique</strong>:&nbsp; Encrypted with MD5 and uniquid(). Note: The length parameter is not available for this type. 

+Returns a fixed length 33 character string.</li>

+</ul>

+

+<p>Usage example:</p>

+

+<code>echo random_string('alnum', 16);</code>

+

+

+<h2>alternator()</h2>

+

+<p>Allows two or more items to be alternated between, when cycling through a loop.  Example:

+

+<code>for ($i = 0; $i < 10; $i++)<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;echo alternator('string one', 'string two');<br />

+}<br />

+</code>

+

+<p>You can add as many parameters as you want, and with each each iteration of your loop the next item will be returned.</p>

+

+<code>for ($i = 0; $i < 10; $i++)<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;echo alternator('one', 'two', 'three', 'four', 'five');<br />

+}<br />

+</code>

+

+<p><strong>Note:</strong> To use multiple separate calls to this function simply call the function with no arguments to re-initialize.</p>

+

+

+

+<h2>repeater()</h2>

+<p>Generates repeating copies of the data you submit. Example:</p>

+<code>$string = "\n";<br />

+echo repeater($string, 30);</code>

+

+<p>The above would generate 30 newlines.</p>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="security_helper.html">Security Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="text_helper.html">Text Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/text_helper.html b/user_guide/helpers/text_helper.html
new file mode 100644
index 0000000..61de8ea
--- /dev/null
+++ b/user_guide/helpers/text_helper.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Text Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Text Helper</h1>

+

+<p>The Text Helper file contains functions that assist in working with text.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('text');</code>

+

+<p>The following functions are available:</p>

+

+

+<h2>word_limiter()</h2>

+

+<p>Truncates a string to the number of <strong>words</strong> specified.  Example:</p>

+

+<code>

+$str = "Here is a nice text string consisting of eleven words.";<br />

+<br />

+$string = word_limiter($string, 4);<br /><br />

+

+// Returns:  Here is a nice&#8230;

+</code>

+

+<p>The third parameter is an optional suffix added to the string.  By default it add an ellipsis.</p>

+

+

+<h2>character_limiter()</h2>

+

+<p>Truncates a string to the number of <strong>characters</strong> specified.  It maintains the integrity

+of words so the character count may be slightly more or less then what you specify. Example:</p>

+

+<code>

+$str = "Here is a nice text string consisting of eleven words.";<br />

+<br />

+$string = char_limiter($string, 20);<br /><br />

+

+// Returns:  Here is a nice text string&#8230;

+</code>

+

+<p>The third parameter is an optional suffix added to the string.  By default it add an ellipsis.</p>

+

+

+

+<h2>ascii_to_entities()</h2>

+

+<p>Converts ASCII values to character entities, including high ASCII and MS Word characters that can cause problems when used in a web page,

+so that they can be shown consistently regardless of browser settings or stored reliably in a database.

+There is some dependance on your server's supported character sets, so it may not be 100% reliable in all cases, but for the most

+part it should correctly identify characters outside the normal range (like accented characters). Example:</p>

+

+<code>$string = ascii_to_entities($string);</code>

+

+

+<h2>entities_to_ascii()</h2>

+

+<p>This function does the opposite of the previous one; it turns character entities back into ASCII.</p>

+

+

+<h2>word_censor()</h2>

+

+<p>Enables you to censor words within a text string.  The first parameter will contain the original string.  The

+second will contain an array of words which you disallow.  The third (optional) parameter can contain a replacement value

+for the words.  If not specified they are replaced with pound signs: ####.  Example:</p>

+

+<code>

+$disallowed = array('darn', 'shucks', 'golly', 'phooey');<br />

+<br />

+$string = word_censor($string, $disallowed, 'Beep!');</code>

+

+

+<h2>highlight_code()</h2>

+

+<p>Colorizes a string of code (PHP, HTML, etc.).  Example:</p>

+

+<code>$string = highlight_code($string);</code>

+

+<p>The function uses PHP's highlight_string() function, so the colors used are the ones specified in your php.ini file.</p>

+

+

+<h2>highlight_phrase()</h2>

+

+<p>Will highlight a phrase within a text string.  The first parameter will contain the original string, the second will

+contain the phrase you wish to highlight.  The third and fourth parameters will contain the opening/closing HTML tags

+you would like the phrase wrapped in.  Example:</p>

+

+<code>

+$str = "Here is a nice text string about nothing in particular.";<br />

+<br />

+$string = highlight_phrase($string, "nice text", '&lt;span style="color:#990000">', '&lt;/span>');

+</code>

+

+<p>The above text returns:</p>

+

+<p>Here is a <span style="color:#990000">nice text</span> string about nothing in particular.</p>

+

+

+

+<h2>word_wrap()</h2>

+

+<p>Wraps text at the specified <strong>character</strong> count while maintaining complete words.  Example:</p>

+

+<code>$string = "Here is a simple string of text that will help us demonstrate this function.";<br />

+<br />

+echo word_wrap($string, 25);<br />

+<br />

+// Would produce:<br />

+<br />

+Here is a simple string<br />

+of text that will help<br />

+us demonstrate this<br />

+function</code>

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="string_helper.html">String Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="typography_helper.html">Typography Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/typography_helper.html b/user_guide/helpers/typography_helper.html
new file mode 100644
index 0000000..5e8da4b
--- /dev/null
+++ b/user_guide/helpers/typography_helper.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+Typography Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>Typography Helper</h1>

+

+<p>The Typography Helper file contains functions that help your format text in semantically relevant ways.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('typography');</code>

+

+<p>The following functions are available:</p>

+

+

+<h2>auto_typography()</h2>

+

+<p>Formats text so that it is semantically and typographically correct HTML.  Takes a string as input and returns it with 

+the following formatting:</p>

+

+<ul>

+<li>Surrounds paragraphs within &lt;p&gt;&lt;/p&gt; (looks for double line breaks to identify paragraphs).</li>

+<li>Single line breaks are converted to &lt;br /&gt;, except those that appear within &lt;pre&gt; tags.</li>

+<li>Block level elements, like &lt;div&gt; tags, are are not wrapped within paragraphs, but their contained text is if it contains paragraphs.</li>

+<li>Quotes are converted to correctly facing curly quote entities, except those that appear within tags.</li>

+<li>Apostrophes are converted to curly apostrophy entities.</li>

+<li>Double dashes (either like -- this or like--this) are converted to em&#8212;dashes.</li>

+<li>Three consecutive periods either preceding or following a word are converted to ellipsis&#8230;</li>

+<li>Double spaces following sentences are converted to non-breaking spaces to mimic double spacing.</li>

+</ul>

+

+<p>Usage example:</p>

+

+<code>$string = auto_typography($string);</code>

+

+<p><strong>Note:</strong> Typographic formatting can be processor intensive, particularly if you have a lot of content being formatted. 

+If you choose to use this function you may want to consider

+<a href="../general/caching.html">caching</a> your pages.</p>

+

+

+<h2>nl2br_except_pre()</h2>

+

+<p>Converts newlines to &lt;br /&gt; tags unless they appear within &lt;pre&gt; tags. 

+This function is identical to the native PHP <dfn>nl2br()</dfn> function, except that it ignores &lt;pre&gt; tags.</p>

+

+<p>Usage example:</p>

+

+<code>$string = nl2br_except_pre($string);</code>

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="text_helper.html">Text Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="url_helper.html">URL Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/url_helper.html b/user_guide/helpers/url_helper.html
new file mode 100644
index 0000000..a8f5c14
--- /dev/null
+++ b/user_guide/helpers/url_helper.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+URL Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>URL Helper</h1>

+

+<p>The URL Helper file contains functions that assist in working with URLs.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('url');</code>

+

+<p>The following functions are available:</p>

+

+<h2>site_url()</h2>

+

+<p>Returns your site URL, as specified in your config file.  The index.php file (or whatever you have set as your

+site <dfn>index_page</dfn> in your config file) will be added to the URL, as will any URI segments you pass to the function.</p>

+

+<p>You are encouraged to use this function any time you need to generate a local URL so that your pages become more portable 

+in the event your URL changes.</p>

+

+<p>Segments can be optionally passed to the function as a string or an array.  Here is a string example:</p>

+

+<code>echo site_url("news/local/123");</code>

+

+<p>The above example would return something like: http://www.your-site.com/index.php/news/local/123</p>

+

+<p>Here is an example of segments passed as an array:</p>

+

+<code>

+$segments = array('news', 'local', '123');<br />

+<br />

+echo site_url($segments);</code>

+

+

+<h2>base_url()</h2>

+<p>Returns your site base URL, as specified in your config file.  Example:</p>

+<code>echo base_url();</code>

+

+

+<h2>index_page()</h2>

+<p>Returns your site "index" page, as specified in your config file.  Example:</p>

+<code>echo index_page();</code>

+

+

+

+<h2>anchor()</h2>

+

+<p>Creates a standard HTML anchor link based on your local site URL:</p>

+

+<code>&lt;a href="http://www.your-site.com">Click Here&lt;/a></code>

+

+<p>The tag has three optional parameters:</p>

+

+<code>anchor(<var>uri segments</var>, <var>text</var>, <var>attributes</var>)</code>

+

+<p>The first parameter can contain any segments you wish appended to the URL.  As with the <dfn>site_url()</dfn> function above,

+segments can be a string or an array. Note: Do not include the base URL.  It will be built as specified in your config file. Include

+only the URI segments you wish appended to the URL.</p>

+

+<p>The second segment is the text you would like the link to say.  If you leave it blank, the URL will be used.</p>

+

+<p>The third parameter can contain a list of attributes you would like added to the link.  The attributes can be a simple string or an associative array.</p>

+

+<p>Here are some examples:</p>

+

+<code>echo anchor(<var>news/local/123</var>, <var>My News</var>);</code>

+

+<p>Would produce: &lt;a href="http://www.your-site.com/index.php/news/local/123" title="My News">My News&lt;/a></p>

+

+<code>echo anchor(<var>news/local/123</var>, <var>My News</var>, <var>array('title' => 'The best news!')</var>);</code>

+

+<p>Would produce: &lt;a href="http://www.your-site.com/index.php/news/local/123" title="The best news!">My News&lt;/a></p>

+

+

+<h2>anchor_popup()</h2>

+

+<p>Nearly identical to the <dfn>anchor()</dfn> function except that it opens the URL in a new window.  

+

+You can specify JavaScript window attributes in the third parameter to control how the window is opened. If 

+the third parameter is not set it will simply open a new window with your own browser settings.  Here is an example

+with attributes:</p>

+

+<code>

+

+$atts = array(<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'width'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '800',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'height'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '600',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scrollbars' => 'yes',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'status'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'yes',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'resizable'&nbsp;&nbsp;=> 'yes',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screenx'&nbsp;&nbsp;&nbsp;&nbsp;=> '0',<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screeny'&nbsp;&nbsp;&nbsp;&nbsp;=> '0'<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

+<br />

+echo anchor_popup(news/local/123, 'Click Me!', $atts);</code>

+

+<p>Note: The above attributes are the function defaults so you only need to set the ones that are different from what you need.

+If you want the function to use all of its defaults simply pass an empty array in the third parameter:</p>

+

+<code>echo anchor_popup(news/local/123, 'Click Me!', array());</code>

+

+

+<h2>mailto()</h2>

+

+<p>Creates a standard HTML email link.  Usage example:</p>

+

+<code>echo mailto('me@my-site.com', 'Click Here to Contact Me');</code>

+

+<p>As with the <dfn>anchor()</dfn> tab above, you can set attributes using the third parameter.</p>

+

+

+<h2>safe_mailto()</h2>

+

+<p>Identical to the above function except it writes an obfuscated version of the mailto tag using ordinal numbers

+written with JavaScript to help prevent the email address from being harvested by spam bots.</p>

+

+

+<h2>auto_link()</h2>

+

+<p>Automatically turns URLs and email addresses contained in a string into links.  Example:</p>

+

+<code>$string = auto_link($string);</code>

+

+<p>The second parameter determines whether URLs and emails are converted or just one or the other.  Default behavior is both

+if the parameter is not specified</p>

+

+<p>Converts only URLs:</p>

+<code>$string = auto_link($string, 'url');</code>

+

+<p>Converts only Email addresses:</p>

+<code>$string = auto_link($string, 'email');</code>

+

+</p>The third parameter determines whether links are shown in a new window.  The value can be TRUE or FALSE (boolean):</p>

+<code>$string = auto_link($string, 'both', TRUE);</code>

+

+

+<h2>url_title()</h2>

+<p>Takes a string as input and creates a human-friendly URL string. This is useful if, for example, you have a blog

+in which you'd like to use the title of your entries in the URL.  Example:</p>

+

+<code>$title = "What's wrong with CSS?";<br />

+<br />

+$url_title = url_title($title);<br />

+<br />

+// Produces:  whats-wrong-with-css

+</code>

+

+

+<p>The second parameter determines the word delimiter.  By default dashes are used.  Options are:  <dfn>dash</dfn>, or <dfn>underscore</dfn>:</p>

+

+<code>$title = "What's wrong with CSS?";<br />

+<br />

+$url_title = url_title($title, 'underscore');<br />

+<br />

+// Produces:  whats_wrong_with_css

+</code>

+

+

+<h3>prep_url()</h3>

+<p>This function will add <kbd>http://</kbd> in the event it is missing from a URL.  Pass the URL string to the function like this:</p>

+<code>

+$url = "www.some-site.com";<br /><br />

+$url = prep_url($url);</code>

+

+

+

+

+<h2>redirect()</h2>

+

+<p>Does a "header redirect" to the local URI specified. Just like other functions in this helper, this one is designed

+to redirect to a local URL within your site.  You will <strong>not</strong> specify the full site URL, but rather simply the URI segments

+to the controller you want to direct to. The function will build the URL based on your config file values.</p>

+

+<p>The second parameter allows you to choose between the "location" 

+method or the "refresh" method.  Location is faster, but on Windows servers it can sometimes be a problem.  Example:</p>

+

+<code>if ($logged_in == FALSE)<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirect('/login/form/', 'refresh');<br />

+}</code>

+

+<p class="important"><strong>Note:</strong> In order for this function to work it must be used before anything is outputted

+to the browser since it utilizes server headers.</p>

+

+

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="typography_helper.html">Typography Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+Next Topic:&nbsp;&nbsp;<a href="xml_helper.html">XML Helper</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/user_guide/helpers/xml_helper.html b/user_guide/helpers/xml_helper.html
new file mode 100644
index 0000000..63e2b73
--- /dev/null
+++ b/user_guide/helpers/xml_helper.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+<html>

+<head>

+

+<title>Code Igniter User Guide</title>

+

+<style type='text/css' media='all'>@import url('../userguide.css');</style>

+<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

+

+<script type="text/javascript" src="../scripts/nav.js"></script>

+<script type="text/javascript" src="../scripts/prototype.lite.js"></script>

+<script type="text/javascript" src="../scripts/moo.fx.js"></script>

+<script type="text/javascript">

+window.onload = function() {

+	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight.hide();

+}

+</script>

+

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<meta http-equiv='expires' content='-1' />

+<meta http-equiv= 'pragma' content='no-cache' />

+<meta name='robots' content='all' />

+<meta name='author' content='Rick Ellis' />

+<meta name='description' content='Code Igniter User Guide' />

+

+</head>

+<body>

+

+<!-- START NAVIGATION -->

+<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

+<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>

+<div id="masthead">

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td><h1>Code Igniter User Guide Version 1.4.0</h1></td>

+<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>

+</tr>

+</table>

+</div>

+<!-- END NAVIGATION -->

+

+

+<!-- START BREADCRUMB -->

+<table cellpadding="0" cellspacing="0" border="0" style="width:100%">

+<tr>

+<td id="breadcrumb">

+<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;

+<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;

+XML Helper

+</td>

+<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>

+</tr>

+</table>

+<!-- END BREADCRUMB -->

+

+<br clear="all" />

+

+

+<!-- START CONTENT -->

+<div id="content">

+

+

+<h1>XML Helper</h1>

+

+<p>The XML Helper file contains functions that assist in working with XML data.</p>

+

+

+<h2>Loading this Helper</h2>

+

+<p>This helper is loaded using the following code:</p>

+<code>$this->load->helper('xml');</code>

+

+<p>The following functions are available:</p>

+

+<h2>xml_convert('<var>string</var>')</h2>

+

+<p>Takes a string as input and converts the following reserved XML characters to entities:</p>

+

+<p>

+Ampersands: &amp;<br />

+Less then and greater than characters: &lt; &gt;<br />

+Single and double quotes: ' &nbsp;"<br />

+Dashes: -</p>

+

+<p>This function ignores ampersands if they are part of existing character entities.  Example:</p>

+

+<code>$string = xml_convert($string);</code>

+

+

+

+

+

+

+</div>

+<!-- END CONTENT -->

+

+

+<div id="footer">

+<p>

+Previous Topic:&nbsp;&nbsp;<a href="url_helper.html">URL Helper</a>

+&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;

+<a href="../index.html">User Guide Home</a>

+<p>

+<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>

+</div>

+

+</body>

+</html>
\ No newline at end of file