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