Translateable webadmin to Russian.

This commit is contained in:
Alexey Sokolov
2016-02-04 22:59:07 +00:00
parent 4a940a3a3a
commit 711e835c93
16 changed files with 2906 additions and 434 deletions
+21 -15
View File
@@ -1,3 +1,4 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?><? IF Edit ?>editchan<? ELSE ?>addchan<? ENDIF ?>" method="post">
@@ -8,33 +9,33 @@
<input type="hidden" name="network" value="<? VAR Network ?>" />
<? IF Edit ?><input type="hidden" name="name" value="<? VAR ChanName ?>" /><? ENDIF ?>
<h3>Channel Info</h3>
<h3><? FORMAT "Channel Info" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<? IF !Edit ?>
<div class="subsection half">
<div class="inputlabel">Channel Name:</div>
<div class="inputlabel"><? FORMAT "Channel Name:" ?></div>
<input type="text" name="name" value=""
title="The channel name." />
title="<? FORMAT "The channel name." ?>"/>
</div>
<? ENDIF ?>
<div class="subsection">
<div class="inputlabel">Key:</div>
<div class="inputlabel"><? FORMAT "Key:" ?></div>
<input type="text" name="key" value="<? VAR Key ?>" size="10"
title="The password of the channel, if there is one." />
title="<? FORMAT "The password of the channel, if there is one." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Buffer Size:</div>
<div class="inputlabel"><? FORMAT "Buffer Size:" ?></div>
<input type="number" name="buffersize" value="<? VAR BufferSize ?>" size="10" min="0"
title="The buffer count." />
title="<? FORMAT "The buffer count." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Default Modes:</div>
<div class="inputlabel"><? FORMAT "Default Modes:" ?></div>
<input type="text" name="defmodes" value="<? VAR DefModes ?>" size="10"
title="The default modes of the channel." />
title="<? FORMAT "The default modes of the channel." ?>"/>
</div>
</div>
@@ -42,17 +43,17 @@
</div>
<div class="section">
<h3>Flags</h3>
<h3><? FORMAT "Flags" ?></h3>
<div class="sectionbg">
<div class="sectionbody lotsofcheckboxes">
<span class="checkboxandlabel">
<input type="checkbox" name="save" id="save" value="true"<? IF InConfig ?> checked="checked"<? ENDIF ?> />
<label for="save">Save to config</label>
<label for="save"><? FORMAT "Save to config" ?></label>
</span>
<? LOOP OptionLoop ?>
<span class="checkboxandlabel" title="<? VAR Tooltip ?>">
<input type="checkbox" name="<? VAR Name ?>" id="opt_<? VAR Name ?>" value="true"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> />
<label for="opt_<? VAR Name ?>"><? VAR DisplayName ?></label>
<label for="opt_<? VAR Name ?>"><? VAR DisplayName ESC= ?></label>
</span>
<? ENDLOOP ?>
<div style="clear:both;"></div>
@@ -63,15 +64,20 @@
<? LOOP EmbeddedModuleLoop ?>
<? IF Embed ?>
<div class="section">
<h3>Module <? VAR ModName ?></h3>
<h3><? FORMAT "Module {1}" ModName ?></h3>
<? INC *Embed ?>
</div>
<? ENDIF ?>
<? ENDLOOP ?>
<div class="submitline">
<input type="submit" name="submit_return" value="<? IF Edit ?>Save<? ELSE ?>Add Channel<? ENDIF ?> and return" />
<input type="submit" name="submit_continue" value="<? IF Edit ?>Save<? ELSE ?>Add Channel<? ENDIF ?> and continue" />
<? IF Edit ?>
<input type="submit" name="submit_return" value="<? FORMAT "Save and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Save and continue" ?>"/>
<? ELSE ?>
<input type="submit" name="submit_return" value="<? FORMAT "Add Channel and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Add Channel and continue" ?>"/>
<? ENDIF ?>
</div>
</form>
@@ -1,9 +1,17 @@
<? I18N znc-webadmin ?>
<? AddRow JSLoop HREF=/modfiles/global/webadmin/webadmin.js ?>
<? AddRow CSSLoop HREF=/modfiles/global/webadmin/webadmin.css ?>
<? INC Header.tmpl ?>
<div class="section">
<p>To connect to this network from your IRC client, you can set the server password field as follows: <code><? VAR Username ?>/<? IF Edit ?><? VAR Name ?><? ELSE ?>&lt;network&gt;<? ENDIF ?>:&lt;password&gt;</code> or username field as <code><? VAR Username ?>/<? IF Edit ?><? VAR Name ?><? ELSE ?>&lt;network&gt;<? ENDIF ?></code></p>
<? IF Edit ?>
<? SETBLOCK ClientConnectHint_Password ?><? VAR Username ?>/<? VAR Name ?>:<? FORMAT "&lt;password&gt;" ?><? ENDSETBLOCK ?>
<? SETBLOCK ClientConnectHint_Username ?><? VAR Username ?>/<? VAR Name ?><? ENDSETBLOCK ?>
<? ELSE ?>
<? SETBLOCK ClientConnectHint_Password ?><? VAR Username ?>/<? FORMAT "&lt;network&gt;" ?>:<? FORMAT "&lt;password&gt;" ?><? ENDSETBLOCK ?>
<? SETBLOCK ClientConnectHint_Username ?><? VAR Username ?>/<? FORMAT "&lt;network&gt;" ?><? ENDSETBLOCK ?>
<? ENDIF ?>
<p><? FORMAT "To connect to this network from your IRC client, you can set the server password field as <code>{1}</code> or username field as <code>{2}</code>" "ClientConnectHint_Password ESC=" "ClientConnectHint_Username ESC=" ?>
</div>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?><? IF Edit ?>editnetwork<? ELSE ?>addnetwork<? ENDIF ?>" method="post">
@@ -13,75 +21,75 @@
<input type="hidden" name="user" value="<? VAR Username ?>" />
<input type="hidden" name="network" value="<? VAR Name ?>" />
<h3>Network Info</h3>
<span class="info">Nick, AltNick, Ident, RealName, BindHost can be left empty to use the value from the user.</span>
<h3><? FORMAT "Network Info" ?></h3>
<span class="info"><? FORMAT "Nick, AltNick, Ident, RealName, BindHost can be left empty to use the value from the user." ?></span>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<div class="inputlabel">Network Name:</div>
<div class="inputlabel"><? FORMAT "Network Name:" ?></div>
<input type="text" name="name" value="<? VAR Name ?>" class="half" maxlength="128"
title="The name of the IRC network." />
title="<? FORMAT "The name of the IRC network." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Nickname:</div>
<div class="inputlabel"><? FORMAT "Nickname:" ?></div>
<input type="text" name="nick" value="<? VAR Nick ?>" class="half" maxlength="128"
title="Your nickname on IRC." />
title="<? FORMAT "Your nickname on IRC." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Alt. Nickname:</div>
<div class="inputlabel"><? FORMAT "Alt. Nickname:" ?></div>
<input type="text" name="altnick" value="<? VAR AltNick ?>" class="half" maxlength="128"
title="Your secondary nickname, if the first is not available on IRC." />
title="<? FORMAT "Your secondary nickname, if the first is not available on IRC." ?>"/>
</div>
<div style="clear: both;"></div>
<div class="subsection">
<div class="inputlabel">Ident:</div>
<div class="inputlabel"><? FORMAT "Ident:" ?></div>
<input type="text" name="ident" value="<? VAR Ident ?>" class="half" maxlength="128"
title="Your ident." />
title="<? FORMAT "Your ident." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Realname:</div>
<div class="inputlabel"><? FORMAT "Realname:" ?></div>
<input type="text" name="realname" value="<? VAR RealName ?>" class="full" maxlength="256"
title="Your real name." />
title="<? FORMAT "Your real name." ?>"/>
</div>
<? IF BindHostEdit ?>
<div class="subsection">
<div class="inputlabel">BindHost:</div>
<div class="inputlabel"><? FORMAT "BindHost:" ?></div>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
</div>
<div style="clear: both;"></div>
<? ENDIF ?>
<div class="subsection">
<div class="inputlabel">Quit Message:</div>
<div class="inputlabel"><? FORMAT "Quit Message:" ?></div>
<input type="text" name="quitmsg" value="<? VAR QuitMsg ?>" class="full" maxlength="256"
title="You may define a Message shown, when you quit IRC." />
title="<? FORMAT "You may define a Message shown, when you quit IRC." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Active:</div>
<div class="inputlabel"><? FORMAT "Active:" ?></div>
<div class="checkbox"><input type="checkbox" name="doconnect" id="doconnect_checkbox"<? IF IRCConnectEnabled ?> checked="checked"<? ENDIF ?> />
<label for="doconnect_checkbox">Connect to IRC &amp; automatically re-connect</label></div>
<label for="doconnect_checkbox"><? FORMAT "Connect to IRC &amp; automatically re-connect" ?></label></div>
</div>
<div class="subsection half" id="servers_plain">
<div class="inputlabel">Servers of this IRC network:</div>
<div class="inputlabel"><? FORMAT "Servers of this IRC network:" ?></div>
<div><textarea name="servers" cols="70" rows="5" id="servers_text"><? LOOP ServerLoop ?><? VAR Server ?>
<? ENDLOOP ?>
</textarea></div>
<br/><span class="info">One server per line, "host [[+]port] [password]", + means SSL</span>
<br/><span class="info"><? FORMAT "One server per line, host [[+]port] [password], + means SSL" ?></span>
</div>
<div class="subsection" id="servers_js" style="display:none">
<div>Servers of this IRC network:</div>
<div><? FORMAT "Servers of this IRC network:" ?></div>
<div>
<table style="width:100%">
<thead>
<tr>
<th>Hostname</th>
<th>Port</th>
<th>SSL</th>
<th>Password</th>
<th><? FORMAT "Hostname" ?></th>
<th><? FORMAT "Port" ?></th>
<th><? FORMAT "SSL" ?></th>
<th><? FORMAT "Password" ?></th>
<th/>
</tr>
</thead>
@@ -93,51 +101,57 @@
<script type="text/javascript">serverlist_init(jQuery);</script>
<div class="subsection full">
<div class="inputlabel">Trusted SSL fingerprints of this IRC network:</div>
<div class="inputlabel"><? FORMAT "SHA-256 fingerprints of trusted SSL certificates of this IRC network:" ?></div>
<div><textarea name="fingerprints" cols="50" rows="5"><? LOOP TrustedFingerprints ?><? VAR FP ?>
<? ENDLOOP ?>
</textarea></div>
<br /><span class="info">When these certificates are encountered, checks for hostname, expiration date, CA are skipped</span>
<br /><span class="info"><? FORMAT "When these certificates are encountered, checks for hostname, expiration date, CA are skipped" ?></span>
</div>
<div class="subsection">
<div class="inputlabel">Flood protection:</div>
<div class="inputlabel"><? FORMAT "Flood protection:" ?></div>
<div class="checkbox">
<input type="checkbox" name="floodprotection" id="floodprotection_checkbox"
title="You might enable the flood protection. This prevents `excess flood' errors, which occur, when your IRC bot is command flooded or spammed. After changing this, reconnect ZNC to server."
title="<? FORMAT "You might enable the flood protection. This prevents excess flood errors, which occur, when your IRC bot is command flooded or spammed. After changing this, reconnect ZNC to server." ?>"
onchange="floodprotection_change();"
<? IF FloodProtection ?>checked="checked"<? ENDIF ?> />
<label for="floodprotection_checkbox">Enabled</label>
<label for="floodprotection_checkbox"><? FORMAT CTX="Flood Protection" "Enabled" ?></label>
</div>
</div>
<div class="subsection">
<div class="inputlabel">Flood protection rate:</div>
<input type="number" name="floodrate" min="0.3" step="0.05" id="floodrate"
title="The number of seconds per line. After changing this, reconnect ZNC to server."
<? IF FloodProtection ?> value="<? VAR FloodRate ?>" <? ELSE ?> value="1.00" disabled="disabled" <? ENDIF ?>
/> seconds per line
<div class="inputlabel"><? FORMAT "Flood protection rate:" ?></div>
<? SETBLOCK FloodInputField_Rate ?>
<input type="number" name="floodrate" min="0.3" step="0.05" id="floodrate"
title="<? FORMAT "The number of seconds per line. After changing this, reconnect ZNC to server." ?>"
<? IF FloodProtection ?> value="<? VAR FloodRate ?>" <? ELSE ?> value="1.00" disabled="disabled" <? ENDIF ?> />
<? ENDSETBLOCK ?>
<? FORMAT "{1} seconds per line" "FloodInputField_Rate ESC=" ?>
</div>
<div class="subsection">
<div class="inputlabel">Flood protection burst:</div>
<input type="number" name="floodburst" min="1" id="floodburst"
title="Defines the number of lines, which can be sent immediately. After changing this, reconnect ZNC to server."
<? IF FloodProtection ?> value="<? VAR FloodBurst ?>" <? ELSE ?> value="4" disabled="disabled" <? ENDIF ?>
/> lines can be sent immediately
<div class="inputlabel"><? FORMAT "Flood protection burst:" ?></div>
<? SETBLOCK FloodInputField_Burst ?>
<input type="number" name="floodburst" min="1" id="floodburst"
title="<? FORMAT "Defines the number of lines, which can be sent immediately. After changing this, reconnect ZNC to server." ?>"
<? IF FloodProtection ?> value="<? VAR FloodBurst ?>" <? ELSE ?> value="4" disabled="disabled" <? ENDIF ?> />
<? ENDSETBLOCK ?>
<? FORMAT "{1} lines can be sent immediately" "FloodInputField_Burst ESC=" ?>
</div>
<div class="subsection">
<div class="inputlabel">Channel join delay:</div>
<input type="number" name="joindelay" min="0" id="joindelay"
title="Defines the delay in seconds, until channels are joined after getting connected."
value="<? VAR JoinDelay ?>"
/> seconds
<div class="inputlabel"><? FORMAT "Channel join delay:" ?></div>
<? SETBLOCK ChannelJoinDelayInputField ?>
<input type="number" name="joindelay" min="0" id="joindelay"
title="<? FORMAT "Defines the delay in seconds, until channels are joined after getting connected." ?>"
value="<? VAR JoinDelay ?>" />
<? ENDSETBLOCK ?>
<? FORMAT "{1} seconds" "ChannelJoinDelayInputField ESC=" ?>
</div>
<script type="text/javascript">floodprotection_change();</script>
<div style="clear:both;"></div>
<div class="subsection" title="Character encoding used between ZNC and IRC server.">
<div class="inputlabel">Server encoding:</div>
<div class="subsection" title="<? FORMAT "Character encoding used between ZNC and IRC server." ?>">
<div class="inputlabel"><? FORMAT "Server encoding:" ?></div>
<? INC encoding_settings.tmpl ?>
</div>
@@ -147,25 +161,25 @@
</div>
<div class="section">
<h3>Channels</h3>
<h3><? FORMAT "Channels" ?></h3>
<? IF !Edit ?>
<span class="info">You will be able to add + modify channels here after you created the network.</span><br />
<span class="info"><? FORMAT "You will be able to add + modify channels here after you created the network." ?></span><br />
<? ELSE ?>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>addchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Name ESC=URL ?>">Add</a>]</td>
<td>[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>addchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Name ESC=URL ?>"><? FORMAT "Add" ?></a>]</td>
<? IF ChannelLoop ?>
<td>Save</td>
<td>Name</td>
<td>CurModes</td>
<td>DefModes</td>
<td>BufferSize</td>
<td>Options</td>
<td><? FORMAT "Save" ?></td>
<td><? FORMAT "Name" ?></td>
<td><? FORMAT "CurModes" ?></td>
<td><? FORMAT "DefModes" ?></td>
<td><? FORMAT "BufferSize" ?></td>
<td><? FORMAT "Options" ?></td>
<? ELSE ?>
<td>&lt;- Add a channel (opens in same page)</td>
<td><? FORMAT "← Add a channel (opens in same page)" ?></td>
<? ENDIF ?>
</tr>
</thead>
@@ -175,7 +189,7 @@
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
<td>
<input type="hidden" name="channel" value="<? VAR Name ?>" />
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>editchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Network ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Edit</a>] [<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>delchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Network ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Del</a>]
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>editchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Network ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>"><? FORMAT "Edit" ?></a>] [<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>delchan?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Network ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>"><? FORMAT "Del" ?></a>]
</td>
<td><input type="checkbox" name="save_<? VAR Name ?>"<? IF InConfig ?> checked="checked"<? ENDIF ?> /></td>
<td><? VAR Name ?></td>
@@ -193,17 +207,17 @@
</div>
<div class="section">
<h3>Modules</h3>
<h3><? FORMAT "Modules" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
<td>Loaded globally</td>
<td>Loaded by user</td>
<td><? FORMAT "Name" ?></td>
<td><? FORMAT "Arguments" ?></td>
<td><? FORMAT "Description" ?></td>
<td><? FORMAT "Loaded globally" ?></td>
<td><? FORMAT "Loaded by user" ?></td>
</tr>
</thead>
<tbody>
@@ -253,15 +267,20 @@
<? LOOP EmbeddedModuleLoop ?>
<? IF Embed ?>
<div class="section">
<h3>Module <? VAR ModName ?></h3>
<h3><? FORMAT "Module {1}" ModName ?></h3>
<? INC *Embed ?>
</div>
<? ENDIF ?>
<? ENDLOOP ?>
<div class="submitline">
<input type="submit" name="submit_return" value="<? IF Edit ?>Save<? ELSE ?>Add Network<? ENDIF ?> and return" />
<input type="submit" name="submit_continue" value="<? IF Edit ?>Save<? ELSE ?>Add Network<? ENDIF ?> and continue" />
<? IF Edit ?>
<input type="submit" name="submit_return" value="<? FORMAT "Save and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Save and continue" ?>"/>
<? ELSE ?>
<input type="submit" name="submit_return" value="<? FORMAT "Add Network and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Add Network and continue" ?>"/>
<? ENDIF ?>
</div>
</form>
+104 -85
View File
@@ -1,3 +1,4 @@
<? I18N znc-webadmin ?>
<? AddRow JSLoop HREF=/modfiles/global/webadmin/webadmin.js ?>
<? AddRow CSSLoop HREF=/modfiles/global/webadmin/webadmin.css ?>
<? INC Header.tmpl ?>
@@ -11,11 +12,11 @@
<input name="userdummy" type="text" style="display: none"/>
<input name="passworddummy" type="password" style="display: none"/>
<h3>Authentication</h3>
<h3><? FORMAT "Authentication" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<div class="inputlabel">Username:</div>
<div class="inputlabel"><? FORMAT "Username:" ?></div>
<? IF Clone ?>
<input type="hidden" name="clone" value="<? VAR CloneUsername ?>" />
@@ -25,27 +26,26 @@
<input type="text" name="newuser" value="<? VAR Username ?>" class="half" maxlength="128" disabled="disabled" />
<? ELSE ?>
<input type="text" name="user" value="<? VAR Username ?>" class="half" maxlength="128"
title="Please enter a username." />
title="<? FORMAT "Please enter a username." ?>"/>
<? ENDIF ?>
</div>
<div class="subsection">
<div class="inputlabel">Password:</div>
<div class="inputlabel"><? FORMAT "Password:" ?></div>
<input type="password" name="password" class="half"
title="Please enter a password." autocomplete="off" />
title="<? FORMAT "Please enter a password." ?>" autocomplete="off" />
</div>
<div class="subsection">
<div class="inputlabel">Confirm password:</div>
<div class="inputlabel"><? FORMAT "Confirm password:" ?></div>
<input type="password" name="password2" class="half"
title="Please re-type the above password." />
title="<? FORMAT "Please re-type the above password." ?>"/>
</div>
<div class="subsection half">
<div class="inputlabel">Allowed IPs:</div>
<div class="inputlabel"><? FORMAT "Allowed IPs:" ?></div>
<textarea name="allowedips" cols="70" rows="5"><? LOOP AllowedHostLoop ?><? VAR Host ?>
<? ENDLOOP ?>
</textarea>
<br /><span class="info">Leave empty to allow connections from all IPs.<br />
Otherwise, one entry per line, wildcards * and ? are available.</span>
<br /><span class="info"><? FORMAT "Leave empty to allow connections from all IPs.<br/>Otherwise, one entry per line, wildcards * and ? are available." ?></span>
</div>
<div style="clear: both;"></div>
</div>
@@ -53,59 +53,59 @@
</div>
<div class="section">
<h3>IRC Information</h3>
<h3><? FORMAT "IRC Information" ?></h3>
<? IF !Edit ?>
<span class="info">Nick, AltNick, Ident, RealName and QuitMsg can be left empty to use default values.</span>
<span class="info"><? FORMAT "Nick, AltNick, Ident, RealName and QuitMsg can be left empty to use default values." ?></span>
<? ENDIF ?>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<div class="inputlabel">Nickname:</div>
<div class="inputlabel"><? FORMAT "Nickname:" ?></div>
<input type="text" name="nick" value="<? VAR Nick ?>" class="half" maxlength="128"
title="This will be your nickname on IRC." />
title="<? FORMAT "Your nickname on IRC." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Alt. Nickname:</div>
<div class="inputlabel"><? FORMAT "Alt. Nickname:" ?></div>
<input type="text" name="altnick" value="<? VAR AltNick ?>" class="half" maxlength="128"
title="If the nickname above is not available anymore, then this will be your nickname on IRC." />
title="<? FORMAT "Your secondary nickname, if the first is not available on IRC." ?>"/>
</div>
<div style="clear: both;"></div>
<div class="subsection">
<div class="inputlabel">Ident:</div>
<div class="inputlabel"><? FORMAT "Ident:" ?></div>
<input type="text" name="ident" value="<? VAR Ident ?>" class="half" maxlength="128"
title="The Ident identifies you as one specific user of your host." />
title="<? FORMAT "The Ident is sent to server as username." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">StatusPrefix:</div>
<div class="inputlabel"><? FORMAT "Status Prefix:" ?></div>
<input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>" class="half" maxlength="5"
title="This defines the prefix for the status and module queries." />
title="<? FORMAT "The prefix for the status and module queries." ?>"/>
</div>
<div style="clear: both;"></div>
<div class="subsection">
<div class="inputlabel">Realname:</div>
<div class="inputlabel"><? FORMAT "Realname:" ?></div>
<input type="text" name="realname" value="<? VAR RealName ?>" class="full" maxlength="256"
title="The real name of the user." />
title="<? FORMAT "Your real name." ?>"/>
</div>
<div style="clear: both;"></div>
<? IF BindHostEdit ?>
<div class="subsection">
<div class="inputlabel">BindHost:</div>
<div class="inputlabel"><? FORMAT "BindHost:" ?></div>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
</div>
<div style="clear: both;"></div>
<div class="subsection">
<div class="inputlabel">DCCBindHost:</div>
<div class="inputlabel"><? FORMAT "DCCBindHost:" ?></div>
<input type="text" name="dccbindhost" value="<? VAR DCCBindHost ?>"/>
</div>
<div style="clear: both;"></div>
<? ENDIF ?>
<div class="subsection">
<div class="inputlabel">Quit Message:</div>
<div class="inputlabel"><? FORMAT "Quit Message:" ?></div>
<input type="text" name="quitmsg" value="<? VAR QuitMsg ?>" class="full" maxlength="256"
title="You may define a Message shown, when you quit IRC." />
title="<? FORMAT "You may define a Message shown, when you quit IRC." ?>"/>
</div>
<div style="clear: both;"></div>
</div>
@@ -113,21 +113,21 @@
</div>
<div class="section">
<h3>Networks</h3>
<h3><? FORMAT "Networks" ?></h3>
<? IF Edit ?>
<div class="sectionbg">
<div class="sectionbody">
<table class="sortable">
<thead>
<tr>
<td class="ignore-sort">[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>addnetwork?user=<? VAR Username ESC=URL ?>">Add</a>]</td>
<td class="ignore-sort">[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>addnetwork?user=<? VAR Username ESC=URL ?>"><? FORMAT "Add" ?></a>]</td>
<? IF NetworkLoop ?>
<td>Name</td>
<td>Clients</td>
<td>Current Server</td>
<td>IRC Nick</td>
<td><? FORMAT "Name" ?></td>
<td><? FORMAT "Clients" ?></td>
<td><? FORMAT "Current Server" ?></td>
<td><? FORMAT "Nick" ?></td>
<? ELSE ?>
<td>&lt;- Add a network (opens in same page)</td>
<td><? FORMAT "← Add a network (opens in same page)" ?></td>
<? ENDIF ?>
</tr>
</thead>
@@ -137,7 +137,7 @@
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
<td>
<input type="hidden" name="network" value="<? VAR Name ?>" />
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>editnetwork?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Name ESC=URL ?>">Edit</a>] [<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>delnetwork?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Del</a>]
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>editnetwork?user=<? VAR Username ESC=URL ?>&amp;network=<? VAR Name ESC=URL ?>"><? FORMAT "Edit" ?></a>] [<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>delnetwork?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>"><? FORMAT "Del" ?></a>]
</td>
<td><? VAR Name ?></td>
<td><? VAR Clients ?></td>
@@ -150,22 +150,26 @@
</div>
</div>
<? ELSE ?>
<span class="info">You will be able to add + modify networks here after you <? IF Clone ?>have cloned<? ELSE ?>created<? ENDIF ?> the user.</span><br />
<? IF Clone ?>
<span class="info"><? FORMAT "You will be able to add + modify networks here after you have cloned the user." ?></span><br />
<? ELSE ?>
<span class="info"><? FORMAT "You will be able to add + modify networks here after you have created the user." ?></span><br />
<? ENDIF ?>
<? ENDIF ?>
</div>
<div class="section">
<h3>Modules</h3>
<h3><? FORMAT "Modules" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
<td>Loaded globally</td>
<td>Loaded by networks</td>
<td><? FORMAT "Name" ?></td>
<td><? FORMAT "Arguments" ?></td>
<td><? FORMAT "Description" ?></td>
<td><? FORMAT "Loaded globally" ?></td>
<td><? FORMAT "Loaded by networks" ?></td>
</tr>
</thead>
<tbody>
@@ -218,46 +222,46 @@
</div>
<div class="section">
<h3>Channels</h3>
<h3><? FORMAT "Channels" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection third">
<div class="inputlabel">Default Modes:</div>
<div class="inputlabel"><? FORMAT "Default Modes:" ?></div>
<input type="text" name="chanmodes" value="<? VAR DefaultChanModes ?>" maxlength="32"
title="These are the default modes ZNC will set when you join an empty channel." />
<br /><span class="info">Empty = use standard value</span>
title="<? FORMAT "These are the default modes ZNC will set when you join an empty channel." ?>"/>
<br /><span class="info"><? FORMAT "Empty = use standard value" ?></span>
</div>
<div class="subsection third">
<div class="inputlabel">Buffer Size:</div>
<div class="inputlabel"><? FORMAT "Buffer Size:" ?></div>
<input type="number" name="chanbufsize" value="<? VAR ChanBufferSize ?>" min="0"
title="This is the amount of lines that the playback buffer will store for channels before dropping off the oldest line. The buffers are stored in the memory by default." />
<br /><span class="info">Empty = use standard value</span>
title="<? FORMAT "This is the amount of lines that the playback buffer will store for channels before dropping off the oldest line. The buffers are stored in the memory by default." ?>"/>
<br /><span class="info"><? FORMAT "Empty = use standard value" ?></span>
</div>
</div>
</div>
</div>
<div class="section">
<h3>Queries</h3>
<h3><? FORMAT "Queries" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection third">
<div class="inputlabel">Max Buffers:</div>
<div class="inputlabel"><? FORMAT "Max Buffers:" ?></div>
<input type="number" name="maxquerybuffers" value="<? VAR MaxQueryBuffers ?>" class="third" min="0"
title="Maximum number of query buffers. 0 is unlimited."/>
title="<? FORMAT "Maximum number of query buffers. 0 is unlimited." ?>"/>
</div>
<div class="subsection third">
<div class="inputlabel">Buffer Size:</div>
<div class="inputlabel"><? FORMAT "Buffer Size:" ?></div>
<input type="number" name="querybufsize" value="<? VAR QueryBufferSize ?>" min="0"
title="This is the amount of lines that the playback buffer will store for queries before dropping off the oldest line. The buffers are stored in the memory by default." />
<br /><span class="info">Empty = use standard value</span>
title="<? FORMAT "This is the amount of lines that the playback buffer will store for queries before dropping off the oldest line. The buffers are stored in the memory by default." ?>"/>
<br /><span class="info"><? FORMAT "Empty = use standard value" ?></span>
</div>
</div>
</div>
</div>
<div class="section">
<h3>Flags</h3>
<h3><? FORMAT "Flags" ?></h3>
<div class="sectionbg">
<div class="sectionbody lotsofcheckboxes">
<? LOOP OptionLoop ?>
@@ -272,20 +276,20 @@
</div>
<div class="section">
<h3>ZNC Behavior</h3>
<span class="info">Any of the following text boxes can be left empty to use their default value.</span>
<h3><? FORMAT "ZNC Behavior" ?></h3>
<span class="info"><? FORMAT "Any of the following text boxes can be left empty to use their default value." ?></span>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<div class="inputlabel">Timestamp Format:</div>
<div class="inputlabel"><? FORMAT "Timestamp Format:" ?></div>
<input type="text" name="timestampformat" value="<? VAR TimestampFormat ?>" class="full"
title="The format for the timestamps used in buffers, for example [%H:%M:%S]. This setting is ignored in new IRC clients, which use server-time. If your client supports server-time, change timestamp format in client settings instead." />
title="<? FORMAT "The format for the timestamps used in buffers, for example [%H:%M:%S]. This setting is ignored in new IRC clients, which use server-time. If your client supports server-time, change timestamp format in client settings instead." ?>"/>
</div>
<div class="subsection half">
<div class="inputlabel">Timezone:</div>
<div class="inputlabel"><? FORMAT "Timezone:" ?></div>
<input type="text" name="timezone" value="<? VAR Timezone ?>" list="timezone_list"
title="Select your timezone." />
<br /><span class="info">E.g. <code>Europe/Berlin</code>, or <code>GMT-6</code></span>
<br /><span class="info"><? FORMAT "E.g. <code>Europe/Berlin</code>, or <code>GMT-6</code>" ?></span>
<datalist id="timezone_list">
<? LOOP TZLoop ?>
<option value="<? VAR TZ ?>"/>
@@ -293,50 +297,51 @@
</datalist>
</div>
<div style="clear:both;"></div>
<div class="subsection" title="Character encoding used between IRC client and ZNC.">
<div class="inputlabel">Client encoding:</div>
<div class="subsection" title="<? FORMAT "Character encoding used between IRC client and ZNC." ?>">
<div class="inputlabel"><? FORMAT "Client encoding:" ?></div>
<? INC encoding_settings.tmpl ?>
</div>
<div style="clear:both;"></div>
<div class="subsection">
<div class="inputlabel">Join Tries:</div>
<div class="inputlabel"><? FORMAT "Join Tries:" ?></div>
<input type="number" name="jointries" value="<? VAR JoinTries ?>" class="third" min="0"
title="This defines how often ZNC tries to join, if the first join failed, e.g. due to channel mode +i/+k or if you're banned." />
title="<? FORMAT "This defines how many times ZNC tries to join a channel, if the first join failed, e.g. due to channel mode +i/+k or if you are banned." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Max Joins:</div>
<div class="inputlabel"><? FORMAT "Join speed:" ?></div>
<input type="number" name="maxjoins" value="<? VAR MaxJoins ?>" class="third" min="0"
title="How many channels are joined in one JOIN command. 0 is unlimited (default). Set to small positive value if you get disconnected with `Max SendQ Exceeded'"/>
title="<? FORMAT "How many channels are joined in one JOIN command. 0 is unlimited (default). Set to small positive value if you get disconnected with Max SendQ Exceeded”" ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Max IRC Networks Number:</div>
<div class="inputlabel"><? FORMAT "Max IRC Networks Number:" ?></div>
<input type="number" name="maxnetworks" value="<? VAR MaxNetworks ?>" class="third" min="0"
title="Maximum number of IRC networks allowed for this user." <? IF !ImAdmin ?>disabled="disabled"<? ENDIF ?> />
title="<? FORMAT "Maximum number of IRC networks allowed for this user." ?>" <? IF !ImAdmin ?>disabled="disabled"<? ENDIF ?> />
</div>
<? SETBLOCK Substitutions_Link ?><a href="http://wiki.znc.in/ExpandString" target="_blank" class="external"><? FORMAT "Substitutions" ?></a><? ENDSETBLOCK ?>
<div class="subsection half" id="ctcpreplies_plain">
<div class="inputlabel">CTCP Replies:</div>
<div class="inputlabel"><? FORMAT "CTCP Replies:" ?></div>
<div><textarea name="ctcpreplies" cols="70" rows="3" id="ctcpreplies_text"><? LOOP CTCPLoop ?><? VAR CTCP ?>
<? ENDLOOP ?>
</textarea></div>
<br /><span class="info">One reply per line. Example: TIME Buy a watch!</span>
<br /><span class="info"><a href="http://wiki.znc.in/ExpandString" target="_blank" class="external">Substitutions</a> are available</span>
<br /><span class="info"><? FORMAT "One reply per line. Example: <code>TIME Buy a watch!</code>" ?></span>
<br /><span class="info"><? FORMAT "{1} are available" "Substitutions_Link ESC=" ?></span>
</div>
<div class="subsection" id="ctcpreplies_js" style="display:none">
<div class="inputlabel">CTCP Replies:</div>
<div class="inputlabel"><? FORMAT "CTCP Replies:" ?></div>
<div>
<table style="width:100%">
<thead>
<tr>
<th>Request</th>
<th>Response</th>
<th><? FORMAT "Request" ?></th>
<th><? FORMAT "Response" ?></th>
<th/>
</tr>
</thead>
<tbody id="ctcpreplies_tbody"/>
</table>
<input type="button" value="Add" id="ctcpreplies_add"/>
<span class="info"><a href="http://wiki.znc.in/ExpandString" target="_blank" class="external">Substitutions</a> are available</span>
<span class="info"><? FORMAT "{1} are available" "Substitutions_Link ESC=" ?></span>
<datalist id="ctcpreplies_list">
<option value="PING"/>
<option value="FINGER"/>
@@ -354,23 +359,23 @@
<script type="text/javascript">ctcpreplies_init(jQuery);</script>
<div class="subsection">
<div class="inputlabel">Skin:</div>
<div class="inputlabel"><? FORMAT "Skin:" ?></div>
<? IF SkinLoop ROWS > 1 ?>
<select name="skin">
<option value="">- Global -</option>
<option value=""><? FORMAT "- Global -" ?></option>
<? LOOP SkinLoop ?>
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?>Default<? ELSE ?><? VAR Name ?><? ENDIF ?></option>
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?><? FORMAT "Default" ?><? ELSE ?><? VAR Name ?><? ENDIF ?></option>
<? ENDLOOP ?>
</select>
<? ELSE ?>
No other skins found
<? FORMAT "No other skins found" ?>
<? ENDIF ?>
</div>
<div class="subsection">
<div class="inputlabel">Language:</div>
<div class="inputlabel"><? FORMAT "Language:" ?></div>
<? IF HaveI18N ?>
<select name="language">
@@ -391,7 +396,7 @@
<? LOOP EmbeddedModuleLoop ?>
<? IF Embed ?>
<div class="section">
<h3>Module <? VAR ModName ?></h3>
<h3><? FORMAT "Module {1}" ModName ?></h3>
<? INC *Embed ?>
</div>
<? ENDIF ?>
@@ -399,10 +404,24 @@
<div class="submitline">
<? IF ImAdmin ?>
<input type="submit" name="submit_return" value="<? IF Edit ?>Save<? ELSE ?><? IF Clone ?>Clone<? ELSE ?>Create<? ENDIF ?><? ENDIF ?> and return" />
<input type="submit" name="submit_continue" value="<? IF Edit ?>Save<? ELSE ?><? IF Clone ?>Clone<? ELSE ?>Create<? ENDIF ?><? ENDIF ?> and continue" />
<? IF Edit ?>
<input type="submit" name="submit_return" value="<? FORMAT "Save and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Save and continue" ?>"/>
<? ELSE IF Clone ?>
<input type="submit" name="submit_return" value="<? FORMAT "Clone and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Clone and continue" ?>"/>
<? ELSE ?>
<input type="submit" name="submit_return" value="<? FORMAT "Create and return" ?>"/>
<input type="submit" name="submit_continue" value="<? FORMAT "Create and continue" ?>"/>
<? ENDIF ?>
<? ELSE ?>
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?><? IF Clone ?>Clone<? ELSE ?>Create<? ENDIF ?><? ENDIF ?>" />
<? IF Edit ?>
<input type="submit" value="<? FORMAT "Save" ?>"/>
<? ELSE IF Clone ?>
<input type="submit" value="<? FORMAT "Clone" ?>"/>
<? ELSE ?>
<input type="submit" value="<? FORMAT "Create" ?>"/>
<? ENDIF ?>
<? ENDIF ?>
</div>
</form>
+5 -4
View File
@@ -1,19 +1,20 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<div class="section">
<h3>Confirm Network Deletion</h3>
<h3><? FORMAT "Confirm Network Deletion" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
Are you sure you want to delete "<? VAR Username ?>/<? VAR Network ?>"?
<? FORMAT "Are you sure you want to delete network “{2}” of user “{1}”?" Username Network ?>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>delnetwork" method="post">
<? INC _csrf_check.tmpl ?>
<input type="hidden" name="user" value="<? VAR Username ?>" />
<input type="hidden" name="name" value="<? VAR Network ?>" />
<div class="yesnobutton"><input type="submit" value="Yes" /></div>
<div class="yesnobutton"><input type="submit" value="<? FORMAT "Yes" ?>"/></div>
</form>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>listusers" method="get">
<div class="yesnobutton"><input type="submit" value="No" /></div>
<div class="yesnobutton"><input type="submit" value="<? FORMAT "No" ?>"/></div>
</form>
</div>
</div>
+5 -4
View File
@@ -1,19 +1,20 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<div class="section">
<h3>Confirm User Deletion</h3>
<h3><? FORMAT "Confirm User Deletion" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
Are you sure you want to delete "<? VAR Username ?>"?
<? FORMAT "Are you sure you want to delete user “{1}”?" Username ?>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>deluser" method="post">
<? INC _csrf_check.tmpl ?>
<input type="hidden" name="submitted" value="1" />
<input type="hidden" name="user" value="<? VAR Username ?>" />
<div class="yesnobutton"><input type="submit" value="Yes" /></div>
<div class="yesnobutton"><input type="submit" value="<? FORMAT "Yes" ?>"/></div>
</form>
<form action="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>listusers" method="get">
<div class="yesnobutton"><input type="submit" value="No" /></div>
<div class="yesnobutton"><input type="submit" value="<? FORMAT "No" ?>"/></div>
</form>
</div>
</div>
@@ -1,36 +1,39 @@
<? I18N znc-webadmin ?>
<div class="encoding-settings">
<? IF EncodingDisabled ?>
<div>
ZNC is compiled without encodings support. <a href="http://icu-project.org/">ICU</a> is required for it.
<? SETBLOCK Encoding_ICULink ?><a href="http://icu-project.org/">ICU</a><? ENDSETBLOCK ?>
<? FORMAT "ZNC is compiled without encodings support. {1} is required for it." "Encoding_ICULink ESC=" ?>
</div>
<? ELSE ?><?IF LegacyEncodingDisabled ?>
<div>
<!-- TODO don't hardcode modpython here -->
Legacy mode is disabled by modpython.
<? FORMAT "Legacy mode is disabled by modpython." ?>
</div>
<? ENDIF ?><? ENDIF ?>
<div>
<? SETBLOCK Encoding_Placeholder ?><span class="encoding-placeholder-big">&nbsp;&nbsp;<span class="encoding-placeholder"></span>&nbsp;&nbsp;</span><? ENDSETBLOCK ?>
<div class="checkboxandlabel checkbox">
<input type="radio" name="encoding_utf" id="encoding_utf_legacy" value="legacy" <? IF EncodingUtf == "legacy" ?>checked="checked"<? ENDIF ?> <? IF LegacyEncodingDisabled ?>disabled="disabled"<? ENDIF ?> />
<label for="encoding_utf_legacy">Don't ensure any encoding at all (legacy mode, not recommended)</label>
<label for="encoding_utf_legacy"><? FORMAT "Don't ensure any encoding at all (legacy mode, not recommended)" ?></label>
</div>
<div class="checkboxandlabel checkbox">
<input type="radio" name="encoding_utf" id="encoding_utf_send" value="send" <? IF EncodingUtf == "send" ?>checked="checked"<? ENDIF ?> <? IF EncodingDisabled ?>disabled="disabled"<? ENDIF ?> />
<label for="encoding_utf_send">Try to parse as UTF-8 and as <span class="encoding-placeholder-big">&nbsp;&nbsp;<span class="encoding-placeholder"></span>&nbsp;&nbsp;</span>, send as UTF-8 (recommended)</label>
<label for="encoding_utf_send"><? FORMAT "Try to parse as UTF-8 and as {1}, send as UTF-8 (recommended)" "Encoding_Placeholder ESC=" ?></label>
</div>
<div class="checkboxandlabel checkbox">
<input type="radio" name="encoding_utf" id="encoding_utf_receive" value="receive" <? IF EncodingUtf == "receive" ?>checked="checked"<? ENDIF ?> <? IF EncodingDisabled ?>disabled="disabled"<? ENDIF ?> />
<label for="encoding_utf_receive">Try to parse as UTF-8 and as <span class="encoding-placeholder-big">&nbsp;&nbsp;<span class="encoding-placeholder"></span>&nbsp;&nbsp;</span>, send as <span class="encoding-placeholder-big">&nbsp;&nbsp;<span class="encoding-placeholder"></span >&nbsp;&nbsp;</span></label>
<label for="encoding_utf_receive"><? FORMAT "Try to parse as UTF-8 and as {1}, send as {1}" "Encoding_Placeholder ESC=" ?></label>
</div>
<div class="checkboxandlabel checkbox">
<input type="radio" name="encoding_utf" id="encoding_utf_simple" value="simple" <? IF EncodingUtf == "simple" ?>checked="checked"<? ENDIF ?> <? IF EncodingDisabled ?>disabled="disabled"<? ENDIF ?> />
<label for="encoding_utf_simple">Parse and send as <span class="encoding-placeholder-big">&nbsp;&nbsp;<span class="encoding-placeholder"></span>&nbsp;&nbsp;</span> only</label>
<label for="encoding_utf_simple"><? FORMAT "Parse and send as {1} only" "Encoding_Placeholder ESC=" ?></label>
</div>
</div>
<div class="half">
<input type="text" name="encoding" value="<? VAR Encoding ?>" list="encoding_list"
<? IF EncodingDisabled ?>disabled="disabled"<? ENDIF ?> />
<br /><div class="third"><span class="info">E.g. <code>UTF-8</code>, or <code>ISO-8859-15</code></span></div>
<br /><div class="third"><span class="info"><? FORMAT "E.g. <code>UTF-8</code>, or <code>ISO-8859-15</code>" ?></span></div>
<script type="text/javascript">
function updateEncodingText() {
var value = jQuery("input[name=encoding]").val();
+4 -3
View File
@@ -1,8 +1,9 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<div class="textsection">
<p>Welcome to the ZNC webadmin module.<br/>
All changes you make will be in effect immediately after you submitted them.</p>
<p><? FORMAT "Welcome to the ZNC webadmin module." ?><br/>
<? FORMAT "All changes you make will be in effect immediately after you submitted them." ?></p>
</div>
<? INC Footer.tmpl ?>
<? INC Footer.tmpl ?>
+8 -7
View File
@@ -1,3 +1,4 @@
<? I18N znc-webadmin ?>
<? AddRow JSLoop HREF=/modfiles/global/webadmin/webadmin.js ?>
<? AddRow CSSLoop HREF=/modfiles/global/webadmin/webadmin.css ?>
<? INC Header.tmpl ?>
@@ -11,10 +12,10 @@
<table class="sortable">
<thead>
<tr>
<td class="ignore-sort">[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>adduser">Add</a>]</td>
<td>Username</td>
<td>Networks</td>
<td>Clients</td>
<td class="ignore-sort">[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>adduser"><? FORMAT "Add" ?></a>]</td>
<td><? FORMAT "Username" ?></td>
<td><? FORMAT "Networks" ?></td>
<td><? FORMAT "Clients" ?></td>
</tr>
</thead>
@@ -23,9 +24,9 @@
<tr class="<?IF __EVEN__?>evenrow<?ELSE?>oddrow<?ENDIF?>">
<td>
<span class="nowrap">
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>edituser?user=<?VAR Username ESC=URL?>">Edit</a>]
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>adduser?clone=<? VAR Username ESC=URL ?>" alt="Clone <? VAR Username ESC=URL ?>">Clone</a>]
<? IF !IsSelf ?>[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>deluser?user=<?VAR Username ESC=URL?>">Delete</a>]<? ENDIF ?>
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>edituser?user=<?VAR Username ESC=URL?>"><? FORMAT "Edit" ?></a>]
[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>adduser?clone=<? VAR Username ESC=URL ?>" alt="Clone <? VAR Username ESC=URL ?>"><? FORMAT "Clone" ?></a>]
<? IF !IsSelf ?>[<a href="<? VAR URIPrefix TOP ?><? VAR ModPath TOP ?>deluser?user=<?VAR Username ESC=URL?>"><? FORMAT "Delete" ?></a>]<? ENDIF ?>
</span>
</td>
<td><? VAR Username ?></td>
+46 -45
View File
@@ -1,23 +1,24 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<div class="section">
<h3>Listen Port(s)</h3>
<h3><? FORMAT "Listen Port(s)" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<table>
<thead>
<tr>
<td>Port</td>
<td>BindHost</td>
<td>SSL</td>
<td>IPv4</td>
<td>IPv6</td>
<td>IRC</td>
<td>Web</td>
<td>URIPrefix</td>
<td>Delete</td>
<td><? FORMAT "Port" ?></td>
<td><? FORMAT "BindHost" ?></td>
<td><? FORMAT "SSL" ?></td>
<td><? FORMAT "IPv4" ?></td>
<td><? FORMAT "IPv6" ?></td>
<td><? FORMAT "IRC" ?></td>
<td><? FORMAT "HTTP" ?></td>
<td><? FORMAT "URIPrefix" ?></td>
<td><? FORMAT "Delete" ?></td>
</tr>
</thead>
@@ -38,7 +39,7 @@
<div class="checkbox"><input type="checkbox" disabled="disabled" <? IF IsIRC ?>checked="checked"<? ENDIF ?>/></div>
</td>
<td>
<div class="checkbox"><input type="checkbox" disabled="disabled" <? IF IsWeb ?>checked="checked"<? ENDIF ?>/></div>
<div class="checkbox"><input type="checkbox" disabled="disabled" <? IF IsHTTP ?>checked="checked"<? ENDIF ?>/></div>
</td>
<td><? VAR URIPrefix ?></td>
<td>
@@ -49,10 +50,10 @@
<input name="port" type="hidden" value="<? VAR Port ?>"/>
<input name="ipv4" type="hidden" value="<? VAR IsIPV4 ?>"/>
<input name="ipv6" type="hidden" value="<? VAR IsIPV6 ?>"/>
<input type="submit" value="Del"/>
<input type="submit" value="<? FORMAT "Del" ?>"/>
</form>
<? ELSE ?>
<input type="button" disabled="disabled" title="To delete port which you use to access webadmin itself, either connect to webadmin via another port, or do it in IRC (/znc DelPort)" value="Current"/>
<input type="button" disabled="disabled" title="<? FORMAT "To delete port which you use to access webadmin itself, either connect to webadmin via another port, or do it in IRC (/znc DelPort)" ?>" value="<? FORMAT "Current" ?>"/>
<? ENDIF ?>
</td>
</tr>
@@ -68,7 +69,7 @@
<td><div class="checkbox"><input name="irc" type="checkbox" checked="checked"/></div></td>
<td><div class="checkbox"><input name="web" type="checkbox" checked="checked"/></div></td>
<td><input name="uriprefix" type="text" value="/" class="sixth"/></td>
<td><input type="submit" value="Add"/></td>
<td><input type="submit" value="<? FORMAT "Add" ?>"/></td>
</form>
</tr>
</table>
@@ -82,15 +83,15 @@
<input type="hidden" name="submitted" value="1" />
<div class="section">
<h3>Settings</h3>
<h3><? FORMAT "Settings" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<div class="subsection">
<div class="inputlabel">Skin:</div>
<div class="inputlabel"><? FORMAT "Skin:" ?></div>
<select name="skin">
<? LOOP SkinLoop ?>
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?>Default<? ELSE ?><? VAR Name ?><? ENDIF ?></option>
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?><? FORMAT "Default" ?><? ELSE ?><? VAR Name ?><? ENDIF ?></option>
<? ENDLOOP ?>
</select>
@@ -98,61 +99,61 @@
<div class="subsection third">
<div class="inputlabel">Status Prefix:</div>
<div class="inputlabel"><? FORMAT "Status Prefix:" ?></div>
<input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>"
title="The prefix for the status and module queries."/>
<br /><span class="info">Default for new users only.</span>
title="<? FORMAT "The prefix for the status and module queries." ?>"/>
<br /><span class="info"><? FORMAT "Default for new users only." ?></span>
</div>
<div class="subsection half">
<div class="inputlabel">Maximum Buffer Size:</div>
<input type="text" name="maxbufsize" value="<? VAR MaxBufferSize ?>"
title="Sets the global Max Buffer Size a user can have."/>
<div class="inputlabel"><? FORMAT "Maximum Buffer Size:" ?></div>
<input type="number" name="maxbufsize" value="<? VAR MaxBufferSize ?>"
title="<? FORMAT "Sets the global Max Buffer Size a user can have." ?>"/>
</div>
<div class="subsection half">
<div class="inputlabel">Connect Delay:</div>
<input type="text" name="connectdelay" value="<? VAR ConnectDelay ?>"
title="The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC. "/>
<div class="inputlabel"><? FORMAT "Connect Delay:" ?></div>
<input type="number" name="connectdelay" value="<? VAR ConnectDelay ?>"
title="<? FORMAT "The time between connection attempts to IRC servers, in seconds. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC." ?>"/>
</div>
<div class="subsection half">
<div class="inputlabel">Server Throttle:</div>
<input type="text" name="serverthrottle" value="<? VAR ServerThrottle ?>"
title="The time between two connect attempts to the same hostname." />
<div class="inputlabel"><? FORMAT "Server Throttle:" ?></div>
<input type="number" name="serverthrottle" value="<? VAR ServerThrottle ?>"
title="<? FORMAT "The minimal time between two connect attempts to the same hostname, in seconds. Some servers refuse your connection if you reconnect too fast." ?>"/>
</div>
<div class="subsection half">
<div class="inputlabel">Anonymous IP Limit:</div>
<input type="text" name="anoniplimit" value="<? VAR AnonIPLimit ?>"
title="Limits the number of unidentified connections per IP." />
<div class="inputlabel"><? FORMAT "Anonymous Connection Limit per IP:" ?></div>
<input type="number" name="anoniplimit" value="<? VAR AnonIPLimit ?>"
title="<? FORMAT "Limits the number of unidentified connections per IP." ?>"/>
</div>
<div class="subsection">
<div class="inputlabel">Protect Web Sessions:</div>
<div class="inputlabel"><? FORMAT "Protect Web Sessions:" ?></div>
<div class="checkbox"><input type="checkbox" name="protectwebsessions" id="protectwebsessions_checkbox"<? IF ProtectWebSessions ?> checked="checked"<? ENDIF ?> />
<label for="protectwebsessions_checkbox">Disallow IP changing during each web session</label></div>
<label for="protectwebsessions_checkbox"><? FORMAT "Disallow IP changing during each web session" ?></label></div>
</div>
<div class="subsection">
<div class="inputlabel">Hide ZNC Version:</div>
<div class="inputlabel"><? FORMAT "Hide ZNC Version:" ?></div>
<div class="checkbox"><input type="checkbox" name="hideversion" id="hideversion_checkbox"<? IF HideVersion ?> checked="checked"<? ENDIF ?> />
<label for="hideversion_checkbox">Hide version number from non-ZNC users</label></div>
<label for="hideversion_checkbox"><? FORMAT "Hide version number from non-ZNC users" ?></label></div>
</div>
<div class="subsection twothird">
<div class="inputlabel">MOTD:</div>
<div class="inputlabel"><? FORMAT "MOTD:" ?></div>
<textarea name="motd" cols="70" rows="5" class="monospace"><? LOOP MOTDLoop ?><? VAR Line ?>
<? ENDLOOP ?>
</textarea>
<br /><span class="info">"Message of the Day", sent to all ZNC users on connect.</span>
<br /><span class="info"><? FORMAT "“Message of the Day, sent to all ZNC users on connect." ?></span>
</div>
</div>
@@ -160,17 +161,17 @@
</div>
<div class="section">
<h3>Global Modules</h3>
<h3><? FORMAT "Global Modules" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
<td>Loaded by networks</td>
<td>Loaded by users</td>
<td><? FORMAT "Name" ?></td>
<td><? FORMAT "Arguments" ?></td>
<td><? FORMAT "Description" ?></td>
<td><? FORMAT "Loaded by networks" ?></td>
<td><? FORMAT "Loaded by users" ?></td>
</tr>
</thead>
<tbody>
@@ -227,7 +228,7 @@
</div>
<div class="submitline">
<input type="submit" value="Save" />
<input type="submit" value="<? FORMAT "Save" ?>"/>
</div>
</form>
+25 -24
View File
@@ -1,53 +1,54 @@
<? I18N znc-webadmin ?>
<? INC Header.tmpl ?>
<div class="textsection">
<div class="section">
<h3>Information</h3>
<h3><? FORMAT "Information" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<tbody>
<tr class="oddrow">
<th>Uptime</th>
<th><? FORMAT "Uptime" ?></th>
<td><? VAR Uptime ?></td>
</tr>
<? IF IsAdmin ?>
<tr class="evenrow">
<th>Total Users</th>
<th><? FORMAT "Total Users" ?></th>
<td><? VAR TotalUsers ?></td>
</tr>
<tr class="oddrow">
<th>Total Networks</th>
<th><? FORMAT "Total Networks" ?></th>
<td><? VAR TotalNetworks ?></td>
</tr>
<tr class="evenrow">
<th>Attached Networks</th>
<th><? FORMAT "Attached Networks" ?></th>
<td><? VAR AttachedNetworks ?></td>
</tr>
<tr class="oddrow">
<th>Total Client Connections</th>
<th><? FORMAT "Total Client Connections" ?></th>
<td><? VAR TotalCConnections ?></td>
</tr>
<tr class="evenrow">
<th>Total IRC Connections</th>
<th><? FORMAT "Total IRC Connections" ?></th>
<td><? VAR TotalIRCConnections ?></td>
</tr>
<? ELSE ?>
<tr class="evenrow">
<th>Networks</th>
<th><? FORMAT "Networks" ?></th>
<td><? VAR TotalNetworks ?></td>
</tr>
<tr class="oddrow">
<th>Attached Networks</th>
<th><? FORMAT "Attached Networks" ?></th>
<td><? VAR AttachedNetworks ?></td>
</tr>
<tr class="evenrow">
<th>Client Connections</th>
<th><? FORMAT "Client Connections" ?></th>
<td><? VAR TotalCConnections ?></td>
</tr>
<tr class="oddrow">
<th>IRC Connections</th>
<th><? FORMAT "IRC Connections" ?></th>
<td><? VAR TotalIRCConnections ?></td>
</tr>
<? ENDIF ?>
@@ -59,21 +60,21 @@
<? IF IsAdmin ?>
<div class="section">
<h3>Total</h3>
<h3><? FORMAT "Total" ?></h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td></td>
<td>In</td>
<td>Out</td>
<td>Total</td>
<td><? FORMAT CTX="Traffic" "In" ?></td>
<td><? FORMAT CTX="Traffic" "Out" ?></td>
<td><? FORMAT "Total" ?></td>
</tr>
</thead>
<tbody>
<tr class="evenrow">
<td>Users</td>
<td><? FORMAT "Users" ?></td>
<td><? VAR UserIn TOP ?></td>
<td><? VAR UserOut TOP ?></td>
<td><? VAR UserTotal TOP ?></td>
@@ -85,7 +86,7 @@
<td><? VAR ZNCTotal TOP ?></td>
</tr>
<tr class="evenrow">
<td>Total</td>
<td><? FORMAT "Total" ?></td>
<td><? VAR AllIn TOP ?></td>
<td><? VAR AllOut TOP ?></td>
<td><? VAR AllTotal TOP ?></td>
@@ -100,20 +101,20 @@
<? IF TrafficLoop ?>
<div class="section">
<? IF IsAdmin ?>
<h3>Users</h3>
<h3><? FORMAT "Users" ?></h3>
<? ELSE ?>
<h3>Traffic</h3>
<h3><? FORMAT "Traffic" ?></h3>
<? ENDIF ?>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>Username</td>
<td>Network</td>
<td>In</td>
<td>Out</td>
<td>Total</td>
<td><? FORMAT "User" ?></td>
<td><? FORMAT "Network" ?></td>
<td><? FORMAT CTX="Traffic" "In" ?></td>
<td><? FORMAT CTX="Traffic" "Out" ?></td>
<td><? FORMAT "Total" ?></td>
</tr>
</thead>
<tbody>