blob: ad746998127ecbe44a33c2f5ceec94f6304a8811 [file] [log] [blame]
admina21c4ef2006-10-28 18:36:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
Derek Allard404e35d2007-08-07 01:00:45 +00005<title>CodeIgniter User Guide : Smiley Helper</title>
admina21c4ef2006-10-28 18:36:49 +00006
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
10<script type="text/javascript" src="../nav/nav.js"></script>
11<script type="text/javascript" src="../nav/prototype.lite.js"></script>
12<script type="text/javascript" src="../nav/moo.fx.js"></script>
Derek Allardb3412372007-10-25 12:15:16 +000013<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
admina21c4ef2006-10-28 18:36:49 +000014
15<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000020<meta name='description' content='CodeIgniter User Guide' />
admina21c4ef2006-10-28 18:36:49 +000021
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.jpg" width="153" height="44" 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 Allard60ca9b72007-07-12 19:53:27 +000031<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
adminc0d5d522006-10-30 19:40:35 +000032<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
admina21c4ef2006-10-28 18:36:49 +000033</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 Allardd2df9bc2007-04-15 17:41:17 +000043<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
admina21c4ef2006-10-28 18:36:49 +000044<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
45Smiley Helper
46</td>
Derek Allardbc030912007-06-24 18:25:29 +000047<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>
admina21c4ef2006-10-28 18:36:49 +000048</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
Rick Ellis325197e2006-11-20 17:29:05 +000082<p>Here is an example demonstrating how you might create a set of clickable smileys next to a form field. This example
admina21c4ef2006-10-28 18:36:49 +000083requires 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://www.codeigniter.com/downloads/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<?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://www.your-site.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</textarea>
125
126<p>In your <dfn>application/views/</dfn> folder, create a file called <kbd>smiley_view.php</kbd> and place this code in it:</p>
127
128
129<textarea class="textarea" style="width:100%" cols="50" rows="20">
Derek Allardc6441282007-07-04 23:54:32 +0000130&lt;html>
131&lt;head>
132&lt;title>Smileys&lt;/title>
admina21c4ef2006-10-28 18:36:49 +0000133
Derek Allardc6441282007-07-04 23:54:32 +0000134&lt;?php echo js_insert_smiley('blog', 'comments'); ?>
admina21c4ef2006-10-28 18:36:49 +0000135
Derek Allardc6441282007-07-04 23:54:32 +0000136&lt;/head>
137&lt;body>
admina21c4ef2006-10-28 18:36:49 +0000138
139&lt;form name="blog">
140&lt;textarea name="comments" cols="40" rows="4">&lt;/textarea>
Derek Allardc6441282007-07-04 23:54:32 +0000141&lt;/form>
admina21c4ef2006-10-28 18:36:49 +0000142
Derek Allardc6441282007-07-04 23:54:32 +0000143&lt;p>Click to insert a smiley!&lt;/p>
admina21c4ef2006-10-28 18:36:49 +0000144
Derek Allardc6441282007-07-04 23:54:32 +0000145&lt;?php echo $smiley_table; ?>
admina21c4ef2006-10-28 18:36:49 +0000146
Derek Allardc6441282007-07-04 23:54:32 +0000147&lt;/body>
148&lt;/html>
admina21c4ef2006-10-28 18:36:49 +0000149</textarea>
150
151
152<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>
153
154<h1>Function Reference</h1>
155
156
157<h2>get_clickable_smileys()</h2>
158
159<p>Returns an array containing your smiley images wrapped in a cliackable link. You must supply the URL to your smiley folder
160via the first parameter:</p>
161
162<code>$image_array = get_clickable_smileys("http://www.your-site.com/images/smileys/");</code>
163
164
165<h2>js_insert_smiley()</h2>
166
167<p>Generates the JavaScript that allows the images to be clicked and inserted into a form field.
168The first parameter must contain the name of your form, the second parameter must contain the name of the
169form field. This function is designed to be placed into the &lt;head&gt; area of your web page.</p>
170
171<code>&lt;?php echo js_insert_smiley('blog', 'comments'); ?&gt;</code>
172
173
174<h2>parse_smileys()</h2>
175
176<p>Takes a string of text as input and replaces any contained plain text smileys into the image
177equivalent. The first parameter must contain your string, the second must contain the the URL to your smiley folder:</p>
178
179<code>
180
181$str = 'Here are some simileys: :-) ;-)';
182
183$str = parse_smileys($str, "http://www.your-site.com/images/smileys/");
184
185echo $str;
Derek Allard30846212007-04-10 21:53:49 +0000186</code>
admina21c4ef2006-10-28 18:36:49 +0000187</div>
188<!-- END CONTENT -->
189
190
191<div id="footer">
192<p>
Derek Allard9da4dbc2007-04-03 11:39:35 +0000193Previous Topic:&nbsp;&nbsp;<a href="security_helper.html">Security Helper</a>
admina21c4ef2006-10-28 18:36:49 +0000194&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
195<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
196<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
197Next Topic:&nbsp;&nbsp;<a href="string_helper.html">String Helper</a>
Derek Allardc6441282007-07-04 23:54:32 +0000198</p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000199<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
admina21c4ef2006-10-28 18:36:49 +0000200</div>
201
202</body>
203</html>