mirror of
https://github.com/anope/anope.git
synced 2026-07-03 19:03:14 +02:00
Merge pull request #19 from Phr33d0m/1.9
A completely rewritten Control Panel
This commit is contained in:
@@ -49,7 +49,7 @@ bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::st
|
||||
params.push_back("ADD");
|
||||
params.push_back(message.post_data["mask"]);
|
||||
if (message.post_data["reason"].empty() == false)
|
||||
params.push_back(message.get_data["reason"]);
|
||||
params.push_back(message.post_data["reason"]);
|
||||
|
||||
WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/akick", params, replacements);
|
||||
}
|
||||
|
||||
@@ -1,52 +1,69 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
<h2>Access List</h2>
|
||||
{IF EXISTS ACCESSES}
|
||||
<b>Access List</b></br>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<th>Mask</th>
|
||||
<th>Access</th>
|
||||
<th>Creator</th>
|
||||
</tr>
|
||||
<table id="tableNSAccess" class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mask</th>
|
||||
<th>Access</th>
|
||||
<th>Creator</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{FOR MASK,ACCESS,CREATOR,ACCESS_CHANGE IN MASKS,ACCESSES,CREATORS,ACCESS_CHANGES}
|
||||
<tr>
|
||||
<td>{MASK}</td>
|
||||
<td style="font-weight: bold;">{MASK}</td>
|
||||
<td>{ACCESS}</td>
|
||||
<td>{CREATOR}</td>
|
||||
{IF EQ ACCESS_CHANGE YES}
|
||||
<td><a href="/chanserv/access?channel={ESCAPED_CHANNEL}&mask={MASK}&del=1">Delete</a></td>
|
||||
<td><a href="/chanserv/access?channel={ESCAPED_CHANNEL}&mask={MASK}&del=1" class="btn btn-sm btn-danger">Delete</a></td>
|
||||
{END IF}
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
{ELSE}
|
||||
<b>Access list is empty.</b>
|
||||
<em>Access list is empty.</em>
|
||||
{END IF}
|
||||
|
||||
<br/><br/>
|
||||
<hr>
|
||||
|
||||
<b>Add an access entry</b><br/>
|
||||
<form method="post" action="/chanserv/access?channel={ESCAPED_CHANNEL}">
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<th>Mask</th>
|
||||
<th>Access</th>
|
||||
<th>Provider</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="mask"></td>
|
||||
<td><input type="text" name="access"></td>
|
||||
<td>
|
||||
<select name="provider">
|
||||
{FOR PROVIDER IN PROVIDERS}
|
||||
<option value="{PROVIDER}">{PROVIDER}</option>
|
||||
{END FOR}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="Add">
|
||||
<h4>Add an access entry</h4>
|
||||
<form class="form-horizontal" method="post" action="/chanserv/access?channel={ESCAPED_CHANNEL}">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="mask">Mask:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="mask" id="mask" placeholder="Valid HostMask">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="access">Access:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="access" id="access" placeholder="Access level">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="reason">Provider:</label>
|
||||
<div class="col-lg-6">
|
||||
<select name="provider" class="form-control">
|
||||
{FOR PROVIDER IN PROVIDERS}
|
||||
<option value="{PROVIDER}">{PROVIDER}</option>
|
||||
{END FOR}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-6">
|
||||
<button type="submit" class="btn btn-primary">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,42 +1,58 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
<h2>Akick List</h2>
|
||||
{IF EXISTS MASKS}
|
||||
<b>Akick List</b></br>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<th>Mask</th>
|
||||
<th>Creator</th>
|
||||
<th>Reason</th>
|
||||
</tr>
|
||||
{FOR MASK,CREATOR,REASON IN MASKS,CREATORS,REASONS}
|
||||
<table id="tableNSAccess" class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{MASK}</td>
|
||||
<td>{CREATOR}</td>
|
||||
<th>Mask</th>
|
||||
<th>Reason</th>
|
||||
<th>Creator</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{FOR MASK,REASON,CREATOR IN MASKS,REASONS,CREATORS}
|
||||
<tr>
|
||||
<td style="font-weight: bold;">{MASK}</td>
|
||||
<td>{REASON}</td>
|
||||
<td><a href="/chanserv/akick?channel={ESCAPED_CHANNEL}&mask={MASK}&del=1">Delete</a></td>
|
||||
<td>{CREATOR}</td>
|
||||
<td><a href="/chanserv/akick?channel={ESCAPED_CHANNEL}&mask={MASK}&del=1" class="btn btn-sm btn-danger">Delete</a></td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
{ELSE}
|
||||
<b>Akick list is empty.</b>
|
||||
<em>Akick list is empty.</em>
|
||||
{END IF}
|
||||
|
||||
<br/><br/>
|
||||
<hr>
|
||||
|
||||
<b>Add an akick entry</b><br/>
|
||||
<form method="post" action="/chanserv/akick?channel={ESCAPED_CHANNEL}">
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<th>Mask</th>
|
||||
<th>Reason</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="mask"></td>
|
||||
<td><input type="text" name="access"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="Add">
|
||||
<h4>Add an akick entry</h4>
|
||||
<form class="form-horizontal" method="post" action="/chanserv/akick?channel={ESCAPED_CHANNEL}">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="mask">Mask:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="mask" id="mask" placeholder="Valid HostMask">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="reason">Reason:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="reason" id="reason" placeholder="Reason for AKICK">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-6">
|
||||
<button type="submit" class="btn btn-primary">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,22 +1,34 @@
|
||||
{INCLUDE header.html}
|
||||
{IF EXISTS MESSAGES}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
{END IF}
|
||||
<h3>Channels you can drop:</h3>
|
||||
<div class="scroll">
|
||||
{FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES}
|
||||
<a href="/chanserv/drop?channel={ECH}">{CH}</a></br>
|
||||
{END FOR}
|
||||
</div>
|
||||
{IF EXISTS CHANNEL_DROP}
|
||||
<h3>Drop Channel {CHANNEL_DROP}?</h3>
|
||||
<form method="post" name="dropForm" action="/chanserv/drop">
|
||||
<input type="hidden" value="{CHANNEL_DROP}" name="channel">
|
||||
Enter Channel For Confirmation: <input type="text" name="confChan">
|
||||
<input type="hidden" value="yes" name="drop">
|
||||
<input type="submit" value="Drop">
|
||||
</form>
|
||||
{END IF}
|
||||
|
||||
<h2>Channels you can drop</h2>
|
||||
<div class="scroll">
|
||||
{FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES}
|
||||
<a href="/chanserv/drop?channel={ECH}">{CH}</a></br>
|
||||
{END FOR}
|
||||
</div>
|
||||
{IF EXISTS CHANNEL_DROP}
|
||||
<div class="alert alert-danger" style="margin-top: 15px; margin-bottom: 0; padding-bottom: 0;">
|
||||
<h4>Drop Channel <strong>{CHANNEL_DROP}</strong>?</h4>
|
||||
<form class="form-horizontal" method="post" action="/operserv/akill">
|
||||
<input type="hidden" value="{CHANNEL_DROP}" name="channel">
|
||||
<input type="hidden" value="yes" name="drop">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-3" for="confChan">Confirm channel name:</label>
|
||||
<div class="col-lg-4">
|
||||
<input class="form-control" type="text" name="confChan" id="confChan" placeholder="This cannot be undone!">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-3 col-lg-4">
|
||||
<button type="submit" class="btn btn-danger">Drop</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{END IF}
|
||||
{INCLUDE footer.html}
|
||||
@@ -1,5 +1,5 @@
|
||||
{INCLUDE header.html}
|
||||
<b>Channels you have access in:</b><br/>
|
||||
<h2>Channels you have access in</h2>
|
||||
<div class="cinfo">
|
||||
{FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES}
|
||||
<a href="/chanserv/set?channel={ECH}">{CH}</a></br>
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
<h2>Channel Information</h2>
|
||||
<form method="post" action="/chanserv/set?channel={CHANNEL_ESCAPED}">
|
||||
<table width="100%" height="100%">
|
||||
<table id="tableInfo" class="table table-hover">
|
||||
<tr>
|
||||
<td>Channel Name</td>
|
||||
<td>{CHANNEL}</td>
|
||||
@@ -40,59 +44,31 @@
|
||||
{END IF}
|
||||
<tr>
|
||||
<td>Keep topic</td>
|
||||
{IF EXISTS KEEPTOPIC}
|
||||
<td><input type="checkbox" name="keeptopic" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="keeptopic" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="keeptopic" value="on" {IF EXISTS KEEPTOPIC}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Peace</td>
|
||||
{IF EXISTS PEACE}
|
||||
<td><input type="checkbox" name="peace" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="peace" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="peace" value="on" {IF EXISTS PEACE}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Private</td>
|
||||
{IF EXISTS PRIVATE}
|
||||
<td><input type="checkbox" name="private" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="private" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="private" value="on" {IF EXISTS PRIVATE}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Restricted</td>
|
||||
{IF EXISTS RESTRICTED}
|
||||
<td><input type="checkbox" name="restricted" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="restricted" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="restricted" value="on" {IF EXISTS RESTRICTED}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Secure</td>
|
||||
{IF EXISTS SECURE}
|
||||
<td><input type="checkbox" name="secure" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="secure" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="secure" value="on" {IF EXISTS SECURE}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Secure Ops</td>
|
||||
{IF EXISTS SECUREOPS}
|
||||
<td><input type="checkbox" name="secureops" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="secureops" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="secureops" value="on" {IF EXISTS SECUREOPS}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Topic Lock</td>
|
||||
{IF EXISTS TOPICLOCK}
|
||||
<td><input type="checkbox" name="topiclock" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="topiclock" value="on"></td>
|
||||
{END IF}
|
||||
<td><input type="checkbox" name="topiclock" value="on" {IF EXISTS TOPICLOCK}checked{END IF}></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="Save">
|
||||
|
||||
@@ -1,30 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="master">
|
||||
<div class="header">
|
||||
<div class="loggedinas"><a href="/">Home</a></div>
|
||||
</div>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<img src="static/logo.png"/>
|
||||
<br/>
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 7]> <html lang="en" class="ie7"> <![endif]-->
|
||||
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
|
||||
<!--[if !IE]><!-->
|
||||
<html lang="en">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="frontPages" class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-4 col-lg-4">
|
||||
<a href="/"><img src="http://www.geniusdex.net/anope/anope.svg" class="img-responsive" width="370"></a>
|
||||
<a href="/" class="btn btn-lg btn-default btn-block">Back Home</a>
|
||||
|
||||
<h1 class="form-signin-heading">Register</h1>
|
||||
|
||||
{IF EXISTS MESSAGES}
|
||||
<div class="alert alert-info">
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
{END FOR}
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
Anope IRC Services - © 2012 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</body>
|
||||
</div>
|
||||
{END IF}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-3 col-lg-6">
|
||||
<div class="footer text-center">
|
||||
Anope IRC Services - © 2013 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-3 col-lg-6">
|
||||
<div class="footer text-center">
|
||||
Anope IRC Services - © 2013 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
Anope IRC Services - © 2012 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,113 +1,53 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
|
||||
<title>{TITLE}</title>
|
||||
{IF EXISTS CMDR}
|
||||
<script type="text/javascript">
|
||||
var tSec=5; //Time in seconds to keep the overlay open
|
||||
var t=(tSec*1000); //Convert the time to ms so we can use it
|
||||
|
||||
$(document).ready(function() \{
|
||||
|
||||
/*Modal*/
|
||||
var id = "#dialog";
|
||||
|
||||
var mHeight;
|
||||
var mWidth;
|
||||
var oHeight = $(id).height();
|
||||
var oWidth = $(id).height();
|
||||
|
||||
var top;
|
||||
var left;
|
||||
|
||||
showModal();
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 7]> <html lang="en" class="ie7"> <![endif]-->
|
||||
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
|
||||
<!--[if !IE]><!-->
|
||||
<html lang="en">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
|
||||
$('.close').click(function (e) \{
|
||||
e.preventDefault();
|
||||
hideModal();
|
||||
\});
|
||||
|
||||
$('#mask').click(function () \{
|
||||
hideModal();
|
||||
\});
|
||||
|
||||
function hideModal() \{
|
||||
if ($('#mask').not(':hidden')) \{
|
||||
$('.master').fadeTo('slow',1.0);
|
||||
$('#mask, .window').fadeOut(200);
|
||||
\}
|
||||
\}
|
||||
|
||||
function showModal() \{
|
||||
mHeight = $(document).height();
|
||||
mWidth = $(window).width();
|
||||
|
||||
var alertMsg = '<br/>{CMDR}<br/>';
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
|
||||
|
||||
$('#mask').css(\{'width': mWidth, 'height': mHeight\});
|
||||
$('#mask').fadeIn(200);
|
||||
$('#mask').fadeTo('fast',0.75);
|
||||
|
||||
$('#dialogMsg').html(alertMsg);
|
||||
|
||||
top = mHeight/2-oHeight/2;
|
||||
left = mWidth/2-oHeight/2;
|
||||
|
||||
$(id).css('top', top);
|
||||
$(id).css('left', left);
|
||||
$('.master').fadeTo('fast',0.3);
|
||||
|
||||
$(id).fadeIn(500);
|
||||
setTimeout(hideModal, t);
|
||||
|
||||
\}
|
||||
|
||||
$(window).resize(function() \{
|
||||
if ($('#mask').not(':hidden')) \{
|
||||
mHeight = $(document).height();
|
||||
mWidth = $(window).width();
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<script src="http://politeia.in/assets/js/html5shiv.js"></script>
|
||||
<script src="http://politeia.in/assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
/* Might as well only change the postion of box if the window is large enough */
|
||||
if ((mHeight > oHeight) && (mWidth > oWidth)) \{
|
||||
top = mHeight/2-oHeight/2;
|
||||
left = mWidth/2-oHeight/2;
|
||||
$('#mask').css(\{'width': mWidth, 'height': mHeight\});
|
||||
$(id).css('top', top);
|
||||
$(id).css('left', left);
|
||||
\}
|
||||
|
||||
\}
|
||||
\})
|
||||
|
||||
\});
|
||||
</script>
|
||||
{END IF}
|
||||
</head>
|
||||
<body>
|
||||
<div id="boxes">
|
||||
<div id="dialog" class="window">
|
||||
<h2>Status Message:</h2>
|
||||
<div id="dialogMsg"></div>
|
||||
<div id="dialogClose"><a href="#" class="close">Dismiss</a></div>
|
||||
</div>
|
||||
<div id="mask"></div>
|
||||
</div>
|
||||
<div class="master">
|
||||
<div class="header">
|
||||
<ul id="button">
|
||||
{FOR CATEGORY_URL,CATEGORY_NAME IN CATEGORY_URLS,CATEGORY_NAMES}
|
||||
<li><a href="{CATEGORY_URL}">{CATEGORY_NAME}</a></li>
|
||||
{END FOR}
|
||||
</ul>
|
||||
<div class="loggedinas">Logged in as {ACCOUNT} <a href="/logout">(Logout)</a></div>
|
||||
</div>
|
||||
<div class="sidebar">
|
||||
<ul class="sidenav">
|
||||
{FOR SUBCATEGORY_URL,SUBCATEGORY_GET,SUBCATEGORY_NAME IN SUBCATEGORY_URLS,SUBCATEGORY_GETS,SUBCATEGORY_NAMES}
|
||||
<li><a href="{SUBCATEGORY_URL}{SUBCATEGORY_GET}">{SUBCATEGORY_NAME}</a></li>
|
||||
{END FOR}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content">
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="frontPages" class="container">
|
||||
<div class="row">
|
||||
<div class="navbar navbar-default">
|
||||
<span class="navbar-brand" style="margin-top: -1px">Anope Web <small>Control Panel</small></span>
|
||||
<ul class="nav navbar-nav">
|
||||
{FOR CATEGORY_URL,CATEGORY_NAME IN CATEGORY_URLS,CATEGORY_NAMES}
|
||||
<li><a href="{CATEGORY_URL}">{CATEGORY_NAME}</a></li>
|
||||
{END FOR}
|
||||
</ul>
|
||||
<span id="loggedIn" class="pull-right">
|
||||
Logged in as {ACCOUNT} <a href="/logout">(Logout)</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<div id="navPanel" class="sidebar-nav-fixed">
|
||||
<div class="well" style="padding: 0;">
|
||||
<ul class="nav nav-list" style="padding: 10px;">
|
||||
{FOR SUBCATEGORY_URL,SUBCATEGORY_GET,SUBCATEGORY_NAME IN SUBCATEGORY_URLS,SUBCATEGORY_GETS,SUBCATEGORY_NAMES}
|
||||
<li><a href="{SUBCATEGORY_URL}{SUBCATEGORY_GET}">{SUBCATEGORY_NAME}</a></li>
|
||||
{END FOR}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-9">
|
||||
<div class="well" style="padding: 20px 20px 5px 20px;">
|
||||
|
||||
@@ -1,29 +1,43 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
{END FOR}
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>Your <b>current</b> vHost:
|
||||
{IF EXISTS VHOST}
|
||||
{VHOST}
|
||||
{ELSE}
|
||||
<b>None</b>
|
||||
{END IF}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{IF EXISTS CAN_REQUEST}
|
||||
{IF EXISTS VHOST}
|
||||
<b>Request a new vHost</b>
|
||||
{ELSE}
|
||||
<b>Request a vHost</b>
|
||||
{END IF}
|
||||
<form method="post" action="/hostserv/request">
|
||||
<input name="req">
|
||||
<input type="submit" value="Request">
|
||||
</form>
|
||||
{ELSE}
|
||||
vHost requests are disabled on this network.
|
||||
{END IF}
|
||||
{FOR M IN MESSAGES}
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
<h2>vHost Information</h2>
|
||||
<table id="tableInfo" class="table table-hover">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Your current vHost:</td>
|
||||
<td>
|
||||
{IF EXISTS VHOST}
|
||||
{VHOST}
|
||||
{ELSE}
|
||||
<em>None</em>
|
||||
{END IF}
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
{IF EXISTS CAN_REQUEST}
|
||||
<tr>
|
||||
<td>
|
||||
{IF EXISTS VHOST}
|
||||
Request a new vHost
|
||||
{ELSE}
|
||||
Request a vHost
|
||||
{END IF}
|
||||
</td>
|
||||
<form method="post" action="/hostserv/request">
|
||||
<td><input class="form-control" name="req"></td>
|
||||
<td><button type="submit" class="btn btn-primary">Request</button></td>
|
||||
</form>
|
||||
</tr>
|
||||
{ELSE}
|
||||
<tr>
|
||||
<td colspan="2" class="text-center"><strong>vHost requests are disabled on this network.</strong></td>
|
||||
</tr>
|
||||
{END IF}
|
||||
</tbody>
|
||||
</table>
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,47 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="master">
|
||||
<div class="header">
|
||||
<div class="loggedinas"><a href="/register">Register</a></div>
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 7]> <html lang="en" class="ie7"> <![endif]-->
|
||||
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
|
||||
<!--[if !IE]><!-->
|
||||
<html lang="en">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="frontPages" class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-4 col-lg-4">
|
||||
<a href="/">
|
||||
<img src="http://www.geniusdex.net/anope/anope.svg" class="img-responsive" width="370">
|
||||
</a>
|
||||
<h1 class="form-signin-heading">Login <small>to continue</small></h1>
|
||||
|
||||
{IF EXISTS INVALID_LOGIN}
|
||||
<div class="alert alert-danger">
|
||||
{INVALID_LOGIN}
|
||||
</div>
|
||||
{END IF}
|
||||
|
||||
<form class="form-horizontal form-signin" action="/" method="post">
|
||||
<input type="text" name="username" class="form-control" placeholder="Username" required="required" autofocus
|
||||
style="margin-bottom: -1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0;">
|
||||
<input type="password" name="password" class="form-control" placeholder="Password" required="required"
|
||||
style="margin-bottom: 10px; border-top-left-radius: 0; border-top-right-radius: 0;">
|
||||
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
|
||||
<a class="btn btn-lg btn-warning btn-block" href="/register">Register</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-3 col-lg-6">
|
||||
<div class="footer text-center">
|
||||
Anope IRC Services - © 2013 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<img src="static/logo.png"/>
|
||||
<br>
|
||||
<h2>Login</h2>
|
||||
{INVALID_LOGIN}<br>
|
||||
Login to continue.
|
||||
<br>
|
||||
<form action="/" method="post">
|
||||
<table>
|
||||
<tr>
|
||||
<td><div align="right">Username:</div></td>
|
||||
<td><div align="left"><input name="username"/></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div align="right">Password:</div></td>
|
||||
<td><div align="left"><input name="password" type="password"/></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><div align="left"><input type="submit" value="Login"/></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
Anope IRC Services - © 2012 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,69 +1,103 @@
|
||||
{INCLUDE header.html}
|
||||
<b>Channels you have access in:</b><br/>
|
||||
{FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES}
|
||||
<a href="/memoserv/memos?channel={ECH}" class="channel">{CH}</a>
|
||||
{END FOR}
|
||||
<br/><br/>
|
||||
{FOR M IN MESSAGES}
|
||||
{M}</br>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
<br/>
|
||||
|
||||
{IF EXISTS NUMBER}
|
||||
<script type="text/javascript">
|
||||
$("#memoTable").ready(function() \{
|
||||
<script>
|
||||
$("#tableInfoMemos").ready(function() \{
|
||||
$(".reply").click(function(e) \{
|
||||
e.preventDefault();
|
||||
var recv = $(this).attr('href');
|
||||
$("#receiver").val(recv);
|
||||
$("#message").focus();
|
||||
\});
|
||||
\});
|
||||
</script>
|
||||
<b>Memos List:</b>
|
||||
<table width="100%" height="100%" id="memoTable">
|
||||
<tr>
|
||||
<th class="akillR1">Number</th>
|
||||
<th class="akillR3">Sender</th>
|
||||
<th class="akillR2">Time/Message</th>
|
||||
</tr>
|
||||
{FOR I,S,T,TXT,U IN NUMBER,SENDER,TIME,TEXT,UNREAD}
|
||||
{IF EQ U YES}
|
||||
<tr class="read">
|
||||
{ELSE}
|
||||
<tr class="unread">
|
||||
{END IF}
|
||||
<td class="akillR1">{I}</td>
|
||||
<td class="akillR3">{S}</td>
|
||||
<td class="akillR2"><abbr title="{T}">{TXT}</abbr></td>
|
||||
</tr>
|
||||
{IF EQ U YES}
|
||||
<tr class="read">
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="right"><a href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&read=1">Mark as Read</a>
|
||||
<a href="{S}" class="reply" id="memo{I}">Reply</a>
|
||||
<a href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&del=1">Delete</a></td>
|
||||
{ELSE}
|
||||
<tr class="unread">
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td class="right"><a href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&read=2">Mark as Unread</a>
|
||||
<a href="{S}" class="reply" id="memo{I}">Reply</a>
|
||||
<a href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&del=1">Delete</a></td>
|
||||
{END IF}
|
||||
|
||||
</tr>
|
||||
<script>
|
||||
$(function () \{
|
||||
$('.table tbody tr td abbr').popover();
|
||||
\});
|
||||
</script>
|
||||
|
||||
<h2>Memos List</h2>
|
||||
<table id="tableInfoMemos" class="table table-hover">
|
||||
<thead>
|
||||
<th>Number</th>
|
||||
<th>Sender</th>
|
||||
<th>Message <small>(hover: Time)</small></th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{FOR I,S,T,TXT,U IN NUMBER,SENDER,TIME,TEXT,UNREAD}
|
||||
{IF EQ U YES}
|
||||
<tr class="read">
|
||||
{ELSE}
|
||||
<tr class="unread">
|
||||
{END IF}
|
||||
<td>{I}</td>
|
||||
<td>{S}</td>
|
||||
<td><abbr data-container="body" data-trigger="hover" data-placement="top" data-content="{T}">{TXT}</abbr></td>
|
||||
<td style="text-align: right;" nowrap="nowrap">
|
||||
{IF EQ U YES}
|
||||
<a class="label label-success reply" href="{S}" id="memo{I}">Reply</a>
|
||||
<a class="label label-warning" href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&read=1">Mark as Read</a>
|
||||
<a class="label label-danger" href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&del=1">Delete</a>
|
||||
{ELSE}
|
||||
<a class="label label-success reply" href="{S}" id="memo{I}">Reply</a>
|
||||
<a class="label label-warning" href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&read=2">Mark as Unread</a>
|
||||
<a class="label label-danger" href="/memoserv/memos?channel={ESCAPED_CHANNEL_NAME}&number={I}&del=1">Delete</a>
|
||||
{END IF}
|
||||
</td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
{ELSE}
|
||||
<b>No memos to show.</b>
|
||||
<em>No memos to show.</em>
|
||||
{END IF}
|
||||
|
||||
<br/><br/>
|
||||
<hr>
|
||||
|
||||
<b>Send a new Memo</b>
|
||||
<form method="post" action="/memoserv/memos?channel={ESCAPED_CHANNEL}">
|
||||
Receiver: <input type="text" name="receiver" id="receiver" value="">
|
||||
Message: <input type="text" name="message">
|
||||
<input type="submit" value="Send">
|
||||
</form>
|
||||
<div class="row">
|
||||
<div class="col-lg-5">
|
||||
<h4>Memos for channel</h4>
|
||||
<ul>
|
||||
{FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES}
|
||||
<li><a href="/memoserv/memos?channel={ECH}" class="channel">{CH}</a></li>
|
||||
{END FOR}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-7">
|
||||
<h4>Send a new Memo</h4>
|
||||
<form class="form-horizontal" method="post" action="/memoserv/memos?channel={ESCAPED_CHANNEL}">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="receiver">Receiver:</label>
|
||||
<div class="col-lg-10">
|
||||
<input class="form-control" type="text" name="receiver" id="receiver" placeholder="Nick or Channel" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="message">Message:</label>
|
||||
<div class="col-lg-10">
|
||||
<input class="form-control" type="text" name="message" id="message" placeholder="Your message here">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-10">
|
||||
<button type="submit" class="btn btn-primary">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{IF EXISTS CMDR}
|
||||
<div class="alert alert-info">
|
||||
{CMDR}
|
||||
</div>
|
||||
{END IF}
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,24 +1,40 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}</br>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
{IF EXISTS ACCESS}
|
||||
<b>Your access list:</b>
|
||||
<table width="100%" height="100%">
|
||||
{FOR A IN ACCESS}
|
||||
<tr>
|
||||
<td>{A}</td>
|
||||
<td><a href="/nickserv/access?mask={A}&del=1">Delete</a></td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
<h2>Nick access list</h2>
|
||||
<table id="tableNSAccess" class="table table-hover">
|
||||
<tbody>
|
||||
{FOR A IN ACCESS}
|
||||
<tr>
|
||||
<td class="col-lg-4">{A}</td>
|
||||
<td class="col-lg-8"><a href="/nickserv/access?mask={A}&del=1" class="btn btn-sm btn-danger">Delete</a></td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
{ELSE}
|
||||
<b>Your access list is empty.</b>
|
||||
{END IF}
|
||||
<br/><br/>
|
||||
<b>Add an access entry:</b>
|
||||
<form method="post" action="/nickserv/access">
|
||||
<input name="access">
|
||||
<input type="submit" value="Add">
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Add an access entry</h4>
|
||||
<form class="form-horizontal" method="post" action="/nickserv/access">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="message">Hostmask:</label>
|
||||
<div class="col-lg-5">
|
||||
<input class="form-control" type="text" name="message" id="message" placeholder="Your message here">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-5">
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
{INCLUDE header.html}
|
||||
<table>
|
||||
<tr>
|
||||
<th>Number</th>
|
||||
<th>Channel</th>
|
||||
<th>Access</th>
|
||||
</tr>
|
||||
{FOR N,C,A IN NUMBERS,CHANNELS,ACCESSES}
|
||||
<tr>
|
||||
<td>{N}</td>
|
||||
<td>{C}</td>
|
||||
<td>{A}</td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</table>
|
||||
<h2>Channel access list</h2>
|
||||
<table id="tableInfoNorm" class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Number</th>
|
||||
<th>Channel</th>
|
||||
<th>Access</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{FOR N,C,A IN NUMBERS,CHANNELS,ACCESSES}
|
||||
<tr>
|
||||
<td>{N}</td>
|
||||
<td>{C}</td>
|
||||
<td>{A}</td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,19 +1,36 @@
|
||||
{INCLUDE header.html}
|
||||
{FOR M IN MESSAGES}
|
||||
{M}</br>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
<b>Your certificate finrgerprints:</b>
|
||||
<table width="100%" height="100%">
|
||||
|
||||
<b>Your certificate finrgerprints</b>
|
||||
<table id="tableNSAccess" class="table table-hover">
|
||||
<tbody>
|
||||
{FOR CERT IN CERTS}
|
||||
<tr>
|
||||
<td>{CERT}</td>
|
||||
<td><a href="/nickserv/cert?mask={CERT}&del=1">Delete</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{CERT}</td>
|
||||
<td><a href="/nickserv/cert?mask={CERT}&del=1" class="btn btn-sm btn-danger">Delete</a></td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</tbody>
|
||||
</table>
|
||||
<b>Add an certificate fingerprint</b>
|
||||
<form method="post" action="/nickserv/cert">
|
||||
<input name="certfp">
|
||||
<input type="submit" value="Add">
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Add an certificate fingerprint</h4>
|
||||
<form class="form-horizontal" method="post" action="/nickserv/cert">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="certfp">Certificate:</label>
|
||||
<div class="col-lg-5">
|
||||
<input class="form-control" type="text" name="certfp" id="certfp" placeholder="Your certificate">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-5">
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,82 +1,74 @@
|
||||
{INCLUDE header.html}
|
||||
{IF EXISTS ERRORS}
|
||||
{FOR M IN ERRORS}
|
||||
{M}<br/>
|
||||
<div class="alert alert-danger">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
{END IF}
|
||||
|
||||
{IF EXISTS MESSAGES}
|
||||
<div class="alert alert-info">
|
||||
{FOR M IN MESSAGES}
|
||||
{M}<br/>
|
||||
{M}<br>
|
||||
{END FOR}
|
||||
<b>Your account information:</b>
|
||||
<form method="post" action="/nickserv/info">
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>Account:</td>
|
||||
<td>{DISPLAY}</td>
|
||||
</tr>
|
||||
{IF EXISTS EMAIL}
|
||||
<tr>
|
||||
<td>EMail</td>
|
||||
<td>{EMAIL}</td>
|
||||
</tr>
|
||||
{END IF}
|
||||
<tr>
|
||||
<td>Time registered</td>
|
||||
<td>{TIME_REGISTERED}</td>
|
||||
</tr>
|
||||
{IF EXISTS VHOST}
|
||||
<tr>
|
||||
<td>Vhost</td>
|
||||
<td>{VHOST}</td>
|
||||
</tr>
|
||||
{END IF}
|
||||
<tr>
|
||||
<td>Greet</td>
|
||||
<td><input name="greet" value="{GREET}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Auto op</td>
|
||||
{IF EXISTS AUTOOP}
|
||||
<td><input type="checkbox" name="autoop" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="autoop" value="on"></td>
|
||||
</div>
|
||||
{END IF}
|
||||
|
||||
<h2>Your account information:</h2>
|
||||
<form method="post" action="/nickserv/info">
|
||||
<table id="tableInfo" class="table table-hover">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Account:</td>
|
||||
<td>{DISPLAY}</td>
|
||||
</tr>
|
||||
{IF EXISTS EMAIL}
|
||||
<tr>
|
||||
<td>E-mail:</td>
|
||||
<td>{EMAIL}</td>
|
||||
</tr>
|
||||
{END IF}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Private</td>
|
||||
{IF EXISTS PRIVATE}
|
||||
<td><input type="checkbox" name="private" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="private" value="on"></td>
|
||||
<tr>
|
||||
<td>Time registered:</td>
|
||||
<td>{TIME_REGISTERED}</td>
|
||||
</tr>
|
||||
{IF EXISTS VHOST}
|
||||
<tr>
|
||||
<td>Vhost:</td>
|
||||
<td>{VHOST}</td>
|
||||
</tr>
|
||||
{END IF}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Secure</td>
|
||||
{IF EXISTS SECURE}
|
||||
<td><input type="checkbox" name="secure" value="on" checked></td>
|
||||
{ELSE}
|
||||
<td><input type="checkbox" name="secure" value="on"></td>
|
||||
{END IF}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kill</td>
|
||||
<td><select name="kill">
|
||||
{IF EXISTS KILL_ON}
|
||||
<option value="on" selected>On</option>
|
||||
{ELSE}
|
||||
<option value="on">On</option>
|
||||
{END IF}
|
||||
{IF EXISTS KILL_QUICK}
|
||||
<option value="quick" selected>Quick</option>
|
||||
{ELSE}
|
||||
<option value="quick">Quick</option>
|
||||
{END IF}
|
||||
{IF EXISTS KILL_OFF}
|
||||
<option value="off" selected>Off</option>
|
||||
{ELSE}
|
||||
<option value="off">Off</option>
|
||||
{END IF}
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Greet:</td>
|
||||
<td><input name="greet" value="{GREET}" class="form-control input-sm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Auto op:</td>
|
||||
<td><input type="checkbox" name="autoop" value="on" {IF EXISTS AUTOOP}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Private:</td>
|
||||
<td><input type="checkbox" name="private" value="on" {IF EXISTS PRIVATE}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Secure:</td>
|
||||
<td><input type="checkbox" name="secure" value="on" {IF EXISTS SECURE}checked{END IF}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kill:</td>
|
||||
<td>
|
||||
<select name="kill" class="form-control input-sm">
|
||||
<option value="on" {IF EXISTS KILL_ON}selected{END IF}>On</option>
|
||||
<option value="quick" {IF EXISTS KILL_QUICK}selected{END IF}>Quick</option>
|
||||
<option value="off" {IF EXISTS KILL_OFF}selected{END IF}>Off</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="submit" value="Save">
|
||||
</form>
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-lg btn-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,49 +1,71 @@
|
||||
{INCLUDE header.html}
|
||||
{IF EXISTS NOACCESS}
|
||||
<b>Access denied.</b>
|
||||
{ELSE}
|
||||
{IF EXISTS NOACCESS}
|
||||
<h2>Access denied.</h2>
|
||||
{ELSE}
|
||||
|
||||
{FOR M IN MESSAGES}
|
||||
{M}</br>
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
</br><b>AKILL List:</b>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td class="akillR1">Number</td>
|
||||
<td class="akillR2">Hostmask</td>
|
||||
<td class="akillR2">Expires</td>
|
||||
<td class="akillR2">Setter</td>
|
||||
<td class="akillR3"/>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="scroll">
|
||||
<table>
|
||||
|
||||
<script>
|
||||
$(function () \{
|
||||
$('.table tbody tr td abbr').popover();
|
||||
\});
|
||||
</script>
|
||||
|
||||
<h2>AKILL List</h2>
|
||||
<table id="tableNSAccess" class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Number</th>
|
||||
<th>Hostmask <small>(hover: Reason)</small></th>
|
||||
<th>Expires <small>(hover: Set Date)</small></th>
|
||||
<th>Setter</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{FOR N,H,S,T,E,R IN NUMBER,HOST,SETTER,TIME,EXPIRE,REASON}
|
||||
<tr>
|
||||
<td class="akillR1">{N}</td>
|
||||
<td class="akillR2"><abbr class="akillR2" title="{R}">{H}</abbr></td>
|
||||
<td class="akillR2"><abbr class="akillR2" title="{T}">{E}</abbr></td>
|
||||
<td class="akillR2">{S}</td>
|
||||
<td class="akillR3"><a href="/operserv/akill?&number={N}&del=1">Delete</a></td>
|
||||
<td>{N}</td>
|
||||
<td><abbr data-container="body" data-trigger="hover" data-placement="top" data-content="{R}">{H}</abbr></td>
|
||||
<td><abbr data-container="body" data-trigger="hover" data-placement="top" data-content="{T}">{E}</abbr></td>
|
||||
<td>{S}</td>
|
||||
<td><a href="/operserv/akill?&number={N}&del=1" class="btn btn-sm btn-danger">Delete</a></td>
|
||||
</tr>
|
||||
{END FOR}
|
||||
</table></br>
|
||||
</div>
|
||||
<b>Add a new AKILL</b>
|
||||
<form method="post" action="/operserv/akill">
|
||||
<table width="100%" height="100%" align="left">
|
||||
<tr>
|
||||
<th align="left">HostMask</th>
|
||||
<th align="left">Expiry</th>
|
||||
<th align="left">Reason</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="mask"></td>
|
||||
<td><input type="text" name="expiry"></td>
|
||||
<td><input type="text" name="reason"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="send">
|
||||
</form>
|
||||
{END IF}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Add a new AKILL</h4>
|
||||
<form class="form-horizontal" method="post" action="/operserv/akill">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="mask">HostMask:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="mask" id="mask" placeholder="Valid HostMask">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="expiry">Expiry:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="expiry" id="expiry" placeholder="Expire time">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="reason">Message:</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control" type="text" name="reason" id="reason" placeholder="Reason for AKILL">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-6">
|
||||
<button type="submit" class="btn btn-primary">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{END IF}
|
||||
{INCLUDE footer.html}
|
||||
|
||||
@@ -1,51 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="master">
|
||||
<div class="header">
|
||||
<div class="loggedinas"><a href="/">Home</a></div>
|
||||
</div>
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<img src="static/logo.png"/>
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 7]> <html lang="en" class="ie7"> <![endif]-->
|
||||
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
|
||||
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
|
||||
<!--[if !IE]><!-->
|
||||
<html lang="en">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/static/style.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
|
||||
<title>{TITLE}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="frontPages" class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-4 col-lg-4">
|
||||
<a href="/"><img src="http://www.geniusdex.net/anope/anope.svg" class="img-responsive" width="370"></a>
|
||||
<a href="/" class="btn btn-lg btn-default btn-block">Back Home</a>
|
||||
|
||||
<h1 class="form-signin-heading">Register</h1>
|
||||
|
||||
{IF EXISTS MESSAGES}
|
||||
<div class="alert alert-danger">
|
||||
{MESSAGES}
|
||||
<br>
|
||||
<h2>Register</h2>
|
||||
<br>
|
||||
Fill out the following form to register.
|
||||
<form action="/confirm" method="post">
|
||||
<table>
|
||||
<tr>
|
||||
<td><div align="right">Username:</div></td>
|
||||
<td><div align="left"><input name="username"/></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div align="right">Password:</div></td>
|
||||
<td><div align="left"><input name="password" type="password"/></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div align="right">Email</div></td>
|
||||
<td><div align="left"><input type="{EMAIL_TYPE}" name="email"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><div align="left"><input type="submit" value="Register"/></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
Anope IRC Services - © 2012 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
{END IF}
|
||||
|
||||
<form class="form-horizontal form-signin" action="/confirm" method="post">
|
||||
<input type="text" name="username" class="form-control" placeholder="Username" required="required" autofocus
|
||||
style="margin-bottom: -1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0;">
|
||||
<input type="password" name="password" class="form-control" placeholder="Password" required="required"
|
||||
style="margin-bottom: -1px; border-radius: 0;">
|
||||
<input type="email" name="email" class="form-control" placeholder="Email"
|
||||
style="margin-bottom: 10px; border-top-left-radius: 0; border-top-right-radius: 0;">
|
||||
<button class="btn btn-lg btn-warning btn-block" type="submit">Register</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-3 col-lg-6">
|
||||
<div class="footer text-center">
|
||||
Anope IRC Services - © 2013 Anope Team - <a href="http://anope.org">http://anope.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,204 +1,127 @@
|
||||
html {
|
||||
font-family: 'Cabin', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
body {
|
||||
overflow:hidden;
|
||||
z-index: 10;
|
||||
}
|
||||
.master {
|
||||
margin-left:0px;
|
||||
margin-right:0px;
|
||||
height:100%;
|
||||
background: #FFF;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
overflow: hidden;
|
||||
}
|
||||
.header {
|
||||
height: 33px;
|
||||
padding-left: 5px;
|
||||
width: auto;
|
||||
background: #EEE;
|
||||
border-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
.sidebar {
|
||||
width: 185px;
|
||||
background: #EEE;
|
||||
height: 500px;
|
||||
border-width: 1px;
|
||||
border-right-style: solid;
|
||||
padding-top:15px;
|
||||
padding-left:15px;
|
||||
}
|
||||
|
||||
.loggedinas {
|
||||
right:15px;
|
||||
top:15px;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
#button {
|
||||
padding: 0;
|
||||
height:30px;
|
||||
margin: 0px;
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
#button li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#button li a {
|
||||
font-family: Arial;
|
||||
font-size:11px;
|
||||
text-decoration: none;
|
||||
float:left;
|
||||
padding: 10px;
|
||||
background-color: #EEE;
|
||||
height:13px;
|
||||
color: #000;
|
||||
}
|
||||
#button li a:hover {
|
||||
background-color: #A8BEE3;
|
||||
padding-bottom:10px;
|
||||
}
|
||||
#a.current {
|
||||
color:navy;
|
||||
}
|
||||
|
||||
.content {
|
||||
left:220px;
|
||||
top:50px;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
text-align:center;
|
||||
height: 30px;
|
||||
width:100%;
|
||||
background: #FFF;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sidenav {
|
||||
list-style-type: none;
|
||||
background: #EEE
|
||||
}
|
||||
|
||||
.sidenav a {
|
||||
color:black;
|
||||
text-decoration:none;
|
||||
}
|
||||
.sidenav a:hover{
|
||||
color:black;
|
||||
background:#FFF;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.scroll {
|
||||
overflow-x: scroll;
|
||||
height: 125px;
|
||||
}
|
||||
|
||||
.cinfo {
|
||||
overflow-x: scroll;
|
||||
height: 450px;
|
||||
}
|
||||
|
||||
.right {
|
||||
text-align: right;
|
||||
}
|
||||
/* Table Stuff */
|
||||
.akillR1 {
|
||||
width: 80px;
|
||||
text-align: left;
|
||||
}
|
||||
.akillR2 {
|
||||
width: 250px;
|
||||
text-align: left;
|
||||
}
|
||||
.akillR3 {
|
||||
width: 100px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td.right a:link, td.right a:visited {
|
||||
color: #000;
|
||||
background-color: #FFF;
|
||||
border: 1px solid #000;
|
||||
padding: 0px 4px;
|
||||
-webkit-border-radius: 5x;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
td.right a:hover {
|
||||
color: #00F;
|
||||
}
|
||||
|
||||
table#memoTable {
|
||||
border-spacing: 0px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table#memoTable tr {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
tr.read {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
tr.unread {
|
||||
background-color: #EEE;
|
||||
}
|
||||
|
||||
tr.read td, tr.unread td {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* Modal Window */
|
||||
#mask {
|
||||
position: absolute;
|
||||
z-index: 9000;
|
||||
background-color: #000;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#boxes .window {
|
||||
position:fixed;
|
||||
width:440px;
|
||||
height:200px;
|
||||
display:none;
|
||||
z-index:9999;
|
||||
padding:20px;
|
||||
}
|
||||
|
||||
#boxes #dialog {
|
||||
text-align: center;
|
||||
background-color: #FFF;
|
||||
width:375px;
|
||||
height:203px;
|
||||
padding: 20px;
|
||||
-webkit-border-radius: 15px;
|
||||
border-radius: 15px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#dialogClose {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#dialogClose a:link, #dialogClose a:visited {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#dialogClose a:hover {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400);
|
||||
|
||||
*, html, body, h1, h2, h3, h4, div, p, span, a, button {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
body {
|
||||
background-color: #eee;
|
||||
background-image: url('http://politeia.in/assets/img/bg/cubes.png');
|
||||
}
|
||||
|
||||
/* RANDOM STUFF */
|
||||
#frontPages {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
h4 {
|
||||
margin-top: 30px;
|
||||
}
|
||||
.popover {
|
||||
max-width: 450px;
|
||||
-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
|
||||
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
/* LOGIN FORM */
|
||||
.form-signin .form-signin-heading, .form-signin .checkbox {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.form-signin .checkbox {
|
||||
font-weight: normal;
|
||||
}
|
||||
.form-signin .form-control {
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
height: auto;
|
||||
padding: 10px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.form-signin .form-control:focus {
|
||||
z-index: 2;
|
||||
}
|
||||
/* FOOTER */
|
||||
.footer {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* Control Panel */
|
||||
#loggedIn {
|
||||
margin: 15px 15px 0 0;
|
||||
}
|
||||
|
||||
#navPanel {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.table thead > tr:first-child > th, .table tbody > tr:first-child > th, .table tfoot > tr:first-child > th, .table thead > tr:first-child > td, .table tbody > tr:first-child > td, .table tfoot > tr:first-child > td {
|
||||
vertical-align: top;
|
||||
border-top: 0;
|
||||
}
|
||||
#tableInfo td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
#tableInfo td:first-child {
|
||||
font-weight: bold;
|
||||
padding-right: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#tableInfoNorm td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
#tableInfoNorm td:first-child {
|
||||
font-weight: bold;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#tableInfoMemos td {
|
||||
vertical-align: top;
|
||||
}
|
||||
#tableInfoMemos td:first-child {
|
||||
font-weight: bold;
|
||||
padding-right: 10px;
|
||||
}
|
||||
#tableInfoMemos th small {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#tableNSAccess td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
#tableNSAccess td:first-child {
|
||||
padding-right: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
#tableNSAccess td:last-child {
|
||||
padding-right: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
#tableNSAccess th small {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* NAVBAR */
|
||||
.navbar, .well {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
-webkit-box-shadow: 0 8px 6px -8px black;
|
||||
-moz-box-shadow: 0 8px 6px -8px black;
|
||||
box-shadow: 0 8px 6px -8px black;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > li > a {
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
|
||||
color: #333333;
|
||||
border-bottom: 3px solid #0082D9;
|
||||
margin-bottom: -3px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user