sub smileys_handler { my($self,$main,$text) = @_; return if $main->{current_user}{nosmileys}; if (!exists($self->{smileys})) { $self->{smileys} = {}; foreach my $smiley (@{$main->{settings}{smileys}}) { my $image = undef; foreach (@$smiley) { if (!defined($image)) { $image = $_; my ($width,$height); ($width,$height) = @{$main->{settings}{images}{$image}} if defined($main->{settings}{images}{$image}); $width = (defined($width) ? " width=$width": ""); $height = (defined($height) ? " height=$height": ""); my $alt = $main->toHTML($smiley->[1]); $image = "{settings}{urls}{imagesurl}$image.gif\" border=0$width$height alt=\"$alt\">"; } elsif ($_ ne '/hidden/') { $self->{smileys}{$main->toHTML($_)} = $image; } } } } $$text =~ s/([^\s<>]+)/($self->{smileys}{$1}||$1)/ge; }