From 0c028fdc8d6cd56e3ed797d31b48d3a24aa2856a Mon Sep 17 00:00:00 2001
From: redray <redray@ispconfig3>
Date: Sat, 30 Mar 2013 11:20:39 -0400
Subject: [PATCH] login box: login with own login template
---
interface/web/index.php | 12 ++-
interface/web/themes/default/templates/login.tpl.htm | 167 +++++++++++++++++++++++++++++++++++++++++
interface/web/themes/default/css/styles.css | 23 +++++
3 files changed, 196 insertions(+), 6 deletions(-)
diff --git a/interface/web/index.php b/interface/web/index.php
index a7d2965..7e06711 100644
--- a/interface/web/index.php
+++ b/interface/web/index.php
@@ -31,10 +31,14 @@
require_once('../lib/config.inc.php');
require_once('../lib/app.inc.php');
-if(!isset($_SESSION['s']['module']['name'])) $_SESSION['s']['module']['name'] = 'login';
-
-$app->uses('tpl');
-$app->tpl->newTemplate('main.tpl.htm');
+if(!isset($_SESSION['s']['module']['name']) or $_SESSION['s']['module']['name']=='login') {
+ $_SESSION['s']['module']['name'] = 'login';
+ $app->uses('tpl');
+ $app->tpl->newTemplate('login.tpl.htm');
+} else {
+ $app->uses('tpl');
+ $app->tpl->newTemplate('main.tpl.htm');
+}
// tab change warning?
// read misc config
diff --git a/interface/web/themes/default/css/styles.css b/interface/web/themes/default/css/styles.css
index 68f1cc9..14fc257 100644
--- a/interface/web/themes/default/css/styles.css
+++ b/interface/web/themes/default/css/styles.css
@@ -96,6 +96,17 @@
border-radius: 8px;
box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0.05) inset, 0 0 18px rgba(0, 0, 0, 0.5);
}
+#page.loginpage {
+ width: 400px !important;
+ min-width: 400px !important;
+ min-height: 300px !important;
+ background-color: #ffffff;
+ text-align:left;
+ margin: 0 auto;
+ padding: 10px;
+ border-radius: 8px;
+ box-shadow: 0 0px 0px 0px rgba(0, 0, 0, 0.05) inset, 0 0 18px rgba(0, 0, 0, 0.5);
+}
.skip, .hideme, .print {
height: 1px;
left: -1000em;
@@ -314,7 +325,12 @@
margin-right: 0;
padding: 0px 10px 10px 20px;
}
-
+.loginpage #content {
+ margin-left: 0px;
+ margin-right: 0;
+ padding: 0px;
+}
+
/* footer
-------------------------------------------------------------- */
@@ -1164,7 +1180,7 @@
.panel_login {
max-width: 80%;
- min-width: 680px;
+ min-width: 400px;
}
div.subsectiontoggle {
border:1px solid #ccc;
@@ -1786,6 +1802,9 @@
.uniForm .inlineLabels label,
.uniForm .inlineLabels .label{ width: 20%; /* <- Required property */ margin: .3em 2% 0 0; /* <- Required property */ }
+.loginpage .uniForm .inlineLabels label,
+.loginpage .uniForm .inlineLabels .label{ width: 40%; /* <- Required property */ margin: .3em 2% 0 0; /* <- Required property */ }
+
.uniForm .inlineLabels .textInput,
.uniForm .inlineLabels .fileUpload{ width: 35%; /* <- Required property */ }
diff --git a/interface/web/themes/default/templates/login.tpl.htm b/interface/web/themes/default/templates/login.tpl.htm
new file mode 100644
index 0000000..67d5130
--- /dev/null
+++ b/interface/web/themes/default/templates/login.tpl.htm
@@ -0,0 +1,167 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en-US">
+ <head>
+ <!--Possible? Vars in lang= ?-->
+ <meta charset="<tmpl_var name="html_content_encoding">" />
+ <title><tmpl_var name="app_title"> <tmpl_var name="app_version"></title>
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
+ <link href="themes/default/css/styles.css" rel="stylesheet" media="screen" type="text/css" />
+ <link href="themes/default/css/print.css" rel="stylesheet" media="print" type="text/css" />
+ <!--[if IE 9]><link href="themes/default/css/iehacks.css" rel="stylesheet" type="text/css" /><![endif]-->
+ <!--[if lte IE 8]><script type="text/javascript" src="themes/default/js/html5shiv.js"></script><![endif]-->
+ <!--[if lte IE 7]><link href="themes/default/css/iehacks.css" rel="stylesheet" type="text/css" /><![endif]-->
+ <link href="themes/default/css/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
+ <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
+ <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
+ <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
+ <script type="text/javascript" src="js/scrigo.js.php"></script>
+ <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
+ <script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
+ <script type="text/javascript" src="js/jquery.tipsy.js"></script>
+ <script language="JavaScript" type="text/javascript">
+ jQuery(document).ready(function() {
+ loadInitContent();
+
+ $("#pageForm").submit(function(e){
+ //Prevent form submit: e.preventDefault() in lists
+ if ($(".panel #Filter").length > 0) {
+ e.preventDefault();
+ }
+ });
+
+ jQuery('.subsectiontoggle').live("click", function(){
+ jQuery(this).children().toggleClass('showing').end().next().slideToggle();
+ });
+
+ jQuery('#globalsearch').ispconfigSearch({
+ dataSrc: '/dashboard/ajax_get_json.php?type=globalsearch',
+ resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
+ noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
+ noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
+ searchFieldWatermark: '<tmpl_var name="globalsearch_searchfield_watermark_txt">'
+ });
+
+ jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
+
+ tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
+ tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+ tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
+ tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
+
+ // Store password in browser; works in Firefox, but not Chrome
+ $('#username').live("blur", function(){
+ if($('#dummy_username').val() == '' || $('#dummy_username').val() != $(this).val()){
+ $('#dummy_login').show();
+ $('#dummy_username').attr('value', $(this).val()).trigger('focus').trigger('blur');
+ $('#dummy_login').hide();
+ }
+ if($('#dummy_username').val() == $(this).val() && $(this).val() != ''){
+ $('#passwort').val($('#dummy_passwort').val());
+ } else {
+ $('#passwort').val('');
+ }
+ $('#passwort').focus();
+ });
+
+ $('#username').live("keyup", function(){
+ $('#dummy_username').val('');
+ $('#dummy_passwort').val('');
+ $('#passwort').val('');
+ });
+
+ });
+
+
+ jQuery(document).bind("change", function(event) {
+ var elName = event.target.localName;
+ if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
+ event.preventDefault();
+ jQuery(".panel #Filter").trigger('click');
+ }
+ if(elName == 'select' || elName == 'input' || elName == 'textarea') {
+ if(jQuery(event.target).hasClass('no-page-form-change') == false) {
+ // set marker that something was changed
+ pageFormChanged = true;
+ }
+ }
+ });
+
+ jQuery(document).bind("keypress", function(event) {
+ //Use jQuery submit with keypress Enter in panel filterbar
+ if (event.which == '13' && jQuery(".panel #Filter").length > 0 && jQuery(event.target).hasClass('ui-autocomplete-input') == false ) {
+ event.preventDefault();
+ jQuery(".panel #Filter").trigger('click');
+ }
+ //Use jQuery submit with keypress Enter in forms
+ if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
+ event.preventDefault();
+ jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
+ }
+ });
+
+ jQuery(document).delegate('.pnl_listarea th', 'click', function(event) {
+ if(jQuery(this).attr('class').length > 0 && jQuery(".panel #Filter").length > 0 && jQuery(this).hasClass('tbl_col_buttons') == false && jQuery(this).hasClass('tbl_col_limit') == false && jQuery(this).hasClass('tbl_col_nosort') == false) {
+ event.preventDefault();
+ var clickevent = jQuery('#Filter').attr('onclick');
+ var element = jQuery(this).attr('class');
+ if(typeof clickevent == 'string') {
+ jQuery('#Filter').attr('onclick', clickevent.replace(".php')", ".php?orderby=" + element + "')"));
+ }
+ jQuery(".panel #Filter").trigger('click');
+
+ jQuery("#pageForm").ajaxComplete(function() {
+ if(jQuery("th."+element).css("background-position") == '0px -15px') {
+ if(jQuery("th."+element).css("text-align") == "right") {
+ jQuery("th."+element).css("text-align","left");
+ } else {
+ jQuery("th."+element).css("text-align","right");
+ }
+ } else {
+ jQuery(".pnl_listarea th").css("text-align","");
+ }
+ jQuery(".pnl_listarea th").css("background-position","0 0");
+ jQuery("th."+element).css("background-position","0 -15px");
+ });
+ }
+ });
+
+ </script>
+ </head>
+ <body>
+ <div id="page" class="loginpage">
+ <!-- begin: header -->
+ <header>
+ <h1 id="ir-HeaderLogo" class="swap" style="background-image:url('{tmpl_var name='app_logo'}');"><span>ISPConfig 3</span></h1>
+ </header>
+ <!-- end: header -->
+
+ <!-- begin: main content area #main -->
+ <section id="main" name="content">
+ <!-- begin: #content -->
+ <section id="content">
+ <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <div id="pageContent"><!-- AJAX CONTENT --></div>
+ </form>
+ <div id="ie_clearing"> </div>
+ <!-- End: IE Column Clearing -->
+ </section>
+ <!-- end: #content -->
+ </section>
+ <!-- end: #main -->
+ </div>
+ <!-- begin: footer -->
+ <footer>
+ Powered by <a href="<tmpl_var name="app_link">" target="_blank"><tmpl_var name="app_title"></a>
+ </footer>
+ <!-- end: footer -->
+
+ <div id="dummy_login" style="display:none;position:absolute;top:-1000px;left:-1000px;">
+ <form action="" method="post" target="dummy_login" id="dummy_login_form">
+ <input name="username" id="dummy_username" type="text" autocomplete="on" value="" />
+ <input name="passwort" id="dummy_passwort" type="password" autocomplete="on" value="" />
+ <input type="submit" value="Login" id="dummy_submit"/>
+ </form>
+ <iframe id="dummy_iframe" src="dummy_login.html" name="dummy_login" style="display:none;"></iframe>
+ </div>
+ </body>
+</html>
--
Gitblit v1.9.1