+ $long_desc =~ s,((ftp|http|https)://[\S~-]+?/?)((\>\;)?[)]?[']?[:.\,]?(\s|$)),<a href=\"$1\">$1</a>$3,go; # syntax highlighting -> '];
+ $long_desc =~ s/\A //o;
+ $long_desc =~ s/\n /\n/sgo;
+ $long_desc =~ s/\n.\n/\n<p>\n/go;
+ $long_desc =~ s/(((\n|\A) [^\n]*)+)/\n<pre>$1\n<\/pre>/sgo;
+
+ return ($short_desc, $long_desc);
+ }
+
+ my $desc = $descriptions{$did};
+ my $long_desc;
+ ($short_desc, $long_desc) = process_description($desc);
+
+ $contents{desc}{en} = { short => $short_desc,
+ long => $long_desc, };
+
+ debug( "desc_md5=$desc_md5", 2)
+ if DEBUG;
+ my $trans_desc = $desctrans{$desc_md5};
+ if ($trans_desc) {
+ my %trans_desc = split /\000|\001/, $trans_desc;
+ $contents{used_langs} = ['en', sort keys %trans_desc];
+ debug( "TRANSLATIONS: ".join(" ",keys %trans_desc), 2)
+ if DEBUG;
+ while (my ($l, $d) = each %trans_desc) {
+ my ($short_t, $long_t) = process_description($d);
+
+ $contents{desc}{$l} = { short => $short_t,
+ long => $long_t, };
+ }
+ }