mirror of
https://github.com/znc/znc.git
synced 2026-07-06 09:51:25 +02:00
Move module data files to own dir.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<input type="hidden" name="embed_blockuser_presented" value="1">
|
||||
<input type="hidden" name="embed_blockuser_old" value="<? VAR Blocked ?>">
|
||||
<div class="checkbox">
|
||||
<input type="checkbox" name="embed_blockuser_block" id="opt_embed_blockuser_block" value="1"<? IF Blocked ?> checked="checked"<? ENDIF ?><? IF Self ?> disabled="disabled"<? ENDIF ?> />
|
||||
<label for="opt_embed_blockuser_block">Account is blocked</label>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<div class="toptable">
|
||||
<table class="data">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>User</td>
|
||||
<td>Last Seen</td>
|
||||
<td>Info</td>
|
||||
<? IF WebAdminLoaded ?><td>Action</td><? ENDIF ?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP UserLoop ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td><? VAR Username ?></td>
|
||||
<td><? VAR LastSeen DEFAULT="- unknown -" ?></td>
|
||||
<td><? VAR Info ?></td>
|
||||
<? IF WebAdminLoaded TOP ?><td><span class="nowrap">
|
||||
[<a href="/mods/webadmin/edituser?user=<?VAR Username ESC=URL?>">Edit</a>]
|
||||
<? IF !IsSelf ?>[<a href="/mods/webadmin/deluser?user=<?VAR Username ESC=URL?>">Delete</a>]<? ENDIF ?>
|
||||
</span></td><? ENDIF ?>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Last login time:</div>
|
||||
<div><p><? VAR LastSeen DEFAULT="- unknown -" ?></p></div>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 98 B |
@@ -0,0 +1,49 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form method="post" action="/mods/notes/addnote">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<div class="section">
|
||||
<h3>Add A Note</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection third">
|
||||
<div class="inputlabel">Key:</div>
|
||||
<div><input type="text" name="key" size="8" /></div>
|
||||
</div>
|
||||
<div class="subsection full">
|
||||
<div class="inputlabel">Note:</div>
|
||||
<div><input type="text" name="note" size="40" /></div>
|
||||
</div>
|
||||
<div class="subsection submitline">
|
||||
<input type="submit" name="add" value="Add Note" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? IF !NotesLoop ?>
|
||||
<p>You have no notes to display.</p>
|
||||
<? ELSE ?>
|
||||
|
||||
<table class="data">
|
||||
<thead>
|
||||
<tr>
|
||||
<td style="width: 10px;"> </td>
|
||||
<td>Key</td>
|
||||
<td>Note</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP NotesLoop ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td><a href="/mods/notes/delnote?key=<? VAR Key ESC=URL,HTML ?>"><img src="/modfiles/<? VAR ModName TOP ?>/trash.gif" alt="[del]" /></a></td>
|
||||
<td><? VAR Key ?></td>
|
||||
<td><? VAR Note ?></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<? ENDIF ?>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form method="post" action="/mods/perform/">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<div class="section">
|
||||
<h3>Perform</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection full">
|
||||
<div class="inputlabel">Perform commands:</div>
|
||||
<div><textarea name="perform" cols="70" rows="5" class="monospace"><? LOOP PerformLoop ?><? VAR Perform ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">Commands sent to the IRC server on connect, one per line.</span>
|
||||
</div>
|
||||
<div class="subsection submitline">
|
||||
<input type="submit" name="save" value="Save" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,28 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form action="" method="post">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<table class="data">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Sticky</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP ChannelLoop SORTASC=Name ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td><? VAR Name ?></td>
|
||||
<td><input type="checkbox" name="stick_<? VAR Name ?>"<? IF Sticky ?> checked="checked"<? ENDIF ?> /></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="submitline">
|
||||
<input type="hidden" name="submitted" value="1" />
|
||||
<input type="submit" value="Save" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<input type="hidden" name="embed_stickychan_presented" value="1">
|
||||
<div class="checkbox">
|
||||
<input type="checkbox" name="embed_stickychan_sticky" id="opt_embed_stickychan_sticky" value="1"<? IF Sticky ?> checked="checked"<? ENDIF ?> />
|
||||
<label for="opt_embed_stickychan_sticky">Channel is sticky</label>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,72 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form action="<? IF Edit ?>editchan<? ELSE ?>addchan<? ENDIF ?>" method="post">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<div class="section">
|
||||
<input type="hidden" name="submitted" value="1" />
|
||||
<input type="hidden" name="user" value="<? VAR User ?>" />
|
||||
<? IF Edit ?><input type="hidden" name="name" value="<? VAR ChanName ?>" /><? ENDIF ?>
|
||||
|
||||
<h3>Channel Info</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<? IF !Edit ?>
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Channel Name:</div>
|
||||
<div><input type="text" name="name" value="" /></div>
|
||||
</div>
|
||||
<? ENDIF ?>
|
||||
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Key:</div>
|
||||
<div><input type="text" name="key" value="<? VAR Key ?>" size="10" /></div>
|
||||
</div>
|
||||
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Buffer Count:</div>
|
||||
<div><input type="text" name="buffercount" value="<? VAR BufferCount ?>" size="10" /></div>
|
||||
</div>
|
||||
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Default Modes:</div>
|
||||
<div><input type="text" name="defmodes" value="<? VAR DefModes ?>" size="10" /></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>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>
|
||||
</span>
|
||||
<? LOOP OptionLoop ?>
|
||||
<span class="checkboxandlabel">
|
||||
<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>
|
||||
</span>
|
||||
<? ENDLOOP ?>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<? LOOP EmbeddedModuleLoop ?>
|
||||
<? IF Embed ?>
|
||||
<div class="section">
|
||||
<h3>Module <? VAR ModName ?></h3>
|
||||
<? INC *Embed ?>
|
||||
</div>
|
||||
<? ENDIF ?>
|
||||
<? ENDLOOP ?>
|
||||
|
||||
<div class="submitline">
|
||||
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?>Add Channel<? ENDIF ?>" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,295 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form action="<? IF Edit ?>edituser<? ELSE ?>adduser<? ENDIF ?>" method="post">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<div class="section">
|
||||
<input type="hidden" name="submitted" value="1" />
|
||||
|
||||
<h3>Authentication</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Username:</div>
|
||||
<div>
|
||||
<? IF Edit ?>
|
||||
<input type="hidden" name="user" value="<? VAR Username ?>" />
|
||||
<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" />
|
||||
<? ENDIF ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Password:</div>
|
||||
<div><input type="password" name="password" class="half" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Confirm password:</div>
|
||||
<div><input type="password" name="password2" class="half" /></div>
|
||||
</div>
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Allowed IPs:</div>
|
||||
<div><textarea name="allowedips" cols="70" rows="5"><? LOOP AllowedHostLoop ?><? VAR Host ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>IRC Information</h3>
|
||||
<? IF !Edit ?>
|
||||
<span class="info">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><input type="text" name="nick" value="<? VAR Nick ?>" class="half" maxlength="128" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Alt. Nickname:</div>
|
||||
<div><input type="text" name="altnick" value="<? VAR AltNick ?>" class="half" maxlength="128" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Ident:</div>
|
||||
<div><input type="text" name="ident" value="<? VAR Ident ?>" class="half" maxlength="128" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">StatusPrefix:</div>
|
||||
<div><input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>" class="half" maxlength="5" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Realname:</div>
|
||||
<div><input type="text" name="realname" value="<? VAR RealName ?>" class="full" maxlength="256" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<? IF BindHostLoop ?>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">BindHost:</div>
|
||||
<select name="bindhost">
|
||||
<option value="">- Default -</option>
|
||||
<? LOOP BindHostLoop ?><option value="<? VAR BindHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR BindHost ?></option><? ENDLOOP ?>
|
||||
</select>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
<? ENDIF ?>
|
||||
|
||||
<? IF DCCBindHostLoop ?>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">DCCBindHost:</div>
|
||||
<select name="dccbindhost">
|
||||
<option value="">- Default -</option>
|
||||
<? LOOP DCCBindHostLoop ?><option value="<? VAR BindHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR BindHost ?></option><? ENDLOOP ?>
|
||||
</select>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
<? ENDIF ?>
|
||||
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Quit Message:</div>
|
||||
<div><input type="text" name="quitmsg" value="<? VAR QuitMsg ?>" class="full" maxlength="256" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Servers:</div>
|
||||
<div><textarea name="servers" cols="70" rows="5"><? LOOP ServerLoop ?><? VAR Server ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">One server per line, host [[+]port] [password]</span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">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 & automatically re-connect</label></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Modules</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Arguments</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<? LOOP ModuleLoop ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td class="mod_name">
|
||||
<input type="checkbox" name="loadmod" id="lm_<? VAR Name ?>" value="<? VAR Name ?>"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> /><label for="lm_<? VAR Name ?>"> <? VAR Name ?></label>
|
||||
</td>
|
||||
<td class="mod_args">
|
||||
<? IF Disabled ?><? VAR Args ?><? ELSE ?><input class="third" type="text" name="modargs_<? VAR Name ?>" value="<? VAR Args ?>" /><? ENDIF ?>
|
||||
</td>
|
||||
<td class="mod_descr"><? VAR Description ?></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Channels</h3>
|
||||
<? IF !Edit ?>
|
||||
<span class="info">You will be able to add + modify channels here after you created the user.</span><br />
|
||||
<? ELSE ?>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>[<a href="addchan?user=<? VAR Username ESC=URL ?>">Add</a>]</td>
|
||||
<? IF ChannelLoop ?>
|
||||
<td>Save</td>
|
||||
<td>Name</td>
|
||||
<td>CurModes</td>
|
||||
<td>DefModes</td>
|
||||
<td>BufferCount</td>
|
||||
<td>Options</td>
|
||||
<? ELSE ?>
|
||||
<td> <- Add a channel (opens in same page) </td>
|
||||
<? ENDIF ?>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<? LOOP ChannelLoop SORTASC=Name ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td>
|
||||
<input type="hidden" name="channel" value="<? VAR Name ?>" />
|
||||
[<a href="editchan?user=<? VAR Username ESC=URL ?>&name=<? VAR Name ESC=URL ?>">Edit</a>] [<a href="delchan?user=<? VAR Username ESC=URL ?>&name=<? VAR Name ESC=URL ?>">Del</a>]
|
||||
</td>
|
||||
<td><input type="checkbox" name="save_<? VAR Name ?>"<? IF InConfig ?> checked="checked"<? ENDIF ?> /></td>
|
||||
<td><? VAR Name ?></td>
|
||||
<td><? VAR CurModes ?></td>
|
||||
<td><? VAR DefModes ?></td>
|
||||
<td><? VAR BufferCount ?></td>
|
||||
<td><? VAR Options ?></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<? ENDIF ?>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Default Channel Settings</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection third">
|
||||
<div class="inputlabel">Modes:</div>
|
||||
<div><input type="text" name="chanmodes" value="<? VAR DefaultChanModes ?>" maxlength="32" /></div>
|
||||
<br /><span class="info">Empty = use standard value</span>
|
||||
</div>
|
||||
<div class="subsection third">
|
||||
<div class="inputlabel">Buffer Size:</div>
|
||||
<div><input type="text" name="bufsize" value="<? VAR BufferCount ?>" maxlength="9" /></div>
|
||||
<br /><span class="info">Empty = use standard value</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Flags</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody lotsofcheckboxes">
|
||||
<? LOOP OptionLoop ?>
|
||||
<span class="checkboxandlabel">
|
||||
<input type="checkbox" name="<? VAR Name ?>" id="opt_<? VAR Name ?>" value="1"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> />
|
||||
<label for="opt_<? VAR Name ?>"><? VAR DisplayName ?></label>
|
||||
</span>
|
||||
<? ENDLOOP ?>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Timestamp Format:</div>
|
||||
<div><input type="text" name="timestampformat" value="<? VAR TimestampFormat ?>" class="half" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Timezone Offset:</div>
|
||||
<div><input type="text" name="timezoneoffset" value="<? VAR TimezoneOffset ?>" class="third" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Join Tries:</div>
|
||||
<div><input type="text" name="jointries" value="<? VAR JoinTries ?>" class="third" /></div>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Max Joins:</div>
|
||||
<div><input type="text" name="maxjoins" value="<? VAR MaxJoins ?>" class="third" /></div>
|
||||
</div>
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">CTCP Replies:</div>
|
||||
<div><textarea name="ctcpreplies" cols="70" rows="3"><? LOOP CTCPLoop ?><? VAR CTCP ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">One reply per line. Example: TIME Buy a watch!</span>
|
||||
</div>
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Skin:</div>
|
||||
<div>
|
||||
<? IF SkinLoop ROWS > 1 ?>
|
||||
<select name="skin">
|
||||
<option value="">- Global -</option>
|
||||
<? LOOP SkinLoop ?>
|
||||
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?>Default<? ELSE ?><? VAR Name ?><? ENDIF ?></option>
|
||||
<? ENDLOOP ?>
|
||||
</select>
|
||||
<? ELSE ?>
|
||||
No other skins found
|
||||
<? ENDIF ?>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<? LOOP EmbeddedModuleLoop ?>
|
||||
<? IF Embed ?>
|
||||
<div class="section">
|
||||
<h3>Module <? VAR ModName ?></h3>
|
||||
<? INC *Embed ?>
|
||||
</div>
|
||||
<? ENDIF ?>
|
||||
<? ENDLOOP ?>
|
||||
|
||||
<div class="submitline">
|
||||
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?>Create<? ENDIF ?>" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,23 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<div class="section">
|
||||
<h3>Confirm User Deletion</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
Are you sure you want to delete "<? VAR Username ?>"?
|
||||
<form action="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>
|
||||
</form>
|
||||
<form action="listusers" method="get">
|
||||
<div class="yesnobutton"><input type="submit" value="No" /></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,10 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<div class="textsection">
|
||||
|
||||
<p>Welcome to the ZNC webadmin module. All changes you make will be in effect immediately after
|
||||
you submitted them.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,40 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<?IF !UserLoop?>
|
||||
<div class="textsection">
|
||||
There are no users defined. Click <a href="adduser">here</a> if you would like to add one.
|
||||
</div>
|
||||
<?ELSE?>
|
||||
<div class="toptable">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Action</td>
|
||||
<td>Username</td>
|
||||
<td>Clients</td>
|
||||
<td>Current Server</td>
|
||||
<td>IRC Nick</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?LOOP UserLoop SORTASC=Username ?>
|
||||
<tr class="<?IF __EVEN__?>evenrow<?ELSE?>oddrow<?ENDIF?>">
|
||||
<td>
|
||||
<span class="nowrap">
|
||||
[<a href="edituser?user=<?VAR Username ESC=URL?>">Edit</a>]
|
||||
<? IF !IsSelf ?>[<a href="deluser?user=<?VAR Username ESC=URL?>">Delete</a>]<? ENDIF ?>
|
||||
</span>
|
||||
</td>
|
||||
<td><? VAR Username ?></td>
|
||||
<td><? VAR Clients ?></td>
|
||||
<td><? VAR Server DEFAULT="-N/A-" ?></td>
|
||||
<td><? VAR IRCNick ?></td>
|
||||
</tr>
|
||||
<?ENDLOOP?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?ENDIF?>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,156 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<form action="settings" method="post">
|
||||
<? INC _csrf_check.tmpl ?>
|
||||
<div class="section">
|
||||
<input type="hidden" name="submitted" value="1" />
|
||||
|
||||
<h3>Listen Port(s)</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Port</td>
|
||||
<td>BindHost</td>
|
||||
<td>SSL</td>
|
||||
<td>IPv4</td>
|
||||
<td>IPv6</td>
|
||||
<td>IRC</td>
|
||||
<td>Web</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP ListenLoop ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td><? VAR Port ?></td>
|
||||
<td><? VAR BindHost DEFAULT=** ?></td>
|
||||
<td><? IF IsSSL ?>Yes<? ELSE ?>No<? ENDIF ?></td>
|
||||
<td><? IF IsIPV4 ?>Yes<? ELSE ?>No<? ENDIF ?></td>
|
||||
<td><? IF IsIPV6 ?>Yes<? ELSE ?>No<? ENDIF ?></td>
|
||||
<td><? IF IsIRC ?>Yes<? ELSE ?>No<? ENDIF ?></td>
|
||||
<td><? IF IsWeb ?>Yes<? ELSE ?>No<? ENDIF ?></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Settings</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<div class="subsection">
|
||||
<div class="inputlabel">Skin:</div>
|
||||
<div>
|
||||
<select name="skin">
|
||||
<? LOOP SkinLoop ?>
|
||||
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? IF Name == "_default_" ?>Default<? ELSE ?><? VAR Name ?><? ENDIF ?></option>
|
||||
<? ENDLOOP ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection third">
|
||||
<div class="inputlabel">Status Prefix:</div>
|
||||
<div><input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>" /></div>
|
||||
<br /><span class="info">Default for new users only.</span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">ISpoofFile:</div>
|
||||
<div><input type="text" name="ispooffile" value="<? VAR ISpoofFile ?>" /></div>
|
||||
<br /><span class="info">Example: ~/.oidentd.conf</span>
|
||||
</div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">ISpoofFormat:</div>
|
||||
<div><input type="text" name="ispoofformat" value="<? VAR ISpoofFormat ?>" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Maximum Buffer Size:</div>
|
||||
<div><input type="text" name="maxbufsize" value="<? VAR MaxBufferSize ?>" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Connect Delay:</div>
|
||||
<div><input type="text" name="connectdelay" value="<? VAR ConnectDelay ?>" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Server Throttle:</div>
|
||||
<div><input type="text" name="serverthrottle" value="<? VAR ServerThrottle ?>" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection half">
|
||||
<div class="inputlabel">Anonymous IP Limit:</div>
|
||||
<div><input type="text" name="anoniplimit" value="<? VAR AnonIPLimit ?>" /></div>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<div class="subsection twothird">
|
||||
<div class="inputlabel">MOTD:</div>
|
||||
<div><textarea name="motd" cols="70" rows="5" class="monospace"><? LOOP MOTDLoop ?><? VAR Line ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">"Message of the Day", sent to all ZNC users on connect.</span>
|
||||
</div>
|
||||
|
||||
<div class="subsection twothird">
|
||||
<div class="inputlabel">BindHosts:</div>
|
||||
<div><textarea name="bindhosts" cols="70" rows="8"><? LOOP BindHostLoop ?><? VAR BindHost ?>
|
||||
<? ENDLOOP ?>
|
||||
</textarea></div>
|
||||
<br /><span class="info">One host name or IP entry per line.</span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Global Modules</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Arguments</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP ModuleLoop ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td class="mod_name"><input type="checkbox" name="loadmod" id="lm_<? VAR Name ?>" value="<? VAR Name ?>"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> /><label for="lm_<? VAR Name ?>"> <? VAR Name ?></label></td>
|
||||
<td class="mod_args"><input type="text" name="modargs_<? VAR Name ?>" value="<? VAR Args ?>" /></td>
|
||||
<td class="mod_descr"><? VAR Description ?></td>
|
||||
</tr>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="submitline">
|
||||
<input type="submit" value="Save" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
@@ -0,0 +1,94 @@
|
||||
<? INC Header.tmpl ?>
|
||||
|
||||
<div class="textsection">
|
||||
|
||||
<div class="section">
|
||||
<h3>Information</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="oddrow">
|
||||
<th>Uptime</th>
|
||||
<td><? VAR Uptime ?></td>
|
||||
</tr>
|
||||
<? IF IsAdmin ?>
|
||||
<tr class="evenrow">
|
||||
<th>Total Users</th>
|
||||
<td><? VAR TotalUsers ?></td>
|
||||
</tr>
|
||||
<tr class="oddrow">
|
||||
<th>Attached Users</th>
|
||||
<td><? VAR AttachedUsers ?></td>
|
||||
</tr>
|
||||
<tr class="evenrow">
|
||||
<th>Total Client Connections</th>
|
||||
<td><? VAR TotalCConnections ?></td>
|
||||
</tr>
|
||||
<tr class="oddrow">
|
||||
<th>Total IRC Connections</th>
|
||||
<td><? VAR TotalIRCConnections ?></td>
|
||||
</tr>
|
||||
<? ENDIF ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<? IF IsAdmin && TrafficLoop ?>
|
||||
<div class="section">
|
||||
<h3>Traffic</h3>
|
||||
<div class="sectionbg">
|
||||
<div class="sectionbody">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Username</td>
|
||||
<td>In</td>
|
||||
<td>Out</td>
|
||||
<td>Total</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<? LOOP TrafficLoop SORTASC=Username ?>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td><? VAR Username ?></td>
|
||||
<td><? VAR In ?></td>
|
||||
<td><? VAR Out ?></td>
|
||||
<td><? VAR Total ?></td>
|
||||
</tr>
|
||||
<? REM ?>Add the totals separately so that if sort is ever used they stay at the bottom
|
||||
By keeping them inside the loop we can figure out even/odd classes though.
|
||||
<? ENDREM ?>
|
||||
<? IF __LAST__ ?>
|
||||
<tr class="<? IF __EVEN__ ?>oddrow<? ELSE ?>evenrow<? ENDIF ?>">
|
||||
<td>User Total</td>
|
||||
<td><? VAR UserIn TOP ?></td>
|
||||
<td><? VAR UserOut TOP ?></td>
|
||||
<td><? VAR UserTotal TOP ?></td>
|
||||
</tr>
|
||||
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
|
||||
<td>ZNC Total</td>
|
||||
<td><? VAR ZNCIn TOP ?></td>
|
||||
<td><? VAR ZNCOut TOP ?></td>
|
||||
<td><? VAR ZNCTotal TOP ?></td>
|
||||
</tr>
|
||||
<tr class="<? IF __EVEN__ ?>oddrow<? ELSE ?>evenrow<? ENDIF ?>">
|
||||
<td>Grand Total</td>
|
||||
<td><? VAR AllIn TOP ?></td>
|
||||
<td><? VAR AllOut TOP ?></td>
|
||||
<td><? VAR AllTotal TOP ?></td>
|
||||
</tr>
|
||||
<? ENDIF ?>
|
||||
<? ENDLOOP ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<? ENDIF ?>
|
||||
|
||||
</div>
|
||||
|
||||
<? INC Footer.tmpl ?>
|
||||
Reference in New Issue
Block a user