*/
Do you receive the Programmer's Heaven newsletter? If not, why not subscribe?
*/

View \MAIN.PAS

Full Source Code To Vision Bbs System

Submitted By: WEBMASTER
Rating: (Not rated) (Rate It)


{$R-,S-,I-,D-,F+,V-,B-,N-,L+ }

unit main;

interface

uses crt,
     windows,gentypes,modem,gensubs,subs1,subs2,userret,overret1,mainr2,
     bulletin,configur,database,doors,email,gamble,filexfer,mycomman,voting,
     mainmenu,others;

procedure mainsysopcommands;
procedure mainmenuproc;
procedure breakout;

implementation

procedure mainsysopcommands;
var q:integer;
begin
        if not getsysoppwd then begin
                 Inc(HackAttempts);
                 DoHackShit;
                 exit;
                 end;
  repeat
                q:=menu ('Sysop','SYSOP','QTEANDUCIJSKVMFRZPLB*');
                case q of
                        2:editoldspecs;
                        3:readerrlog;
                        4:addnews;
                        5:editnews;
                        6:delerrlog;
                        7:editusers;
                        8:settime;
                        9:infoformhunt;
                        10:showallforms;
                        11:viewsyslog;
                        12:delsyslog;
                        13:showallsysops;
                        14:makeuser;
                        15:readfeedback;
                        16:removeallforms;
                        17:zapspecifiedusers;
                        18:localconfiguration;
                        19:Loozerlists;
                        20:nodelists;
                        21:RemoteDosShell;
                end
        until (q=1) or hungupon
end;

procedure mainmenuproc;
var q,z:integer;
{   mnu:menutype;      Pull down menus commented out.
    topmnu:lrmenutype;  }

begin
{
  topmnu[1]:='Go Somewhere';
  topmnu[2]:='The BBS';
  topmnu[3]:='Other';
  topmnu[4]:='';
                 }

  repeat
    if fromdoor and (returnto='D') then doorsmenu;
    cursection:=mainsysop;
  {  if urec.avatar=0 then } randomrumor;
{  if urec.avatar<>0 then begin
    z:=lrmenu (topmnu,4*16+15,1*16+15);
    case z of
      1:begin
          mnu[1]:='About BBS';
          mnu[2]:='Messages';
          mnu[3]:='Databases';
          mnu[4]:='E-Mail';
          mnu[5]:='User Config';
          mnu[6]:='File Section';
          mnu[7]:='BBS List';
          mnu[8]:='Rumor Lists';
          mnu[9]:='Ansi Art';
          mnu[10]:='Infoforms';
          mnu[11]:='Timebank';
          mnu[12]:='Voting Booths';
          mnu[13]:='G-Files';
          mnu[14]:='On-Line Doors';
          mnu[15]:='Conferences';
          mnu[16]:='';
          q:=pulldown (mnu,2*16,15,14,2,30,18,1);
          case q of
            1:aboutthisbbs;
            2:bulletinmenu;
            3:datamenu;
            4:emailmenu;
            5:configure;
            6:udsection;
            7:otherbbs;
            8:rumour;
            9:showscreens;
           10:infoform (callforms);
           11:timebanks;
           12:votingbooth (false);
           13:gfilesection;
           14:doorsmenu;
           15:JumpConference;
          end;
        end;
      2:begin
          mnu[1]:='List Users';
          mnu[2]:='Recent Calls';
          mnu[3]:='Leave Feedback';
          mnu[4]:='Chat W/Sysop';
          mnu[5]:='Read News';
          mnu[6]:='Donation Info';
          mnu[7]:='Leech List';
          mnu[8]:='System Stats';
          mnu[9]:='Modem Stats';
          Mnu[10]:='Top 10 Lists';
          mnu[11]:='';
          q:=pulldown (mnu,2*16,15,40,2,57,13,1);
          case q of
            1:listusers;
            2:showlastcallers;
            3:feedback;
            4:summonsysop;
            5:printnews;
            6:donations;
            7:leechlist;
            8:showsystemstatus;
            9:modemstatus;
          end;
        end;
      3:begin
          mnu[1]:='Get Help';
          mnu[2]:='Change PW';
          mnu[3]:='Raise Req';
          mnu[4]:='Newscan Date';
          mnu[5]:='ViSiON Ad';
          mnu[6]:='Your Status';
          mnu[7]:='Log Off';
          mnu[8]:='';
          q:=pulldown (mnu,2*16,15,60,2,75,10,1);
          case q of
            1:mainhelp;
            2:changepwd;
            3:requestraise;
            4:setlastcall;
            5:showad;
            6:showuserstats(urec);
            7:offtheforum;
          end;
        end;
     end;   }

    {q:=pulldown (mnu,31,15,1,1,20,18,1);}
   { End Else} Begin
    q:=menu ('Main','MAIN','AMCDEFGHIJKLBNOPQRSTUVWXYZ+-!&$%*^.=/');
    writeln;
    case q of
      1:game;
      2:Begin JumpConference; bulletinmenu; End;
      3:summonsysop;
      4:datamenu;
      5:emailmenu;
      6:feedback;
      7:offtheforum;
      15:newvotex;
      8:mainhelp;
      9:get_infoform;
      10:JumpConference;
      11:Begin configure; ClearScr; End;
      12:listusers;
      13:otherbbs;
      14:printnews;
      16:doorsmenu;
      17:leechlist;
      18:rumormenu;
      19:showsystemstatus;
      20:Begin JumpConference; udsection; End;
      21:Timebanks;
      22:votingbooth (false);
      23:showlastcallers;
      24:transfername;
      25:showuserstats(urec);
      26:setlastcall;
      27:changepwd;
      28:TopTen(0);
      30:showad;
      31:donations;
      32:mainsysopcommands;
      33:showscreens;
      34:MyCommand;
      35:Begin
         clearscr;
         writeln(^P'This BBS is registered to :'^R,registo);
         writeln(^P'The BBS Name is           :'^R,registb);
      end;
      37:DisplayNodeInfo;
    end;
    End;
  until hungupon
end;

{$F+}

procedure breakout;
begin
  if (erroraddr=nil) and (exitcode=e_controlbreak) then begin
    textattr:=7;
    updateuserstats (false);
    writeln (direct,' [ System Break ]');
    writereturnbat;
    ensureclosed;
    window (1,1,80,25);
    gotoxy (1,25); clreol;
    gotoxy (1,24); clreol;
    if not carrier then dontanswer;
  end;
  doneexitproc
end;

{$F+}

begin
  addexitproc (@breakout)
end.

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.