#!/usr/bin/perl -w $| = 1; ############################################################################### ############################################################################### # YaWPS - Yet another web Portal System # #-----------------------------------------------------------------------------# # yawps.cgi - this code initiates everything ;-) # # # # Copyright (C) 2001 by d3m1g0d (www.demigodz.org, webmaster@demigodz.org) # # # # This program is free software; you can redistribute it and/or # # modify it under the terms of the GNU General Public License # # as published by the Free Software Foundation; either version 2 # # of the License, or (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program; if not, write to the Free Software # # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # # # # # File: yawps.cgi, Last modified: 13:06 09/25/2001 # ############################################################################### ############################################################################### $scriptname = "YaWPS"; $scriptver = "0.1.2"; eval { require "../config.pl"; require "$lang"; require "$sourcedir/subs.pl"; if ($IIS != 2) { if ($IIS == 0) { if ($ENV{'SERVER_SOFTWARE'} =~ m!IIS!) { $IIS = 1; } } if (($IIS) && ($0 =~ m!(.*)(\\|\/)!)) { chdir($1); } if ($IIS == 1) { print "HTTP/1.0 200 OK\n"; } } }; if ($@) { print "Content-type: text/html\n\n"; print qq~

Software Error:

Execution of $scriptname has been aborted due a compilation error:
$@

If this problem persits, please contact the webmaster and inform him about date and time you've recieved this error.

~; exit; } getcgi(); getdate(); logips(); loadcookie(); loaduser(); logvisitors(); if ($action eq "register") { require "$sourcedir/user.pl"; register(); } elsif ($action eq "register2") { require "$sourcedir/user.pl"; register2(); } elsif ($action eq "login") { require "$sourcedir/user.pl"; login(); } elsif ($action eq "login2") { require "$sourcedir/user.pl"; login2(); } elsif ($action eq "logout") { require "$sourcedir/user.pl"; logout(); } elsif ($action eq "reminder") { require "$sourcedir/user.pl"; reminder(); } elsif ($action eq "reminder2") { require "$sourcedir/user.pl"; reminder2(); } elsif ($action eq "editprofile") { require "$sourcedir/user.pl"; editprofile(); } elsif ($action eq "editprofile2") { require "$sourcedir/user.pl"; editprofile2(); } elsif ($action eq "viewprofile") { require "$sourcedir/user.pl"; viewprofile(); } elsif ($action eq "memberlist") { require "$sourcedir/memberlist.pl"; mlist(); } elsif ($action eq "postnews") { require "$sourcedir/topics.pl"; postnews(); } elsif ($action eq "postnews2") { require "$sourcedir/topics.pl"; postnews2(); } elsif ($action eq "viewnews") { require "$sourcedir/topics.pl"; viewnews(); } elsif ($action eq "commentnews") { require "$sourcedir/topics.pl"; commentnews(); } elsif ($action eq "topics") { require "$sourcedir/topics.pl"; topics(); } elsif ($action eq "im") { require "$sourcedir/instantmessage.pl"; imindex(); } elsif ($action eq "imremove") { require "$sourcedir/instantmessage.pl"; imremove(); } elsif ($action eq "imsend") { require "$sourcedir/instantmessage.pl"; impost(); } elsif ($action eq "imsend2") { require "$sourcedir/instantmessage.pl"; impost2(); } elsif ($action eq "recommend") { require "$sourcedir/recommend.pl"; recommend(); } elsif ($action eq "recommend2") { require "$sourcedir/recommend.pl"; recommend2(); } elsif ($action eq "pollit") { require "$sourcedir/poll.pl"; pollit(); } elsif ($action eq "pollit2") { require "$sourcedir/poll.pl"; pollit2(); } elsif ($action eq "stats") { require "$sourcedir/stats.pl"; stats(); } elsif ($action eq "links") { require "$sourcedir/links.pl"; links(); } elsif ($action eq "addlink") { require "$sourcedir/links.pl"; addlink(); } elsif ($action eq "addlink2") { require "$sourcedir/links.pl"; addlink2(); } elsif ($action eq "redirect") { require "$sourcedir/links.pl"; redirect(); } elsif ($action eq "admin") { $admin = qq~$cgi?action=admin~; if ($op eq "") { require "$sourcedir/admin.pl"; siteadmin(); } elsif ($op eq "siteadmin") { require "$sourcedir/admin.pl"; siteadmin(); } elsif ($op eq "siteconfig") { require "$sourcedir/admin.pl"; siteconfig(); } elsif ($op eq "siteconfig2") { require "$sourcedir/admin.pl"; siteconfig2(); } elsif ($op eq "welcomemsg") { require "$sourcedir/admin.pl"; welcomemsg(); } elsif ($op eq "welcomemsg2") { require "$sourcedir/admin.pl"; welcomemsg2(); } elsif ($op eq "managecats") { require "$sourcedir/admin.pl"; managecats(); } elsif ($op eq "reordercats") { require "$sourcedir/admin.pl"; reordercats(); } elsif ($op eq "removecat") { require "$sourcedir/admin.pl"; removecat(); } elsif ($op eq "createcat") { require "$sourcedir/admin.pl"; createcat(); } elsif ($op eq "manageboards") { require "$sourcedir/admin.pl"; manageboards(); } elsif ($op eq "reorderboards") { require "$sourcedir/admin.pl"; reorderboards(); } elsif ($op eq "reorderboards2") { require "$sourcedir/admin.pl"; reorderboards2(); } elsif ($op eq "modifyboard") { require "$sourcedir/admin.pl"; modifyboard(); } elsif ($op eq "createboard") { require "$sourcedir/admin.pl"; createboard(); } elsif ($op eq "setcensor") { require "$sourcedir/admin.pl"; setcensor(); } elsif ($op eq "setcensor2") { require "$sourcedir/admin.pl"; setcensor2(); } elsif ($op eq "polladmin") { require "$sourcedir/admin.pl"; polladmin(); } elsif ($op eq "createpoll") { require "$sourcedir/admin.pl"; createpoll(); } elsif ($op eq "editpoll") { require "$sourcedir/admin.pl"; editpoll(); } elsif ($op eq "editpoll2") { require "$sourcedir/admin.pl"; editpoll2(); } elsif ($op eq "editpoll2a") { require "$sourcedir/admin.pl"; editpoll2a(); } elsif ($op eq "editpoll3") { require "$sourcedir/admin.pl"; editpoll3(); } elsif ($op eq "resetpoll") { require "$sourcedir/admin.pl"; resetpoll(); } elsif ($op eq "deletepoll") { require "$sourcedir/admin.pl"; deletepoll(); } elsif ($op eq "verifynews") { require "$sourcedir/admin.pl"; verifynews(); } elsif ($op eq "verifynews2") { require "$sourcedir/admin.pl"; verifynews2(); } elsif ($op eq "modifynews") { require "$sourcedir/admin.pl"; modifynews(); } elsif ($op eq "modifynews2") { require "$sourcedir/admin.pl"; modifynews2(); } elsif ($op eq "modifynews3") { require "$sourcedir/admin.pl"; modifynews3(); } elsif ($op eq "movetopic") { require "$sourcedir/admin.pl"; movetopic(); } elsif ($op eq "topicadmin") { require "$sourcedir/admin.pl"; topicadmin(); } elsif ($op eq "topicadmin2") { require "$sourcedir/admin.pl"; topicadmin2(); } elsif ($op eq "topicadmin3") { require "$sourcedir/admin.pl"; topicadmin3(); } else { require "$sourcedir/admin.pl"; siteadmin(); } } elsif ($action eq "forum") { $forum = qq~$cgi?action=forum&board=$currentboard~; if ($currentboard ne "" and $op eq "") { open(FILE, "$boardsdir/$currentboard.dat") || error("$err{'001'} $boardsdir/$currentboard.dat"); lock(FILE); chomp(@boardinfo=); unlock(FILE); close(FILE); $boardname = "$boardinfo[0]"; $boardmoderator = "$boardinfo[2]"; open(MODERATOR, "$memberdir/$boardmoderator.dat"); lock(MODERATOR); chomp(@modprop = ); unlock(MODERATOR); close(MODERATOR); $moderatorname = "$modprop[1]"; require "$sourcedir/forum.pl"; messageindex(); } elsif ($currentboard ne "" and $op eq "display") { require "$sourcedir/forum.pl"; display(); } elsif ($currentboard ne "" and $op eq "post" and $action ne "index") { require "$sourcedir/forum.pl"; post(); } elsif ($currentboard ne "" and $op eq "post2" and $action ne "index") { require "$sourcedir/forum.pl"; post2(); } elsif ($currentboard ne "" and $op eq "notify" and $action ne "index") { require "$sourcedir/forum.pl"; notify(); } elsif ($currentboard ne "" and $op eq "notify2" and $action ne "index") { require "$sourcedir/forum.pl"; notify2(); } elsif ($currentboard ne "" and $op eq "modify" and $action ne "index") { require "$sourcedir/forum.pl"; modifymessage(); } elsif ($currentboard ne "" and $op eq "modify2" and $action ne "index") { require "$sourcedir/forum.pl"; modifymessage2(); } elsif ($currentboard ne "" and $op eq "movethread" and $action ne "index") { require "$sourcedir/forum.pl"; movethread(); } elsif ($currentboard ne "" and $op eq "movethread2" and $action ne "index") { require "$sourcedir/forum.pl"; movethread2(); } elsif ($currentboard ne "" and $op eq "removethread" and $action ne "index") { require "$sourcedir/forum.pl"; removethread(); } elsif ($currentboard ne "" and $op eq "removethread2" and $action ne "index") { require "$sourcedir/forum.pl"; removethread2(); } elsif ($currentboard ne "" and $op eq "lockthread" and $action ne "index") { require "$sourcedir/forum.pl"; lockthread(); } elsif ($currentboard ne "" and $op eq "printpage" and $action ne "index") { require "$sourcedir/forum.pl"; printpage(); } elsif ($currentboard eq "") { require "$sourcedir/forum.pl"; boardindex(); } } elsif ($action eq "showsmilies") { require "$datadir/smilies.pl"; } else { print_main(); } exit; # all done