blob: 430aea69fb5f441549d0b26eaa8d5be6acc0bdf3 [file] [log] [blame]
Derek Allard2067d1a2008-11-13 22:59:24 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3<head>
4
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6<title>Smiley Helper : CodeIgniter User Guide</title>
7
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
16<meta http-equiv='expires' content='-1' />
17<meta http-equiv= 'pragma' content='no-cache' />
18<meta name='robots' content='all' />
19<meta name='author' content='ExpressionEngine Dev Team' />
20<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>
27<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>
28<div id="masthead">
29<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
30<tr>
Derek Jones733310d2009-02-11 01:13:43 +000031<td><h1>CodeIgniter User Guide Version 1.7.1</h1></td>
Derek Allard2067d1a2008-11-13 22:59:24 +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">
43<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
44<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
85<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
86a 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">
100&lt;?php
101
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
114 $image_array = get_clickable_smileys('http://example.com/images/smileys/');
115
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}
124?&gt;
125</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
160<p>Returns an array containing your smiley images wrapped in a clickable link. You must supply the URL to your smiley folder
161via the first parameter:</p>
162
163<code>$image_array = get_clickable_smileys("http://example.com/images/smileys/");</code>
164
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
178equivalent. The first parameter must contain your string, the second must contain the URL to your smiley folder:</p>
179
180<code>
181
182$str = 'Here are some simileys: :-) ;-)';
183
184$str = parse_smileys($str, "http://example.com/images/smileys/");
185
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>
200<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>
201</div>
202
203</body>
Derek Allard39b622d2008-01-16 21:10:09 +0000204</html>