home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
CL15S1G.ZIP
/
LASTON13.ZIP
/
LASTON.DOC
< prev
next >
Wrap
Text File
|
1994-02-03
|
10KB
|
216 lines
*****************************************************************
* *
* LASTON V 1.30 *
* *
* Written in PPL for PCBoard *
* *
* Designed By: Gary Meeker *
* *
* Began development: 04-01-93 *
* *
*****************************************************************
1.00 (05-01-93) - Initial Release.
1.10 (05-27-93) - 2nd Release, added Log PCBTEXT switch to .CFG file.
1.20 (01-10-94) - 3rd Release, added AutoJoin feature.
1.30 (02-03-94) - 4th Release, added lower case switch to disable Modem/CID
The purpose of LASTON.PPE is to write the line:
Last on: MM-DD-YY (HH:MM) for n Minute(s) - #nnnn
This replaces the need for running CL-PRINT in $$LOGON.BAT like:
CL-Print MAIN\CALLER%PCBNODE% /Q,/Z,/S,"Last on: @D (@T) for @M Minute(s) - #@#"
This writes the following to the CALLER file:
Last on: MM-DD-YY (HH:MM) for nn Minute(s) - #nnnn
That has worked quite nicely for sometime except in the case of a 'closed'
board call on a private node or a PASSWORD FAILURE call as in both cases
$$LOGON.BAT never gets run.
Now with PPL and this PPE entry you can let PCBoard write the line.
Install as follows:
Name/Loc of Logon Script Quest. : C:\PCB\PPE\LASTON.PPE
If you have a script for this already then add this line to the script itself
instead. If you already have a .PPE script then create a text script file
listing LASTON.PPE then the origional.
That takes care of most callers but just like the above cases, LASTON.PPE
won't get run. To fix that place a call to LASTON.PPE in your 'closed' file:
Name/Loc of CLOSED File : C:\PCB\GEN\CLOSED
and in a text file that replaces prompt 595 such as follows:
╒══════════════════════════════════════════════════════════════════════════════╕
│ Record No.: 595 Record Length: 40 Justification: Left │
├──────────────────────────────────────────────────────────────────────────────┤
│Did you forget your password? │
│%C:\PCB\PR\FORGOTPW │
╘══════════════════════════════════════════════════════════════════════════════╛
The first line in my FORGOTPW file reads:
!C:\PCB\PPE\LASTON.PPE F
the 'F' is used to cause LASTON.PPE to print the line 'Did you forget your
password?' to the User (provided an entry in the LASTON.CFG file exists with
that text). If you don't want it to print anything, just make the character
anything you want and don't place a line in the LASTON.CFG file starting
with that character.
The first line in my CLOSED file reads:
!C:\PCB\PPE\LASTON.PPE -
Note: I have no line starting with '-' in my LASTON.CFG so LASTON.PPE does
not print anything to the User for this.
Unfortunately at this time LASTON.PPE does not quite write the same line that
CL-PRINT used to due to not having access to a variable containing the minutes
spent on the last call, so it instead creates the line:
Last on: MM-DD-YY (HH:MM) for 0 Minute(s) - #nnnn
or
Last on (l): MM-DD-YY (HH:MM) for 0 Minute(s) - #nnnn
which is close enough for me (for now anyways 8-). The 0 above will actually
be a value if the User has called the same day and will represent the amount
of accumulated time he has used for the day. For the Sysop it will always show
0 on all calls.
To get it to print the Language number the user chose at logon, as in the
second format shown, create a configuration file named LASTON.CFG in the
same directory as LASTON.PPE containing a line with the extensions of all
your language choices seperated by ";" characters. ie.
.CUS;.STD;.NOV;.SOU;.MOE;.WHO;
This contains my 7 language choices. Note the "." must be included in each
extension (except the blank one) and my 7th choice is blank. If your 1st
choice is PCBTEXT with no extension your list may look like this (assuming
5 languages as follows):
;.FRE;.GER;.SPA;.DUT
If the first line in LASTON.CFG is blank the the language number will not be
included in the Log entry and will take the first syntax shown above.
The second line of LASTON.CFG contains three flags to control the printing of
lines in the log (seperated by ";") where a 1 means print the line and a
0 means don't print the line. The flags are as follows:
Log Last On; Log Modem/CID info; Log Caller Security; Log PCBTEXT Line; AutoJoin
Example:
1;1;1;1;27
Log Last On controls whether the 'Last On:' information gets written to the
log when called with any command line parameter.
Log Modem/CID info controls whether 'Modem:' and 'CID:' lines get written to
the log.
Log Caller Security controls whether a 'Caller Security:' line gets written
to the log.
Log PCBTEXT Line controls whether the Line replaced in a PCBTEXT file and now
contained in the .CFG file should also be written to the log. PCBoard will be
writing the line in the PCBTEXT. (system) file out to the log also, but it
will be the name of the .PPE file if you also replace the PCBTEXT. file entry.
If you wish to allow your User to choose the language that corresponds to your
'System' PCBTEXT file then you have to put up with it, but setting this flag
to on will at least let you now what line was meant to be logged. In my case,
I didn't change the PCBTEXT. (system) file but only the PCBTEXT.XXX files. I
added an addtional language with no descriptive text in the 'LANGUAGE' column
to be the system file and as a result the Users sees an extra line feed but
unless they guess at it, they don't realize there is an 'un-numbered' language
choice they could make. It would be nice if PCBoard didn't have to have the
system file listed in the PCBML.DAT file but I understand that it is needed,
and this works for me.
AutoJoin is the position of the confernece number in the User Comment field
that contains the conference the User wishes to join on each log on. Valid
numbers are 1 to 27 and the field is 4 characters long. If left blank or
set to zero then the feature will not be used. If used the the User will be
placed in the conference unless he is not registered.
Caller Number: is not needed since if a user does not get logged on for any
of the reasons that we want to write the lines to the log, the Caller Number
would be Zero anyways (a 'feature' we can use to our advantage).
I have run into a couple of situations where I still fail to get the entry in
the caller log, like when a caller drops carrier after entering their name
and before entering their password (correctly). And the use of LASTON.PPE can
NOT correct all those situations.
All lines in LASTON.CFG starting with line 3 are PCBTEXT replacements preceeded
by a control character. The control character will be compared with the command
line used to execute LASTON.PPE and when a match is found the Text on the line
(starting with the character after the control character) will be displayed to
the User. IF the control character is lower case then the MODEM/CID lines will
not be written to the log.
Example Config File:
-------------------------------------------------------------------------------
.CUS;.STD;.NOV;.SOU;.MOE;.WHO;
1;1;1;1;27
fDid you forget your password?
TTime Limit Exceeded.
EAccess Denied - Upcoming Event Pending ...
UAccess Denied - Unauthorized name match on @USER@!
LAccess Denied - You are Locked Out of this System!
RAccess Denied - Refused to Complete Registration!
AAccess Denied - @USER@ is in use on another Node!
-------------------------------------------------------------------------------
You would then replace the PCBTEXT entries (3,4,5,6,8 & 10) with
!C:\PCB\PPE\LASTON.PPE E
!C:\PCB\PPE\LASTON.PPE T
!C:\PCB\PPE\LASTON.PPE U
!C:\PCB\PPE\LASTON.PPE L
!C:\PCB\PPE\LASTON.PPE R
!C:\PCB\PPE\LASTON.PPE A
This takes care of many of the cases that occur where information does not
get logged by PCBoard normally. Since 'Time Limit Exceeded.' can get displayed
to a User who is currently logged on (and PCBoard has already written all the
entries to the log) and we don't want to print the lines again, The caller
number is checked and if it's zero we log the lines, and if it's not zero we
assume the lines should not be logged. If LASTON.PPE is executed with no
command line parameter then the Last On line is logged regardless of the
control flag in the Config file.
-------------------------------------------------------------------------------
As mentioned,the only problem I could not fix was when a 'Carrier Lost ...'
occurs. I tried installing the PPE in prompt #215, but since the caller is
now gone, PCBoard only sends that to the local screen and .PPE's don't run
(you actually see the name of the PPE on the screen). I don't see anyway
around this so unless something changes in the future in PCBoard itself,
I won't be able to get my lines to print in this case. The two occurances of
this that I would like to be able to address would be:
1) A CONNECT is established but is lost before the User is able to enter their
name. All that shows up is 'Carrier lost ...' (unless like me you've added
(@SYSTIME@) to the end of the prompt in which case you also get (hh:mm)
added to the line. I'd like to see the Modem: and CID: lines printed, as
in the case of NO CONNECT / CAUSE messages which do include the CID: info)
2) A User does log on, but looses carrier before the logon script runs (or
$$LOGON.BAT gets run). I would like to see the Modem:, CID:, Caller
Security: (and my Last On:) lines printed.
If I can think of way to accomplish this, a new version will be released.
-------------------------------------------------------------------------------
Gary Meeker
SHARP Technical Support Line BBS (404) 962-1788