Compare commits
13 Commits
038bafa69c
...
11_0_0-12_
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1a4c172969 | ||
![]() |
cd6c752805 | ||
![]() |
95dedd2f38 | ||
![]() |
50edcdee9c | ||
![]() |
0d7f87c6aa | ||
![]() |
b42afb227a | ||
![]() |
767cf3bc19 | ||
![]() |
dbdd5217d9 | ||
![]() |
f516d2b759 | ||
![]() |
4551efc1ed | ||
![]() |
79b2e7f492 | ||
![]() |
93b8d4cb6f | ||
![]() |
cc4e08b14a |
1
root/usr/share/smanager/themes/AdminLTE/public/dist/css/jquery-ui.min.css
vendored
Symbolic link
1
root/usr/share/smanager/themes/AdminLTE/public/dist/css/jquery-ui.min.css
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/share/javascript/jquery-ui/jquery-ui.min.css
|
7
root/usr/share/smanager/themes/AdminLTE/public/dist/js/bootstrap.min.js
vendored
Normal file
7
root/usr/share/smanager/themes/AdminLTE/public/dist/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/bootstrap.min.js.map
vendored
Normal file
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/bootstrap.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/jquery-ui.min.js
vendored
Symbolic link
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/jquery-ui.min.js
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/share/javascript/jquery-ui/jquery-ui.min.js
|
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/jquery.min.js
vendored
Symbolic link
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/jquery.min.js
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/share/javascript/jquery/jquery.min.js
|
6
root/usr/share/smanager/themes/AdminLTE/public/dist/js/popper.min.js
vendored
Normal file
6
root/usr/share/smanager/themes/AdminLTE/public/dist/js/popper.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/popper.min.js.map
vendored
Normal file
1
root/usr/share/smanager/themes/AdminLTE/public/dist/js/popper.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
@@ -88,3 +88,18 @@
|
||||
cursor: default; /* Prevent text cursor */
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* TD and buttons in user lists */
|
||||
|
||||
.user-td-no-right {
|
||||
border-left-width: 0px;
|
||||
}
|
||||
|
||||
.user-td-no-left {
|
||||
border-left-width: 0px;
|
||||
}
|
||||
|
||||
.user-valign-center {
|
||||
text-align: center;
|
||||
}
|
@@ -0,0 +1,298 @@
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const flagContainer = document.getElementById('flag-container');
|
||||
// Mapping of language codes to country codes and their names
|
||||
const languageToCountryMap = {
|
||||
"af": { code: "NA", name: "Namibia" },
|
||||
"agq": { code: "CM", name: "Cameroon" },
|
||||
"ak": { code: "GH", name: "Ghana" },
|
||||
"am": { code: "ET", name: "Ethiopia" },
|
||||
"ar": { code: "SA", name: "Saudi Arabia" },
|
||||
"as": { code: "IN", name: "India" },
|
||||
"asa": { code: "TZ", name: "Tanzania" },
|
||||
"ast": { code: "ES", name: "Spain" },
|
||||
"az": { code: "AZ", name: "Azerbaijan" },
|
||||
"bas": { code: "CM", name: "Cameroon" },
|
||||
"be": { code: "BY", name: "Belarus" },
|
||||
"bem": { code: "ZM", name: "Zambia" },
|
||||
"bez": { code: "TZ", name: "Tanzania" },
|
||||
"bg": { code: "BG", name: "Bulgaria" },
|
||||
"bm": { code: "ML", name: "Mali" },
|
||||
"bn": { code: "BD", name: "Bangladesh" },
|
||||
"bo": { code: "CN", name: "China" },
|
||||
"br": { code: "FR", name: "France" },
|
||||
"brx": { code: "IN", name: "India" },
|
||||
"bs": { code: "BA", name: "Bosnia and Herzegovina" },
|
||||
"ca": { code: "AD", name: "Andorra" },
|
||||
"ccp": { code: "BD", name: "Bangladesh" },
|
||||
"ce": { code: "RU", name: "Russia" },
|
||||
"cgg": { code: "UG", name: "Uganda" },
|
||||
"chr": { code: "US", name: "United States" },
|
||||
"ckb": { code: "IQ", name: "Iraq" },
|
||||
"cs": { code: "CZ", name: "Czech Republic" },
|
||||
"cy": { code: "GB", name: "United Kingdom" },
|
||||
"da": { code: "DK", name: "Denmark" },
|
||||
"dav": { code: "KE", name: "Kenya" },
|
||||
"de": { code: "DE", name: "Germany" },
|
||||
"dje": { code: "NE", name: "Niger" },
|
||||
"dsb": { code: "DE", name: "Germany" },
|
||||
"dua": { code: "CM", name: "Cameroon" },
|
||||
"dyo": { code: "SN", name: "Senegal" },
|
||||
"dz": { code: "BT", name: "Bhutan" },
|
||||
"ebu": { code: "KE", name: "Kenya" },
|
||||
"ee": { code: "GH", name: "Ghana" },
|
||||
"el": { code: "CY", name: "Cyprus" },
|
||||
"en": { code: "US", name: "United States" }, // Assume US for English if unspecified
|
||||
"es": { code: "ES", name: "Spain" },
|
||||
"et": { code: "EE", name: "Estonia" },
|
||||
"eu": { code: "ES", name: "Spain" },
|
||||
"ewo": { code: "CM", name: "Cameroon" },
|
||||
"fa": { code: "AF", name: "Afghanistan" },
|
||||
"ff": { code: "CM", name: "Cameroon" },
|
||||
"fi": { code: "FI", name: "Finland" },
|
||||
"fil": { code: "PH", name: "Philippines" },
|
||||
"fo": { code: "FO", name: "Faroe Islands" },
|
||||
"fr": { code: "FR", name: "France" },
|
||||
"fur": { code: "IT", name: "Italy" },
|
||||
"fy": { code: "NL", name: "Netherlands" },
|
||||
"ga": { code: "IE", name: "Ireland" },
|
||||
"gd": { code: "GB", name: "United Kingdom" },
|
||||
"gl": { code: "ES", name: "Spain" },
|
||||
"gsw": { code: "CH", name: "Switzerland" },
|
||||
"gu": { code: "IN", name: "India" },
|
||||
"guz": { code: "KE", name: "Kenya" },
|
||||
"gv": { code: "IM", name: "Isle of Man" },
|
||||
"ha": { code: "GH", name: "Ghana" },
|
||||
"haw": { code: "US", name: "United States" },
|
||||
"he": { code: "IL", name: "Israel" },
|
||||
"hi": { code: "IN", name: "India" },
|
||||
"hr": { code: "HR", name: "Croatia" },
|
||||
"hsb": { code: "DE", name: "Germany" },
|
||||
"hu": { code: "HU", name: "Hungary" },
|
||||
"hy": { code: "AM", name: "Armenia" },
|
||||
"id": { code: "ID", name: "Indonesia" },
|
||||
"ig": { code: "NG", name: "Nigeria" },
|
||||
"ii": { code: "CN", name: "China" },
|
||||
"is": { code: "IS", name: "Iceland" },
|
||||
"it": { code: "IT", name: "Italy" },
|
||||
"ja": { code: "JP", name: "Japan" },
|
||||
"jgo": { code: "CM", name: "Cameroon" },
|
||||
"jmc": { code: "TZ", name: "Tanzania" },
|
||||
"ka": { code: "GE", name: "Georgia" },
|
||||
"kab": { code: "DZ", name: "Algeria" },
|
||||
"kam": { code: "KE", name: "Kenya" },
|
||||
"kde": { code: "TZ", name: "Tanzania" },
|
||||
"kea": { code: "CV", name: "Cabo Verde" },
|
||||
"khq": { code: "ML", name: "Mali" },
|
||||
"ki": { code: "KE", name: "Kenya" },
|
||||
"kk": { code: "KZ", name: "Kazakhstan" },
|
||||
"kkj": { code: "CM", name: "Cameroon" },
|
||||
"kl": { code: "GL", name: "Greenland" },
|
||||
"kln": { code: "KE", name: "Kenya" },
|
||||
"km": { code: "KH", name: "Cambodia" },
|
||||
"kn": { code: "IN", name: "India" },
|
||||
"ko": { code: "KP", name: "North Korea" },
|
||||
"kok": { code: "IN", name: "India" },
|
||||
"ks": { code: "IN", name: "India" },
|
||||
"ksb": { code: "TZ", name: "Tanzania" },
|
||||
"ksf": { code: "CM", name: "Cameroon" },
|
||||
"ksh": { code: "DE", name: "Germany" },
|
||||
"kw": { code: "GB", name: "United Kingdom" },
|
||||
"ky": { code: "KG", name: "Kyrgyzstan" },
|
||||
"lag": { code: "TZ", name: "Tanzania" },
|
||||
"lb": { code: "LU", name: "Luxembourg" },
|
||||
"lg": { code: "UG", name: "Uganda" },
|
||||
"lkt": { code: "US", name: "United States" },
|
||||
"ln": { code: "AO", name: "Angola" },
|
||||
"lo": { code: "LA", name: "Laos" },
|
||||
"lrc": { code: "IQ", name: "Iraq" },
|
||||
"lt": { code: "LT", name: "Lithuania" },
|
||||
"lu": { code: "CD", name: "Democratic Republic of the Congo" },
|
||||
"luo": { code: "KE", name: "Kenya" },
|
||||
"Luo": { code: "KE", name: "Kenya" },
|
||||
"luy": { code: "KE", name: "Kenya" },
|
||||
"lv": { code: "LV", name: "Latvia" },
|
||||
"mas": { code: "KE", name: "Kenya" },
|
||||
"mer": { code: "KE", name: "Kenya" },
|
||||
"mfe": { code: "MU", name: "Mauritius" },
|
||||
"mg": { code: "MG", name: "Madagascar" },
|
||||
"mgh": { code: "MZ", name: "Mozambique" },
|
||||
"mgo": { code: "CM", name: "Cameroon" },
|
||||
"mk": { code: "MK", name: "North Macedonia" },
|
||||
"ml": { code: "IN", name: "India" },
|
||||
"mn": { code: "MN", name: "Mongolia" },
|
||||
"mr": { code: "IN", name: "India" },
|
||||
"ms": { code: "BN", name: "Brunei" },
|
||||
"mt": { code: "MT", name: "Malta" },
|
||||
"mua": { code: "CM", name: "Cameroon" },
|
||||
"my": { code: "MM", name: "Myanmar" },
|
||||
"mzn": { code: "IR", name: "Iran" },
|
||||
"naq": { code: "NA", name: "Namibia" },
|
||||
"nb": { code: "NO", name: "Norway" },
|
||||
"nd": { code: "ZW", name: "Zimbabwe" },
|
||||
"nds": { code: "DE", name: "Germany" },
|
||||
"ne": { code: "IN", name: "India" },
|
||||
"nl": { code: "NL", name: "Netherlands" },
|
||||
"nmg": { code: "CM", name: "Cameroon" },
|
||||
"nn": { code: "NO", name: "Norway" },
|
||||
"nnh": { code: "CM", name: "Cameroon" },
|
||||
"nus": { code: "SS", name: "South Sudan" },
|
||||
"nyn": { code: "UG", name: "Uganda" },
|
||||
"om": { code: "ET", name: "Ethiopia" },
|
||||
"or": { code: "IN", name: "India" },
|
||||
"os": { code: "GE", name: "Georgia" },
|
||||
"pa": { code: "PK", name: "Pakistan" },
|
||||
"pl": { code: "PL", name: "Poland" },
|
||||
"ps": { code: "AF", name: "Afghanistan" },
|
||||
"pt": { code: "PT", name: "Portugal" },
|
||||
"qu": { code: "BO", name: "Bolivia" },
|
||||
"rm": { code: "CH", name: "Switzerland" },
|
||||
"rn": { code: "BI", name: "Burundi" },
|
||||
"ro": { code: "RO", name: "Romania" },
|
||||
"rof": { code: "TZ", name: "Tanzania" },
|
||||
"ru": { code: "RU", name: "Russia" },
|
||||
"rw": { code: "RW", name: "Rwanda" },
|
||||
"rwk": { code: "TZ", name: "Tanzania" },
|
||||
"sah": { code: "RU", name: "Russia" },
|
||||
"saq": { code: "KE", name: "Kenya" },
|
||||
"sbp": { code: "TZ", name: "Tanzania" },
|
||||
"se": { code: "SE", name: "Sweden" },
|
||||
"seh": { code: "MZ", name: "Mozambique" },
|
||||
"ses": { code: "ML", name: "Mali" },
|
||||
"sg": { code: "CF", name: "Central African Republic" },
|
||||
"shi": { code: "TN", name: "Tunisia" },
|
||||
"si": { code: "LK", name: "Sri Lanka" },
|
||||
"sk": { code: "SK", name: "Slovakia" },
|
||||
"sl": { code: "SI", name: "Slovenia" },
|
||||
"smn": { code: "FI", name: "Finland" },
|
||||
"sn": { code: "ZW", name: "Zimbabwe" },
|
||||
"so": { code: "SO", name: "Somalia" },
|
||||
"sq": { code: "AL", name: "Albania" },
|
||||
"sr": { code: "RS", name: "Serbia" },
|
||||
"sv": { code: "SE", name: "Sweden" },
|
||||
"sw": { code: "CD", name: "Democratic Republic of the Congo" },
|
||||
"ta": { code: "IN", name: "India" },
|
||||
"te": { code: "IN", name: "India" },
|
||||
"teo": { code: "KE", name: "Kenya" },
|
||||
"tg": { code: "TJ", name: "Tajikistan" },
|
||||
"th": { code: "TH", name: "Thailand" },
|
||||
"ti": { code: "ER", name: "Eritrea" },
|
||||
"to": { code: "TO", name: "Tonga" },
|
||||
"tr": { code: "TR", name: "Turkey" },
|
||||
"tt": { code: "RU", name: "Russia" },
|
||||
"twq": { code: "NE", name: "Niger" },
|
||||
"tzm": { code: "MA", name: "Morocco" },
|
||||
"ug": { code: "CN", name: "China" },
|
||||
"uk": { code: "UA", name: "Ukraine" },
|
||||
"ur": { code: "IN", name: "India" },
|
||||
"uz": { code: "UZ", name: "Uzbekistan" },
|
||||
"vai": { code: "TN", name: "Tunisia" },
|
||||
"Vai": { code: "TN", name: "Tunisia" },
|
||||
"vi": { code: "VN", name: "Vietnam" },
|
||||
"vun": { code: "TZ", name: "Tanzania" },
|
||||
"wae": { code: "CH", name: "Switzerland" },
|
||||
"wo": { code: "SN", name: "Senegal" },
|
||||
"xog": { code: "UG", name: "Uganda" },
|
||||
"yav": { code: "CM", name: "Cameroon" },
|
||||
"yi": { code: "01", name: "Unknown" }, // Placeholder for unspecified region
|
||||
"yo": { code: "BJ", name: "Benin" },
|
||||
"yue": { code: "CN", name: "China" },
|
||||
"zgh": { code: "MA", name: "Morocco" },
|
||||
"zh": { code: "CN", name: "China" },
|
||||
"zu": { code: "ZA", name: "South Africa" },
|
||||
};
|
||||
|
||||
|
||||
//async function getCountryName(countryCode) {
|
||||
//try {
|
||||
//const response = await fetch(`https://restcountries.com/v3.1/alpha/${countryCode}`);
|
||||
//if (!response.ok) throw new Error('Country not found');
|
||||
//const data = await response.json();
|
||||
//// Return the name in the native language
|
||||
//return data[0].name.common;
|
||||
//} catch (error) {
|
||||
//console.error(error);
|
||||
//return 'Unknown Country';
|
||||
//}
|
||||
//}
|
||||
|
||||
function getCountryNameFromLanguage(language) {
|
||||
return languageToCountryMap[language] ? languageToCountryMap[language].name : null;
|
||||
}
|
||||
|
||||
function getCountryCodeFromLanguage(language) {
|
||||
return languageToCountryMap[language] ? languageToCountryMap[language].code : null;
|
||||
}
|
||||
|
||||
function getCountryNameFromCountryCode(countryCode) {
|
||||
//alert(`Country code: ${countryCode}`);
|
||||
for (const language in languageToCountryMap) {
|
||||
if (languageToCountryMap.hasOwnProperty(language)) {
|
||||
if (languageToCountryMap[language].code === countryCode) {
|
||||
return languageToCountryMap[language].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null; // Return null if country code not found
|
||||
}
|
||||
|
||||
function getFlagEmoji(locale) {
|
||||
// Split the locale to get the language and country code
|
||||
const parts = locale.split('-');
|
||||
let countryCode;
|
||||
|
||||
// Handle single subtag (language only) or double subtag (language-country)
|
||||
if (parts.length === 1) {
|
||||
countryCode = getCountryCodeFromLanguage(parts[0]);
|
||||
} else if (parts.length === 2) {
|
||||
countryCode = parts[1].toLowerCase(); // Use the country code
|
||||
}
|
||||
|
||||
// If country code is not found, set a fallback output
|
||||
if (!countryCode) {
|
||||
const fallback = `? ${locale.toUpperCase()}`; // Just a question mark and the full locale
|
||||
return { flag: fallback, isUnknown: true, countryName: 'Unknown Country' };
|
||||
}
|
||||
|
||||
// Convert the country code to a flag emoji
|
||||
return {
|
||||
flag: String.fromCodePoint(...[...countryCode.toUpperCase()].map(char => 0x1F1E6 + char.charCodeAt(0) - 'A'.charCodeAt(0))),
|
||||
isUnknown: false,
|
||||
countryCode: countryCode
|
||||
};
|
||||
}
|
||||
|
||||
function displayLocaleAndFlag() {
|
||||
// Get the browser locale
|
||||
const userLocale = navigator.language || navigator.userLanguage;
|
||||
//alert(`User Locale: ${userLocale}`); // Alert the detected locale
|
||||
|
||||
const { flag, isUnknown, countryCode } = getFlagEmoji(userLocale);
|
||||
|
||||
//alert(`Country Code: ${countryCode}, Is Unknown: ${isUnknown}`); // Debug country code and unknown flag status
|
||||
|
||||
// Display the locale and the corresponding flag (or fallback)
|
||||
//document.getElementById('locale').textContent = `Your Locale: ${userLocale}`;
|
||||
|
||||
if (isUnknown) {
|
||||
const fallbackDiv = document.createElement('div');
|
||||
fallbackDiv.className = 'fallback-box';
|
||||
fallbackDiv.textContent = `? ${userLocale.toUpperCase()}`; // Show ? and locale code inside the box
|
||||
document.getElementById('flag-container').appendChild(fallbackDiv);
|
||||
|
||||
// Tooltip for fallback
|
||||
fallbackDiv.title = "Unknown Country"; // Tooltip for fallback
|
||||
//alert('Fallback triggered: Unknown Country'); // Debug fallback
|
||||
} else {
|
||||
const countryName = getCountryNameFromCountryCode(countryCode.toUpperCase());
|
||||
//alert(`Country Name from Country Code: ${countryName}`); // Alert the country name
|
||||
|
||||
const flagSpan = document.createElement('span');
|
||||
flagSpan.textContent = flag; // Use flag emoji
|
||||
flagSpan.title = countryName; // Tooltip for the flag in country language
|
||||
document.getElementById('flag-container').appendChild(flagSpan);
|
||||
|
||||
//alert(`Flag Emoji: ${flag}`); // Debug flag emoji display
|
||||
}
|
||||
}
|
||||
displayLocaleAndFlag();
|
||||
});
|
@@ -0,0 +1,28 @@
|
||||
$(document).ready(function() {
|
||||
function toggleUPSClasses() {
|
||||
var selectedOption = $('#Nutmode_select').val();
|
||||
$('.masterups').toggle(selectedOption === 'netserver' || selectedOption === 'standalone'); // Show/Hide masterups based on Net Server or Standalone
|
||||
$('.slaveups').toggle(selectedOption === 'netclient'); // Show/Hide slaveups based on Net Client
|
||||
|
||||
// Enable/Disable inputs based on the selected option
|
||||
$('.masterups input').prop('disabled', !(selectedOption === 'netserver' || selectedOption === 'standalone'));
|
||||
$('.slaveups input').prop('disabled', selectedOption !== 'netclient');
|
||||
}
|
||||
|
||||
function toggleGenerics() {
|
||||
var upsModelValue = $('#UPS_Model_select').val().toLowerCase(); // Get the current value from UPS_Model
|
||||
var isGenericUps = upsModelValue === 'genericups'; // Check if it's 'genericups'
|
||||
|
||||
// Show/Hide generics section and enable/disable inputs
|
||||
$('.generics').toggle(isGenericUps);
|
||||
$('.generics input').prop('disabled', !isGenericUps); // Enable/Disable inputs based on the value
|
||||
}
|
||||
|
||||
// Event listener for the selections
|
||||
$('#Nutmode_select').change(toggleUPSClasses);
|
||||
$('#UPS_Model_select').change(toggleGenerics); // Listen for changes in the UPS_Model dropdown
|
||||
|
||||
// Set the initial state based on current selections
|
||||
toggleGenerics();
|
||||
toggleUPSClasses();
|
||||
});
|
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
This should work on class sidebar-wrapper
|
||||
*/
|
||||
|
||||
const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper';
|
||||
|
||||
const Default = {
|
||||
scrollbarTheme: 'os-theme-light',
|
||||
scrollbarAutoHide: 'leave',
|
||||
scrollbarClickScroll: true,
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
|
||||
if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
|
||||
OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
|
||||
scrollbars: {
|
||||
theme: Default.scrollbarTheme,
|
||||
autoHide: Default.scrollbarAutoHide,
|
||||
clickScroll: Default.scrollbarClickScroll,
|
||||
},
|
||||
overflow: {
|
||||
x: 'hidden',
|
||||
y: 'scroll',
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* This should work with class=data-overlayscrollbars-initialize and id=scrolltarget */
|
||||
|
||||
/* https://kingsora.github.io/OverlayScrollbars/ */
|
||||
|
||||
/* const { OverlayScrollbars, ClickScrollPlugin } = OverlayScrollbarsGlobal;
|
||||
|
||||
// optional: use the ClickScrollPlugin to make the option "scrollbars.clickScroll: true" available
|
||||
OverlayScrollbars.plugin(ClickScrollPlugin);
|
||||
|
||||
OverlayScrollbars(document.body, {
|
||||
scrollbars: {
|
||||
clickScroll: true,
|
||||
},
|
||||
overflow: {
|
||||
x: 'hidden',
|
||||
y: 'scroll',
|
||||
},
|
||||
});
|
||||
OverlayScrollbars(document.getElementById('scrollTarget'), {});
|
||||
|
||||
*/
|
@@ -0,0 +1,25 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const analysisType = document.getElementById('analysis_type');
|
||||
const messageIdGroup = document.getElementById('message_id_group');
|
||||
const emailAddressGroup = document.getElementById('email_address_group');
|
||||
|
||||
// Initially hide both controls
|
||||
messageIdGroup.style.display = 'none';
|
||||
emailAddressGroup.style.display = 'none';
|
||||
|
||||
analysisType.addEventListener('change', function() {
|
||||
// Hide both controls first
|
||||
messageIdGroup.style.display = 'none';
|
||||
emailAddressGroup.style.display = 'none';
|
||||
|
||||
// Show the relevant control based on the selected option
|
||||
switch(this.value) {
|
||||
case 'trace_message':
|
||||
messageIdGroup.style.display = 'block';
|
||||
break;
|
||||
case 'user_activity':
|
||||
emailAddressGroup.style.display = 'block';
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
@@ -0,0 +1,33 @@
|
||||
// js/sme-password.js
|
||||
|
||||
$(document).ready(function() {
|
||||
/* // For each password input
|
||||
$('.sme-password').each(function() {
|
||||
// Create a new container
|
||||
//alert("sme-password");
|
||||
var $inputContainer = $('<div class="input-container"></div>');
|
||||
|
||||
// Move the input into the new container
|
||||
$(this).wrap($inputContainer);
|
||||
|
||||
// Create the toggle image
|
||||
var $togglePassword = $('<img src="images/visible.png" alt="Show Password" class="toggle-password" />');
|
||||
|
||||
// Append the toggle image to the container
|
||||
$(this).after($togglePassword);
|
||||
}); */
|
||||
|
||||
$('.toggle-password').on('click', function() {
|
||||
// Find the associated password field
|
||||
var input = $(this).siblings('.sme-password');
|
||||
|
||||
// Toggle the type attribute between password and text
|
||||
var inputType = input.attr('type') === 'password' ? 'text' : 'password';
|
||||
input.attr('type', inputType);
|
||||
|
||||
// Toggle the icon source based on the input type
|
||||
// Check boostrap colours?
|
||||
// var iconSrc = inputType === 'password' ? 'images/visible.png' : 'images/visible-slash.png';
|
||||
// $(this).attr('src', iconSrc);
|
||||
});
|
||||
});
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -29,7 +29,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_ENABLE_TAPE_BACKUP'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% if ( $bac_datas->{status} eq 'checked' ) {
|
||||
<input type='checkbox' name='Tapebackup' checked >
|
||||
%} else {
|
||||
@@ -42,7 +43,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_TAPE_BACKUP_TIME'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupHour' => $bac_datas->{backupHour} unless param 'BackupHour';
|
||||
%= text_field 'BackupHour', size => '2'
|
||||
% param 'BackupMin' => $bac_datas->{backupMin} unless param 'BackupMin';
|
||||
@@ -50,7 +52,8 @@
|
||||
</span>
|
||||
<!--span class="">
|
||||
%=l 'AM/PM:'
|
||||
<!--/span--><span class="">
|
||||
<!--/span-->
|
||||
<span class="">
|
||||
% param 'BackupAMPM' => $bac_datas->{backupAMPM} unless param 'BackupAMPM';
|
||||
%= select_field 'BackupAMPM' => ['AM', 'PM'], class => ""
|
||||
</span>
|
||||
@@ -59,7 +62,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_LOAD_TAPE_REMINDER_TIME'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'ReminderHour' => $bac_datas->{reminderHour} unless param 'ReminderHour';
|
||||
%= text_field 'ReminderHour', size => '2'
|
||||
% param 'ReminderMin' => $bac_datas->{reminderMin} unless param 'ReminderMin';
|
||||
@@ -67,7 +71,8 @@
|
||||
</span>
|
||||
<!--span class="">
|
||||
%=l 'AM/PM:'
|
||||
<!--/span--><span class="">
|
||||
<!--/span-->
|
||||
<span class="">
|
||||
% param 'ReminderAMPM' => $bac_datas->{reminderAMPM} unless param 'ReminderAMPM';
|
||||
%= select_field 'ReminderAMPM' => ['AM', 'PM'], class => ""
|
||||
</span>
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -29,19 +30,24 @@
|
||||
%=l 'bac_WORKSTN_BACKUP_ENABLED'
|
||||
<span class="">
|
||||
%= $bac_datas->{status}
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
|
||||
%= $c->render_to_string(inline => $c->workstnBackupConfig())
|
||||
|
||||
<p><h3>
|
||||
<p>
|
||||
<h3>
|
||||
%= l 'bac_WORKSTATION_BACKUP_SETCONF'
|
||||
</h3><br>
|
||||
</h3>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_VFS_TYPE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'VFSType' => $bac_datas->{vfstype} unless param 'VFSType';
|
||||
%= select_field 'VFSType' => $c->get_VFSType_options(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'} . '1'
|
||||
%= submit_button $c->l('NEXT'), class => ""
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -11,7 +12,7 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br><div>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -29,7 +30,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_ENABLE_WORKSTN_BACKUP'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% if ( $bac_datas->{status} eq 'checked' ) {
|
||||
<input type='checkbox' name='Workstnbackup' checked >
|
||||
%} else {
|
||||
@@ -38,39 +40,48 @@
|
||||
</span>
|
||||
|
||||
</p>
|
||||
<p><h3>
|
||||
<p>
|
||||
<h3>
|
||||
%= l 'bac_WORKSTATION_BACKUP_DEST'
|
||||
</h3><br>
|
||||
</h3>
|
||||
<br>
|
||||
|
||||
% if ( $bac_datas->{vfstype} =~ m/cifs|nfs/s ) {
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_NAME'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkStation' => $bac_datas->{station} unless param 'BackupwkStation';
|
||||
%= text_field 'BackupwkStation', size => 20, class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
%}
|
||||
% if ( $bac_datas->{vfstype} eq 'usb' ) {
|
||||
<span class="">
|
||||
%=l 'bac_local removable disk'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{mount} unless param 'BackupwkFolder';
|
||||
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
% } elsif ( $bac_datas->{vfstype} eq 'mnt') {
|
||||
<span class="">
|
||||
%=l 'bac_Mounted disk'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
|
||||
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
% } else {
|
||||
<span class="">
|
||||
%=l 'bac_SHARED_FOLDER_NAME'
|
||||
</span><span class="">
|
||||
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
|
||||
%= text_field 'BackupwkFolder', size => 20, class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
%}
|
||||
% if ( $bac_datas->{vfstype} eq 'cifs' ) {
|
||||
<span class="">
|
||||
@@ -78,7 +89,9 @@
|
||||
</span><span class="">
|
||||
% param 'BackupwkLogin' => $bac_datas->{login} unless param 'BackupwkLogin';
|
||||
%= text_field 'BackupwkLogin', size => 12, class => ""
|
||||
</span><br><span class="">
|
||||
</span>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_PASSWORD'
|
||||
</span><span class="">
|
||||
% param 'BackupwkPassword' => $bac_datas->{password} unless param 'BackupwkPassword';
|
||||
@@ -89,9 +102,11 @@
|
||||
%= l 'bac_WORKSTN_BACKUP_SETTINGS'
|
||||
</h3><br>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_NUMBER_OF_SETS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SetsNumber' => $bac_datas->{setsNumber} unless param 'SetsNumber';
|
||||
%= text_field 'SetsNumber', size => '3'
|
||||
</span>
|
||||
@@ -104,7 +119,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_BACKUP_TIME'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkHour' => $bac_datas->{hour} unless param 'BackupwkHour';
|
||||
%= text_field 'BackupwkHour', size => '2'
|
||||
% param 'BackupwkMin' => $bac_datas->{min} unless param 'BackupwkMin';
|
||||
@@ -119,7 +135,8 @@
|
||||
|
||||
<p><span class="">
|
||||
%=l 'bac_WORKSTN_TIMEOUT'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BackupwkTimeout' => $bac_datas->{timeout} unless param 'BackupwkTimeout';
|
||||
%= text_field 'BackupwkTimeout', size => '2'
|
||||
</span>
|
||||
@@ -135,7 +152,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_COMPRESSION_LEVEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Compression' => $bac_datas->{compression} unless param 'Compression';
|
||||
%= text_field 'Compression', size => '1'
|
||||
</span>
|
||||
@@ -143,7 +161,8 @@
|
||||
<span class="">
|
||||
% param 'Dof' => $bac_datas->{dof} unless param 'Dof';
|
||||
%= select_field 'Dof' => $c->get_dow_list(), class => ""
|
||||
</p><br>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
%= hidden_field 'Function' => $bac_datas->{function}
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -33,7 +34,8 @@
|
||||
|
||||
<br><br><span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Backupset_options(), class => ""
|
||||
</span><br><br>
|
||||
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -26,17 +27,22 @@
|
||||
|
||||
<h3><%=l 'bac_BACKUP_CHOICE' %></h3>
|
||||
|
||||
<br><span class="">
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Restoreset_options(), class => ""
|
||||
</span><br>
|
||||
|
||||
<br><span class="">
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_FILTER_EXPRESSION'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Filterexp', size => 32, class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= submit_button $c->l('PERFORM'), class => ""
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -19,7 +20,8 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
|
||||
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2><br>
|
||||
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2>
|
||||
<br>
|
||||
|
||||
%= $c->render_to_string(inline => (l 'bac_READ_COMPLETE'))
|
||||
|
||||
@@ -27,15 +29,19 @@
|
||||
|
||||
<br><span class="">
|
||||
%=l 'bac_SELECT_FILES_TO_RESTORE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Restorefiles' => $c->get_Restorefiles_options($bac_datas->{'filterexp'},$bac_datas->{'backupset'}), class => "", multiple => 1, size => 15
|
||||
</span><br>
|
||||
|
||||
<br><span class="">
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_DATE_BEFORE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Seldatebefore', size => 32, class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'}
|
||||
%= hidden_field 'Backupset' => $bac_datas->{'backupset'}
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -11,7 +12,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - backup - verify";
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -10,7 +11,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -28,21 +30,30 @@
|
||||
% } else {
|
||||
%= $c->render_to_string(inline => (l 'bac_VERIFY_WORKSTN_BACKUP_DESC') . ' ' . $c->get_shared_folder_to_verify())
|
||||
%}
|
||||
<br><br><span class="">
|
||||
<br>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_BACKUP_FILE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= select_field 'Backupset' => $c->get_Backupset_options(), class => ""
|
||||
</span><br>
|
||||
</span>
|
||||
<br>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_CHECK_TO_VERIFY_FULL_RESTORE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= check_box 'Verifyall'
|
||||
</span></p><br>
|
||||
</span>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
%=l 'bac_CHECK_INTEGRITY_WARNING'
|
||||
|
||||
<br><br>
|
||||
<br>
|
||||
<br>
|
||||
%= hidden_field 'Function' => $bac_datas->{'function'} . '1'
|
||||
%= submit_button $c->l('bac_VERIFY'), class => ""
|
||||
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - backup - verify";
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -11,7 +12,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -11,12 +12,14 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'warning' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'warning')
|
||||
</div>
|
||||
%}
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -35,9 +38,11 @@
|
||||
%=l 'bac_BACKUP_CONFIG_STATUS'
|
||||
</h2>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_TAPE_BACKUPS',
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->l(uc($bac_datas->{'backupStatus'})).'.'
|
||||
</span>
|
||||
% if ( $bac_datas->{'backupStatus'} eq 'enabled' ) {
|
||||
@@ -50,9 +55,13 @@
|
||||
%= $bac_datas->{'reminderTime'}
|
||||
</span>
|
||||
%}
|
||||
<p><span class="">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_WORKSTN_BACKUPS',
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->l(uc($bac_datas->{'backupwkStatus'})).'.'
|
||||
</span>
|
||||
% if ( $bac_datas->{'backupwkStatus'} eq 'enabled' ) {
|
||||
@@ -61,13 +70,17 @@
|
||||
%= $bac_datas->{'backupwkTime'}
|
||||
</b>
|
||||
%}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'bac_SELECT_AN_ACTION'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Function' => $bac_datas->{function} unless param 'Function';
|
||||
%= select_field 'Function' => $c->get_function_options(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%= submit_button $c->l('PERFORM'), class => ""
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -19,34 +19,48 @@
|
||||
</b>
|
||||
<p>
|
||||
%=l ('bugr_SME_EXPERIENCE')
|
||||
</p><p>
|
||||
</p>
|
||||
<p>
|
||||
%=l ('bugr_USE_TEMPLATE')
|
||||
: <a href="https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs"
|
||||
target="_blank">https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs</a>.
|
||||
</p><p>
|
||||
</p>
|
||||
<p>
|
||||
%=l ('bugr_PLEASE_REPORT_HERE')
|
||||
: <a href="https://bugs.koozali.org" target="_blank">https://bugs.koozali.org</a>.
|
||||
</p><p>
|
||||
</p>
|
||||
<p>
|
||||
%=l ('bugr_FOLLOWING_REPORT_MIGHT_HELP')
|
||||
</p><p>
|
||||
</p>
|
||||
<p>
|
||||
%=l ('bugr_REPORT_CONTENT')
|
||||
<br><ul><li>
|
||||
<br>
|
||||
<ul>
|
||||
<li>
|
||||
%=l ('bugr_SME_VERSION')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_SERVER_MODE')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_PREVIOUS_SERVER_MODE')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_KERNEL_AND_ARCH')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_INSTALLED_RPMS')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_ALTERED_TEMPLATES')
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
%=l ('bugr_ALTERED_EVENTS')
|
||||
</li> <li>
|
||||
%=l ('bugr_YUM_REPOS')
|
||||
</li><br></ul>
|
||||
</li>
|
||||
<br>
|
||||
</ul>
|
||||
%=l ('bugr_PRIVACY')
|
||||
</p>
|
||||
|
||||
@@ -58,11 +72,14 @@
|
||||
|
||||
<p><b>
|
||||
%=l ('bugr_DONATING')
|
||||
</b><br><br>
|
||||
</b>
|
||||
<br><br>
|
||||
%=l ('bugr_AWARE_SME')
|
||||
<br><br><b>
|
||||
<br><br>
|
||||
<b>
|
||||
%=l ('bugr_YOUR_HELP')
|
||||
</b><br><br>
|
||||
</b>
|
||||
<br><br>
|
||||
%=l ('bugr_CONSIDER_DONATING')
|
||||
<br><br>
|
||||
</p>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - clamav";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>(DBG)route: <%= $c->current_route %><br>
|
||||
(DBG)FsS stat: <%= $clm_datas->{FilesystemScan}%> <br>
|
||||
@@ -17,7 +19,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FilesystemScan' => $clm_datas->{FilesystemScan} unless param 'FilesystemScan';
|
||||
%= select_field 'FilesystemScan' => [[ (l 'clm_DAILY') => 'daily'], [ (l 'clm_NEVER') => 'disabled'], [ (l 'clm_WEEKLY') => 'weekly']], class => ""
|
||||
</span>
|
||||
@@ -25,7 +28,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'clm_LABEL_QUARANTINE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Quarantine' => $clm_datas->{Quarantine} unless param 'Quarantine';
|
||||
%= select_field 'Quarantine' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => ""
|
||||
<br>
|
||||
@@ -34,7 +38,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'clm_LABEL_CLAM_VERSIONS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $clm_datas->{clam_versions}
|
||||
<br>
|
||||
</span>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<!-- common_css.html.ep -->
|
||||
|
||||
%= stylesheet 'css/sme-jquery-overrides.css'
|
||||
%= stylesheet 'dist/css/adminlte.min.css'
|
||||
%= stylesheet 'koozali/css/adminlte.koozali.css'
|
||||
%= stylesheet 'koozali/css/flag-icon.min.css'
|
||||
|
||||
%#= stylesheet 'css/sme-jquery-overrides.css'
|
||||
|
||||
%= stylesheet 'dist/css/adminlte.min.css'
|
||||
%= stylesheet 'dist/icons/font/bootstrap-icons.min.css'
|
||||
%#= stylesheet 'dist/css/overlayscrollbars.min.css'
|
@@ -1,6 +1,9 @@
|
||||
<!-- Include files across the whole site -->
|
||||
%= javascript 'js/jquery.min.js'
|
||||
<!-- common_js.html.ep -->
|
||||
%= javascript 'dist/js/jquery.min.js'
|
||||
%= javascript 'dist/js/bootstrap.min.js'
|
||||
%= javascript 'dist/js/popper.min.js'
|
||||
%= javascript 'dist/js/adminlte.min.js'
|
||||
|
||||
%= javascript '/js/flag-by-locale.js'
|
||||
%= javascript '/js/sme-password.js'
|
||||
%= javascript 'koozali/js/flag-by-locale.js'
|
||||
%= javascript 'koozali/js/sme-password.js'
|
||||
|
||||
|
@@ -1,8 +1,9 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - err 400";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
<div class="">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="text-danger">
|
||||
%= l 'CSRF_VALIDATION_FAILURE'
|
||||
</div>
|
||||
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - datetime";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -11,7 +12,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -49,7 +51,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'dat_NTP_SERVER'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Ntpserver' => $dat_datas->{ntpserver}, class => ""
|
||||
</span>
|
||||
</p>
|
||||
@@ -78,36 +81,44 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'dat_NEW_M/D/Y'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Month' => $dat_datas->{month} unless param 'Month';
|
||||
%= select_field 'Month' => $c->getMonth_list(), class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Day' => $dat_datas->{day} unless param 'Day';
|
||||
%= text_field 'Day', size => '2', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Year' => $dat_datas->{year} unless param 'Year';
|
||||
%= text_field 'Year', size => '4', class => ""
|
||||
</span>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'dat_NEW_H/M/S'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Hour' => $dat_datas->{hour} unless param 'Hour';
|
||||
%= text_field 'Hour', size => '2', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Minute' => $dat_datas->{minute} unless param 'Minute';
|
||||
%= text_field 'Minute', size => '2', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Second' => $dat_datas->{second} unless param 'Second';
|
||||
%= text_field 'Second', size => '2', class => ""
|
||||
</span>
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'dat_AM/PM_AND_TZ'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Ampm' => $dat_datas->{ampm} unless param 'Ampm';
|
||||
%= select_field 'Ampm' => ['AM', 'PM'], class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Timezone' => $c->getTimezone() unless param 'Timezone';
|
||||
%= select_field 'Timezone' => $c->getZone_list(), class => ""
|
||||
</span>
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
<p><%= $title %></p>
|
||||
<%= $modul %>
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - directory";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - domains";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - emailaccess";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -22,30 +23,39 @@
|
||||
|
||||
%=l 'mai_DESC_POP_ACCESS_CONTROL'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_POP_ACCESS_CONTROL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'POPAccess' => $c->get_current_pop3_access() unless param 'POPAccess';
|
||||
%= select_field 'POPAccess' => $c->get_pop_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_IMAP_ACCESS_CONTROL'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_IMAP_ACCESS_CONTROL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'IMAPAccess' => $c->get_current_imap_access() unless param 'IMAPAccess';
|
||||
%= select_field 'IMAPAccess' => $c->get_imap_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_WEBMAIL'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_WEBMAIL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'WebMail' => $c->get_current_webmail_status() unless param 'WebMail';
|
||||
%= select_field 'WebMail' => $c->get_webmail_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
%= submit_button "$btn", class => ""
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - emaildeliver";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -11,7 +12,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -26,12 +28,15 @@
|
||||
|
||||
%=l 'mai_DESC_UNKNOWN'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_UNKNOWN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'EmailUnknownUser' => $mai_datas->{emailunknownuser} unless param 'EmailUnknownUser';
|
||||
%= select_field 'EmailUnknownUser' => $c->get_emailunknownuser_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!--<hr class="" />-->
|
||||
<h2>
|
||||
@@ -40,12 +45,15 @@
|
||||
|
||||
%=l 'mai_DESC_DELEGATE'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_DELEGATE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'DelegateMailServer' => $mai_datas->{delegatemailserver} unless param 'DelegateMailServer';
|
||||
%= text_field 'DelegateMailServer', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!--<hr class="" />-->
|
||||
<h2>
|
||||
@@ -54,33 +62,45 @@
|
||||
|
||||
%=l 'mai_DESC_SMARTHOST'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SMARTHOST'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SMTPSmartHost' => $mai_datas->{smtpsmarthost} unless param 'SMTPSmartHost';
|
||||
%= text_field 'SMTPSmartHost', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SMTPAUTHPROXY_status' => $mai_datas->{smtpauthproxystatus} unless param 'SMTPAUTHPROXY_status';
|
||||
%= select_field 'SMTPAUTHPROXY_status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SMTPAUTHPROXY_Userid' => $mai_datas->{smtpauthproxyuserid} unless param 'SMTPAUTHPROXY_Userid';
|
||||
%= text_field 'SMTPAUTHPROXY_Userid', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SMTPAUTHPROXY_Passwd' => $mai_datas->{smtpauthproxypassword} unless param 'SMTPAUTHPROXY_Passwd';
|
||||
%= password_field 'SMTPAUTHPROXY_Passwd', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
%= submit_button "$btn", class => ""
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - emailfilter";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body"
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -11,7 +12,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -22,74 +24,102 @@
|
||||
|
||||
%=l 'mai_DESC_VIRUS_SCAN'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_VIRUS_SCAN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'VirusStatus' => $mai_datas->{virusstatus} unless param 'VirusStatus';
|
||||
%= select_field 'VirusStatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
|
||||
</span><br></p>
|
||||
</span>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_SPAM_SCAN'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_SCAN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Spamstatus' => $mai_datas->{spamstatus} unless param 'Spamstatus';
|
||||
%= select_field 'Spamstatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_SENSITIVITY'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamSensitivity' => $mai_datas->{spamsensitivity} unless param 'SpamSensitivity';
|
||||
%= select_field 'SpamSensitivity' => $c->get_spam_sensitivity_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_TAGLEVEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamTagLevel' => $mai_datas->{spamtaglevel} unless param 'SpamTagLevel';
|
||||
%= select_field 'SpamTagLevel' => $c->get_spam_level_options(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_REJECTLEVEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamRejectLevel' => $mai_datas->{spamrejectlevel} unless param 'SpamRejectLevel';
|
||||
%= select_field 'SpamRejectLevel' => $c->get_spam_level_options(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SORTSPAM'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamSortSpam' => $mai_datas->{spamsortspam} unless param 'SpamSortSpam';
|
||||
%= select_field 'SpamSortSpam' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_SPAM_SUBJECT'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_SUBJECTTAG'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamSubjectTag' => $mai_datas->{spamsubjecttag} unless param 'SpamSubjectTag';
|
||||
%= select_field 'SpamSubjectTag' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_SUBJECT'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpamSubject' => $mai_datas->{spamsubject} unless param 'SpamSubject';
|
||||
%= text_field 'SpamSubject' => class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_BLOCK_EXECUTABLE_CONTENT'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_CONTENT_TO_BLOCK'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'BlockExecutableContent' => $c->get_patterns_current_opt() unless param 'BlockExecutableContent';
|
||||
%= select_field 'BlockExecutableContent' => $c->get_patterns_opt(), class => "", multiple => "1"
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
%= submit_button "$btn", class => ""
|
||||
|
@@ -5,7 +5,7 @@
|
||||
% use constant FALSE => 0;
|
||||
% use constant TRUE => 1;
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -16,7 +16,8 @@
|
||||
% }
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -27,9 +28,11 @@
|
||||
|
||||
%=l 'mai_DESC_MODE'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_MODE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FetchmailMethod' => $mai_datas->{fetchmailmethod} unless param 'FetchmailMethod';
|
||||
<!--
|
||||
<pre>
|
||||
@@ -39,7 +42,8 @@
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%#=l 'mai_DESC_SMTP_AUTH_CONTROL'
|
||||
<br />
|
||||
@@ -51,9 +55,11 @@
|
||||
<br />
|
||||
|
||||
% my $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SMTPAuth' => $c->get_current_smtp_auth( FALSE ) unless param 'SMTPAuth';
|
||||
<!--
|
||||
<pre>
|
||||
@@ -64,21 +70,26 @@
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:');
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) unless param 'sSMTPAuth';
|
||||
|
||||
%= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%my $smtp_mesg=l('Submission port %u status:');
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) unless param 'uSMTPAuth';
|
||||
<!--
|
||||
<pre>
|
||||
@@ -90,7 +101,8 @@
|
||||
</pre>
|
||||
-->
|
||||
%= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!--<hr class="" />-->
|
||||
<h2>
|
||||
@@ -99,63 +111,87 @@
|
||||
|
||||
%=l 'mai_DESC_SECONDARY'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SECONDARY'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SecondaryMailServer' => $mai_datas->{secondarymailserver} unless param 'SecondaryMailServer';
|
||||
%= text_field 'SecondaryMailServer', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%=l 'mai_DESC_FETCH_PERIOD'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_FETCH_PERIOD'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FreqOffice' => $mai_datas->{freqoffice} unless param 'FreqOffice';
|
||||
%= select_field 'FreqOffice' => $c->fetchmail_freq(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_FETCH_PERIOD_NIGHTS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FreqOutside' => $mai_datas->{freqoutside} unless param 'FreqOutside';
|
||||
%= select_field 'FreqOutside' => $c->fetchmail_freq(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_FETCH_PERIOD_WEEKENDS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FreqWeekend' => $mai_datas->{freqweekend} unless param 'FreqWeekend';
|
||||
%= select_field 'FreqWeekend' => $c->fetchmail_freq(), class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_POP_ACCOUNT'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SecondaryMailAccount' => $mai_datas->{secondarymailaccount} unless param 'SecondaryMailAccount';
|
||||
%= text_field 'SecondaryMailAccount', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_POP_PASS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SecondaryMailPassword' => $mai_datas->{secondarymailpassword} unless param 'SecondaryMailPassword';
|
||||
%= password_field 'SecondaryMailPassword', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SORT_METHOD'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SpecifyHeader' => $mai_datas->{specifyheader} unless param 'SpecifyHeader';
|
||||
%= select_field 'SpecifyHeader' => [[(l 'mai_DEFAULT') => 'off'], [(l 'mai_SPECIFY_BELOW') => 'on']], class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SORT_HEADER'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SecondaryMailEnvelope' => $mai_datas->{secondarymailenvelope} unless param 'SecondaryMailEnvelope';
|
||||
%= text_field 'SecondaryMailEnvelope', class => ""
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
%= submit_button "$btn", class => ""
|
||||
|
@@ -5,9 +5,9 @@
|
||||
% use constant FALSE => 0;
|
||||
% use constant TRUE => 1;
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == TRUE) {
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $mai_datas
|
||||
@@ -23,23 +23,32 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
%= form_for 'emailsettings' => (method => 'POST') => begin
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_POP_ACCESS_CONTROL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_pop3_access( TRUE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_IMAP_ACCESS_CONTROL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_imap_access( TRUE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_WEBMAIL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_webmail_status( TRUE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_ACCESS_BUTTON');
|
||||
<div class="">
|
||||
@@ -53,23 +62,32 @@
|
||||
<!--<hr class="" />-->
|
||||
|
||||
%= form_for 'emailsettings' => (method => 'POST') => begin
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_VIRUS_SCAN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_virus_status(TRUE)
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SPAM_SCAN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_spam_status(TRUE)
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_patterns_status(TRUE)
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_FILTERING_BUTTON');
|
||||
<div class="">
|
||||
@@ -83,34 +101,46 @@
|
||||
<!--<hr class="" />-->
|
||||
|
||||
%= form_for 'emailsettings' => (method => 'POST') => begin
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_MODE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $mai_datas->{fetchmailmethod}
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $smtp_mesg;
|
||||
|
||||
% $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_smtp_auth( TRUE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:');
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% $smtp_mesg=l 'Submission port %u status:';
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_current_smtp_ssl_auth( TRUE,'u', FALSE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
<br />
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_RECEPTION_BUTTON');
|
||||
@@ -125,23 +155,32 @@
|
||||
<!--<hr class="" />-->
|
||||
|
||||
%= form_for 'emailsettings' => (method => 'POST') => begin
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_UNKNOWN'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_emailunknownuser_status( TRUE )
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_DELEGATE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_value('DelegateMailServer')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'mai_LABEL_SMARTHOST'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_value('SMTPSmartHost')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
% my $btn = l('mai_DESC_STATE_DELIVERY_BUTTON');
|
||||
<div class="">
|
||||
|
@@ -2,18 +2,21 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
</p>
|
||||
% }
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
<h1> Embedded - <%=$title %></h1><br>
|
||||
<h1> Embedded - <%=$title %></h1>
|
||||
<br>
|
||||
<p>If the legacy panel does not appear, then you may not be logged into the original Server manager.<br />You can log in by clicking <a href="/server-manager" target='_blank'>here</a>. Or by clicking on the "Legacy SM" button at the top of the window.</p>
|
||||
% my $height = $c->stash('height') | '600px';
|
||||
% if ($height !~ /px$/) { $height = $height.'px';}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
<br>dev<br>
|
||||
Oups !!!
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - groups";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - hostentries";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - ibays";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
</p>
|
||||
% }
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br>
|
||||
@@ -20,9 +20,8 @@
|
||||
<h3><%= $title %> </h3>
|
||||
<!-- <h3>template: initial.html.ep</h3> -->
|
||||
<!-- <H1>Initial AdminLTE</H1> -->
|
||||
<p>
|
||||
|
||||
%= $modul
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
@@ -1,38 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<!-- default +jquery -->
|
||||
<!-- https://icons.getbootstrap.com/ -->
|
||||
|
||||
<!-- Nice mojo links -->
|
||||
<!-- https://en.mojolicious.perlzemi.com/blog/20140414139745.html -->
|
||||
<!-- https://en.mojolicious.perlzemi.com/blog/20110616130993.html -->
|
||||
|
||||
<head>
|
||||
<title>
|
||||
<%= $title %>
|
||||
</title>
|
||||
<link rel="made" href="mailto:bugs%40koozali.org">
|
||||
<link rel="icon" type="image/x-icon" href="koozali/assets/img/favicon.ico">
|
||||
<meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
%= content_for 'head_contrib'
|
||||
% if (config 'hasJquery') {
|
||||
%= include 'partials/_js_imports'
|
||||
%= include 'common_js'
|
||||
% }
|
||||
|
||||
%= content_for 'refresh'
|
||||
|
||||
%= include 'common_js'
|
||||
%= include 'common_css'
|
||||
|
||||
<!-- Custom overrides js/css? -->
|
||||
<!-- This needs refining - do contribs add in their own stuff?? -->
|
||||
<!-- This needs refining -->
|
||||
|
||||
<!-- Custom overrides? -->
|
||||
% if (config 'hasJquery') {
|
||||
%= include 'partials/_js_imports'
|
||||
|
||||
% }
|
||||
|
||||
% if ($c->current_route eq 'nutups') {
|
||||
%= include 'partials/_nutups_overrides'
|
||||
% }
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body class="sidebar-expand-lg bg-body-tertiary">
|
||||
<body class="sidebar-expand-lg bg-body-tertiary app-loaded">
|
||||
|
||||
|
||||
<!-- This is set from the data at the top of the _partials -->
|
||||
@@ -47,9 +52,12 @@
|
||||
<div class="app-wrapper">
|
||||
|
||||
|
||||
<!-- Should create a new separate header partial -->
|
||||
<!-- Should create a new separate header partial?? -->
|
||||
|
||||
<!--begin::Header-->
|
||||
|
||||
<nav id="koozali_grad" class="app-header navbar navbar-expand bg-success-subtle" data-bs-theme="light">
|
||||
|
||||
<!--begin::Container-->
|
||||
<div class="container-fluid">
|
||||
<!--begin::Start Navbar Links-->
|
||||
@@ -72,12 +80,12 @@
|
||||
</li>
|
||||
</ul>
|
||||
<!--end::Start Navbar Links-->
|
||||
|
||||
<!-- this can do direct to header so always available-->
|
||||
% if ($c->is_logged_in && scalar @{SrvMngr::theme_list( $c )} > 1) {
|
||||
%= include 'partials/_swt_theme'
|
||||
% }
|
||||
|
||||
|
||||
</div>
|
||||
<!--end::Container-->
|
||||
</nav>
|
||||
@@ -87,6 +95,7 @@
|
||||
|
||||
|
||||
<!--begin::Sidebar-->
|
||||
|
||||
<aside class="app-sidebar bg-success-subtle" data-bs-theme="light">
|
||||
<!--begin::Sidebar Brand-->
|
||||
<div class="sidebar-brand sidebar-dark-primary">
|
||||
@@ -105,7 +114,7 @@
|
||||
<!--end::Sidebar Brand-->
|
||||
|
||||
<!--begin::Sidebar Wrapper-->
|
||||
<div class="sidebar-wrapper">
|
||||
<div class="sidebar-wrapper navbar-nav-scroll">
|
||||
<nav class="mt-2">
|
||||
<!--begin::Sidebar Menu-->
|
||||
<ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
|
||||
@@ -126,10 +135,12 @@
|
||||
</div>
|
||||
<!--end::Sidebar Wrapper-->
|
||||
</aside>
|
||||
|
||||
<!--end::Sidebar-->
|
||||
|
||||
|
||||
<!--begin::App Main-->
|
||||
|
||||
<main class="app-main">
|
||||
|
||||
<!-- Can add a header row here? -->
|
||||
@@ -143,15 +154,29 @@
|
||||
<!-- Add breadcrumb here -->
|
||||
%= include 'partials/_app_content_breadcrumb'
|
||||
|
||||
<! We can add extra rows in the main panel here -->
|
||||
<!-- We can add extra rows in the main panel here -->
|
||||
|
||||
<!-- %#= include 'partials/_app_content_first_row' -->
|
||||
<!-- %#= include 'partials/_app_content_demo_row' -->
|
||||
|
||||
<!--end::Rows-->
|
||||
<br>
|
||||
|
||||
<!-- <br> -->
|
||||
|
||||
<!-- This is the main page content depening on the calling module -->
|
||||
<!-- nameofpanel.html.ep -->
|
||||
<!-- That will also include it's own _partials -->
|
||||
%#= dumper $c->current_route
|
||||
% if ($c->current_route ne 'login') {
|
||||
%= include 'partials/_panel_card_top'
|
||||
%= include 'partials/_panel_card_header'
|
||||
% }
|
||||
%= content 'module'
|
||||
|
||||
% if ($c->current_route ne 'login') {
|
||||
%= include 'partials/_panel_card_footer'
|
||||
%= include 'partials/_panel_card_bottom'
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
<!--end::App Content-->
|
||||
@@ -159,6 +184,7 @@
|
||||
</main>
|
||||
<!--end::App Main-->
|
||||
|
||||
<!-- This is the original footer - move content to new one -->
|
||||
<!-- %= include 'partials/_footer' -->
|
||||
|
||||
<!--begin::Footer-->
|
||||
|
@@ -6,9 +6,11 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<!-- needs moving -->
|
||||
|
||||
%= stylesheet '/css/letsencrypt.css'
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<pre>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - localnetworks";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -77,7 +77,7 @@
|
||||
<!-- /.col -->
|
||||
<div class="col-4">
|
||||
<div class="d-grid gap-2">
|
||||
<button type="submit" class="btn btn-primary">Sign In</button>
|
||||
<button type="submit" class="btn btn-primary">Login</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
|
@@ -1,69 +0,0 @@
|
||||
% layout 'AdminLTE' , title => "Sme server 2 - login";
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
|
||||
%if ( config 'debug' ) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%if ( stash 'trt' ) {
|
||||
%= dumper stash 'trt'
|
||||
%}
|
||||
</p>
|
||||
%}
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
|
||||
% my $btn = l('use_SIGNIN');
|
||||
% if ( $trt eq 'RESET' ) {
|
||||
<br><div class=""><h2>
|
||||
%= $c->render_to_string(inline => l 'use_DESC_RESET')
|
||||
</h2></div>
|
||||
% $btn = l('use_RESET');
|
||||
%}
|
||||
|
||||
<h1>
|
||||
%=l 'use_TITLE'
|
||||
</h1>
|
||||
|
||||
%= form_for '/login' => (method => 'POST') => begin
|
||||
|
||||
<p><span class="">
|
||||
%=l 'USER_NAME'
|
||||
</span><span class="">
|
||||
%= text_field 'Username'
|
||||
</span></p>
|
||||
|
||||
% if ( $trt ne 'RESET' ) {
|
||||
<p><span class="">
|
||||
%=l 'PASSWORD'
|
||||
</span><span class="">
|
||||
%= password_field 'Password', id => "", autocomplete => 'current-password', class=>""
|
||||
% if (config 'hasJquery') {
|
||||
%#<a href='#' id="" class=""> <img src="images/visible.png" height="16" alt="Visible"></a>
|
||||
% }
|
||||
</span></p>
|
||||
%}
|
||||
|
||||
%= hidden_field 'From' => $c->tx->req->url
|
||||
%= hidden_field 'Trt' => $trt
|
||||
|
||||
<br>
|
||||
<div class="">
|
||||
%= submit_button "$btn", class => ""
|
||||
</div>
|
||||
%if ( config 'pwdreset' ) {
|
||||
<div class=""><a href='login2'>
|
||||
%=l 'use_FORGOT'
|
||||
</a></div>
|
||||
%}
|
||||
|
||||
% end
|
||||
|
||||
</div>
|
||||
%end
|
@@ -1,8 +1,11 @@
|
||||
% layout 'AdminLTE', title => 'Sme server 2 - Manual';
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
<p><h1><%= $title %></h1></p>
|
||||
|
||||
<div class="card-body">
|
||||
<p>
|
||||
<h1><%= $title %></h1>
|
||||
</p>
|
||||
%= $c->render_to_string( inline => stash 'modul' )
|
||||
</div>
|
||||
|
||||
|
@@ -2,9 +2,11 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<!-- should be moved? -->
|
||||
|
||||
%= stylesheet '/css/module.css'
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
<strong>Debug Info:</strong>
|
||||
|
@@ -2,8 +2,9 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<p><br>dev<br> Oups !!!
|
||||
<div class="card-body">
|
||||
<p>
|
||||
<br>dev<br> Oups !!!
|
||||
The page you were requesting
|
||||
"<%= $self->req->url->path || '/' %>"
|
||||
could not be found.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
% layout 'AdminLTE', title => 'Sme server 2 - Error P';
|
||||
<div id="" class="">
|
||||
<p><br><br>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
<br><br>
|
||||
The page you were requesting
|
||||
"<%= $self->req->url->path || '/' %>"
|
||||
could not be found.
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
<p><br>dev<br> Oups !!!
|
||||
The page you were requesting
|
||||
"<%= $self->req->url->path || '/' %>"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<pre>
|
||||
|
@@ -8,7 +8,10 @@
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-start">
|
||||
<li class="breadcrumb-item"><a href="initial">Home</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page"><%= $c->current_route %></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
<a href="<%= $c->stash('controller') %>"> <%= $c->stash('controller') %>
|
||||
</a>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,7 +1,6 @@
|
||||
<div id="" class="">
|
||||
<div>
|
||||
<!--<HR class="">-->
|
||||
<a href="https://mojolicious.org" target="_blank"><img src="images/sme-mojo-logo-white.png" style="position:relative;"></a>
|
||||
<font class="">
|
||||
% if ( $c->is_logged_in && $c->is_admin) {
|
||||
SME Server <%= session 'releaseVersion' %>-<%= $c->app->VERSION %> Manager II
|
||||
% my $mode;
|
||||
@@ -11,4 +10,3 @@
|
||||
<br>Copyright 1999-2006 Mitel Corporation<br>
|
||||
%= session 'copyRight'
|
||||
<br>Copyright (c) 2013-2024 Koozali Foundation Inc.<br>
|
||||
</font>
|
@@ -18,7 +18,7 @@
|
||||
%=l 'PASSWORD_NEW', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'newPass', class => "" , class="">'sme-password'
|
||||
%= password_field 'newPass', class => "" , class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
%=l 'PASSWORD_VERIFY_NEW', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'newPassVerify', class => "", class="">'sme-password'
|
||||
%= password_field 'newPassVerify', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
|
@@ -25,19 +25,19 @@
|
||||
<a href='letsencryptd?trt=PARAMS' class="">
|
||||
%= l('lets_CONFIG')
|
||||
</a>
|
||||
%#= link_to l('lets_CONFIG'), 'letsencryptd?trt=PARAMS' , class="">'link link2'
|
||||
%#= link_to l('lets_CONFIG'), 'letsencryptd?trt=PARAMS' , class=> 'link link2'
|
||||
|
||||
|
||||
<a href='letsencryptd?trt=CHECKALLDOMAINS' class="">
|
||||
%= l('lets_CHECK_ALL_DOMAINS')
|
||||
</a>
|
||||
%#= link_to l('lets_CHECK_ALL_DOMAINS'), 'letsencryptd?trt=CHECKALLDOMAINS' , class="">'link link3'
|
||||
%#= link_to l('lets_CHECK_ALL_DOMAINS'), 'letsencryptd?trt=CHECKALLDOMAINS' , class=> 'link link3'
|
||||
|
||||
|
||||
<a href='letsencryptd?trt=CHECKALLENABLEDDOMAINS' class="">
|
||||
%= l('lets_CHECK_ALL_ENABLED_DOMAINS')
|
||||
</a>
|
||||
%#= link_to l('lets_CHECK_ALL_ENABLED_DOMAINS'), 'letsencryptd?trt=CHECKALLENABLEDDOMAINS' , class="">'link link4'
|
||||
%#= link_to l('lets_CHECK_ALL_ENABLED_DOMAINS'), 'letsencryptd?trt=CHECKALLENABLEDDOMAINS' , class=> 'link link4'
|
||||
|
||||
|
||||
</div>
|
||||
@@ -105,7 +105,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l('lets_Not_Before')
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'NotBefore' => $lets_data->{NotBefore} unless param 'NotBefore';
|
||||
%= text_field 'NotBefore', size => '50', class => "" , pattern=>'.*' , placeholder=>'NotBefore', Readonly=>'true'
|
||||
<br>
|
||||
|
@@ -29,7 +29,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l('lets_SERVICE_STATUS')
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%# my @status_options = [['Disabled' => 'disabled'], ['Enabled' => 'enabled'], ['TEST' => 'test']];
|
||||
% my @status_options = selected_field([['Disabled' => 'disabled'], ['Enabled' => 'enabled'], ['TEST' => 'test']], $lets_data->{status});
|
||||
%# param 'status' => $lets_data->{status} unless param 'status';
|
||||
@@ -77,7 +78,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l('lets_API_STATUS')
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% my @API_options = [['2' => '2']];
|
||||
% param 'API' => $lets_data->{API} unless param 'API';
|
||||
%= select_field 'API' => @API_options, class => ""
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<a href='nutupsd?trt=CONFIG' class="">
|
||||
%= l('nut_Configure_NutUPS')
|
||||
</a>
|
||||
%#= link_to l('nut_Configure_NutUPS'), 'nutupsd?trt=CONFIG' , class="">'link link1'
|
||||
%#= link_to l('nut_Configure_NutUPS'), 'nutupsd?trt=CONFIG' , class=> 'link link1'
|
||||
|
||||
|
||||
</div>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|
||||
<!-- card footer -->
|
||||
<div class="card-footer">Footer</div>
|
||||
<div class="card-footer">Card Footer</div>
|
||||
<!-- /.card-footer-->
|
@@ -1,6 +1,6 @@
|
||||
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Card Title <%= $title%></h3>
|
||||
<h3 class="card-title">Card Title - <%= $title%></h3>
|
||||
|
||||
%= include 'partials/_panel_card_tools'
|
||||
|
||||
|
@@ -1,5 +1,7 @@
|
||||
|
||||
<!--
|
||||
<div class="card-tools">
|
||||
|
||||
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse"
|
||||
title="Collapse">
|
||||
<i data-lte-icon="expand" class="bi bi-plus-lg"></i>
|
||||
@@ -10,3 +12,4 @@
|
||||
<i class="bi bi-x-lg"></i>
|
||||
</button>
|
||||
</div>
|
||||
-->
|
||||
|
@@ -0,0 +1,121 @@
|
||||
<div>
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= l 'rvw_NETWORKING_PARAMS' %></th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><%= l 'rvw_SERVER_MODE' %></td>
|
||||
<td><%= $rvw_datas->{servermode} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' %></td>
|
||||
<td><%= $rvw_datas->{localip} %></td>
|
||||
</tr>
|
||||
|
||||
% if ( $rvw_datas->{publicip} ) {
|
||||
<tr>
|
||||
<td><%=l 'rvw_INTERNET_VISIBLE_ADDRESS' %></td>
|
||||
<td><%= $rvw_datas->{publicip} %></td>
|
||||
</tr>
|
||||
% }
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_GATEWAY'%></td>
|
||||
<td>
|
||||
<%= $rvw_datas->{gateway} %>
|
||||
<%= $rvw_datas->{serveronly} %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Local Networks (not translated?)</td>
|
||||
<td><%= $c->render_to_string( inline => $rvw_datas->{addlocalnetworks} );%> </td>
|
||||
<tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_DHCP_SERVER' %></td>
|
||||
<td><%= $rvw_datas->{dhcpserver} %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= l 'rvw_SERVER_NAMES' %></th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><%= l 'rvw_DNS_SERVER' %></td>
|
||||
<td><%= $rvw_datas->{dnsserver} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_WEB_SERVER' %></td>
|
||||
<td><%= $rvw_datas->{webserver} %></tr>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_PROXY_SERVER' %></td>
|
||||
<td><%= $rvw_datas->{proxyserver} %></tr>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_FTP_SERVER' %></td>
|
||||
<td><%= $rvw_datas->{ftpserver} %></tr>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' %></td>
|
||||
<td><%= $rvw_datas->{smtpserver} %></tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%= l 'rvw_DOMAIN_INFORMATION' %></th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><%= l 'rvw_PRIMARY_DOMAIN' %></td>
|
||||
<td><%= $rvw_datas->{domainname} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_VIRTUAL_DOMAINS' %></td>
|
||||
<td><%= $rvw_datas->{virtualdomains} %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><%= l 'rvw_PRIMARY_WEB_SITE' %></td>
|
||||
<td><%= $rvw_datas->{primarywebsite} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_SERVER_MANAGER' %></td>
|
||||
<td><%= $rvw_datas->{servermanager} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_USER_PASSWORD_PANEL' %></td>
|
||||
<td><%= $rvw_datas->{usermanager} %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><%= l 'rvw_EMAIL_ADDRESSES' %></td>
|
||||
<td><%= $rvw_datas->{emailaddresses} %></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
@@ -1,40 +1,34 @@
|
||||
|
||||
<!-- Both Theme drop downs but only the first works curently -->
|
||||
|
||||
<div id="">
|
||||
% my $btn = l('swt_THEME');
|
||||
%= form_for $c->url_for('swttheme') => (method => 'POST') => begin
|
||||
<div>
|
||||
%# content_for 'module' => begin
|
||||
|
||||
% my $value = $c->session->{'CurrentTheme'};
|
||||
% $value = session 'CurrentTheme';
|
||||
|
||||
% param 'Theme' => $value unless param 'Theme';
|
||||
%= select_field 'Theme' => $c->theme_list(), class => ""
|
||||
%= hidden_field 'From' => $c->tx->req->url
|
||||
%= submit_button "$btn"
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%# my $value = $c->session->{'CurrentTheme'};
|
||||
% $value = session 'CurrentTheme';
|
||||
% my $formUrl = $c->url_for('swttheme');
|
||||
% param 'Theme' => $value unless param 'Theme';
|
||||
% my @themes = $c->theme_list();
|
||||
|
||||
%# my @themes = $c->theme_list();
|
||||
|
||||
%#= dumper $c
|
||||
|
||||
%#= my $size = keys ($c->theme_list)
|
||||
|
||||
% my @themeList = $c->theme_list();
|
||||
%# = dumper @themeList
|
||||
% my @themes = $themeList[0];
|
||||
|
||||
|
||||
% param 'Theme' => $value unless param 'Theme';
|
||||
|
||||
<form action="<%= $formUrl %>" method="POST" >
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto">
|
||||
<label class="visually-hidden" for="inlineFormSelectPref">Preference</label>
|
||||
<select class="form-select" id="inlineFormSelectPref">
|
||||
<option selected><%= $value %></option>
|
||||
% foreach my $theme (@themes) {
|
||||
<option value="<%= $theme %>"><%= $theme %></option>
|
||||
% };
|
||||
</select>
|
||||
|
||||
%= select_field 'Theme' => $c->theme_list(), class => "form-select"
|
||||
|
||||
%= hidden_field 'From' => $c->tx->req->url
|
||||
</div>
|
||||
|
||||
@@ -45,4 +39,7 @@
|
||||
</form>
|
||||
|
||||
|
||||
% end
|
||||
%# end
|
||||
</div>
|
||||
|
||||
|
||||
|
@@ -5,10 +5,9 @@
|
||||
|
||||
%= form_for '/useraccounts' => (method => 'POST') => begin
|
||||
|
||||
<p>
|
||||
<br>
|
||||
%= submit_button "$btn", class => ""
|
||||
</p>
|
||||
<div>
|
||||
<button type="submit" class="btn btn-primary"><%= $btn %> </button>
|
||||
</div>
|
||||
|
||||
% end
|
||||
|
||||
@@ -36,11 +35,12 @@
|
||||
<th>
|
||||
%=l 'usr_FORWARDING_ADDRESS'
|
||||
</th>
|
||||
<th>
|
||||
<th class="user-valign-center" colspan="5">
|
||||
%=l 'ACTION'
|
||||
</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
% foreach my $user (@$users) {
|
||||
|
||||
@@ -56,10 +56,11 @@
|
||||
% my $password_set = $user->prop('PasswordSet');
|
||||
|
||||
<tr>
|
||||
%= t td => (class => "") => $username
|
||||
%= t td => (class => "") => "$first $last"
|
||||
%= t td => (class => "") => $vpnaccess
|
||||
%= t td => (class => "") => $fwd
|
||||
<td><%= $username %></td>
|
||||
<td><%=$first %> <%=$last %></td>
|
||||
<td><%= $vpnaccess %></td>
|
||||
<td><%= $fwd %></td>
|
||||
|
||||
% my ($actionModify, $actionLock, $actionResetPw, $actionRemove,$actionroundcube) = ' ';
|
||||
% my $modify_text = l('MODIFY'); # Localized text
|
||||
% my $csrf_token = "TOKEN"; # CSRF token for security
|
||||
@@ -68,14 +69,14 @@
|
||||
% if ($useraccounts_user_name eq 'admin') {
|
||||
%$actionModify = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$modify_text'>
|
||||
% <button type='button' class="btn btn-primary" title='$modify_text'>
|
||||
% $modify_text
|
||||
% </button>
|
||||
%</a>
|
||||
%};
|
||||
%$actionResetPw = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWS&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$password_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$password_text' >
|
||||
% $password_text
|
||||
% </button>
|
||||
%</a>
|
||||
@@ -83,7 +84,7 @@
|
||||
% } else {
|
||||
%$actionModify = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$modify_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$modify_text' >
|
||||
% $modify_text
|
||||
% </button>
|
||||
%</a>
|
||||
@@ -93,7 +94,7 @@
|
||||
%$actionLock = l('ACCOUNT_LOCKED');
|
||||
%$actionResetPw = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title="$password_text - currently unset" style = background:pink; >
|
||||
% <button type='button' class="btn btn-primary" title="$password_text - currently unset" style = background:pink; >
|
||||
% $password_text
|
||||
% </button>
|
||||
%</a>
|
||||
@@ -104,14 +105,14 @@
|
||||
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
|
||||
%$actionLock = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$lock_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$lock_text' >
|
||||
% $lock_text
|
||||
% </button>
|
||||
%</a>
|
||||
%};
|
||||
%$actionResetPw = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$password_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$password_text' >
|
||||
% $password_text
|
||||
% </button>
|
||||
%</a>
|
||||
@@ -122,7 +123,7 @@
|
||||
% my $csrf_token = "TOKEN"; # CSRF token for security
|
||||
%$actionRemove = qq{
|
||||
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name">
|
||||
% <button type='button' class="" title='$remove_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$remove_text' >
|
||||
% $remove_text
|
||||
% </button>
|
||||
%</a>
|
||||
@@ -135,18 +136,16 @@
|
||||
% $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
|
||||
% $actionroundcube = qq{
|
||||
%<a href="roundcubepanel?CsrfDef=$csrf_token&url=https://$thisdomain/roundcube?_user=$useraccounts_user_name&height=600px">
|
||||
% <button type='button' class="" title='$roundcube_text' >
|
||||
% <button type='button' class="btn btn-primary" title='$roundcube_text' >
|
||||
% $roundcube_text
|
||||
% </button>
|
||||
%</a>
|
||||
%};
|
||||
<td class="">
|
||||
<%= $c->render_to_string(inline => $actionModify) %>
|
||||
<%= $c->render_to_string(inline => $actionResetPw) %>
|
||||
<%= $c->render_to_string(inline => $actionLock) %>
|
||||
<%= $c->render_to_string(inline => $actionRemove) %>
|
||||
<%= $c->render_to_string(inline => $actionroundcube) %>
|
||||
</td>
|
||||
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionModify) %></td>
|
||||
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionResetPw) %></td>
|
||||
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionLock) %></td>
|
||||
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionRemove) %></td>
|
||||
<td class="user-valign-center"><%= $c->render_to_string(inline => $actionroundcube) %></td>
|
||||
</tr>
|
||||
% }
|
||||
</tbody>
|
||||
@@ -157,3 +156,8 @@
|
||||
%= hidden_field 'trt' => $usr_datas->{trt}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
|
||||
</div>
|
@@ -18,7 +18,7 @@
|
||||
<span class="">
|
||||
%=l 'PASSWORD_NEW', class => ""
|
||||
</span><span class="">
|
||||
%= password_field 'newPass', class => "", class="">'sme-password'
|
||||
%= password_field 'newPass', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
%=l 'PASSWORD_VERIFY_NEW', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'newPassVerify', class => "", class="">'sme-password'
|
||||
%= password_field 'newPassVerify', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
%=l 'usr_CURRENT_SYSTEM_PASSWORD', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'CurPass', class => "", class="">'sme-password'
|
||||
%= password_field 'CurPass', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
%=l 'usr_NEW_SYSTEM_PASSWORD', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'Pass', class => "", class="">'sme-password'
|
||||
%= password_field 'Pass', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
%=l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => ""
|
||||
</span>
|
||||
<span class="">
|
||||
%= password_field 'PassVerify', class => "", class="">'sme-password'
|
||||
%= password_field 'PassVerify', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
</p>
|
||||
|
||||
|
@@ -29,7 +29,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'usr_FIRSTNAME'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
|
||||
%= text_field 'FirstName', class => ""
|
||||
</span>
|
||||
@@ -64,7 +65,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'usr_STREET_ADDRESS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Street' => $usr_datas->{street} unless param 'Street';
|
||||
%= text_field 'Street', class => ""
|
||||
</span>
|
||||
@@ -139,9 +141,10 @@
|
||||
%=l 'usr_GROUP_MEMBERSHIPS'
|
||||
</span>
|
||||
<span class="">
|
||||
<table class="tabel table-bordered">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr><th class="">
|
||||
<tr>
|
||||
<th class="">
|
||||
%=l 'usr_MEMBER'
|
||||
</th><th class="">
|
||||
%=l 'GROUP'
|
||||
@@ -149,7 +152,8 @@
|
||||
%=l 'DESCRIPTION'
|
||||
</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
% foreach my $g ( @groups) {
|
||||
% my $user = $usr_datas->{user};
|
||||
|
@@ -1,3 +1,103 @@
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div class="container-sm">
|
||||
<br>
|
||||
<h2><%= l 'usr_MODIFY_ADMIN_TITLE' %></h2>
|
||||
|
||||
<%= l 'usr_ACCOUNT_NAME' %> : <%= $usr_datas->{user} %>
|
||||
|
||||
|
||||
|
||||
<form>
|
||||
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto p-33">
|
||||
<label for="inputFirstName" class="col-form-label"><%= l 'usr_FIRSTNAME' %></label>
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
<input type="text" id="inputFirstName" class="form-control" aria-describedby="FirstName" value=<%= $usr_datas->{firstname} %> >
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
<span id="passwordHelpInline" class="form-text">
|
||||
First Name
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto p-33">
|
||||
<label for="inputLastNAme" class="col-form-label"><%= l 'usr_LASTNAME' %></label>
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
<input type="text" id="inputLastName" class="form-control" aria-describedby="LastName" value=<%= $usr_datas->{lastname} %>>
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
<span id="passwordHelpInline" class="form-text">
|
||||
Last Name
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto p-33">
|
||||
<label for="inputEmailDelivery" class="col-form-label"><%= l 'usr_EMAIL_DELIVERY' %></label>
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
%= select_field 'EmailForward' => $c->emailForward_list(), class => "form-select"
|
||||
</div>
|
||||
|
||||
|
||||
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto">
|
||||
<label for="inputEmail" class="col-form-label"><%= l 'usr_FORWARDING_ADDRESS' %></label>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="email" id="inputEmail" class="form-control" aria-describedby="Email" value=<%= $usr_datas->{forwardaddress} %>>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<span id="passwordHelpInline" class="form-text">
|
||||
Email forwarding address
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto p-33">
|
||||
<label for="inputVPNClientAccess" class="col-form-label"><%= l 'usr_VPN_CLIENT_ACCESS' %></label>
|
||||
</div>
|
||||
<div class="col-auto p-3">
|
||||
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => "form-select"
|
||||
</div>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-auto p-33">
|
||||
<button type="submit" class="btn btn-primary"><%= l 'SAVE' %></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
%= hidden_field 'trt' => $usr_datas->{trt}
|
||||
%= hidden_field 'user' => $usr_datas->{user}
|
||||
|
||||
% end
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
|
||||
% my $btn = l('SAVE');
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - Port Forwards";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - printers";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - proxy";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>(DBG)route: <%= $c->current_route %><br>
|
||||
(DBG)ht stat: <%= $prx_datas->{http_proxy_status}%> <br>
|
||||
@@ -19,7 +21,8 @@
|
||||
<br><br>
|
||||
<span class="">
|
||||
%=l 'prx_HTTP_PROXY_STATUS_LABEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'http_proxy_status' => $prx_datas->{http_proxy_status} unless param 'http_proxy_status';
|
||||
%= select_field 'http_proxy_status' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => "", id => ""
|
||||
</span>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - pseudonyms";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,12 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - qmailanalog";
|
||||
% content_for 'module' => begin
|
||||
|
||||
<!-- should be moved -->
|
||||
|
||||
%= javascript '/js/qmailanalog.js'
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
(DBG)route: <%= $c->current_route %><br>
|
||||
@@ -15,7 +20,8 @@
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'qma_REPORT_TYPE'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
<!-- (to be sorted) -->
|
||||
%= select_field 'report_type' => $c->reportType_list(), id => ""
|
||||
</span>
|
||||
@@ -25,7 +31,8 @@
|
||||
<div id="">
|
||||
<span class="">
|
||||
%= label_for message_id => 'Message ID:'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'message_id', placeholder => 'Enter Postfix Message ID', id => ""
|
||||
</span>
|
||||
</div>
|
||||
@@ -33,7 +40,8 @@
|
||||
<div id="">
|
||||
<span class="">
|
||||
%= label_for email_address => 'Email Address:'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= email_field 'email_address', placeholder => 'Enter email address', id => ""
|
||||
</span>
|
||||
</div>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - quota";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - remoteaccess";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -91,7 +92,9 @@
|
||||
%= t td => (class => "") => $net
|
||||
%= t td => (class => "") => $mask
|
||||
%= t td => (class => "") => $numhosts
|
||||
<td class=""><input type='checkbox' name='Remote_nets' value='<%= $net.'/'.$mask %>'> </td>
|
||||
<td class="">
|
||||
<input type='checkbox' name='Remove_nets' value='<%= $net.'/'.$mask %>'>
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
|
||||
@@ -111,7 +114,8 @@
|
||||
<br><br>
|
||||
<span class="">
|
||||
%=l 'NETWORK'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'ValidFromNetwork', class => ""
|
||||
</span>
|
||||
<br>
|
||||
|
@@ -1,137 +1,26 @@
|
||||
% layout 'AdminLTE', title => 'Sme server 2 - Review';
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<h1> <%= $title %> </h1>
|
||||
<%= $modul %><br><br>
|
||||
<!-- Header text -->
|
||||
%= $modul
|
||||
|
||||
%= form_for 'review' => begin
|
||||
<b>
|
||||
%=l 'rvw_NETWORKING_PARAMS'
|
||||
</b><br>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_SERVER_MODE'
|
||||
</span>
|
||||
%= $rvw_datas->{servermode}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK'
|
||||
</span>
|
||||
%= $rvw_datas->{localip}
|
||||
</p>
|
||||
|
||||
% if ( $rvw_datas->{publicip} ) {
|
||||
<p><span class="">
|
||||
%=l 'rvw_INTERNET_VISIBLE_ADDRESS'
|
||||
</span>
|
||||
%= $rvw_datas->{publicip}
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $rvw_datas
|
||||
</p>
|
||||
% }
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_GATEWAY'
|
||||
</span>
|
||||
%= $rvw_datas->{gateway}
|
||||
%= $rvw_datas->{serveronly}
|
||||
</p>
|
||||
<br><br>
|
||||
|
||||
<p><table width='100%'><tr><td class=""><!--span class="">
|
||||
%=l 'rvw_ADDITIONAL_LOCAL_NETWORKS'
|
||||
<!--/span--></td><td>
|
||||
%= $c->render_to_string( inline => $rvw_datas->{addlocalnetworks} );
|
||||
</td></tr></table>
|
||||
</p>
|
||||
|
||||
<p><table width='100%'><tr><td class="">
|
||||
<!--<p><span class="">-->
|
||||
%=l 'rvw_DHCP_SERVER'
|
||||
<!--</span>-->
|
||||
</td><td>
|
||||
%= $rvw_datas->{dhcpserver}
|
||||
<!--</p>-->
|
||||
</td></tr></table></p>
|
||||
|
||||
<br><br><b>
|
||||
%=l 'rvw_SERVER_NAMES'
|
||||
</b><br>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_DNS_SERVER'
|
||||
</span>
|
||||
%= $rvw_datas->{dnsserver}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_WEB_SERVER'
|
||||
</span>
|
||||
%= $rvw_datas->{webserver}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_PROXY_SERVER'
|
||||
</span>
|
||||
%= $rvw_datas->{proxyserver}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_FTP_SERVER'
|
||||
</span>
|
||||
%= $rvw_datas->{ftpserver}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS'
|
||||
</span>
|
||||
%= $rvw_datas->{smtpserver}
|
||||
</p>
|
||||
|
||||
<br><br><b>
|
||||
%=l 'rvw_DOMAIN_INFORMATION'
|
||||
</b><br>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_PRIMARY_DOMAIN'
|
||||
</span>
|
||||
%= $rvw_datas->{domainname}
|
||||
</p>
|
||||
|
||||
<!---<p><span class="">-->
|
||||
<p><table width='100%'><tr><td class="">
|
||||
%=l 'rvw_VIRTUAL_DOMAINS'
|
||||
</td><td>
|
||||
<!--</span>-->
|
||||
%= $rvw_datas->{virtualdomains}
|
||||
</td></tr></table></p>
|
||||
<!--</p>-->
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_PRIMARY_WEB_SITE'
|
||||
</span>
|
||||
%= $rvw_datas->{primarywebsite}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_SERVER_MANAGER'
|
||||
</span>
|
||||
%= $rvw_datas->{servermanager}
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
%=l 'rvw_USER_PASSWORD_PANEL'
|
||||
</span>
|
||||
%= $rvw_datas->{usermanager}
|
||||
</p>
|
||||
|
||||
<p><table width='100%'><tr><td class="">
|
||||
%=l 'rvw_EMAIL_ADDRESSES'
|
||||
</td><td>
|
||||
%= $rvw_datas->{emailaddresses}
|
||||
</td></tr></table></p>
|
||||
|
||||
% end
|
||||
%= include 'partials/_rvw_content'
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
% end
|
@@ -3,7 +3,8 @@
|
||||
% content_for 'module' => begin
|
||||
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
|
@@ -1,10 +1,12 @@
|
||||
% layout 'AdminLTE', title => 'Sme server 2 - Support';
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
<p> < %= $title % ></p>
|
||||
<br>
|
||||
<%= $modul %>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
%end
|
@@ -2,8 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
%= include 'partials/_panel_card_top'
|
||||
%= include 'partials/_panel_card_header'
|
||||
%#= include 'partials/_panel_card_top'
|
||||
%#= include 'partials/_panel_card_header'
|
||||
|
||||
<div class="card-body">
|
||||
<!-- /.card-body -->
|
||||
@@ -43,8 +43,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
%= include 'partials/_panel_card_footer'
|
||||
%= include 'partials/_panel_card_bottom'
|
||||
%#= include 'partials/_panel_card_footer'
|
||||
%#= include 'partials/_panel_card_bottom'
|
||||
|
||||
%end
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -16,7 +16,8 @@
|
||||
</h1>
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
@@ -33,38 +34,50 @@
|
||||
</p>
|
||||
|
||||
%= form_for $url => (method => 'POST') => begin
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= l 'pwd_YOUR_ACCOUNT'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $pwd_datas->{Account}
|
||||
</span>
|
||||
%= hidden_field 'User' => $pwd_datas->{Account}
|
||||
%= hidden_field 'Trt' => $pwd_datas->{trt}
|
||||
%= hidden_field 'jwt' => $pwd_datas->{jwt}
|
||||
<br><br></p>
|
||||
<br><br>
|
||||
</p>
|
||||
|
||||
% if ( $pwd_datas->{trt} ne 'RESET' ) {
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%= l 'pwd_PASSWORD_OLD'
|
||||
</span><span class="">
|
||||
%= password_field 'Oldpass', class => "", class="">'sme-password'
|
||||
</span>
|
||||
<br><br></p>
|
||||
<span class="">
|
||||
%= password_field 'Oldpass', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
<br><br>
|
||||
</p>
|
||||
% }
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'pwd_PASSWORD_NEW'
|
||||
</span><span class="">
|
||||
%= password_field 'Pass', class => "", class="">'sme-password'
|
||||
</span>
|
||||
<br><br></p>
|
||||
<span class="">
|
||||
%= password_field 'Pass', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
<br><br>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'pwd_PASSWORD_VERIFY_NEW'
|
||||
</span><span class="">
|
||||
%= password_field 'Passverify', class => "", class="">'sme-password'
|
||||
</span>
|
||||
<br><br></p>
|
||||
<span class="">
|
||||
%= password_field 'Passverify', class => "", class=> 'sme-password'
|
||||
</span>
|
||||
<br><br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - viewlogfiles";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
(DBG)route: <%= $c->current_route %><br>
|
||||
@@ -18,7 +20,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'log_LOG_FILE_SELECT_DESC'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'Filename' => 'messages';
|
||||
<!-- select_field 'Filename' => [['toto'], ['tata']], class => "" -->
|
||||
%= select_field 'Filename' => $c->findlogFiles(), class => ""
|
||||
@@ -30,7 +33,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'log_FILTER_PATTERN_LABEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Matchpattern', class => ""
|
||||
</span>
|
||||
</p>
|
||||
@@ -40,7 +44,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'log_MATCH_PATTERN_LABEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Highlightpattern', class => ""
|
||||
</span>
|
||||
</p>
|
||||
@@ -50,7 +55,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'log_OP_LABEL'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%if ($log_datas->{'default_op'} eq 'download') {
|
||||
% param 'Operation' => 'download';
|
||||
%}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -26,7 +26,7 @@
|
||||
%= hidden_field 'Highlightpattern' => $log_datas->{highlightpattern}
|
||||
%= hidden_field 'Operation' => $log_datas->{operation}
|
||||
% end
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
%end
|
||||
|
@@ -1,8 +1,11 @@
|
||||
% layout 'AdminLTE', title => 'Sme server 2 - IndexT';
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
<p>Index on line - Welcome page<br>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<p>Index on line - Welcome page
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
Cogo diam enim ibidem paulatim pertineo velit. Comis patria pertineo secundum. Aliquip laoreet quibus zelus. Gravis incassum interdico iustum lucidus neo os paratus. Autem causa haero pneum similis sudo vindico. Iusto molior neque oppeto. Ideo minim nibh refoveo veniam vereor virtus. Appellatio pala scisco.
|
||||
@@ -31,13 +34,14 @@ Abdo abigo aptent commoveo inhibeo molior nibh plaga pneum zelus. Conventio geni
|
||||
% my %nav = %{SrvMngr::navigation2->getNavigation( $c->languages() )};
|
||||
<!-- % = dumper %nav -->
|
||||
|
||||
<div id="">
|
||||
<div>
|
||||
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
|
||||
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
|
||||
<div class="">
|
||||
%= $h
|
||||
</div>
|
||||
|
||||
<div>
|
||||
%= $h
|
||||
|
||||
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
|
||||
% my ($target, $classNew) = ( $_->{'FILENAME'} =~ m/^2\// ) ?
|
||||
% ('_self',' accent') :
|
||||
@@ -52,7 +56,8 @@ Abdo abigo aptent commoveo inhibeo molior nibh plaga pneum zelus. Conventio geni
|
||||
%= $href
|
||||
'>
|
||||
%= $_->{'DESCRIPTION'}
|
||||
</a></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
% $c++;
|
||||
% }
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
<p><br>dev<br> What else !!!
|
||||
The page you were requesting
|
||||
"<%= $self->req->url->path || '/' %>"
|
||||
|
@@ -1,7 +1,8 @@
|
||||
% layout 'AdminLTE', title => "Sme server 2 - workgroup";
|
||||
|
||||
% content_for 'module' => begin
|
||||
<div id="" class="">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
%if (config->{debug} == 1) {
|
||||
<p>
|
||||
@@ -23,7 +24,8 @@
|
||||
<br><br>
|
||||
<span class="">
|
||||
%=l 'wkg_LABEL_WORKGROUP', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'Workgroup' => $wkg_datas->{Workgroup}, class => "" , pattern=>".{1,15}", title=>"Limited to 15 characters by the NETBIOS"
|
||||
</span>
|
||||
</p>
|
||||
@@ -32,7 +34,8 @@
|
||||
<br><br>
|
||||
<span class="">
|
||||
%=l 'wkg_LABEL_SERVERNAME', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= text_field 'ServerName' => $wkg_datas->{ServerName}, class => ""
|
||||
</span>
|
||||
</p>
|
||||
@@ -41,7 +44,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'wkg_LABEL_PDC', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'ServerRole' => $wkg_datas->{ServerRole} unless param 'ServerRole';
|
||||
%= select_field 'ServerRole' => [[ (l 'YES') => 'PDC'], [ (l 'NO') => 'WS']], class => ""
|
||||
</span>
|
||||
@@ -51,7 +55,8 @@
|
||||
<br>
|
||||
<span class="">
|
||||
%=l 'wkg_LABEL_ROAM', class => ""
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'RoamingProfiles' => $wkg_datas->{RoamingProfiles} unless param 'RoamingProfiles';
|
||||
%= select_field 'RoamingProfiles' => [[ (l 'YES') => 'yes'], [ (l 'NO') => 'no']], class => ""
|
||||
</span>
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -13,25 +14,31 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
% if ( $notif ) {
|
||||
<br><span class="">
|
||||
<br>
|
||||
<span class="">
|
||||
%= $notif
|
||||
</span>
|
||||
%}
|
||||
|
||||
% if ( $c->is_empty('updates') ) {
|
||||
<br><div class=""><h2>
|
||||
<br>
|
||||
<div class=""><h2>
|
||||
%=l 'yum_TITLE_UPTODATE'
|
||||
</h2>
|
||||
%=l 'yum_DESC_UPTODATE'
|
||||
</div><br>
|
||||
</div>
|
||||
<br>
|
||||
%}
|
||||
|
||||
% if ( $c->non_empty('updates') ) {
|
||||
<br><div class=""><h2>
|
||||
<br>
|
||||
<div class="">
|
||||
<h2>
|
||||
%=l 'yum_TITLE_UPDATES_AVAILABLE'
|
||||
</h2>
|
||||
%=l 'yum_DESC_UPDATES_AVAILABLE'
|
||||
</div><br>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
%= form_for 'yum' => (method => 'POST') => begin
|
||||
%= hidden_field 'trt' => 'UPDT'
|
||||
@@ -59,35 +66,50 @@
|
||||
|
||||
%= form_for 'yum' => (method => 'POST') => begin
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_STATUS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_status('status', 'localise')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_PACKAGEFUNCTIONS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_status('PackageFunctions', 'localise')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_DELTARPMPROCESS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_status('DeltaRpmProcess', 'localise')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_DOWNLOADONLY'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_status('DownloadOnly', 'localise')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_AUTOINSTALLUPDATES'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
%= $c->get_status('AutoInstallUpdates', 'localise')
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%= hidden_field 'trt' => 'CONF'
|
||||
<br>
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -13,69 +14,88 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
% if ( $notif ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $notif
|
||||
</div>
|
||||
%}
|
||||
|
||||
%= form_for 'yumd' => (method => 'POST') => begin
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_STATUS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'yum_check4updates' => $c->get_status('check4updates') unless param 'yum_check4updates';
|
||||
%= select_field 'yum_check4updates' => $c->get_check_freq_opt()
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%=l 'yum_DESC_YUM_PACKAGEFUNCTIONS'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_PACKAGEFUNCTIONS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'yum_PackageFunctions' => $c->get_status('PackageFunctions') unless param 'yum_PackageFunctions';
|
||||
%= select_field 'yum_PackageFunctions' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%=l 'yum_DESC_ENABLED_REPOSITORIES'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_ENABLED_REPOSITORIES'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SelectedRepositories' => $c->get_repository_current_options() unless param 'SelectedRepositories';
|
||||
%= select_field 'SelectedRepositories' => $c->get_repository_options2(), class => "", multiple => '1'
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%=l 'yum_DESC_YUM_DELTARPMPROCESS'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_DELTARPMPROCESS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'yum_DeltaRpmProcess' => $c->get_status('DeltaRpmProcess') unless param 'yum_DeltaRpmProcess';
|
||||
%= select_field 'yum_DeltaRpmProcess' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%=l 'yum_DESC_YUM_DOWNLOADONLY'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_DOWNLOADONLY'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'yum_DownloadOnly' => $c->get_status('DownloadOnly') unless param 'yum_DownloadOnly';
|
||||
%= select_field 'yum_DownloadOnly' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
%=l 'yum_DESC_YUM_AUTOINSTALLUPDATES'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_YUM_AUTOINSTALLUPDATES'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'yum_AutoInstallUpdates' => $c->get_status('AutoInstallUpdates') unless param 'yum_AutoInstallUpdates';
|
||||
%= select_field 'yum_AutoInstallUpdates' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
%= hidden_field 'trt' => 'CONF'
|
||||
<br>
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -13,7 +14,8 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
% if ( $notif ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $notif
|
||||
</div>
|
||||
%}
|
||||
@@ -25,22 +27,28 @@
|
||||
<br><br>
|
||||
% if ($c->non_empty('available','group')) {
|
||||
%=l 'yum_DESC_AVAILABLE_GROUPS'
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_AVAILABLE_GROUPS'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SelectedGroups' => $c->get_names2('updates','group') unless param 'SelectedGroups';
|
||||
%= select_field 'SelectedGroups' => $c->get_options2('available', 'group'), class => "", multiple => "1"
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
%}
|
||||
<br>
|
||||
% if ($c->non_empty('available','packages')) {
|
||||
%=l 'yum_DESC_AVAILABLE_PACKAGES'
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_AVAILABLE_PACKAGES'
|
||||
</span><span class="">
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SelectedPackages' => $c->get_names2('updates','package') unless param 'SelectedPackages';
|
||||
%= select_field 'SelectedPackages' => $c->get_options2('available', 'package'), class => "", multiple => "1"
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
%}
|
||||
|
||||
<!-- $c->print_skip_header() -->
|
||||
|
@@ -6,7 +6,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="" class="">
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -17,7 +18,8 @@
|
||||
<h1><%= $title%></h1>
|
||||
|
||||
% if ( $notif ) {
|
||||
<br><div class="">
|
||||
<br>
|
||||
<div class="">
|
||||
%= $notif
|
||||
</div>
|
||||
%}
|
||||
@@ -30,6 +32,7 @@
|
||||
|
||||
%= hidden_field 'trt' => 'LOGF'
|
||||
<br>
|
||||
|
||||
<!-- div class="">
|
||||
prc= submit_button $c->l('NEXT'), class => ""
|
||||
</div -->
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div>
|
||||
<div class="card-body">
|
||||
|
||||
% if (config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
@@ -22,13 +23,15 @@
|
||||
|
||||
%=l 'yum_DESC_AVAILABLE_UPDATES'
|
||||
|
||||
<p><span class="">
|
||||
<p>
|
||||
<span class="">
|
||||
%=l 'yum_LABEL_AVAILABLE_UPDATES'
|
||||
</span>
|
||||
<span class="">
|
||||
% param 'SelectedPackages' => $c->get_names2('updates','package') unless param 'SelectedPackages';
|
||||
%= select_field 'SelectedPackages' => $c->get_options2('updates', 'package'), class => "", multiple => "1"
|
||||
</span></p>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!-- $c->print_skip_header() -->
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
%define name smeserver-manager-AdminLTE
|
||||
%define version 11.0.0
|
||||
%define release 2
|
||||
%define release 12
|
||||
Summary: AdminLTE is an html framework for admin consoles - this rpm adds it to smeserver manager2
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
@@ -26,6 +26,43 @@ AdminLTE is an html framework for admin consoles
|
||||
wget https://github.com/ColorlibHQ/AdminLTE/archive/master.zip
|
||||
|
||||
%changelog
|
||||
* Thu Apr 24 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0.12.sme
|
||||
- Tidy user list
|
||||
|
||||
* Wed Apr 23 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-11.sme
|
||||
- Working sidebar scrolling
|
||||
|
||||
* Sat Apr 19 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-10.sme
|
||||
- Tweak the form values more but stil not right
|
||||
|
||||
* Sat Apr 19 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-9.sme
|
||||
- Starting to update forms
|
||||
- Moving as much formatting to simple html as possible
|
||||
- Use Mojo helpers for some parts eg theme chooser - may come back to that
|
||||
|
||||
* Fri Apr 18 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-8.sme
|
||||
- More cleanup
|
||||
- Add Card support across all panels except login
|
||||
- Disabled minimise and remove Card icons
|
||||
|
||||
* Thu Apr 17 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-7.sme
|
||||
- Clean up review template (but footer in the wrong place)
|
||||
- Fix typo tabel
|
||||
|
||||
* Wed Apr 16 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-6.sme
|
||||
- Remove old template
|
||||
- Update breadcrumbs
|
||||
|
||||
* Wed Apr 16 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-5.sme
|
||||
- Fix Remote Access remove network
|
||||
|
||||
* Wed Apr 16 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-4.sme
|
||||
- More template cleaning
|
||||
- Fix Password syntax errors
|
||||
|
||||
* Tue Apr 15 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-3.sme
|
||||
- Finish template tidy
|
||||
|
||||
* Tue Apr 15 2025 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-2.sme
|
||||
- Start to build templates with AdminLTE
|
||||
- Split the basic template into sections to make it easier to manage
|
||||
|
Reference in New Issue
Block a user