blob: fd337c5d5e48df6e016f28f6054c8fb356e8dfe2 [file] [log] [blame]
Derek Allard39b622d2008-01-16 21:10:09 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Derek Allardafd99ac2008-01-19 19:59:14 +00002<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Derek Allard39b622d2008-01-16 21:10:09 +00003<head>
4
Derek Allard8039d4c2008-05-31 02:47:56 +00005<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Derek Jonesfd93d222008-05-06 15:18:50 +00006<title>Smiley Helper : CodeIgniter User Guide</title>
Derek Allard39b622d2008-01-16 21:10:09 +00007
8<style type='text/css' media='all'>@import url('../userguide.css');</style>
9<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
10
11<script type="text/javascript" src="../nav/nav.js"></script>
12<script type="text/javascript" src="../nav/prototype.lite.js"></script>
13<script type="text/javascript" src="../nav/moo.fx.js"></script>
14<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
15
Derek Allard39b622d2008-01-16 21:10:09 +000016<meta http-equiv='expires' content='-1' />
17<meta http-equiv= 'pragma' content='no-cache' />
18<meta name='robots' content='all' />
Derek Allard3d879d52008-01-18 19:41:32 +000019<meta name='author' content='ExpressionEngine Dev Team' />
Derek Allard39b622d2008-01-16 21:10:09 +000020<meta name='description' content='CodeIgniter User Guide' />
21
22</head>
23<body>
24
25<!-- START NAVIGATION -->
26<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
Rick Ellis7cdef032008-08-26 18:44:54 +000027<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
Derek Allard39b622d2008-01-16 21:10:09 +000028<div id="masthead">
29<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
30<tr>
Derek Jones1ca3fc42008-06-27 00:19:33 +000031<td><h1>CodeIgniter User Guide Version 1.6.3</h1></td>
Derek Allard39b622d2008-01-16 21:10:09 +000032<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
33</tr>
34</table>
35</div>
36<!-- END NAVIGATION -->
37
38
39<!-- START BREADCRUMB -->
40<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
41<tr>
42<td id="breadcrumb">
Derek Jones7a9193a2008-01-21 18:39:20 +000043<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
Derek Allard39b622d2008-01-16 21:10:09 +000044<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
45Smiley Helper
46</td>
47<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="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>
48</tr>
49</table>
50<!-- END BREADCRUMB -->
51
52<br clear="all" />
53
54
55<!-- START CONTENT -->
56<div id="content">
57
58
59<h1>Smiley Helper</h1>
60
61<p>The Smiley Helper file contains functions that let you manage smileys (emoticons).</p>
62
63
64<h2>Loading this Helper</h2>
65
66<p>This helper is loaded using the following code:</p>
67<code>$this->load->helper('smiley');</code>
68
69<h2>Overview</h2>
70
71<p>The Smiley helper has a renderer that takes plain text simileys, like <dfn>:-)</dfn> and turns
72them into a image representation, like <img src="../images/smile.gif" width="19" height="19" border="0" alt="smile!" /></p>
73
74<p>It also lets you display a set of smiley images that when clicked will be inserted into a form field.
75For example, if you have a blog that allows user commenting you can show the smileys next to the comment form.
76Your users can click a desired smiley and with the help of some JavaScript it will be placed into the form field.</p>
77
78
79
80<h2>Clickable Smileys Tutorial</h2>
81
82<p>Here is an example demonstrating how you might create a set of clickable smileys next to a form field. This example
83requires that you first download and install the smiley images, then create a controller and the View as described.</p>
84
Derek Jones63c45912008-02-08 00:13:04 +000085<p class="important"><strong>Important:</strong> Before you begin, please <a href="http://codeigniter.com/download_files/smileys.zip">download the smiley images</a> and put them in
Derek Allard39b622d2008-01-16 21:10:09 +000086a publicly accessible place on your server. This helper also assumes you have the smiley replacement array located at
87<dfn>application/config/smileys.php</dfn></p>
88
89
90<h3>The Controller</h3>
91
92<p>In your <dfn>application/controllers/</dfn> folder, create a file called <kbd>smileys.php</kbd> and place the code below in it.</p>
93
94<p><strong>Important:</strong> Change the URL in the <dfn>get_clickable_smileys()</dfn> function below so that it points to
95your <dfn>smiley</dfn> folder.</p>
96
97<p>You'll notice that in addition to the smiley helper we are using the <a href="../libraries/table.html">Table Class</a>.</p>
98
99<textarea class="textarea" style="width:100%" cols="50" rows="25">
Derek Allard1ea127a2008-04-04 12:26:46 +0000100&lt;?php
Derek Allard39b622d2008-01-16 21:10:09 +0000101
102class Smileys extends Controller {
103
104 function Smileys()
105 {
106 parent::Controller();
107 }
108
109 function index()
110 {
111 $this->load->helper('smiley');
112 $this->load->library('table');
113
Derek Jonesff845f92008-06-26 17:05:55 +0000114 $image_array = get_clickable_smileys('http://example.com/images/smileys/');
Derek Allard39b622d2008-01-16 21:10:09 +0000115
116 $col_array = $this->table->make_columns($image_array, 8);
117
118 $data['smiley_table'] = $this->table->generate($col_array);
119
120 $this->load->view('smiley_view', $data);
121 }
122
123}
Derek Allard1ea127a2008-04-04 12:26:46 +0000124?&gt;
Derek Allard39b622d2008-01-16 21:10:09 +0000125</textarea>
126
127<p>In your <dfn>application/views/</dfn> folder, create a file called <kbd>smiley_view.php</kbd> and place this code in it:</p>
128
129
130<textarea class="textarea" style="width:100%" cols="50" rows="20">
131&lt;html>
132&lt;head>
133&lt;title>Smileys&lt;/title>
134
135&lt;?php echo js_insert_smiley('blog', 'comments'); ?>
136
137&lt;/head>
138&lt;body>
139
140&lt;form name="blog">
141&lt;textarea name="comments" cols="40" rows="4">&lt;/textarea>
142&lt;/form>
143
144&lt;p>Click to insert a smiley!&lt;/p>
145
146&lt;?php echo $smiley_table; ?>
147
148&lt;/body>
149&lt;/html>
150</textarea>
151
152
153<p>When you have created the above controller and view, load it by visiting <dfn>http://www.your=site.com/index.php/smileys/</dfn></p>
154
155<h1>Function Reference</h1>
156
157
158<h2>get_clickable_smileys()</h2>
159
Derek Allard1ea127a2008-04-04 12:26:46 +0000160<p>Returns an array containing your smiley images wrapped in a clickable link. You must supply the URL to your smiley folder
Derek Allard39b622d2008-01-16 21:10:09 +0000161via the first parameter:</p>
162
Derek Jonesff845f92008-06-26 17:05:55 +0000163<code>$image_array = get_clickable_smileys("http://example.com/images/smileys/");</code>
Derek Allard39b622d2008-01-16 21:10:09 +0000164
165
166<h2>js_insert_smiley()</h2>
167
168<p>Generates the JavaScript that allows the images to be clicked and inserted into a form field.
169The first parameter must contain the name of your form, the second parameter must contain the name of the
170form field. This function is designed to be placed into the &lt;head&gt; area of your web page.</p>
171
172<code>&lt;?php echo js_insert_smiley('blog', 'comments'); ?&gt;</code>
173
174
175<h2>parse_smileys()</h2>
176
177<p>Takes a string of text as input and replaces any contained plain text smileys into the image
Derek Allard1ea127a2008-04-04 12:26:46 +0000178equivalent. The first parameter must contain your string, the second must contain the URL to your smiley folder:</p>
Derek Allard39b622d2008-01-16 21:10:09 +0000179
180<code>
181
182$str = 'Here are some simileys: :-) ;-)';
183
Derek Jonesff845f92008-06-26 17:05:55 +0000184$str = parse_smileys($str, "http://example.com/images/smileys/");
Derek Allard39b622d2008-01-16 21:10:09 +0000185
186echo $str;
187</code>
188</div>
189<!-- END CONTENT -->
190
191
192<div id="footer">
193<p>
194Previous Topic:&nbsp;&nbsp;<a href="security_helper.html">Security Helper</a>
195&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
196<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
197<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
198Next Topic:&nbsp;&nbsp;<a href="string_helper.html">String Helper</a>
199</p>
Derek Jones07870432008-02-13 03:49:26 +0000200<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2008 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
Derek Allard39b622d2008-01-16 21:10:09 +0000201</div>
202
203</body>
204</html>