############################################################# # SSI_Center_Media.pl for YaBB 1 Gold - SP1 # ############################################################# # Mod Name: SSI_Center 1.0b4 special # # File written by: Ironwing # # Support, News, Updates at: http://boardmod.yabbforum.com # ############################################################# $SSI_Center_ver = "SSI Center v1.0 beta 4 special with support for Media SSI tags"; #################################################### # This routine processes SSI content for output to SSI statements. Called by SubList.pl sub SSI_Center_SSI_Media_Tags { # print qq~Content-type: text/html\n\n~; my $ssicnamecalled = $INFO{'ssicname'} || 'none'; my $ssicfile = qq~$vardir/ssic_~ . qq~$ssicnamecalled~ . q~.txt~; my $mainfile = qq~$vardir/ssi_center.txt~; if ( -e $mainfile) { fopen(FILE, $mainfile); @ssicindex = ; fclose(FILE); $iii = 0; foreach $ssicline (@ssicindex) { chomp $ssicline; ($ssicname[$iii], $ssicformat[$iii], $ssictagflag[$iii]) = split(/\|/,$ssicline); if( $ssicname[$iii] eq $ssicnamecalled ) { if( ( $ssicformat[$iii] eq $ssictxt{'20'} ) || ( $ssicformat[$iii] eq $ssictxt{'24'} ) ) { if ( -e $ssicfile) { fopen(FILE, $ssicfile); srand; rand($.) < 1 && ($message = $_) while ; fclose(FILE); chomp $message; } } elsif ( ( $ssicformat[$iii] eq $ssictxt{'07'} ) || ( $ssicformat[$iii] eq $ssictxt{'08'} ) ) { if ( -e $ssicfile) { fopen(FILE, $ssicfile); @ssiccontents = ; fclose(FILE); } $message = ''; for(my $i = 0; $i < @ssiccontents; $i++) { $message .= $ssiccontents[$i]; } chomp $message; } #### message now holds raw content #### Go to template routine to pick up standard yystuff #### also picks up SSI tags, may slow things down but may also allow recursive tags $ssic_dotemplate = 'ssic_dotemplate'; &template; ### if($message =~ m~~ && $enable_news) { fopen(FILE, "$vardir/news.txt"); @newsmessages = ; fclose(FILE); srand; $yynews = qq~$txt{'102'}: $newsmessages[int rand(@newsmessages)]~; } # whoson stuff begin if ( $ssicwhosontags == 1) { $messageholder = $message; require "$sourcedir/SSI_WhosOn.pl"; if( $message =~ m~~ ) { &SSI_WhoChat; } if( $message =~ m~~ ) { &SSI_WhoBirthday; } if( $message =~ m~~ ) { &SSI_WhoPoll; } if( $message =~ m~~ ) { &SSI_WhoMembers; } if( $message =~ m~~ ) { &SSI_WhoUsers; } if( $message =~ m~~ ) { &SSI_WhatTime; } if( $message =~ m~~ ) { &SSI_WhoIM; } if( $message =~ m~~ ) { &SSI_WhoStats; } if( $message =~ m~~ ) { &SSI_CalStuff; } if( $message =~ m~~ ) { &SSI_WhoRecent; } $message = $messageholder; } # whoson stuff end if ( ( $ssicformat[$iii] eq $ssictxt{'07'} ) || ( $ssicformat[$iii] eq $ssictxt{'24'} ) ) { require "$sourcedir/YaBBC.pl"; &DoUBBC; } $message =~ s~~${"yy$1"}~g; if ($message ne ''){ print qq~$message~; } $iii++; } # end name found } # end loop through main file } # end mainfile exists if statement } # end routine 1;