1
0
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:
Adam
2013-08-21 20:17:20 -07:00
19 changed files with 805 additions and 787 deletions
@@ -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 - &copy; 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 - &copy; 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 - &copy; 2013 Anope Team - <a href="http://anope.org">http://anope.org</a>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
Anope IRC Services - &copy; 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 - &copy; 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 - &copy; 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> &nbsp;
<a href="{S}" class="reply" id="memo{I}">Reply</a>&nbsp;
<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> &nbsp;
<a href="{S}" class="reply" id="memo{I}">Reply</a> &nbsp;
<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 - &copy; 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 - &copy; 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;
}