Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
custom:ssjs_template [2021/02/19 08:21] – [The SSJS Template Scheme] mortifiscustom:ssjs_template [2021/02/19 11:35] (current) – [The SSJS Template Scheme] beautify (haha) and add useful example mortifis
Line 85: Line 85:
  
 <code left_nav> <code left_nav>
-template.leftnav.push({html: '<li><a href="/members/externals.ssjs">External Programs</a></li><li><a href="/bbs/bbses.ssjs">BBS Links</a></li><li><a href="/members/lastcallers.ssjs">Last Callers</a></li><li><a href="/members/info.ssjs">Information</a></li><li><a href="/members/newpw.ssjs">Change Password</a></li><li><a href="/logout.ssjs">Logout</a></li><li><a href="/msgs/msgs.ssjs?msg_sub=mail">E-mail</a></li>' });  +template.leftnav.push({html: '<li><a href="/members/externals.ssjs">External Programs</a></li><li><a href="logout.ssjs">Logout</a></li><li><a href="/members/lastcallers.ssjs">Last Callers</a></li><li><a href="/members/info.ssjs">Information</a></li><li><a href="/members/newpw.ssjs">Change Password</a></li><li><a href="/logout.ssjs">Logout</a></li><li><a href="/msgs/msgs.ssjs?msg_sub=mail">E-mail</a></li>' });  
 </code> </code>
  
-Here we added the link BBS Links to the left side navigation that points to bbses.ssjs. +Here we added the link **Logout** to the left side navigation that points to logout.ssjs. 
-Now create the script called ''../web/root/bbs/bbses.ssjs''+Now create the script called ''../web/root/logout.ssjs''
  
 <code bbs> <code bbs>
-load("../web/lib/template.ssjs");+<!-- ../web/root/logout.ssjs -->
  
-template.titlesystem.name BBS Connect";+template.logout '<br><br>'+user.alias+' Logging out ...<br><br><br>'; 
 +write('<meta http-equiv="refresh" content="2; url=index.ssjs">');
  
-template.whatever "<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some kind of stuff will go here, eventually!" +user.number 0;
- +
-var sub = '';+
  
 if(do_header) if(do_header)
- write_template("header.inc"); +    write_template("header.inc"); 
-if(do_topnav) +if(do_topnav)         
- load(topnav_html); +    load(topnav_html); 
-if(do_leftnav) +if(do_leftnav)         
-load(leftnav_html); +    load(leftnav_html);
 if(do_rightnav) if(do_rightnav)
- write_template("rightnav.inc");+        write_template("rightnav.inc"); 
 +write_template("logout.inc"); 
 +if(do_footer)     
 +    write_template("footer.inc");
  
-write_template("bbses.inc"); 
-  
-if(do_footer) 
- write_template("footer.inc"); 
 </code> </code>
    
-Now you need a corresponding ../web/root/templates/nightshade/bbbes.inc +Now you need a corresponding ../web/root/templates/nightshade/logout.inc 
  
-<code inc+<code logout
-<!-- $Id: main.inc,v 1.4 2018/03/14 02:19:55 deuce Exp $ -->+<!-- ../web/templates/nightshade/logout.inc -->
  
-<!-- Begin BBS Connect Content -->+<div id="contentcontainer"> 
 + <div id="content2"> 
 +     @@logout@@ 
 + </div> 
 +</div>  
 +</code>
  
-@@whatever@@  
  
-<!-- End Main Content --> 
-</code> 
 ==== SSJS Theme Support ==== ==== SSJS Theme Support ====
  
Line 325: Line 324:
 inefficient to have thirty of forty message definitions being loaded when a inefficient to have thirty of forty message definitions being loaded when a
 user is looking at the statistics page. user is looking at the statistics page.
 +
 +===== Embedding fTelnet =====
 +
 +To add an fTelnet Logon Screen to your Main landing page there are a few steps you can follow
 +
 +1). Copy ../web/root/ftlnet.ssjs to ftelnet_main.ssjs
 +2). Edit ../web/root/ftelnet_main.ssjs and **remove** (otherwise just using ftelnet.ssjs there would be a mirroring of the leftnav)
 +<code del_if_do>
 +
 +/* comment out this
 +if(do_header)
 +    write_template("header.inc");
 +if(do_topnav)        
 +    load(topnav_html);
 +if(do_leftnav)        
 +    load(leftnav_html);
 +if(do_rightnav)
 + write_template("rightnav.inc");
 +write_template(templatefile);
 +if(do_footer)    
 +    write_template("footer.inc");
 +*/
 +    
 +</code>
 +
 +3).  Continuing editing ../web/root/ftelnet_main.ssjs and add contents of the ftelent spalsh screen
 +<code spalsh>
 +
 +template.splash = 'G1swOzQwOzM3bQ0KG1sxOzMwbSQkJCQkyMjIyMjIJCQkJCQkJCQkJMjIyMjIyCQkJCQkJCQkJCQkJCQkJCQkJCQkJLy8vLy8vCQkJCQkJCQkJCQkJCQkJCQkvLy8vLy8JCQNCiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLy8vP0nG1szMW0sG1swOzMxbSwsLHl5eXkkJCQkIBtbMTszMG0kJCQkJCS8vLy8vLwkJCQkJCQkJCQkJCQkDQokJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgG1swOzMxbSQkJCQbWzFt/RtbMDszMW39/f0nJycnJCQkG1sxbSQgG1szMG0kJCQkJCQgG1szMW0kJCQkG1swOzMxbXl5eXksLCwsG1sxOzMwbWD9vLy8JA0KJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIBtbMzFtJBtbMDszMW0kJBtbMW0kIBtbMzBteXl5JCS8IBtbMzFtJBtbMDszMW0kJBtbMW0kIBtbMzBtJCQkJCQkIBtbMzFtJCQbWzA7MzFtJCRgYGBg/f39/SQkJCQgG1sxOzMwbSQNCiQbWzA7MzFtLnMkJCIiIiIiIiQkcy4bWzE7MzBtICQkJCAbWzA7MzFtLnMkJCIiIiIiIiQkcy4bWzE7MzBtJCQgG1swOzMxbSQkJBtbMW0kIBtbMzBtJCQnYCQgG1szMW0kG1swOzMxbSQkJCAbWzE7MzBteSQkJCQkJCAbWzMxbSQbWzA7MzFtJBtbMW0kJCAbWzMwbSQkJHl5eSAbWzA7MzFtJCQkJCAbWzE7MzBtJA0KJBtbMDszMW0kJCQkG1szN20gG1sxOzMwbSQkJCQbWzBtIBtbMzFtJCQkJBtbMTszMG0gJCQkG1swbSAbWzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkJBtbMG0gG1szMW0kJCQkG1sxOzMwbSQkIBtbMDszMW0kG1sxbSQkG1swOzMxbSQgG1sxOzMwbcgkLiwkIBtbMzFtJCQbWzA7MzFtJBtbMW0kIBtbMzBtJCQkJCQkJCAbWzMxbSQbWzA7MzFtJBtbMW0kG1swOzMxbSQgG1sxOzMwbcgkJCQkvCAbWzMxbSQbWzA7MzFtJBtbMW0kG1swOzMxbSQgG1sxOzMwbSQNCiQbWzA7MzFtJCQkJBtbMzdtIBtbMTszMG0kICAkG1swbSAbWzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkG1swbSAbWzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkJCQkJCQkJCR5IBtbMDszMW0kJBtbMW0kG1swOzMxbSQgG1sxOzMwbSQkJCQgG1szMW0kJCQbWzA7MzFtJCAbWzE7MzBtJCQkJCQkJHkgG1szMW0kG1swOzMxbSQkJCAbWzE7MzBtJCQkJCAbWzA7MzFtJCQbWzFtJCQgG1szMG15JA0KJBtbMDszMW0ksCQkG1szN20gG1sxOzMwbSQkJCQbWzBtIBtbMzFtJLAkJBtbMzdtIBtbMTszMG0kJCQbWzBtIBtbMzFtJCQkJBtbMzdtIBtbMTszMG0kJCQkJCQkJCQkJCQgG1szMW0kG1swOzMxbSQkG1sxbSQgG1szMG0kvLy8c3NzeXl5JCQkJCQkJCQgG1szMW0kG1swOzMxbSQkG1sxbSQgG1szMG0kJCQkIBtbMDszMW0kG1sxbSQkJCAbWzMwbSQkDQokG1swOzMxbSQkJCQiIiIiICAkJCQkG1szN20gG1sxOzMwbSQkJBtbMG0gG1szMW0kJCQkG1szN20gG1sxOzMwbSQkJCQkJCQkJCwkJCAbWzMxbSQkG1swOzMxbSQbWzFtJCAbWzMwbSQgG1swOzMxbSQkJCR5eXl5LCwsLCAbWzE7MzBtJLy8IBtbMzFtJCQbWzA7MzFtJCQgG1sxOzMwbcjIyMhcc3l5eXkkJA0KJBtbMDszMW0kJCQkG1szN20gG1sxOzMwbSQkJCQbWzBtIBtbMzFtJCQkJBtbMzdtIBtbMTszMG0kJCQgG1swOzMxbSSxJCQbWzM3bSAbWzE7MzBtJCQkJCQkJCQkeXkkIBtbMzFtJCQbWzA7MzFtJCQgG1sxOzMwbSR5eXl5IBtbMDszMW0kJCQbWzFtJBtbMDszMW39/f39IBtbMTszMG0kIBtbMDszMW1gYGAbWzFtYP39G1swOzMxbf39JCQkJHl5eXksLCwNChtbMTszMG0kG1swOzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkJBtbMG0gG1szMW0kJCQkG1szN20gG1sxOzMwbSQkJBtbMG0gG1szMW0kJCQkG1szN20gG1sxOzMwbSQkJCQkJCQkJCQkJCAbWzMxbSQbWzA7MzFtJBtbMW0kG1swOzMxbSQgG1sxOzMwbSQkJCQkIBtbMDszMW0kJCQkIBtbMTszMG3IJCQkJCQkJCQkeXl5eSwsLCwsIBtbMDszMW0kG1sxbSQbWzA7MzFtJCQNChtbMTszMG0kG1swOzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkJBtbMG0gG1szMW0ksiQkG1szN20gG1sxOzMwbSQkJBtbMG0gG1szMW0kJCQkG1szN20gG1sxOzMwbSQkJCQkJCQkJCQkJCAbWzA7MzFtJBtbMW0kG1swOzMxbSQkIBtbMTszMG3IJCQkJHkgG1szMW0kG1swOzMxbSQkJCAbWzE7MzBtJCQkJCQkvLy8vLy8JCQkJCQkIBtbMDszMW0kJCQkDQobWzE7MzBtJBtbMDszMW0kJCQkG1szN20gG1sxOzMwbSQkJCQbWzBtIBtbMzFtJCQkJBtbMzdtIBtbMTszMG0kJCQbWzBtIBtbMzFtJLIkJBtbMzdtIBtbMTszMG0kJCQkJCQkJCQkJCR5IBtbMDszMW0kJBtbMW0kG1swOzMxbSQgG1sxOzMwbSQkJCQkIBtbMDszMW0kG1sxbSQbWzA7MzFtJCQgG1sxOzMwbSQkJCQkJCAbWzA7MzFtJBtbMW0kJBtbMDszMW0kIBtbMTszMG0kJCQkJLwgG1szMW0kG1swOzMxbSQbWzFtJBtbMDszMW0kDQobWzE7MzBtJBtbMDszMW0kJCQksRtbMzdtIBtbMTszMG0kJCQkG1swbSAbWzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkG1swbSAbWzMxbSQkJCQbWzM3bSAbWzE7MzBtJCQkJBtbMG0gG1szMW0kJCQkG1sxOzMwbSQkJCAbWzA7MzFtJCQkJCAbWzE7MzBtJCQkJCQgG1szMW0kG1swOzMxbSQbWzFtJBtbMDszMW0kIBtbMzdtIBtbMTszMG3IJCQkvCAbWzMxbSQkG1swOzMxbSQbWzFtJCAbWzMwbSQkJCQkIBtbMDszMW0kJBtbMW0kJCAbWzMwbXkNCiQbWzA7MzFtcy4kJCQgG1sxOzMwbSQkJCQbWzA7MzFtICQkJCQgG1sxOzMwbSQkG1swbSAbWzMxbWD9JCQsLCwsLCwkJP0nG1sxOzMwbSQkJCQgG1swOzMxbSQbWzFtJBtbMDszMW0kJCAbWzE7MzBtyMjIJCR5IBtbMDszMW0kG1sxbSQkG1swOzMxbSQgG1sxOzMwbSQkJCQgG1szMW0kG1swOzMxbSQbWzFtJBtbMDszMW0kIBtbMTszMG15JCQkJCQgG1szMW0kG1swOzMxbSQbWzFtJBtbMDszMW0kIBtbMTszMG0kDQokJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCAbWzA7MzFtJCQkJHl5eRtbMW15G1swOzMxbSwbWzFtLCwbWzA7MzFtLBtbMW0kJBtbMDszMW0kG1sxbSQgG1szMG0kJEkkIBtbMDszMW0kJCQkIBtbMTszMG0kJCS8vLwgG1swOzMxbSQkG1sxbSQkIBtbMzBtJA0KJCQkJCQkG1swbW0bWzE7MzBtJBtbMG1vG1sxOzMwbSQbWzBtchtbMTszMG0kG1swbXQbWzE7MzBtJBtbMG1pG1sxOzMwbSQbWzBtZhtbMTszMG0kG1swbWkbWzE7MzBtJBtbMG1zG1sxOzMwbSQkG1swbTIbWzE7MzBtJBtbMG0wG1sxOzMwbSQbWzBtMhtbMTszMG0kG1swbTEbWzE7MzBtJCQkJCQkJCR5eXl5IBtbMDszMW1gYGBgG1sxbf0bWzA7MzFt/RtbMW39G1swOzMxbf0gG1sxOzMwbXl5eXkkJDskIBtbMDszMW0kJCQkLBtbMW0sG1swOzMxbSwsG1sxbXkbWzA7MzFteRtbMW15eRtbMDszMW0kG1sxbSQkJCAbWzMwbSQNCiQkJCQkJCQkJCQkJCQkJCQkyP39/bwkJCQkJCQkJCQkJCQkJCQkJCQkU7z9/f28UyQkJCQkJCQkJCR8JHl5eXkgG1swOzMxbf39G1sxbf0bWzA7MzFt/ScbWzFtJycnIBtbMzBteXl5eSQNCg==';
 +
 +</code>
 +
 +4). optionally you can visit https://embed-v2.ftelnet.ca/ and using their form generate the code using an ansi of your choosing.
 +    note: you only need to copy/paste the Options.SplashScreen= 'whatever code' and save it as template.splash similar to above.
 +    close and save.
 +    
 +5). add template.splash = '' value from above in ftelnet.ssjs as well
 +    
 +6). edit ../web/templates/nightshade/ftelnet.inc and add Options.SplashScreen = '@@splash@@';
 +    your ../web/templates/nightshade/ftelnet.inc options should like similar to
 +    
 +<code opts>
 +
 +<!-- fTelnet --> 
 +
 + <div id="fTelnetContainer" class="fTelnetContainer"></div>
 + <script>document.write('<script src="//embed-v2.ftelnet.ca/js/ftelnet-loader.norip.xfer.js?v=' + (new Date()).getTime() + '"><\/script>');</script>
 + <script>
 + var WSS = (location.protocol.toLowerCase() == 'https:');
 + var Options = new fTelnetOptions();
 + Options.BareLFtoCRLF = false;
 + Options.BitsPerSecond = 57600;
 + Options.ConnectionType = 'telnet';
 + Options.Emulation = 'ansi-bbs';
 + Options.Enter = '\r';
 + Options.Font = 'CP437';
 + Options.ForceWss = false;
 + Options.Hostname = '@@HostName@@';
 + Options.LocalEcho = false;
 + Options.Port = (WSS ? @@WSSPort@@ : @@WSPort@@);
 + Options.ScreenColumns = 80;
 + Options.ScreenRows = 25;
 + Options.WebSocketUrlPath = '/?Port=@@TelnetPort@@';
 + Options.SplashScreen = '@@splash@@';
 + var fTelnet = new fTelnetClient('fTelnetContainer', Options);
 + </script>
 +
 +<!-- end fTelnet -->
 +</code>
 +
 +7). edit ../web/root/index.ssjs and have it look similar to
 +
 +<code ibdx>
 +if(do_rightnav)
 +        write_template("rightnav.inc");
 +
 +//write_template("main.inc"); /* comment this out */
 +
 +load('ftelnet_main.ssjs');  /* add this (this will add ftlenet logon screen to the main center portion */
 +
 +if(do_footer)    
 +    write_template("footer.inc");
 +
 +</code>
 +
 +8). edit ../web/templates/nightshade/leftnav.inc and add an <li><a href="/ftelnet.ssjs">fTelnet Login</a></li> link to the exist nav list
 +
 +<code lnav>
 +
 +!-- Begin Left Nav -->
 +
 + <div id="navcontainer">
 + <div id="navigation">
 + <h4>Navigation</h4>
 + <ul>
 +                <li><a href="/nodelist.ssjs">Who's Online</a></li><li><a href="/ftelnet.ssjs">fTelnet Login</a></li><<REPEAT leftnav>>@@leftnav:html@@<<END REPEAT leftnav>></ul>
 + </div>
 + </div>
 +
 +<!-- End Left Nav -->
 +
 +</code>
 +
 +9). Confirm that your ws/wss ports are configured properly in ../ctrl/modopts.ini and that enabled and router ports are listening
 +
 +You should now have fTelnet links and fTelnet Logon Screen with a custom splash
 +
 +
  
 ===== See Also ===== ===== See Also =====
custom/ssjs_template.1613751678.txt · Last modified: 2021/02/19 08:21 by mortifis
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0