mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			245 lines
		
	
	
	
		
			9.2 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
	
		
			9.2 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | |
| <html lang="en">
 | |
| <head>
 | |
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | |
|     <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
 | |
|     <meta name="viewport" content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" />
 | |
|     <meta name="apple-mobile-web-app-capable" content="yes" />
 | |
|     <meta name="format-detection" content="telephone=no" />
 | |
|     <meta name="robots" content="noindex,nofollow" />
 | |
|     <link type="text/css" href="/styles/style.css" media="screen" rel="stylesheet" title="CSS" />
 | |
|     <link rel="apple-touch-icon" href="/favicon-303x303.png" />
 | |
|     <title>{{{title}}}</title>
 | |
|     <style nonce="{{{cspNonce}}}">
 | |
|         #xbody {
 | |
|             overflow: hidden;
 | |
|         }
 | |
| 
 | |
|         #masthead {
 | |
|             background: url(logo.png) 0px 0px;
 | |
|             background-color: #036;
 | |
|             background-repeat: no-repeat;
 | |
|             height: 66px;
 | |
|             width: 100%;
 | |
|             overflow: hidden;
 | |
|         }
 | |
| 
 | |
|         #title1 {
 | |
|             float: left;
 | |
|             text-shadow: 1px 1px 2px #000;
 | |
|         }
 | |
| 
 | |
|         #title2 {
 | |
|             float: left;
 | |
|             height: 66px;
 | |
|             color: #c8c8c8;
 | |
|             padding-left: 16px;
 | |
|             padding-top: 7px;
 | |
|         }
 | |
| 
 | |
|         #title2a {
 | |
|             font-size: 46px;
 | |
|             font-family: Arial, Helvetica, sans-serif;
 | |
|             text-shadow: 1px 1px 2px #000;
 | |
|         }
 | |
| 
 | |
|         #title3 {
 | |
|             float: left;
 | |
|             height: 66px;
 | |
|             color: #c8c8c8;
 | |
|             padding-left: 5px;
 | |
|             padding-top: 14px;
 | |
|         }
 | |
| 
 | |
|         #title3a {
 | |
|             font-size: 14px;
 | |
|             font-family: Arial, Helvetica, sans-serif;
 | |
|             text-shadow: 1px 1px 2px #000;
 | |
|         }
 | |
| 
 | |
|         #footerLeft {
 | |
|             text-align: left;
 | |
|         }
 | |
| 
 | |
|         #footerRight {
 | |
|             text-align: right;
 | |
|         }
 | |
| 
 | |
|         #topbar {
 | |
|             height: 24px;
 | |
|             position: relative;
 | |
|         }
 | |
| 
 | |
|         #page_leftbar_div {
 | |
|             height: 16px;
 | |
|         }
 | |
| 
 | |
|         #uiMenu {
 | |
|         }
 | |
| 
 | |
|         #text1 {
 | |
|             text-align: center;
 | |
|             padding-top: 30px;
 | |
|             font-size: 200px;
 | |
|             font-family: Arial;
 | |
|             color: #bbb;
 | |
|         }
 | |
| 
 | |
|         #text2 {
 | |
|             text-align: center;
 | |
|             font-size: 20px;
 | |
|             font-family: Arial;
 | |
|             color: #999;
 | |
|         }
 | |
| 
 | |
|         #text3 {
 | |
|             text-align: center;
 | |
|             padding-top: 20px;
 | |
|             font-size: 20px;
 | |
|             font-family: Arial;
 | |
|             color: #999;
 | |
|         }
 | |
| 
 | |
|         #column_l {
 | |
|             max-height: calc(100vh - 135px);
 | |
|             overflow-y: auto;
 | |
|         }
 | |
|     </style>
 | |
| </head>
 | |
| <body id="xbody">
 | |
|     <div id="container">
 | |
|         <!-- Begin Masthead -->
 | |
|         <div id="masthead" class=noselect>
 | |
|             <div id="title1">{{{titlehtml}}}</div>
 | |
|             <div id="title2">
 | |
|                 <strong><font id="title2a">{{{title1}}}</font></strong>
 | |
|             </div>
 | |
|             <div id="title3">
 | |
|                 <strong><font id="title3a">{{{title2}}}</font></strong>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div id="page_leftbar">
 | |
|             <div id="page_leftbar_div"></div>
 | |
|         </div>
 | |
|         <div id=topbar class="noselect style3">
 | |
|             <div id=uiMenuButton title="User interface selection">
 | |
|                 ♦
 | |
|                 <div id=uiMenu>
 | |
|                     <div id=uiViewButton1 class=uiSelector title="Left bar interface"><div class="uiSelector1"></div></div>
 | |
|                     <div id=uiViewButton2 class=uiSelector title="Top bar interface"><div class="uiSelector2"></div></div>
 | |
|                     <div id=uiViewButton3 class=uiSelector title="Fixed width interface"><div class="uiSelector3"></div></div>
 | |
|                     <div id=uiViewButton4 class=uiSelector title="Toggle night mode"><div class="uiSelector4"></div></div>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div id="column_l">
 | |
|             <div id="text1"><b>404</b></div>
 | |
|             <div id="text2">This page does not exist</div>
 | |
|             <div id="text3"><a href="/" style="text-decoration:none"><b>Go to main site</b></a></div>
 | |
|         </div>
 | |
|         <div id="footer">
 | |
|             <table cellpadding="0" cellspacing="10" style="width: 100%">
 | |
|                 <tr>
 | |
|                     <td id="footerLeft"></td>
 | |
|                     <td id="footerRight"><a href="/">Back</a></td>
 | |
|                 </tr>
 | |
|             </table>
 | |
|         </div>
 | |
|     </div>
 | |
|     <script nonce="{{{cspNonce}}}">
 | |
|         'use strict';
 | |
|         var random = '{{{randomlength}}}' // Random length string for BREACH mitigation
 | |
|         var uiMode = parseInt(getstore('uiMode', 1));
 | |
|         var webPageStackMenu = false;
 | |
|         var webPageFullScreen = true;
 | |
|         var nightMode = (getstore('_nightMode', '0') == '1');
 | |
|         var menuVisible = false;
 | |
|         QV('uiMenu', menuVisible);
 | |
|         if (nightMode) { QC('xbody').add('night'); } else { QC('xbody').remove('night'); }
 | |
| 
 | |
|         // Setup handlers
 | |
|         Q('uiMenuButton').onclick = showUserInterfaceSelectMenu;
 | |
|         Q('uiViewButton1').onclick = function () { userInterfaceSelectMenu(1); }
 | |
|         Q('uiViewButton2').onclick = function () { userInterfaceSelectMenu(2); }
 | |
|         Q('uiViewButton3').onclick = function () { userInterfaceSelectMenu(3); }
 | |
|         Q('uiViewButton4').onclick = toggleNightMode;
 | |
| 
 | |
|         var terms = '{{{terms}}}';
 | |
|         if (terms != '') { QH('column_l', decodeURIComponent(terms)); }
 | |
|         QV('column_l', true);
 | |
|         userInterfaceSelectMenu();
 | |
| 
 | |
|         // Toggle user interface menu
 | |
|         function showUserInterfaceSelectMenu() {
 | |
|             Q('uiViewButton1').classList.remove('uiSelectorSel');
 | |
|             Q('uiViewButton2').classList.remove('uiSelectorSel');
 | |
|             Q('uiViewButton3').classList.remove('uiSelectorSel');
 | |
|             Q('uiViewButton4').classList.remove('uiSelectorSel');
 | |
|             try { Q('uiViewButton' + uiMode).classList.add('uiSelectorSel'); } catch (ex) { }
 | |
|             menuVisible = !menuVisible;
 | |
|             QV('uiMenu', menuVisible);
 | |
|             if (nightMode) { Q('uiViewButton4').classList.add('uiSelectorSel'); }
 | |
|         }
 | |
| 
 | |
|         function userInterfaceSelectMenu(s) {
 | |
|             if (s) { uiMode = s; putstore('uiMode', uiMode); }
 | |
|             webPageFullScreen = (uiMode < 3);
 | |
|             webPageStackMenu = true;//(uiMode > 1);
 | |
|             toggleFullScreen(0);
 | |
|             toggleStackMenu(0);
 | |
|             QC('column_l').add('room4submenu');
 | |
|         }
 | |
| 
 | |
|         function toggleNightMode() {
 | |
|             nightMode = !nightMode;
 | |
|             if (nightMode) { QC('xbody').add('night'); } else { QC('xbody').remove('night'); }
 | |
|             putstore('_nightMode', nightMode ? '1' : '0');
 | |
|         }
 | |
| 
 | |
|         // Toggle the web page to full screen
 | |
|         function toggleFullScreen(toggle) {
 | |
|             if (toggle === 1) { webPageFullScreen = !webPageFullScreen; putstore('webPageFullScreen', webPageFullScreen); }
 | |
|             var hide = 0;
 | |
|             //if (args.hide) { hide = parseInt(args.hide); }
 | |
|             if (webPageFullScreen == false) {
 | |
|                 QC('xbody').remove('menu_stack');
 | |
|                 QC('xbody').remove('fullscreen');
 | |
|                 QC('xbody').remove('arg_hide');
 | |
|                 //if (xxcurrentView >= 10) QC('column_l').add('room4submenu');
 | |
|                 //QV('UserDummyMenuSpan', false);
 | |
|                 //QV('page_leftbar', false);
 | |
|             } else {
 | |
|                 QC('xbody').add('fullscreen');
 | |
|                 if (hide & 16) QC('xbody').add('arg_hide'); // This is replacement for QV('page_leftbar', !(hide & 16));
 | |
|                 //QV('UserDummyMenuSpan', (xxcurrentView < 10) && webPageFullScreen);
 | |
|                 //QV('page_leftbar', true);
 | |
|             }
 | |
|             QV('xbody', true);
 | |
|         }
 | |
| 
 | |
|         // If FullScreen, toggle menu to be horisontal or vertical
 | |
|         function toggleStackMenu(toggle) {
 | |
|             if (webPageFullScreen == true) {
 | |
|                 if (toggle === 1) {
 | |
|                     webPageStackMenu = !webPageStackMenu;
 | |
|                     putstore('webPageStackMenu', webPageStackMenu);
 | |
|                 }
 | |
|                 if (webPageStackMenu == false) {
 | |
|                     QC('xbody').remove('menu_stack');
 | |
|                 } else {
 | |
|                     QC('xbody').add('menu_stack');
 | |
|                     //if (xxcurrentView >= 10) QC('column_l').remove('room4submenu');
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         function putstore(name, val) { try { if (typeof (localStorage) === 'undefined') return; localStorage.setItem(name, val); } catch (e) { } }
 | |
|         function getstore(name, val) { try { if (typeof (localStorage) === 'undefined') return val; var v = localStorage.getItem(name); if ((v == null) || (v == null)) return val; return v; } catch (e) { return val; } }
 | |
|         function Q(x) { return document.getElementById(x); }                            // "Q"
 | |
|         function QS(x) { try { return Q(x).style; } catch (x) { } }                     // "Q" style
 | |
|         function QV(x, y) { try { QS(x).display = (y ? '' : 'none'); } catch (ex) { console.log(ex); } }  // "Q" visible
 | |
|         function QH(x, y) { Q(x).innerHTML = y; }                                       // "Q" html
 | |
|         function QC(x) { try { return Q(x).classList; } catch (x) { } }                 // "Q" class
 | |
|     </script>
 | |
| </body>
 | |
| </html>
 |