X-Git-Url: https://wagner.pp.ru/gitweb/?a=blobdiff_plain;ds=sidebyside;f=forum%2Fforum;h=faba997cc181f294633e91966e5d9e9001bfa8ef;hb=07b26cc8c68fec7ce82e3cab703b676228f07da4;hp=e7cbc9218f6e23ae34691ed508adc207a72147c9;hpb=ca2ba3e6a15a53bdc210fd6acf8967bbd232b639;p=oss%2Fstilllife.git diff --git a/forum/forum b/forum/forum index e7cbc92..faba997 100755 --- a/forum/forum +++ b/forum/forum @@ -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"); }