From e9192b3d42660a5781101df4357d276318151e8a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 2 Aug 2013 17:14:41 -0500 Subject: cgi-bin & lib --- lib/headers.pm | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 lib/headers.pm (limited to 'lib/headers.pm') diff --git a/lib/headers.pm b/lib/headers.pm new file mode 100644 index 0000000..dffc84c --- /dev/null +++ b/lib/headers.pm @@ -0,0 +1,347 @@ +#### bucky's cheezy default headers! + +use RGB; + +our $SEEN_HEADER = 0; + +sub header + { + # my ($title, $subtitle, $sticky, $color, $sidetitle) = @_; + my ($args) = @_; + my $title = ref($args) ? $args->{title} : $args; + my $color = exists $args->{color} ? $args->{color} : "plain"; + + if ($SEEN_HEADER == 1) + { + # probably having an error if this has already been called + # already seen content-type so . . . + + print < +
+ + +
$title
+ERRORHEADER + return; + } + $SEEN_HEADER = 1; + print "Content-type: text/html\n\n"; + my $buhtitle = $title; + $buhtitle =~ s/<(([^ >]|\n)*)>//g; + $color = $COLORS{$color} if exists $COLORS{$color}; + my $rgb = RGB->new($color); + $rgb->perturb([4,4,8]); + $rgb->add(nighttime_quotient()); + my $rgb_out = $rgb->hex(); + print < + + $BUCKY_NAME [$buhtitle] + + + +head + print qq( \n) if $color eq "black"; + if ($0 =~ /login/) + { + print qq[\n]; + print qq! \n\n\n!; + } + else + { + print qq! \n\n\n!; + } + if ($BUCKY_CONFIG->{SNOWBALL_MACHINE} eq "on" && $0 =~ /index/) # && (time % 13) < 7) + { + do_snowfall(); + $title = "ACTIVATE SNOWBALL MACHINE !!!"; + print <<__CSS__; + +__CSS__ + } + print < +
+ +mid + + # print the header text. as these variables lie in different quadrants of a table, + # all may not exist, so here's some business logic! + # title sidetitle (nb: there must always be a title) + # subtitle sidesubtitle + print qq(); + print qq(); + + if (exists $args->{sidetitle}) + { + print qq(); + } + + if (exists $args->{subtitle} || exists $args->{sidesubtitle}) + { print qq!\n!; } + if (exists $args->{subtitle}) + { + print qq!!; + } + if (exists $args->{sidesubtitle}) + { + print qq!!; + } + print qq!\n!; + print qq!
{sidetitle} && exists $args->{sidesubtitle}) + { print qq( colspan=2); } + print qq(>); + print qq($title); + print qq({subtitle} && ! exists $args->{sidesubtitle}) + { print qq( rowspan=2); } + print qq(>); + print $args->{sidetitle}; + print qq(
{sidetitle} && ! exists $args->{sidesubtitle}) + { print qq( colspan=2); } + print qq(>); + print qq!! . $args->{subtitle} . qq!{sidetitle} && ! exists $args->{subtitle}) + { print qq( colspan=2); } + print qq(>); + print qq!! . $args->{sidesubtitle} . qq!
!; + } + +# sticky_button($args->{sticky}) if (($args->{sticky}) && ($USER != -1)); + +sub menu + { + my ($args) = @_; + my $kw = $args->{keywords}; + my $ftp = $BUCKY_CONFIG->{FTP_ENABLED} && $args->{ftp}; + my $loggedin = ($USER != -1); + my $keyed = (defined($kw) && ($kw->{public} || check_op($kw))); + print < + +
+ + + +bigtitle + + if ( $loggedin ) + { + print qq!home!; + + print qq! | !; + + # print qq!dump |\n! if ($USER->{ulevel} > 1); + + print qq!search | !; + + if ($keyed) + { print qq!post |\n!; } + else + { print qq!post |\n!; } + + if (defined($ftp) && $ftp > 0) + { + if ($ftp < 5) + { print qq(ftp here |\n); } + else + { print qq(ftp here |\n); } + } + elsif ($ftp == 0) + { print qq(ftp |\n); } + elsif ($keyed) + { print qq(ftp |\n); } + else + { print qq(ftp |\n); } + + my $newmsg = count_new_messages($USER->{username}); + if ($newmsg > 0) + { print qq[inbox ($newmsg new) |\n]; } + else + { print qq[inbox |\n]; } + + print qq[message |\n]; + + print <profile | +logout + + +$lastlog | userlist + +bigfoot + } + else + { + # else: logged out, only display "login" + print <home +| +login + + + +bigfeet + } + + print < +
+ + +bighonk + } + +sub footer + { + print < +
+foot + + print < + + +foot + } + +sub send_welcome_message + { + my $id = shift; + my $uname = get_username($id); + new_message("$uname.inbox", {sender => "system", recipient => $uname, unread => 1, subject => $BUCKY_WELCOME_SUBJECT, body => $BUCKY_WELCOME_BODY}); + return 1; + } + +sub do_snowfall + { + print < + +// *********HAPPY WINTER F-A-G-S********* + +// Distributed by http://www.hypergurl.com + +// Set the number of snowflakes (more than 30 - 40 not recommended) +var snowmax=40; + +// Set the colors for the snow. Add as many colors as you like +var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD") //shitballs +//var snowcolor=new Array("#C8A46E","#A9834F","#5B3714") + +// Set the fonts, that create the snowflakes. Add as many fonts as you like +var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS","Georgia","Trebuchet MS") + +// Set the letter that creates your snowflake (recommended:*) +var snowletter="*" + +// Set the speed of sinking (recommended values range from 0.3 to 2) +var sinkspeed=0.6 + +// Set the maximal-size of your snowflaxes +var snowmaxsize=43 + +// Set the minimal-size of your snowflaxes +var snowminsize=16 + +// Set the snowing-zone +// Set 1 for all-over-snowing, set 2 for left-side-snowing +// Set 3 for center-snowing, set 4 for right-side-snowing +var snowingzone=1 + +/////////////////////////////////////////////////////////////////////////// +// CONFIGURATION ENDS HERE +/////////////////////////////////////////////////////////////////////////// + + +// Do not edit below this line +var snow=new Array() +var marginbottom +var marginright +var timer +var i_snow=0 +var x_mv=new Array(); +var crds=new Array(); +var lftrght=new Array(); +var browserinfos=navigator.userAgent +var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/) +var ns6=document.getElementById&&!document.all +var opera=browserinfos.match(/Opera/) +var browserok=ie5||ns6||opera + +function randommaker(range) { + rand=Math.floor(range*Math.random()) + return rand +} + +function initsnow() { + if (ie5 || opera) { + marginbottom = document.body.clientHeight + marginright = document.body.clientWidth + } + else if (ns6) { + marginbottom = window.innerHeight + marginright = window.innerWidth + } + var snowsizerange=snowmaxsize-snowminsize + for (i=0;i<=snowmax;i++) { + crds[i] = 0; + lftrght[i] = Math.random()*15; + x_mv[i] = 0.03 + Math.random()/10; + snow[i]=document.getElementById("s"+i) + snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)] + snow[i].size=randommaker(snowsizerange)+snowminsize + snow[i].style.fontSize=snow[i].size + snow[i].style.color=snowcolor[randommaker(snowcolor.length)] + snow[i].sink=sinkspeed*snow[i].size/5 + if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} + if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} + if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} + if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} + snow[i].posy=randommaker(6*marginbottom-marginbottom-6*snow[i].size) + snow[i].style.left=snow[i].posx + snow[i].style.top=snow[i].posy + } + movesnow() +} + +function movesnow() { + for (i=0;i<=snowmax;i++) { + crds[i] += x_mv[i]; + snow[i].posy+=snow[i].sink + snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]); + snow[i].style.top=snow[i].posy + + if (snow[i].posy>=marginbottom-6*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){ + if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)} + if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)} + if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4} + if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2} + snow[i].posy=0 + } + } + var timer=setTimeout("movesnow()",50) +} + +for (i=0;i<=snowmax;i++) { + document.write(""+snowletter+"") +} +if (browserok) { + window.onload=initsnow +} + + +snowfall + + } +1; + -- cgit v1.2.3-70-g09d2