Its works great. Like a charm. Except for one problem... well two... When my added smilies are in the box to the left of the field, where only one smilies shows at a time, when I select a new smilie, the image doesnt change. Also, when I chose that the smilies are in their own seperate window, nothing happens in mozilla, and in IE i get a runtime error error. Line: 0 Error: Object expected Any suggestions? Thanks.
P.S. the code in smilies.pl is the following. I have not edited any of it..
############################################################################### # Smilies.pl # ############################################################################### # YaBB: Yet another Bulletin Board # # Open-Source Community Software for Webmasters # # Version: YaBB 1 Gold - SP 1.3 # # Released: December 2001; Updated April 6, 2003 # # Distributed by: http://www.yabbforum.com # # =========================================================================== # # Copyright (c) 2000-2003 YaBB (www.yabbforum.com) - All Rights Reserved. # # Software by: The YaBB Development Team # # with assistance from the YaBB community. # # Sponsored by: Xnull Internet Media, Inc. - http://www.ximinc.com # # =========================================================================== # # Mod Name: Add More Smilies Version 3.0 # # Written by: BHRA Webmaster, Omario, dOCda S! # ###############################################################################
$smileymod = "Add More Smilies v3.0<br>by BHRA, Omario";
$popback = "\#FFFFFF"; # Background colour of More Smilies pop-up window (#RRGGBB or named colour). $poptext = "\#000000"; # Text colour of More Smilies pop-up window (#RRGGBB or named colour). $winwidth = "520"; # Width in pixels of More Smilies pop-up window. $winheight = "500"; # Height in pixels of More Smilies pop-up window. $wincolumn = "4"; # Number of columns in More Smilies pop-up window.
###############################################################################
sub SmilieIndex {
if ($SmilieURL[0] eq "") {&LoadSmilies;}
$i = 0; $offset = 0; $counter = 0; $smilieslist = ""; $colwidth = int(100 / $wincolumn); while($SmilieURL[$i]) { if ($counter % $wincolumn == 0 && $counter !=0) { $counter = 0; $smilieslist .= qq~ </tr><tr>~; $offset++; } if (($counter % $wincolumn + $offset) % 2 == 0) {$smiliescolor = qq~class="windowbg2" bgcolor="$color{'windowbg2'}"~;} else {$smiliescolor = qq~class="windowbg" bgcolor="$color{'windowbg'}"~;} if ($SmilieURL[$i]=~ /\//i) {$tmpurl = $SmilieURL[$i];} else {$tmpurl = qq~$smiliesurl/$SmilieURL[$i]~;} ($tmpCode, $dummy) = split (/\s+/, $SmilieCode[$i]); $tmpCode =~ s/'/'/g; if (($SmilieOption[$i] / 4) % 2 == 1) { $smilieslist .= qq~ <td align="center" valign="middle" height="60" width="$colwidth%" $smiliescolor><img src="$tmpurl" border="0" alt="" onclick='javascript:AddText(" $tmpCode")' style="cursor:hand" align="absmiddle"><br><font size="1" color="$poptext">$SmilieDescription[$i]</font></td>~; $counter++; } $i++; }
while ($counter % $wincolumn != 0) { if (($counter % $wincolumn + $offset) % 2 == 0) {$smiliescolor = qq~class="windowbg2" bgcolor="$color{'windowbg2'}"~;} else {$smiliescolor = qq~class="windowbg" bgcolor="$color{'windowbg'}"~;} $smilieslist .= qq~ <td align="center" valign="middle" height="60" width="25%" $smiliescolor> </td>\n~; $counter++; }
if (-e "$smiliesdir/banner.gif") {$smiliesheader=qq~<tr><td colspan="$wincolumn" bgcolor="$popback" align="center"><img src="$smiliesurl/banner.gif" alt=""></td></tr>~;} else {$smiliesheader=qq~<tr><td colspan="$wincolumn" class="titlebg" bgcolor="$color{'titlebg'}" align="center"><b><font size="2" color="$color{'titletext'}">$smi_txt{'21'}</font></b></td></tr>~;}
if(scalar @Cookies) { print header(-cookie=>[@Cookies], -charset=>'$yycharset'); } else { print header(-status=>'200 OK', -charset=>'$yycharset'); }
print qq~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>$smi_txt{'22'}</title> <script language="JavaScript1.2" type="text/javascript"> <!-- self.moveTo (0,0); self.resizeTo ($winwidth,$winheight);
function AddText(text1) { if (window.opener && !window.opener.closed) { if (opener.document.postmodify.message.caretPos) {opener.document.postmodify.message.caretPos.text = text1;} else {opener.document.postmodify.message.value += text1;} opener.document.postmodify.message.focus(); } } //--> </script> </head> <body bgColor="$popback"> <table border="0" align="center" cellspacing="0" cellpadding="0" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td> <table width="100%" border="0" cellspacing="1" cellpadding="3"> $smiliesheader <tr>$smilieslist </tr> </table> </td> </tr> </table> </body> </html>~;
exit; }
###############################################################################
sub SmiliePanel { &is_admin;
$yytitle = "$smi_txt{'1'}";
if ($SmilieURL[0] eq "") {&LoadSmilies;}
$yymain .= qq~ <script language="JavaScript1.2" type="text/javascript"> <!-- function MoveUp(i) { j = i-1; tmp = document.smileylist["sm_name["+i+"]"].value; document.smileylist["sm_name["+i+"]"].value = document.smileylist["sm_name["+j+"]"].value; document.smileylist["sm_name["+j+"]"].value = tmp; tmp = document.smileylist["sm_code["+i+"]"].value; document.smileylist["sm_code["+i+"]"].value = document.smileylist["sm_code["+j+"]"].value; document.smileylist["sm_code["+j+"]"].value = tmp; tmp = document.smileylist["sm_desc["+i+"]"].value; document.smileylist["sm_desc["+i+"]"].value = document.smileylist["sm_desc["+j+"]"].value; document.smileylist["sm_desc["+j+"]"].value = tmp; tmp = document.smileylist["sm_opt_a["+i+"]"].checked; document.smileylist["sm_opt_a["+i+"]"].checked = document.smileylist["sm_opt_a["+j+"]"].checked; document.smileylist["sm_opt_a["+j+"]"].checked = tmp; tmp = document.smileylist["sm_opt_b["+i+"]"].checked; document.smileylist["sm_opt_b["+i+"]"].checked = document.smileylist["sm_opt_b["+j+"]"].checked; document.smileylist["sm_opt_b["+j+"]"].checked = tmp; tmp = document.smileylist["sm_opt_c["+i+"]"].checked; document.smileylist["sm_opt_c["+i+"]"].checked = document.smileylist["sm_opt_c["+j+"]"].checked; document.smileylist["sm_opt_c["+j+"]"].checked = tmp; tmp = document.images["sm_image["+i+"]"].src; document.images["sm_image["+i+"]"].src = document.images["sm_image["+j+"]"].src; document.images["sm_image["+j+"]"].src = tmp; tmp = document.smileylist["sm_del["+i+"]"].checked; document.smileylist["sm_del["+i+"]"].checked = document.smileylist["sm_del["+j+"]"].checked; document.smileylist["sm_del["+j+"]"].checked = tmp; } //--> </script>
<br> <form action="$cgi;action=smilies2" method="POST" name="smileylist" style="display:inline"> <table border="0" align="center" cellspacing="0" cellpadding="0" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}" colspan="7"><img src="$imagesdir/grin.gif" alt="" align="absmiddle"> <font size="2" class="text1" color="$color{'titletext'}"><b>$smi_txt{'1'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}" colspan="7"><font i_txt{'26'}</li><li>$smi_txt{'27'}</li></ul>$smi_txt{'28'}</font></td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" width="24%" align="center"><b><font size="2">$smi_txt{'11'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="24%" align="center"><b><font size="2">$smi_txt{'12'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="24%" align="center"><b><font size="2">$smi_txt{'13'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="9%" align="center"><b><font size="2">$smi_txt{'14'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="9%" align="center"><b><font size="2">$smi_txt{'15'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="5%" align="center"><b><font size="2">$smi_txt{'17'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="5%" align="center"><b><font size="2">$smi_txt{'6'}</font></b></td> </tr>~;
$i=0; while($SmilieURL[$i]) { if ($SmilieOption[$i] % 2 == 1) {$ss_a = " checked";} else {$ss_a = "";} if (($SmilieOption[$i] / 2) % 2 == 1) {$ss_b = " checked";} else {$ss_b = "";} if (($SmilieOption[$i] / 4) % 2 == 1) {$ss_c = " checked";} else {$ss_c = "";}
undef $box; if ($SmilieURL[$i]=~ /\//i) {$tmpurl = $SmilieURL[$i];} else {$tmpurl = qq~$smiliesurl/$SmilieURL[$i]~;} $j = $i + 1; if ($i != 0) {$up = qq~<img src="$imagesdir/button_up.gif" border="0" alt="$smi_txt{'18'}" onclick="javascript:MoveUp($i)" style="cursor:hand">~;} else {$up = qq~<img src="$imagesdir/button_up.gif" border="0" alt="">~;} if ($SmilieURL[$i+1]) {$down = qq~<img src="$imagesdir/button_down.gif" border="0" alt="$smi_txt{'19'}" onclick="javascript:MoveUp($j)" style="cursor:hand">~;} else {$down = qq~<img src="$imagesdir/button_down.gif" border="0" alt="">~;}
$yymain .= qq~<tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_name[$i]' value="$SmilieURL[$i]" readonly></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_code[$i]' value="$SmilieCode[$i]"></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_desc[$i]' value="$SmilieDescription[$i]"></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><img name='sm_image[$i]' src='$tmpurl'></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type="checkbox" name="sm_opt_a[$i]" value="1" title="$smi_txt{'16a'}"$ss_a><input type="checkbox" name="sm_opt_b[$i]" value="1" title="$smi_txt{'16b'}"$ss_b><input type="checkbox" name="sm_opt_c[$i]" value="1" title="$smi_txt{'16c'}"$ss_c></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center">$up $down</td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type="checkbox" name="sm_del[$i]" value="1" title="$smi_txt{'7'}"></td> </tr>~; $i++ }
$yymain .= qq~<tr> <td class="titlebg" bgcolor="$color{'titlebg'}" colspan="7"><img src="$imagesdir/grin.gif" alt="" align="absmiddle"> <font size="2" class="text1" color="$color{'titletext'}"><b>$smi_txt{'20'}</b></font></td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'11'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'12'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'13'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'14'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'15'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'17'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" align="center"><b><font size="2">$smi_txt{'6'}</font></b></td> </tr>~; $inew=0; while($inew < 5) { $yymain .= qq~<tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_name[$i]'></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_code[$i]' style="font-family : courier, monospace;"></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type='text' name='sm_desc[$i]'></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center">-</td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center"><input type="checkbox" name="sm_opt_a[$i]" value="1" title="$smi_txt{'16a'}"><input type="checkbox" name="sm_opt_b[$i]" value="1" title="$smi_txt{'16b'}"><input type="checkbox" name="sm_opt_c[$i]" value="1" title="$smi_txt{'16c'}"></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center">-</td> <td class="windowbg2" bgcolor="$color{'windowbg2'}" align="center">-</td> </tr>~; $i++; $inew++; } $yymain .= qq~<tr> <td class="catbg" bgcolor="$color{'catbg'}" align="center" colspan="7"><input type="submit" value="$txt{'10'}"> <input type="reset" value="$txt{'278'}"></td> </tr> </table> </td> </tr> </table> </form>~;
&template; exit; }
###############################################################################
sub AddSmilies { &is_admin;
$i = 0; fopen(FILE, ">$vardir/Smilies.txt",1); while($FORM{"sm_name[$i]"}) { $tmp_url = $FORM{"sm_name[$i]"}; $tmp_code = $FORM{"sm_code[$i]"} || "[smiley=".(split (/\./, $tmp_url))[0]."]"; $tmp_desc = $FORM{"sm_desc[$i]"} || (split (/\./, $tmp_url))[0]; $tmp_a = $FORM{"sm_opt_a[$i]"} || 0; $tmp_b = $FORM{"sm_opt_b[$i]"} || 0; $tmp_c = $FORM{"sm_opt_c[$i]"} || 0; $tmp_opt = $tmp_a + 2 * $tmp_b + 4 * $tmp_c; &ToHTML($tmp_code); &ToHTML($tmp_desc); if($FORM{"sm_del[$i]"} ne "1") { print FILE "$tmp_url|$tmp_code|$tmp_desc|$tmp_opt\n"; } $i++ } fclose(FILE);
$yySetLocation = qq~$cgi;action=smilies~; &redirectexit; }
1;
|