

UPDATE box set content = 'my $sid = $S->{CGI}->param(\'sid\');\r\nmy $f_sid = $S->{DBH}->quote($sid);\r\n\r\nmy ($rv, $sth) = $S->db_select({\r\n WHAT => \'introtext, bodytext, aid, tid\',\r\n FROM => \'stories\',\r\n WHERE => qq|sid = $f_sid|});\r\n\r\nmy $data = $sth->fetchrow_hashref;\r\n$sth->finish;\r\n\r\nmy $text = $data->{introtext}.$data->{bodytext};\r\n\r\nmy @link_arr;\r\n\r\nmy @first_related = split /\\n/, $S->{UI}->{BLOCKS}->{autorelated};\r\nmy (%related, $word, $url);\r\n\r\nforeach my $rel (@first_related) {\r\n ($word, $url) = split /,/, $rel;\r\n chop($url);\r\n $related{$word} = $url;\r\n}\r\n\r\nforeach $word (keys %related) {\r\n if ($text =~ /$word/gi) {\r\n  push @link_arr, $word, qq|<A CLASS=\"light\" HREF=\"$related{$word}\">|;\r\n }\r\n}\r\n\r\nmy $text_2 = $text;\r\nwhile ( $text_2 =~ /(<a href.*?>)(.*?)(<\\/a>)/gis ) {\r\n my $link = $1.$2.$3;\r\n my $start = $1;\r\n my $end = $3;\r\n my $word = $2;\r\n if ( !($link =~ /<IMG/gi) && !($related{$word}) ) {\r\n  $related{$word} = 1;\r\n  $start =~ s/<A HREF/<A CLASS=\"light\" HREF/i;\r\n  $word =~ s/^\\s*(.*?)\\s*$/$1/s;\r\n  $word =~ s/^(\\S{30})(.*)/$1 $2/;\r\n  push @link_arr, $word, qq|$start|;\r\n }\r\n}\r\n\r\n# Use the get_topic method, since it accounts for diaries\r\nmy $t = $S->get_topic($data->{\'tid\'});\r\n\r\nmy $auth_urlenc = $data->{aid};\r\n$auth_urlenc =~ s/\\s/%20/g;\r\n\r\nif ($data->{\'tid\'} =~ /^diary_/) {\r\n push @link_arr, \"$data->{aid}\'s Diary\", qq|<A CLASS=\"light\" HREF=\"%%rootdir%%/?op=section;section=Diary;user=$data->{\'tid\'}\">|;\r\n} else {\r\n push @link_arr, \"More on $t->{alttext}\", qq|<A CLASS=\"light\" HREF=\"%%rootdir%%/?op=search;topic=$data->{tid}\">|;\r\n push @link_arr, \"Also by $data->{aid}\", qq|<A CLASS=\"light\" HREF=\"%%rootdir%%/?op=search;type=author;string=$auth_urlenc\">|;\r\n}\r\n\r\n\r\nmy $content;\r\nmy $i = 0;\r\nwhile ($i <= $#link_arr) {\r\n  $content .= qq|%%dot%% $link_arr[$i+1]$link_arr[$i]</A><BR>|;\r\n  $i += 2;\r\n}\r\n\r\nreturn {content => $content };' where boxid = 'related_links';

