summaryrefslogtreecommitdiffstats
path: root/system/helpers/smiley_helper.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/helpers/smiley_helper.php')
-rwxr-xr-x[-rw-r--r--]system/helpers/smiley_helper.php52
1 files changed, 29 insertions, 23 deletions
diff --git a/system/helpers/smiley_helper.php b/system/helpers/smiley_helper.php
index 3a31be36e..80a8d79ad 100644..100755
--- a/system/helpers/smiley_helper.php
+++ b/system/helpers/smiley_helper.php
@@ -2,11 +2,11 @@
/**
* CodeIgniter
*
- * An open source application development framework for PHP 4.3.2 or newer
+ * An open source application development framework for PHP 5.1.6 or newer
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -40,12 +40,12 @@
*/
if ( ! function_exists('smiley_js'))
{
- function smiley_js($alias = '', $field_id = '')
+ function smiley_js($alias = '', $field_id = '', $inline = TRUE)
{
static $do_setup = TRUE;
$r = '';
-
+
if ($alias != '' && ! is_array($alias))
{
$alias = array($alias => $field_id);
@@ -54,9 +54,9 @@ if ( ! function_exists('smiley_js'))
if ($do_setup === TRUE)
{
$do_setup = FALSE;
-
+
$m = array();
-
+
if (is_array($alias))
{
foreach($alias as $name => $id)
@@ -64,23 +64,22 @@ if ( ! function_exists('smiley_js'))
$m[] = '"'.$name.'" : "'.$id.'"';
}
}
-
+
$m = '{'.implode(',', $m).'}';
-
+
$r .= <<<EOF
-
var smiley_map = {$m};
function insert_smiley(smiley, field_id) {
var el = document.getElementById(field_id), newStart;
-
+
if ( ! el && smiley_map[field_id]) {
el = document.getElementById(smiley_map[field_id]);
-
+
if ( ! el)
return false;
}
-
+
el.focus();
smiley = " " + smiley;
@@ -93,7 +92,7 @@ if ( ! function_exists('smiley_js'))
el.setSelectionRange(newStart, newStart);
}
else if (document.selection) {
- document.selection.createRange().text = text;
+ document.selection.createRange().text = smiley;
}
}
EOF;
@@ -109,7 +108,14 @@ EOF;
}
}
- return '<script type="text/javascript" charset="utf-8">'.$r.'</script>';
+ if ($inline)
+ {
+ return '<script type="text/javascript" charset="utf-8">/*<![CDATA[ */'.$r.'// ]]></script>';
+ }
+ else
+ {
+ return $r;
+ }
}
}
@@ -118,8 +124,8 @@ EOF;
/**
* Get Clickable Smileys
*
- * Returns an array of image tag links that can be clicked to be inserted
- * into a form field.
+ * Returns an array of image tag links that can be clicked to be inserted
+ * into a form field.
*
* @access public
* @param string the URL to the folder containing the smiley images
@@ -130,12 +136,12 @@ if ( ! function_exists('get_clickable_smileys'))
function get_clickable_smileys($image_url, $alias = '', $smileys = NULL)
{
// For backward compatibility with js_insert_smiley
-
+
if (is_array($alias))
{
$smileys = $alias;
}
-
+
if ( ! is_array($smileys))
{
if (FALSE === ($smileys = _get_smiley_array()))
@@ -146,7 +152,7 @@ if ( ! function_exists('get_clickable_smileys'))
// Add a trailing slash to the file path if needed
$image_url = rtrim($image_url, '/').'/';
-
+
$used = array();
foreach ($smileys as $key => $val)
{
@@ -158,12 +164,12 @@ if ( ! function_exists('get_clickable_smileys'))
{
continue;
}
-
- $link[] = "<a href=\"javascript:void(0);\" onClick=\"insert_smiley('".$key."', '".$alias."')\"><img src=\"".$image_url.$smileys[$key][0]."\" width=\"".$smileys[$key][1]."\" height=\"".$smileys[$key][2]."\" alt=\"".$smileys[$key][3]."\" style=\"border:0;\" /></a>";
-
+
+ $link[] = "<a href=\"javascript:void(0);\" onclick=\"insert_smiley('".$key."', '".$alias."')\"><img src=\"".$image_url.$smileys[$key][0]."\" width=\"".$smileys[$key][1]."\" height=\"".$smileys[$key][2]."\" alt=\"".$smileys[$key][3]."\" style=\"border:0;\" /></a>";
+
$used[$smileys[$key][0]] = TRUE;
}
-
+
return $link;
}
}