From f86dc247e521b893d134b08329e69e17ccf34e1f Mon Sep 17 00:00:00 2001 From: n0kS Phr33d0m Date: Fri, 23 Aug 2013 06:34:57 +0200 Subject: [PATCH 1/6] Redesign body of the pages. Now they have a distiguished panel heading and panel body. Also added background colour to currently selected section. --- .../extra/webcpanel/pages/operserv/akill.cpp | 2 +- .../templates/default/chanserv/access.html | 75 +++---- .../templates/default/chanserv/akick.html | 58 +++--- .../templates/default/chanserv/drop.html | 64 +++--- .../templates/default/chanserv/main.html | 19 +- .../templates/default/chanserv/set.html | 151 +++++++------- .../webcpanel/templates/default/footer.html | 2 +- .../webcpanel/templates/default/header.html | 13 +- .../templates/default/hostserv/request.html | 76 +++---- .../templates/default/memoserv/memos.html | 187 +++++++++--------- .../templates/default/nickserv/access.html | 48 ++--- .../templates/default/nickserv/alist.html | 36 ++-- .../templates/default/nickserv/cert.html | 60 +++--- .../templates/default/nickserv/info.html | 124 ++++++------ .../templates/default/operserv/akill.html | 140 ++++++------- .../webcpanel/templates/default/style.css | 44 ++++- modules/extra/webcpanel/webcpanel.h | 2 + 17 files changed, 590 insertions(+), 511 deletions(-) diff --git a/modules/extra/webcpanel/pages/operserv/akill.cpp b/modules/extra/webcpanel/pages/operserv/akill.cpp index 696dca69a..bc8ef7ee6 100644 --- a/modules/extra/webcpanel/pages/operserv/akill.cpp +++ b/modules/extra/webcpanel/pages/operserv/akill.cpp @@ -23,7 +23,7 @@ bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::st else { if (akills->GetCount() == 0) - replacements["MESSAGES"] = "No Akills to display."; + replacements["AKILLS"] = "No Akills to display."; if (message.post_data.count("mask") > 0 && message.post_data.count("expiry") > 0 && message.post_data.count("reason") > 0) { diff --git a/modules/extra/webcpanel/templates/default/chanserv/access.html b/modules/extra/webcpanel/templates/default/chanserv/access.html index e9c42c61b..5b02c068a 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/access.html +++ b/modules/extra/webcpanel/templates/default/chanserv/access.html @@ -1,12 +1,13 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
Access List
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} -

Access List

- {IF EXISTS ACCESSES} + {IF EXISTS ACCESSES} @@ -29,41 +30,41 @@ {END FOR}
- {ELSE} + {ELSE} Access list is empty. - {END IF} + {END IF} -
+
-

Add an access entry

-
-
- -
- +

Add an access entry

+ +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
- +
+
+ +
-
- - + +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/chanserv/akick.html b/modules/extra/webcpanel/templates/default/chanserv/akick.html index 819a69096..3b6a2f190 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/akick.html +++ b/modules/extra/webcpanel/templates/default/chanserv/akick.html @@ -1,12 +1,13 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
Akick List
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} -

Akick List

- {IF EXISTS MASKS} + {IF EXISTS MASKS} @@ -27,32 +28,31 @@ {END FOR}
- {ELSE} + {ELSE} Akick list is empty. - {END IF} + {END IF} -
+
-

Add an akick entry

-
-
- -
- +

Add an akick entry

+ +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
- +
+
+ +
-
- - - + +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/chanserv/drop.html b/modules/extra/webcpanel/templates/default/chanserv/drop.html index 7852bfde6..81db73167 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/drop.html +++ b/modules/extra/webcpanel/templates/default/chanserv/drop.html @@ -1,34 +1,36 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} - -

Channels you can drop

-
- {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} - {CH}
- {END FOR} -
- {IF EXISTS CHANNEL_DROP} -
-

Drop Channel {CHANNEL_DROP}?

-
- - -
- -
- -
-
-
-
- -
-
-
+
Channels you can drop
+
+ {FOR M IN MESSAGES} +
+ {M}
- {END IF} + {END FOR} + +
+ {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} + {CH}
+ {END FOR} +
+ {IF EXISTS CHANNEL_DROP} +
+

Drop Channel {CHANNEL_DROP}?

+
+ + +
+ +
+ +
+
+
+
+ +
+
+
+
+ {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 index 43eb902fb..8b88970e8 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/main.html +++ b/modules/extra/webcpanel/templates/default/chanserv/main.html @@ -1,8 +1,17 @@ {INCLUDE header.html} -

Channels you have access in

-
- {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} - {CH}
- {END FOR} +
Channels you have access in
+
+ {IF EXISTS CHANNEL_NAMES} +
+

Choose a channel to access it's Settings, Access or Akick pages.

+
    + {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} +
  • {CH}
  • + {END FOR} +
+ {ELSE} + You don't have access in any channel
+ {END IF} +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/chanserv/set.html b/modules/extra/webcpanel/templates/default/chanserv/set.html index dff390e09..0c2596dc6 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/set.html +++ b/modules/extra/webcpanel/templates/default/chanserv/set.html @@ -1,76 +1,81 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
Channel Information
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} -

Channel Information

-
- - - - - - {IF EXISTS FOUNDER} - - - - - {END IF} - {IF EXISTS SUCCESSOR} - - - - - {END IF} - - - - - - - - - {IF EXISTS LAST_TOPIC} - - - - - - - - - {END IF} - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Channel Name{CHANNEL}
Founder{FOUNDER}
Succsesor{SUCCESSOR}
Time registered{TIME_REGISTERED}
Last used{LAST_USED}
Last topic{LAST_TOPIC}
Set by{LAST_TOPIC_SETTER}
Keep topic
Peace
Private
Restricted
Secure
Secure Ops
Topic Lock
- -
+
+ + + + + + {IF EXISTS FOUNDER} + + + + + {END IF} + {IF EXISTS SUCCESSOR} + + + + + {END IF} + + + + + + + + + {IF EXISTS LAST_TOPIC} + + + + + + + + + {END IF} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Channel Name{CHANNEL}
Founder{FOUNDER}
Succsesor{SUCCESSOR}
Time registered{TIME_REGISTERED}
Last used{LAST_USED}
Last topic{LAST_TOPIC}
Set by{LAST_TOPIC_SETTER}
Keep topic
Peace
Private
Restricted
Secure
Secure Ops
Topic Lock
+
+
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/footer.html b/modules/extra/webcpanel/templates/default/footer.html index 6d224f8df..257f04288 100644 --- a/modules/extra/webcpanel/templates/default/footer.html +++ b/modules/extra/webcpanel/templates/default/footer.html @@ -2,7 +2,7 @@
-
+
diff --git a/modules/extra/webcpanel/templates/default/header.html b/modules/extra/webcpanel/templates/default/header.html index a5fe89517..613ed617a 100644 --- a/modules/extra/webcpanel/templates/default/header.html +++ b/modules/extra/webcpanel/templates/default/header.html @@ -27,11 +27,18 @@ Anope Web Control Panel - Logged in as {ACCOUNT} (Logout) + Logged in as {ACCOUNT} (Logout)
@@ -50,4 +57,4 @@
-
+
\ No newline at end of file diff --git a/modules/extra/webcpanel/templates/default/hostserv/request.html b/modules/extra/webcpanel/templates/default/hostserv/request.html index 3b2b30c7d..f557244d1 100644 --- a/modules/extra/webcpanel/templates/default/hostserv/request.html +++ b/modules/extra/webcpanel/templates/default/hostserv/request.html @@ -1,43 +1,45 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
vHost Information
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} -

vHost Information

- - - - - - - - {IF EXISTS CAN_REQUEST} - - + + + {IF EXISTS CAN_REQUEST} + + + + + + + + {ELSE} + + + + {END IF} + +
Your current vHost: - {IF EXISTS VHOST} - {VHOST} - {ELSE} - None - {END IF} -
+ + + + + - - - - - - {ELSE} - - - - {END IF} - -
Your current vHost: {IF EXISTS VHOST} - Request a new vHost + {VHOST} {ELSE} - Request a vHost + None {END IF} -
vHost requests are disabled on this network.
+
+ {IF EXISTS VHOST} + Request a new vHost + {ELSE} + Request a vHost + {END IF} +
vHost requests are disabled on this network.
+
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/memoserv/memos.html b/modules/extra/webcpanel/templates/default/memoserv/memos.html index dc82846c6..b3b54d948 100644 --- a/modules/extra/webcpanel/templates/default/memoserv/memos.html +++ b/modules/extra/webcpanel/templates/default/memoserv/memos.html @@ -1,103 +1,112 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
Memos List
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} - {IF EXISTS NUMBER} - + - + -

Memos List

- - - - - - - - - {FOR I,S,T,TXT,U IN NUMBER,SENDER,TIME,TEXT,UNREAD} - {IF EQ U YES} - - {ELSE} - - {END IF} - - - - + + + + + {END FOR} + +
NumberSenderMessage (hover: Time)
{I}{S}{TXT} + + + + + + + + + {FOR I,S,T,TXT,U IN NUMBER,SENDER,TIME,TEXT,UNREAD} {IF EQ U YES} - Reply - Mark as Read - Delete + {ELSE} - Reply - Mark as Unread - Delete + {END IF} - - - {END FOR} - -
NumberSenderMessage (hover: Time)
- {ELSE} - No memos to show. - {END IF} +
{I}{S}{TXT} + {IF EQ U YES} + Reply + Mark as Read + Delete + {ELSE} + Reply + Mark as Unread + Delete + {END IF} +
+ {ELSE} + No memos to show. + {END IF} -
+
-
-
-

Memos for channel

-
    - {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} -
  • {CH}
  • - {END FOR} -
+
+
+

Memos for channel

+ {IF EXISTS CHANNEL_NAMES} +
+
    + {FOR CH,ECH IN CHANNEL_NAMES,ESCAPED_CHANNEL_NAMES} +
  • {CH}
  • + {END FOR} +
+
+ {ELSE} + You don't have access in any channel
+ {END IF} + +
+
+

Send a new Memo

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
-
-

Send a new Memo

-
-
- -
- -
-
-
- -
- -
-
-
-
- -
-
-
-
-
- {IF EXISTS CMDR} -
- {CMDR} + {IF EXISTS CMDR} +
+ {CMDR} +
+ {END IF}
- {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 index 89a867627..c5397a4a0 100644 --- a/modules/extra/webcpanel/templates/default/nickserv/access.html +++ b/modules/extra/webcpanel/templates/default/nickserv/access.html @@ -1,12 +1,13 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} +
Nick access list
+
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} - {IF EXISTS ACCESS} -

Nick access list

+ {IF EXISTS ACCESS} {FOR A IN ACCESS} @@ -17,24 +18,25 @@ {END FOR}
- {ELSE} - Your access list is empty. - {END IF} + {ELSE} + Your access list is empty. + {END IF} -
+
-

Add an access entry

-
-
- -
- +

Add an access entry

+ +
+ +
+ +
-
-
-
- +
+
+ +
-
- + +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/nickserv/alist.html b/modules/extra/webcpanel/templates/default/nickserv/alist.html index 224f09894..f3b2e0124 100644 --- a/modules/extra/webcpanel/templates/default/nickserv/alist.html +++ b/modules/extra/webcpanel/templates/default/nickserv/alist.html @@ -1,21 +1,23 @@ {INCLUDE header.html} -

Channel access list

- - - - - - - - - - {FOR N,C,A IN NUMBERS,CHANNELS,ACCESSES} +
Channel access list
+
+
NumberChannelAccess
+ - - - + + + - {END FOR} - -
{N}{C}{A}NumberChannelAccess
+ + + {FOR N,C,A IN NUMBERS,CHANNELS,ACCESSES} + + {N} + {C} + {A} + + {END FOR} + + +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/nickserv/cert.html b/modules/extra/webcpanel/templates/default/nickserv/cert.html index 636626e2a..88c564d43 100644 --- a/modules/extra/webcpanel/templates/default/nickserv/cert.html +++ b/modules/extra/webcpanel/templates/default/nickserv/cert.html @@ -1,36 +1,38 @@ {INCLUDE header.html} - {FOR M IN MESSAGES} -
- {M}
-
- {END FOR} - - Your certificate finrgerprints - - - {FOR CERT IN CERTS} - - - - +
Your certificate finrgerprints
+
+ {FOR M IN MESSAGES} +
+ {M}
+
{END FOR} -
-
{CERT}Delete
-
+ + + {FOR CERT IN CERTS} + + + + + {END FOR} + +
{CERT}Delete
-

Add an certificate fingerprint

-
-
- -
- +
+ +

Add an certificate fingerprint

+ +
+ +
+ +
-
-
-
- +
+
+ +
-
- + +
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/nickserv/info.html b/modules/extra/webcpanel/templates/default/nickserv/info.html index 22addbf4f..667c8b370 100644 --- a/modules/extra/webcpanel/templates/default/nickserv/info.html +++ b/modules/extra/webcpanel/templates/default/nickserv/info.html @@ -1,74 +1,72 @@ {INCLUDE header.html} - {IF EXISTS ERRORS} +
Your account information
+
{FOR M IN ERRORS}
{M}
{END FOR} - {END IF} - {IF EXISTS MESSAGES} -
{FOR M IN MESSAGES} +
{M}
- {END FOR} -
- {END IF} - -

Your account information:

-
- - - - - - - {IF EXISTS EMAIL} - - - - - {END IF} - - - - - {IF EXISTS VHOST} - - - - - {END IF} - - - - - - - - - - - - - - - - - - - - - -
Account:{DISPLAY}
E-mail:{EMAIL}
Time registered:{TIME_REGISTERED}
Vhost:{VHOST}
Greet:
Auto op:
Private:
Secure:
Kill: - -
-
-
-
+ {END FOR} + +
+ + + + + + + {IF EXISTS EMAIL} + + + + + {END IF} + + + + + {IF EXISTS VHOST} + + + + + {END IF} + + + + + + + + + + + + + + + + + + + + + +
Account:{DISPLAY}
E-mail:{EMAIL}
Time registered:{TIME_REGISTERED}
Vhost:{VHOST}
Greet:
Auto op:
Private:
Secure:
Kill: + +
+
+ +
+
+
{INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/operserv/akill.html b/modules/extra/webcpanel/templates/default/operserv/akill.html index 5c25c26da..9b269a7c0 100644 --- a/modules/extra/webcpanel/templates/default/operserv/akill.html +++ b/modules/extra/webcpanel/templates/default/operserv/akill.html @@ -1,71 +1,77 @@ {INCLUDE header.html} - {IF EXISTS NOACCESS} -

Access denied.

- {ELSE} +
Akill List
+
+ {IF EXISTS NOACCESS} +

Access denied.

+ {ELSE} - {FOR M IN MESSAGES} -
- {M}
+ {FOR M IN MESSAGES} +
+ {M}
+
+ {END FOR} + + + + {IF EXISTS AKILLS} + {AKILLS} + {ELSE} + + + + + + + + + + + + {FOR N,H,S,T,E,R IN NUMBER,HOST,SETTER,TIME,EXPIRE,REASON} + + + + + + + + {END FOR} + +
NumberHostmask (hover: Reason)Expires (hover: Set Date)Setter
{N}{H}{E}{S}Delete
+ {END IF} + +
+ +

Add a new Akill

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+ {END IF}
- {END FOR} - - - -

AKILL List

- - - - - - - - - - - - {FOR N,H,S,T,E,R IN NUMBER,HOST,SETTER,TIME,EXPIRE,REASON} - - - - - - - - {END FOR} - -
NumberHostmask (hover: Reason)Expires (hover: Set Date)Setter
{N}{H}{E}{S}Delete
- -
- -

Add a new AKILL

-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- -
-
-
- {END IF} {INCLUDE footer.html} diff --git a/modules/extra/webcpanel/templates/default/style.css b/modules/extra/webcpanel/templates/default/style.css index 117cc1ecc..7c7ba533a 100644 --- a/modules/extra/webcpanel/templates/default/style.css +++ b/modules/extra/webcpanel/templates/default/style.css @@ -25,6 +25,19 @@ h4 { box-shadow: 0 1px 10px rgba(0, 0, 0, 0.8); } +.label { + font-size: 13px; + font-weight: normal; +} + +.label-info { + background-color: #4EA4EE; +} + +.label-info[href]:hover, .label-info[href]:focus { + background-color: #428BCA; +} + /* LOGIN FORM */ .form-signin .form-signin-heading, .form-signin .checkbox { margin-bottom: 10px; @@ -50,6 +63,9 @@ h4 { } /* Control Panel */ +.panel-default .panel-heading { + font-size: 24px; +} #loggedIn { margin: 15px 15px 0 0; } @@ -69,6 +85,7 @@ h4 { font-weight: bold; padding-right: 10px; text-align: right; + width: 25%; } #tableInfoNorm td { @@ -105,6 +122,10 @@ h4 { font-weight: normal; } +#channelList li { + margin-top: 10px; +} + /* NAVBAR */ .navbar, .well { background-color: white; @@ -116,12 +137,23 @@ h4 { box-shadow: 0 8px 6px -8px black; } -.navbar-default .navbar-nav > li > a { - color: #777777; +.navbar-default .nav { + margin-bottom: -1px; } -.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #333333; - border-bottom: 3px solid #0082D9; - margin-bottom: -3px; +.navbar-default .nav > li > a { + color: #428BCA; +} + +.navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus { + color: #428BCA; + border-top: 3px solid #0082D9; + margin-top: -3px; +} + +.navbar-default .nav > li.active > a, .navbar-default .nav > li.active > a:hover, .navbar-default .nav > li.active > a:focus { + color: #428BCA; + background-color: transparent; + background-color: rgba(66, 139, 202, 0.1); + border-bottom-color: transparent; } diff --git a/modules/extra/webcpanel/webcpanel.h b/modules/extra/webcpanel/webcpanel.h index 638a7c1c9..e74b6c952 100644 --- a/modules/extra/webcpanel/webcpanel.h +++ b/modules/extra/webcpanel/webcpanel.h @@ -97,6 +97,8 @@ class WebPanelProtectedPage : public WebPanelPage replacements["TITLE"] = page_title; replacements["ACCOUNT"] = na->nc->display; + replacements["PAGE_NAME"] = page_name; + replacements["CATEGORY"] = category; Anope::string sections, get; From 6f9b77e3365c216d6a60d875cb2854134c109e21 Mon Sep 17 00:00:00 2001 From: n0kS Phr33d0m Date: Fri, 23 Aug 2013 07:04:09 +0200 Subject: [PATCH 2/6] Don't use an external svg logo anymore, but a local png one. --- .../webcpanel/templates/default/confirm.html | 4 +++- .../webcpanel/templates/default/login.html | 5 ++++- .../webcpanel/templates/default/logo.png | Bin 16385 -> 19247 bytes .../webcpanel/templates/default/register.html | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/extra/webcpanel/templates/default/confirm.html b/modules/extra/webcpanel/templates/default/confirm.html index c9e609158..d2631d8bd 100644 --- a/modules/extra/webcpanel/templates/default/confirm.html +++ b/modules/extra/webcpanel/templates/default/confirm.html @@ -16,7 +16,9 @@
- + + + Back Home

Register

diff --git a/modules/extra/webcpanel/templates/default/login.html b/modules/extra/webcpanel/templates/default/login.html index 250dde1f0..27d5b78de 100644 --- a/modules/extra/webcpanel/templates/default/login.html +++ b/modules/extra/webcpanel/templates/default/login.html @@ -16,9 +16,12 @@
+ +

Login to continue

{IF EXISTS INVALID_LOGIN} diff --git a/modules/extra/webcpanel/templates/default/logo.png b/modules/extra/webcpanel/templates/default/logo.png index 1ab5546c69fb3d87026fe4abc2fdacab3188c4b6..f7c2ff92a6e3064da02bce89ee9eb59384ba2592 100644 GIT binary patch literal 19247 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

F+jPl?B#=#WBQ@24>D)4RQ>#8!`-_7JRYzZ9l!o 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%0D)NUaY`e$u@&};eI@4M0!aaL+2v`3%Bl4yH z71`s2#%nBZaa2pWH}?nBq5lT!{EQw7lIEii+UV8Pm6a|#3<4b32I zwSQxqhJr~%mM%Vr{B_HuVaH%d=oUC=NxydOaOmfGhe{PE)dYnO?;ZYIdl&HkD1|

- + + + Back Home

Register

From 5c4414e4a579e4a619cc141a9fcf4638e150c572 Mon Sep 17 00:00:00 2001 From: n0kS Phr33d0m Date: Fri, 23 Aug 2013 07:05:57 +0200 Subject: [PATCH 3/6] Removed innecessary logo width, the img-responsive will take care of that. --- modules/extra/webcpanel/templates/default/confirm.html | 2 +- modules/extra/webcpanel/templates/default/login.html | 2 -- modules/extra/webcpanel/templates/default/register.html | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/extra/webcpanel/templates/default/confirm.html b/modules/extra/webcpanel/templates/default/confirm.html index d2631d8bd..17b0f7816 100644 --- a/modules/extra/webcpanel/templates/default/confirm.html +++ b/modules/extra/webcpanel/templates/default/confirm.html @@ -17,7 +17,7 @@
- + Back Home diff --git a/modules/extra/webcpanel/templates/default/login.html b/modules/extra/webcpanel/templates/default/login.html index 27d5b78de..6a0b6d7a9 100644 --- a/modules/extra/webcpanel/templates/default/login.html +++ b/modules/extra/webcpanel/templates/default/login.html @@ -16,11 +16,9 @@
-
-

Login to continue

diff --git a/modules/extra/webcpanel/templates/default/register.html b/modules/extra/webcpanel/templates/default/register.html index 97741464c..821911b9b 100644 --- a/modules/extra/webcpanel/templates/default/register.html +++ b/modules/extra/webcpanel/templates/default/register.html @@ -17,7 +17,7 @@
- + Back Home From 2238db8338f0876c8cb5759f52d740d2cf6e1ee3 Mon Sep 17 00:00:00 2001 From: n0kS Phr33d0m Date: Fri, 23 Aug 2013 08:06:47 +0200 Subject: [PATCH 4/6] Make the navbar brand a different font to distinguish it from the rest of the navbar links. --- modules/extra/webcpanel/templates/default/header.html | 2 +- modules/extra/webcpanel/templates/default/style.css | 9 ++++++++- modules/extra/webcpanel/webcpanel.cpp | 6 ++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/extra/webcpanel/templates/default/header.html b/modules/extra/webcpanel/templates/default/header.html index 613ed617a..4ccba74ae 100644 --- a/modules/extra/webcpanel/templates/default/header.html +++ b/modules/extra/webcpanel/templates/default/header.html @@ -4,7 +4,7 @@ - + diff --git a/modules/extra/webcpanel/templates/default/style.css b/modules/extra/webcpanel/templates/default/style.css index 7c7ba533a..fa122518a 100644 --- a/modules/extra/webcpanel/templates/default/style.css +++ b/modules/extra/webcpanel/templates/default/style.css @@ -1,4 +1,5 @@ -@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400); +@import url(//fonts.googleapis.com/css?family=Open+Sans:300,400); +@import url(//fonts.googleapis.com/css?family=Port+Lligat+Slab); *, html, body, h1, h2, h3, h4, div, p, span, a, button { font-family: 'Open Sans', sans-serif; @@ -136,6 +137,12 @@ h4 { -moz-box-shadow: 0 8px 6px -8px black; box-shadow: 0 8px 6px -8px black; } +.navbar-brand { + font-size: 25px; +} +.navbar-brand, .navbar-brand small { + font-family: 'Port Lligat Slab', serif; +} .navbar-default .nav { margin-bottom: -1px; diff --git a/modules/extra/webcpanel/webcpanel.cpp b/modules/extra/webcpanel/webcpanel.cpp index f92dda579..e69d91db8 100644 --- a/modules/extra/webcpanel/webcpanel.cpp +++ b/modules/extra/webcpanel/webcpanel.cpp @@ -17,7 +17,7 @@ class ModuleWebCPanel : public Module Panel panel; PrimitiveExtensibleItem id, ip; - StaticFileServer style_css, logo_png, favicon_ico; + StaticFileServer style_css, logo_png, cubes_png, favicon_ico; WebCPanel::Index index; WebCPanel::Logout logout; @@ -45,7 +45,7 @@ class ModuleWebCPanel : public Module public: ModuleWebCPanel(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, EXTRA | VENDOR), panel(this, "webcpanel"), id(this, "webcpanel_id"), ip(this, "webcpanel_ip"), - style_css("style.css", "/static/style.css", "text/css"), logo_png("logo.png", "/static/logo.png", "image/png"), favicon_ico("favicon.ico", "/favicon.ico", "image/x-icon"), + style_css("style.css", "/static/style.css", "text/css"), logo_png("logo.png", "/static/logo.png", "image/png"), cubes_png("cubes.png", "/static/cubes.png", "image/png"), favicon_ico("favicon.ico", "/favicon.ico", "image/x-icon"), index("/"), logout("/logout"), _register("/register"), confirm("/confirm"), nickserv_info("NickServ", "/nickserv/info"), nickserv_cert("NickServ", "/nickserv/cert"), nickserv_access("NickServ", "/nickserv/access"), nickserv_alist("NickServ", "/nickserv/alist"), chanserv_info("ChanServ", "/chanserv/info"), chanserv_set("ChanServ", "/chanserv/set"), chanserv_access("ChanServ", "/chanserv/access"), chanserv_akick("ChanServ", "/chanserv/akick"), @@ -67,6 +67,7 @@ class ModuleWebCPanel : public Module provider->RegisterPage(&this->style_css); provider->RegisterPage(&this->logo_png); + provider->RegisterPage(&this->cubes_png); provider->RegisterPage(&this->favicon_ico); provider->RegisterPage(&this->index); @@ -194,6 +195,7 @@ class ModuleWebCPanel : public Module { provider->UnregisterPage(&this->style_css); provider->UnregisterPage(&this->logo_png); + provider->UnregisterPage(&this->cubes_png); provider->UnregisterPage(&this->favicon_ico); provider->UnregisterPage(&this->index); From aaa12cc018637ff0b3348d494ccc87f9e6cc0fe9 Mon Sep 17 00:00:00 2001 From: n0kS Phr33d0m Date: Fri, 23 Aug 2013 08:11:24 +0200 Subject: [PATCH 5/6] Use a local copy of the background image --- .../extra/webcpanel/templates/default/cubes.png | Bin 0 -> 723 bytes .../extra/webcpanel/templates/default/style.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 modules/extra/webcpanel/templates/default/cubes.png diff --git a/modules/extra/webcpanel/templates/default/cubes.png b/modules/extra/webcpanel/templates/default/cubes.png new file mode 100644 index 0000000000000000000000000000000000000000..d75208db7da913970c6612617de1e365b6f4b6a5 GIT binary patch literal 723 zcmV;^0xbQBP)b-r>0000UP)t-s^Yioc z^z`lR?eg;S@bK{L?CkFD?(gsK@$vEX_4NpY!%6@E0&q!0K~#9!?U#XW>o5pKuff6a z|35rYhtgzo>ZFt2n-oi1mCQZ9+<}dOayUTccraBgQgNAqDk1_@p{B6s>lp@C05vWK ztTca^(2_6_G~sjC8g!6V$Cq!n7ZVasaKKR_=e8U}PrnHa{GLDIE#e=cz$k zV1^8{mp#EBlactylK}(pl|=bX%{6H}V8BzeMhV(M?Z?C|!@5e&YA!av2Nj^$cHc1n zF&r`q&?NUlX!vw?Uq@&MT|65yCIRr-8Ks#sml=i9$?J@aQ}H*^R-W0>DCDqm)ppM)Y++ak5Uv9k<#r_6|Zfa0tUXr=5XqA|n?23L}XajQ3G z=?P?pd%W3oeUh_l5${Yjg|tKr4DXk!sO6KREq(f;n-9+ z9QMcjACd)$_e)G zgbvGew(4E`@qXGUtbb;Lo!-~MmE67+fYWC~TC+%F zH{Gr<&=Z Date: Fri, 23 Aug 2013 08:42:45 +0200 Subject: [PATCH 6/6] Fixed an incorrect layout, a couple of typos and a wrong form action --- .../templates/default/chanserv/drop.html | 2 +- .../webcpanel/templates/default/footer.html | 3 +- .../webcpanel/templates/default/header.html | 36 +++++++++---------- .../templates/default/nickserv/cert.html | 4 +-- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/modules/extra/webcpanel/templates/default/chanserv/drop.html b/modules/extra/webcpanel/templates/default/chanserv/drop.html index 81db73167..1b7e788d0 100644 --- a/modules/extra/webcpanel/templates/default/chanserv/drop.html +++ b/modules/extra/webcpanel/templates/default/chanserv/drop.html @@ -15,7 +15,7 @@ {IF EXISTS CHANNEL_DROP}

Drop Channel {CHANNEL_DROP}?

-
+
diff --git a/modules/extra/webcpanel/templates/default/footer.html b/modules/extra/webcpanel/templates/default/footer.html index 257f04288..57794a9ff 100644 --- a/modules/extra/webcpanel/templates/default/footer.html +++ b/modules/extra/webcpanel/templates/default/footer.html @@ -1,4 +1,5 @@ -
+
+
diff --git a/modules/extra/webcpanel/templates/default/header.html b/modules/extra/webcpanel/templates/default/header.html index 4ccba74ae..60c324ceb 100644 --- a/modules/extra/webcpanel/templates/default/header.html +++ b/modules/extra/webcpanel/templates/default/header.html @@ -22,25 +22,23 @@
-
- +
diff --git a/modules/extra/webcpanel/templates/default/nickserv/cert.html b/modules/extra/webcpanel/templates/default/nickserv/cert.html index 88c564d43..dcbf68818 100644 --- a/modules/extra/webcpanel/templates/default/nickserv/cert.html +++ b/modules/extra/webcpanel/templates/default/nickserv/cert.html @@ -1,5 +1,5 @@ {INCLUDE header.html} -
Your certificate finrgerprints
+
Your certificate fingerprints
{FOR M IN MESSAGES}
@@ -20,7 +20,7 @@
-

Add an certificate fingerprint

+

Add a certificate fingerprint