More skin updates on the way from webadmin to webmods. Not yet done.

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1871 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
cflakes
2010-04-04 12:42:00 +00:00
parent bd2764b34d
commit 51cf28c061
19 changed files with 725 additions and 723 deletions

View File

@@ -1,53 +1,58 @@
<? INC Header.tmpl ?>
<form action="<? IF Edit ?>editchan<? ELSE ?>addchan<? ENDIF ?>" method="post">
<input type="hidden" name="submitted" value="1">
<input type="hidden" name="user" value="<? VAR User ?>">
<div class="section">
<input type="hidden" name="submitted" value="1" />
<input type="hidden" name="user" value="<? VAR User ESC=HTML ?>" />
<? IF Edit ?><input type="hidden" name="name" value="<? VAR ChanName ESC=HTML ?>" /><? ENDIF ?>
<table class="section">
<thead><tr><td colspan="2">Channel Info</td></tr>
<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>
<br /><span class="info">If the channel has a key and you want to save the key, type: #CHAN KEY</span>
</div>
<? ENDIF ?>
<tbody>
<tr>
<td>Channel Name:</td>
<div class="subsection">
<div class="inputlabel">Buffer Count:</div>
<div><input type="text" name="buffercount" value="<? VAR BufferCount ESC=HTML ?>" size="10" /></div>
</div>
<td>
<? IF Edit ?>
<input type="hidden" name="name" value="<? VAR ChanName ?>">
<? VAR ChanName ?>
<? ELSE ?>
<div><input type="text" name="name" value="" size="32"></div>
<? ENDIF ?>
</td>
</tr>
<div class="subsection">
<div class="inputlabel">Default Modes:</div>
<div><input type="text" name="defmodes" value="<? VAR DefModes ESC=HTML ?>" size="10" /></div>
</div>
<tr>
<td>Buffer Count:</td>
<td><input type="text" name="buffercount" value="<? VAR BufferCount ?>" size="8" /></td>
</tr>
</div>
</div>
</div>
<tr>
<td>Default Modes:</td>
<td><input type="text" name="defmodes" value="<? VAR DefModes ?>" size="16" /></td>
</tr>
<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 ESC=HTML ?>" id="opt_<? VAR Name ESC=HTML ?>" value="true"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> />
<label for="opt_<? VAR Name ESC=HTML ?>"><? VAR DisplayName ESC=HTML ?></label>
</span>
<? ENDLOOP ?>
<div style="clear:both;"></div>
</div>
</div>
</div>
<tr>
<td>Save:</td>
<td><input type="checkbox" class="checkbox" name="save" id="save" value="true"<? IF InConfig ?> checked="checked"<? ENDIF ?> /><label for="save"> Save to config</label></td>
</tr>
<tr>
<td>Options:</td>
<td>
<? LOOP OptionLoop ?>
<input type="checkbox" class="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><br>
<? ENDLOOP ?>
</td>
</tr>
</tbody>
</table>
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?>Add Channel<? ENDIF ?>" />
<div class="submitline">
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?>Add Channel<? ENDIF ?>" />
</div>
</form>
<? INC Footer.tmpl ?>

View File

@@ -1,268 +1,251 @@
<? INC Header.tmpl ?>
<form action="<? IF Edit ?>edituser<? ELSE ?>adduser<? ENDIF ?>" method="post">
<input type="hidden" name="submitted" value="1">
<table class="section">
<thead><tr><td colspan="2">Authentication</td></tr></thead>
<div class="section">
<input type="hidden" name="submitted" value="1" />
<tbody>
<tr>
<td>
Username:
</td>
<td>
<? IF Edit ?>
<input type="hidden" name="user" value="<? VAR Username ?>">
<input type="text" name="newuser" value="<? VAR Username ?>" size="32" maxlength="128" disabled="disabled">
<? ELSE ?>
<input type="text" name="user" value="<? VAR Username ?>" size="32" maxlength="128">
<? ENDIF ?>
</td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" size="32"></td>
</tr>
<tr>
<td>Confirm password:</td>
<td><input type="password" name="password2" size="32"></td>
</tr>
<tr>
<td>Allowed IPs:</td>
<td><textarea name="allowedips" cols="40" rows="5"><? LOOP AllowedHostLoop ?><? VAR Host ?>
<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 ESC=HTML ?>" />
<input type="text" name="newuser" value="<? VAR Username ESC=HTML ?>" class="half" maxlength="128" disabled="disabled" />
<? ELSE ?>
<input type="text" name="user" value="<? VAR Username ESC=HTML ?>" 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>
<textarea name="allowedips" cols="70" rows="5"><? LOOP AllowedHostLoop ?><? VAR Host ESC=HTML ?>
<? ENDLOOP ?>
</textarea>
</td>
</tr>
</tbody>
</table>
<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>
<table class="section">
<thead><tr><td colspan="2">IRC Information</td></tr></thead>
<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">Nick:</div>
<div><input type="text" name="nick" value="<? VAR Nick ESC=HTML ?>" class="half" maxlength="128" /></div>
</div>
<div class="subsection">
<div class="inputlabel">AltNick:</div>
<div><input type="text" name="altnick" value="<? VAR AltNick ESC=HTML ?>" 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 ESC=HTML ?>" class="half" maxlength="128" /></div>
</div>
<div class="subsection">
<div class="inputlabel">StatusPrefix:</div>
<div><input type="text" name="statusprefix" value="<? VAR StatusPrefix ESC=HTML ?>" 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 ESC=HTML ?>" class="full" maxlength="256" /></div>
</div>
<div style="clear: both;"></div>
<tbody>
<tr>
<td>Nickname:</td>
<td><input type="text" name="nick" value="<? VAR Nick ?>" size="22" maxlength="128"></td>
</tr>
<tr>
<td>Alt. Nickname:</td>
<td><input type="text" name="altnick" value="<? VAR AltNick ?>" size="22" maxlength="128"></td>
</tr>
<tr>
<td>Status Prefix:</td>
<td><input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>" size="16" maxlength="5"></td>
</tr>
<tr>
<td>Ident:</td>
<td><input type="text" name="ident" value="<? VAR Ident ?>" size="22" maxlength="128"></td>
</tr>
<tr>
<td>Realname:</td>
<td><input type="text" name="realname" value="<? VAR RealName ?>" size="68" maxlength="256"></td>
</tr>
<tr>
<td>VHost:</td>
<td><select name="vhost">
<option value="">- Default -</option>
<? LOOP VHostLoop ?><option value="<? VAR VHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR VHost ?></option><? ENDLOOP ?>
<div class="subsection">
<? IF VHostLoop ?>
<div class="inputlabel">VHost:</div>
<select name="vhost">
<option value="">- Default -</option>
<? LOOP VHostLoop ?><option value="<? VAR VHost ESC=HTML ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR VHost ESC=HTML ?></option><? ENDLOOP ?>
</select>
</td>
</tr>
<? ENDIF ?>
</div>
<div style="clear: both;"></div>
<tr>
<td>Quit-MSG:</td>
<td><input type="text" name="quitmsg" value="<? VAR QuitMsg ?>" size="68" maxlength="256"></td>
</tr>
<div class="subsection">
<div class="inputlabel">QuitMsg:</div>
<div><input type="text" name="quitmsg" value="<? VAR QuitMsg ESC=HTML ?>" class="full" maxlength="256" /></div>
</div>
<div style="clear: both;"></div>
<tr>
<td>Servers:</td>
<td><textarea name="servers" cols="40" rows="5"><? LOOP ServerLoop ?><? VAR Server ?>
<div class="subsection half">
<div class="inputlabel">Servers:</div>
<div><textarea name="servers" cols="70" rows="5"><? LOOP ServerLoop ?><? VAR Server ESC=HTML ?>
<? ENDLOOP ?>
</textarea>
</td>
</tr>
</textarea></div>
<br /><span class="info">One server per line, host [+]port[ password]</span>
</div>
<div style="clear: both;"></div>
</div>
</div>
</div>
<tr>
<td>Active:</td>
<td><input type="checkbox" class="checkbox" name="doconnect" id="doconnect_checkbox"<? IF IRCConnectEnabled ?> checked="checked"<? ENDIF ?> />
<label for="doconnect_checkbox">Connect to IRC &amp; automatically re-connect</label></td>
</tr>
</tbody>
</table>
<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>
<table class="section">
<thead><tr><td>Module(s)</td></tr></thead>
<? LOOP ModuleLoop ?>
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
<td class="mod_name">
<input type="checkbox" name="loadmod" id="lm_<? VAR Name ESC=HTML ?>" value="<? VAR Name ESC=HTML ?>"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> /><label for="lm_<? VAR Name ESC=HTML ?>"> <? VAR Name ESC=HTML ?></label>
</td>
<td class="mod_args">
<? IF Disabled ?><? VAR Args ESC=HTML ?><? ELSE ?><input class="third" type="text" name="modargs_<? VAR Name ESC=HTML ?>" value="<? VAR Args ESC=HTML ?>" /><? ENDIF ?>
</td>
<td class="mod_descr"><? VAR Description ESC=HTML ?></td>
</tr>
<? ENDLOOP ?>
<tbody>
<tr>
<td>
<table class="data">
<thead>
<tr>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
</tr>
</thead>
</tbody>
</table>
</div>
</div>
</div>
<? LOOP ModuleLoop ?>
<tbody>
<tr class="<? IF __EVEN__ ?>altrow<? ENDIF ?>">
<td>
<span class="nowrap"><input type="checkbox" class="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></span>
</td>
<td>
<? IF Disabled ?><? VAR Args ?><? ELSE ?><input type="text" name="modargs_<? VAR Name ?>" value="<? VAR Args ?>" /><? ENDIF ?>
</td>
<td><? VAR Description ?></td>
</tr>
</tbody>
<? ENDLOOP ?>
</table>
</td>
</tr>
</tbody>
</table>
<table class="section">
<thead>
<tr>
<td colspan="2">Channel(s)</td>
</tr>
</thead>
<tbody>
<tr>
<td>Default Modes:</td>
<td><input type="text" name="chanmodes" value="<? VAR DefaultChanModes ?>" size="32" maxlength="32"></td>
</tr>
<tr>
<td colspan="2" class="tdbottom">
<? IF !ChannelLoop ?>
<? IF !Edit ?>
<span class="info">You will be able to add + modify channels here after you created the user.</span>
<? ELSE ?>
- <a href="addchan?user=<? VAR Username ESC=URL ?>">Add a Channel</a> -
<? ENDIF ?>
<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 ?>
<? IF Edit ?>
<table class="data">
<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 ?>
<tr class="<? IF __EVEN__ ?>altrow<? ENDIF ?>">
<td>
<input type="hidden" name="channel" value="<? VAR Name ?>" />
[<a href="editchan?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Edit</a>] [<a href="delchan?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Del</a>]
</td>
<td><input type="checkbox" class="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>
<? ENDIF ?>
<td>&nbsp;&nbsp;&lt;- Add a channel (opens in same page)&nbsp;&nbsp;</td>
<? ENDIF ?>
</td>
</tr>
</tbody>
</table>
</tr>
</thead>
<table class="section">
<thead><tr><td colspan="2">ZNC Behavior</td></tr></thead>
<tbody>
<? LOOP ChannelLoop ?>
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
<td>
<input type="hidden" name="channel" value="<? VAR Name ESC=HTML ?>" />
[<a href="editchan?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Edit</a>] [<a href="delchan?user=<? VAR Username ESC=URL ?>&amp;name=<? VAR Name ESC=URL ?>">Del</a>]
</td>
<td><input type="checkbox" name="save_<? VAR Name ESC=HTML ?>"<? IF InConfig ?> checked="checked"<? ENDIF ?> /></td>
<td><? VAR Name ESC=HTML ?></td>
<td><? VAR CurModes ESC=HTML ?></td>
<td><? VAR DefModes ESC=HTML ?></td>
<td><? VAR BufferCount ESC=HTML ?></td>
<td><? VAR Options ESC=HTML ?></td>
</tr>
<? ENDLOOP ?>
</tbody>
</table>
</div>
</div>
<? ENDIF ?>
</div>
<tbody>
<tr>
<td>Skin:</td>
<td>
<? 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 ?>
</td>
</tr>
<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 ESC=HTML ?>" 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 ESC=HTML ?>" maxlength="9" /></div>
<br /><span class="info">Empty = use standard value</span>
</div>
</div>
</div>
</div>
<tr>
<td>Playback Buffer Size:</td>
<td><input type="text" name="bufsize" value="<? VAR BufferCount ?>" size="32" maxlength="9"></td>
</tr>
<div class="section">
<h3>Flags</h3>
<div class="sectionbg">
<div class="sectionbody lotsofcheckboxes">
<? LOOP OptionLoop ?>
<span class="checkboxandlabel">
<input type="checkbox" name="<? VAR Name ESC=HTML?>" id="opt_<? VAR Name ESC=HTML ?>" value="1"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> />
<label for="opt_<? VAR Name ESC=HTML ?>"><? VAR DisplayName ESC=HTML ?></label>
</span>
<? ENDLOOP ?>
<div style="clear:both;"></div>
</div>
</div>
</div>
<tr>
<td>Timestamp Format:</td>
<td><input type="text" name="timestampformat" value="<? VAR TimestampFormat ?>" size="32"></td>
</tr>
<tr>
<td>Timezone offset:</td>
<td><input type="text" name="timezoneoffset" value="<? VAR TimezoneOffset ?>" size="32"></td>
</tr>
<tr>
<td>Join Tries:</td>
<td><input type="text" name="jointries" value="<? VAR JoinTries ?>" size="32"></td>
</tr>
<tr>
<td>Max Joins:</td>
<td><input type="text" name="maxjoins" value="<? VAR MaxJoins ?>" size="32"></td>
</tr>
<tr>
<td>Options:</td>
<td>
<? LOOP OptionLoop ?>
<span class="nowrap"><input type="checkbox" class="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><br></span>
<? ENDLOOP ?>
</td>
</tr>
<tr>
<td>CTCP Replies:</td>
<td><textarea name="ctcpreplies" cols="40" rows="5"><? LOOP CTCPLoop ?><? VAR CTCP ?>
<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 ESC=HTML ?>" class="half" /></div>
</div>
<div class="subsection">
<div class="inputlabel">Timezone Offset:</div>
<div><input type="text" name="timezoneoffset" value="<? VAR TimezoneOffset ESC=HTML ?>" class="third" /></div>
</div>
<div class="subsection">
<div class="inputlabel">Join Tries:</div>
<div><input type="text" name="jointries" value="<? VAR JoinTries ESC=HTML ?>" class="third" /></div>
</div>
<div class="subsection">
<div class="inputlabel">Max Joins:</div>
<div><input type="text" name="maxjoins" value="<? VAR MaxJoins ESC=HTML ?>" 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 ESC=HTML ?>
<? ENDLOOP ?>
</textarea>
</td>
</tr>
</tbody>
</table>
</textarea></div>
<br /><span class="info">One reply per line. Example: TIME Buy a watch!</span>
</div>
<div style="clear: both;"></div>
</div>
</div>
</div>
<input type="submit" value="<? IF Edit ?>Save User<? ELSE ?>Add User<? ENDIF ?>">
<div class="submitline">
<input type="submit" value="<? IF Edit ?>Save<? ELSE ?>Create<? ENDIF ?>" />
</div>
</form>
<? INC Footer.tmpl ?>

View File

@@ -1,9 +1,6 @@
<? INC Header.tmpl ?>
<a href="/mods/webadmin/settings">Settings</a>
<br>
<a href="/mods/webadmin/listusers">List Users</a>
<br>
<a href="/mods/webadmin/adduser">Add User</a>
<p>Welcome to the ZNC webadmin module. All changes you make will be in effect immediately after
you submitted them.</p>
<? INC Footer.tmpl ?>

View File

@@ -1,11 +1,10 @@
<? INC Header.tmpl ?>
<? IF !UserLoop ?>
There are no users defined.<br>
Click <a href="adduser">here</a>, if you would like to add one.
<? ELSE ?>
<table class="data">
<thead>
<?IF !UserLoop?>
There are no users defined. Click <a href="adduser">here</a> if you would like to add one.
<?ELSE?>
<table>
<thead>
<tr>
<td>Action</td>
<td>Username</td>
@@ -13,23 +12,25 @@
<td>Current Server</td>
<td>IRC Nick</td>
</tr>
</thead>
</thead>
<? LOOP UserLoop ?>
<tr class="<? IF __EVEN__ ?>altrow<? ENDIF ?>">
<tbody>
<?LOOP UserLoop?>
<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 ?>" onClick="return confirm('Do you really wish to remove this user?');">Delete</a>]<? ENDIF ?>
[<a href="edituser?user=<?VAR Username ESC=URL?>">Edit</a>]
<? IF !IsSelf ?>[<a href="deluser?user=<?VAR Username ESC=URL?>" onClick="return confirm('Do you really wish to remove this user?');">Delete</a>]<? ENDIF ?>
</span>
</td>
<td><b><? VAR Username DEFAULT="-N/A-" ?></b></td>
<td><? VAR Clients DEFAULT="-N/A-" ?></td>
<td><? VAR Server DEFAULT="-N/A-" ?></td>
<td><? VAR IRCNick DEFAULT="-N/A-" ?></td>
<td><? VAR Username ESC=HTML ?></td>
<td><? VAR Clients ESC=HTML ?></td>
<td><? VAR Server ESC=HTML DEFAULT="-N/A-" ?></td>
<td><? VAR IRCNick ESC=HTML ?></td>
</tr>
<? ENDLOOP ?>
</table>
<? ENDIF ?>
<?ENDLOOP?>
</tbody>
</table>
<?ENDIF?>
<? INC Footer.tmpl ?>

View File

@@ -1,151 +1,125 @@
<? INC Header.tmpl ?>
<form action="settings" method="POST">
<input type="hidden" name="submitted" value="1">
<table class="section">
<thead><tr><td>Listen Port(s)</td></tr></thead>
<form action="settings" method="post">
<div class="section">
<input type="hidden" name="submitted" value="1" />
<tbody>
<tr>
<td>
<table class="data">
<thead>
<tr>
<td>Port</td>
<td>BindHost</td>
<td>SSL</td>
<td>IPv4</td>
<td>IPv6</td>
</tr>
</thead>
<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>IPv6</td>
</tr>
</thead>
<tbody>
<? LOOP ListenLoop ?>
<tr class="<? IF __EVEN__ ?>evenrow<? ELSE ?>oddrow<? ENDIF ?>">
<td><? VAR Port ESC=HTML ?></td>
<td><? VAR BindHost ESC=HTML DEFAULT=** ?></td>
<td><? IF IsSSL ?>Yes<? ELSE ?>No<? ENDIF ?></td>
<td><? IF IsIPV6 ?>Yes<? ELSE ?>No<? ENDIF ?></td>
</tr>
<? ENDLOOP ?>
</tbody>
</table>
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
</div>
<tbody>
<? LOOP ListenLoop ?>
<tr class="<? IF __EVEN__ ?>altrow<? 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>
</tr>
<? ENDLOOP ?>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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 ESC=HTML ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR Name ESC=HTML ?></option>
<? ENDLOOP ?>
</select>
</div>
</div>
<div style="clear: both;"></div>
<table class="section">
<thead><tr><td colspan="2">Settings</td></tr></thead>
<div class="subsection third">
<div class="inputlabel">Status Prefix:</div>
<div><input type="text" name="statusprefix" value="<? VAR StatusPrefix ESC=HTML ?>" /></div>
<br /><span class="info">Default for new users only.</span>
</div>
<div style="clear: both;"></div>
<tbody>
<tr>
<td>
Skin:
</td>
<div class="subsection half">
<div class="inputlabel">ISpoofFile:</div>
<div><input type="text" name="ispooffile" value="<? VAR ISpoofFile ESC=HTML ?>" /></div>
<br /><span class="info">Example: ~/.oidentd.conf</span>
</div>
<td>
<? IF SkinLoop ROWS > 1 ?>
<select name="skin">
<? LOOP SkinLoop ?>
<option value="<? VAR Name ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR Name ?></option>
<? ENDLOOP ?>
</select>
<? ELSE ?>
No other skins found
<? ENDIF ?>
</td>
</tr>
<div class="subsection half">
<div class="inputlabel">ISpoofFormat:</div>
<div><input type="text" name="ispoofformat" value="<? VAR ISpoofFormat ESC=HTML ?>" /></div>
</div>
<div style="clear: both;"></div>
<tr>
<td>
Status prefix:
</td>
<td>
<input type="text" name="statusprefix" value="<? VAR StatusPrefix ?>" size="32" maxlength="128">
</td>
</tr>
<tr>
<td>
ISpoofFile:
</td>
<td>
<input type="text" name="ispooffile" value="<? VAR ISpoofFile ?>" size="32" maxlength="128">
</td>
</tr>
<tr>
<td>
ISpoofFormat:
</td>
<td>
<input type="text" name="ispoofformat" value="<? VAR ISpoofFormat ?>" size="32" maxlength="128">
</td>
</tr>
<tr>
<td>
MOTD:
</td>
<td>
<textarea name="motd" cols="10" rows="5"><? LOOP MOTDLoop ?><? VAR Line ?>
<div class="subsection twothird">
<div class="inputlabel">MOTD:</div>
<div><textarea name="motd" cols="70" rows="5"><? LOOP MOTDLoop ?><? VAR Line ESC=HTML ?>
<? ENDLOOP ?>
</textarea>
</td>
</tr>
</textarea></div>
<br /><span class="info">"Message of the Day", sent to all ZNC users on connect.</span>
</div>
<tr>
<td>
VHosts:
</td>
<td>
<textarea name="vhosts" cols="10" rows="5"><? LOOP VHostLoop ?><? VAR VHost ?>
<div class="subsection twothird">
<div class="inputlabel">VHosts:</div>
<div><textarea name="vhosts" cols="70" rows="8"><? LOOP VHostLoop ?><? VAR VHost ESC=HTML ?>
<? ENDLOOP ?>
</textarea>
</td>
</tr>
</tbody>
</table>
</textarea></div>
<br /><span class="info">One host name or IP entry per line.</span>
</div>
<div style="clear: both;"></div>
</div>
</div>
</div>
<table class="section">
<thead><tr><td>Global Module(s)</td></tr></thead>
<tbody>
<div class="section">
<h3>Global Modules</h3>
<div class="sectionbg">
<div class="sectionbody">
<table>
<thead>
<tr>
<td>
<table class="data">
<thead>
<tr>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<? LOOP ModuleLoop ?>
<tr class="<? IF __EVEN__ ?>altrow<? ENDIF ?>">
<td><span class="nowrap"><input type="checkbox" class="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></span></td>
<td><input type="text" name="modargs_<? VAR Name ?>" value="<? VAR Args ?>" /></td>
<td><? VAR Description ?></td>
</tr>
<? ENDLOOP ?>
</tbody>
</table>
</td>
<td>Name</td>
<td>Arguments</td>
<td>Description</td>
</tr>
</tbody>
</table>
</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 ESC=HTML ?>" value="<? VAR Name ESC=HTML ?>"<? IF Checked ?> checked="checked"<? ENDIF ?><? IF Disabled ?> disabled="disabled"<? ENDIF ?> /><label for="lm_<? VAR Name ESC=HTML ?>"> <? VAR Name ESC=HTML ?></label></td>
<td class="mod_args"><input type="text" name="modargs_<? VAR Name ESC=HTML ?>" value="<? VAR Args ESC=HTML ?>" /></td>
<td class="mod_descr"><? VAR Description ESC=HTML ?></td>
</tr>
<? ENDLOOP ?>
</tbody>
</table>
</div>
</div>
</div>
<br><br>
<input type="submit" value="Save settings" />
<div class="submitline">
<input type="submit" value="Save" />
</div>
</form>
<? INC Footer.tmpl ?>

View File

@@ -1,263 +1,261 @@
html,
body {
background: #555;
padding: 0;
margin: 10px 0;
background: #444;
font-family: verdana;
font-size: 12px;
color: white;
}
@charset "UTF-8";
img {
border: 0;
padding: 0;
* {
margin: 0;
padding: 0;
}
/* TABLES */
table {
border-collapse: collapse;
font-size: 12px;
html {
height: 100%;
}
table.section,
table.data {
width: 100%;
margin-bottom: 15px;
border: 1px solid #f00;
}
table.section td,
table.data td {
height: 20px;
border: 1px solid #000;
padding: 2px 3px;
}
table.section thead td,
table.data thead td {
background-color: #D49712;
body {
height: 100%;
background-color: #fff;
color: #000;
font-weight: bold;
font-family: Tahoma, sans-serif;
}
table.data thead td {
background-color: #EC8E00;
}
table.data tbody .altrow td {
background-color: #777;
}
table.section table.data {
width: 95%;
margin: 10 auto;
}
table td.tdbottom {
text-align: center;
}
/* !TABLES */
/* FORMS */
input, select, textarea {
font-family: verdana;
font-size: 12px;
color: #000000;
border: 1px solid #000000;
background-color: #999;
}
table.section textarea,
table.section select,
table.section input {
width: 100%;
}
table.section input.checkbox {
width: auto;
}
/* !FORMS */
.nowrap {
white-space: nowrap;
}
/* LINKS */
a:link,
a:active,
a:visited,
a:hover {
font-family: verdana;
font-size: 12px;
color: #fff;
a, a:link, a:active, a:visited, a:focus {
color: #00008B;
text-decoration: none;
outline: none;
}
a:hover {
text-decoration: underline;
}
/* !LINKS */
#main a:visited {
color: #99008B;
}
#wrapper {
background-color: #eee;
min-height: 80%;
overflow: hidden;
margin: 0 auto;
width: 800px;
border: 1px solid #000;
margin-left: auto;
margin-right: auto;
border: 1px solid #ccc;
border-top: none;
-moz-box-shadow: 0 0 1em #666;
-webkit-box-shadow: 0 0 1em #666;
}
#banner {
background-image: url('clouds-header.jpg');
padding: 0;
border-bottom: 1px solid #000000;
height: 100px;
width: 800px;
text-align: right;
font-weight: bold;
font-size: 13px;
position: relative;
#banner_top {
background-color: #ccc;
}
#banner p {
position: absolute;
bottom: 0;
right: 20px;
h1 {
line-height: 37px;
padding: 0 0.9em 0 0.6em;
width: 50px;
text-align: center;
background-color: #aaa;
font-weight: normal;
font-style: italic;
font-size: 100%;
}
#tag {
height: 4em;
line-height: 4em;
text-align: center;
font-size: 70%;
color: #aaa;
}
ul.nav {
float: left;
margin-left: 20px;
list-style: none;
}
ul.nav li, ul.nav ul {
list-style: none;
}
ul.nav li.topitem {
float: left;
margin-right: 55px;
}
ul.nav li.topitem a {
display: inline-block;
}
ul.nav li.parent ul li {
font-size: 80%;
}
#infobar {
width: 800px;
height: 20px;
border-bottom: 1px solid #000;
border-right: 1px solid #000;
}
.successbar,
.errorbar {
width: 790px;
height: 20px;
border-bottom: 1px solid #000;
border-right: 1px solid #000;
background: #900;
padding: 2px 5px;
font-weight: bold;
}
.successbar {
background: #070;
}
#infobar span {
float: left;
padding-left: 5px;
}
#infobar span.loginbox,
#infobar span.logoutbox {
text-align: right;
padding-right: 5px;
border-left: 1px solid #000000;
height: 100%;
width: 250px;
float: right;
clear: both;
}
#infobar span.logoutbox {
text-align: center;
width: 100px;
#infobar_ident, .logoutbox, .loginbox {
padding: 4px;
font-size: 70%;
color: #888;
}
#infobar span.loginbox input {
width: 60px;
}
#infobar span.loginbox input.submit {
width: 40px;
}
#subpage {
padding: 10px;
ul.nav li.topitem:before {
content: "» ";
}
#content {
float: right;
width: 640px;
padding: 0;
background-color: #444;
}
/* MENU */
#menu {
float: left;
background-color: #333;
width: 160px;
margin: 0;
margin-bottom: 20px;
left: 0;
}
#menu .title,
#menu .item,
#menu .subitem {
vertical-align: middle;
text-align: center;
padding: 8px 5px;
background-color: #777;
border-bottom: 1px solid #000;
border-right: 1px solid #000;
}
#menu .title {
text-align: left;
padding-left: 3px;
background-color: #333;
font-weight: bold;
}
#menu .item.active {
background-color: #D49712;
font-weight: bold;
}
#menu .subitem {
text-align: left;
padding: 3px 5px 3px 10px;
background-color: #999;
}
#menu .subitem.active {
font-weight: bold;
}
#menu .subitem.active a:hover {
color: #000;
text-decoration: none;
}
#menu a {
color: #000;
}
/* !MENU */
#footerbar {
clear: both;
background-color: #D49712;
border-top: 1px solid #000000;
height: 20px;
text-align: right;
padding-right: 5px;
}
#breadcrumb {
padding: 5px 10px;
border-bottom: 1px solid #000;
#main {
padding: 0 20px 20px 20px;
font-size: 90%;
}
h2 {
margin-bottom: 0.4em;
}
h3 {
margin-top: 1.2em;
margin-bottom: 0.4em;
}
.section {
clear: both;
}
.sectionbody {
margin-left: 1em;
}
.sectionbody input, textarea, select {
border: 2px solid #ccc;
font-family: Tahoma, sans-serif;
padding: 3px;
font-size: 14px;
}
input:focus, textarea:focus, select:focus {
-moz-box-shadow: 0 0 0.4em #aaa;
-webkit-box-shadow: 0 0 0.4em #aaa;
}
textarea {
height: 90px;
}
div.submitline {
margin: 1em;
}
.submitline input {
width: 200px;
height: 2.2em;
}
input.full, textarea.full,
.full input, .full textarea {
width: 600px;
}
input.twothird, textarea.twothird,
.twothird input, .twothird textarea {
width: 450px;
}
input.half, textarea.half,
.half input, .half textarea {
width: 300px;
}
input.third, textarea.third,
.third input, .third textarea {
width: 150px;
}
table {
border: 1px solid #ccc;
}
td {
padding: 5px 10px;
min-width: 80px;
}
thead td {
background-color: #a0a0a0;
}
tbody td {
background-color: #cecece;
}
tr.evenrow td {
background-color: #dadada;
}
.info {
font-style: italic;
font-size: 80%;
}
.subsection {
clear: both;
margin: 0;
}
.subsection div {
float: left;
}
.subsection .inputlabel {
width: 120px;
text-align: right;
padding: 10px 5px 0 0;
}
.subsection input, .subsection select, .subsection textarea {
margin: 5px 0 5px 0;
vertical-align: middle;
}
.section .info {
margin-bottom: 5px;
display: block;
}
.subsection .info {
text-align: right;
}
.half .info {
width: 435px;
}
.third .info {
width: 285px;
}
.twothird .info {
width: 585px;
}
td.mod_descr,
td.mod_name,
td.mod_args input {
font-size: 80%;
}
.checkboxandlabel {
white-space: nowrap;
}
.lotsofcheckboxes .checkboxandlabel {
display: block;
float: left;
width: 200px;
margin-top: 0.5em;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1 +1 @@
<div id="banner"><p><? VAR Tag ?></p></div>
<div id="banner_top"><h1>ZNC</h1></div>

View File

@@ -12,5 +12,9 @@
<!-- !FooterBar -->
</div>
<!-- !Wrapper -->
<!-- LowerBanner -->
<? INC LowerBanner.tmpl ?>
<!-- !LowerBanner -->
</body>
</html>

View File

@@ -1,4 +1,4 @@
<div id="infobar">
<span>Logged in as: <em><? VAR SessionUser DEFAULT="-Guest-" ?></em> (from: <? VAR SessionIP ?>)</span>
<span id="infobar_ident">Logged in as: <span class="user_name"><? VAR SessionUser DEFAULT="-Guest-" ?></span> (from <? VAR SessionIP ?>)</span>
<? INC LoginBar.tmpl ?>
</div>

View File

@@ -0,0 +1 @@
<div id="tag"><p><? VAR Tag ?></p></div>

View File

@@ -1,24 +1,32 @@
<div id="menu">
<div class="item <? IF !ModName && PageName == "index" ?>active<? ENDIF ?>"><a href="/">Home</a></div>
<div class="item <? IF !ModName && PageName == "help" ?>active<? ENDIF ?>"><a href="/help">Help</a></div>
<div id="menu">
<ul class="nav">
<li class="topitem<? IF !ModName && PageName == "index" ?> active<? ENDIF ?>"><a href="/">Home</a></li>
<li class="topitem<? IF !ModName && PageName == "help" ?> active<? ENDIF ?>"><a href="/help">Help</a></li>
<? IF GlobalModLoop ?>
<div class="title">Global Modules:</div>
<? LOOP GlobalModLoop ?>
<div class="item <? IF Active ?>active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>"><? VAR Title ?></a></div>
<? LOOP SubPageLoop ?>
<div class="subitem <? IF Active ?>active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>/<? VAR PageName ?><? IF Params ?>?<? VAR Params ?><? ENDIF ?>"><? IF Active ?>&raquo; <? ENDIF ?><? VAR Title ?><? IF Active ?> &laquo;<? ENDIF ?></a></div>
<li class="topitem parent"><span class="title">Global Modules</span>
<ul>
<? LOOP GlobalModLoop ?>
<li class="modtitle<? IF Active ?> active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>"><? VAR Title ?></a></li>
<? LOOP SubPageLoop ?>
<li class="subitem<? IF Active ?> active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>/<? VAR PageName ?><? IF Params ?>?<? VAR Params ?><? ENDIF ?>"><? IF Active ?>&raquo; <? ENDIF ?><? VAR Title ?><? IF Active ?> &laquo;<? ENDIF ?></a></li>
<? ENDLOOP ?>
<? ENDLOOP ?>
<? ENDLOOP ?>
</ul>
</li>
<? ENDIF ?>
<? IF UserModLoop ?>
<div class="title">User Modules:</div>
<? LOOP UserModLoop ?>
<div class="item <? IF Active ?>active<? ENDIF ?>"><a href="/mods/<? IF ModUser ?><? VAR ModUser ?>:<? ENDIF ?><? VAR ModName ?>"><? VAR Title ?></a></div>
<? LOOP SubPageLoop ?>
<div class="subitem <? IF Active ?>active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>/<? VAR PageName ?><? IF Params ?>?<? VAR Params ?><? ENDIF ?>"><? IF Active ?>&raquo; <? ENDIF ?><? VAR Title ?></a></div>
<li class="topitem parent"><span class="title">User Modules</span>
<ul>
<? LOOP UserModLoop ?>
<li class="modtitle<? IF Active ?> active<? ENDIF ?>"><a href="/mods/<? IF ModUser ?><? VAR ModUser ?>:<? ENDIF ?><? VAR ModName ?>"><? VAR Title ?></a></li>
<? LOOP SubPageLoop ?>
<li class="subitem<? IF Active ?> active<? ENDIF ?>"><a href="/mods/<? VAR ModName ?>/<? VAR PageName ?><? IF Params ?>?<? VAR Params ?><? ENDIF ?>"><? IF Active ?>&raquo; <? ENDIF ?><? VAR Title ?></a></li>
<? ENDLOOP ?>
<? ENDLOOP ?>
<? ENDLOOP ?>
</ul>
</li>
<? ENDIF ?>
</div>
</ul>
</div>

View File

@@ -18,49 +18,65 @@ img {
/* TABLES */
table {
border-collapse: collapse;
font-size: 12px;
}
table.section,
table.data {
width: 100%;
margin-bottom: 15px;
border: 1px solid #f00;
border-collapse: collapse;
}
table.section td,
table.data td {
table thead td {
background-color: #EC8E00;
color: #000;
font-weight: bold;
padding: 2px;
}
table td {
height: 20px;
border: 1px solid #000;
padding: 2px 3px;
border: 1px solid #000;
}
table.section thead td,
table.data thead td {
/* !TABLES */
/* SECTIONS */
.section {
border: 1px solid #000;
padding: 0;
margin-bottom: 1em;
}
h3 {
margin: 0;
padding: 5px;
background-color: #D49712;
color: #000;
font-weight: bold;
}
table.data thead td {
background-color: #EC8E00;
.sectionbody {
padding: 10px;
}
table.data tbody .altrow td {
background-color: #777;
.subsection {
clear: both;
}
table.section table.data {
width: 95%;
margin: 10 auto;
.subsection div {
min-height: 30px;
/*float: left;
border: 1px solid orange;*/
display: inline-block;
}
table td.tdbottom {
text-align: center;
.subsection .inputlabel {
width: 200px;
height: 30px;
}
/* !TABLES */
/* !SECTIONS */
/* FORMS */
@@ -154,7 +170,7 @@ a:hover {
}
#infobar span {
#infobar_ident {
float: left;
padding-left: 5px;
}
@@ -182,6 +198,10 @@ a:hover {
width: 40px;
}
#infobar_ident .user_name {
font-style: italic;
}
#subpage {
padding: 10px;
}
@@ -204,10 +224,21 @@ a:hover {
left: 0;
}
#menu ul, #menu li {
list-style: none;
display: block;
margin: 0;
padding: 0;
}
#menu li.parent span.title {
display: block;
}
#menu .title,
#menu .item,
#menu .topitem,
#menu .modtitle,
#menu .subitem {
vertical-align: middle;
text-align: center;
padding: 8px 5px;
background-color: #777;
@@ -215,6 +246,11 @@ a:hover {
border-right: 1px solid #000;
}
#menu .parent {
padding: 0;
border: none;
}
#menu .title {
text-align: left;
padding-left: 3px;

View File

@@ -0,0 +1 @@
<div id="banner"><p><? VAR Tag ?></p></div>

View File

@@ -0,0 +1 @@
<div id="banner"><p><? VAR Tag ?></p></div>

View File

View File

@@ -152,6 +152,12 @@ textarea {
margin-bottom: 10px;
}
#menu ul, #menu li {
list-style: none;
padding: 0;
margin: 0;
}
#gnav {
width: 700px;
border-top: 1px solid #000;
@@ -161,21 +167,12 @@ textarea {
margin-bottom: 10px;
}
#gnav #menu {
#menu ul.nav {
width: 690px;
float: left;
}
#gnav ul {
margin: 0px;
padding: 0px;
}
#gnav li {
display: block;
}
#gnav a {
#menu a {
font-size: 12px;
font-weight: bold;
height: 30px;
@@ -187,22 +184,19 @@ textarea {
background: url(linkbg.jpg) 0px 0px repeat-x;
}
#gnav a:hover {
#menu a:hover {
background-position: 0px -30px;
text-decoration: none;
}
#gnav .on a {
#menu a.active {
background-position: 0px -30px;
}
#gnav #nav {
#menu {
float: left;
border-left: 1px solid #000;
display: inline;
}
#nav {
margin-left: 10px;
}
@@ -212,4 +206,3 @@ textarea {
border-right: 1px solid #000;
float: left;
}

View File