Compare commits
17 Commits
5b8e918f75
...
greylistin
| Author | SHA1 | Date | |
|---|---|---|---|
| 3630f82817 | |||
| 9ddd2e9154 | |||
| 53afe4ebd1 | |||
| 4f69e8ee0e | |||
| 32f5b0d5e9 | |||
| 53a6485a6e | |||
| f2643ac887 | |||
| e37687a85d | |||
| ccbc3286a5 | |||
| 929a562324 | |||
| 3704cf6621 | |||
| 10238a1466 | |||
| 9002ddf4a2 | |||
| 8a2de5a44a | |||
| 96c0af18dd | |||
| 5bb228ce78 | |||
| 804128280c |
26
.drone.yml
26
.drone.yml
@@ -12,7 +12,11 @@ trigger:
|
||||
event:
|
||||
include:
|
||||
- push
|
||||
|
||||
|
||||
environment:
|
||||
DEPLOY_HOST: rechner.maketank.net
|
||||
DEPLOY_DIR: ~/froxlor-test
|
||||
|
||||
steps:
|
||||
- name: deploy
|
||||
image: cr.wks/drone/drone-rsync:latest
|
||||
@@ -21,14 +25,13 @@ steps:
|
||||
source: ./
|
||||
target: ~/froxlor-test
|
||||
user: www-data
|
||||
exclude: ['vendor', '.git*', '*drone.yml', '.settings', '.buildpath', '.editorconfig', '.project', '.travis.yml']
|
||||
exclude: ['vendor', '.git*', '*drone.yml', '.settings', '.buildpath', '.editorconfig', '.project', '.travis.yml', 'node_modules']
|
||||
args: '-v --delete'
|
||||
log_level: quiet
|
||||
key:
|
||||
from_secret: ssh-www-data-maketank-rsa
|
||||
command_timeout: 10m
|
||||
|
||||
- name: compose-npm
|
||||
- name: compose
|
||||
image: appleboy/drone-ssh
|
||||
settings:
|
||||
host:
|
||||
@@ -37,7 +40,14 @@ steps:
|
||||
key:
|
||||
from_secret: ssh-www-data-maketank-rsa
|
||||
script:
|
||||
- echo "Hello World! Yes!"
|
||||
#- cd ~/froxlor-test && composer install --no-dev
|
||||
#- cd ~/froxlor-test && npm install && npm run build
|
||||
|
||||
- cd ~/froxlor-test && composer install --no-dev
|
||||
- name: npm
|
||||
image: appleboy/drone-ssh
|
||||
settings:
|
||||
host:
|
||||
- rechner02.maketank.net
|
||||
username: www-data
|
||||
key:
|
||||
from_secret: ssh-www-data-maketank-rsa
|
||||
script:
|
||||
- cd ~/froxlor-test && npm install && npm run build
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -18,7 +18,6 @@ img/
|
||||
vendor/
|
||||
node_modules/
|
||||
fonts/
|
||||
templates/*
|
||||
!templates/index.html
|
||||
!templates/Froxlor/
|
||||
templates/Froxlor/assets/mix-manifest.json
|
||||
|
||||
@@ -299,6 +299,30 @@ if ($page == 'email_domain') {
|
||||
'action' => 'edit',
|
||||
'id' => $id,
|
||||
]);
|
||||
} elseif ($action == 'togglegreylist' && $id != 0) {
|
||||
try {
|
||||
$json_result = Emails::getLocal($userinfo, [
|
||||
'id' => $id
|
||||
])->get();
|
||||
} catch (Exception $e) {
|
||||
Response::dynamicError($e->getMessage());
|
||||
}
|
||||
$result = json_decode($json_result, true)['data'];
|
||||
|
||||
try {
|
||||
Emails::getLocal($userinfo, [
|
||||
'id' => $id,
|
||||
'disablegreylist' => ($result['disablegreylist'] == '1' ? 0 : 1)
|
||||
])->updateGreylist();
|
||||
} catch (Exception $e) {
|
||||
Response::dynamicError($e->getMessage());
|
||||
}
|
||||
Response::redirectTo($filename, [
|
||||
'page' => $page,
|
||||
'domainid' => $email_domainid,
|
||||
'action' => 'edit',
|
||||
'id' => $id,
|
||||
]);
|
||||
}
|
||||
} elseif ($page == 'accounts') {
|
||||
$email_domainid = Request::any('domainid', 0);
|
||||
|
||||
@@ -75,6 +75,7 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
|
||||
// parameters
|
||||
$iscatchall = $this->getBoolParam('iscatchall', true, 0);
|
||||
$disablegreylist = $this->getBoolParam('disablegreylist', true, 0);
|
||||
$description = $this->getParam('description', true, '');
|
||||
|
||||
// validation
|
||||
@@ -118,7 +119,7 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
|
||||
// duplicate check
|
||||
$stmt = Database::prepare("
|
||||
SELECT `id`, `email`, `email_full`, `iscatchall`, `destination`, `customerid` FROM `" . TABLE_MAIL_VIRTUAL . "`
|
||||
SELECT `id`, `email`, `email_full`, `iscatchall`, `destination`, `customerid`, `disablegreylist` FROM `" . TABLE_MAIL_VIRTUAL . "`
|
||||
WHERE (`email` = :email OR `email_full` = :emailfull )
|
||||
AND `customerid`= :cid
|
||||
");
|
||||
@@ -144,7 +145,8 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
`email_full` = :email_full,
|
||||
`iscatchall` = :iscatchall,
|
||||
`domainid` = :domainid,
|
||||
`description` = :description
|
||||
`description` = :description,
|
||||
`disablegreylist` = :disablegreylist
|
||||
");
|
||||
$params = [
|
||||
"cid" => $customer['customerid'],
|
||||
@@ -152,7 +154,8 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
"email_full" => $email_full,
|
||||
"iscatchall" => $iscatchall,
|
||||
"domainid" => $domain_check['id'],
|
||||
"description" => $description
|
||||
"description" => $description,
|
||||
"disablegreylist" => $disablegreylist
|
||||
];
|
||||
Database::pexecute($stmt, $params, true, true);
|
||||
|
||||
@@ -191,7 +194,7 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
$customer_ids = $this->getAllowedCustomerIds('email');
|
||||
$params['idea'] = ($id <= 0 ? $emailaddr : $id);
|
||||
|
||||
$result_stmt = Database::prepare("SELECT v.`id`, v.`email`, v.`email_full`, v.`iscatchall`, v.`destination`, v.`customerid`, v.`popaccountid`, v.`domainid`, v.`description`, u.`quota`, u.`imap`, u.`pop3`, u.`postfix`, u.`mboxsize`
|
||||
$result_stmt = Database::prepare("SELECT v.`id`, v.`email`, v.`email_full`, v.`iscatchall`, v.`disablegreylist`, v.`destination`, v.`customerid`, v.`popaccountid`, v.`domainid`, v.`description`, u.`quota`, u.`imap`, u.`pop3`, u.`postfix`, u.`mboxsize`
|
||||
FROM `" . TABLE_MAIL_VIRTUAL . "` v
|
||||
LEFT JOIN `" . TABLE_MAIL_USERS . "` u ON v.`popaccountid` = u.`id`
|
||||
WHERE v.`customerid` IN (" . implode(", ", $customer_ids) . ")
|
||||
@@ -302,6 +305,81 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
return $this->response($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* toggle greylist flag of given email address either by id or email-address
|
||||
*
|
||||
* @param int $id
|
||||
* optional, the email-address-id
|
||||
* @param string $emailaddr
|
||||
* optional, the email-address
|
||||
* @param int $customerid
|
||||
* optional, required when called as admin (if $loginname is not specified)
|
||||
* @param string $loginname
|
||||
* optional, required when called as admin (if $customerid is not specified)
|
||||
* @param boolean $greylist
|
||||
* optional
|
||||
* @param string $description
|
||||
* optional custom description (currently not used/shown in the frontend), default empty
|
||||
*
|
||||
* @access admin, customer
|
||||
* @return string json-encoded array
|
||||
* @throws Exception
|
||||
*/
|
||||
public function updateGreylist()
|
||||
{
|
||||
if ($this->isAdmin() == false && Settings::IsInList('panel.customer_hide_options', 'email')) {
|
||||
throw new Exception("You cannot access this resource", 405);
|
||||
}
|
||||
|
||||
// if enabling catchall is not allowed by settings, we do not need
|
||||
// to run update()
|
||||
/** if (Settings::Get('catchall.catchall_enabled') != '1') {
|
||||
Response::standardError([
|
||||
'operationnotpermitted',
|
||||
'featureisdisabled'
|
||||
], 'catchall', true);
|
||||
} */
|
||||
|
||||
$id = $this->getParam('id', true, 0);
|
||||
$ea_optional = $id > 0;
|
||||
$emailaddr = $this->getParam('emailaddr', $ea_optional, '');
|
||||
|
||||
$result = $this->apiCall('Emails.get', [
|
||||
'id' => $id,
|
||||
'emailaddr' => $emailaddr
|
||||
]);
|
||||
$id = $result['id'];
|
||||
$email = $result['email'];
|
||||
|
||||
|
||||
// parameters
|
||||
$disablegreylist = $this->getBoolParam('disablegreylist', true, $result['disablegreylist']);
|
||||
$description = $this->getParam('description', true, $result['description']);
|
||||
|
||||
// get needed customer info to reduce the email-address-counter by one
|
||||
$customer = $this->getCustomerData();
|
||||
|
||||
// check for catchall-flag
|
||||
$stmt = Database::prepare("
|
||||
UPDATE `" . TABLE_MAIL_VIRTUAL . "`
|
||||
SET `email` = :email , `disablegreylist` = :grflag, `description` = :description
|
||||
WHERE `customerid`= :cid AND `id`= :id
|
||||
");
|
||||
$params = [
|
||||
"email" => $email,
|
||||
"grflag" => $disablegreylist,
|
||||
"description" => $description,
|
||||
"cid" => $customer['customerid'],
|
||||
"id" => $id
|
||||
];
|
||||
Database::pexecute($stmt, $params, true, true);
|
||||
$this->logger()->logAction($this->isAdmin() ? FroxlorLogger::ADM_ACTION : FroxlorLogger::USR_ACTION, LOG_NOTICE, "[API] toggled greylist-flag for email address '" . $result['email_full'] . "'");
|
||||
|
||||
$result = $this->apiCall('Emails.get', [
|
||||
'emailaddr' => $result['email_full']
|
||||
]);
|
||||
return $this->response($result);
|
||||
}
|
||||
/**
|
||||
* list all email addresses, if called from an admin, list all email addresses of all customers you are allowed to
|
||||
* view, or specify id or loginname for one specific customer
|
||||
@@ -331,7 +409,7 @@ class Emails extends ApiCommand implements ResourceEntity
|
||||
$result = [];
|
||||
$query_fields = [];
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT m.`id`, m.`domainid`, m.`email`, m.`email_full`, m.`iscatchall`, m.`destination`, m.`popaccountid`, d.`domain`, u.`quota`, u.`imap`, u.`pop3`, u.`postfix`, u.`mboxsize`
|
||||
SELECT m.`id`, m.`domainid`, m.`email`, m.`email_full`, m.`iscatchall`, m.`disablegreylist`, m.`destination`, m.`popaccountid`, d.`domain`, u.`quota`, u.`imap`, u.`pop3`, u.`postfix`, u.`mboxsize`
|
||||
FROM `" . TABLE_MAIL_VIRTUAL . "` m
|
||||
LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` d ON (m.`domainid` = d.`id`)
|
||||
LEFT JOIN `" . TABLE_MAIL_USERS . "` u ON (m.`popaccountid` = u.`id`)
|
||||
|
||||
@@ -52,7 +52,13 @@ return [
|
||||
'type' => 'checkbox',
|
||||
'value' => '1',
|
||||
'checked' => false
|
||||
]
|
||||
],
|
||||
'disablegreylist' => [
|
||||
'label' => lng('emails.disablegreylist'),
|
||||
'type' => 'checkbox',
|
||||
'value' => '1',
|
||||
'checked' => false
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
@@ -102,6 +102,19 @@ return [
|
||||
]
|
||||
]
|
||||
],
|
||||
'mail_disablegreylist' => [
|
||||
'label' => lng('emails.greylist'),
|
||||
'type' => 'label',
|
||||
'value' => ((int)$result['disablegreylist'] == 0 ? lng('panel.no') : lng('panel.yes')),
|
||||
'next_to' => [
|
||||
'add_link' => [
|
||||
'type' => 'link',
|
||||
'href' => $filename . '?page=' . $page . '&domainid=' . $result['domainid'] . '&action=togglegreylist&id=' . $result['id'],
|
||||
'label' => '<i class="fa-solid fa-arrow-right-arrow-left"></i> ' . lng('panel.toggle'),
|
||||
'classes' => 'btn btn-sm btn-secondary'
|
||||
]
|
||||
]
|
||||
],
|
||||
'mail_fwds' => [
|
||||
'label' => lng('emails.forwarders') . ' (' . $forwarders_count . ')',
|
||||
'type' => 'itemlist',
|
||||
|
||||
@@ -55,6 +55,12 @@ return [
|
||||
'callback' => [Text::class, 'boolean'],
|
||||
'visible' => Settings::Get('catchall.catchall_enabled') == '1'
|
||||
],
|
||||
'm.disablegreylist' => [
|
||||
'label' => lng('emails.greylist'),
|
||||
'field' => 'disablegreylist',
|
||||
'callback' => [Text::class, 'boolean'],
|
||||
'#visible' => Settings::Get('greylist.greylist_enabled') == '1'
|
||||
],
|
||||
'u.quota' => [
|
||||
'label' => lng('emails.quota'),
|
||||
'field' => 'quota',
|
||||
@@ -66,6 +72,7 @@ return [
|
||||
'm.destination',
|
||||
'm.popaccountid',
|
||||
'm.iscatchall',
|
||||
'm.disablegreylist',
|
||||
'u.quota'
|
||||
]),
|
||||
'actions' => [
|
||||
|
||||
@@ -724,6 +724,8 @@ return [
|
||||
'back_to_overview' => 'Zurück zur Domain-Übersicht',
|
||||
'accounts' => 'Konten',
|
||||
'emails' => 'Adressen',
|
||||
'disablegreylist' => 'Greylisting deaktivieren?',
|
||||
'greylist' => 'Greylisting aus?'
|
||||
],
|
||||
'error' => [
|
||||
'error' => 'Fehlermeldung',
|
||||
|
||||
55
notice.html
Normal file
55
notice.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>froxlor - Domain not configured</title>
|
||||
<style>
|
||||
:root{--primary:#1872a2;--fonts:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
|
||||
body{display:flex;flex-direction:column;background:#f8f9fa;color:#4b5563;align-items:center;justify-content:center;font-family:var(--fonts)}
|
||||
main{background:#fff;margin:10% auto 12px;max-width:540px;padding:2rem;box-shadow:4px 8px 16px 0 rgba(0,0,0,.07);border-radius:.375rem}
|
||||
main h2{margin:0}
|
||||
main p{margin-bottom:1.5rem}
|
||||
main p:last-child{margin-bottom:0}
|
||||
main ul{list-style:none;margin-left:-40px}
|
||||
main li{display:flex;align-items:center;margin-bottom:1rem}
|
||||
main .icon{min-width:24px;width:24px;stroke:var(--primary);margin-right:.75rem}
|
||||
code{background:#eee;padding:.1rem .25rem;border-radius:4px;color:rgba(0,0,0,.75)}
|
||||
hr{margin:2rem 0;border:none;border-bottom:solid 1px rgba(0,0,0,.1)}
|
||||
a,a:active,a:visited{color:var(--primary);text-decoration:none}
|
||||
a:hover{text-decoration:underline}
|
||||
footer{display:flex;align-items:center;margin-top:.5rem}
|
||||
footer .logo{margin-right:.35rem}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root{--primary:#29a2d6}
|
||||
body{background:#212529;color:#f8f9fa}
|
||||
main{background:#343a40}
|
||||
hr{border-color:rgba(0,0,0,.2)}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<h2>Domain not configured</h2>
|
||||
<p>
|
||||
This domain requires configuration via the froxlor server management panel, as it is currently not assigned to any customer.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
|
||||
</svg>
|
||||
<span>Please ask your provider/hoster if you have any questions.</span>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
<footer>
|
||||
<img class="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAQCAYAAAC1MDndAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAy1JREFUeNrs1muIVlUUBuBnvqZkoswudKErZFOG0kWt6WpN0wWCDMOsgX4UmVS/KovKhIKYLhRBJvV1o/5VlJCmYEmUFYijaBYhSRQVBVE0ZnRBJ/vzfnA4nDN+wTh/pgWHc/baa6+z97v3et/d0Ww24SQ8ij5MNL7tN6zBvdjWiZOxDpP8b3JA5qAXPQ0MtAnOm9jZBvqbsQHbsGsMFrQLv+KPUc47CQONlFXZPsNfJd/buBrDFfHDWIDDcAZmohsPjwFAD+EQnL8Xcl/WqOGc+/FJyXcxVuHJivjX8Hx2cwGeweO4fIxOkL10Wg9o1HSsxUcl30V5P1JxnFuxp+M53I67cQ5mYwZexj2YlnarJBdl3BE4FfPxdfofSOwNhX+uwgXxf1Uz/024DpNxFHrwRIEiPs74XnyIq3A8Xion6qxIvj0TX1vyb8x7CJ/jrELfjrx/zgmS0p2bCWzHzejAQTgmO35J+OpInIcv8GLKeROuzcI24lAsRH/yzcGJFfMfDIB/B/ipeD8bNojX8W1hPR+gCxPwTzsAdaGRgTeGrAZLJXd4zc59l1Jr2dzC91S8g+PSXhFwGgGxO4s6Bd9gaQRkAHdhSQHso/FCzRweS56ezLmB1bgCb+DBCg67rwaLSud+uDAAvVLRfw1OqCO18JEKbusvgNMqA/F153sCpgegT+O7Iwt8NwrZwKsh5irbUuDMFoXMquhv2eKRSKiOg54OUFXSt3SEfPvi4Dz77IEAW/8uH+vdpf6dkXGF+F9GyNtRkXe4or8tqwNoWrigbDeFTEfDZhbKckuBy9blu0XkC1Pi++PK+Objy5q80/NeXSDl9wrgnDkaAIlyzCj5zh1FCb00JL07Jd2LKfgBx+LWXE6XJP6pcMiUiMg8/FmRd3GEYHNiZ+H6wgZP/i+T7MzPJo5wkjYU2t01cWfjp6hH2WZn0adVbM7KALAS3weYftwZIVgTIHtxS8YtD6kOYX2Uqi8iIKCsD6CDhXnNi+iI+vXhwD3g83tHs9l8K5JZZbfh2UL7x0jyeLFljVzUhtoc0DWOwBnCoga25s6wrHDhG8+2I1j0YOu/AwBUU7aBHvM/ZwAAAABJRU5ErkJggg==" alt="froxlor"/>
|
||||
<small>© 2009-<span id="year"></span> by <a href="https://froxlor.org" rel="external">the froxlor team</a></small>
|
||||
</footer>
|
||||
<script>
|
||||
document.getElementById("year").innerHTML = new Date().getFullYear();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?php
|
||||
chmod('/app//bin/froxlor-cli', 0755);
|
||||
// re-create cron.d configuration file
|
||||
exec('/app//bin/froxlor-cli froxlor:cron -r 99');
|
||||
exit;
|
||||
17
templates/Froxlor/assets/css/dark.css
Normal file
17
templates/Froxlor/assets/css/dark.css
Normal file
File diff suppressed because one or more lines are too long
17
templates/Froxlor/assets/css/main.css
Normal file
17
templates/Froxlor/assets/css/main.css
Normal file
File diff suppressed because one or more lines are too long
2
templates/Froxlor/assets/js/main.js
Normal file
2
templates/Froxlor/assets/js/main.js
Normal file
File diff suppressed because one or more lines are too long
45
templates/Froxlor/assets/js/main.js.LICENSE.txt
Normal file
45
templates/Froxlor/assets/js/main.js.LICENSE.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
/*!
|
||||
* Bootstrap v5.3.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
||||
/*!
|
||||
* @kurkle/color v0.2.1
|
||||
* https://github.com/kurkle/color#readme
|
||||
* (c) 2022 Jukka Kurkela
|
||||
* Released under the MIT License
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Chart.js v3.9.1
|
||||
* https://www.chartjs.org
|
||||
* (c) 2022 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2023 Fonticons, Inc.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.7.1
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2023-08-28T13:37Z
|
||||
*/
|
||||
|
||||
/*!
|
||||
* jQuery Validation Plugin v1.20.0
|
||||
*
|
||||
* https://jqueryvalidation.org/
|
||||
*
|
||||
* Copyright (c) 2023 Jörn Zaefferer
|
||||
* Released under the MIT license
|
||||
*/
|
||||
13
templates/Froxlor/assets/mix-manifest.json
Normal file
13
templates/Froxlor/assets/mix-manifest.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"/js/main.js": "/js/main.js?id=29451cc889431e973473738b93e6a626",
|
||||
"/css/dark.css": "/css/dark.css?id=f965da97d900604705c3762bb9cd645a",
|
||||
"/css/main.css": "/css/main.css?id=cbda89c88526530a66fe1e0d46a63a22",
|
||||
"/webfonts/fa-brands-400.ttf": "/webfonts/fa-brands-400.ttf?id=69e5d8e4e818f05fd882cceb758d1eba",
|
||||
"/webfonts/fa-brands-400.woff2": "/webfonts/fa-brands-400.woff2?id=189b85e9c72c6f75e464c3f58a6707cf",
|
||||
"/webfonts/fa-regular-400.ttf": "/webfonts/fa-regular-400.ttf?id=ed4c23399d1013809882e90bfe396d1b",
|
||||
"/webfonts/fa-regular-400.woff2": "/webfonts/fa-regular-400.woff2?id=be75b1958ae0da55e1eed562d9b7713d",
|
||||
"/webfonts/fa-solid-900.ttf": "/webfonts/fa-solid-900.ttf?id=dfdc7801582dd0d20ea75faa3b96c296",
|
||||
"/webfonts/fa-solid-900.woff2": "/webfonts/fa-solid-900.woff2?id=a0feb384c3c6071947a49708f2b0bc85",
|
||||
"/webfonts/fa-v4compatibility.ttf": "/webfonts/fa-v4compatibility.ttf?id=e24ec0b8661f7fa333b29444df39e399",
|
||||
"/webfonts/fa-v4compatibility.woff2": "/webfonts/fa-v4compatibility.woff2?id=e11465c0eff0549edd4e8ea6bbcf242f"
|
||||
}
|
||||
BIN
templates/Froxlor/assets/webfonts/fa-brands-400.ttf
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-brands-400.ttf
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-brands-400.woff2
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-brands-400.woff2
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-regular-400.ttf
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-regular-400.ttf
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-regular-400.woff2
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-regular-400.woff2
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-solid-900.ttf
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-solid-900.ttf
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-solid-900.woff2
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-solid-900.woff2
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-v4compatibility.ttf
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-v4compatibility.ttf
Normal file
Binary file not shown.
BIN
templates/Froxlor/assets/webfonts/fa-v4compatibility.woff2
Normal file
BIN
templates/Froxlor/assets/webfonts/fa-v4compatibility.woff2
Normal file
Binary file not shown.
@@ -1,26 +0,0 @@
|
||||
$header
|
||||
<article class="login bradius">
|
||||
<header class="dark">
|
||||
<img src="{$header_logo}" alt="Froxlor Server Management Panel" />
|
||||
</header>
|
||||
<section class="loginsec">
|
||||
<form method="post" action="{$filename}" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<legend>Froxlor - {$lng['login']['2fa']}</legend>
|
||||
<p>
|
||||
<label for="2fa_code">{$lng['login']['2facode']}:</label>
|
||||
<input type="text" name="2fa_code" id="2fa_code" value="" autofocus required/>
|
||||
</p>
|
||||
<p class="submit">
|
||||
<input type="hidden" name="action" value="2fa_verify" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<input type="submit" value="{$lng['2fa']['2fa_verify']}" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
<aside>
|
||||
<a href="index.php">{$lng['login']['backtologin']}</a>
|
||||
</aside>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,43 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/lock_big.png" alt="" />
|
||||
{$lng['login']['2fa']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<if $userinfo['type_2fa']=='0'>
|
||||
<form method="post"
|
||||
action="{$linker->getLink(array('section' => 'index', 'page' => $page, 'action' => 'add'))}">
|
||||
<p>{$lng['2fa']['2fa_overview_desc']}</p>
|
||||
<br> <select id="type_2fa" name="type_2fa" class="small">{$type_select}
|
||||
</select> <input type="submit" class="submit"
|
||||
value="{$lng['2fa']['2fa_add']}" name="add" />
|
||||
</form>
|
||||
</if>
|
||||
|
||||
<if $userinfo['type_2fa']=='1'>
|
||||
<form method="post"
|
||||
action="{$linker->getLink(array('section' => 'index', 'page' => $page, 'action' => 'delete'))}">
|
||||
<p>{$lng['2fa']['2fa_email_desc']}</p>
|
||||
<br> <input type="submit" class="cancel"
|
||||
value="{$lng['2fa']['2fa_delete']}" name="delete" />
|
||||
</form>
|
||||
</if>
|
||||
|
||||
<if $userinfo['type_2fa']=='2'>
|
||||
<form method="post"
|
||||
action="{$linker->getLink(array('section' => 'index', 'page' => $page, 'action' => 'delete'))}">
|
||||
<p>{$lng['2fa']['2fa_ga_desc']}</p>
|
||||
<br> <img src="{$ga_qrcode}" alt="QRCode" /><br>
|
||||
<br> <input type="submit" class="cancel"
|
||||
value="{$lng['2fa']['2fa_delete']}" name="delete" />
|
||||
</form>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,2 +0,0 @@
|
||||
created and maintained by Roman Schmerold <BNoiZe@froxlor.org>
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />
|
||||
{$lng['admin']['admins']} ({$admincount})
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'admins'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'admins', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['admin_add']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['customer']['name']} {$arrowcode['name']}</th>
|
||||
<th>{$lng['login']['username']} {$arrowcode['loginname']}</th>
|
||||
<th>{$lng['admin']['customers']}</th>
|
||||
<th> </th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<if $pagingcode != ''>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="5">{$pagingcode}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</if>
|
||||
|
||||
<tbody>
|
||||
$admins
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<if 15 < $count >
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'admins', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['admin_add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,35 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/user_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'admins'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$admin_add_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}<br />
|
||||
<span class="red">**</span>: {$lng['admin']['valuemandatorycompany']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,86 +0,0 @@
|
||||
<tr>
|
||||
<td>
|
||||
{$row['name']}
|
||||
</td>
|
||||
<td>
|
||||
<if $row['adminid'] != $userinfo['userid']>
|
||||
<a href="{$linker->getLink(array('section' => 'admins', 'page' => $page, 'action' => 'su', 'id' => $row['adminid']))}" rel="external">{$row['loginname']}</a>
|
||||
</if>
|
||||
<if $row['adminid'] == $userinfo['userid']>
|
||||
{$row['loginname']}
|
||||
</if>
|
||||
</td>
|
||||
<td>
|
||||
{$row['customers_used']}
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<span class="overviewcustomerextras">
|
||||
<span>Webspace:</span>
|
||||
<if $row['diskspace'] != 'UL'>
|
||||
<if (($row['diskspace']/100)*(int)\Froxlor\Settings::Get('system.report_webmax')) < $row['diskspace_used']>
|
||||
<div class="progress progress-danger tipper" title="{$row['diskspace_used']} MiB {$lng['panel']['used']}, {$row['diskspace']} MiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<if (($row['diskspace']/100)*((int)\Froxlor\Settings::Get('system.report_webmax') - 15)) < $row['diskspace_used']>
|
||||
<div class="progress progress-warn tipper" title="{$row['diskspace_used']} MiB {$lng['panel']['used']}, {$row['diskspace']} MiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<div class="progress tipper" title="{$row['diskspace_used']} MiB {$lng['panel']['used']}, {$row['diskspace']} MiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</if>
|
||||
<else>
|
||||
<div class="progress">∞
|
||||
<div class="bar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</span>
|
||||
<span class="overviewcustomerextras">
|
||||
<span>Traffic:</span>
|
||||
<if $row['traffic'] != 'UL'>
|
||||
<if (($row['traffic']/100)*(int)\Froxlor\Settings::Get('system.report_trafficmax')) < $row['traffic_used']>
|
||||
<div class="progress progress-danger tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<if (($row['traffic']/100)*((int)\Froxlor\Settings::Get('system.report_trafficmax') - 15)) < $row['traffic_used']>
|
||||
<div class="progress progress-warn tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<div class="progress tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</if>
|
||||
<else>
|
||||
<div class="progress">∞
|
||||
<div class="bar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'admins', 'page' => $page, 'action' => 'edit', 'id' => $row['adminid']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<a href="{$linker->getLink(array('section' => 'admins', 'page' => $page, 'action' => 'delete', 'id' => $row['adminid']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
<if $row['custom_notes'] != ''>
|
||||
<img src="templates/{$theme}/assets/img/icons/info.png" class="notes" data-id="{$row['loginname']}" alt="{$lng['usersettings']['custom_notes']['title']}" title="{$lng['usersettings']['custom_notes']['title']}" />
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
<if $row['custom_notes'] != ''>
|
||||
<tr class="notes_block" id="notes_{$row['loginname']}">
|
||||
<td colspan="5">
|
||||
{$row['custom_notes']}
|
||||
</td>
|
||||
</tr>
|
||||
</if>
|
||||
@@ -1,41 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/user_edit_big.png" alt="{$title}" /> {$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<if $result['adminid'] == $userinfo['userid']>
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warning">{$lng['error']['youcanteditallfieldsofyourself']}</div>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'admins'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$admin_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="{$lng['admin']['configfiles']['serverconfiguration']}" />
|
||||
{$lng['admin']['configfiles']['serverconfiguration']}
|
||||
[<a href="{$linker->getLink(array('section' => 'configfiles', 'page' => 'configfiles'))}">{$lng['admin']['configfiles']['wizard']}</a>]
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<form action="{$linker->getLink(array('section' => 'configfiles'))}" method="get" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
|
||||
<table class="tiny center">
|
||||
$distributions
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1 +0,0 @@
|
||||
<li><a href="{$linker->getLink(array('section' => 'configfiles', 'page' => $page, 'distribution' => $distribution_name, 'service' => $service_name, 'daemon' => $daemon_name))}">{$daemon_details['label']}</a></li>
|
||||
@@ -1,6 +0,0 @@
|
||||
<tr class="section">
|
||||
<th><strong>{$distribution_details['label']}</strong></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>$services</td>
|
||||
</tr>
|
||||
@@ -1,5 +0,0 @@
|
||||
<strong>{$service_details['label']}</strong>
|
||||
<br />
|
||||
<ul>
|
||||
$daemons
|
||||
</ul>
|
||||
@@ -1,30 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />
|
||||
{$dist_display} »
|
||||
{$services[$service]->title} »
|
||||
{$daemons[$daemon]->title} [<a href="{$linker->getLink(array('section' => 'configfiles', 'page' => $page, 'distribution' => $distribution, 'service' => $service))}">{$lng['panel']['back']}</a>]
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<div class="info">
|
||||
<p>{$lng['admin']['configfiles']['legend']}</p>
|
||||
<p>{$lng['admin']['configfiles']['commands']}</p>
|
||||
<p>{$lng['admin']['configfiles']['files']}</p>
|
||||
<p>
|
||||
<form id="configfiles_setmysqlpw" action="#">
|
||||
FROXLOR_MYSQL_PASSWORD: <input type="text" class="text" id="configfiles_mysqlpw" name="configfiles_mysqlpw" value="" />
|
||||
<input type="submit" value="{$lng['panel']['set']}" />
|
||||
</form>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
{$configpage}
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,3 +0,0 @@
|
||||
<div class="pushbot">
|
||||
<textarea class="shell" rows="{$numbrows}" readonly>{$commands}</textarea>
|
||||
</div>
|
||||
@@ -1,4 +0,0 @@
|
||||
<div class="pushbot">
|
||||
<textarea class="shell" rows="1" readonly>{$distro_editor} {$realname}</textarea>
|
||||
<textarea class="filecontent" rows="<if $numbrows <=20 >{$numbrows}<else>21</if>" readonly>{$file_content}</textarea>
|
||||
</div>
|
||||
@@ -1,8 +0,0 @@
|
||||
<div class="filesub">
|
||||
<fieldset class="file">
|
||||
<legend>{$realname}</legend>
|
||||
{$commands_pre}
|
||||
{$commands_file}
|
||||
{$commands_post}
|
||||
</fieldset>
|
||||
</div>
|
||||
@@ -1,82 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="{$lng['admin']['configfiles']['serverconfiguration']}" />
|
||||
{$lng['admin']['configfiles']['serverconfiguration']}
|
||||
[<a href="{$linker->getLink(array('section' => 'configfiles', 'page' => 'overview'))}">{$lng['admin']['configfiles']['overview']}</a>]
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<div class="messagewrapperfull">
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warningtitle">{$lng['admin']['warning']}</div>
|
||||
<div class="warning">{$lng['panel']['settings_before_configuration']}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section>
|
||||
<form action="$filename" method="get" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
|
||||
<table class="tiny center">
|
||||
<tr>
|
||||
<td><b>{$lng['admin']['configfiles']['distribution']}:</b></td>
|
||||
<td>
|
||||
<if $distribution != ''>
|
||||
<input type="hidden" name="distribution" value="$distribution"/>
|
||||
<a href="{$linker->getLink(array('section' => 'configfiles', 'page' => $page))}">{$dist_display}</a>
|
||||
<else>
|
||||
<select id="config_distribution" name="distribution">
|
||||
<option value="choose">{$lng['admin']['configfiles']['choosedistribution']}</option>
|
||||
{$distributions_select}
|
||||
</select>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{$lng['admin']['configfiles']['service']}:</b></td>
|
||||
<td>
|
||||
<if $service != ''>
|
||||
<input type="hidden" name="service" value="$service"/>
|
||||
<a href="{$linker->getLink(array('section' => 'configfiles', 'page' => $page, 'distribution' => $distribution))}">{$services[$service]->title}</a>
|
||||
<else>
|
||||
<select id="config_service" name="service">
|
||||
<option value="choose">{$lng['admin']['configfiles']['chooseservice']}</option>
|
||||
{$services_select}
|
||||
</select>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{$lng['admin']['configfiles']['daemon']}:</b></td>
|
||||
<td><select id="config_daemon" name="daemon"><option value="choose">{$lng['admin']['configfiles']['choosedaemon']}</option>{$daemons_select}</select></td>
|
||||
</tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2" align="center"><input class="bottom" type="submit" value="{$lng['panel']['next']}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<if \Froxlor\Settings::Get('panel.is_configured') == '0'>
|
||||
<td colspan="2" align="center">{$lng['panel']['done_configuring']}:<br><br><a href="{$linker->getLink(array('section' => 'configfiles', 'page' => 'overview', 'action' => 'setconfigured'))}" class="btnlink">{$lng['panel']['ihave_configured']}</a><br><br></td>
|
||||
<else>
|
||||
<td colspan="2" align="center">{$lng['panel']['system_is_configured']}</td>
|
||||
</if>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<br><br><br>
|
||||
<section>
|
||||
<p><strong>{$lng['panel']['alternative_cmdline_config']}:</strong></p>
|
||||
<div class="pushbot">
|
||||
<textarea class="shell" rows="2" readonly>php {$basedir}/install/scripts/config-services.php --froxlor-dir={$basedir} --create</textarea>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,27 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/clock_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'cronjobs'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$cronjobs_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,33 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2><img src="templates/{$theme}/assets/img/icons/clock_big.png" alt="" />
|
||||
{$lng['admin']['cron']['cronsettings']}</h2>
|
||||
</header>
|
||||
|
||||
<div class="messagewrapperfull">
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warningtitle">{$lng['admin']['warning']}</div>
|
||||
<div class="warning">{$lng['cron']['changewarning']}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['cron']['description']}</th>
|
||||
<th>{$lng['cron']['lastrun']}</th>
|
||||
<th>{$lng['cron']['interval']}</th>
|
||||
<th>{$lng['cron']['isactive']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
$crons
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,11 +0,0 @@
|
||||
<tr>
|
||||
<td>{$description}</td>
|
||||
<td>{$row['lastrun']}</td>
|
||||
<td>{$row['interval']}</td>
|
||||
<td>{$row['isactive']}</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'cronjobs', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,3 +0,0 @@
|
||||
<tr>
|
||||
<td colspan="5"><b>{$module}</b></td>
|
||||
</tr>
|
||||
@@ -1,71 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />
|
||||
{$lng['admin']['customers']} ({$customercount})
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'customers'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<if $userinfo['customers_used'] < $userinfo['customers'] || $userinfo['customers'] == '-1'>
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['customer_add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
{$lng['customer']['name']},
|
||||
{$lng['customer']['firstname']} {$arrowcode['c.name']}
|
||||
</th>
|
||||
<th>
|
||||
{$lng['login']['username']} {$arrowcode['c.loginname']}
|
||||
</th>
|
||||
<th>
|
||||
{$lng['admin']['admin']} {$arrowcode['a.loginname']}
|
||||
</th>
|
||||
<th>{$lng['admin']['lastlogin_succ']}</th>
|
||||
<th></th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
$customers
|
||||
</tbody>
|
||||
|
||||
<if $pagingcode != ''>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6">{$pagingcode}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</if>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<if ($userinfo['customers_used'] < $userinfo['customers'] || $userinfo['customers'] == '-1') && 15 < $userinfo['customers_used'] >
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['customer_add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,36 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/user_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
<script type="text/javascript" src="templates/{$theme}/assets/js/customers.js"></script>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'customers'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$customer_add_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}<br />
|
||||
<span class="red">**</span>: {$lng['admin']['valuemandatorycompany']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,98 +0,0 @@
|
||||
<tr <if $row['deactivated'] == 1>class="disabled"</if>>
|
||||
<td>
|
||||
<if $row['company'] != '' && $row['name'] != ''>
|
||||
{$row['company']}<br />
|
||||
<small>{$row['name']}, {$row['firstname']}</small>
|
||||
</if>
|
||||
<if $row['company'] != '' && $row['name'] == ''>
|
||||
{$row['company']}
|
||||
</if>
|
||||
<if $row['company'] == ''>
|
||||
{$row['name']}, {$row['firstname']}
|
||||
</if>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'su', 'sort' => $row['loginname'], 'id' => $row['customerid']))}" rel="external">{$row['loginname']}</a>
|
||||
</td>
|
||||
<td>
|
||||
{$row['adminname']}
|
||||
</td>
|
||||
<td>
|
||||
{$last_login}
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<span class="overviewcustomerextras">
|
||||
<span>Webspace:</span>
|
||||
<if $row['diskspace'] != 'UL'>
|
||||
<if (($row['diskspace']/100)*(int)\Froxlor\Settings::Get('system.report_webmax')) < $row['diskspace_used']>
|
||||
<div class="progress progress-danger tipper" title="{$lng['panel']['used']}:<br>web: {$row['webspace_used']} {$lng['customer']['mib']}<br>mail: {$row['mailspace_used']} {$lng['customer']['mib']}<br>mysql: {$row['dbspace_used']} MiB<br><br>{$lng['panel']['assigned']}:<br>{$row['diskspace']} {$lng['customer']['mib']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<if (($row['diskspace']/100)*((int)\Froxlor\Settings::Get('system.report_webmax') - 15)) < $row['diskspace_used']>
|
||||
<div class="progress progress-warn tipper" title="{$lng['panel']['used']}:<br>web: {$row['webspace_used']} {$lng['customer']['mib']}<br>mail: {$row['mailspace_used']} {$lng['customer']['mib']}<br>mysql: {$row['dbspace_used']} MiB<br><br>{$lng['panel']['assigned']}:<br>{$row['diskspace']} {$lng['customer']['mib']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<div class="progress tipper" title="{$lng['panel']['used']}:<br>web: {$row['webspace_used']} {$lng['customer']['mib']}<br>mail: {$row['mailspace_used']} {$lng['customer']['mib']}<br>mysql: {$row['dbspace_used']} MiB<br><br>{$lng['panel']['assigned']}:<br>{$row['diskspace']} {$lng['customer']['mib']}">
|
||||
<div class="bar" aria-valuenow="{$disk_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</if>
|
||||
<else>
|
||||
<div class="progress">∞
|
||||
<div class="bar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</span>
|
||||
<span class="overviewcustomerextras">
|
||||
<span>Traffic:</span>
|
||||
<if $row['traffic'] != 'UL'>
|
||||
<if (($row['traffic']/100)*(int)\Froxlor\Settings::Get('system.report_trafficmax')) < $row['traffic_used']>
|
||||
<div class="progress progress-danger tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<if (($row['traffic']/100)*((int)\Froxlor\Settings::Get('system.report_trafficmax') - 15)) < $row['traffic_used']>
|
||||
<div class="progress progress-warn tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<else>
|
||||
<div class="progress tipper" title="{$row['traffic_used']} GiB {$lng['panel']['used']}, {$row['traffic']} GiB {$lng['panel']['assigned']}">
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</if>
|
||||
<else>
|
||||
<div class="progress">∞
|
||||
<div class="bar" aria-valuenow="{$traffic_percent}" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</if>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'edit', 'id' => $row['customerid']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'delete', 'id' => $row['customerid']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
<if $islocked == 1>
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'unlock', 'id' => $row['customerid']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/unlock.png" alt="{$lng['panel']['unlock']}" title="{$lng['panel']['unlock']}" />
|
||||
</a>
|
||||
</if>
|
||||
<if $row['custom_notes'] != ''>
|
||||
<img src="templates/{$theme}/assets/img/icons/info.png" class="notes" data-id="{$row['loginname']}" alt="{$lng['usersettings']['custom_notes']['title']}" title="{$lng['usersettings']['custom_notes']['title']}" />
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
<if $row['custom_notes'] != ''>
|
||||
<tr class="notes_block" id="notes_{$row['loginname']}">
|
||||
<td colspan="6">
|
||||
{$row['custom_notes']}
|
||||
</td>
|
||||
</tr>
|
||||
</if>
|
||||
@@ -1,37 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/user_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
<script type="text/javascript" src="templates/{$theme}/assets/js/customers.js"></script>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'customers'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$customer_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}<br />
|
||||
<span class="red">**</span>: {$lng['admin']['valuemandatorycompany']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,73 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/domains_big.png" alt="" />
|
||||
{$lng['admin']['domains']} ({$domainscount})
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'domains'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<if ($userinfo['domains_used'] < $userinfo['domains'] || $userinfo['domains'] == '-1') && $countcustomers !=0 >
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['domain_add']}</a>
|
||||
|
||||
<img src="templates/{$theme}/assets/img/icons/archive.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'import'))}">{$lng['domains']['domain_import']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['domains']['domainname']} {$arrowcode['d.domain_ace']}</th>
|
||||
<th>{$lng['admin']['ipsandports']['ip']}</th>
|
||||
<th>{$lng['admin']['customer']} {$arrowcode['c.loginname']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{$domains}
|
||||
</tbody>
|
||||
|
||||
<if $pagingcode != ''>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4">{$pagingcode}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</if>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<if $countcustomers == 0 >
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warningtitle">{$lng['admin']['warning']}</div>
|
||||
<div class="warning">
|
||||
<a href="{$linker->getLink(array('section' => 'customers', 'page' => 'customers', 'action' => 'add'))}">{$lng['admin']['domain_nocustomeraddingavailable']}</a>
|
||||
</div>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<if ($userinfo['domains_used'] < $userinfo['domains'] || $userinfo['domains'] == '-1') && 15 < $count && 0 < $countcustomers >
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['domain_add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,32 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/domain_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
<script type="text/javascript" src="templates/{$theme}/assets/js/domains.js"></script>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'domains'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$domain_add_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
<br />
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,45 +0,0 @@
|
||||
<if $row['termination_css'] != ''>
|
||||
<tr class="{$row['termination_css']}<if $row['deactivated'] == 1> disabled</if>">
|
||||
</if>
|
||||
<if $row['termination_css'] == ''>
|
||||
<tr <if $row['deactivated'] == 1>class="disabled"</if>>
|
||||
</if>
|
||||
<td><b>{$row['domain']}</b>
|
||||
<if (isset($row['standardsubdomain']) && $row['standardsubdomain'] == $row['id'])>
|
||||
({$lng['admin']['stdsubdomain']})
|
||||
</if>
|
||||
<if $row['registration_date'] != ''>
|
||||
<br><small>{$lng['domains']['registration_date']}: {$row['registration_date']}</small>
|
||||
</if>
|
||||
<if $row['termination_date'] != ''>
|
||||
<br><small><div class="red">({$lng['domains']['termination_date_overview']} {$row['termination_date']})</div></small>
|
||||
</if>
|
||||
</td>
|
||||
<td>{$row['ipandport']}</td>
|
||||
<td>{$row['customername']}
|
||||
<if !empty($row['loginname'])>(<a href="{$linker->getLink(array('section' => 'customers', 'page' => 'customers', 'action' => 'su', 'id' => $row['customerid']))}" rel="external">{$row['loginname']}</a>)</if>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => 'logfiles', 'domain_id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/view.png" alt="{$lng['panel']['viewlogs']}" title="{$lng['panel']['viewlogs']}" />
|
||||
</a>
|
||||
<if $row['isbinddomain'] == '1' && \Froxlor\Settings::Get('system.bind_enable') == '1' && \Froxlor\Settings::Get('system.dnsenabled') == '1'>
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => 'domaindnseditor', 'domain_id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/dns_edit.png" alt="{$lng['dnseditor']['edit']}" title="{$lng['dnseditor']['edit']}" />
|
||||
</a>
|
||||
</if>
|
||||
<if $row['letsencrypt'] == '1'>
|
||||
<img src="templates/{$theme}/assets/img/icons/ssl_letsencrypt.png" alt="{$lng['panel']['letsencrypt']}" title="{$lng['panel']['letsencrypt']}" />
|
||||
</if>
|
||||
<if !(isset($row['domainaliasid']) && $row['domainaliasid'] != 0) && $row['id'] != \Froxlor\Settings::Get('system.hostname_id')>
|
||||
<if !(isset($row['standardsubdomain']) && $row['standardsubdomain'] == $row['id'])>
|
||||
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'delete', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
</if>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,46 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/domain_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
<if $result['isbinddomain'] == '1' && \Froxlor\Settings::Get('system.bind_enable') == '1' && \Froxlor\Settings::Get('system.dnsenabled') == '1'>
|
||||
(<small><a href="{$linker->getLink(array('section' => 'domains', 'page' => 'domaindnseditor', 'domain_id' => $id))}">{$lng['dnseditor']['edit']}</a></small>)
|
||||
</if>
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'domains'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="delete_statistics_str" id="delete_statistics_str" value="{$lng['admin']['delete_statistics']}">
|
||||
<input type="hidden" name="speciallogverified" id="speciallogverified" value="0" />
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<div id="speciallogwarningpopup" name="speciallogwarningpopup" align="center">
|
||||
<div class="warningtitle">{$lng['admin']['delete_statistics']}</div>
|
||||
</p>{$speciallogwarning}</p>
|
||||
<input type="text" name="delete_stats" id="delete_stats"></p>
|
||||
<div>
|
||||
<input type="button" class="yesbutton" name="verifybutton" value="{$lng['panel']['delete']}" id="speciallogyesbutton" />
|
||||
<input type="button" class="nobutton" value="{$lng['panel']['cancel']}" id="speciallognobutton" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="full">
|
||||
{$domain_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
<br />
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,38 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/domain_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<div class="messagewrapperfull">
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warningtitle">{$lng['admin']['note']}</div>
|
||||
<div class="warning">{$lng['domains']['import_description']}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'domains'))}" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$domain_import_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
<br />
|
||||
<section>
|
||||
<p>
|
||||
<span class="red">*</span>: {$lng['admin']['valuemandatory']}
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,33 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/flag.png" alt="" />
|
||||
{$lng['menue']['main']['changelanguage']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<table class="tiny center">
|
||||
<tr>
|
||||
<td><label for="def_language">{$lng['login']['language']}:</label></td>
|
||||
<td><select id="def_language" name="def_language">$language_options</select></td>
|
||||
</tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<input type="submit" value="{$lng['menue']['main']['changelanguage']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,41 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/lock_big.png" alt="" />
|
||||
{$lng['menue']['main']['changepassword']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<table class="middle center">
|
||||
<tr>
|
||||
<td><label for="old_password">{$lng['changepassword']['old_password']}:</label></td>
|
||||
<td><input type="password" id="old_password" name="old_password" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="new_password">{$lng['changepassword']['new_password']}:</label></td>
|
||||
<td><input type="password" id="new_password" name="new_password" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="new_password_confirm">{$lng['changepassword']['new_password_confirm']}:</label></td>
|
||||
<td><input type="password" id="new_password_confirm" name="new_password_confirm" /></td>
|
||||
</tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<input type="submit" value="{$lng['menue']['main']['changepassword']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,33 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/display_big.png" alt="" />
|
||||
{$lng['menue']['main']['changetheme']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<table class="tiny center">
|
||||
<tr>
|
||||
<td><label for="theme">{$lng['panel']['theme']}:</label></td>
|
||||
<td><select id="theme" name="theme">$theme_options</select></td>
|
||||
</tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<input class="bottom" type="submit" value="{$lng['menue']['main']['changetheme']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,279 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/domains_big.png" alt="" />
|
||||
{$lng['panel']['dashboard']}
|
||||
</h2>
|
||||
|
||||
<div class="grid-g">
|
||||
<div class="grid-u-1-2" id="statsbox">
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="customers" class="circular" data-used="{$overview['number_customers']}" data-available="{$userinfo['customers']}">
|
||||
<canvas id="customers-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['admin']['customers']}<br />
|
||||
<small>
|
||||
{$overview['number_customers']} {$lng['panel']['used']}<br />
|
||||
<if $userinfo['customers'] != '∞'>
|
||||
{$userinfo['customers']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="domains" class="circular" data-used="{$overview['number_domains']}" data-available="{$userinfo['domains']}">
|
||||
<canvas id="domains-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['domains']}<br />
|
||||
<small>
|
||||
{$overview['number_domains']} {$lng['panel']['used']}<br />
|
||||
<if $userinfo['domains'] != '∞'>
|
||||
{$userinfo['domains']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="subdomains" class="circular" data-used="{$overview['subdomains_used']}" data-available="{$userinfo['subdomains']}" data-assigned="{$userinfo['subdomains_used']}">
|
||||
<canvas id="subdomains-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['subdomains']}<br />
|
||||
<small>
|
||||
{$overview['subdomains_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['subdomains_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['subdomains'] != '∞'>
|
||||
{$userinfo['subdomains']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="diskspace" class="circular" data-used="{$overview['diskspace_used']}" data-available="{$userinfo['diskspace']}" data-assigned="{$userinfo['diskspace_used']}">
|
||||
<canvas id="diskspace-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['diskspace']}<br />
|
||||
<small>
|
||||
{$overview['diskspace_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['diskspace_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['diskspace'] != '∞'>
|
||||
{$userinfo['diskspace']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="traffic" class="circular" data-used="{$overview['traffic_used']}" data-available="{$userinfo['traffic']}" data-assigned="{$userinfo['traffic_used']}">
|
||||
<canvas id="traffic-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['traffic']}<br />
|
||||
<small>
|
||||
{$overview['traffic_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['traffic_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['traffic'] != '∞'>
|
||||
{$userinfo['traffic']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="mysqls" class="circular" data-used="{$overview['mysqls_used']}" data-available="{$userinfo['mysqls']}" data-assigned="{$userinfo['mysqls_used']}">
|
||||
<canvas id="mysqls-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['mysqls']}<br />
|
||||
<small>
|
||||
{$overview['mysqls_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['mysqls_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['mysqls'] != '∞'>
|
||||
{$userinfo['mysqls']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="emails" class="circular" data-used="{$overview['emails_used']}" data-available="{$userinfo['emails']}" data-assigned="{$userinfo['emails_used']}">
|
||||
<canvas id="emails-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['emails']}<br />
|
||||
<small>
|
||||
{$overview['emails_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['emails_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['emails'] != '∞'>
|
||||
{$userinfo['emails']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="email_accounts" class="circular" data-used="{$overview['email_accounts_used']}" data-available="{$userinfo['email_accounts']}" data-assigned="{$userinfo['email_accounts_used']}">
|
||||
<canvas id="email_accounts-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['accounts']}<br />
|
||||
<small>
|
||||
{$overview['email_accounts_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['email_accounts_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['email_accounts'] != '∞'>
|
||||
{$userinfo['email_accounts']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="email_forwarders" class="circular" data-used="{$overview['email_forwarders_used']}" data-available="{$userinfo['email_forwarders']}" data-assigned="{$userinfo['email_forwarders_used']}">
|
||||
<canvas id="email_forwarders-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['forwarders']}<br />
|
||||
<small>
|
||||
{$overview['email_forwarders_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['email_forwarders_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['email_forwarders'] != '∞'>
|
||||
{$userinfo['email_forwarders']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<if \Froxlor\Settings::Get('system.mail_quota_enabled') == 1>
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="email_quota" class="circular" data-used="{$overview['email_quota_used']}" data-available="{$userinfo['email_quota']}" data-assigned="{$userinfo['email_quota_used']}">
|
||||
<canvas id="email_quota-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['email_quota']}<br />
|
||||
<small>
|
||||
{$overview['email_quota_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['email_quota_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['email_quota'] != '∞'>
|
||||
{$userinfo['email_quota']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="ftps" class="circular" data-used="{$overview['ftps_used']}" data-available="{$userinfo['ftps']}" data-assigned="{$userinfo['ftps_used']}">
|
||||
<canvas id="ftps-canvas" width="120" height="76"></canvas><br/>
|
||||
{$lng['customer']['ftps']}<br />
|
||||
<small>
|
||||
{$overview['ftps_used']} {$lng['panel']['used']}<br />
|
||||
{$userinfo['ftps_used']} {$lng['panel']['assigned']}<br />
|
||||
<if $userinfo['ftps'] != '∞'>
|
||||
{$userinfo['ftps']} {$lng['panel']['available']}
|
||||
</if>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid-u-1-2">
|
||||
<if \Froxlor\Settings::Get('admin.show_news_feed') == '1'>
|
||||
<table class="dboarditem full" id="newsfeed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>News</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<ul class="newsfeed" id="newsfeeditems"></ul>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<else>
|
||||
<table class="dboarditem full">
|
||||
<tbody>
|
||||
<tr><td>
|
||||
<img src="templates/{$theme}/assets/img/icons/warning_big.png" alt="" />
|
||||
{$lng['panel']['newsfeed_disabled']}
|
||||
<a href="{$linker->getLink(array('section' => 'settings', 'part' => 'panel'))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit_20.png" alt="" />
|
||||
</a>
|
||||
</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</if>
|
||||
|
||||
<if $userinfo['custom_notes'] != '' && $userinfo['custom_notes_show'] == '1'>
|
||||
<table class="dboarditem full">
|
||||
<tbody>
|
||||
<tr><td>{$userinfo['custom_notes']}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</if>
|
||||
|
||||
<table class="dboarditem">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{$lng['admin']['systemdetails']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{$lng['admin']['hostname']}:</td>
|
||||
<td>{$system_hostname}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['serversoftware']}:</td>
|
||||
<td>{$_SERVER['SERVER_SOFTWARE']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['phpversion']}:</td>
|
||||
<td><a href="{$linker->getLink(array('section' => 'settings', 'page' => 'phpinfo'))}">$phpversion</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap">{$lng['admin']['mysqlserverversion']}:</td>
|
||||
<td>$mysqlserverversion</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['webserverinterface']}:</td>
|
||||
<td>$webserverinterface</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['memory']}:</td>
|
||||
<td><pre>$memory</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['sysload']}:</td>
|
||||
<td>$load</td>
|
||||
</tr>
|
||||
<if $showkernel == 1>
|
||||
<tr>
|
||||
<td>Kernel:</td>
|
||||
<td>$kernel</td>
|
||||
</tr>
|
||||
</if>
|
||||
<if $uptime != ''>
|
||||
<tr>
|
||||
<td>Uptime:</td>
|
||||
<td>$uptime</td>
|
||||
</tr>
|
||||
</if>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="dboarditem">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{$lng['admin']['froxlordetails']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{$outstanding_tasks}
|
||||
{$cron_last_runs}
|
||||
<tr>
|
||||
<td>{$lng['admin']['installedversion']}:</td>
|
||||
<td>{$version}{$branding} (DB: {$dbversion})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['admin']['latestversion']}:</td>
|
||||
<if $isnewerversion != 0 >
|
||||
<td><a href="$lookfornewversion_link"><strong>$lookfornewversion_lable</strong></a></td>
|
||||
<else>
|
||||
<td><a href="$lookfornewversion_link">$lookfornewversion_lable</a></td>
|
||||
</if>
|
||||
</tr>
|
||||
<if $lookfornewversion_message != ''>
|
||||
<tr>
|
||||
<td colspan="2"><strong>$lookfornewversion_message</strong></td>
|
||||
</tr>
|
||||
</if>
|
||||
<if $lookfornewversion_addinfo != ''>
|
||||
<tr>
|
||||
<td colspan="2">$lookfornewversion_addinfo</td>
|
||||
</tr>
|
||||
</if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,4 +0,0 @@
|
||||
<tr>
|
||||
<td>{$text}:</td>
|
||||
<td>{$value}</td>
|
||||
</tr>
|
||||
@@ -1,43 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/error_report_big.png" alt="" />
|
||||
{$lng['error']['send_report_title']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<form method="post" action="{$linker->getLink(array('section' => 'index', 'errorid' => $errid))}" enctype="application/x-www-form-urlencoded">
|
||||
<fieldset>
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<p>{$lng['error']['send_report_desc']}</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<code>{$mail_html}</code>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<input class="bottom" type="submit" value="{$lng['error']['send_report']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,63 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/ipsports_big.png" alt="" />
|
||||
{$lng['admin']['ipsandports']['ipsandports']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'ipsandports'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'ipsandports', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['ipsandports']['add']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['admin']['ipsandports']['ip']} {$arrowcode['ip']}</th>
|
||||
<th>{$lng['admin']['ipsandports']['port']} {$arrowcode['port']}</th>
|
||||
<if !$is_nginx><th>Listen</th></if>
|
||||
<if $is_apache && !$is_apache24><th>NameVirtualHost</th></if>
|
||||
<th>vHost-Container</th>
|
||||
<th>Specialsettings</th>
|
||||
<if $is_apache><th>ServerName</th></if>
|
||||
<th>SSL</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<if $pagingcode != ''>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="<if $is_apache>8<else>6</if>">{$pagingcode}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</if>
|
||||
|
||||
<tbody>
|
||||
$ipsandports
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<if 15 < $count>
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'ipsandports', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['ipsandports']['add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,26 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/ipsports_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'ipsandports'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$ipsandports_add_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,27 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/ipsports_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'ipsandports'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$ipsandports_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,18 +0,0 @@
|
||||
<tr>
|
||||
<td>{$row['ip']}</td>
|
||||
<td>{$row['port']}</td>
|
||||
<if !$is_nginx><td><if $row['listen_statement']=='1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td></if>
|
||||
<if $is_apache && !$is_apache24><td><if $row['namevirtualhost_statement']=='1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td></if>
|
||||
<td><if $row['vhostcontainer']=='1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td>
|
||||
<td><if $row['specialsettings']!=''>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td>
|
||||
<if $is_apache><td><if $row['vhostcontainer_servername_statement']=='1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td></if>
|
||||
<td><if $row['ssl']=='1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if></td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'ipsandports', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<a href="{$linker->getLink(array('section' => 'ipsandports', 'page' => $page, 'action' => 'delete', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,53 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/syslog_big.png" alt="" />
|
||||
{$lng['menue']['logger']['logger']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'logger'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<div class="overviewadd">
|
||||
{$pagingcode}
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'logger', 'page' => 'log', 'action' => 'truncate'))}">{$lng['logger']['truncate']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['logger']['date']} {$arrowcode['date']}</th>
|
||||
<th>{$lng['logger']['type']} {$arrowcode['type']}</th>
|
||||
<th>{$lng['logger']['user']} {$arrowcode['user']}</th>
|
||||
<th>{$lng['logger']['action']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
$log
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<if 15 < $log_count >
|
||||
<div class="overviewadd">
|
||||
{$pagingcode}
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'logger', 'page' => 'log', 'action' => 'truncate'))}">{$lng['logger']['truncate']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,3 +0,0 @@
|
||||
<tr>
|
||||
<td colspan="4"><strong>{$row['action']}</strong></td>
|
||||
</tr>
|
||||
@@ -1,6 +0,0 @@
|
||||
<tr>
|
||||
<td>{$row['date']}</td>
|
||||
<td>{$row['type']}</td>
|
||||
<td>{$row['user']}</td>
|
||||
<td>{$row['text']}</td>
|
||||
</tr>
|
||||
@@ -1,50 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/messages_big.png" alt="" />
|
||||
{$lng['admin']['message']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<if 0 < $success >
|
||||
<div class="successcontainer bradius">
|
||||
<div class="successtitle">{$lng['success']['success']}</div>
|
||||
<div class="success">{$successmessage}</div>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<section>
|
||||
<form action="$filename" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<input type="hidden" name="action" value="$action"/>
|
||||
<input type="hidden" name="send" value="send"/>
|
||||
|
||||
<table class="full">
|
||||
<tr>
|
||||
<td><b><label for="receipient">{$lng['admin']['receipient']}</label></b></td>
|
||||
<td><select name="receipient" id="receipient">$receipients</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><label for="subject">{$lng['admin']['subject']}</label></b></td>
|
||||
<td><input type="text" name="subject" id="subject" value="{$lng['admin']['nosubject']}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><label for="message">{$lng['admin']['text']}</label></b></td>
|
||||
<td><textarea rows="12" cols="80" name="message" id="message"></textarea></td>
|
||||
</tr>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td align="right" colspan="2">
|
||||
<input type="submit" value="{$lng['panel']['send']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,98 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'phpsettings'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$fpmconfig_add_form}
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
<br />
|
||||
<article>
|
||||
<header>
|
||||
<h3>
|
||||
{$lng['admin']['templates']['template_replace_vars']}
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['panel']['variable']}</th>
|
||||
<th>{$lng['panel']['description']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><em>{PEAR_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['pear_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_C}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_c']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_GLOBAL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_global']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{TMP_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['tmp_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOMAIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['domain']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOCUMENT_ROOT}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['docroot']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_HOMEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['homedir']}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
|
||||
$footer
|
||||
@@ -1,99 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'phpsettings'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<input type="hidden" name="action" value="edit"/>
|
||||
<input type="hidden" name="id" value="$id"/>
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$fpmconfig_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
<br />
|
||||
<article>
|
||||
<header>
|
||||
<h3>
|
||||
{$lng['admin']['templates']['template_replace_vars']}
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['panel']['variable']}</th>
|
||||
<th>{$lng['panel']['description']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><em>{PEAR_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['pear_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_C}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_c']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_GLOBAL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_global']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{TMP_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['tmp_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOMAIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['domain']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOCUMENT_ROOT}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['docroot']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_HOMEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['homedir']}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
|
||||
$footer
|
||||
@@ -1,42 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_big.png" alt="" />
|
||||
{$lng['menue']['phpsettings']['fpmdaemons']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['fpmsettings']['addnew']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['admin']['phpsettings']['description']}</th>
|
||||
<th>{$lng['admin']['phpsettings']['activephpconfigs']}</th>
|
||||
<th>{$lng['serversettings']['phpfpm_settings']['reload']}</th>
|
||||
<th>{$lng['serversettings']['phpfpm_settings']['configdir']}</th>
|
||||
<th>{$lng['serversettings']['phpfpm_settings']['pm']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
$tablecontent
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<if 15 < $count>
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['fpmsettings']['addnew']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,17 +0,0 @@
|
||||
<tr class="top">
|
||||
<td><strong>{$row['description']}</strong></td>
|
||||
<td>{$configs}</td>
|
||||
<td>{$row['reload_cmd']}</td>
|
||||
<td>{$row['config_dir']}</td>
|
||||
<td>{$row['pm']}</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<if $row['id'] != 1>
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'delete', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,44 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_big.png"
|
||||
alt="" /> {$lng['menue']['phpsettings']['maintitle']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a
|
||||
href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['phpsettings']['addnew']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['admin']['phpsettings']['description']}</th>
|
||||
<th>{$lng['admin']['phpsettings']['activedomains']}</th>
|
||||
<if \Froxlor\Settings::Get('phpfpm.enabled')=='1'>
|
||||
<th>{$lng['admin']['phpsettings']['fpmdesc']}</th>
|
||||
<else>
|
||||
<th>{$lng['admin']['phpsettings']['binary']}</th></if>
|
||||
<th>{$lng['admin']['phpsettings']['file_extensions']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</thead>
|
||||
<tbody>$tablecontent
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<if15 < $count>
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['phpsettings']['addnew']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,101 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_add_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'phpsettings'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$phpconfig_add_form}
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<header>
|
||||
<h3>
|
||||
{$lng['admin']['templates']['template_replace_vars']}
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['panel']['variable']}</th>
|
||||
<th>{$lng['panel']['description']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>{$lng['admin']['phpconfig']['template_replace_vars']}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{PEAR_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['pear_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_C}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_c']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_GLOBAL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_global']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{TMP_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['tmp_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOMAIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['domain']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOCUMENT_ROOT}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['docroot']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_HOMEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['homedir']}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,97 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/phpsettings_edit_big.png" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'phpsettings'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<input type="hidden" name="action" value="edit"/>
|
||||
<input type="hidden" name="id" value="$id"/>
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$phpconfig_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
<br />
|
||||
<article>
|
||||
<header>
|
||||
<h3>
|
||||
{$lng['admin']['templates']['template_replace_vars']}
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['panel']['variable']}</th>
|
||||
<th>{$lng['panel']['description']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><em>{PEAR_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['pear_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_C}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_c']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{OPEN_BASEDIR_GLOBAL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['open_basedir_global']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{TMP_DIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['tmp_dir']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN_EMAIL}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin_email']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOMAIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['domain']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['customer']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{ADMIN}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['admin']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{DOCUMENT_ROOT}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['docroot']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><em>{CUSTOMER_HOMEDIR}</em></td>
|
||||
<td>{$lng['admin']['phpconfig']['homedir']}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,20 +0,0 @@
|
||||
<tr class="top">
|
||||
<td><strong>{$row['description']}</strong></td>
|
||||
<td>{$domains}<if 0 < $subdomains_count><if !empty($domains)>+ </if>{$subdomains_count} {$lng['customer']['subdomains']}</if></td>
|
||||
<if \Froxlor\Settings::Get('phpfpm.enabled') == '1'>
|
||||
<td>{$row['fpmdesc']}</td>
|
||||
<else>
|
||||
<td>{$row['binary']}</td>
|
||||
</if>
|
||||
<td>{$row['file_extensions']}</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<if $row['id'] != 1>
|
||||
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'delete', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,59 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/templates_big.png" alt="" />
|
||||
{$lng['admin']['plans']['plans']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'plans'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<div class="overviewsearch">
|
||||
{$searchcode}
|
||||
</div>
|
||||
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'plans', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['plans']['add']}</a>
|
||||
</div>
|
||||
|
||||
<table class="full hl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['admin']['plans']['name']} {$arrowcode['p.name']}</th>
|
||||
<th>{$lng['admin']['plans']['description']} {$arrowcode['p.description']}</th>
|
||||
<th>{$lng['admin']['admin']} {$arrowcode['adminname']}</th>
|
||||
<th>{$lng['admin']['plans']['last_update']} {$arrowcode['p.ts']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<if $pagingcode != ''>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="5">{$pagingcode}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</if>
|
||||
|
||||
<tbody>
|
||||
$plans
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<if 15 < $count>
|
||||
<div class="overviewadd">
|
||||
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />
|
||||
<a href="{$linker->getLink(array('section' => 'plans', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['plans']['add']}</a>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,26 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/{$image}" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'plans'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$plans_add_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,27 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/{$image}" alt="{$title}" />
|
||||
{$title}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
|
||||
<form action="{$linker->getLink(array('section' => 'plans'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<table class="full">
|
||||
{$plans_edit_form}
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,14 +0,0 @@
|
||||
<tr>
|
||||
<td>{$row['name']}</td>
|
||||
<td>{$row['description']}</td>
|
||||
<td>{$row['adminname']}</td>
|
||||
<td>{$row['ts_format']}</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'plans', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
</a>
|
||||
<a href="{$linker->getLink(array('section' => 'plans', 'page' => $page, 'action' => 'delete', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="{$lng['panel']['delete']}" title="{$lng['panel']['delete']}" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,3 +0,0 @@
|
||||
<tr>
|
||||
<td colspan="2"><center><img class="responsive" src="{$img_src}"></center></td>
|
||||
</tr>
|
||||
@@ -1,4 +0,0 @@
|
||||
<tr>
|
||||
<td>{$name}</td>
|
||||
<td>{$value}</td>
|
||||
</tr>
|
||||
@@ -1,126 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />
|
||||
{$lng['admin']['apcuinfo']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<tr class="section">
|
||||
<th>{$lng['apcuinfo']['generaltitle']}</th>
|
||||
<th class="right">
|
||||
<a href="{$linker->getLink(array('section' => 'apcuinfo', 'page' => 'showinfo', 'action' => 'delete'))}">{$lng['apcuinfo']['clearcache']}</a>
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['version']}</td>
|
||||
<td>{$apcversion}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['phpversion']}</td>
|
||||
<td>{$phpversion}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['sharedmem']}</td>
|
||||
<td>{$sharedmem}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['start']}</td>
|
||||
<td>{$starttime}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['uptime']}</td>
|
||||
<td>{$uptime_duration}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['upload']}</td>
|
||||
<td>{$cache['file_upload_progress']}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['apcuinfo']['cachetitle']}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['cvar']}</td>
|
||||
<td>{$number_vars} ({$size_vars})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['hit']}</td>
|
||||
<td>{$cache['num_hits']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['miss']}</td>
|
||||
<td>{$cache['num_misses']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['reqrate']}</td>
|
||||
<td>{$req_rate_user} {$lng['apcuinfo']['creqsec']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['hitrate']}</td>
|
||||
<td>{$hit_rate_user} {$lng['apcuinfo']['creqsec']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['missrate']}</td>
|
||||
<td>{$miss_rate_user} {$lng['apcuinfo']['creqsec']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['insrate']}</td>
|
||||
<td>{$insert_rate_user} {$lng['apcuinfo']['creqsec']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['cachefull']}</td>
|
||||
<td>{$cache['num_expunges']}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['apcuinfo']['memnote']}</th>
|
||||
</tr>
|
||||
{$img_src1}
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['free']}</td>
|
||||
<td>{$freemem}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['used']}</td>
|
||||
<td>{$usedmem}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['apcuinfo']['hitmiss']}</th>
|
||||
</tr>
|
||||
{$img_src2}
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['hit']}</td>
|
||||
<td>{$hits}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['miss']}</td>
|
||||
<td>{$misses}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['apcuinfo']['detailmem']}</th>
|
||||
</tr>
|
||||
{$img_src3}
|
||||
<tr>
|
||||
<td>{$lng['apcuinfo']['fragment']}</td>
|
||||
<td>{$frag}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['apcuinfo']['runtime']}</th>
|
||||
</tr>
|
||||
{$runtimelines}
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,26 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />
|
||||
{$lng['admin']['configfiles']['importexport']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<a href="{$linker->getLink(array('section' => 'settings', 'page' => $page, 'action' => 'export'))}">
|
||||
<input class="yesbutton" type="button" value="Download/Export {$lng['admin']['serversettings']}" />
|
||||
</a>
|
||||
</section>
|
||||
<br><br>
|
||||
<section>
|
||||
<form action="{$linker->getLink(array('section' => 'settings', 'page' => $page, 'action' => 'import'))}" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<input type="file" name="import_file" id="import_file" placeholder="Chose file for import" />
|
||||
<input type="submit" value="Import">
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,28 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />
|
||||
{$lng['admin']['integritycheck']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lng['admin']['integrityid']}</th>
|
||||
<th>{$lng['admin']['integrityname']}</th>
|
||||
<th>{$lng['admin']['integrityresult']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<td colspan="3"><a href="{$linker->getLink(array('section' => 'settings', 'page' => $page, 'action' => 'fix'))}">{$lng['admin']['integrityfix']}</a></td>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{$integritycheck}
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,11 +0,0 @@
|
||||
<tr>
|
||||
<td>{$displayid}</td>
|
||||
<td>{$checkdesc}</td>
|
||||
<td>
|
||||
<if $result == '1'>
|
||||
<span class="green">OK</span>
|
||||
<else>
|
||||
<span class="red">FAIL</span>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,3 +0,0 @@
|
||||
<tr>
|
||||
<td colspan="2">{$value}</td>
|
||||
</tr>
|
||||
@@ -1,4 +0,0 @@
|
||||
<tr>
|
||||
<td><a href="http://php.net/manual/en/opcache.configuration.php#ini.{$linkname}" target="_blank">{$name}</a></td>
|
||||
<td>{$value}</td>
|
||||
</tr>
|
||||
@@ -1,201 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />
|
||||
{$lng['admin']['opcacheinfo']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<div>
|
||||
|
||||
<if ($totalmem) >
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="usedmem" class="circular" data-used="{$usedmem}" data-available="{$totalmem}">
|
||||
<canvas id="usedmem-canvas" width="120" height="76"></canvas><br />
|
||||
{$lng['opcacheinfo']['memusage']}<br />
|
||||
<small>
|
||||
{$lng['opcacheinfo']['used']}: {$usedmemstr} <br />
|
||||
{$lng['opcacheinfo']['free']}: {$freememstr}
|
||||
</small>
|
||||
</div>
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="wastedmem" class="circular" data-used="{$wastedmem}" data-available="{$totalmem}">
|
||||
<canvas id="wastedmem-canvas" width="120" height="76"></canvas><br />
|
||||
{$lng['opcacheinfo']['wastedmem']}<br />
|
||||
<small>
|
||||
{$wastedmemstr}
|
||||
</small>
|
||||
</div>
|
||||
</if>
|
||||
<if (isset($stringbuffer)) >
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="stringused" class="circular" data-used="{$usedstring}" data-available="{$totalstring}">
|
||||
<canvas id="stringused-canvas" width="120" height="76"></canvas><br />
|
||||
{$lng['opcacheinfo']['strinterning']}<br />
|
||||
<small>
|
||||
{$lng['opcacheinfo']['used']}: {$usedstringstr} <br />
|
||||
{$lng['opcacheinfo']['free']}: {$freestringstr}
|
||||
</small>
|
||||
</div>
|
||||
</if>
|
||||
<if ($totalkey) >
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="usedkeystat" class="circular" data-used="{$usedkey}" data-available="{$totalkey}">
|
||||
<canvas id="usedkeystat-canvas" width="120" height="76"></canvas><br />
|
||||
{$lng['opcacheinfo']['usedkey']}<br />
|
||||
<small>
|
||||
{$usedkeystr}
|
||||
</small>
|
||||
</div>
|
||||
</if>
|
||||
<if ($cachetotal) >
|
||||
<div class="canvasbox">
|
||||
<input type="hidden" id="cachehit" class="circular" data-used="{$cachehits}" data-available="{$cachetotal}">
|
||||
<canvas id="cachehit-canvas" width="120" height="76"></canvas><br />
|
||||
{$lng['opcacheinfo']['hitsc']}
|
||||
</div>
|
||||
</if>
|
||||
|
||||
</div>
|
||||
|
||||
<table class="full">
|
||||
<tr class="section">
|
||||
<th>{$lng['opcacheinfo']['generaltitle']}</th>
|
||||
<th class="right">
|
||||
<a href="{$linker->getLink(array('section' => 'opcacheinfo', 'page' => 'showinfo', 'action' => 'reset'))}">{$lng['opcacheinfo']['resetcache']}</a>
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['version']}</td>
|
||||
<td>{$general['version']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['phpversion']}</td>
|
||||
<td>{$general['phpversion']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['start']}</td>
|
||||
<td>{$general['start_time']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['lastreset']}</td>
|
||||
<td>{$general['last_restart_time']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['oomrestarts']}</td>
|
||||
<td>{$general['oom_restarts']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['hashrestarts']}</td>
|
||||
<td>{$general['hash_restarts']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['manualrestarts']}</td>
|
||||
<td>{$general['manual_restarts']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['status']}</td>
|
||||
<td>{$general['status']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['cachedscripts']}</td>
|
||||
<td>{$general['cachedscripts']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['hitsc']}</td>
|
||||
<td>{$general['cachehits']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['missc']}</td>
|
||||
<td>{$general['cachemiss']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['blmissc']}</td>
|
||||
<td>{$general['blacklistmiss']}</td>
|
||||
</tr>
|
||||
|
||||
<if ($totalmem) >
|
||||
<tr>
|
||||
<th colspan="2">{$lng['opcacheinfo']['memusage']}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['totalmem']}</td>
|
||||
<td>{$memory['total']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['usedmem']}</td>
|
||||
<td>{$memory['used']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['freemem']}</td>
|
||||
<td>{$memory['free']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['wastedmem']}</td>
|
||||
<td>{$memory['wasted']}</td>
|
||||
</tr>
|
||||
</if>
|
||||
|
||||
<if (isset($stringbuffer)) >
|
||||
<tr>
|
||||
<th colspan="2">{$lng['opcacheinfo']['strinterning']}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['totalmem']}</td>
|
||||
<td>{$stringbuffer['total']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['usedmem']}</td>
|
||||
<td>{$stringbuffer['used']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['freemem']}</td>
|
||||
<td>{$stringbuffer['free']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['strcount']}</td>
|
||||
<td>{$stringbuffer['strcount']}</td>
|
||||
</tr>
|
||||
</if>
|
||||
|
||||
<if (isset($keystat)) >
|
||||
<tr>
|
||||
<th colspan="2">{$lng['opcacheinfo']['keystat']}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['maxkey']}</td>
|
||||
<td>{$keystat['total']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['usedkey']}</td>
|
||||
<td>{$keystat['used']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['opcacheinfo']['wastedkey']}</td>
|
||||
<td>{$keystat['wasted']}</td>
|
||||
</tr>
|
||||
</if>
|
||||
|
||||
<if $runtimelines >
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['opcacheinfo']['runtimeconf']}</th>
|
||||
</tr>
|
||||
{$runtimelines}
|
||||
</if>
|
||||
|
||||
<if $blacklistlines >
|
||||
<tr class="section">
|
||||
<th colspan="2">{$lng['opcacheinfo']['blacklist']}</th>
|
||||
</tr>
|
||||
{$blacklistlines}
|
||||
</if>
|
||||
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,16 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />
|
||||
{$lng['admin']['phpinfo']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
{$phpinfo}
|
||||
</table>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,3 +0,0 @@
|
||||
<tr>
|
||||
<td colspan="3" align="center">{$val}</td>
|
||||
</tr>
|
||||
@@ -1,4 +0,0 @@
|
||||
<tr>
|
||||
<td width="180">{$key}</td>
|
||||
<td colspan="2">{$val}</td>
|
||||
</tr>
|
||||
@@ -1,6 +0,0 @@
|
||||
<if $key != 'Directive'>
|
||||
<tr>
|
||||
<td width="180">{$key}</td>
|
||||
<td colspan="2">{$val[0]}<br/><small>(Master: {$val[1]})</small></td>
|
||||
</tr>
|
||||
</if>
|
||||
@@ -1,4 +0,0 @@
|
||||
<tr class="section">
|
||||
<th colspan="3">{$name}</th>
|
||||
</tr>
|
||||
{$phpinfoentries}
|
||||
@@ -1,23 +0,0 @@
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />
|
||||
{$lng['admin']['serversettings']}
|
||||
[<a href="$filename?page=overview&part=&s=$s">{$lng['admin']['configfiles']['compactoverview']}</a>]
|
||||
[<a href="$filename?page=importexport&s=$s">{$lng['admin']['configfiles']['importexport']}</a>]
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
$fields
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td class="maintitle_apply_right" nowrap="nowrap" colspan="2" align="right">
|
||||
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</section>
|
||||
</article>
|
||||
@@ -1,6 +0,0 @@
|
||||
$header
|
||||
<form method="post" action="$filename" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
@@ -1,6 +0,0 @@
|
||||
<if $_part != ''>
|
||||
<input type="hidden" name="part" value="{$_part}" />
|
||||
</if>
|
||||
</form>
|
||||
<br />
|
||||
$footer
|
||||
@@ -1,8 +0,0 @@
|
||||
<tr class="section">
|
||||
<th>
|
||||
{$groupdetails['title']}
|
||||
</th>
|
||||
<th class="right nolbr">
|
||||
<input type="reset" value="{$lng['panel']['reset']}" /><input type="submit" value="{$lng['panel']['save']}" />
|
||||
</th>
|
||||
</tr>
|
||||
@@ -1,32 +0,0 @@
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />
|
||||
{$lng['admin']['serversettings']}
|
||||
[<a href="$filename?page=overview&part=all&s=$s">{$lng['admin']['configfiles']['overview']}</a>]
|
||||
[<a href="$filename?page=importexport&s=$s">{$lng['admin']['configfiles']['importexport']}</a>]
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3" class="right">
|
||||
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
$fields
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td nowrap="nowrap" colspan="3" class="right">
|
||||
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</section>
|
||||
</article>
|
||||
@@ -1,11 +0,0 @@
|
||||
<tr>
|
||||
<td class="formlabeltd">
|
||||
<label for="name"><strong>{$title} </strong></label>
|
||||
</td>
|
||||
<td>{$option}</td>
|
||||
<td>
|
||||
<if $activated == 1>
|
||||
<a href="$filename?page=overview&part=$part&s=$s">{$lng['admin']['serversettings']}</a>
|
||||
</if>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,48 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/email_edit_big.png" alt="" />
|
||||
{$lng['admin']['testmail']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<if !empty($_mailerror)>
|
||||
<div class="messagewrapperfull">
|
||||
<div class="warningcontainer bradius">
|
||||
<div class="warningtitle">{$lng['admin']['warning']}</div>
|
||||
<div class="warning">{$mailerr_msg}</div>
|
||||
</div>
|
||||
</div>
|
||||
</if>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<tr>
|
||||
<th>{$lng['serversettings']['mail_smtp_user']}</th>
|
||||
<th>Host</th>
|
||||
<th>Port</th>
|
||||
<th>SMTP Auth</th>
|
||||
<th>TLS</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$mail_smtp_user}</td>
|
||||
<td>{$mail_smtp_host}</td>
|
||||
<td>{$mail_smtp_port}</td>
|
||||
<td><img src="templates/{$theme}/assets/img/icons/<if \Froxlor\Settings::Get('system.mail_use_smtp') == '1'>button_ok<else>cancel</if>.png" alt="" /></td>
|
||||
<td><img src="templates/{$theme}/assets/img/icons/<if \Froxlor\Settings::Get('system.mail_smtp_usetls') == '1'>button_ok<else>cancel</if>.png" alt="" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="{$linker->getLink(array('section' => 'settings'))}" method="post" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
|
||||
<input type="text" name="test_addr" id="test_addr" placeholder="test address" />
|
||||
<input type="submit" value="Test">
|
||||
</form>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
@@ -1,27 +0,0 @@
|
||||
$header
|
||||
<article>
|
||||
<header>
|
||||
<h2>
|
||||
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />
|
||||
{$lng['admin']['updatecounters']}
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<table class="full">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3">{$lng['admin']['customers']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{$customers}
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3">{$lng['admin']['admins']}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{$admins}
|
||||
</table>
|
||||
</section>
|
||||
</article>
|
||||
$footer
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user