home *** CD-ROM | disk | FTP | other *** search
- $path = "$ENV{'PATH_TRANSLATED'}";
- $path =~ s/submit-bbs-form.cgi//;
- $configFile = "config";
- $configPath = $path.$configFile;
- require $configPath;
-
-
-
- $PARENT=1;
- sub lock{
- if ($flock_exists == 1){
- local ($file_handle);
- foreach $file_handle (@_){
- flock($file_handle, 2);
- }
- }
- }
- sub unlock{
- if ($flock_exists == 1){
- local ($file_handle);
- foreach $file_handle (@_){
- flock($file_handle, 8);
- }
- }
- }
- sub createInd{
- open(original,"$STORAGE_DIR/bbs-data.original") || die "can't open bbs-data.original
- ";
- open(ind,">> $STORAGE_DIR/bbs-data.html") || die "can't open bbs-data.original
- ";
- &lock(ind);
- select(ind);
- while(<original>){
- print;
- }
- &unlock(ind);
- close(original);
- close(ind);
- chmod 0606, <$STORAGE_DIR/bbs-data.html>;
- open(original,"$STORAGE_DIR/zero.counter") || die "can't open bbs-data.original
- ";
- open(ind,">> $STORAGE_DIR/counter") || die "can't open bbs-data.original
- ";
- &lock(ind);
- select(ind);
- while(<original>){
- print;
- }
- &unlock(ind);
- close(original);
- close(ind);
- chmod 0606, <$STORAGE_DIR/counter>;
- open(original,"$STORAGE_DIR/zero.counter") || die "can't open bbs-data.original
- ";
- open(ind,">> $STORAGE_DIR/thread_counter") || die "can't open bbs-data.original
- ";
- &lock(ind);
- select(ind);
- while(<original>){
- print;
- }
- &unlock(ind);
- close(original);
- close(ind);
- chmod 0606, <$STORAGE_DIR/thread_counter>;
- }
- sub getToken{
- createInd unless (-e "$STORAGE_DIR/bbs-data.html");
- if ($ENV{'QUERY_STRING'} != ''){
- $PARENT=0;
- return ($ENV{'QUERY_STRING'});
- }
- open(TOKEN,"$THREAD_TOKEN") || die "can't open $STORAGE_DIR/$file_handle.html\n";
- &lock(TOKEN);
- while (<TOKEN>) {
- $tokenReturn = "$_";
- chop($tokenReturn);
- }
- &unlock(TOKEN);
- close(TOKEN);
- open(TOKEN,"> $THREAD_TOKEN") || die "can't open $STORAGE_DIR/$file_handle.html\n";
- &lock(TOKEN);
- $tokenNext = $tokenReturn + 1;
- select(TOKEN);
- print <<"DONE";
- $tokenNext
- DONE
- &unlock(TOKEN);
- close(TOKEN);
- select(STDOUT);
- return $tokenReturn;
- }
- select(STDOUT);
- print "Content-type: text/html\n\n";
- print <<"END";
- <HTML><HEAD>
- <TITLE>bbs submit</TITLE><META NAME="Author" CONTENT="">
- <script language="JavaScript">
- <!--
- var today = new Date();
- function newCookie(name, value){
- document.cookie = name + "=" + value + "; expires=Tue, 07 Jan 2010 00:00:01 GMT";
- }
-
- function readCookie(name){
- var cookieFound = false;
- var start = 0;
- var end = 0;
- var cookieString = document.cookie;
- var i = 0;
- while (i <= cookieString.length){
- start =i;
- end = start + name.length;
- if (cookieString.substring(start,end) == name){
- cookieFound = true;
- break;
- }
- i++;
- }
- if (cookieFound){
- start = end + 1;
- end = document.cookie.indexOf(";",start);
- if (end < 0){
- end = document.cookie.length;
- }
- else if (end < start){
- end = document.cookie.length;
- }
- return document.cookie.substring(start,end);
- }
- return '';
- }
-
- function replace(target,oldTerm,newTerm,caseSens,wordOnly){
- var work=target;
- var ind=0;
- var next=0;
- if(!caseSens){
- oldterm = oldTerm.toLowerCase();
- work = target.toLowerCase();
- }
- while((ind = work.indexOf(oldTerm,next)) >= 0) {
- if (wordOnly){
- var before = ind - 1;
- var after = ind + oldTerm.length;
- if (!(space(work.charAt(before)) && space(work.charAt(after)))){
- next = ind + oldTerm.length;
- continue;
- }
- }
- target = target.substring(0,ind) + newTerm + target.substring(ind+oldTerm.length,target.length);
- work = work.substring(0,ind) + newTerm + work.substring(ind+oldTerm.length,work.length);
- next = ind + newTerm.length;
- if (next >= work.length) { break; }
- }
- return target;
- }
- function timeNow(){
- return today.getTime();
- }
- function timeRealNow(){
-
- return replace(today.toGMTString()," ","_",false,false);
- }
- //-->
- </script>
- </HEAD>
-
- <BODY bgcolor=#FFFFFF LINK=#FF0000 VLINK=#800080 ALINK=#800080>
- END
- $printme = getToken();
- if ($PARENT == 0){
- print "<font size=4>Reply to Message: $printme</font>";
- }
- else {
- print "<font size=4>New Message: $printme</font>";
- }
- print<<"END";
- <FORM ACTION="bbs-submit.cgi" method="POST">
- END
- print "<INPUT TYPE=HIDDEN NAME=\"parent\" VALUE= \"$PARENT\">";
- print "<INPUT TYPE=HIDDEN NAME=\"thread\" VALUE = \"$printme\">";
- print <<"END";
- <script language="JavaScript">
- document.write("<INPUT TYPE=HIDDEN NAME=time VALUE =\\""+timeNow()+"\\">");
- document.write("<INPUT TYPE=HIDDEN NAME=RealTime VALUE ="+timeRealNow()+">");
- </script>
- <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=485>
- <TR>
- <TD WIDTH=12></TD><TD WIDTH=25></TD><TD WIDTH=38></TD><TD WIDTH=13></TD><TD WIDTH=91></TD>
- <TD WIDTH=3></TD><TD WIDTH=92></TD><TD WIDTH=54></TD><TD WIDTH=157></TD><TD WIDTH=0></TD>
-
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=36></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=4 ROWSPAN=3 WIDTH=240>
- <script language="JavaScript">
-
- document.write('<INPUT TYPE=text NAME=\\"name\\" SIZE=\\"30\\" MAXLENGTH=\\"100\\" onChange=\\"newCookie(\\'netobjects_bbs_username\\',this.form.name.value)\\" VALUE=\\"' + readCookie("netobjects_bbs_username")+ '\\">');
- </script>
- </TD>
- <TD COLSPAN=2 HEIGHT=3></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=2></TD>
- <TD COLSPAN=1 ROWSPAN=1 WIDTH=45>
- <P ALIGN="RIGHT"><B>Name</B></TD>
-
- <TD COLSPAN=1></TD>
- <TD COLSPAN=2 HEIGHT=16></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=2 HEIGHT=3></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=11></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=4 ROWSPAN=3 WIDTH=240>
-
- <script language=JavaScript>
-
- document.write('<INPUT TYPE=text NAME=\\"email\\" SIZE=\\"30\\" MAXLENGTH=\\"100\\" onChange=\\"newCookie(\\'netobject_bbs_email\\',this.form.email.value)\\" VALUE=\\"'+readCookie("netobject_bbs_email")+ '\\">');
- </script>
- </TD>
- <TD COLSPAN=2 HEIGHT=1></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=2></TD>
- <TD COLSPAN=1 ROWSPAN=1 WIDTH=45>
- <P ALIGN="RIGHT"><B>E-mail</B></TD>
-
- <TD COLSPAN=1></TD>
- <TD COLSPAN=2 HEIGHT=16></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=2 HEIGHT=5></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=13></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=4 ROWSPAN=3 WIDTH=240>
-
- <script language="JavaScript">
-
- document.write('<INPUT TYPE=text NAME=\\"subject\\" SIZE=\\"30\\" MAXLENGTH=\\"100\\" VALUE=\\"' + parent.getParentSubject("$printme")+ '\\">');
- </script>
- </TD>
- <TD COLSPAN=2 HEIGHT=2></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=1></TD>
- <TD COLSPAN=2 ROWSPAN=1 WIDTH=63>
- <P ALIGN="RIGHT"><B>Subject</B></TD>
-
- <TD COLSPAN=1></TD>
- <TD COLSPAN=2 HEIGHT=18></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=2 HEIGHT=2></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=8></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=5 ROWSPAN=1 WIDTH=397><TEXTAREA NAME="body" ROWS=10 COLS=45 WRAP=physical ></TEXTAREA></TD>
- <TD COLSPAN=1 HEIGHT=179></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=6></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=6></TD>
- <TD COLSPAN=1 ROWSPAN=2 WIDTH=92 ALIGN="center" VALIGN="center"></TD>
- <TD COLSPAN=3 HEIGHT=1></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=4></TD>
- <TD COLSPAN=1 ROWSPAN=1 WIDTH=92 ALIGN="center" VALIGN="center"><INPUT TYPE=SUBMIT VALUE="Submit"></TD>
- <TD COLSPAN=1></TD>
- <TD COLSPAN=3 HEIGHT=22></TD>
- </TR>
- <TR VALIGN="top" ALIGN="left">
- <TD COLSPAN=10 HEIGHT=0></TD>
- </TR>
- </TABLE>
- </FORM></BODY>
- </HTML>
-
-
- END
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-