]> www.wagner.pp.ru Git - oss/stilllife.git/blobdiff - forum/forum
*** empty log message ***
[oss/stilllife.git] / forum / forum
index e7cbc9218f6e23ae34691ed508adc207a72147c9..faba997cc181f294633e91966e5d9e9001bfa8ef 100755 (executable)
@@ -418,9 +418,20 @@ sub fix_forum_links {
 
 sub substitute_user_info {
 
-my ($tree,$forum) = @_;
-my %userinfo = %{$forum->{"authenticated"}};
-
+my ($tree,$forum,$user) = @_;
+my %userinfo;
+if (defined $user) {
+       my %users;
+       dbmopen %users,datafile($forum,"passwd"),0644;
+       if (!$users{$user}) {
+               show_error($forum,"Неизвестный пользователь $user");
+       my $record = thaw($users{$user});
+       %userinfo = %$record;
+       $userinfo{"user"} = $user;
+} else {
+       # Если не сказано, какой юзер, то текущий.
+       %userinfo = %{$forum->{"authenticated"}}  
+}}
 #
 # Специально обрабатываем поля user (должна быть ссылка) и avatar  
 # (должен быть img).
@@ -443,6 +454,8 @@ my %userinfo = %{$forum->{"authenticated"}};
                $element->delete_content();
                $element->push_content(str2tree($userinfo{$field})) 
                                if $userinfo{$field};
+               $element->attr(href=>"mailto:$userinfo{$field}") 
+                       if ($element->tag eq "a" && $field eq "email");
        }