function previewfield_countup($name, $maxchars = false, $default = "") { global $session; $id = $name; $exclude = array("J"); $colors = getcolors($exclude); rawoutput("<script language='JavaScript'>\r\n\t\t\t\tfunction previewtext{$id}(t){\r\n\t\t\t\t\tvar out = '';\r\n\t\t\t\t\tvar end = '';\r\n\t\t\t\t\tvar x=0;\r\n\t\t\t\t\tvar y='';\r\n\t\t\t\t\tvar z='';\r\n\t\t\t\t\tvar charsleft = (t.length)+' Characters';\r\n\t\t\t\t\titalics=0;\r\n\t\t\t\t\tbold=0;\r\n\t\t\t\t\tdocument.getElementById('charsleft{$id}').innerHTML=charsleft;\r\n\t\t\t\t\tif (t.length==0){\r\n\t\t\t\t\t\tout = ' ';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (; x < t.length; x++){\r\n\t\t\t\t\t\ty = t.substr(x,1);\r\n\t\t\t\t\t\tteststring = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#\$%^&*()-=_+;:,./?`~ \\'\"[]{}\\\\|<>£';\r\n\t\t\t\t\t\ttestpos = teststring.indexOf(y);\r\n\t\t\t\t\t\tif (y=='<'){\r\n\t\t\t\t\t\t\tout += '<';\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}else if(y=='>'){\r\n\t\t\t\t\t\t\tout += '>';\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}else if(y=='\\n'){\r\n\t\t\t\t\t\t\tout = '<span class=\\'colLtRed\\'><strong>Use `n rather than Enter to drop down a line</strong></span>';\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}else if (y=='`'){\r\n\t\t\t\t\t\t\tif (x < t.length-1){\r\n\t\t\t\t\t\t\t\tz = t.substr(x+1,1);\r\n\t\t\t\t\t\t\t\tif (z=='0'){\r\n\t\t\t\t\t\t\t\t\tout += '</span>';"); foreach ($colors as $code => $class) { rawoutput("\t\t\t\t}else if (z=='" . $code . "'){\r\n\t\t\t\t\t\t\t\t\tout += '</span><span class=\\'" . $class . "\\'>';"); } rawoutput("\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (z=='i'){\r\n\t\t\t\t\t\t\t\t\titalics += 1;\r\n\t\t\t\t\t\t\t\t\tinum = italics;\r\n\t\t\t\t\t\t\t\t\tif (inum%2){\r\n\t\t\t\t\t\t\t\t\t\tout += '<em>';\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tout += '</em>';\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else if (z=='n'){\r\n\t\t\t\t\t\t\t\t\tout += '<br />';\r\n\t\t\t\t\t\t\t\t} else if (z=='b'){\r\n\t\t\t\t\t\t\t\t\tbold += 1;\r\n\t\t\t\t\t\t\t\t\tbnum = bold;\r\n\t\t\t\t\t\t\t\t\tif (bnum%2){\r\n\t\t\t\t\t\t\t\t\t\tout += '<strong>';\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tout += '</strong>';\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else if (z=='`'){\r\n\t\t\t\t\t\t\t\t\tout += '`';\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tout = '<span class=\\'colLtRed\\'><strong>That\\'s not a colour code you can use here!</strong></span>';\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tx++;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (testpos==-1){\r\n\t\t\t\t\t\t\tout = '<span class=\\'colLtRed\\'><strong>Did you type this in a word processor? There\\'s a character in there that\\'s going to cause problems. It could be a smart quote, or a single-character ellipsis, or some wacky hyphen. You can only use characters that you can see on your keyboard. Please check and try again.</strong></span>';\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tout += y;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdocument.getElementById(\"previewtext{$id}\").innerHTML=out;\r\n\t\t\t\t}</script>\r\n\t\t\t\t"); rawoutput("<div id='previewtext{$id}'> </div>"); rawoutput("<span id='charsleft{$id}'>0 Characters</span><br />"); rawoutput("<textarea name='{$name}' id='input{$id}' cols='60' rows='6' onKeyUp='previewtext{$id}(document.getElementById(\"input{$id}\").value);'>" . $default . "</textarea>"); }
function appoencode($data, $priv = false) { global $nestedtags, $session; $start = 0; $out = ""; if (($pos = strpos($data, "`")) !== false) { global $nestedtags; if (!isset($nestedtags['font'])) { $nestedtags['font'] = false; } if (!isset($nestedtags['typeface'])) { $nestedtags['typeface'] = false; } if (!isset($nestedtags['div'])) { $nestedtags['div'] = false; } if (!isset($nestedtags['i'])) { $nestedtags['i'] = false; } if (!isset($nestedtags['b'])) { $nestedtags['b'] = false; } if (!isset($nestedtags['<'])) { $nestedtags['<'] = false; } if (!isset($nestedtags['>'])) { $nestedtags['>'] = false; } if (!isset($nestedtags['h'])) { $nestedtags['h'] = false; } $colors = getcolors(); do { ++$pos; if ($priv === false) { $out .= HTMLEntities(substr($data, $start, $pos - $start - 1), ENT_COMPAT, getsetting("charset", "ISO-8859-1")); } else { $out .= substr($data, $start, $pos - $start - 1); } $start = $pos + 1; if (isset($colors[$data[$pos]])) { if ($nestedtags['font']) { $out .= "</span>"; } else { $nestedtags['font'] = true; } $out .= "<span class='" . $colors[$data[$pos]] . "'>"; } else { if (isset($typefaces[$data[$pos]])) { if ($nestedtags['typeface']) { $out .= "</span>"; } else { $nestedtags['typeface'] = true; } $out .= "<span class='" . $typefaces[$data[$pos]] . "'>"; } else { switch ($data[$pos]) { case "n": $out .= "<br>\n"; break; case "0": if ($nestedtags['font']) { $out .= "</span>"; } $nestedtags['font'] = false; break; case "b": if ($nestedtags['b']) { $out .= "</b>"; $nestedtags['b'] = false; } else { $nestedtags['b'] = true; $out .= "<b>"; } break; case "i": if ($nestedtags['i']) { $out .= "</i>"; $nestedtags['i'] = false; } else { $nestedtags['i'] = true; $out .= "<i>"; } break; case "c": if ($nestedtags['div']) { $out .= "</div>"; $nestedtags['div'] = false; } else { $nestedtags['div'] = true; $out .= "<div align='center'>"; } break; case "h": if ($nestedtags['h']) { $out .= "</em>"; $nestedtags['h'] = false; } else { $nestedtags['h'] = true; $out .= "<em>"; } break; case ">": if ($nestedtags['>']) { $nestedtags['>'] = false; $out .= "</div>"; } else { $nestedtags['>'] = true; $out .= "<div style='float: right; clear: right;'>"; } break; case "<": if ($nestedtags['<']) { $nestedtags['<'] = false; $out .= "</div>"; } else { $nestedtags['<'] = true; $out .= "<div style='float: left; clear: left;'>"; } break; case "H": if ($nestedtags['div']) { $out .= "</span>"; $nestedtags['div'] = false; } else { $nestedtags['div'] = true; $out .= "<span class='navhi'>"; } break; case "w": global $session; if (!isset($session['user']['weapon'])) { $session['user']['weapon'] = ""; } $out .= $session['user']['weapon']; break; case "`": $out .= "`"; ++$pos; break; default: $out .= "`" . $data[$pos]; } } } } while (($pos = strpos($data, "`", $pos)) !== false); } if ($priv === false) { $out .= HTMLEntities(substr($data, $start), ENT_COMPAT, getsetting("charset", "ISO-8859-1")); } else { $out .= substr($data, $start); } //add closing italics tag, so that players don't screw things up $out .= "</i>"; return $out; }