/////////////////////////////////////////////////
// PukiWiki - Yet another WikiWikiWeb clone.
//
-// $Id: color.inc.php,v 1.4 2003/05/12 10:32:13 arino Exp $
+// $Id: color.inc.php,v 1.9 2004/07/31 03:09:20 henoheno Exp $
//
function plugin_color_inline()
{
- $bgcolor = '';
-
if (func_num_args() == 3)
{
list($color,$bgcolor,$body) = func_get_args();
if ($body == '')
{
- $body = $bg;
+ $body = $bgcolor;
$bgcolor = '';
}
- else if ($bgcolor != '')
- {
- $bgcolor = ';background-color:'.htmlspecialchars($bgcolor);
- }
}
else if (func_num_args() == 2)
{
+ $bgcolor = '';
list($color,$body) = func_get_args();
}
else
{
return FALSE;
}
-
+
if ($color == '' or $body == '')
{
return FALSE;
}
-
- $s_color = htmlspecialchars($color);
- $s_bgcolor = htmlspecialchars($bgcolor);
- return "<span style=\"color:$s_color$s_bgcolor\">$body</span>";
+ if (!plugin_color_is_valid($color) or !plugin_color_is_valid($bgcolor))
+ {
+ return $body;
+ }
+
+ if ($bgcolor != '')
+ {
+ $color .= ';background-color:'.$bgcolor;
+ }
+ return "<span style=\"color:$color\">$body</span>";
+}
+function plugin_color_is_valid($color)
+{
+ return ($color == '') or preg_match('/^(#[0-9a-f]+|[\w-]+)$/i',$color);
}
?>