summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/extra/webcpanel/templates/default/chanserv/access.html69
-rw-r--r--modules/extra/webcpanel/templates/default/chanserv/akick.html58
-rw-r--r--modules/extra/webcpanel/templates/default/chanserv/drop.html34
-rw-r--r--modules/extra/webcpanel/templates/default/chanserv/main.html8
-rw-r--r--modules/extra/webcpanel/templates/default/chanserv/set.html76
-rw-r--r--modules/extra/webcpanel/templates/default/confirm.html47
-rw-r--r--modules/extra/webcpanel/templates/default/favicon.icobin0 -> 3774 bytes
-rw-r--r--modules/extra/webcpanel/templates/default/footer.html13
-rw-r--r--modules/extra/webcpanel/templates/default/header.html53
-rw-r--r--modules/extra/webcpanel/templates/default/hostserv/request.html43
-rw-r--r--modules/extra/webcpanel/templates/default/login.html54
-rw-r--r--modules/extra/webcpanel/templates/default/logo.pngbin0 -> 16385 bytes
-rw-r--r--modules/extra/webcpanel/templates/default/memoserv/memos.html103
-rw-r--r--modules/extra/webcpanel/templates/default/nickserv/access.html40
-rw-r--r--modules/extra/webcpanel/templates/default/nickserv/alist.html21
-rw-r--r--modules/extra/webcpanel/templates/default/nickserv/cert.html36
-rw-r--r--modules/extra/webcpanel/templates/default/nickserv/info.html74
-rw-r--r--modules/extra/webcpanel/templates/default/operserv/akill.html71
-rw-r--r--modules/extra/webcpanel/templates/default/register.html55
-rw-r--r--modules/extra/webcpanel/templates/default/style.css133
20 files changed, 988 insertions, 0 deletions
diff --git a/modules/extra/webcpanel/templates/default/chanserv/access.html b/modules/extra/webcpanel/templates/default/chanserv/access.html
new file mode 100644
index 000000000..334101905
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/chanserv/access.html
@@ -0,0 +1,69 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <h2>Access List</h2>
+ {IF EXISTS ACCESSES}
+ <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 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" class="btn btn-sm btn-danger">Delete</a></td>
+ {END IF}
+ </tr>
+ {END FOR}
+ </tbody>
+ </table>
+ {ELSE}
+ <em>Access list is empty.</em>
+ {END IF}
+
+ <hr>
+
+ <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="Expire time">
+ </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}
diff --git a/modules/extra/webcpanel/templates/default/chanserv/akick.html b/modules/extra/webcpanel/templates/default/chanserv/akick.html
new file mode 100644
index 000000000..819a69096
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/chanserv/akick.html
@@ -0,0 +1,58 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <h2>Akick List</h2>
+ {IF EXISTS MASKS}
+ <table id="tableNSAccess" class="table table-hover">
+ <thead>
+ <tr>
+ <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>{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}
+ <em>Akick list is empty.</em>
+ {END IF}
+
+ <hr>
+
+ <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}
diff --git a/modules/extra/webcpanel/templates/default/chanserv/drop.html b/modules/extra/webcpanel/templates/default/chanserv/drop.html
new file mode 100644
index 000000000..7852bfde6
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/chanserv/drop.html
@@ -0,0 +1,34 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <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} \ No newline at end of file
diff --git a/modules/extra/webcpanel/templates/default/chanserv/main.html b/modules/extra/webcpanel/templates/default/chanserv/main.html
new file mode 100644
index 000000000..43eb902fb
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/chanserv/main.html
@@ -0,0 +1,8 @@
+{INCLUDE header.html}
+ <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>
+ {END FOR}
+ </div>
+{INCLUDE footer.html}
diff --git a/modules/extra/webcpanel/templates/default/chanserv/set.html b/modules/extra/webcpanel/templates/default/chanserv/set.html
new file mode 100644
index 000000000..dff390e09
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/chanserv/set.html
@@ -0,0 +1,76 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <h2>Channel Information</h2>
+ <form method="post" action="/chanserv/set?channel={CHANNEL_ESCAPED}">
+ <table id="tableInfo" class="table table-hover">
+ <tr>
+ <td>Channel Name</td>
+ <td>{CHANNEL}</td>
+ </tr>
+ {IF EXISTS FOUNDER}
+ <tr>
+ <td>Founder</td>
+ <td>{FOUNDER}</td>
+ </tr>
+ {END IF}
+ {IF EXISTS SUCCESSOR}
+ <tr>
+ <td>Succsesor</td>
+ <td>{SUCCESSOR}</td>
+ </tr>
+ {END IF}
+ <tr>
+ <td>Time registered</td>
+ <td>{TIME_REGISTERED}</td>
+ </tr>
+ <tr>
+ <td>Last used</td>
+ <td>{LAST_USED}</td>
+ </tr>
+ {IF EXISTS LAST_TOPIC}
+ <tr>
+ <td>Last topic</td>
+ <td>{LAST_TOPIC}</td>
+ </tr>
+ <tr>
+ <td>Set by</td>
+ <td>{LAST_TOPIC_SETTER}</td>
+ </tr>
+ {END IF}
+ <tr>
+ <td>Keep topic</td>
+ <td><input type="checkbox" name="keeptopic" value="on" {IF EXISTS KEEPTOPIC}checked{END IF}></td>
+ </tr>
+ <tr>
+ <td>Peace</td>
+ <td><input type="checkbox" name="peace" value="on" {IF EXISTS PEACE}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>Restricted</td>
+ <td><input type="checkbox" name="restricted" value="on" {IF EXISTS RESTRICTED}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>Secure Ops</td>
+ <td><input type="checkbox" name="secureops" value="on" {IF EXISTS SECUREOPS}checked{END IF}></td>
+ </tr>
+ <tr>
+ <td>Topic Lock</td>
+ <td><input type="checkbox" name="topiclock" value="on" {IF EXISTS TOPICLOCK}checked{END IF}></td>
+ </tr>
+ </table>
+ <input type="submit" value="Save">
+ </form>
+{INCLUDE footer.html}
diff --git a/modules/extra/webcpanel/templates/default/confirm.html b/modules/extra/webcpanel/templates/default/confirm.html
new file mode 100644
index 000000000..c9e609158
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/confirm.html
@@ -0,0 +1,47 @@
+<!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}
+ </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>
diff --git a/modules/extra/webcpanel/templates/default/favicon.ico b/modules/extra/webcpanel/templates/default/favicon.ico
new file mode 100644
index 000000000..be735614a
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/favicon.ico
Binary files differ
diff --git a/modules/extra/webcpanel/templates/default/footer.html b/modules/extra/webcpanel/templates/default/footer.html
new file mode 100644
index 000000000..6d224f8df
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/footer.html
@@ -0,0 +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>
+ </body>
+</html> \ No newline at end of file
diff --git a/modules/extra/webcpanel/templates/default/header.html b/modules/extra/webcpanel/templates/default/header.html
new file mode 100644
index 000000000..a5fe89517
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/header.html
@@ -0,0 +1,53 @@
+<!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" />
+
+ <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>
+
+ <!--[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]-->
+
+ <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;">
diff --git a/modules/extra/webcpanel/templates/default/hostserv/request.html b/modules/extra/webcpanel/templates/default/hostserv/request.html
new file mode 100644
index 000000000..3b2b30c7d
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/hostserv/request.html
@@ -0,0 +1,43 @@
+{INCLUDE header.html}
+ {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}
diff --git a/modules/extra/webcpanel/templates/default/login.html b/modules/extra/webcpanel/templates/default/login.html
new file mode 100644
index 000000000..250dde1f0
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/login.html
@@ -0,0 +1,54 @@
+<!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>
+
+ <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>
diff --git a/modules/extra/webcpanel/templates/default/logo.png b/modules/extra/webcpanel/templates/default/logo.png
new file mode 100644
index 000000000..1ab5546c6
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/logo.png
Binary files differ
diff --git a/modules/extra/webcpanel/templates/default/memoserv/memos.html b/modules/extra/webcpanel/templates/default/memoserv/memos.html
new file mode 100644
index 000000000..dc82846c6
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/memoserv/memos.html
@@ -0,0 +1,103 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ {IF EXISTS NUMBER}
+ <script>
+ $("#tableInfoMemos").ready(function() \{
+ $(".reply").click(function(e) \{
+ e.preventDefault();
+ var recv = $(this).attr('href');
+ $("#receiver").val(recv);
+ $("#message").focus();
+ \});
+ \});
+ </script>
+
+ <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}
+ <em>No memos to show.</em>
+ {END IF}
+
+ <hr>
+
+ <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}
diff --git a/modules/extra/webcpanel/templates/default/nickserv/access.html b/modules/extra/webcpanel/templates/default/nickserv/access.html
new file mode 100644
index 000000000..89a867627
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/nickserv/access.html
@@ -0,0 +1,40 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ {IF EXISTS ACCESS}
+ <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}
+
+ <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}
diff --git a/modules/extra/webcpanel/templates/default/nickserv/alist.html b/modules/extra/webcpanel/templates/default/nickserv/alist.html
new file mode 100644
index 000000000..224f09894
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/nickserv/alist.html
@@ -0,0 +1,21 @@
+{INCLUDE header.html}
+ <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}
diff --git a/modules/extra/webcpanel/templates/default/nickserv/cert.html b/modules/extra/webcpanel/templates/default/nickserv/cert.html
new file mode 100644
index 000000000..636626e2a
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/nickserv/cert.html
@@ -0,0 +1,36 @@
+{INCLUDE header.html}
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <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" class="btn btn-sm btn-danger">Delete</a></td>
+ </tr>
+ {END FOR}
+ </tbody>
+ </table>
+
+ <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}
diff --git a/modules/extra/webcpanel/templates/default/nickserv/info.html b/modules/extra/webcpanel/templates/default/nickserv/info.html
new file mode 100644
index 000000000..22addbf4f
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/nickserv/info.html
@@ -0,0 +1,74 @@
+{INCLUDE header.html}
+ {IF EXISTS ERRORS}
+ {FOR M IN ERRORS}
+ <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>
+ {END FOR}
+ </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>
+ <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}" 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>
+ <div class="text-center">
+ <button type="submit" class="btn btn-lg btn-primary">Save</button>
+ </div>
+ </form>
+{INCLUDE footer.html}
diff --git a/modules/extra/webcpanel/templates/default/operserv/akill.html b/modules/extra/webcpanel/templates/default/operserv/akill.html
new file mode 100644
index 000000000..5c25c26da
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/operserv/akill.html
@@ -0,0 +1,71 @@
+{INCLUDE header.html}
+ {IF EXISTS NOACCESS}
+ <h2>Access denied.</h2>
+ {ELSE}
+
+ {FOR M IN MESSAGES}
+ <div class="alert alert-info">
+ {M}<br>
+ </div>
+ {END FOR}
+
+ <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>{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}
+ </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}
diff --git a/modules/extra/webcpanel/templates/default/register.html b/modules/extra/webcpanel/templates/default/register.html
new file mode 100644
index 000000000..598d2ecff
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/register.html
@@ -0,0 +1,55 @@
+<!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}
+ </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> \ No newline at end of file
diff --git a/modules/extra/webcpanel/templates/default/style.css b/modules/extra/webcpanel/templates/default/style.css
new file mode 100644
index 000000000..a7a8a633d
--- /dev/null
+++ b/modules/extra/webcpanel/templates/default/style.css
@@ -0,0 +1,133 @@
+@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;
+ -webkit-transition: background-color .5s ease-out;
+ -moz-transition: background-color .5s ease-out;
+ -o-transition: background-color .5s ease-out;
+ transition: background-color .5s ease-out;
+}
+
+.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
+ color: #333333;
+ background-color: #4796DA;
+ background-color: rgba(66, 139, 202, 0.05);
+ border-bottom: 3px solid #0082D9;
+ margin-bottom: -3px;
+}