diff --git a/admin_customers.php b/admin_customers.php index 10bcc1a5..075b9365 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -104,13 +104,11 @@ if($page == 'customers' $traffic_doublepercent = 0; } - $column_style = ''; - $unlock_link = ''; + $islocked = 0; if($row['loginfail_count'] >= $settings['login']['maxloginattempts'] && $row['lastlogin_fail'] > (time() - $settings['login']['deactivatetime']) ) { - $column_style = ' style="background-color: #f99122;"'; - $unlock_link = ''.$lng['panel']['unlock'].'
'; + $islocked = 1; } $row = str_replace_array('-1', 'UL', $row, 'diskspace traffic mysqls emails email_accounts email_forwarders ftps tickets subdomains email_autoresponder'); diff --git a/templates/Froxlor/admin/customers/customers_customer.tpl b/templates/Froxlor/admin/customers/customers_customer.tpl index f9f070c5..f68dc8d4 100644 --- a/templates/Froxlor/admin/customers/customers_customer.tpl +++ b/templates/Froxlor/admin/customers/customers_customer.tpl @@ -1,4 +1,4 @@ - +class="disabled"> @@ -55,6 +55,11 @@   {$lng['panel']['delete']} +   + + + {$lng['panel']['unlock']} + diff --git a/templates/Froxlor/assets/css/main.css b/templates/Froxlor/assets/css/main.css index 9db67ee2..6d610246 100644 --- a/templates/Froxlor/assets/css/main.css +++ b/templates/Froxlor/assets/css/main.css @@ -483,6 +483,10 @@ table tbody td { border-right: 1px solid #666; } +.disabled td, .disabled td a { + color: #cfcfcf; +} + .formtable { width: 100%; border-spacing: 0; @@ -751,3 +755,25 @@ caption { font-weight: bold; margin-bottom: 0.2em; } + +/* dataTables */ +table thead th.sorting_asc { + background-image: url('../img/icons/sort_down.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} + +table thead th.sorting_desc { + background-image: url('../img/icons/sort_up.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} + +table thead th.sorting { + background-image: url('../img/icons/sort_both.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} \ No newline at end of file diff --git a/templates/Froxlor/assets/img/icons/unlock.png b/templates/Froxlor/assets/img/icons/unlock.png new file mode 100644 index 00000000..80de8034 Binary files /dev/null and b/templates/Froxlor/assets/img/icons/unlock.png differ diff --git a/templates/Sparkle/admin/admins/admins.tpl b/templates/Sparkle/admin/admins/admins.tpl index 078e837d..7812cd4c 100644 --- a/templates/Sparkle/admin/admins/admins.tpl +++ b/templates/Sparkle/admin/admins/admins.tpl @@ -22,18 +22,18 @@ $header - +
- - + + diff --git a/templates/Sparkle/admin/customers/customers.tpl b/templates/Sparkle/admin/customers/customers.tpl index b97ce1f8..f54ff323 100644 --- a/templates/Sparkle/admin/customers/customers.tpl +++ b/templates/Sparkle/admin/customers/customers.tpl @@ -11,35 +11,40 @@ $header
-
- {$searchcode} -
- + +
+ {$searchcode} +
-
- {$lng['customer']['name']}  {$arrowcode['name']} + {$lng['customer']['name']} - {$lng['login']['username']} {$arrowcode['loginname']} + {$lng['login']['username']} {$lng['admin']['customers']} {$lng['panel']['options']} {$lng['panel']['options']}
+
- - + + + + + $customers + + @@ -47,9 +52,6 @@ $header - - $customers -
- {$lng['customer']['name']}  {$arrowcode['c.name']} - {$lng['customer']['firstname']}  {$arrowcode['c.firstname']} + {$lng['customer']['name']}, + {$lng['customer']['firstname']} - {$lng['login']['username']} {$arrowcode['c.loginname']} + {$lng['login']['username']} - {$lng['admin']['admin']} {$arrowcode['a.loginname']} + {$lng['admin']['admin']} {$lng['admin']['lastlogin_succ']}{$lng['panel']['options']}{$lng['panel']['options']}

diff --git a/templates/Sparkle/admin/customers/customers_customer.tpl b/templates/Sparkle/admin/customers/customers_customer.tpl index 07e25314..4c7cc4f4 100644 --- a/templates/Sparkle/admin/customers/customers_customer.tpl +++ b/templates/Sparkle/admin/customers/customers_customer.tpl @@ -1,14 +1,18 @@ - +class="disabled"> - + {$row['company']}
{$row['name']} {$row['firstname']} - +
+ + {$row['company']} + + {$row['name']} {$row['firstname']} - {$row['loginname']} + {$row['loginname']} {$row['adminname']} @@ -56,13 +60,18 @@ - + {$lng['panel']['edit']}   {$lng['panel']['delete']} +   + + + {$lng['panel']['unlock']} + diff --git a/templates/Sparkle/admin/domains/domains.tpl b/templates/Sparkle/admin/domains/domains.tpl index 5496012b..ed8f0440 100644 --- a/templates/Sparkle/admin/domains/domains.tpl +++ b/templates/Sparkle/admin/domains/domains.tpl @@ -22,15 +22,20 @@
- +
- - - - + + + + + + + {$domains} + + @@ -38,9 +43,6 @@ - - {$domains} -
{$lng['domains']['domainname']} {$arrowcode['d.domain']}{$lng['admin']['ipsandports']['ip']} : {$lng['admin']['ipsandports']['port']}{$lng['admin']['customer']}  {$arrowcode['c.loginname']}{$lng['panel']['options']}{$lng['domains']['domainname']}{$lng['admin']['ipsandports']['ip']}{$lng['admin']['customer']}{$lng['panel']['options']}

diff --git a/templates/Sparkle/admin/ipsandports/ipsandports.tpl b/templates/Sparkle/admin/ipsandports/ipsandports.tpl index ab315ba2..feb93158 100644 --- a/templates/Sparkle/admin/ipsandports/ipsandports.tpl +++ b/templates/Sparkle/admin/ipsandports/ipsandports.tpl @@ -22,17 +22,18 @@ $header - +
- + + - + diff --git a/templates/Sparkle/admin/ipsandports/ipsandports_ipandport.tpl b/templates/Sparkle/admin/ipsandports/ipsandports_ipandport.tpl index 7190e18f..564a8c91 100644 --- a/templates/Sparkle/admin/ipsandports/ipsandports_ipandport.tpl +++ b/templates/Sparkle/admin/ipsandports/ipsandports_ipandport.tpl @@ -1,5 +1,6 @@ - + + diff --git a/templates/Sparkle/admin/logger/logger.tpl b/templates/Sparkle/admin/logger/logger.tpl index 44b96cb3..07fd8147 100644 --- a/templates/Sparkle/admin/logger/logger.tpl +++ b/templates/Sparkle/admin/logger/logger.tpl @@ -22,12 +22,12 @@ $header -
{$lng['admin']['ipsandports']['ip']} {$arrowcode['ip']} : {$lng['admin']['ipsandports']['port']} {$arrowcode['port']}{$lng['admin']['ipsandports']['ip']}{$lng['admin']['ipsandports']['port']} Listen NameVirtualHost vHost-Container Specialsettings ServerName SSL{$lng['panel']['options']}{$lng['panel']['options']}
{$row['ip']}:{$row['port']}{$row['ip']}{$row['port']} {$lng['panel']['yes']}{$lng['panel']['no']} {$lng['panel']['yes']}{$lng['panel']['no']} {$lng['panel']['yes']}{$lng['panel']['no']}
+
- - - + + + diff --git a/templates/Sparkle/admin/logger/logger_action.tpl b/templates/Sparkle/admin/logger/logger_action.tpl index 4c85d62e..1b7e0aa3 100644 --- a/templates/Sparkle/admin/logger/logger_action.tpl +++ b/templates/Sparkle/admin/logger/logger_action.tpl @@ -1,3 +1,3 @@ - + diff --git a/templates/Sparkle/admin/templates/templates.tpl b/templates/Sparkle/admin/templates/templates.tpl index 5ee6825a..5c23a00f 100644 --- a/templates/Sparkle/admin/templates/templates.tpl +++ b/templates/Sparkle/admin/templates/templates.tpl @@ -8,12 +8,12 @@ $header
-
{$lng['logger']['date']}  {$arrowcode['date']}{$lng['logger']['type']}  {$arrowcode['type']}{$lng['logger']['user']}  {$arrowcode['user']}{$lng['logger']['date']}{$lng['logger']['type']}{$lng['logger']['user']} {$lng['logger']['action']}
+
- + diff --git a/templates/Sparkle/admin/tickets/categories.tpl b/templates/Sparkle/admin/tickets/categories.tpl index 5c52a83a..6af4289f 100644 --- a/templates/Sparkle/admin/tickets/categories.tpl +++ b/templates/Sparkle/admin/tickets/categories.tpl @@ -22,13 +22,13 @@ $header -
{$lng['login']['language']} {$lng['admin']['templates']['action']}{$lng['panel']['options']}{$lng['panel']['options']}
+
id="sortable"> - - - - + + + + diff --git a/templates/Sparkle/admin/tickets/tickets.tpl b/templates/Sparkle/admin/tickets/tickets.tpl index 5ae28a6d..31cdde77 100644 --- a/templates/Sparkle/admin/tickets/tickets.tpl +++ b/templates/Sparkle/admin/tickets/tickets.tpl @@ -22,16 +22,16 @@ $header -
{$lng['ticket']['category']} {$arrowcode['name']}{$lng['ticket']['logicalorder']} {$arrowcode['logicalorder']}{$lng['ticket']['ticketcount']} {$arrowcode['ticketcount']}{$lng['panel']['options']}{$lng['ticket']['category']}{$lng['ticket']['logicalorder']}{$lng['ticket']['ticketcount']}{$lng['panel']['options']}
+
id="sortable"> - - - - - - - + + + + + + + diff --git a/templates/Sparkle/assets/css/main.css b/templates/Sparkle/assets/css/main.css index 1c97ce48..35c119d8 100644 --- a/templates/Sparkle/assets/css/main.css +++ b/templates/Sparkle/assets/css/main.css @@ -506,23 +506,59 @@ th a:hover { text-decoration: none; } th a img { - height: 10px; - width: 10px; } th a:nth-child(odd) img { position: relative; top: -5px; + left: 4px; } th a:nth-child(even) img { position: relative; top: 3px; - left: -14px; + left: -7px; } table thead:first-child th { border-top: 0; } +.disabled td, .disabled td a { + color: #cfcfcf; +} + +/* dataTables */ +table thead th.sorting_asc { + background-image: url('../img/icons/sort_down.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} + +table thead th.sorting_desc { + background-image: url('../img/icons/sort_up.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} + +table thead th.sorting { + background-image: url('../img/icons/sort_both.png'); + background-repeat: no-repeat; + background-position: 10px center; + padding-left: 25px; +} + +table thead th.nosort { + background-image: none; + padding-left: 8px; +} +.dataTables_length { + float: left; +} +.dataTables_filter { + float: right; +} + table tbody td { border-bottom:1px dotted #ccc; } diff --git a/templates/Sparkle/assets/img/icons/down.png b/templates/Sparkle/assets/img/icons/down.png index cd1b9ed2..5f49df2a 100644 Binary files a/templates/Sparkle/assets/img/icons/down.png and b/templates/Sparkle/assets/img/icons/down.png differ diff --git a/templates/Sparkle/assets/img/icons/sort_both.png b/templates/Sparkle/assets/img/icons/sort_both.png new file mode 100644 index 00000000..f20ab2e8 Binary files /dev/null and b/templates/Sparkle/assets/img/icons/sort_both.png differ diff --git a/templates/Sparkle/assets/img/icons/sort_down.png b/templates/Sparkle/assets/img/icons/sort_down.png new file mode 100644 index 00000000..5f49df2a Binary files /dev/null and b/templates/Sparkle/assets/img/icons/sort_down.png differ diff --git a/templates/Sparkle/assets/img/icons/sort_up.png b/templates/Sparkle/assets/img/icons/sort_up.png new file mode 100644 index 00000000..956e1d4a Binary files /dev/null and b/templates/Sparkle/assets/img/icons/sort_up.png differ diff --git a/templates/Sparkle/assets/img/icons/unlock.png b/templates/Sparkle/assets/img/icons/unlock.png new file mode 100644 index 00000000..80de8034 Binary files /dev/null and b/templates/Sparkle/assets/img/icons/unlock.png differ diff --git a/templates/Sparkle/assets/img/icons/up.png b/templates/Sparkle/assets/img/icons/up.png index d10654b2..956e1d4a 100644 Binary files a/templates/Sparkle/assets/img/icons/up.png and b/templates/Sparkle/assets/img/icons/up.png differ diff --git a/templates/Sparkle/assets/js/jquery.dataTables.js b/templates/Sparkle/assets/js/jquery.dataTables.js new file mode 100644 index 00000000..1d8a220b --- /dev/null +++ b/templates/Sparkle/assets/js/jquery.dataTables.js @@ -0,0 +1,12099 @@ +/** + * @summary DataTables + * @description Paginate, search and sort HTML tables + * @version 1.9.4 + * @file jquery.dataTables.js + * @author Allan Jardine (www.sprymedia.co.uk) + * @contact www.sprymedia.co.uk/contact + * + * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + * + * For details please refer to: http://www.datatables.net + */ + +/*jslint evil: true, undef: true, browser: true */ +/*globals $, jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnRender,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns*/ + +(/** @lends */function( window, document, undefined ) { + +(function( factory ) { + "use strict"; + + // Define as an AMD module if possible + if ( typeof define === 'function' && define.amd ) + { + define( ['jquery'], factory ); + } + /* Define using browser globals otherwise + * Prevent multiple instantiations if the script is loaded twice + */ + else if ( jQuery && !jQuery.fn.dataTable ) + { + factory( jQuery ); + } +} +(/** @lends */function( $ ) { + "use strict"; + /** + * DataTables is a plug-in for the jQuery Javascript library. It is a + * highly flexible tool, based upon the foundations of progressive + * enhancement, which will add advanced interaction controls to any + * HTML table. For a full list of features please refer to + * DataTables.net. + * + * Note that the DataTable object is not a global variable but is + * aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which + * it may be accessed. + * + * @class + * @param {object} [oInit={}] Configuration object for DataTables. Options + * are defined by {@link DataTable.defaults} + * @requires jQuery 1.3+ + * + * @example + * // Basic initialisation + * $(document).ready( function { + * $('#example').dataTable(); + * } ); + * + * @example + * // Initialisation with configuration options - in this case, disable + * // pagination and sorting. + * $(document).ready( function { + * $('#example').dataTable( { + * "bPaginate": false, + * "bSort": false + * } ); + * } ); + */ + var DataTable = function( oInit ) + { + + + /** + * Add a column to the list used for the table with default values + * @param {object} oSettings dataTables settings object + * @param {node} nTh The th element for this column + * @memberof DataTable#oApi + */ + function _fnAddColumn( oSettings, nTh ) + { + var oDefaults = DataTable.defaults.columns; + var iCol = oSettings.aoColumns.length; + var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { + "sSortingClass": oSettings.oClasses.sSortable, + "sSortingClassJUI": oSettings.oClasses.sSortJUI, + "nTh": nTh ? nTh : document.createElement('th'), + "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', + "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], + "mData": oDefaults.mData ? oDefaults.oDefaults : iCol + } ); + oSettings.aoColumns.push( oCol ); + + /* Add a column specific filter */ + if ( oSettings.aoPreSearchCols[ iCol ] === undefined || oSettings.aoPreSearchCols[ iCol ] === null ) + { + oSettings.aoPreSearchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch ); + } + else + { + var oPre = oSettings.aoPreSearchCols[ iCol ]; + + /* Don't require that the user must specify bRegex, bSmart or bCaseInsensitive */ + if ( oPre.bRegex === undefined ) + { + oPre.bRegex = true; + } + + if ( oPre.bSmart === undefined ) + { + oPre.bSmart = true; + } + + if ( oPre.bCaseInsensitive === undefined ) + { + oPre.bCaseInsensitive = true; + } + } + + /* Use the column options function to initialise classes etc */ + _fnColumnOptions( oSettings, iCol, null ); + } + + + /** + * Apply options for a column + * @param {object} oSettings dataTables settings object + * @param {int} iCol column index to consider + * @param {object} oOptions object with sType, bVisible and bSearchable etc + * @memberof DataTable#oApi + */ + function _fnColumnOptions( oSettings, iCol, oOptions ) + { + var oCol = oSettings.aoColumns[ iCol ]; + + /* User specified column options */ + if ( oOptions !== undefined && oOptions !== null ) + { + /* Backwards compatibility for mDataProp */ + if ( oOptions.mDataProp && !oOptions.mData ) + { + oOptions.mData = oOptions.mDataProp; + } + + if ( oOptions.sType !== undefined ) + { + oCol.sType = oOptions.sType; + oCol._bAutoType = false; + } + + $.extend( oCol, oOptions ); + _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); + + /* iDataSort to be applied (backwards compatibility), but aDataSort will take + * priority if defined + */ + if ( oOptions.iDataSort !== undefined ) + { + oCol.aDataSort = [ oOptions.iDataSort ]; + } + _fnMap( oCol, oOptions, "aDataSort" ); + } + + /* Cache the data get and set functions for speed */ + var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; + var mData = _fnGetObjectDataFn( oCol.mData ); + + oCol.fnGetData = function (oData, sSpecific) { + var innerData = mData( oData, sSpecific ); + + if ( oCol.mRender && (sSpecific && sSpecific !== '') ) + { + return mRender( innerData, sSpecific, oData ); + } + return innerData; + }; + oCol.fnSetData = _fnSetObjectDataFn( oCol.mData ); + + /* Feature sorting overrides column specific when off */ + if ( !oSettings.oFeatures.bSort ) + { + oCol.bSortable = false; + } + + /* Check that the class assignment is correct for sorting */ + if ( !oCol.bSortable || + ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) + { + oCol.sSortingClass = oSettings.oClasses.sSortableNone; + oCol.sSortingClassJUI = ""; + } + else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1 ) + { + oCol.sSortingClass = oSettings.oClasses.sSortable; + oCol.sSortingClassJUI = oSettings.oClasses.sSortJUI; + } + else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) == -1 ) + { + oCol.sSortingClass = oSettings.oClasses.sSortableAsc; + oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed; + } + else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) != -1 ) + { + oCol.sSortingClass = oSettings.oClasses.sSortableDesc; + oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed; + } + } + + + /** + * Adjust the table column widths for new data. Note: you would probably want to + * do a redraw after calling this function! + * @param {object} oSettings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnAdjustColumnSizing ( oSettings ) + { + /* Not interested in doing column width calculation if auto-width is disabled */ + if ( oSettings.oFeatures.bAutoWidth === false ) + { + return false; + } + + _fnCalculateColumnWidths( oSettings ); + for ( var i=0 , iLen=oSettings.aoColumns.length ; i -
{$lng['ticket']['lastchange']} {$arrowcode['lastchange']}{$lng['ticket']['ticket_answers']} {$arrowcode['ticket_answers']}{$lng['ticket']['subject']} {$arrowcode['subject']}{$lng['ticket']['status']} {$arrowcode['status']}{$lng['ticket']['lastreplier']} {$arrowcode['lastreplier']}{$lng['ticket']['priority']} {$arrowcode['priority']}{$lng['panel']['options']}{$lng['ticket']['lastchange']}{$lng['ticket']['ticket_answers']}{$lng['ticket']['subject']}{$lng['ticket']['status']}{$lng['ticket']['lastreplier']}{$lng['ticket']['priority']}{$lng['panel']['options']}
+
id="sortable"> - + diff --git a/templates/Sparkle/customer/domains/domainlist.tpl b/templates/Sparkle/customer/domains/domainlist.tpl index 0dba51ba..23516c36 100644 --- a/templates/Sparkle/customer/domains/domainlist.tpl +++ b/templates/Sparkle/customer/domains/domainlist.tpl @@ -25,8 +25,8 @@
{$lng['emails']['emailaddress']} {$lng['autoresponder']['active']} {$lng['autoresponder']['startenddate']}{$lng['panel']['options']}{$lng['panel']['options']}
- - + diff --git a/templates/Sparkle/customer/email/emails.tpl b/templates/Sparkle/customer/email/emails.tpl index be8c7b34..40103be2 100644 --- a/templates/Sparkle/customer/email/emails.tpl +++ b/templates/Sparkle/customer/email/emails.tpl @@ -25,8 +25,8 @@
{$lng['domains']['domainname']}  {$arrowcode['d.domain']}{$lng['panel']['path']}  {$arrowcode['d.documentroot']} + {$arrowcode['d.domain']}{$lng['domains']['domainname']}{$arrowcode['d.documentroot']}{$lng['panel']['path']} {$lng['panel']['options']}
- - + + diff --git a/templates/Sparkle/customer/extras/htaccess.tpl b/templates/Sparkle/customer/extras/htaccess.tpl index b33f4d38..a309732d 100644 --- a/templates/Sparkle/customer/extras/htaccess.tpl +++ b/templates/Sparkle/customer/extras/htaccess.tpl @@ -22,18 +22,18 @@ -
{$lng['emails']['emailaddress']} {$arrowcode['m.email_full']}{$lng['emails']['forwarders']} {$arrowcode['m.destination']}{$arrowcode['m.email_full']}{$lng['emails']['emailaddress']}{$arrowcode['m.destination']}{$lng['emails']['forwarders']} {$lng['emails']['account']} {$lng['emails']['catchall']}
+
id="sortable"> - - - - - + + + + + - + - + diff --git a/templates/Sparkle/customer/extras/htpasswds.tpl b/templates/Sparkle/customer/extras/htpasswds.tpl index 92e70e3c..49b23057 100644 --- a/templates/Sparkle/customer/extras/htpasswds.tpl +++ b/templates/Sparkle/customer/extras/htpasswds.tpl @@ -22,12 +22,12 @@ -
{$lng['panel']['path']} {$arrowcode['path']}{$lng['extras']['view_directory']} {$arrowcode['options_indexes']}{$lng['extras']['error404path']} {$arrowcode['error404path']}{$lng['extras']['error403path']} {$arrowcode['error403path']}{$lng['extras']['error500path']} {$arrowcode['error500path']}{$lng['panel']['path']}{$lng['extras']['view_directory']}{$lng['extras']['error404path']}{$lng['extras']['error403path']}{$lng['extras']['error500path']} {$lng['extras']['execute_perl']} {$arrowcode['options_cgi']}{$lng['extras']['execute_perl']} {$lng['panel']['options']}{$lng['panel']['options']}
+
- - - + + + diff --git a/templates/Sparkle/customer/ftp/accounts.tpl b/templates/Sparkle/customer/ftp/accounts.tpl index c972e554..95d8c6f6 100644 --- a/templates/Sparkle/customer/ftp/accounts.tpl +++ b/templates/Sparkle/customer/ftp/accounts.tpl @@ -22,12 +22,12 @@ -
{$lng['login']['username']} {$arrowcode['username']}{$lng['panel']['path']} {$arrowcode['path']}{$lng['panel']['options']}{$lng['login']['username']}{$lng['panel']['path']}{$lng['panel']['options']}
+
id="sortable"> - - - + + + diff --git a/templates/Sparkle/customer/mysql/mysqls.tpl b/templates/Sparkle/customer/mysql/mysqls.tpl index d455f809..ee27699e 100644 --- a/templates/Sparkle/customer/mysql/mysqls.tpl +++ b/templates/Sparkle/customer/mysql/mysqls.tpl @@ -22,14 +22,14 @@ -
{$lng['login']['username']}  {$arrowcode['username']}{$lng['panel']['path']}  {$arrowcode['homedir']}{$lng['panel']['options']}{$lng['login']['username']}{$lng['panel']['path']}{$lng['panel']['options']}
+
id="sortable"> - - + + - + diff --git a/templates/Sparkle/customer/tickets/tickets.tpl b/templates/Sparkle/customer/tickets/tickets.tpl index 77f1ca16..eef7ebeb 100644 --- a/templates/Sparkle/customer/tickets/tickets.tpl +++ b/templates/Sparkle/customer/tickets/tickets.tpl @@ -35,16 +35,16 @@ $header -
{$lng['mysql']['databasename']} {$arrowcode['databasename']}{$lng['mysql']['databasedescription']} {$arrowcode['description']}{$lng['mysql']['databasename']}{$lng['mysql']['databasedescription']} {$lng['mysql']['size']} {$lng['mysql']['mysql_server']}{$lng['panel']['options']}{$lng['panel']['options']}
+
id="sortable"> - - - - - - - + + + + + + + diff --git a/templates/Sparkle/header.tpl b/templates/Sparkle/header.tpl index eb47ee8f..3e71dfdf 100644 --- a/templates/Sparkle/header.tpl +++ b/templates/Sparkle/header.tpl @@ -26,6 +26,12 @@ + + + + + + <if isset($userinfo['loginname']) && $userinfo['loginname'] != ''>{$userinfo['loginname']} - </if>Froxlor Server Management Panel
{$lng['ticket']['lastchange']} {$arrowcode['lastchange']}{$lng['ticket']['ticket_answers']} {$arrowcode['ticket_answers']}{$lng['ticket']['subject']} {$arrowcode['subject']}{$lng['ticket']['status']} {$arrowcode['status']}{$lng['ticket']['lastreplier']} {$arrowcode['lastreplier']}{$lng['ticket']['priority']} {$arrowcode['priority']}{$lng['panel']['options']}{$lng['ticket']['lastchange']}{$lng['ticket']['ticket_answers']}{$lng['ticket']['subject']}{$lng['ticket']['status']}{$lng['ticket']['lastreplier']}{$lng['ticket']['priority']}{$lng['panel']['options']}