Compare commits

..

17 Commits

Author SHA1 Message Date
3630f82817 greylisting 2.0 2025-09-24 16:45:43 +02:00
9ddd2e9154 styles 2025-09-03 12:10:46 +02:00
53afe4ebd1 new files
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-30 17:12:26 +01:00
4f69e8ee0e new css 2024-01-30 17:12:16 +01:00
32f5b0d5e9 new Theme
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-30 16:52:34 +01:00
53a6485a6e Maketank Theme migration
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-30 13:52:59 +01:00
f2643ac887 env test 3
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-13 12:46:20 +01:00
e37687a85d env test 3
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-13 12:44:29 +01:00
ccbc3286a5 env test 2
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-13 12:39:58 +01:00
929a562324 env test 2
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-13 12:36:50 +01:00
3704cf6621 env test 2
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-13 12:35:09 +01:00
10238a1466 env test
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-12 14:04:03 +01:00
9002ddf4a2 env test
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-12-12 14:03:10 +01:00
8a2de5a44a env test
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-12-12 13:59:34 +01:00
96c0af18dd npm and compose
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-12 13:50:23 +01:00
5bb228ce78 npm and compose
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-12 13:48:08 +01:00
804128280c npm and compose 2023-12-12 13:47:32 +01:00
432 changed files with 5367 additions and 8857 deletions

View File

@@ -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
View File

@@ -18,7 +18,6 @@ img/
vendor/
node_modules/
fonts/
templates/*
!templates/index.html
!templates/Froxlor/
templates/Froxlor/assets/mix-manifest.json

View File

@@ -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);

View File

@@ -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`)

View File

@@ -52,7 +52,13 @@ return [
'type' => 'checkbox',
'value' => '1',
'checked' => false
]
],
'disablegreylist' => [
'label' => lng('emails.disablegreylist'),
'type' => 'checkbox',
'value' => '1',
'checked' => false
]
]
]
]

View File

@@ -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 . '&amp;domainid=' . $result['domainid'] . '&amp;action=togglegreylist&amp;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',

View File

@@ -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' => [

View File

@@ -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
View 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,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" alt="froxlor"/>
<small>&copy; 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>

View File

@@ -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;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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
*/

View 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"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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&nbsp;-&nbsp;{$lng['login']['2fa']}</legend>
<p>
<label for="2fa_code">{$lng['login']['2facode']}:</label>&nbsp;
<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

View File

@@ -1,43 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/lock_big.png" alt="" />&nbsp;
{$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>&nbsp;<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

View File

@@ -1,2 +0,0 @@
created and maintained by Roman Schmerold <BNoiZe@froxlor.org>

View File

@@ -1,60 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />&nbsp;
{$lng['admin']['admins']}&nbsp;({$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']}&nbsp;{$arrowcode['name']}</th>
<th>{$lng['login']['username']}&nbsp;{$arrowcode['loginname']}</th>
<th>{$lng['admin']['customers']}</th>
<th>&nbsp;</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

View File

@@ -1,35 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/user_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -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>&nbsp;
<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'] != ''>
&nbsp;<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>

View File

@@ -1,41 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/user_edit_big.png" alt="{$title}" />&nbsp;{$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

View File

@@ -1,22 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="{$lng['admin']['configfiles']['serverconfiguration']}" />&nbsp;
{$lng['admin']['configfiles']['serverconfiguration']} &nbsp;
[<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

View File

@@ -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>

View File

@@ -1,6 +0,0 @@
<tr class="section">
<th><strong>{$distribution_details['label']}</strong></th>
</tr>
<tr>
<td>$services</td>
</tr>

View File

@@ -1,5 +0,0 @@
<strong>{$service_details['label']}</strong>
<br />
<ul>
$daemons
</ul>

View File

@@ -1,30 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />&nbsp;
{$dist_display}&nbsp;&raquo;&nbsp;
{$services[$service]->title}&nbsp;&raquo;&nbsp;
{$daemons[$daemon]->title}&nbsp;[<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

View File

@@ -1,3 +0,0 @@
<div class="pushbot">
<textarea class="shell" rows="{$numbrows}" readonly>{$commands}</textarea>
</div>

View File

@@ -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>

View File

@@ -1,8 +0,0 @@
<div class="filesub">
<fieldset class="file">
<legend>{$realname}</legend>
{$commands_pre}
{$commands_file}
{$commands_post}
</fieldset>
</div>

View File

@@ -1,82 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="{$lng['admin']['configfiles']['serverconfiguration']}" />&nbsp;
{$lng['admin']['configfiles']['serverconfiguration']} &nbsp;
[<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

View File

@@ -1,27 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/clock_edit_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,33 +0,0 @@
$header
<article>
<header>
<h2><img src="templates/{$theme}/assets/img/icons/clock_big.png" alt="" />&nbsp;
{$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

View File

@@ -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>

View File

@@ -1,3 +0,0 @@
<tr>
<td colspan="5"><b>{$module}</b></td>
</tr>

View File

@@ -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="" />&nbsp;
<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']}&nbsp;{$arrowcode['c.name']}
</th>
<th>
{$lng['login']['username']}&nbsp;{$arrowcode['c.loginname']}
</th>
<th>
{$lng['admin']['admin']}&nbsp;{$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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'customers', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['customer_add']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,36 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/user_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -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>&nbsp;
<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>
&nbsp;<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'] != ''>
&nbsp;<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>

View File

@@ -1,37 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/user_edit_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,73 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/domains_big.png" alt="" />&nbsp;
{$lng['admin']['domains']}&nbsp;({$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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['domain_add']}</a>
&nbsp;
<img src="templates/{$theme}/assets/img/icons/archive.png" alt="" />&nbsp;
<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']}&nbsp;{$arrowcode['d.domain_ace']}</th>
<th>{$lng['admin']['ipsandports']['ip']}</th>
<th>{$lng['admin']['customer']}&nbsp;{$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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'domains', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['domain_add']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,32 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/domain_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -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'])>
&nbsp;({$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']}&nbsp;
<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'>
&nbsp;<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'>
&nbsp;<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'])>
&nbsp;<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>

View File

@@ -1,46 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/domain_edit_big.png" alt="{$title}" />&nbsp;
{$title}
<if $result['isbinddomain'] == '1' && \Froxlor\Settings::Get('system.bind_enable') == '1' && \Froxlor\Settings::Get('system.dnsenabled') == '1'>
&nbsp;(<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" />&nbsp;
<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

View File

@@ -1,38 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/domain_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,33 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/flag.png" alt="" />&nbsp;
{$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

View File

@@ -1,41 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/lock_big.png" alt="" />&nbsp;
{$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

View File

@@ -1,33 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/display_big.png" alt="" />&nbsp;
{$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

View File

@@ -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="" />&nbsp;
{$lng['panel']['newsfeed_disabled']}&nbsp;
<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

View File

@@ -1,4 +0,0 @@
<tr>
<td>{$text}:</td>
<td>{$value}</td>
</tr>

View File

@@ -1,43 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/error_report_big.png" alt="" />&nbsp;
{$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

View File

@@ -1,63 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/ipsports_big.png" alt="" />&nbsp;
{$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="" />&nbsp;
<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']}&nbsp;{$arrowcode['ip']}</th>
<th>{$lng['admin']['ipsandports']['port']}&nbsp;{$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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'ipsandports', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['ipsandports']['add']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,26 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/ipsports_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,27 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/ipsports_edit_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -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>&nbsp;
<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>

View File

@@ -1,53 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/syslog_big.png" alt="" />&nbsp;
{$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}&nbsp;&nbsp;
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="" />&nbsp;
<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']}&nbsp;{$arrowcode['date']}</th>
<th>{$lng['logger']['type']}&nbsp;{$arrowcode['type']}</th>
<th>{$lng['logger']['user']}&nbsp;{$arrowcode['user']}</th>
<th>{$lng['logger']['action']}</th>
</tr>
</thead>
<tbody>
$log
</tbody>
</table>
</form>
<if 15 < $log_count >
<div class="overviewadd">
{$pagingcode}&nbsp;&nbsp;
<img src="templates/{$theme}/assets/img/icons/delete.png" alt="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'logger', 'page' => 'log', 'action' => 'truncate'))}">{$lng['logger']['truncate']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,3 +0,0 @@
<tr>
<td colspan="4"><strong>{$row['action']}</strong></td>
</tr>

View File

@@ -1,6 +0,0 @@
<tr>
<td>{$row['date']}</td>
<td>{$row['type']}</td>
<td>{$row['user']}</td>
<td>{$row['text']}</td>
</tr>

View File

@@ -1,50 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/messages_big.png" alt="" />&nbsp;
{$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

View File

@@ -1,98 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,99 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_edit_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,42 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_big.png" alt="" />&nbsp;
{$lng['menue']['phpsettings']['fpmdaemons']}
</h2>
</header>
<section>
<div class="overviewadd">
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />&nbsp;
<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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['fpmsettings']['addnew']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -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>
&nbsp;<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>

View File

@@ -1,44 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_big.png"
alt="" />&nbsp; {$lng['menue']['phpsettings']['maintitle']}
</h2>
</header>
<section>
<div class="overviewadd">
<img src="templates/{$theme}/assets/img/icons/add.png" alt="" />&nbsp;
<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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'phpsettings', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['phpsettings']['addnew']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,101 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_add_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,97 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/phpsettings_edit_big.png" alt="{$title}" />&nbsp;
{$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

View File

@@ -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>
&nbsp;<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>

View File

@@ -1,59 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/templates_big.png" alt="" />&nbsp;
{$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="" />&nbsp;
<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']}&nbsp;{$arrowcode['p.name']}</th>
<th>{$lng['admin']['plans']['description']}&nbsp;{$arrowcode['p.description']}</th>
<th>{$lng['admin']['admin']}&nbsp;{$arrowcode['adminname']}</th>
<th>{$lng['admin']['plans']['last_update']}&nbsp;{$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="" />&nbsp;
<a href="{$linker->getLink(array('section' => 'plans', 'page' => $page, 'action' => 'add'))}">{$lng['admin']['plans']['add']}</a>
</div>
</if>
</section>
</article>
$footer

View File

@@ -1,26 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/{$image}" alt="{$title}" />&nbsp;
{$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

View File

@@ -1,27 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/{$image}" alt="{$title}" />&nbsp;
{$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

View File

@@ -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>&nbsp;
<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>

View File

@@ -1,3 +0,0 @@
<tr>
<td colspan="2"><center><img class="responsive" src="{$img_src}"></center></td>
</tr>

View File

@@ -1,4 +0,0 @@
<tr>
<td>{$name}</td>
<td>{$value}</td>
</tr>

View File

@@ -1,126 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />&nbsp;
{$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>
&nbsp;
</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

View File

@@ -1,26 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />&nbsp;
{$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

View File

@@ -1,28 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />&nbsp;
{$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

View File

@@ -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>

View File

@@ -1,3 +0,0 @@
<tr>
<td colspan="2">{$value}</td>
</tr>

View File

@@ -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>

View File

@@ -1,201 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />&nbsp;
{$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>
&nbsp;
</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

View File

@@ -1,16 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />&nbsp;
{$lng['admin']['phpinfo']}
</h2>
</header>
<section>
<table class="full">
{$phpinfo}
</table>
</section>
</article>
$footer

View File

@@ -1,3 +0,0 @@
<tr>
<td colspan="3" align="center">{$val}</td>
</tr>

View File

@@ -1,4 +0,0 @@
<tr>
<td width="180">{$key}</td>
<td colspan="2">{$val}</td>
</tr>

View File

@@ -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>

View File

@@ -1,4 +0,0 @@
<tr class="section">
<th colspan="3">{$name}</th>
</tr>
{$phpinfoentries}

View File

@@ -1,23 +0,0 @@
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />&nbsp;
{$lng['admin']['serversettings']} &nbsp;
[<a href="$filename?page=overview&amp;part=&amp;s=$s">{$lng['admin']['configfiles']['compactoverview']}</a>] &nbsp;
[<a href="$filename?page=importexport&amp;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>

View File

@@ -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" />

View File

@@ -1,6 +0,0 @@
<if $_part != ''>
<input type="hidden" name="part" value="{$_part}" />
</if>
</form>
<br />
$footer

View File

@@ -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>

View File

@@ -1,32 +0,0 @@
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/settings_big.png" alt="" />&nbsp;
{$lng['admin']['serversettings']} &nbsp;
[<a href="$filename?page=overview&amp;part=all&amp;s=$s">{$lng['admin']['configfiles']['overview']}</a>] &nbsp;
[<a href="$filename?page=importexport&amp;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>

View File

@@ -1,11 +0,0 @@
<tr>
<td class="formlabeltd">
<label for="name"><strong>{$title}&nbsp;</strong></label>
</td>
<td>{$option}</td>
<td>
<if $activated == 1>
<a href="$filename?page=overview&amp;part=$part&amp;s=$s">{$lng['admin']['serversettings']}</a>
</if>
</td>
</tr>

View File

@@ -1,48 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/email_edit_big.png" alt="" />&nbsp;
{$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

View File

@@ -1,27 +0,0 @@
$header
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/res_recalculate_big.png" alt="" />&nbsp;
{$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