###############################################################################
# EventCalBirthdays.pm #
# $Date: 06.01.17 $ #
###############################################################################
# YaBB: Yet another Bulletin Board #
# Open-Source Community Software for Webmasters #
# Version: YaBB 2.7.00 #
# Packaged: June 1, 2017 #
# Distributed by: http://www.yabbforum.com #
# =========================================================================== #
# Copyright (c) 2000-2017 YaBB (www.yabbforum.com) - All Rights Reserved. #
# Software by: The YaBB Development Team #
# with assistance from the YaBB community. #
###############################################################################
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
use utf8;
use Encode qw(decode_utf8 encode_utf8);
our $VERSION = '2.7.00';
our $eventcalbirthdayspmver = 'YaBB 2.7.00 $Revision$';
our @eventcalbirthdayspmmods = ();
our $eventcalbirthdayspmmods = 0;
if (@eventcalbirthdayspmmods) {
$eventcalbirthdayspmmods = 1;
}
our ($action);
$action ||= q{};
if ( $action eq 'detailedversion' ) { return 1; }
## language ##
our ( %croak, %var_cal, %zodiac_txt, @alpha, );
## paths ##
our ( $boardurl, $scripturl, $vardir, );
## settings ##
our ( $birthday_color_show, $birthday_date_show, $birthday_list_show,
$birthday_sign_show, $calsplit, $enabletz, $showage, $timeselected, );
## system ##
our (
$class_sortage, $class_sortdate, $class_sortstarsign,
$class_sortuser, $date, $forum_default,
$iamguest, $sel_day, $sel_mon,
$sel_year, $uid, $username,
$yymain, $yytitle, %FORM,
%format, %INFO, %link,
%memberaddgroup, %memberinf,
);
## templates ##
our (
$cal_col_no_ss, $cal_col_ss, $cal_col_ss_sort,
$cal_col_ss_top, $mybd_months, $mybdlist_calgoto,
$mybdlist_calinfoheader, $mybdlist_nobd, $mybdlist_notbmember,
$mybdlist_viewmont, $mybdlist_viewmont2,
);
load_language('EventCal');
get_template('Bdaylist');
sub birthdaylist {
if ( !$birthday_list_show || ( $iamguest && $birthday_list_show != 2 ) ) {
fatal_error('not_allowed');
}
my $heute = $date;
my $toffs = 0;
if ($enabletz) {
$toffs = toffs($date);
}
my ( $mday, $mon, $year ) = ( gmtime( $heute + $toffs ) )[ 3, 4, 5 ];
$year += 1900;
$mon += 1;
my $actualmon = sprintf '%02d', $mon;
my $actualday = sprintf '%02d', $mday;
# GoTo
my $calgotobox = get_bd_gotobox( $mday, $mon, $year );
# Begin Birthdaylist
my $sortiert = $INFO{'sort'} || $FORM{'sort'};
my $vmonth = $INFO{'vmonth'} || $FORM{'vmonth'};
my $letter = q{};
if ( $INFO{'letter'} || $FORM{'letter'} ) {
$letter = lc $INFO{'letter'} || lc $FORM{'letter'};
}
$letter = decode_utf8($letter);
# Begin Letter
if ( !$sortiert ) { $sortiert = 'sortdate'; }
{
no strict qw(refs);
${"class_$sortiert"} = ' class="selected-bg center"';
${"styleletter_$letter"} = ' class="catbg center"';
}
if ( !$class_sortuser ) { $class_sortuser = ' class="catbg center"'; }
if ( !$class_sortage ) { $class_sortage = ' class="catbg center"'; }
if ( !$class_sortstarsign ) {
$class_sortstarsign = ' class="catbg center"';
}
if ( !$class_sortdate ) { $class_sortdate = ' class="catbg center"'; }
my $cal_colspan = '3';
my $cal_col = $cal_col_no_ss;
my $cal_col_star_sort = q{};
my $cal_col_star = q{};
if ($birthday_sign_show) {
$cal_colspan = '4';
$cal_col = $cal_col_ss;
$cal_col_star_sort = $cal_col_ss_sort;
$cal_col_star = $cal_col_ss_top;
}
my @mont =
qw (null January February March April May June July August September October November December );
my (
$count_january, $count_february, $count_march, $count_april,
$count_may, $count_june, $count_july, $count_august,
$count_september, $count_october, $count_november, $count_december,
$view_january, $view_february, $view_march, $view_april,
$view_may, $view_june, $view_july, $view_august,
$view_september, $view_october, $view_november, $view_december,
);
my @countmont = (
'null', $count_january, $count_february, $count_march,
$count_april, $count_may, $count_june, $count_july,
$count_august, $count_september, $count_october, $count_november,
$count_december,
);
my @viewmont = (
'null', $view_january, $view_february, $view_march,
$view_april, $view_may, $view_june, $view_july,
$view_august, $view_september, $view_october, $view_november,
$view_december,
);
my @calmont =
qw( null calmon_01 calmon_02 calmon_03 calmon_04 calmon_05 calmon_06 calmon_07 calmon_08 calmon_09 calmon_10 calmon_11 calmon_12 );
require Variables::Memberinfo;
our (%calbday);
if ( -e "$vardir/Eventcalbday.pm" ) {
require Variables::Eventcalbday;
}
my @no_bd = ();
$no_bd[0] = 0;
my @no_birthday_found = ();
$no_birthday_found[0] = q{};
my ( $birthmembers1, $birthmembers2 ) =
get_bd_arrays( \%calbday, $actualmon, $actualday, $year, $vmonth );
my @birthmembers1 = @{$birthmembers1};
my @birthmembers2 = @{$birthmembers2};
undef %memberinf;
undef %calbday;
my $viewbirthdays = q{};
my ( $user_linkprofile, $myage, $bd_today, $showviewbd, );
if ( !@birthmembers1 ) {
$viewbirthdays = $mybdlist_notbmember;
}
else {
foreach my $user_name (@birthmembers1) {
my ( $user_bdyear, $user_bdmon, $user_bdday, $user_bdname, $age,
$sternzeichen, $user_bdrealname, $user_bdhide )
= @{$user_name};
# what birthday should we show begin
if ( $user_bdmon == $actualmon && $user_bdday == $actualday ) {
if ($birthday_color_show) {
load_user($user_bdname);
$user_linkprofile = $link{$user_bdname};
}
else {
load_user($user_bdname);
$user_linkprofile = profile_view($user_bdname);
}
if ( $showage && $user_bdhide ) {
$myage = $var_cal{'hidden'};
}
else {
$myage = $age;
}
$bd_today .=
qq~$user_linkprofile ($myage), ~;
}
$showviewbd = 1;
foreach my $i ( 1 .. 12 ) {
if ( $user_bdmon == $i ) {
$countmont[$i]++;
$no_bd[$i] = 1;
}
}
}
}
my $no_bd_found = 0;
foreach my $i ( 1 .. 12 ) {
if ( !$no_bd[$i] || $no_bd[$i] == 0 ) {
$no_birthday_found[$i] .= qq~• $var_cal{$calmont[$i]} ~;
$no_bd_found = 1;
}
else {
$no_birthday_found[$i] .= q{};
}
}
# handle with the months end
my $cal_info_header = $mybdlist_calinfoheader;
$cal_info_header =~ s/\Q{yabb cal_colspan}\E/$cal_colspan/gxsm;
$cal_info_header =~ s/\Q{yabb cal_col}\E/$cal_col/gxsm;
$cal_info_header =~ s/\Q{yabb cal_col_star_sort}\E/$cal_col_star_sort/gxsm;
$cal_info_header =~ s/\Q{yabb class_sortuser}\E/$class_sortuser/xsm;
$cal_info_header =~ s/\Q{yabb class_sortage}\E/$class_sortage/xsm;
$cal_info_header =~ s/\Q{yabb class_sortstarsign}\E/$class_sortstarsign/xsm;
$cal_info_header =~ s/\Q{yabb class_sortdate}\E/$class_sortdate/xsm;
if ($vmonth) {
my $myvmnthin = qq~;vmonth=$vmonth~;
$cal_info_header =~ s/\Q{yabb vmonth}\E/$myvmnthin/gxsm;
}
my $my_bdtoday = q{};
if ($bd_today) {
$bd_today =~ s/,\s $//xsm;
$my_bdtoday = qq~
$var_cal{'calbirthdaytoday'}:
$bd_today
~;
}
my $bdmonthlinks = q{};
my ($bdmonths);
my $mybdlist_alpha_a =
qq~~
. uc($i)
. q~  ~;
}
$my_alpha_a .=
$mybdlist_alpha_a . 'other'
. q~" style="text-decoration:none;">~
. $var_cal{'other'} . q~~;
$my_alpha_a =~ s/\Q{yabb sortiert}\E/$sortiert/xsm;
my $alpha = decode_utf8( $alpha[0] );
my $omega = decode_utf8( $alpha[-1] );
if ( $calsplit > 0 && @birthmembers1 >= $calsplit ) {
foreach my $i ( 1 .. 12 ) {
if ( $countmont[$i] ) {
$bdmonthlinks .=
qq~| $var_cal{$calmont[$i]} ~;
}
else {
$bdmonthlinks .=
qq~| $var_cal{$calmont[$i]} ~;
}
}
$bdmonths = $mybd_months;
$bdmonths =~ s/\Q{yabb bdmonthlink}\E/$bdmonthlinks/gxsm;
$my_alpha_a = q{};
}
my (
$datanum, $dnprpage, $postdisplaynum, $max,
$tmpa, $startpage, $endpage, $pageindex,
$pgstart, $yyvmon, $montview, $viewmont,
);
foreach my $j ( 1 .. 12 ) {
if ( $calsplit > 0
&& @birthmembers1 >= $calsplit
&& $vmonth
&& $vmonth eq $mont[$j] )
{
no strict qw(refs);
$datanum = @birthmembers2;
@birthmembers2 = sort { &{$sortiert}( $a, $b ); } @birthmembers2;
my $b_sort = q{};
if ( @birthmembers2 > 0 ) {
if ($sortiert) {
$b_sort = qq~;sort=$sortiert~;
}
my $newstart = $INFO{'newstart'} || 0;
$dnprpage = $calsplit;
$postdisplaynum = 8;
$max = $datanum;
$tmpa = 1;
$startpage = 0;
if ( $newstart >= ( ( $postdisplaynum - 1 ) * $dnprpage ) ) {
$startpage =
$newstart - ( ( $postdisplaynum - 1 ) * $dnprpage );
$tmpa = int( $startpage / $dnprpage ) + 1;
}
if ( $max >= $newstart + ( $postdisplaynum * $dnprpage ) ) {
$endpage = $newstart + ( $postdisplaynum * $dnprpage );
}
else { $endpage = $max }
if ( $startpage > 0 ) {
$pageindex =
qq~1 ... ~;
$pgstart = 0;
}
if ( $startpage == $dnprpage ) {
$pageindex =
qq~1 ~;
$pgstart = 0;
}
foreach my $counter ( $startpage .. ( $endpage - 1 ) ) {
if ( $counter % $dnprpage == 0 ) {
$pageindex .=
$newstart == $counter
? qq~$tmpa ~
: qq~$tmpa ~;
$pgstart = $counter;
$tmpa++;
}
}
my $lastpn = int( $datanum / $dnprpage ) + 1;
my $lastptn = ( $lastpn - 1 ) * $dnprpage;
my $pageindexadd = q{};
if ( $endpage < $max - ($dnprpage) ) {
$pageindexadd = q~... ~;
}
if ( $endpage != $max ) {
$pageindexadd .=
qq~$lastpn~;
$pgstart = $lastptn;
}
$pageindex .= $pageindexadd || q{};
$pageindex =
qq~ $var_cal{'139'}: $pageindex~;
my $numbegin = ( $newstart + 1 );
my $numend = ( $newstart + $dnprpage );
my $numshow = q{};
if ( $numend > $datanum ) { $numend = $datanum; }
if ( $datanum == 0 ) { $numshow = q{}; }
else { $numshow = qq~($numbegin - $numend)~; }
@birthmembers2 = splice @birthmembers2, $newstart, $dnprpage;
}
$yyvmon = $mybdlist_viewmont2;
$yyvmon =~ s/\Q{yabb cal_colspan}\E/$cal_colspan/gxsm;
$yyvmon =~ s/\Q{yabb cal_col}\E/$cal_col/gxsm;
$yyvmon =~ s/\Q{yabb cal_col_star_sort}\E/$cal_col_star_sort/gxsm;
$yyvmon =~ s/\Q{yabb calmont}\E/$var_cal{$calmont[$j]}/xsm;
$yyvmon =~ s/\Q{yabb countmont}\E/($countmont[$j])/xsm;
$yyvmon =~ s/\Q{yabb cal_info_header}\E/$cal_info_header/xsm;
$yyvmon =~ s/\Q{yabb pagecall}\E/;newstart=$pgstart/gxsm;
$yyvmon =~ s/\Q{yabb page}\E/$pageindex/gxsm;
$yyvmon =~ s/\Q{yabb input_letters}\E//xsm;
foreach my $user_name (@birthmembers2) {
my ( $user_bdyear, $user_bdmon, $user_bdday, $user_bdname, $age,
$sternzeichen, $user_bdrealname, $user_bdhide )
= @{$user_name};
$showviewbd = 0;
if ($letter) {
my $searchbdname = $user_bdrealname;
$searchbdname = isempty( $searchbdname, $user_bdname );
$searchbdname = decode_utf8($searchbdname);
my $search_name = lc( substr $searchbdname, 0, 1 );
if (
$search_name eq lc $letter
|| (
$letter eq 'other'
&& ( ( $search_name lt lc $alpha )
|| ( $search_name gt lc $omega ) )
)
)
{
$showviewbd = 1;
}
}
else {
$showviewbd = 1;
}
my ( $montv, $usr_linkprofile, $usr_linkname ) = get_bd_view(
$showviewbd, $user_bdmon, $user_bdday,
$user_bdyear, $user_bdhide, $user_bdname,
$user_bdrealname, $age, $cal_col_star,
$sternzeichen
);
$montview = $montv;
$user_linkprofile = $usr_linkprofile;
}
$yyvmon =~ s/\Q{yabb viewmont}\E/$montview/xsm;
}
elsif ( ( $calsplit == 0 || @birthmembers1 < $calsplit )
&& $countmont[$j] )
{
$yyvmon .= $mybdlist_viewmont2;
$yyvmon =~ s/\Q{yabb cal_colspan}\E/$cal_colspan/gxsm;
$yyvmon =~ s/\Q{yabb cal_col}\E/$cal_col/gxsm;
$yyvmon =~ s/\Q{yabb cal_col_star_sort}\E/$cal_col_star_sort/gxsm;
$yyvmon =~ s/\Q{yabb calmont}\E/$var_cal{$calmont[$j]}/xsm;
$yyvmon =~ s/\Q{yabb countmont}\E//xsm;
$yyvmon =~ s/\Q{yabb cal_info_header}\E/$cal_info_header/xsm;
$yyvmon =~ s/\Q{yabb input_letters}\E//xsm;
$montview =
get_bd_search( \@birthmembers1, $alpha, $omega, $sortiert, $j,
$letter, $cal_col_star, $showviewbd );
$yyvmon =~ s/\Q{yabb viewmont}\E/$montview/xsm;
}
}
$yymain .= $mybdlist_calgoto;
$yymain .= $my_alpha_a;
$yymain .= $viewbirthdays;
$yymain .= $bdmonths || q{};
$yymain .= $yyvmon || q{};
$yymain =~ s/\Q{yabb calgotobox}\E/$calgotobox/xsm;
$yymain =~ s/\Q{yabb cal_colspan}\E/$cal_colspan/gxsm;
$yymain =~ s/\Q{yabb my_bdtoday}\E/$my_bdtoday/gxsm;
$yymain =~ s/\Q{yabb cal_col}\E/$cal_col/gxsm;
$yymain =~ s/\Q{yabb cal_col_star_sort}\E/$cal_col_star_sort/gxsm;
$yymain =~ s/\Q{yabb class_sortuser}\E/$class_sortuser/xsm;
$yymain =~ s/\Q{yabb class_sortage}\E/$class_sortage/xsm;
$yymain =~ s/\Q{yabb class_sortstarsign}\E/$class_sortstarsign/xsm;
$yymain =~ s/\Q{yabb class_sortdate}\E/$class_sortdate/xsm;
if ( $no_bd_found
&& ( !$calsplit || @birthmembers1 <= $calsplit ) )
{
$yymain .= $mybdlist_nobd;
my $nobdays = q{};
foreach my $i ( 1 .. 12 ) {
$nobdays .= $no_birthday_found[$i];
}
$yymain =~ s/\Q{yabb cal_colspan}\E/$cal_colspan/gxsm;
$yymain =~ s/\Q{yabb nobdays}\E/$nobdays/xsm;
}
$yytitle = "$var_cal{yytitle} $var_cal{'calbirthdays'}";
template();
exit;
}
# sort area begin
sub sortdate {
my @zahl1 = @{$a};
my @zahl2 = @{$b};
return ( $zahl1[2] . $zahl1[0] <=> $zahl2[2] . $zahl2[0] );
}
sub sortage {
my @zahl1 = @{$a};
my @zahl2 = @{$b};
return ($zahl1[4]
. $zahl1[2]
. $zahl1[0] <=> $zahl2[4]
. $zahl2[2]
. $zahl2[0] );
}
sub sortstarsign {
my @name1 = @{$a};
my @name2 = @{$b};
return ( $name1[5] cmp $name2[5] );
}
sub sortuser {
my @name1 = @{$a};
my @name2 = @{$b};
return ( lc $name1[6] cmp lc $name2[6] );
}
sub starsign {
my ( $user_bdday, $user_bdmon, $text ) = @_;
my %stars = (
'0' => [ 'Capricorn', 1, 20, 1, ],
'1' => [ 'Aquarius', 21, 31, 1, ],
'2' => [ 'Aquarius', 1, 19, 2, ],
'3' => [ 'Pisces', 20, 29, 2, ],
'4' => [ 'Pisces', 1, 20, 3, ],
'5' => [ 'Aries', 21, 31, 3, ],
'6' => [ 'Aries', 1, 20, 4, ],
'7' => [ 'Taurus', 21, 30, 4, ],
'8' => [ 'Taurus', 1, 20, 5, ],
'9' => [ 'Gemini', 21, 31, 5, ],
'10' => [ 'Gemini', 1, 21, 6, ],
'11' => [ 'Cancerian', 22, 30, 6, ],
'12' => [ 'Cancerian', 1, 21, 7, ],
'13' => [ 'Leo', 23, 31, 7, ],
'14' => [ 'Leo', 1, 22, 8, ],
'15' => [ 'Virgo', 24, 31, 8, ],
'16' => [ 'Virgo', 1, 23, 9, ],
'17' => [ 'Libra', 24, 30, 9, ],
'18' => [ 'Libra', 1, 23, 10, ],
'19' => [ 'Scorpio', 24, 31, 10, ],
'20' => [ 'Scorpio', 1, 22, 11, ],
'21' => [ 'Sagittarius', 23, 30, 11, ],
'22' => [ 'Sagittarius', 1, 21, 12, ],
'23' => [ 'Capricorn', 22, 31, 12, ],
);
my $sternzeichen = q{};
foreach my $i ( 0 .. 23 ) {
if ( $user_bdday >= ${ $stars{$i} }[1]
&& $user_bdday <= ${ $stars{$i} }[2]
&& $user_bdmon == ${ $stars{$i} }[3] )
{
if ($text) {
load_language('Profile');
$sternzeichen = $zodiac_txt{ ${ $stars{$i} }[0] };
}
else {
$sternzeichen = $var_cal{ ${ $stars{$i} }[0] };
}
}
}
return $sternzeichen;
}
sub get_bd_view {
my @args = @_;
my (
$showviewbd, $user_bdmon, $user_bdday, $user_bdyear,
$user_bdhide, $user_bdname, $user_bdrealname, $age,
$cal_col_star, $sternzeichen
) = @args;
my $montview = q{};
if ($showviewbd) {
my $cdate = $var_cal{'hidden'};
if ( $birthday_date_show == 2
|| ( $birthday_date_show == 1 && !$iamguest ) )
{
my $mybtime =
stringtotime(qq~$user_bdmon/$user_bdday/$user_bdyear~);
my $mybtimein = timeformatcal($mybtime);
$cdate = dtonly($mybtimein);
if ( $showage && $user_bdhide ) {
$cdate = bdayno_year($mybtimein);
}
}
load_user($user_bdname);
my $user_linkprofile = profile_view($user_bdname);
if ($birthday_color_show) {
$user_linkprofile = $link{$user_bdname};
}
my $myage = $age;
if ( $showage && $user_bdhide ) {
$myage = $var_cal{'hidden'};
}
my $viewmont = $mybdlist_viewmont;
$viewmont =~ s/\Q{yabb cal_col_star}\E/$cal_col_star/xsm;
$viewmont =~ s/\Q{yabb user_linkprofile}\E/$user_linkprofile/xsm;
$viewmont =~ s/\Q{yabb myage}\E/$myage/xsm;
$viewmont =~ s/\Q{yabb sternzeichen}\E/$sternzeichen/xsm;
$viewmont =~ s/\Q{yabb cdate}\E/$cdate/xsm;
$montview .= $viewmont;
}
return $montview;
}
sub get_bd_gotobox {
my ( $mday, $mon, $year ) = @_;
my $boxdays =
qq~
';
my $boxmonths =
qq~
';
my $gyears3 = $year - 3;
my $gyears2 = $year - 2;
my $gyears1 = $year - 1;
my $boxyears =
qq~
';
my $calgotobox = qq~
\n~;
return $calgotobox;
}
sub get_bd_arrays {
my ( $calbday, $actualmon, $actualday, $year, $vmonth ) = @_;
my %calbday = %{$calbday};
my @birthmembers1 = ();
my @birthmembers2 = ();
my @string = ();
my @mont =
qw (null January February March April May June July August September October November December );
foreach my $user_bdname ( keys %calbday ) {
my ( $user_bdyear, $user_bdmon, $user_bdday, $user_bdhide ) =
@{ $calbday{$user_bdname} };
if ( $user_bdyear && $user_bdmon && $user_bdday ) {
my $memrealname = $memberinf{$user_bdname}[0];
my $age = 0;
if (
( $user_bdmon < $actualmon )
|| ( ( $user_bdmon == $actualmon )
&& ( $user_bdday <= $actualday ) )
)
{
$age = $year - $user_bdyear;
}
else { $age = $year - $user_bdyear; $age-- }
my $sternzeichen = q{};
if ($birthday_sign_show) {
$sternzeichen = starsign( $user_bdday, $user_bdmon );
}
if ( $age && $user_bdyear > 1904 && $user_bdmon && $user_bdday ) {
@string = (
$user_bdyear, $user_bdmon, $user_bdday, $user_bdname,
$age, $sternzeichen, $memrealname, $user_bdhide,
);
push @birthmembers1, [@string];
$calsplit ||= 0;
if ( $calsplit > 0 && $vmonth && $vmonth eq $mont[$user_bdmon] )
{
@string = (
$user_bdyear, $user_bdmon, $user_bdday,
$user_bdname, $age, $sternzeichen,
$memrealname, $user_bdhide,
);
push @birthmembers2, [@string];
}
}
}
}
return ( \@birthmembers1, \@birthmembers2 );
}
sub get_bd_search {
my @args = @_;
my ( $birthmembers1, $alpha, $omega, $sortiert, $j, $letter, $cal_col_star,
$showviewbd )
= @args;
my @birthmembers1 = @{$birthmembers1};
my $montview = q{};
no strict qw(refs);
foreach my $user_name ( sort { &{$sortiert}( $a, $b ); } @birthmembers1 ) {
my ( $user_bdyear, $user_bdmon, $user_bdday, $user_bdname,
$age, $sternzeichen, $user_bdrealname, $user_bdhide )
= @{$user_name};
if ( $user_bdmon == $j || $user_bdmon eq "$j" ) {
$showviewbd = 0;
if ($letter) {
my $searchbdname = $user_bdrealname;
$searchbdname = isempty( $searchbdname, $user_bdname );
$searchbdname = decode_utf8($searchbdname);
my $search_name = lc( substr $searchbdname, 0, 1 );
if (
$search_name eq lc $letter
|| (
$letter eq 'other'
&& ( ( $search_name lt lc $alpha )
|| ( $search_name gt lc $omega ) )
)
)
{
$showviewbd = 1;
}
}
else {
$showviewbd = 1;
}
if ($showviewbd) {
my $cdate = $var_cal{'hidden'};
if ( $birthday_date_show == 2
|| ( $birthday_date_show == 1 && !$iamguest ) )
{
my $mybtime =
stringtotime(qq~$user_bdmon/$user_bdday/$user_bdyear~);
my $mybtimein = timeformatcal($mybtime);
$cdate = dtonly($mybtimein);
if ( $showage && $user_bdhide ) {
$cdate = bdayno_year($mybtimein);
}
}
load_user($user_bdname);
my $user_linkprofile = profile_view($user_bdname);
if ($birthday_color_show) {
$user_linkprofile = $link{$user_bdname};
}
my $myage = $age;
if ( $showage && $user_bdhide ) {
$myage = $var_cal{'hidden'};
}
my $viewmont = $mybdlist_viewmont;
$cdate ||= $var_cal{'hidden'};
$viewmont =~ s/\Q{yabb cal_col_star}\E/$cal_col_star/xsm;
$user_linkprofile ||= q{};
$viewmont =~
s/\Q{yabb user_linkprofile}\E/$user_linkprofile/xsm;
$viewmont =~ s/\Q{yabb myage}\E/$myage/xsm;
$viewmont =~ s/\Q{yabb sternzeichen}\E/$sternzeichen/xsm;
$viewmont =~ s/\Q{yabb cdate}\E/$cdate/xsm;
$montview .= $viewmont;
}
}
}
return $montview;
}
1;