Userlist
This commit is contained in:
441
static/menu.html
441
static/menu.html
@@ -9,47 +9,219 @@
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
|
||||
<link rel="apple-touch-icon" href="/static/apple-touch-icon.png">
|
||||
<style>
|
||||
:root{--bg:#f4f1ea;--panel:#faf8f4;--line:#dfd2bf;--soft:#efe6d7;--text:#3d342c;--muted:#6f6257;--accent:#ad1d1c;--accent2:#c96b3d;--gold:#b9813d;}
|
||||
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:15px/1.55 Arial,Helvetica,sans-serif}
|
||||
:root{
|
||||
--bg:#f4f1ea;--panel:#faf8f4;--line:#dfd2bf;--soft:#efe6d7;--text:#3d342c;
|
||||
--muted:#6f6257;--accent:#ad1d1c;--accent2:#c96b3d;--gold:#b9813d;--warm:#d6bf9c;
|
||||
}
|
||||
*{box-sizing:border-box}
|
||||
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:15px/1.55 Arial,Helvetica,sans-serif}
|
||||
body{padding:18px}
|
||||
a{color:inherit} code,tt{font-family:"DejaVu Sans Mono",monospace}
|
||||
.shell{max-width:1100px;margin:0 auto}
|
||||
.shell{max-width:1250px;margin:0 auto}
|
||||
.hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#a80f18,#c44731 60%,#d79a54);color:#fff;box-shadow:0 12px 30px rgba(64,36,12,.08)}
|
||||
.hero img{height:42px;width:auto;display:block;background:#fff;border-radius:10px;padding:5px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
|
||||
.hero h1{margin:0;font-size:28px;line-height:1.1}
|
||||
.hero p{margin:6px 0 0;font-size:15px;opacity:.95}
|
||||
.grid{margin-top:18px;display:grid;gap:16px}
|
||||
.card{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(64,36,12,.04)}
|
||||
.card-header{padding:16px 18px;background:linear-gradient(90deg,#efe7da,#e8dfcf);border-bottom:1px solid var(--line)}
|
||||
.card-title{margin:0;font-size:18px;color:var(--accent)}
|
||||
.card-sub{margin:6px 0 0;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
|
||||
.card-body{padding:0}
|
||||
.workspace{margin-top:18px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start}
|
||||
.nav-shell{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 18px rgba(64,36,12,.05);padding:12px;position:sticky;top:14px}
|
||||
.nav-title{margin:4px 6px 10px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
|
||||
.nav-list{display:flex;flex-direction:column;gap:10px}
|
||||
.nav-item{appearance:none;-webkit-appearance:none;width:100%;border:1px solid #e6d8c6;border-radius:16px;background:#fffdf9;color:var(--text);padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .16s ease;box-shadow:0 2px 8px rgba(64,36,12,.03)}
|
||||
.nav-item:hover{transform:translateY(-1px);border-color:#d0b089;box-shadow:0 8px 18px rgba(64,36,12,.06)}
|
||||
.nav-item.active{background:linear-gradient(180deg,#fffaf2,#f3e7d4);border-color:#caa46f;box-shadow:0 10px 20px rgba(64,36,12,.08)}
|
||||
.nav-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;background:linear-gradient(180deg,#f4eadc,#e4d4bb);border:1px solid #d6bf9c;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
|
||||
.nav-item.active .nav-icon{background:linear-gradient(180deg,#d24835,#b62022);color:#fff;border-color:#9f2f26}
|
||||
.nav-label{font-size:12px;line-height:1.25;text-align:center;font-weight:bold;color:#5a4c3f}
|
||||
.detail-shell{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 18px rgba(64,36,12,.05);overflow:hidden;min-height:720px}
|
||||
.detail-topbar{padding:16px 18px;background:linear-gradient(90deg,#efe7da,#e8dfcf);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
|
||||
.detail-topbar .left h2{margin:0;font-size:22px;color:var(--accent)}
|
||||
.detail-topbar .left p{margin:4px 0 0;color:var(--muted);font-size:14px}
|
||||
.detail-container{padding:0}
|
||||
.detail-section{display:none}
|
||||
.detail-section.active{display:block}
|
||||
.detail-header-row{padding:16px 18px;background:#fbf7f1;border-bottom:1px solid #eee5d7;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
|
||||
.detail-kicker{margin:0 0 6px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
|
||||
.detail-header-row h2{margin:0;font-size:28px;line-height:1.15;color:#332920}
|
||||
.open-button{display:inline-block;text-decoration:none;border:1px solid #a33d2f;border-radius:10px;padding:8px 14px;background:#b84434;color:#fff;font-weight:bold;white-space:nowrap;box-shadow:0 6px 14px rgba(165,50,36,.16)}
|
||||
.open-button:hover{filter:brightness(.96)}
|
||||
.detail-body{padding:0}
|
||||
.info{padding:16px 18px;border-top:1px solid #eee5d7}
|
||||
.info:first-child{border-top:0}
|
||||
.info h3{margin:0 0 8px;font-size:15px;color:#8b4a1d}
|
||||
.info p,.info ul,.info ol{margin:0 0 10px;color:var(--muted)}
|
||||
.info p:last-child,.info ul:last-child,.info ol:last-child{margin-bottom:0}
|
||||
.info p,.info ul,.info ol,.info div{margin:0 0 10px;color:var(--muted)}
|
||||
.info p:last-child,.info ul:last-child,.info ol:last-child,.info div:last-child{margin-bottom:0}
|
||||
.info ul,.info ol{padding-left:22px}
|
||||
.note{color:#5f5349}
|
||||
@media (max-width:700px){body{padding:12px}.hero{padding:18px;align-items:flex-start;flex-direction:column}.hero img{height:36px}.card-header{padding:14px 16px}.info{padding:14px 16px}}
|
||||
.tipbar{padding:10px 18px;border-top:1px solid #eadfce;background:#fffaf4;color:#80695a;font-size:13px}
|
||||
@media (max-width:980px) {
|
||||
.workspace{grid-template-columns:1fr;}
|
||||
.nav-shell{position:static}
|
||||
.nav-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
|
||||
.detail-shell{min-height:auto}
|
||||
}
|
||||
@media (max-width:700px){
|
||||
body{padding:12px}
|
||||
.hero{padding:18px;align-items:flex-start;flex-direction:column}
|
||||
.hero img{height:36px}
|
||||
.detail-topbar,.detail-header-row{padding:14px 16px}
|
||||
.info{padding:14px 16px}
|
||||
.detail-header-row{flex-direction:column}
|
||||
}
|
||||
|
||||
.nav-icon{background:none;border:0;box-shadow:none}
|
||||
.nav-icon img{width:58px;height:58px;display:block;filter:drop-shadow(0 4px 8px rgba(64,36,12,.10))}
|
||||
.nav-item.active .nav-icon{background:none;color:inherit;border:0}
|
||||
.nav-item.active .nav-icon img{filter:drop-shadow(0 6px 12px rgba(173,29,28,.22))}
|
||||
|
||||
.setup-first .detail-header-row{background:linear-gradient(90deg,#fff7ec,#f1dfc6)}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="shell">
|
||||
<div class="hero">
|
||||
<div>
|
||||
<h1>Main menu</h1>
|
||||
<p>SMArT configuration navigation with the original explanations preserved.</p>
|
||||
<div class="hero">
|
||||
<div>
|
||||
<h1>Main menu</h1>
|
||||
<p>Choose a section from the icon list. The explanation opens here on the left, and the editor opens on the right.</p>
|
||||
</div>
|
||||
<img src="/static/smart_icon.jpg" alt="SMArT logo">
|
||||
</div>
|
||||
<img src="/static/smart_icon.jpg" alt="SMArT logo">
|
||||
</div>
|
||||
<div class="grid">
|
||||
<a class="card" href="/settings/general" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">General settings</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
|
||||
<div class="workspace">
|
||||
<aside class="nav-shell">
|
||||
<div class="nav-title">Sections</div>
|
||||
<div class="nav-list">
|
||||
<button class="nav-item active" type="button" data-target="setup-first" data-href="/settings/smart" aria-pressed="true" title="Setup first">
|
||||
<span class="nav-icon icon-start"><img src="/static/icon-start.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Setup first</span>
|
||||
</button>
|
||||
<button class="nav-item" type="button" data-target="mars-nwe-service" data-href="/static/start.html" aria-pressed="false" title="MARS_NWE service">
|
||||
<span class="nav-icon icon-service"><img src="/static/icon-service.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">MARS_NWE service</span>
|
||||
</button>
|
||||
<button class="nav-item" type="button" data-target="general-settings" data-href="/settings/general" aria-pressed="false" title="General settings">
|
||||
<span class="nav-icon icon-general"><img src="/static/icon-general.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">General settings</span>
|
||||
</button><button class="nav-item" type="button" data-target="directories" data-href="/settings/dirs" aria-pressed="false" title="Directories">
|
||||
<span class="nav-icon icon-dirs"><img src="/static/icon-dirs.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Directories</span>
|
||||
</button><button class="nav-item" type="button" data-target="precompiled-settings" data-href="/settings/configh" aria-pressed="false" title="Precompiled settings">
|
||||
<span class="nav-icon icon-configh"><img src="/static/icon-configh.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Precompiled settings</span>
|
||||
</button><button class="nav-item" type="button" data-target="security" data-href="/settings/security" aria-pressed="false" title="Security">
|
||||
<span class="nav-icon icon-security"><img src="/static/icon-security.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Security</span>
|
||||
</button><button class="nav-item" type="button" data-target="user-configuration" data-href="/settings/susers" aria-pressed="false" title="User configuration">
|
||||
<span class="nav-icon icon-susers"><img src="/static/icon-susers.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">User configuration</span>
|
||||
</button><button class="nav-item" type="button" data-target="volumes" data-href="/settings/volumes" aria-pressed="false" title="Volumes">
|
||||
<span class="nav-icon icon-volumes"><img src="/static/icon-volumes.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Volumes</span>
|
||||
</button><button class="nav-item" type="button" data-target="devices" data-href="/settings/devices" aria-pressed="false" title="Devices">
|
||||
<span class="nav-icon icon-devices"><img src="/static/icon-devices.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Devices</span>
|
||||
</button><button class="nav-item" type="button" data-target="logging" data-href="/settings/logging" aria-pressed="false" title="Logging">
|
||||
<span class="nav-icon icon-logging"><img src="/static/icon-logging.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Logging</span>
|
||||
</button><button class="nav-item" type="button" data-target="smart-settings" data-href="/settings/smart" aria-pressed="false" title="SMArT settings">
|
||||
<span class="nav-icon icon-smart"><img src="/static/icon-smart.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">SMArT settings</span>
|
||||
</button><button class="nav-item" type="button" data-target="stations-access-control" data-href="/settings/advanced/stations" aria-pressed="false" title="Stations / access control">
|
||||
<span class="nav-icon icon-stations"><img src="/static/icon-stations.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Stations / access control</span>
|
||||
</button><button class="nav-item" type="button" data-target="users" data-href="/settings/users" aria-pressed="false" title="Users">
|
||||
<span class="nav-icon icon-users"><img src="/static/icon-users.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Users</span>
|
||||
</button><button class="nav-item" type="button" data-target="groups" data-href="/settings/groups" aria-pressed="false" title="Groups">
|
||||
<span class="nav-icon icon-groups"><img src="/static/icon-groups.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Groups</span>
|
||||
</button><button class="nav-item" type="button" data-target="print-queues" data-href="/settings/queues" aria-pressed="false" title="Print queues">
|
||||
<span class="nav-icon icon-queues"><img src="/static/icon-queues.svg" alt="" aria-hidden="true"></span>
|
||||
<span class="nav-label">Print queues</span>
|
||||
</button>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<main class="detail-shell">
|
||||
<div class="detail-topbar">
|
||||
<div class="left">
|
||||
<h2 id="panel-title">Setup first</h2>
|
||||
<p>Explanation on the left, editor opens in the right pane.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-container">
|
||||
<section class="detail-section active setup-first" id="detail-setup-first" data-href="/settings/smart" data-title="Setup first">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">First step</div>
|
||||
<h2>Setup first</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/smart" target="OPTS">Open SMArT settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<h3>Fill SMArT settings first</h3>
|
||||
<div class="note">Before editing users, groups, bindery objects, trustees or print queues, configure the SMArT settings first.</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<h3>Bindery / Supervisor access</h3>
|
||||
<div class="note">SMArT needs the NetWare bindery server name, the supervisor login and the supervisor password. Use the supervisor password that is configured for your MARS_NWE server in <tt>nwserv.conf</tt>. Without this, SMArT can still show configuration pages, but operations which talk to the running server can fail.</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<h3>Why this matters</h3>
|
||||
<div class="note">User, group and trustee actions use the MARS_NWE tools against the bindery. If the bindery credentials are missing or wrong, SMArT cannot reliably create objects, update memberships, set passwords or modify trustees.</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<h3>Recommended order</h3>
|
||||
<div class="note">
|
||||
<ol>
|
||||
<li>Open <b>SMArT settings</b>.</li>
|
||||
<li>Set the <tt>nwserv.conf</tt> path if needed.</li>
|
||||
<li>Enter bindery server, supervisor user and supervisor password.</li>
|
||||
<li>Save, then continue with users, groups, volumes, trustees and queues.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="detail-section" id="detail-mars-nwe-service" data-href="/static/start.html" data-title="MARS_NWE service">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Service control</div>
|
||||
<h2>MARS_NWE service</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/static/start.html" target="OPTS">Open start page</a>
|
||||
</div>
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<h3>Start, stop, restart and status</h3>
|
||||
<div class="note">Use this page to control the systemd service for the running MARS_NWE server.</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<h3>Available actions</h3>
|
||||
<div class="note">
|
||||
<ul>
|
||||
<li><tt>status</tt> shows the current service state.</li>
|
||||
<li><tt>start</tt> starts the MARS_NWE service.</li>
|
||||
<li><tt>stop</tt> waits until the service is really stopped.</li>
|
||||
<li><tt>restart</tt> restarts the service and then shows the final status.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<h3>When to use it</h3>
|
||||
<div class="note">After changing <tt>nwserv.conf</tt>, restart the service so the server reloads the changed configuration. Use the start page buttons on the right to run start, stop, restart or status.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="detail-section" id="detail-general-settings" data-href="/settings/general" data-title="General settings">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>General settings</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/general" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<h3>Servername</h3>
|
||||
<div class="note">The servername is the name under which this server will show up when using
|
||||
@@ -119,39 +291,45 @@ Don't ask me what they mean, but they're hexadecimal, so don't forget to
|
||||
prepend <tt>0x</tt>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/dirs" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Directories</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-directories" data-href="/settings/dirs" data-title="Directories">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Directories</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/dirs" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">Some directories for MARS_NWE files.
|
||||
The path cache directory is needed for Client-32 and the namespace calls,
|
||||
the spool directory is used for internal print queue handling.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/configh" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Precompiled settings</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-precompiled-settings" data-href="/settings/configh" data-title="Precompiled settings">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Precompiled settings</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/configh" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">When you just leave these fields empty, the values in your <tt>config.h</tt>
|
||||
file will be used. If you want to change those settings without recompiling
|
||||
<tt>MARS_NWE</tt>, you can change them here.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/security" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Security</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-security" data-href="/settings/security" data-title="Security">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Security</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/security" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<h3>Modes</h3>
|
||||
<div class="note">Here you can change the standard modes for new files and directories.
|
||||
@@ -170,13 +348,15 @@ not-encrypted sending of passwords over the net.<br/>
|
||||
On the Linux-side, passwords will only be stored in encrypted format.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/susers" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">User configuration</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-user-configuration" data-href="/settings/susers" data-title="User configuration">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>User configuration</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/susers" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<h3>Guest user</h3>
|
||||
<div class="note">Here you can set the UID a user will get before logging in.</div>
|
||||
@@ -217,13 +397,15 @@ Only those Linux-logins will handled automatically that don't have a
|
||||
x or asterisk as their encrypted password.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/volumes" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Volumes</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-volumes" data-href="/settings/volumes" data-title="Volumes">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Volumes</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/volumes" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">The OS/2 additional namespace can be used by Windows 9x too. The
|
||||
'no fixed i-nodes' option is necessary when exporting DOS or CD-ROM
|
||||
@@ -233,13 +415,15 @@ For more information about pipe filesystems you can take a look at
|
||||
MARS_NWE's documentation directory.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/devices" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Devices</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-devices" data-href="/settings/devices" data-title="Devices">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Devices</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/devices" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">This section contains information for the ipx-router built into mars_nwe
|
||||
and/or the external program <tt>nwrouted</tt>.<br/>
|
||||
@@ -289,13 +473,15 @@ in internal device/routing table at runtime.<br/>
|
||||
<b>You don't have to set this in FreeBSD!</b></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/logging" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Logging</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-logging" data-href="/settings/logging" data-title="Logging">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Logging</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/logging" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">MARS_NWE can keep a log file with error messages, click here to set what
|
||||
kind of messages must be logged and where.<br/>
|
||||
@@ -305,48 +491,69 @@ According to <tt>nwserv.conf</tt>, the NWCLIENT tag must always be set
|
||||
to <i>No debugging</i>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/smart" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">SMArT settings</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-smart-settings" data-href="/settings/smart" data-title="SMArT settings">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>SMArT settings</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/smart" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">Some things have to be configured here before you can use SMArT.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/users" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Users</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-stations-access-control" data-href="/settings/advanced/stations" data-title="Stations / access control">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Stations / access control</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/advanced/stations" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">Configure station file based nearest-server and connection replies.</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><section class="detail-section" id="detail-users" data-href="/settings/users" data-title="Users">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Users</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/users" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">You can edit the userlist from the bindery files here. This option will not
|
||||
change anything to the <tt>nwserv.conf</tt> configuration file.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/groups" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Groups</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-groups" data-href="/settings/groups" data-title="Groups">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Groups</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/groups" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">You can edit the group list from the bindery files here. This option will not
|
||||
change anything to the <tt>nwserv.conf</tt> configuration file.</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="card" href="/settings/queues" target="OPTS">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Print queues</h2>
|
||||
<div class="card-sub">Open settings</div>
|
||||
</section><section class="detail-section" id="detail-print-queues" data-href="/settings/queues" data-title="Print queues">
|
||||
<div class="detail-header-row">
|
||||
<div>
|
||||
<div class="detail-kicker">Section</div>
|
||||
<h2>Print queues</h2>
|
||||
</div>
|
||||
<a class="open-button" href="/settings/queues" target="OPTS">Open settings</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="detail-body">
|
||||
<div class="info">
|
||||
<div class="note">Here you can edit the list of print queues. The things you have to fill in are:
|
||||
<ol>
|
||||
@@ -366,8 +573,58 @@ default directory.
|
||||
</li></li></li></ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="tipbar">Tip: click an icon on the left to switch topics. The corresponding settings page is opened automatically in the editor pane on the right.</div>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
function openInEditor(href) {
|
||||
try {
|
||||
if (window.parent && window.parent.frames && window.parent.frames['OPTS']) {
|
||||
window.parent.frames['OPTS'].location = href;
|
||||
return;
|
||||
}
|
||||
} catch (e) {}
|
||||
window.open(href, 'OPTS');
|
||||
}
|
||||
|
||||
function activate(target, openEditor) {
|
||||
var buttons = document.querySelectorAll('.nav-item');
|
||||
var sections = document.querySelectorAll('.detail-section');
|
||||
buttons.forEach(function(btn) {
|
||||
var active = btn.getAttribute('data-target') === target;
|
||||
btn.classList.toggle('active', active);
|
||||
btn.setAttribute('aria-pressed', active ? 'true' : 'false');
|
||||
});
|
||||
sections.forEach(function(sec) {
|
||||
sec.classList.toggle('active', sec.id === 'detail-' + target);
|
||||
});
|
||||
var activeSection = document.getElementById('detail-' + target);
|
||||
if (activeSection) {
|
||||
var title = activeSection.getAttribute('data-title') || '';
|
||||
var href = activeSection.getAttribute('data-href') || '';
|
||||
var titleNode = document.getElementById('panel-title');
|
||||
if (titleNode) titleNode.textContent = title;
|
||||
if (openEditor && href) openInEditor(href);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('.nav-item').forEach(function(btn) {
|
||||
btn.addEventListener('click', function() {
|
||||
activate(btn.getAttribute('data-target'), true);
|
||||
});
|
||||
});
|
||||
|
||||
// Load the first section into the editor on first view.
|
||||
var first = document.querySelector('.nav-item.active') || document.querySelector('.nav-item');
|
||||
if (first) {
|
||||
activate(first.getAttribute('data-target'), true);
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user