/* WizNodeScan 1.00 by Stefan Wiberg © 1995 */
SIGNAL ON ERROR;SIGNAL ON SYNTAX;SIGNAL ON IOERR;SIGNAL ON FAILURE;parse arg LineNumber;options results;DoorName="WizNodeScan";Version="1.00";author="Stefan Wiberg";CLS='';call GetVar DoorName,LineNumber,1;user=result;if(~show('l',"mebbsarexx.library"))then;do;if(~addlib("mebbsarexx.library",0,-30,0))then;do;say "Could not open library";end;end;if ~exists("MEBBSNET:CONFIGFILES/WizNodeScan.cfg") then;do;string="The configuration file for WizNodeScan was not found, exiting...";call out;signal getout1;end;call open(file,"MEBBSNET:CONFIGFILES/WizNodeScan.cfg",'r');bbsname=readln(file);NSpath=readln(file);Nodepath=readln(file);list.1=readln(file);aka.1=readln(file);list.2=readln(file);aka.2=readln(file);list.3=readln(file);aka.3=readln(file);list.4=readln(file);aka.4=readln(file);call close(file);string='----';crnt='1';size='full';tzone='';file1="t:WizNodeScan.temp";main:;Call Carrier;call GetVar DoorName,LineNumber,1;Name=result;menu:;Call Carrier;CALL message doorname,linenumber,CLS'',1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,"[18C[1;32m [31m**[1;33m  "||doorName||" "||Version||" by "||author||"[31m  **[1;32m [0m",1;CALL message doorname,linenumber,'[25Cis brougt to you by [37m'bbsname,1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[21C[0;1m [[1;36m1[0;1m] Search String   ',1;CALL message doorname,linenumber,'[21C[0;1m [[1;36m2[0;1m] NodeList        ',1;CALL message doorname,linenumber,'[21C[0;1m [[1;36m3[0;1m] Zone(s)         ',1;CALL message doorname,linenumber,'[21C[0;1m [[1;36m4[0;1m] Format          ',1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[21C[0;1m [[1;32mS[0;1m] Go Search!',1;CALL message doorname,linenumber,'[21C[0;1m [[1;37mI[0;1m] [37mInstructions',1;CALL message doorname,linenumber,'[21C[0;1m [[1;33mQ[0;1m] Quit to BBS',1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[11C[1;32m [1;37mSupport BBS IS: [35mWizard-BBS (+46) (0)11 238428 24hrs[1;32m [0m',1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[5C[1;34m2:204/454.0@FidoNet or 39:161/105.0@AmigaNet or 42:103/1.0@InfoNet[37m',1;CALL message doorname,linenumber,"",1;Call HOTKEY DoorName,LineNumber,'[11;46HEnter option: ';key=upper(result);if key="1" then call input;if key="2" then call nodelist;if key="3" then call ozone;if key="4" then call input1;if key="S" then call start;if key="I" then call instructions;if key="Q" then call getout;call main;input:;Call Carrier;CALL message doorname,linenumber,CLS"",1;CALL message doorname,linenumber,"[32mONLY one KeyWord allowed and NO wildcards allowed.",1;CALL message doorname,linenumber,"",1;CALL Prompt DoorName,LineNumber,'[37mEnter search string:[31m ',30;temp=result;if temp ~='RESULT' then string=temp;if temp='' then string='----';call nodelist;input1:;Call Carrier;CALL message doorname,linenumber,CLS"",1;CALL message doorname,linenumber,"Here you can choose if you want a Full or Small listning the full shows",1;CALL message doorname,linenumber,"ALL info in the nodelist about the node",1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'(F)ull or (S)mall listning ?',1;CALL Prompt DoorName,LineNumber,'Enter string: ',1;temp=upper(result);if temp ~='RESULT' then size=temp;if temp='S' then Size='SMALL';if temp='F' then Size='FULL';call main;ozone:;Call Carrier;CALL message doorname,linenumber,"",1;CALL Prompt DoorName,LineNumber,'[22;0HEnter Zone Number: ',5;tmp=result;if datatype(tmp) ~=NUM then;do;zone='ALL';tzone='';call main;end;tzone=(' zone '||tmp);zone=tmp;call main;nodelist:;Call Carrier;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,CLS'',1;do i=1 to 10;if list.i=(list.||i) then break;end;i=i-1;if i=0 then;do;CALL message doorname,linenumber,'No nodelist(s) defined',1;exit;end;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[0m[21C[32m [1;31m** [1;33m Nodelist(s) Available[1;31m **[1;32m [0m',1;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,"[15CPlease pick the nodelist you wish to search in",1;do a=1 to i;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[0;1m                       [[1;36m'a'[0;1m][37m   'list.a'[1;34m ([0;1m'aka.a'[1;34m)[0m',1;end;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,"",1;CALL HotKey DoorName,LineNumber,'Choose Nodelist to scan: ';tmp=upper(result);if tmp<1|tmp>i then call main;crnt=tmp;call input1;instructions:;Call Carrier;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,CLS'',1;Call ReadFile DoorName,LineNumber,'DOORS:WizNodeScan/WizNodeScan.Inf';call main;start:;call carrier;if string='----' then call main;nlist=list.crnt;do;CALL message doorname,linenumber,"",1;CALL message doorname,linenumber,'[22;0HBuilding list, please wait...',1;address command NSpath'quickns 'string' 'nodepath''nlist'.#? 'size''tzone' >t:wiznodescan.temp';call OPEN('file','T:wiznodescan.temp','A');call WRITELN('file','~vc');call CLOSE('file');CALL message doorname,linenumber,CLS'',1;Call ReadFile DoorName,LineNumber,file1;end;call main;OUT:;call message doorname,linenumber,string,1;return;GETKEY:;call hotkey doorname,linenumber,string;hot=result;call carrier;return;OUTPUT:;call message doorname,linenumber,string,1;return;BLANK:;string=" ";call output;return;GETOUT:;call Blank;Call Blank;CALL message doorname,linenumber,CLS"",1;string="         You've been using "||DoorName||" [32m"||Version||" [37mby [35m"||author||".";call output;call blank;string="[37mThank you, "||user||",please press [RETURN] or [ENTER].";call getkey;call blank;call Exit_Door DoorName,LineNumber;address command 'delete >NIL: t:wiznodescan.temp';exit 0;GETOUT1:;call Blank;Call Blank;CALL message doorname,linenumber,"",1;string="         You've been using "||DoorName||" [32m"||Version||" [37mby [35m"||author||".";call output;call blank;string="[37mThank you, "||user||",please press [RETURN] or [ENTER].";call getkey;call blank;call Exit_Door DoorName,LineNumber;exit 0;ERROR:;CALL message doorname,linenumber,'',1;CALL message doorname,linenumber,"**ALERT** General Error!",1;Error_Line=SIGL;Error_Code=RC;CALL message doorname,linenumber,"Line: "Error_Line "Error: "Error_Code",1CALL hotkey doorname,linenumber,"Press Enter"CALL exit_door DoorName,LineNumberexit 10SYNTAX:CALL message doorname,linenumber,'',1CALL message doorname,linenumber, "**ALERT**Syntax Error!",1Error_Line = SIGLError_Code = RCCALL message doorname,linenumber, "Line:"Error_Line "Error:"Error_Code",1;CALL hotkey doorname,linenumber,"Press Enter";CALL exit_door DoorName,LineNumber;exit 10;IOERR:;CALL message doorname,linenumber,'',1;CALL message doorname,linenumber,"**ALERT** I/O Error!",1;Error_Line=SIGL;Error_Code=RC;CALL message doorname,linenumber,"Line: "Error_Line "Error: "Error_Code",1CALL hotkey doorname,linenumber,"Press Enter"CALL exit_door DoorName,LineNumberexit 10FAILURE:CALL message doorname,linenumber,'',1CALL message doorname,linenumber, "**ALERT**Something did go wrong!",1Error_Line = SIGLError_Code = RCCALL message doorname,linenumber, "Line:"Error_Line "Error:"Error_Code",1;CALL hotkey doorname,linenumber,"Press Enter";CALL exit_door DoorName,LineNumber;exit 10;Exit_Error:;CALL message doorname,linenumber,'',1;CALL message doorname,linenumber,"Abandoning .",1;exit 0;Carrier:;call CDetect doorname,linenumber;cd=upper(result);if cd="NO CARRIER!" then signal error;return