my($self, $cgi, $config) = @_; # evil. sub regexp_parse { my $have_entities = eval { require HTML::Entities; }; my $string = shift; $string =~ s/(? EOF if($::config->{smilies_popup}) { my $smilies = ::parse_config($::config->{smilies}); my %smilies; for(keys %$smilies) { $smilies{regexp_parse($_)} = $smilies->{$_}; } $smilies = _outputhash(\%smilies); $config->{smilies_perrow} = 5 unless exists $config->{smilies_perrow}; print < var swin; function smilies() { if(!swin) { swin = document.createElement("table"); swin.className = "main-smilies"; var smilies = $smilies; var c = 0, tr; for(var i in smilies) { if((c++ % $config->{smilies_perrow}) == 0) { tr = document.createElement("tr"); swin.appendChild(tr); } var cont = document.createElement("td"); cont.width = "@{[int(100 / $config->{smilies_perrow})]}%"; var p = document.createElement("img"); p.title = i; p.src = "$config->{image_path}/" + smilies[i] + ".gif"; cont.appendChild(p); cont.onclick = function() { parent.fform.append(this.firstChild.title + " "); this.parentNode.parentNode.style.display = 'none'; } tr.appendChild(cont); } document.body.appendChild(swin); } swin.style.display = ''; } EOF } print <
EOF