diff --git a/install.txt b/install.txt index 90c14ec..cca7caf 100644 --- a/install.txt +++ b/install.txt @@ -2,16 +2,16 @@ Installation nodes. 1. For a new installation - make sure you have logged in first and created your sysop user. - - No to creating guest account + - No to creating guest account (or set it to a password so it isnt used - it asks questions during login about terminal configuration) 2. Setup files - Replace answer.msg in text/ (or make a zero byte file) - in mods/ ln -sf ansitex/main.js login.js - in mods/ ln -sf ansitex/logon.js - in mods/ ln -sf ansitex/main.js ansitex.js - - in mods/ baja ansitex/ansitex.src && mv ansitex/ansitex.bin . + - in mods/ baja ansitex/ansitex.src && mv ansitex/ansitex.bin . (NOT REQUIRED FROM 3.20a) 3 - Create Shell: SCFG->Command Shells->Ansitex (optionally limit to FLAGS, but requires (requirement string) ANSI) - logon.js will force users to ansitex shell - to make a ini config setting for this - - Optionally System -> New User Values -> Shells ->Ansitex - - Optionally Edit users and change their shell. + - Optionally System -> New User Values -> Shells ->Ansitex (NOT REQUIRED with login.js in place) + - Optionally Edit users and change their shell. (NOT REQUIRED with logon.js in place) 4 - Turn off sysop password required for sysop login - SCFG -> Toggle Options -> Require Sys Pass During Login -> No diff --git a/load/msgbases.js b/load/msgbases.js index 35a362f..7a07af5 100644 --- a/load/msgbases.js +++ b/load/msgbases.js @@ -424,15 +424,18 @@ function MsgArea() { try { if (msgbase.open()) { var raw = msgbase.get_msg_body(false,id,false,false,true,true); + //log(LOG_DEBUG,'RAW:'+JSON.stringify(raw)); - // Our messages are terminated with \r=== EOF + // Our messages are terminated with FRAMES_EOF_MARKER var regex = new RegExp('^(.*)'+FRAMES_EOF_MARKER); + //log(LOG_DEBUG,'MARKER:'+regex.test(raw)); if (! regex.test(raw)) return undefined; var regex = new RegExp(FRAMES_EOF_MARKER+'[.\\s\\S]*$'); var content = JSON.parse(LZString.decompressFromBase64(raw.replace(regex,''))); + //log(LOG_DEBUG,'CONTENT:'+JSON.stringify(content)); msgbase.close(); } else { diff --git a/load/page.js b/load/page.js index becefd1..bb84d8d 100644 --- a/load/page.js +++ b/load/page.js @@ -492,15 +492,18 @@ function Page(debug) { // Insert our *_field data (if it is set) function insert_fields(fields,build) { for (var i in fields) { - // writeln('- adding:'+fields[i].name+', with value:'+fields[i].value); + //log(LOG_DEBUG,'|-- Adding:'+fields[i].name+', with value:'+fields[i].value); var content = fields[i].value.split(''); for (var x=fields[i].x;x msg.length) - ? (' '.repeat(blp-msg.length)+(reposition ? VIEWDATA_HOME+VIEWDATA_UP+VIEWDATA_RIGHT.repeat(msg.length) : '')) + ? (' '.repeat(2+blp-msg.length)+(reposition ? VIEWDATA_HOME+VIEWDATA_UP+VIEWDATA_RIGHT.repeat(msg.length) : '')) : '') ); @@ -542,10 +542,10 @@ function SessionProtocol() { write_raw(VIEWDATA_HOME); if (x > 0) - write_raw(VIEWDATA_RIGHT.repeat(x)); + write_raw(VIEWDATA_RIGHT.repeat(x-1)); if (y > 0) - write_raw(VIEWDATA_DOWN.repeat(y)); + write_raw(VIEWDATA_DOWN.repeat(y-1)); } this.strlen = function(str) { diff --git a/text/98a b/text/98a new file mode 100644 index 0000000..68db27e --- /dev/null +++ b/text/98a @@ -0,0 +1 @@ +{"version":2,"attrs":12,"key":[null,"login",null,null,null,null,null,null,null,null],"dynamic_fields":[{"name":"nodeid","length":8,"pad":" ","x":33,"y":2}],"input_fields":[{"type":"t","length":15,"char":".","name":"USER","y":11,"x":16,"attribute":{},"value":""},{"type":"p","length":15,"char":".","name":"PASS","y":12,"x":16,"attribute":{},"value":""}]} diff --git a/text/tex/98a b/text/tex/98a deleted file mode 100644 index 26a1f65..0000000 --- a/text/tex/98a +++ /dev/null @@ -1 +0,0 @@ -{"version":1,"frame":98,"index":"a","owner":9,"cost":0,"content":"G1swbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMzFt2sQbWzFt3BtbMDszMm3axBtbMW3cG1swOzM0bdrEG1sxbdwbWzA7MzZtIBtbMTszM23fG1swbSAbWzMwOzQ3bdrC3NrE3Nog3CAbWzM3OzQwbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1sxOzMxbbMbWzA7MzFt39sbWzE7MzJtsxtbMDszNm0gG1szMm3bG1sxOzM0bS5cG1swOzM0bdwbWzMzbd4bWzFt2xtbMG0gG1szMDs0N20gsyDDX9za39wgG1szNzs0MG0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMTszMG3ExMTExMTExMTExMQbWzA7MzA7NDdt3Nzc3Nzc3Nzc3BtbMzc7NDBtDQoNCg0KDQoNCg0KDQoNCg0KDQogICAgICAgICAbWzFtLiAgICAgLiAgIBtbMzBtsxtbMG0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzE7MzBtsxtbMG0NCiAgICAgICAbWzFt2r+/wr/avyC/2r8bWzBtIBtbMTszMG2zG1swbSAbWzE7MzFtVVNFUjobWzBtIBtbMW0bX1VTRVI7MjV0O/kbXBtbMG0gICAgICAgICAgICAgICAgG1sxOzMwbbMbWzBtDQogICAgICAgwL+zs7OzsyCzs7MgG1sxOzMwbbMbWzBtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1sxOzMwbbMbWzBtDQogICAgICAgG1sxOzMwbcDZ2cG02dkbWzM3bSAbWzMwbdnZ2RtbMzdtIBtbMzBtsxtbMG0gG1sxOzMxbVBBU1M6G1swbSAbWzFtG19QQVNTOzQwcDv5G1wbWzBtIBtbMTszMG2zG1swbQ0KICAgICAgICAgIBtbMTszMG3E2RtbMG0gICAgICAgG1sxOzMwbbMbWzBtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1sxOzMwbbMbWzBtDQoNCg0KICAgICAgICAgICAgIBtbMTszMG1UbyByZWdpc3RlciBhbiBhY2NvdW50IGVudGVyG1swbSAbWzFtTkVXG1swbSAbWzE7MzBtZm9yIHRoZSB1c2VyIG5hbWUbWzBtDQogICAgICAgICAgICAgICAgG1sxOzMwbVVzZRtbMG0gG1sxOzMybSoqG1swbSAbWzE7MzBtdG8gY2xlYXIgeW91ciBpbnB1dBtbMG0gG1sxOzMybSowMBtbMG0gG1sxOzMwbXRvIHN0YXJ0IGFnYWluG1swbQ0K","isPublic":1,"isAccessible":1,"type":"l","key":[null,"login",null,null,null,null,null,null,null,null],"date":"2020-07-08T05:17:35.174Z"} diff --git a/text/tex/98a.ans b/text/tex/98a.ans new file mode 100644 index 0000000..421cbfa --- /dev/null +++ b/text/tex/98a.ans @@ -0,0 +1,21 @@ + ÚÄÜÚÄÜÚÄÜ ß ÚÂÜÚÄÜÚ Ü  + ³ßÛ³ Û.\ÜÞÛ  ³ Ã_ÜÚßÜ  + ÄÄÄÄÄÄÄÄÄÄÄÄÜÜÜÜÜÜÜÜÜÜ + + + + + + + + + + . . ³ ³ + Ú¿¿Â¿Ú¿ ¿Ú¿ ³ USER: _USER;25t;ù\ ³ + À¿³³³³³ ³³³ ³ ³ + ÀÙÙÁ´ÙÙ ÙÙÙ ³ PASS: _PASS;40p;ù\ ³ + ÄÙ ³ ³ + + + To register an account enter NEW for the user name + Use ** to clear your input *00 to start again diff --git a/text/vtx/98a b/text/vtx/98a deleted file mode 100644 index 76b845f..0000000 --- a/text/vtx/98a +++ /dev/null @@ -1 +0,0 @@ -{"version":1,"frame":98,"index":"a","owner":9,"cost":0,"content":"ESxsEnxsFHwsEywXN2t/IzM3ayM1ICAgICAgICAgIAIwMDAxMDAwMRF/axJ/ahQvfBN/FzVobyA8PSQsNQcgICAgICAgICAgICAgICAgICARLy4SLyoULC8TLxd1cHpwcXV6cDUgICAgICAgICAgICAgICAgICAgIFZpZGVvdGV4ICAgICAgICAgICAgICAgICAgICAgIA1TaWduIEluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAVVzZXIHLi4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgICAgICAgIAFQYXNzBy4uLi4uLi4uLi4uLi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlcgJORVcHdG8gcmVnaXN0ZXIgbmV3IGFjY291bnQgICAgICAgUHJlc3MCKioHdG8gY2xlYXIgeW91ciBpbnB1dCAgICAgICAgICAgIFByZXNzAiowMAd0byBzdGFydCBhZ2Fpbgo=","isPublic":1,"isAccessible":1,"type":"l","key":[null,"login",null,null,null,null,null,null,null,null],"input_fields": [{"type":"t","length":15,"char":".","name":"USER","y":10,"x":15,"attribute":{},"value":""},{"type":"p","length":15,"char":".","name":"PASS","y":11,"x":15,"attribute":{},"value":""}],"date":"2020-07-08T05:17:35.174Z"} diff --git a/text/vtx/98a.bin b/text/vtx/98a.bin new file mode 100644 index 0000000..4f15f38 --- /dev/null +++ b/text/vtx/98a.bin @@ -0,0 +1 @@ +,l|l|,,7k#37k#5 00010001kj/|5ho <=$,5 /./*,//upzpquzp5 Videotex Sign In User............... Pass............... EnterNEWto register new account Press**to clear your input Press*00to start again diff --git a/tools/frame_get.js b/tools/frame_get.js index dc9ddb4..0499177 100644 --- a/tools/frame_get.js +++ b/tools/frame_get.js @@ -1,17 +1,31 @@ load('ansitex/load/page.js'); load('ansitex/load/funcs.js'); -load('ansitex/load/session/ansitex.js'); load('lz-string.js'); -if (argv.length !== 1) { - writeln('ERROR: Need a frame ID'); +if ((argv.length > 2) || (argv.length < 1)) { + writeln('ERROR: Need a frame ID and type'); exit(1); } else { writeln('Showing frame:'+argv[0]); } -const SESSION_EXT = 'tex'; +var SESSION_EXT; + +switch (argv[1]) { + case 'TEX': + case 'tex': + SESSION_EXT = 'tex'; + load('ansitex/load/session/ansitex.js'); + break; + + case 'VTX': + case 'vtx': + default: + load('ansitex/load/session/viewdata.js'); + SESSION_EXT = 'vtx'; + break; +} var p = new Page(); var po = new PageObject(argv[0]);