Smiley Helper
The Smiley Helper file contains functions that let you manage smileys (emoticons).
Important
The Smiley helper is DEPRECATED and should not be used. It is currently only kept for backwards compatibility.
Loading this Helper
This helper is loaded using the following code:
$this->load->helper('smiley');
Overview
The Smiley helper has a renderer that takes plain text smileys, like :-) and turns them into a image representation, like
It also lets you display a set of smiley images that when clicked will be inserted into a form field. For example, if you have a blog that allows user commenting you can show the smileys next to the comment form. Your users can click a desired smiley and with the help of some JavaScript it will be placed into the form field.
Clickable Smileys Tutorial
Here is an example demonstrating how you might create a set of clickable smileys next to a form field. This example requires that you first download and install the smiley images, then create a controller and the View as described.
Important
Before you begin, please download the smiley images and put them in a publicly accessible place on your server. This helper also assumes you have the smiley replacement array located at application/config/smileys.php
The Controller
In your application/controllers/ directory, create a file called Smileys.php and place the code below in it.
Important
Change the URL in the get_clickable_smileys()
function below so that it points to your smiley folder.
You’ll notice that in addition to the smiley helper, we are also using the Table Class:
<?php class Smileys extends CI_Controller { public function index() { $this->load->helper('smiley'); $this->load->library('table'); $image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comments'); $col_array = $this->table->make_columns($image_array, 8); $data['smiley_table'] = $this->table->generate($col_array); $this->load->view('smiley_view', $data); } }
In your application/views/ directory, create a file called smiley_view.php and place this code in it:
<html> <head> <title>Smileys</title> <?php echo smiley_js(); ?> </head> <body> <form name="blog"> <textarea name="comments" id="comments" cols="40" rows="4"></textarea> </form> <p>Click to insert a smiley!</p> <?php echo $smiley_table; ?> </body> </html> When you have created the above controller and view, load it by visiting http://www.example.com/index.php/smileys/ </body> </html>
Field Aliases
When making changes to a view it can be inconvenient to have the field id in the controller. To work around this, you can give your smiley links a generic name that will be tied to a specific id in your view.
$image_array = get_smiley_links("http://example.com/images/smileys/", "comment_textarea_alias");
To map the alias to the field id, pass them both into the smiley_js()
function:
$image_array = smiley_js("comment_textarea_alias", "comments");
Available Functions
-
get_clickable_smileys($image_url[, $alias = ''[, $smileys = NULL]])
-
Parameters: - $image_url (string) – URL path to the smileys directory
- $alias (string) – Field alias
Returns: An array of ready to use smileys
Return type: array
Returns an array containing your smiley images wrapped in a clickable link. You must supply the URL to your smiley folder and a field id or field alias.
Example:
$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');
-
smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]])
-
Parameters: - $alias (string) – Field alias
- $field_id (string) – Field ID
- $inline (bool) – Whether we’re inserting an inline smiley
Returns: Smiley-enabling JavaScript code
Return type: string
Generates the JavaScript that allows the images to be clicked and inserted into a form field. If you supplied an alias instead of an id when generating your smiley links, you need to pass the alias and corresponding form id into the function. This function is designed to be placed into the <head> area of your web page.
Example:
<?php echo smiley_js(); ?>
-
parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])
-
Parameters: - $str (string) – Text containing smiley codes
- $image_url (string) – URL path to the smileys directory
- $smileys (array) – An array of smileys
Returns: Parsed smileys
Return type: string
Takes a string of text as input and replaces any contained plain text smileys into the image equivalent. The first parameter must contain your string, the second must contain the URL to your smiley folder
Example:
$str = 'Here are some smileys: :-) ;-)'; $str = parse_smileys($str, 'http://example.com/images/smileys/'); echo $str;
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/helpers/smiley_helper.html