Compare commits

..

34 Commits

Author SHA1 Message Date
Michael Kaufmann (d00p)
6ac4b87a84 make ssl-cipher-list an option, fixes #1274 ; improve ssl-related language-strings; setting version to 0.9.30 for release
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-24 19:45:13 +02:00
Michael Kaufmann
b81d163e1d Merge pull request #134 from RipClaw2971/#1281
fixes #1281
2013-10-21 09:11:31 -07:00
Andreas Grundler
d0315b7ed3 RealPath nicht DomainPath 2013-10-21 17:36:44 +02:00
Andreas Grundler
3c76594abb Fixed CleanupData to prevent recursive delete of all data 2013-10-21 16:35:32 +02:00
Andreas Grundler
db5aa1a98c Merge remote-tracking branch 'upstream/master' into apsfix 2013-10-21 07:29:50 +02:00
Andreas Grundler
4a61df8ae7 typo 2013-10-21 07:27:38 +02:00
Andreas Grundler
95da4e9eab Bufix for "chown -R [User]:[User] /" 2013-10-21 07:14:46 +02:00
Michael Kaufmann
510c429956 Merge pull request #133 from BNoiZe/master
Language, Theme, Password - Margin fix
2013-10-20 10:44:33 -07:00
BNoiZe
55d09ac569 Language, Theme, Password - Margin fix 2013-10-20 19:42:25 +02:00
Michael Kaufmann
d2923228da Merge pull request #132 from BNoiZe/master
Some more design fixes
2013-10-20 02:32:52 -07:00
BNoiZe
a86d2d2df3 Some more design fixes 2013-10-20 11:29:54 +02:00
Michael Kaufmann
67c8953a84 Merge pull request #131 from BNoiZe/master
New ticket notification icon
2013-10-20 00:55:41 -07:00
BNoiZe
d4c4e31804 Merge branch 'master' of git://github.com/Froxlor/Froxlor 2013-10-20 09:52:58 +02:00
BNoiZe
78807a8ea8 Added new ticket notification icon 2013-10-20 09:52:14 +02:00
Michael Kaufmann
fa4fbdc7c4 Merge pull request #130 from BNoiZe/master
Spanish translation fixes
2013-10-19 11:19:21 -07:00
BNoiZe
036bd61ded Merge branch 'master' of git://github.com/Froxlor/Froxlor 2013-10-19 20:13:43 +02:00
Michael Kaufmann (d00p)
cb556093c1 fix undefined language indeces (add english as fallback as intented in case a string is not defined in the used language)
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-19 18:48:08 +02:00
Michael Kaufmann (d00p)
729b52cf0a outsource check for open support-tickets to init.php so that themes may display the info wherever they want
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-19 18:47:02 +02:00
BNoiZe
0e6aec2533 Added missing spanish translations 2013-10-19 16:46:54 +02:00
Michael Kaufmann
993d5114e3 Merge pull request #129 from BNoiZe/master
Img height and autofocus on login, other fixes
2013-10-19 00:21:10 -07:00
BNoiZe
4312ed9181 Many small fixes and beautifications 2013-10-19 09:02:12 +02:00
BNoiZe
0eb8e0c55c Fixed img height on login page, set focus to username 2013-10-18 18:53:52 +02:00
Michael Kaufmann
6a47752665 Merge pull request #128 from BNoiZe/master
Some CSS fixes and header improvements
2013-10-18 06:46:16 -07:00
BNoiZe
5231ae2383 Some CSS fixes and header improvements 2013-10-18 15:16:55 +02:00
Michael Kaufmann (d00p)
03ba127fab use new directory-validator 'confdir'; fix if last ssl-ipport got deactivated and a security question is being asked
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-16 16:23:10 +02:00
Michael Kaufmann (d00p)
6b93b973e2 add new directory-validator 'confdir' to check against disallowed paths (like /, /bin, /home, etc.)
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-16 08:54:39 +02:00
Michael Kaufmann
64e646b526 Merge pull request #127 from BNoiZe/master
history.go(-1) fix
2013-10-15 06:13:45 -07:00
BNoiZe
9d66507050 history.go(-1) fix 2013-10-15 15:10:10 +02:00
Michael Kaufmann (d00p)
b10b8df791 output nicer error's also in webftp-script
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-15 15:02:14 +02:00
Michael Kaufmann (d00p)
e40c7289c4 change default path of custom-ssl-certificates as too many people can't read. Also, don't let updaters specify '/' (result of an empty value) as custom-ssl path and let the cron only clean the custom-ssl-path of ssl is enabled (just in case), refs #1279
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-15 14:49:53 +02:00
Michael Kaufmann (d00p)
e38e4532b3 fix update procedure for users who upgraded from syscp (the database field which is to be dropped does not exist for them, just in fresh installs), fixes #1278
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
2013-10-15 08:50:38 +02:00
Michael Kaufmann
7bd0fdfa6a Merge pull request #126 from BNoiZe/master
WebFTP fixes (sparkle theme related)
2013-10-14 11:13:32 -07:00
BNoiZe
0b6518a751 Fixed linebreaks and icons 2013-10-14 20:05:37 +02:00
BNoiZe
96faf31618 Sparkle as WebFTP default, fixes for WebFTP-Templates 2013-10-14 20:00:35 +02:00
72 changed files with 1124 additions and 866 deletions

View File

@@ -81,7 +81,7 @@ return array(
'settinggroup' => 'system',
'varname' => 'apacheconf_htpasswddir',
'type' => 'string',
'string_type' => 'dir',
'string_type' => 'confdir',
'default' => '/etc/apache2/htpasswd/',
'save_method' => 'storeSettingField',
),
@@ -99,8 +99,8 @@ return array(
'settinggroup' => 'system',
'varname' => 'customer_ssl_path',
'type' => 'string',
'string_type' => 'dir',
'default' => '/etc/apache2/ssl/',
'string_type' => 'confdir',
'default' => '/etc/ssl/froxlor-custom/',
'save_method' => 'storeSettingField',
),
'system_phpappendopenbasedir' => array(

View File

@@ -31,6 +31,15 @@ return array(
'save_method' => 'storeSettingField',
'overview_option' => true
),
'system_ssl_cipher_list' => array(
'label' => $lng['serversettings']['ssl']['ssl_cipher_list'],
'settinggroup' => 'system',
'varname' => 'ssl_cipher_list',
'type' => 'string',
'string_emptyallowed' => false,
'default' => 'ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH',
'save_method' => 'storeSettingField',
),
'system_ssl_cert_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_cert_file'],
'settinggroup' => 'system',
@@ -51,20 +60,20 @@ return array(
'default' => '/etc/apache2/apache2.key',
'save_method' => 'storeSettingField',
),
'system_ssl_ca_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_ca_file'],
'system_ssl_cert_chainfile' => array(
'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'],
'settinggroup' => 'system',
'varname' => 'ssl_ca_file',
'varname' => 'ssl_cert_chainfile',
'type' => 'string',
'string_type' => 'file',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField',
),
'system_ssl_cert_chainfile' => array(
'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'],
'system_ssl_ca_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_ca_file'],
'settinggroup' => 'system',
'varname' => 'ssl_cert_chainfile',
'varname' => 'ssl_ca_file',
'type' => 'string',
'string_type' => 'file',
'string_emptyallowed' => true,

View File

@@ -36,7 +36,7 @@ return array(
'settinggroup' => 'system',
'varname' => 'mod_fcgid_configdir',
'type' => 'string',
'string_type' => 'dir',
'string_type' => 'confdir',
'default' => '/var/www/php-fcgi-scripts/',
'plausibility_check_method' => 'checkPathConflicts',
'save_method' => 'storeSettingField',

View File

@@ -79,7 +79,7 @@ return array(
'settinggroup' => 'phpfpm',
'varname' => 'configdir',
'type' => 'string',
'string_type' => 'dir',
'string_type' => 'confdir',
'default' => '/etc/php-fpm.d/',
'save_method' => 'storeSettingField',
),
@@ -88,7 +88,7 @@ return array(
'settinggroup' => 'phpfpm',
'varname' => 'aliasconfigdir',
'type' => 'string',
'string_type' => 'dir',
'string_type' => 'confdir',
'default' => '/var/www/php-fpm/',
'save_method' => 'storeSettingField',
),

View File

@@ -1065,6 +1065,8 @@ if($page == 'domains'
if (isset($_POST['ssl_ipandport']) && is_array($_POST['ssl_ipandport'])) {
foreach ($_POST['ssl_ipandport'] as $ssl_ipandport) {
if (trim($ssl_ipandport) == "") continue;
// fix if ip/port got de-checked and it was the last one
if (trim($ssl_ipandport) < 1) continue;
$ssl_ipandport = intval($ssl_ipandport);
$ssl_ipandport_check = $db->query_first("SELECT `id`, `ip`, `port` FROM `" . TABLE_PANEL_IPSANDPORTS . "` WHERE `id` = '" . $db->escape($ssl_ipandport) . "' ");
if (!isset($ssl_ipandport_check['id'])

View File

@@ -148,18 +148,6 @@ if($page == 'overview')
$cron_last_runs = getCronjobsLastRun();
$outstanding_tasks = getOutstandingTasks();
$opentickets = 0;
$opentickets = $db->query_first('SELECT COUNT(`id`) as `count` FROM `' . TABLE_PANEL_TICKETS . '`
WHERE `answerto` = "0" AND (`status` = "0" OR `status` = "1")
AND `lastreplier`="0" AND `adminid` = "' . $userinfo['adminid'] . '"');
$awaitingtickets = $opentickets['count'];
$awaitingtickets_text = '';
if($opentickets > 0)
{
$awaitingtickets_text = strtr($lng['ticket']['awaitingticketreply'], array('%s' => '<a href="admin_tickets.php?page=tickets&amp;s=' . $s . '">' . $opentickets['count'] . '</a>'));
}
if(function_exists('sys_getloadavg'))
{
$loadArray = sys_getloadavg();

View File

@@ -60,18 +60,6 @@ if ($page == 'overview') {
$userinfo['traffic'] = round($userinfo['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']);
$userinfo['traffic_used'] = round($userinfo['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']);
$userinfo = str_replace_array('-1', $lng['customer']['unlimited'], $userinfo, 'diskspace traffic mysqls emails email_accounts email_forwarders email_quota email_autoresponder ftps tickets subdomains aps_packages');
$opentickets = 0;
$opentickets = $db->query_first('SELECT COUNT(`id`) as `count` FROM `' . TABLE_PANEL_TICKETS . '`
WHERE `customerid` = "' . $userinfo['customerid'] . '"
AND `answerto` = "0"
AND (`status` = "0" OR `status` = "2")
AND `lastreplier`="1"');
$awaitingtickets = $opentickets['count'];
$awaitingtickets_text = '';
if ($opentickets > 0) {
$awaitingtickets_text = strtr($lng['ticket']['awaitingticketreply'], array('%s' => '<a href="customer_tickets.php?page=tickets&amp;s=' . $s . '">' . $opentickets['count'] . '</a>'));
}
eval("echo \"" . getTemplate('index/index') . "\";");
} elseif ($page == 'change_password') {

View File

@@ -503,6 +503,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES
('system', 'mod_fcgid_defaultini_ownvhost', '1'),
('system', 'awstats_icons', '/usr/share/awstats/icon/'),
('system', 'ssl_cert_chainfile', ''),
('system', 'ssl_cipher_list', 'ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH'),
('system', 'nginx_php_backend', '127.0.0.1:8888'),
('system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock'),
('system', 'phpreload_command', ''),
@@ -510,7 +511,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES
('system', 'documentroot_use_default_value', '0'),
('system', 'passwordcryptfunc', '1'),
('system', 'axfrservers', ''),
('system', 'customer_ssl_path', '/etc/apache2/ssl/'),
('system', 'customer_ssl_path', '/etc/ssl/froxlor-custom/'),
('panel', 'decimal_places', '4'),
('panel', 'adminmail', 'admin@SERVERNAME'),
('panel', 'phpmyadmin_url', ''),
@@ -538,7 +539,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES
('panel', 'phpconfigs_hidestdsubdomain', '0'),
('panel', 'allow_theme_change_admin', '1'),
('panel', 'allow_theme_change_customer', '1'),
('panel', 'version', '0.9.30-rc1');
('panel', 'version', '0.9.30');
DROP TABLE IF EXISTS `panel_tasks`;

View File

@@ -131,9 +131,8 @@ p {
.installsec label {
float:left;
width:26em;
margin-right:1em;
margin-top:6px;
margin-right:0;
margin-top:8px;
text-align:left;
}
@@ -420,6 +419,7 @@ input {
height:22px;
border: 1px solid #d9d9d9;
margin-bottom: 5px;
border-radius: 3px;
}
textarea {
@@ -427,70 +427,73 @@ textarea {
padding:4px 4px 2px 24px;
border:1px solid #d9d9d9;
margin-bottom: 5px;
border-radius: 3px;
}
input[type="password"] {
background:#fff url(../img/password.png) no-repeat 5px 4px;
}
/*
* BUTTONS
*/
input[type="button"],input[type="submit"],input[type="reset"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #79bbff), color-stop(1, #378de5) );
background:-moz-linear-gradient( center top, #79bbff 5%, #378de5 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#79bbff', endColorstr='#378de5');
background-color:#79bbff;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
display:inline-block;
color:#ffffff;
padding:2px 24px 2px 24px;
text-decoration:none;
text-shadow:1px 1px 0px #528ecc;
margin: 0 5px;
padding: 5px 14px;
outline: 0;
border: 0;
background-color: #eee;
min-width: 80px;
height: 26px;
margin: 0 3px 0 3px;
background-image: none;
border-width: 0px;
}
.loginsec input[type="button"], .loginsec input[type="submit"], .loginsec input[type="reset"] {
margin: 0 1px;
}
input[type="button"]:hover,input[type="submit"]:hover,input[type="reset"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #378de5), color-stop(1, #79bbff) );
background:-moz-linear-gradient( center top, #378de5 5%, #79bbff 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#378de5', endColorstr='#79bbff');
background-color:#378de5;
color: #333;
background-color: #dcdcdc;
}
input[type="button"]:active,input[type="submit"]:active,input[type="reset"]:active {
-webkit-box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
-moz-box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
color: white !important;
}
input[type="submit"],input[class="yesbutton"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #9dce2c), color-stop(1, #8cb82b) );
background:-moz-linear-gradient( center top, #9dce2c 5%, #8cb82b 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9dce2c', endColorstr='#8cb82b');
background-color:#9dce2c;
text-shadow:1px 1px 0px #aade7c;
color: white;
background-color: #35aa47;
}
input[type="submit"]:hover,input[class="yesbutton"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #8cb82b), color-stop(1, #9dce2c) );
background:-moz-linear-gradient( center top, #8cb82b 5%, #9dce2c 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cb82b', endColorstr='#9dce2c');
background-color:#8cb82b;
color: white;
background-color: #1d943b;
}
input[class="submit"]:active,input[class="yesbutton"]:active {
background-color: #35aa47;
}
input[class="nobutton"],input[type="reset"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #fe1a00), color-stop(1, #ce0100) );
background:-moz-linear-gradient( center top, #fe1a00 5%, #ce0100 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fe1a00', endColorstr='#ce0100');
background-color:#fe1a00;
text-shadow:1px 1px 0px #b23e35;
color: white;
background-color: #d84a38;
}
input[class="nobutton"]:hover,input[type="reset"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ce0100), color-stop(1, #fe1a00) );
background:-moz-linear-gradient( center top, #ce0100 5%, #fe1a00 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ce0100', endColorstr='#fe1a00');
background-color:#ce0100;
color: white;
background-color: #c53727;
}
input[class="nobutton"]:active,input[type="reset"]:active {
background-color: #dd4b39;
}
input[type="checkbox"] {
background:#dae7ee;
padding: 0;
margin: 0 20px 0 0;
margin: 0 5px 0 0;
vertical-align: middle;
height: 26px;
}
input[type="radio"] { /*the span element that immediately follow the radio button */
input[type="radio"] {
margin: 0 10px 0 10px;
height:22px;
}
@@ -500,6 +503,18 @@ select {
padding:4px;
border:1px solid #d9d9d9;
margin-bottom: 5px;
min-width: 100px;
}
select.dropdown {
padding: 2px 4px 2px 24px;
height: 26px;
border: 1px solid #d9d9d9;
margin-bottom: 5px;
border-radius: 3px;
background: url(../../../../templates/Sparkle/assets/img/icons/down.png) no-repeat 9px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.maintable {
@@ -528,4 +543,14 @@ select {
display:block;
margin-bottom:.5em;
font-size:120%;
}
.installprogress {
width: 100%;
background-color:#e4e4e4;
height:5px;
border-bottom:1px solid #d1d5d8;
}
.installprogress .bar {
background-color: #35aa47;
height:5px;
}

View File

@@ -1,14 +1,20 @@
<form action="{$formaction}" method="get">
<fieldset>
<legend>{$this->_lng['install']['lngtitle']}</legend>
<p>
<label for="language">{$this->_lng['install']['language']}:</label>&nbsp;
<select name="language" id="language">
{$language_options}
</select>
<input type="hidden" name="check" value="1" />
<input type="submit" name="chooselang" value="{$this->_lng['install']['lngbtn_go']}" />
</p>
<table class="noborder">
<tr>
<td>
<label for="language">{$this->_lng['install']['language']}:</label>
</td>
<td align="right">
<select name="language" id="language" class="dropdown">
{$language_options}
</select>
<input type="hidden" name="check" value="1" />
<input type="submit" name="chooselang" value="{$this->_lng['install']['lngbtn_go']}" />
</td>
</tr>
</table>
</fieldset>
</form>
<hr class="line">

View File

@@ -2126,7 +2126,11 @@ if (isFroxlorVersion('0.9.29-dev3')) {
) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_general_ci;");
lastStepStatus(0);
$system_customersslpath = isset($_POST['system_customersslpath']) ? makeCorrectDir($_POST['system_customersslpath']) : '/etc/apache2/ssl/';
$system_customersslpath = isset($_POST['system_customersslpath']) ? makeCorrectDir($_POST['system_customersslpath']) : '/etc/ssl/froxlor-custom/';
if (trim($system_customersslpath) == '/') {
// prevent users from specifying nonsense here
$system_customersslpath = '/etc/ssl/froxlor-custom/';
}
$db->query("INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'customer_ssl_path', '".$db->escape($system_customersslpath)."');");
updateToVersion('0.9.29-dev4');
}
@@ -2238,9 +2242,15 @@ if (isFroxlorVersion('0.9.29.1-dev3')) {
showUpdateStep("Updating from 0.9.29.1-dev3 to 0.9.29.1-dev4", true);
lastStepStatus(0);
showUpdateStep("Removing old billing-field from admin-users");
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` DROP `edit_billingdata`");
lastStepStatus(0);
// If you upgraded from SysCP the edit_billingdata field has been
// removed in one of the first upgrades to froxlor. Sadly, one field
// remained in the install.sql so we remove it now if it exists
$bd_exists = $db->query("SHOW COLUMNS FROM `".TABLE_PANEL_ADMINS."` LIKE 'edit_billingdata';");
if ($db->num_rows() > 0) {
showUpdateStep("Removing old billing-field from admin-users");
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` DROP `edit_billingdata`");
lastStepStatus(0);
}
updateToVersion('0.9.29.1-dev4');
}
@@ -2256,3 +2266,14 @@ if (isFroxlorVersion('0.9.30-dev1')) {
lastStepStatus(0);
updateToVersion('0.9.30-rc1');
}
if (isFroxlorVersion('0.9.30-rc1')) {
showUpdateStep("Updating from 0.9.30-rc1 to 0.9.30 final", true);
lastStepStatus(0);
showUpdateStep("Adding ssl-cipher-list setting");
$db->query("INSERT INTO `panel_settings` SET `settinggroup` = 'system', `varname` = 'ssl_cipher_list', `value` = 'ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH'");
lastStepStatus(0);
updateToVersion('0.9.30');
}

View File

@@ -538,7 +538,7 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
$has_preconfig = true;
$description = 'As customers can now specify ssl-certificate data for their domains, you need to specify where the generated files are stored<br />';
$question = '<strong>Specify the directory for customer ssl-certificates:</strong>&nbsp;';
$question.= '<input type="text" class="text" name="system_customersslpath" value="/etc/apache2/ssl/" />';
$question.= '<input type="text" class="text" name="system_customersslpath" value="/etc/ssl/froxlor-custom/" />';
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
}

View File

@@ -269,18 +269,21 @@ class ApsInstaller extends ApsParser
$this->db->query('DELETE FROM `' . TABLE_APS_INSTANCES . '` WHERE `ID` = ' . $this->db->escape($Row['InstanceID']));
$this->db->query('DELETE FROM `' . TABLE_APS_SETTINGS . '` WHERE `InstanceID` = ' . $this->db->escape($Row['InstanceID']));
//remove data, #273
if($this->DomainPath != '' && $this->DomainPath != '/') {
self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/');
} else {
// save awstats/webalizer folder if it's the docroot
self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/', true);
// place standard-index file
$loginname = getLoginNameByUid($Row['CustomerID']);
if($loginname !== false)
{
storeDefaultIndex($loginname, $this->RealPath . $this->DomainPath . '/');
}
if($this->RealPath != '' && checkDisallowedPaths($this->RealPath))
{
//remove data, #273
if($this->DomainPath != '' && $this->DomainPath != '/') {
self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/');
} else {
// save awstats/webalizer folder if it's the docroot
self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/', true);
// place standard-index file
$loginname = getLoginNameByUid($Row['CustomerID']);
if($loginname !== false)
{
storeDefaultIndex($loginname, $this->RealPath . $this->DomainPath . '/');
}
}
}
}
}
@@ -335,7 +338,13 @@ class ApsInstaller extends ApsParser
$mapping_path = $Xml->mapping['path'];
$mapping_url = $Xml->mapping['url'];
}
if ($this->RealPath == '' || !checkDisallowedPaths($this->RealPath))
{
$this->db->query('UPDATE `' . TABLE_APS_INSTANCES . '` SET `Status` = ' . INSTANCE_ERROR . ' WHERE `ID` = ' . $this->db->escape($Row['InstanceID']));
return false;
}
if($Task == TASK_INSTALL)
{
//FIXME truncate customer directory

View File

@@ -70,17 +70,22 @@ class ConfigIO {
*/
private function _cleanCustomerSslCerts() {
// get correct directory
$configdir = $this->_getFile('system', 'customer_ssl_path');
if ($configdir !== false) {
/*
* only clean up if we're actually using SSL
*/
if ($this->_settings['system']['use_ssl'] == '1') {
// get correct directory
$configdir = $this->_getFile('system', 'customer_ssl_path');
if ($configdir !== false) {
$configdir = makeCorrectDir($configdir);
$configdir = makeCorrectDir($configdir);
if (@is_dir($configdir)) {
// now get rid of old stuff
//(but append /* so we don't delete the directory)
$configdir.='/*';
safe_exec('rm -rf '. makeCorrectFile($configdir));
if (@is_dir($configdir)) {
// now get rid of old stuff
//(but append /* so we don't delete the directory)
$configdir.='/*';
safe_exec('rm -rf '. makeCorrectFile($configdir));
}
}
}
}

View File

@@ -68,6 +68,26 @@ function validateFormFieldString($fieldname, $fielddata, $newfieldvalue)
$returnvalue = ($newfieldvalue == makeCorrectDir($newfieldvalue));
}
}
elseif (isset($fielddata['string_type']) && $fielddata['string_type'] == 'confdir') {
// check for empty value (it might be allowed)
if (trim($newfieldvalue) == '') {
$newfieldvalue = '';
$returnvalue = 'stringmustntbeempty';
} else {
// add trailing slash to validate path if needed
// refs #331
if (substr($newfieldvalue, -1) != '/') {
$newfieldvalue.= '/';
}
// if this is a configuration directory, check for stupidity of admins :p
if (checkDisallowedPaths($newfieldvalue) !== true) {
$newfieldvalue = '';
$returnvalue = 'givendirnotallowed';
} else {
$returnvalue = ($newfieldvalue == makeCorrectDir($newfieldvalue));
}
}
}
elseif (isset($fielddata['string_type']) && $fielddata['string_type'] == 'file') {
// check for empty value (it might be allowed)
if (trim($newfieldvalue) == '') {

View File

@@ -17,62 +17,58 @@
*
*/
function storeSettingField($fieldname, $fielddata, $newfieldvalue)
{
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
{
function storeSettingField($fieldname, $fielddata, $newfieldvalue) {
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
{
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
/*
* when fielddata[cronmodule] is set, this means enable/disable a cronjob
*/
if(isset($fielddata['cronmodule']) && $fielddata['cronmodule'] != '')
{
*/
if (isset($fielddata['cronmodule'])
&& $fielddata['cronmodule'] != ''
) {
toggleCronStatus($fielddata['cronmodule'], $newfieldvalue);
}
/*
* satisfy dependencies
*/
if(isset($fielddata['dependency']) && is_array($fielddata['dependency']))
{
if((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue)
{
*/
if (isset($fielddata['dependency'])
&& is_array($fielddata['dependency'])
) {
if ((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue) {
storeSettingField($fielddata['dependency']['fieldname'], $fielddata['dependency']['fielddata'], $newfieldvalue);
}
}
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
}
else
{
} else {
return false;
}
}
else
{
} else {
return false;
}
}
function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue)
{
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
{
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
{
function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue) {
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
}
else
{
} else {
return false;
}
}
else
{
} else {
return false;
}
}
?>

View File

@@ -0,0 +1,48 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2013 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Michael Kaufmann <mkaufmann@nutime.de>
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Functions
*
* @since 0.9.30
*
*/
/**
* checks a directory against disallowed paths which could
* lead to a damaged system if you use them
*
* @param string $fieldname
* @param array $fielddata
* @param mixed $newfieldvalue
*
* @return boolean|array
*/
function checkDisallowedPaths($path = null) {
/*
* disallow base-directories and /
*/
$disallowed_values = array(
"/", "/bin/", "/boot/", "/dev/", "/etc/", "/home/", "/lib/", "/lib32/", "/lib64/",
"/opt/", "/proc/", "/root/", "/run/", "/sbin/", "/sys/", "/tmp/", "/usr/", "/var/"
);
$path = makeCorrectDir($path);
// check if it's a disallowed path
if (in_array($path, $disallowed_values)) {
return false;
}
return true;
}

View File

@@ -431,6 +431,40 @@ if (AREA == 'admin' || AREA == 'customer') {
unset($navigation_data);
}
/**
* header information about open tickets (only if used)
*/
if ($settings['ticket']['enabled'] == '1') {
$awaitingtickets = 0;
$awaitingtickets_text = '';
$opentickets = 0;
if (AREA == 'admin' && isset($userinfo['adminid'])) {
$opentickets = $db->query_first('
SELECT COUNT(`id`) as `count` FROM `' . TABLE_PANEL_TICKETS . '`
WHERE `answerto` = "0" AND (`status` = "0" OR `status` = "1")
AND `lastreplier`="0" AND `adminid` = "' . $userinfo['adminid'] . '"
');
$awaitingtickets = $opentickets['count'];
if ($opentickets > 0) {
$awaitingtickets_text = strtr($lng['ticket']['awaitingticketreply'], array('%s' => '<a href="admin_tickets.php?page=tickets&amp;s=' . $s . '">' . $opentickets['count'] . '</a>'));
}
}
elseif (AREA == 'customer' && isset($userinfo['customerid'])) {
$opentickets = $db->query_first('
SELECT COUNT(`id`) as `count` FROM `' . TABLE_PANEL_TICKETS . '`
WHERE `answerto` = "0" AND (`status` = "0" OR `status` = "2")
AND `lastreplier`="1" AND `customerid` = "' . $userinfo['customerid'] . '"
');
$awaitingtickets = $opentickets['count'];
if ($opentickets > 0) {
$awaitingtickets_text = strtr($lng['ticket']['awaitingticketreply'], array('%s' => '<a href="customer_tickets.php?page=tickets&amp;s=' . $s . '">' . $opentickets['count'] . '</a>'));
}
}
}
$webfont = str_replace('+', ' ', $settings['panel']['webfont']);
eval("\$header = \"" . getTemplate('header', '1') . "\";");

View File

@@ -74,6 +74,6 @@ define('PACKAGE_LOCKED', 1);
define('PACKAGE_ENABLED', 2);
// VERSION INFO
$version = '0.9.30-rc1';
$version = '0.9.30';
$dbversion = '2';
$branding = '';

View File

@@ -755,8 +755,10 @@ $lng['logger']['truncate'] = 'Empty log';
// ADDED IN 1.2.19-svn7
$lng['serversettings']['ssl']['use_ssl'] = 'Use SSL';
$lng['serversettings']['ssl']['ssl_cert_file'] = 'Path to the SSL certificate';
$lng['serversettings']['ssl']['use_ssl']['title'] = 'Enable SSL usage';
$lng['serversettings']['ssl']['use_ssl']['description'] = 'Check this if you want to use SSL for your webserver';
$lng['serversettings']['ssl']['ssl_cert_file']['title'] = 'Path to the SSL certificate';
$lng['serversettings']['ssl']['ssl_cert_file']['description'] = 'Specify the path including the filename of the .crt or .pem file (main certificate)';
$lng['serversettings']['ssl']['openssl_cnf'] = 'Defaults for creating the Cert file';
$lng['panel']['reseller'] = 'reseller';
$lng['panel']['admin'] = 'admin';
@@ -1205,8 +1207,10 @@ $lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL config
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
$lng['admin']['ipsandports']['ssl_ca_file'] = 'Path to the SSL CA certificate';
$lng['admin']['ipsandports']['default_vhostconf_domain'] = 'Default vHost-settings for every domain container';
$lng['serversettings']['ssl']['ssl_key_file'] = 'Path to the SSL Keyfile';
$lng['serversettings']['ssl']['ssl_ca_file'] = 'Path to the SSL CA certificate';
$lng['serversettings']['ssl']['ssl_key_file']['title'] = 'Path to the SSL Keyfile';
$lng['serversettings']['ssl']['ssl_key_file']['description'] = 'Specify the path including the filename for the private-key file (.key mostly)';
$lng['serversettings']['ssl']['ssl_ca_file']['title'] = 'Path to the SSL CA certificate (optional)';
$lng['serversettings']['ssl']['ssl_ca_file']['description'] = 'Client authentification, set this only if you know what it is.';
$lng['error']['usernamealreadyexists'] = 'The username %s already exists.';
@@ -1476,28 +1480,19 @@ $lng['admin']['store_defaultindex'] = 'Store default index-file to customers doc
// ADDED IN FROXLOR 0.9.13-svn1
$lng['customer']['autoresponder'] = 'Autoresponder';
// ADDED IN FROXLOR 0.9.14-svn1
// ADDED IN FROXLOR 0.9.14
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Default PHP configuration for Froxlor-vHost';
// ADDED IN FROXLOR 0.9.14-svn3
$lng['serversettings']['awstats_icons']['title'] = 'Path to AWstats icons folder';
$lng['serversettings']['awstats_icons']['description'] = 'e.g. /usr/share/awstats/htdocs/icon/';
// ADDED IN FROXLOR 0.9.14-svn4
$lng['admin']['ipsandports']['ssl_cert_chainfile'] = 'Path to the SSL CertificateChainFile';
// ADDED IN FROXLOR 0.9.14-svn5
$lng['admin']['ipsandports']['ssl_cert_chainfile']['title'] = 'Path to the SSL CertificateChainFile';
$lng['admin']['ipsandports']['ssl_cert_chainfile']['description'] = 'Mostly CA_Bundle, or similar, you probably want to set this if you bought a SSL certificate.';
$lng['admin']['ipsandports']['docroot']['title'] = 'Custom docroot (empty = point to Froxlor)';
$lng['admin']['ipsandports']['docroot']['description'] = 'You can define a custom document-root (the destination for a request) for this ip/port combination here.<br /><strong>ATTENTION:</strong> Please be careful with what you enter here!';
// ADDED IN FROXLOR 0.9.14-svn6
$lng['serversettings']['login_domain_login'] = 'Allow login with domains';
// ADDED IN FROXLOR 0.9.14
$lng['panel']['unlock'] = 'unlock';
$lng['question']['customer_reallyunlock'] = 'Do you really want to unlock customer %s?';
// ADDED IN FROXLOR 0.9.15-svn1
// ADDED IN FROXLOR 0.9.15
$lng['serversettings']['perl_server']['title'] = 'Perl server location';
$lng['serversettings']['perl_server']['description'] = 'Default is set for using the guide found at: <a target="blank" href="http://wiki.nginx.org/SimpleCGI">http://wiki.nginx.org/SimpleCGI</a>';
$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx PHP backend';
@@ -1971,3 +1966,6 @@ $lng['admin']['selectserveralias_desc'] = 'Chose whether froxlor should create a
$lng['domains']['serveraliasoption_wildcard'] = 'Wildcard (*.domain.tld)';
$lng['domains']['serveraliasoption_www'] = 'WWW (www.domain.tld)';
$lng['domains']['serveraliasoption_none'] = 'No alias';
$lng['error']['givendirnotallowed'] = 'The given directory in field %s is not allowed.';
$lng['serversettings']['ssl']['ssl_cipher_list']['title'] = 'Configure the allowed SSL ciphers';
$lng['serversettings']['ssl']['ssl_cipher_list']['description'] = 'This is a list of ciphers that you want (or don\'t want) to use when talking SSL. For a list of ciphers and how to include/exclude them, see sections "CIPHER LIST FORMAT" and "CIPHER STRINGS" on <a href="http://openssl.org/docs/apps/ciphers.html">the man-page for ciphers</a>.<br /><br /><b>Default value is:</b><pre>ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH</pre>';

View File

@@ -754,8 +754,10 @@ $lng['logger']['truncate'] = 'Log leeren';
// ADDED IN 1.2.19-svn7
$lng['serversettings']['ssl']['use_ssl'] = 'SSL nutzen';
$lng['serversettings']['ssl']['ssl_cert_file'] = 'Pfad zum Zertifikat';
$lng['serversettings']['ssl']['use_ssl']['title'] = 'Aktiviere SSL';
$lng['serversettings']['ssl']['use_ssl']['description'] = 'Erlaubt die Nutzung von SSL für den Webserver';
$lng['serversettings']['ssl']['ssl_cert_file']['title'] = 'Pfad zum SSL-Zertifikat';
$lng['serversettings']['ssl']['ssl_cert_file']['description'] = 'Geben Sie den Pfad inklusive Dateinamen des Zertifikats an (meist .crt or .pem).';
$lng['serversettings']['ssl']['openssl_cnf'] = 'Standardwerte zum Erstellen eines Zertifikats';
$lng['panel']['reseller'] = 'Reseller';
$lng['panel']['admin'] = 'Administrator';
@@ -1319,8 +1321,10 @@ $lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver-SSL-Konfig
$lng['admin']['ipsandports']['ssl_key_file'] = 'Pfad zu der SSL-Schlüsseldatei';
$lng['admin']['ipsandports']['ssl_ca_file'] = 'Pfad zu dem SSL-CA-Zertifikat';
$lng['admin']['ipsandports']['default_vhostconf_domain'] = 'Standard vHost - Einstellungen für jeden Domain - Kontainer';
$lng['serversettings']['ssl']['ssl_key_file'] = 'Pfad zu der SSL-Schlüsseldatei';
$lng['serversettings']['ssl']['ssl_ca_file'] = 'Pfad zu dem SSL-CA-Zertifikat';
$lng['serversettings']['ssl']['ssl_key_file']['title'] = 'Pfad zum SSL Private-key';
$lng['serversettings']['ssl']['ssl_key_file']['description'] = 'Geben Sie den Pfad inklusive Dateinamen der Schlüssel-Datei an (der private-key, meist .key).';
$lng['serversettings']['ssl']['ssl_ca_file']['title'] = 'Pfad zu dem SSL-CA-Zertifikat (optional)';
$lng['serversettings']['ssl']['ssl_ca_file']['description'] = 'Client Authentifizierung, dieses Feld sollte nur gesetzt werden, wenn es wirklich gebraucht wird.';
$lng['error']['usernamealreadyexists'] = 'Der Benutzername "%s" existiert bereits.';
$lng['error']['plausibilitychecknotunderstood'] = 'Die Antwort des Plausibilitätschecks wurde nicht verstanden';
$lng['error']['errorwhensaving'] = 'Bei dem Speichern des Feldes "%s" trat ein Fehler auf';
@@ -1454,28 +1458,19 @@ $lng['admin']['store_defaultindex'] = 'Erstelle Standard-Index-Datei im Kunden-O
// ADDED IN FROXLOR 0.9.13-svn1
$lng['customer']['autoresponder'] = 'Abwesenheitsnachrichten';
// ADDED IN FROXLOR 0.9.14-svn1
// ADDED IN FROXLOR 0.9.14
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Voreingestellte PHP-Konfiguration für den Froxlor-Vhost';
// ADDED IN FROXLOR 0.9.14-svn3
$lng['serversettings']['awstats_icons']['title'] = 'Pfad zum AWstats-Icon-Ordner';
$lng['serversettings']['awstats_icons']['description'] = 'z.B. /usr/share/awstats/htdocs/icon/';
// ADDED IN FROXLOR 0.9.14-svn4
$lng['admin']['ipsandports']['ssl_cert_chainfile'] = 'Pfad zu dem SSL-CertificateChainFile';
// ADDED IN FROXLOR 0.9.14-svn5
$lng['admin']['ipsandports']['ssl_cert_chainfile']['title'] = 'Pfad zu dem SSL-CertificateChainFile (optional)';
$lng['admin']['ipsandports']['ssl_cert_chainfile']['description'] = 'Meist CA_Bundle, o.Ä., dies ist das Feld, dass gesetzt werden sollte, wenn ein gekauftes SSL-Zertifikat vorliegt.';
$lng['admin']['ipsandports']['docroot']['title'] = 'Benutzerdefinierter Docroot (leer = zeige auf Froxlor)';
$lng['admin']['ipsandports']['docroot']['description'] = 'Hier kann ein benutzerdefinierter Document-Root (der Zielordner für einen Zugriff) für diese IP/Port Kombination gesetzt werden.<br /><strong>ACHTUNG:</strong> Bitte überlege vorher, welchen Pfad du hier angibst!';
// ADDED IN FROXLOR 0.9.14-svn6
$lng['serversettings']['login_domain_login'] = 'Erlaube Anmeldung mit Domains';
// ADDED IN FROXLOR 0.9.14
$lng['panel']['unlock'] = 'entsperren';
$lng['question']['customer_reallyunlock'] = 'Wollen Sie den Kunden "%s" wirklich entsperren?';
// ADDED IN FROXLOR 0.9.15-svn1
// ADDED IN FROXLOR 0.9.15
$lng['serversettings']['perl_server']['title'] = 'Perl-Server-Ort';
$lng['serversettings']['perl_server']['description'] = 'Der Standardwert ist diesem Guide entnommen: <a target="blank" href="http://wiki.nginx.org/SimpleCGI">http://wiki.nginx.org/SimpleCGI</a>';
$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx-PHP-Backend';
@@ -1691,3 +1686,6 @@ $lng['admin']['selectserveralias_desc'] = 'Wählen Sie hier, ob für diese Domai
$lng['domains']['serveraliasoption_wildcard'] = 'Wildcard (*.domain.tld)';
$lng['domains']['serveraliasoption_www'] = 'WWW (www.domain.tld)';
$lng['domains']['serveraliasoption_none'] = 'Kein alias';
$lng['error']['givendirnotallowed'] = 'Das angegebene Verzeichnis im Feld %s ist nicht erlaubt.';
$lng['serversettings']['ssl']['ssl_cipher_list']['title'] = 'Erlaubte SSL Ciphers festlegen';
$lng['serversettings']['ssl']['ssl_cipher_list']['description'] = 'Dies ist eine Liste von Ciphers die genutzt werden sollen (oder auch nicht genutzt werden sollen) wenn eine SSL Verbindung besteht. Eine Liste aller Ciphers und wie diese hinzugefügt/ausgeschlossen werden ist in den Abschnitten "CIPHER LIST FORMAT" und "CIPHER STRINGS" in <a href="http://openssl.org/docs/apps/ciphers.html">der man-page für Ciphers</a> zu finden.<br /><br /><b>Standard-Wert ist:</b><pre>ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH</pre>';

View File

@@ -430,3 +430,6 @@ $lng['panel']['search'] = 'Buscar';
$lng['panel']['used'] = 'usado';
$lng['panel']['translator'] = 'Traductor';
$lng['error']['stringformaterror'] = 'El valor para la fila "%s" no esta dentro de los formatos esperados.';
$lng['mails']['webmaxpercent']['subject'] = 'Su cuenta esta llegando al Límite de almacenamiento';
$lng['mails']['webmaxpercent']['mailbody'] = 'Estimado {NAME} \n\nsu cuota actual de {DISKAVAILABLE} MB esta siendo ocupada por {DISKUSED} MB.\nEsta usando actualmente más del {MAX_PERCENT}%.\n\nPor favor contacte con su Administrador.\nDisculpe las molestias ocasionadas.';

View File

@@ -339,7 +339,7 @@ class apache
$this->virtualhosts_data[$vhosts_filename] .= ' SSLEngine On' . "\n";
// this makes it more secure, thx to Marcel (08/2013)
$this->virtualhosts_data[$vhosts_filename] .= ' SSLHonorCipherOrder On' . "\n";
$this->virtualhosts_data[$vhosts_filename] .= ' SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH' . "\n";
$this->virtualhosts_data[$vhosts_filename] .= ' SSLCipherSuite ' . $this->settings['system']['ssl_cipher_list'] . "\n";
$this->virtualhosts_data[$vhosts_filename] .= ' SSLVerifyDepth 10' . "\n";
$this->virtualhosts_data[$vhosts_filename] .= ' SSLCertificateFile ' . makeCorrectFile($row_ipsandports['ssl_cert_file']) . "\n";
@@ -716,7 +716,7 @@ class apache
$vhost_content .= ' SSLEngine On' . "\n";
// this makes it more secure, thx to Marcel (08/2013)
$vhost_content .= ' SSLHonorCipherOrder On' . "\n";
$vhost_content .= ' SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH' . "\n";
$vhost_content .= ' SSLCipherSuite ' . $this->settings['system']['ssl_cipher_list'] . "\n";
$vhost_content .= ' SSLVerifyDepth 10' . "\n";
$vhost_content .= ' SSLCertificateFile ' . makeCorrectFile($domain['ssl_cert_file']) . "\n";

View File

@@ -182,6 +182,9 @@ class lighttpd
if ($row_ipsandports['ssl_cert_file'] != '') {
$this->lighttpd_data[$vhost_filename].= 'ssl.engine = "enable"' . "\n";
$this->lighttpd_data[$vhost_filename].= 'ssl.use-sslv2 = "disable"' . "\n";
$this->lighttpd_data[$vhost_filename].= 'ssl.cipher-list = "' . $this->settings['system']['ssl_cipher_list'] . '"' . "\n";
$this->lighttpd_data[$vhost_filename].= 'ssl.honor-cipher-order = "enable"' . "\n";
$this->lighttpd_data[$vhost_filename].= 'ssl.pemfile = "' . makeCorrectFile($row_ipsandports['ssl_cert_file']) . '"' . "\n";
if ($row_ipsandports['ssl_ca_file'] != '') {
@@ -512,6 +515,9 @@ class lighttpd
if ($domain['ssl_cert_file'] != '') {
$ssl_settings.= 'ssl.engine = "enable"' . "\n";
$ssl_settings.= 'ssl.use-sslv2 = "disable"' . "\n";
$ssl_settings.= 'ssl.cipher-list = "' . $this->settings['system']['ssl_cipher_list'] . '"' . "\n";
$ssl_settings.= 'ssl.honor-cipher-order = "enable"' . "\n";
$ssl_settings.= 'ssl.pemfile = "' . makeCorrectFile($domain['ssl_cert_file']) . '"' . "\n";
if ($domain['ssl_ca_file'] != '') {

View File

@@ -506,7 +506,7 @@ class nginx
// obsolete: ssl on now belongs to the listen block as 'ssl' at the end
//$sslsettings .= "\t" . 'ssl on;' . "\n";
$sslsettings .= "\t" . 'ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;' . "\n";
$sslsettings .= "\t" . 'ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!CAMELLIA;' . "\n";
$sslsettings .= "\t" . 'ssl_ciphers ' . $this->settings['system']['ssl_cipher_list'] . ';' . "\n";
$sslsettings .= "\t" . 'ssl_prefer_server_ciphers on;' . "\n";
$sslsettings .= "\t" . 'ssl_certificate ' . makeCorrectFile($domain['ssl_cert_file']) . ';' . "\n";
@@ -515,7 +515,7 @@ class nginx
}
if ($domain['ssl_ca_file'] != '') {
$sslsettings.= 'ssl_client_certificate ' . makeCorrectFile($domain['ssl_ca_file']) . ';' . "\n";
$sslsettings.= "\t" . 'ssl_client_certificate ' . makeCorrectFile($domain['ssl_ca_file']) . ';' . "\n";
}
}

View File

@@ -87,6 +87,13 @@ while ($row = $db->fetch_array($result_tasks)) {
} else {
echo "Please check you Webserver settings\n";
}
/**
* as we might have a change from mod_php to fcgid/fpm or the other way around
* we need to check customer directory permissions
* -> 0.9.31
*/
}
/**
@@ -387,14 +394,11 @@ while ($row = $db->fetch_array($result_tasks)) {
}
}
if($db->num_rows($result_tasks) != 0)
{
if ($db->num_rows($result_tasks) != 0) {
$where = array();
foreach($resultIDs as $id)
{
foreach ($resultIDs as $id) {
$where[] = '`id`=\'' . (int)$id . '\'';
}
$where = implode($where, ' OR ');
$db->query('DELETE FROM `' . TABLE_PANEL_TASKS . '` WHERE ' . $where);
unset($resultIDs);

View File

@@ -49,20 +49,24 @@ while($row = $db->fetch_array($result))
'MAX_PERCENT' => $settings['system']['report_webmax']
);
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
WHERE `language` ='" . $row['def_language'] . "'");
$lngfile = $db->query_first("
SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
WHERE `language` ='" . $row['def_language'] . "'
");
if($lngfile !== NULL)
{
if ($lngfile !== null) {
$langfile = $lngfile['file'];
}
else
{
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
WHERE `language` ='" . $settings['panel']['standardlanguage'] . "'");
} else {
$lngfile = $db->query_first("
SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
WHERE `language` ='" . $settings['panel']['standardlanguage'] . "'
");
$langfile = $lngfile['file'];
}
// include english language file (fallback)
include_once makeCorrectFile($pathtophpfiles . '/lng/english.lng.php');
// include admin/customer language file
include_once makeCorrectFile($pathtophpfiles . '/' . $langfile);
// Get mail templates from database; the ones from 'admin' are fetched for fallback

View File

@@ -1,4 +1,9 @@
$(document).ready(function() {
$('#historyback').click(function() {
parent.history.back();
return false;
});
// this is necessary for the special setting feature (ref #1010)
$.getQueryVariable = function(key) {
var urlParams = decodeURI( window.location.search.substring(1) );

View File

@@ -32,7 +32,7 @@
</div>
</div>
<p class="submit">
<a href="javascript:history.go(-1)" title="Click here to go back">Go back</a>
<a href="#" title="Click here to go back" id="historyback">Go back</a>
</p>
</section>

View File

@@ -19,16 +19,16 @@
<span>Webspace:</span>
<if $row['diskspace'] != 'UL'>
<if (($row['diskspace']/100)*(int)$settings['system']['report_webmax']) < $row['diskspace_used']>
<div class="progress progress-danger progress-striped">
<div class="progress progress-danger">
<div class="bar" style="width: {$disk_percent}%"></div>
</div>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: {$disk_percent}%"></div>
</div>
</if>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: 0%"></div>
</div>
</if>
@@ -37,16 +37,16 @@
<span>Traffic:</span>
<if $row['traffic'] != 'UL'>
<if (($row['traffic']/100)*(int)$settings['system']['report_trafficmax']) < $row['traffic_used']>
<div class="progress progress-danger progress-striped">
<div class="progress progress-danger">
<div class="bar" style="width: {$traffic_percent}%"></div>
</div>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: {$traffic_percent}%"></div>
</div>
</if>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: 0%"></div>
</div>
</if>

View File

@@ -10,29 +10,31 @@ $header
<section class="tinyform bradius">
<form action="$filename" method="get" enctype="application/x-www-form-urlencoded">
<fieldset>
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;Wizard</legend>
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<table class="formtable">
<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))}">{$configfiles[$distribution]['label']}</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))}">{$configfiles[$distribution]['services'][$service]['label']}</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>
<table class="formtable">
<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))}">{$configfiles[$distribution]['label']}</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))}">{$configfiles[$distribution]['services'][$service]['label']}</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>
</table>
</fieldset>
</tfoot>
</table>
</fieldset>
</form>
</section>
</article>

View File

@@ -2,13 +2,13 @@
<td>
<if $row['company'] != '' && $row['name'] != ''>
{$row['company']}<br />
<small>{$row['name']}&nbsp;{$row['firstname']}</small>
<small>{$row['name']}, {$row['firstname']}</small>
</if>
<if $row['company'] != '' && $row['name'] == ''>
{$row['company']}
</if>
<if $row['company'] == ''>
{$row['name']}&nbsp;{$row['firstname']}
{$row['name']}, {$row['firstname']}
</if>
</td>
<td>
@@ -26,17 +26,17 @@
<span>Webspace:</span>
<if $row['diskspace'] != 'UL'>
<if (($row['diskspace']/100)*(int)$settings['system']['report_webmax']) < $row['diskspace_used']>
<div class="progress progress-danger progress-striped">
<div class="progress progress-danger">
<div class="bar" style="width: {$disk_percent}%"></div>
</div>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: {$disk_percent}%"></div>
</div>
</if>
<else>
<div class="progress progress-striped">
<div class="bar" style="width: 0%"></div>
<div class="progress">
<div class="bar" style="width: 50%"></div>
</div>
</if>
</span>
@@ -44,17 +44,17 @@
<span>Traffic:</span>
<if $row['traffic'] != 'UL'>
<if (($row['traffic']/100)*(int)$settings['system']['report_trafficmax']) < $row['traffic_used']>
<div class="progress progress-danger progress-striped">
<div class="progress progress-danger">
<div class="bar" style="width: {$traffic_percent}%"></div>
</div>
<else>
<div class="progress progress-striped">
<div class="progress">
<div class="bar" style="width: {$traffic_percent}%"></div>
</div>
</if>
<else>
<div class="progress progress-striped">
<div class="bar" style="width: 0%"></div>
<div class="progress">
<div class="bar" style="width: 50%"></div>
</div>
</if>
</span>

View File

@@ -10,17 +10,22 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['menue']['main']['changelanguage']}</legend>
<p>
<label for="def_language">{$lng['login']['language']}:</label>&nbsp;
<select id="def_language" name="def_language">$language_options</select>
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input type="submit" value="{$lng['menue']['main']['changelanguage']}" />
</p>
<table class="formtable tinyform">
<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>

View File

@@ -10,25 +10,30 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['menue']['main']['changepassword']}</legend>
<p>
<label for="old_password">{$lng['changepassword']['old_password']}:</label>&nbsp;
<input type="password" id="old_password" name="old_password" />
</p>
<p>
<label for="new_password">{$lng['changepassword']['new_password']}:</label>&nbsp;
<input type="password" id="new_password" name="new_password" />
</p>
<p>
<label for="new_password_confirm">{$lng['changepassword']['new_password_confirm']}:</label>&nbsp;
<input type="password" id="new_password_confirm" name="new_password_confirm" />
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input type="submit" value="{$lng['menue']['main']['changepassword']}" />
</p>
<table class="formtable tinyform">
<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>

View File

@@ -10,17 +10,22 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['menue']['main']['changetheme']}</legend>
<p>
<label for="theme">{$lng['panel']['theme']}:</label>&nbsp;
<select id="theme" name="theme">$theme_options</select>
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input class="bottom" type="submit" value="{$lng['menue']['main']['changetheme']}" />
</p>
<table class="formtable tinyform">
<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>

View File

@@ -1,15 +1,6 @@
$header
<article>
<if 0 < $awaitingtickets && $settings['ticket']['enabled'] == 1 >
<div class="messagewrapperfull">
<div class="neutralcontainer bradius">
<div class="neutraltitle">{$lng['admin']['note']}</div>
<div class="neutral">{$awaitingtickets_text}</div>
</div>
</div>
</if>
<section class="dboarditemfull bradius">
<table>
<tr>

View File

@@ -17,27 +17,34 @@ $header
</if>
<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"/>
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['admin']['message']}</legend>
<p>
<label for="receipient">{$lng['admin']['receipient']}</label>&nbsp;
<select name="receipient" id="receipient">$receipients</select>
</p>
<p>
<label for="subject">{$lng['admin']['subject']}</label>&nbsp;
<input type="text" name="subject" id="subject" value="{$lng['admin']['nosubject']}"/>
</p>
<p>
<label for="message">{$lng['admin']['text']}</label>&nbsp;
<textarea rows="12" name="message" id="message"></textarea>
</p>
<p class="submit">
<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="submit" value="{$lng['panel']['send']}" />
</p>
<table class="formtable">
<tr>
<td><label for="receipient">{$lng['admin']['receipient']}</label></td>
<td><select name="receipient" id="receipient">$receipients</select></td>
</tr>
<tr>
<td><label for="subject">{$lng['admin']['subject']}</label></td>
<td><input type="text" name="subject" id="subject" value="{$lng['admin']['nosubject']}"/></td>
</tr>
<tr>
<td><label for="message">{$lng['admin']['text']}</label></td>
<td><textarea rows="12" 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>
</fieldset>
</form>

View File

@@ -9,12 +9,23 @@
<section class="fullform bradius">
<table class="formtable">
<thead>
<tr>
<th class="maintitle_apply_right" nowrap="nowrap" colspan="3" style="text-align: right !important;">
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
</th>
</tr>
</thead>
<tbody>
$fields
<tr>
<td class="maintitle_apply_right" nowrap="nowrap" colspan="2">
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="maintitle_apply_right" nowrap="nowrap" colspan="3" style="text-align: right !important;">
<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

@@ -31,12 +31,6 @@ $header
<br />
<br />
<article>
<header>
<h3>
{$lng['ticket']['search']}
</h3>
</header>
<section class="fullform bradius">
<form action="{$linker->getLink(array('section' => 'tickets'))}" method="post" enctype="application/x-www-form-urlencoded">
@@ -46,6 +40,11 @@ $header
<input type="hidden" name="send" value="send" />
<table class="formtable">
<thead>
<tr>
<th colspan="2">{$lng['ticket']['search']}</th>
</tr>
</thead>
<tr>
<td>{$lng['ticket']['subject']}:</td>
<td ><input type="text" name="subject" /></td>
@@ -60,10 +59,10 @@ $header
</tr>
<tr>
<td>{$lng['ticket']['lastchange']}:</td>
<td><label for="fromdate">{$lng['ticket']['lastchange_from']}</label>
<input type="text" id="fromdate" name="fromdate" /><br /><br />
<label for="todate">{$lng['ticket']['lastchange_to']}</label>
<input type="text" id="todate" name="todate" /></td>
<td>
<label for="fromdate">{$lng['ticket']['lastchange_from']}<br /><input type="text" id="fromdate" name="fromdate" /></label>
<label for="todate">{$lng['ticket']['lastchange_to']}<br /><input type="text" id="todate" name="todate" /></label>
</td>
</tr>
<tr>
<td>{$lng['ticket']['message']}:</td>
@@ -73,9 +72,11 @@ $header
<td>{$lng['ticket']['customer']}:</td>
<td><select name="customer">$customers</select></td>
</tr>
<tr>
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['panel']['search']}" /></td>
</tr>
<tfoot>
<tr>
<td class="main_field_confirm" colspan="2" align="right"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['panel']['search']}" /></td>
</tr>
</tfoot>
</table>
</form>

View File

@@ -30,6 +30,9 @@ body {
header img {
padding:10px 0 10px 10px;
}
img.small {
height: 30px;
}
h1 {
display:none;
@@ -76,8 +79,7 @@ td a {
}
.topheader_navigation {
float: right;
margin: 36px 50px 0 0;
text-transform: uppercase;
margin: 14px 50px 0 0;
}
/* TOPHEADER NAV */
@@ -86,14 +88,15 @@ ul.topheadernav {
font-size: 13px;
}
ul.topheadernav li {
padding: 0 0 0 50px;
padding: 0px;
margin-left: 50px;
float: left;
position: relative;
}
ul.topheadernav li a {
display: block;
text-decoration: none;
color: #666;
color: #0f3e4e;
}
ul.topheadernav li a:hover {
color: #111;
@@ -101,9 +104,10 @@ ul.topheadernav li a:hover {
ul.topheadernav li ul {
display: none;
background-color: #eee;
padding: 5px 10px;
padding: 5px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
margin-left: -10px;
margin-left: 0px;
border-radius: 3px;
}
ul.topheadernav li:hover ul {
display: block;
@@ -111,7 +115,7 @@ ul.topheadernav li:hover ul {
}
ul.topheadernav li ul li {
font-size: 11px;
margin-left: -50px;
margin-left: 0px;
}
ul.topheadernav li ul li a:hover {
color: #111;
@@ -126,6 +130,24 @@ nav div:first-child {
display: none;
}
.topheadernav img {
padding: 0px;
margin: 0px;
}
.countbubble {
display: block;
font-size: 9px;
color: #fff;
background-color: #dd0000;
position: absolute;
padding: 3px;
font-weight: bold;
line-height: 9px;
border-radius: 3px;
right: -6px;
bottom: -3px;
}
/* FOOTER */
footer {
clear:both;
@@ -138,6 +160,10 @@ footer {
footer a,footer a:active,footer a:visited {
color: #888;
}
footer img {
margin: 0 2px 3px 0;
height: 13px;
}
.login, .install {
background-color:#fff;
@@ -165,7 +191,7 @@ footer a,footer a:active,footer a:visited {
}
.tinyform input {
width:50%;
/*width:50%;*/
}
.tinyform input[type="checkbox"] {
@@ -196,6 +222,9 @@ footer a,footer a:active,footer a:visited {
padding:10px 0;
text-align:center;
}
.tinyform {
padding: 0;
}
.fullform {
width:100%;
@@ -209,6 +238,9 @@ footer a,footer a:active,footer a:visited {
padding:10px 0;
text-align:left;
}
.midform {
padding: 0;
}
.tinyform,.loginsec form {
width:400px;
@@ -320,7 +352,7 @@ aside.right {
.overviewsearch {
position:absolute;
top:155px;
top:125px;
right:36px;
font-size:80%;
}
@@ -471,7 +503,7 @@ a:hover {
.main {
margin-left:240px;
margin-right:10px;
margin-top:105px;
margin-top:64px;
margin-bottom:0;
background-color:#fff;
padding: 30px 30px 30px 30px;
@@ -591,6 +623,9 @@ table tfoot td {
border-top: 1px solid #d1d5d8;
background-color: #f2f8fa;
}
.formtable tfoot td {
padding-right: 0px;
}
.tfootleft {
text-align:left;
@@ -603,10 +638,11 @@ table tfoot td {
/* input elements */
input {
background: #fff url(../img/icons/text_align_left.png) no-repeat 5px 4px;
padding:2px 4px 2px 24px;
height:22px;
padding:1px 4px 2px 24px;
height:23px;
border: 1px solid #d9d9d9;
margin-bottom: 5px;
border-radius: 3px;
}
textarea {
@@ -614,74 +650,89 @@ textarea {
padding:4px 4px 2px 24px;
border:1px solid #d9d9d9;
margin-bottom: 5px;
border-radius: 3px;
}
input[type="password"] {
background:#fff url(../img/icons/password.png) no-repeat 5px 4px;
}
/*
* BUTTONS
*/
input[type="button"],input[type="submit"],input[type="reset"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #79bbff), color-stop(1, #378de5) );
background:-moz-linear-gradient( center top, #79bbff 5%, #378de5 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#79bbff', endColorstr='#378de5');
background-color:#79bbff;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
display:inline-block;
color:#ffffff;
padding:2px 24px 2px 24px;
text-decoration:none;
text-shadow:1px 1px 0px #528ecc;
margin: 0 5px;
padding: 5px 14px;
outline: 0;
border: 0;
background-color: #eee;
min-width: 80px;
height: 26px;
margin: 0 3px 0 3px;
background-image: none;
border-width: 0px;
}
.loginsec input[type="button"], .loginsec input[type="submit"], .loginsec input[type="reset"] {
margin: 0 1px;
}
input[type="button"]:hover,input[type="submit"]:hover,input[type="reset"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #378de5), color-stop(1, #79bbff) );
background:-moz-linear-gradient( center top, #378de5 5%, #79bbff 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#378de5', endColorstr='#79bbff');
background-color:#378de5;
color: #333;
background-color: #dcdcdc;
}
input[type="button"]:active,input[type="submit"]:active,input[type="reset"]:active {
-webkit-box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
-moz-box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.25);
color: white !important;
}
input[type="submit"],input[class="yesbutton"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #9dce2c), color-stop(1, #8cb82b) );
background:-moz-linear-gradient( center top, #9dce2c 5%, #8cb82b 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9dce2c', endColorstr='#8cb82b');
background-color:#9dce2c;
text-shadow:1px 1px 0px #aade7c;
color: white;
background-color: #35aa47;
}
input[type="submit"]:hover,input[class="yesbutton"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #8cb82b), color-stop(1, #9dce2c) );
background:-moz-linear-gradient( center top, #8cb82b 5%, #9dce2c 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cb82b', endColorstr='#9dce2c');
background-color:#8cb82b;
color: white;
background-color: #1d943b;
}
input[class="submit"]:active,input[class="yesbutton"]:active {
background-color: #35aa47;
}
input[class="nobutton"],input[type="reset"] {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #fe1a00), color-stop(1, #ce0100) );
background:-moz-linear-gradient( center top, #fe1a00 5%, #ce0100 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fe1a00', endColorstr='#ce0100');
background-color:#fe1a00;
text-shadow:1px 1px 0px #b23e35;
color: white;
background-color: #d84a38;
}
input[class="nobutton"]:hover,input[type="reset"]:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ce0100), color-stop(1, #fe1a00) );
background:-moz-linear-gradient( center top, #ce0100 5%, #fe1a00 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ce0100', endColorstr='#fe1a00');
background-color:#ce0100;
color: white;
background-color: #c53727;
}
input[class="nobutton"]:active,input[type="reset"]:active {
background-color: #dd4b39;
}
input[type="checkbox"] {
background:#dae7ee;
padding: 0;
margin: 0 5px 0 0;
vertical-align: middle;
height: 26px;
}
select {
background:#fff;
padding:4px;
border:1px solid #d9d9d9;
margin-bottom: 5px;
padding: 2px 4px 2px 24px;
height: 28px;
border: 1px solid #d9d9d9;
margin: 0 5px 5px 0 !important;
border-radius: 3px;
background: url(../img/icons/down.png) no-repeat 9px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
min-width: 170px;
text-indent: 0.01px; /* Removes default arrow from firefox*/
text-overflow: "";
}
select[multiple="multiple"] {
height: auto;
background-image: none;
padding: 4px;
}
.customer_add {
@@ -730,10 +781,12 @@ select {
padding: 4px 0px 4px 8px;
}
.cronjobtask {
list-style:url(../img/icons/clock.png) inside;
margin:0;
padding:0;
.cronjobtask li {
background-image: url(../img/icons/clock.png);
background-repeat: no-repeat;
background-position: 0px center;
padding-left: 18px;
height: 18px;
}
.overviewheading {
@@ -754,82 +807,32 @@ select {
margin:2px 0 2px 0;
overflow:hidden;
background-color:#f7f7f7;
background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);
background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);
background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));
background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);
background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);
background-image:linear-gradient(top,#f5f5f5,#f9f9f9);
background-repeat:repeat-x;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
filter:progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);
-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);
box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);
}
.progress .bar {
width:0;
width:1px;
height:18px;
font-size:12px;
color:#fff;
text-align:center;
text-shadow:0 -1px 0 rgba(0,0,0,0.25);
background-color:#0e90d2;
background-image:-moz-linear-gradient(top,#149bdf,#0480be);
background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));
background-image:-webkit-linear-gradient(top,#149bdf,#0480be);
background-image:-o-linear-gradient(top,#149bdf,#0480be);
background-image:linear-gradient(top,#149bdf,#0480be);
background-image:-ms-linear-gradient(top,#149bdf,#0480be);
background-repeat:repeat-x;
filter:progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);
-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);
-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);
box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
-webkit-transition:width .6s ease;
-moz-transition:width .6s ease;
-ms-transition:width .6s ease;
-o-transition:width .6s ease;
transition:width .6s ease;
}
.progress-striped .bar {
background-color:#149bdf;
background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
-webkit-background-size:40px 40px;
-moz-background-size:40px 40px;
-o-background-size:40px 40px;
background-size:40px 40px;
-webkit-transition: width 6s ease;
-moz-transition: width 6s ease;
-ms-transition: width 6s ease;
-o-transition: width 6s ease;
transition: width 6s ease;
}
.progress-danger .bar {
background-color:#dd514c;
background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);
background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);
background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));
background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);
background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);
background-image:linear-gradient(top,#ee5f5b,#c43c35);
background-repeat:repeat-x;
filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0);
}
.progress-danger.progress-striped .bar {
background-color:#ee5f5b;
background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));
background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);
}
.maintable {

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -19,6 +19,11 @@ $(document).ready(function() {
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});
$('#historyback').click(function() {
parent.history.back();
return false;
});
// this is necessary for the special setting feature (ref #1010)
$.getQueryVariable = function(key) {
@@ -51,10 +56,8 @@ $(document).ready(function() {
$(".main").css('min-height', $("nav").height() - 134);
// set focus on username-field if on loginpage
if ($(".loginpage").length != 0) {
$("#loginname").focus();
}
$("#loginname").focus();
if ($("table.bradius").length != 0) {
$("table.bradius tbody tr").hover(function() {
$(this).css("background-color", "#f5f5f5");

View File

@@ -10,17 +10,22 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['menue']['main']['changelanguage']}</legend>
<p>
<label for="def_language">{$lng['login']['language']}:</label>&nbsp;
<select id="def_language" name="def_language">$language_options</select>
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input type="submit" value="{$lng['menue']['main']['changelanguage']}" />
</p>
<table class="formtable tinyform">
<tr>
<td width="50%"><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>

View File

@@ -10,33 +10,38 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp{$lng['menue']['main']['changepassword']}</legend>
<p>
<label for="old_password">{$lng['changepassword']['old_password']}:</label>&nbsp;
<input type="password" id="old_password" name="old_password" />
</p>
<p>
<label for="new_password">{$lng['changepassword']['new_password']}:</label>&nbsp;
<input type="password" id="new_password" name="new_password" />
</p>
<p>
<label for="new_password_confirm">{$lng['changepassword']['new_password_confirm']}:</label>&nbsp;
<input type="password" id="new_password_confirm" name="new_password_confirm" />
</p>
<p>
<input type="checkbox" name="change_main_ftp" id="change_main_ftp" value="true" />&nbsp;
{$lng['changepassword']['also_change_ftp']}
</p>
<p>
<input type="checkbox" name="change_webalizer" id="change_webalizer" value="true" />&nbsp;
{$lng['changepassword']['also_change_webalizer']}
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input type="submit" value="{$lng['menue']['main']['changepassword']}" />
</p>
<table class="formtable fullform">
<tr>
<td width="50%"><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>
<tr>
<td><label for="change_main_ftp">{$lng['changepassword']['also_change_ftp']}:</label></td>
<td><input type="checkbox" name="change_main_ftp" id="change_main_ftp" value="true" /></td>
</tr>
<tr>
<td><label for="change_webalizer">{$lng['changepassword']['also_change_webalizer']}:</label></td>
<td><input type="checkbox" name="change_webalizer" id="change_webalizer" value="true" /></td>
</tr>
<tfoot>
<tr>
<td colspan="2" align="center">
<input type="submit" value="{$lng['menue']['main']['changepassword']}" />
</td>
</tr>
</tfoot>
</table>
</fieldset>
</form>
</section>

View File

@@ -10,17 +10,22 @@ $header
<section class="tinyform bradius">
<form method="post" action="{$linker->getLink(array('section' => 'index'))}" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend>Froxlor&nbsp;-&nbsp;{$lng['menue']['main']['changetheme']}</legend>
<p>
<label for="theme">{$lng['panel']['theme']}:</label>&nbsp;
<select id="theme" name="theme">$theme_options</select>
</p>
<p class="submit">
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<input class="bottom" type="submit" value="{$lng['menue']['main']['changetheme']}" />
</p>
<input type="hidden" name="s" value="$s" />
<input type="hidden" name="page" value="$page" />
<input type="hidden" name="send" value="send" />
<table class="formtable tinyform">
<tr>
<td width="50%"><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>

View File

@@ -1,15 +1,6 @@
$header
<article>
<if 0 < $awaitingtickets && $settings['ticket']['enabled'] == 1 >
<div class="messagewrapperfull">
<div class="warningcontainer bradius">
<div class="warningtitle">{$lng['admin']['warning']}</div>
<div class="warning"><br /><strong>{$awaitingtickets_text}</strong></div>
</div>
</div>
</if>
<section class="dboarditem bradius">
<table>
<tr>

View File

@@ -2,7 +2,7 @@
</div>
</if>
<footer>
<span>Froxlor
<span><img src="templates/{$theme}/assets/img/logo_grey.png" alt="Froxlor" />
<if ($settings['admin']['show_version_login'] == '1' && $filename == 'index.php') || ($filename != 'index.php' && $settings['admin']['show_version_footer'] == '1')>
{$version}{$branding}
</if>

View File

@@ -41,9 +41,22 @@
<hgroup>
<h1>Froxlor Server Management Panel</h1>
</hgroup>
<img src="{$header_logo}" alt="Froxlor Server Management Panel" />
<img src="{$header_logo}" alt="Froxlor Server Management Panel" class="small" />
<div class="topheader_navigation">
<ul class="topheadernav">
<if $settings['ticket']['enabled'] == 1>
<li>
<a href="{$linker->getLink(array('section' => 'tickets', 'page' => 'tickets'))}">
<if 0 < $awaitingtickets>
<img src="templates/{$theme}/assets/img/icons/menubar_tickets.png" alt="{$lng['menue']['ticket']['ticket']}" />
<span class="countbubble">{$awaitingtickets}</span>
<else>
<img src="templates/{$theme}/assets/img/icons/menubar_tickets_null.png" alt="{$lng['menue']['ticket']['ticket']}" />
</if>
</a>
</li>
</if>
<li>{$userinfo['loginname']}</li>
<li><a href="{$linker->getLink(array('section' => 'index'))}">{$lng['admin']['overview']}</a></li>
<li><a href="#">{$lng['panel']['options']}&nbsp;&#x25BE;</a>
<ul>
@@ -57,7 +70,7 @@
</if>
</ul>
</li>
<li><a href="{$linker->getLink(array('section' => 'index', 'action' => 'logout'))}">{$lng['login']['logout']} {$userinfo['loginname']}</a></li>
<li><a href="{$linker->getLink(array('section' => 'index', 'action' => 'logout'))}" style="color: #cc0000;">{$lng['login']['logout']}</a></li>
</ul>
</div>
</header>

View File

@@ -18,9 +18,9 @@
<script type="text/javascript" src="templates/{$theme}/assets/js/main.js"></script>
<title>{$title}Froxlor Server Management Panel</title>
<style type="text/css">
body {
font-family: {if $settings.panel.use_webfonts == 1}{$webfont},{/if} Verdana, Geneva, sans-serif;
}
body {
font-family: {if $settings.panel.use_webfonts == 1}{$webfont},{/if} Verdana, Geneva, sans-serif;
}
</style>
</head>
<body>
@@ -33,7 +33,9 @@
<img src="{$header_logo}" alt="Froxlor Server Management Panel" />
</header>
<nav>{$navigation}</nav>
<nav><div class="menuelement bradiusodd">
<h4>Froxlor WebFTP</h4>
</div>{$navigation}</nav>
{/if}
{if $loggedin}

View File

@@ -35,7 +35,7 @@
</div>
</div>
<aside class="right">
<a href="javascript:history.go(-1)" title="Click here to go back">Go back</a>
<a href="#" title="Click here to go back" id="historyback">Go back</a>
</aside>
</section>

View File

@@ -1,6 +1,8 @@
<tr>
<td colspan="2" style="text-align:right;">
<input type="reset" value="{$lng['panel']['reset']}" />
<input type="submit" value="{$lng['panel']['save']}" />
</td>
</tr>
<tfoot>
<tr>
<td colspan="2" style="text-align:right;">
<input type="reset" value="{$lng['panel']['reset']}" />
<input type="submit" value="{$lng['panel']['save']}" />
</td>
</tr>
</tfoot>

View File

@@ -1,5 +1,5 @@
<tr>
<td{$style} class="formlabeltd">
<td{$style} class="formlabeltd" style="width:50%">
<label for="{$fieldname}">{$label}{$mandatory}:
<if $desc != ''>
<br /><span style="font-size:85%;">{$desc}</span>

View File

@@ -1,33 +1,33 @@
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit.png" alt="" />&nbsp;
{t}Editing{/t}: <a href="webftp.php?action=cd&amp;file={$currentDir}">{$currentDir}</a>/{$file} ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage}</div>
</div>
{/if}
<section >
<form name="editForm" method="POST" action="webftp.php">
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="save" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="file" value="{$file}" />
<input type="hidden" name="mode" value="{$mode}" />
<textarea name="fileContent" cols="80" rows="40" wrap="OFF" id="fileContent">{$myFileContent|escape:'htmlall'}</textarea>
<br />
<input type="submit" name="Submit" value="{t}Save file{/t}" />
<input type="button" name="Submit2" value="{t}Cancel{/t}" onClick="javascript:document.location.href='webftp.php?action=cd&amp;file={$currentDir}'" />
</form>
</section>
</article>
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />&nbsp;
{t}Editing{/t}: <a href="webftp.php?action=cd&amp;file={$currentDir}">{$currentDir}</a>/{$file} ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage}</div>
</div>
{/if}
<section >
<form name="editForm" method="POST" action="webftp.php">
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="save" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="file" value="{$file}" />
<input type="hidden" name="mode" value="{$mode}" />
<textarea name="fileContent" cols="80" rows="40" wrap="OFF" id="fileContent">{$myFileContent|escape:'htmlall'}</textarea>
<br />
<input type="submit" name="Submit" value="{t}Save file{/t}" />
<input type="button" name="Submit2" value="{t}Cancel{/t}" onClick="javascript:document.location.href='webftp.php?action=cd&amp;file={$currentDir}'" />
</form>
</section>
</article>

View File

@@ -1,34 +1,34 @@
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit.png" alt="" />&nbsp;
{t}Creating a file in{/t}: <a href="webftp.php?action=cd&amp;file={$currentDir}">{$currentDir}</a> ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage}</div>
</div>
{/if}
<section >
<form name="editForm" method="POST" action="webftp.php">
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="save" />
<input type="hidden" name="currentDir" value="{$currentDir}">
<input type="hidden" name="mode" name="{$mode}">
<textarea name="fileContent" cols="80" rows="40" id="fileContent"></textarea>
<br />
<legend for="filename">{t}Filename{/t}:</legend>
<input type="text" id="filename" name="file" value="{$file}" />
<input type="submit" name="Submit" value="{t}Save file{/t}" />
<input type="button" name="Submit2" value="{t}Cancel{/t}" onClick="javascript:document.location.href='webftp.php?action=cd&amp;file={$currentDir}'" />
</form>
</section>
</article>
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />&nbsp;
{t}Creating a file in{/t}: <a href="webftp.php?action=cd&amp;file={$currentDir}">{$currentDir}</a> ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage}</div>
</div>
{/if}
<section >
<form name="editForm" method="POST" action="webftp.php">
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="save" />
<input type="hidden" name="currentDir" value="{$currentDir}">
<input type="hidden" name="mode" name="{$mode}">
<textarea name="fileContent" cols="80" rows="40" id="fileContent"></textarea>
<br />
<legend for="filename">{t}Filename{/t}:</legend>
<input type="text" id="filename" name="file" value="{$file}" />
<input type="submit" name="Submit" value="{t}Save file{/t}" />
<input type="button" name="Submit2" value="{t}Cancel{/t}" onClick="javascript:document.location.href='webftp.php?action=cd&amp;file={$currentDir}'" />
</form>
</section>
</article>

View File

@@ -1,43 +1,43 @@
<form name="putmForm" method="POST" action="webftp.php">
<input type="hidden" name="op" value="delete"/>
<input type="hidden" name="action" value="multiple" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="mode" value="{$mode}" />
<table class="bradius">
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>{t}Filename{/t}</th>
<th>{t}Size{/t}</th>
<th>{t}Date{/t}</th>
<th>{t}Permissions{/t}</th>
<th>{t}User{/t}</th>
<th>{t}Group{/t}</th>
<th colspan="4">{t}Options{/t}</th>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;</td>
<td>
<a href="webftp.php?action=cd&amp;file=..&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/parent.gif" height="20" width="20" align="top" border="0"></a>
</td>
<td align="left" colspan="10">
<a href="webftp.php?action=cd&amp;file=..&amp;currentDir={$currentDir}">..</a>
</td>
</tr>
{$output_dir}
{$output_link}
{$output_file}
</tbody>
<tfoot>
<tr>
<td colspan="12">
{t}Files{/t}: <strong>{$countArray.file}</strong>; {t}Complete filesize{/t}: <strong>{$countArray.filesize}</strong>; {t}Symlinks{/t}: <strong>{$countArray.link}</strong>; {t}Directories{/t}: <strong>{$countArray.dir}</strong>; {t}Complete directorysize{/t}: <strong>{$countArray.dirsize}</strong>
</td>
</tr>
</tfoot>
</table>
<br />
<hr />
<section class="dboarditemfull bradiusodd">
<form name="putmForm" method="POST" action="webftp.php">
<input type="hidden" name="op" value="delete"/>
<input type="hidden" name="action" value="multiple" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="mode" value="{$mode}" />
<table class="bradiusodd">
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>{t}Filename{/t}</th>
<th>{t}Size{/t}</th>
<th>{t}Date{/t}</th>
<th>{t}Permissions{/t}</th>
<th>{t}User{/t}</th>
<th>{t}Group{/t}</th>
<th>{t}Options{/t}</th>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;</td>
<td>
<a href="webftp.php?action=cd&amp;file=..&amp;currentDir={$currentDir}"><img src="templates/{$theme}/assets/img/icons/parent_20.png" height="20" width="20" align="top" border="0"></a>
</td>
<td align="left" colspan="10">
<a href="webftp.php?action=cd&amp;file=..&amp;currentDir={$currentDir}">..</a>
</td>
</tr>
{$output_dir}
{$output_link}
{$output_file}
</tbody>
<tfoot>
<tr>
<td colspan="10">
{t}Files{/t}: <strong>{$countArray.file}</strong>; {t}Complete filesize{/t}: <strong>{$countArray.filesize}</strong>; {t}Symlinks{/t}: <strong>{$countArray.link}</strong>; {t}Directories{/t}: <strong>{$countArray.dir}</strong>; {t}Complete directorysize{/t}: <strong>{$countArray.dirsize}</strong>
</td>
</tr>
</tfoot>
</table>
</section>

View File

@@ -1,80 +1,85 @@
<article>
<section class="dboarditem bradius">
<h2>{t}Basic operations{/t}</h2>
<table>
<tr>
<td>
<form name="cdDirect" method="POST" action="webftp.php">
<input type="hidden" name="action" value="cddirect" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="text" name="file" value="" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Change dir{/t}" />
</form>
</td>
</tr>
<tr>
<td>
<form name="dirinput" method="POST" action="webftp.php">
<input type="hidden" name="action" value="createdir" />
<input type="hidden" name="currentDir" value="{$currentDir}" style="width=150;" />
<input type="hidden" name="mode" value="{$mode}" />
<input type="text" name="file" value="" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Create dir{/t}" />
</form>
</td>
</tr>
<tr>
<td>
<form name="newfile" method="POST" action="webftp.php">
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="new" />
<input type="text" name="file" value="file.txt" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Create new file in current directory{/t}">
</form>
</td>
</tr>
</table>
</section>
<section class="dboarditem bradius">
<h2>{t}Upload files{/t}</h2>
<form name="putForm" enctype="multipart/form-data" method="POST" action="webftp.php">
<input type="hidden" name="action" value="put" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="mode" value="{$mode}" />
<table>
<tr>
<td valign="top">
<input type="file" name="file1" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file2" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file3" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file4" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file5" />
</td>
</tr>
<tr>
<td valign="top">
<input name="submit2" type="submit" style="width: 150;" value="{t}Upload file(s){/t}">
</td>
</tr>
</table>
</form>
</section>
<br />
<section class="dboarditemfull bradius">
<article>
<section class="dboarditem bradiusodd">
<table>
<thead>
<tr><th>{t}Basic operations{/t}</th></tr>
</thead>
<tr>
<td>
<form name="cdDirect" method="POST" action="webftp.php">
<input type="hidden" name="action" value="cddirect" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="text" name="file" value="" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Change dir{/t}" />
</form>
</td>
</tr>
<tr>
<td>
<form name="dirinput" method="POST" action="webftp.php">
<input type="hidden" name="action" value="createdir" />
<input type="hidden" name="currentDir" value="{$currentDir}" style="width=150;" />
<input type="hidden" name="mode" value="{$mode}" />
<input type="text" name="file" value="" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Create dir{/t}" />
</form>
</td>
</tr>
<tr>
<td>
<form name="newfile" method="POST" action="webftp.php">
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="op" value="new" />
<input type="text" name="file" value="file.txt" style="width:170px;" />
<input name="submit" type="submit" style="width: 150;" value="{t}Create new file in current directory{/t}">
</form>
</td>
</tr>
</table>
</section>
<section class="dboarditem bradiusodd">
<form name="putForm" enctype="multipart/form-data" method="POST" action="webftp.php">
<input type="hidden" name="action" value="put" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
<input type="hidden" name="mode" value="{$mode}" />
<table>
<thead>
<tr>
<th>{t}Upload files{/t}</th>
</tr>
</thead>
<tr>
<td valign="top">
<input type="file" name="file1" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file2" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file3" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file4" />
</td>
</tr>
<tr>
<td valign="top">
<input type="file" name="file5" />
</td>
</tr>
<tr>
<td valign="top" align="right">
<input name="submit2" type="submit" style="width: 150;" value="{t}Upload file(s){/t}">
</td>
</tr>
</table>
</form>
</section>
<br />

View File

@@ -1,14 +1,18 @@
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/folder.gif" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td><a href="webftp.php?action=deldir&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/delete.png" border="0" alt="{t}Delete{/t}" /></a></td>
<td><a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/rename.gif" border="0" alt="{t}Rename{/t}" /></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="templates/{$theme}/assets/img/icons/folder_20.png" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td>
<a href="webftp.php?action=deldir&amp;file={$myDir.name}&amp;currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/delete_20.png" border="0" alt="{t}Delete{/t}" />
</a>&nbsp;
<a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&amp;currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/rename_20.png" border="0" alt="{t}Rename{/t}" />
</a>
</td>
</tr>

View File

@@ -1,14 +1,23 @@
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=get&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/file.gif" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=get&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td><a href="webftp.php?action=delfile&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/delete.png" border="0" alt="{t}Delete{/t}"></a></td>
<td><a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&currentDir={$currentDir}"><img src="{$image_folder}/icons/rename.gif" border="0" alt="{t}Rename{/t}"></a></td>
<td>{if $editable}<a href="webftp.php?action=edit&amp;op=open&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/edit.png" border="0" alt="{t}Edit{/t}"></a>{/if}</td>
<td>&nbsp;</td>
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=get&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="templates/{$theme}/assets/img/icons/file_20.png" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=get&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td>
<a href="webftp.php?action=delfile&amp;file={$myDir.name}&amp;currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/delete_20.png" border="0" alt="{t}Delete{/t}">
</a>&nbsp;
<a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/rename_20.png" border="0" alt="{t}Rename{/t}">
</a>&nbsp;
{if $editable}
<a href="webftp.php?action=edit&amp;op=open&amp;file={$myDir.name}&amp;currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/edit_20.png" border="0" alt="{t}Edit{/t}">
</a>
{/if}
</td>
</tr>

View File

@@ -1,19 +1,19 @@
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit.png" alt="" />&nbsp;
{$connected_to} ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage|escape:'htmlall'|nl2br}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage|escape:'htmlall'|nl2br}</div>
</div>
{/if}
<article>
<header>
<h2>
<img src="templates/{$theme}/assets/img/icons/group_edit_big.png" alt="" />&nbsp;
{$connected_to} ({$mode})
</h2>
</header>
{if isset($successmessage)}
<div class="successcontainer bradius">
<div class="successtitle">{t}Success{/t}</div>
<div class="success">{$successmessage|escape:'htmlall'|nl2br}</div>
</div>
{/if}
{if isset($errormessage)}
<div class="errorcontainer bradius">
<div class="errortitle">{t}Error{/t}</div>
<div class="error">{$errormessage|escape:'htmlall'|nl2br}</div>
</div>
{/if}

View File

@@ -1,13 +1,19 @@
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/link.gif" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td><a href="webftp.php?action=deldir&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="{$image_folder}/icons/delete.png" border="0" alt="{t}Delete{/t}"></a></td>
<td><a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&currentDir={$currentDir}"><img src="{$image_folder}/icons/rename.gif" border="0" alt="{t}Rename{/t}"></a></td>
<td colspan="2">{t}Symbolic link to{/t}: {$myDir.target}&nbsp;</td>
<tr {$checked_color}>
<td><input type="checkbox" name="file[]" value="{$myDir.name}" {$checked} /></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}"><img src="templates/{$theme}/assets/img/icons/link_20.png" align="top" border="0" /></a></td>
<td><a href="webftp.php?action=cd&amp;file={$myDir.name}&amp;currentDir={$currentDir}">{$myDir.name}</a></td>
<td align=right>{$myDir.size}</td>
<td>{$myDir.date}</td>
<td>{$myDir.perms}</td>
<td>{$myDir.user}</td>
<td>{$myDir.group}</td>
<td>
<a href="webftp.php?action=deldir&amp;file={$myDir.name}&amp;currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/delete_20.png" border="0" alt="{t}Delete{/t}">
</a>&nbsp;
<a href="webftp.php?action=rename&amp;op=show&amp;file={$myDir.name}&currentDir={$currentDir}">
<img src="templates/{$theme}/assets/img/icons/rename_20.png" border="0" alt="{t}Rename{/t}">
</a><br />
<small>{t}Symbolic link to{/t}: {$myDir.target}</small>
</td>
</tr>

View File

@@ -1,30 +1,35 @@
<table cellpadding="0" cellspacing="0">
<tr>
<td colspan="10" align="left">{t}Selected file(s){/t}:</td>
</tr>
<tr>
<td colspan="10" align="left">
<input type="radio" name="op" value="delete" />{t}Delete{/t}
</td>
</tr>
<tr>
<td colspan="10" align="left">
<input name="op" type="radio" value="chmod" />
<input type="text" name="chmod" value="755" maxlength="3" size="5" />{t}Change permission to{/t}
</td>
</tr>
<tr>
<td colspan="10" align="left">
<input name="op" type="radio" value="move" checked="checked" />
<input name="move_to" type="text" id="move_to" value="{$currentDir}" size="30" />{t}Move to{/t}
</td>
</tr>
<tr>
<td colspan="10" align="left">
<input type="submit" name="submit" value="{t}Do it{/t}" />
</td>
</tr>
</table>
</form>
</section>
<section class="dboarditemfull bradiusodd">
<table cellpadding="0" cellspacing="0">
<thead>
<tr>
<th colspan="10" align="left">{t}Selected file(s){/t}:</th>
</tr>
</thead>
<tr>
<td colspan="10" align="left">
<input type="radio" name="op" value="delete" />{t}Delete{/t}
</td>
</tr>
<tr>
<td colspan="10" align="left">
<input name="op" type="radio" value="chmod" />
{t}Change permission to{/t}<input type="text" name="chmod" value="755" maxlength="3" size="5" />
</td>
</tr>
<tr>
<td colspan="10" align="left">
<input name="op" type="radio" value="move" checked="checked" />
{t}Move to{/t}<input name="move_to" type="text" id="move_to" value="{$currentDir}" size="30" />
</td>
</tr>
<tfoot>
<tr>
<td colspan="10" align="left">
<input type="submit" name="submit" value="{t}Do it{/t}" />
</td>
</tr>
</tfoot>
</table>
</form>
</section>
</article>

View File

@@ -1,26 +1,26 @@
<style type="text/css">
<!--
.Stil1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
<table cellpadding="0" cellspacing="0">
<tr>
<td colspan="10" align="left"><span class="Stil1">{$action_text|escape:'htmlall'|nl2br}</span></td>
</tr>
<tr>
<td colspan="10" align="left">
&nbsp;<input type="hidden" name="chmod" value="{$chmod}" />
<input type="hidden" name="move_to" value="{$move_to}" />
<input type="hidden" name="action" value="multiple">
<input type="hidden" name="op" value="{$op}" />
</td>
</tr>
<tr>
<td colspan="10" align="left"><input type="submit" name="yes" value="{t}Yes{/t}"><input type="submit" name="no" value="{t}No{/t}"></td>
</tr>
</tr>
</table>
</form>
<style type="text/css">
<!--
.Stil1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
<table cellpadding="0" cellspacing="0" class="bradius">
<tr>
<td colspan="10" align="left"><span class="Stil1">{$action_text|escape:'htmlall'|nl2br}</span></td>
</tr>
<tr>
<td colspan="10" align="left">
&nbsp;<input type="hidden" name="chmod" value="{$chmod}" />
<input type="hidden" name="move_to" value="{$move_to}" />
<input type="hidden" name="action" value="multiple">
<input type="hidden" name="op" value="{$op}" />
</td>
</tr>
<tr>
<td colspan="10" align="left"><input type="submit" name="yes" value="{t}Yes{/t}"><input type="submit" name="no" value="{t}No{/t}"></td>
</tr>
</tr>
</table>
</form>

View File

@@ -1,20 +1,19 @@
<table border="0" cellspacing="2" cellpadding="2">
<form name="rename" method="post" action="webftp.php">
<tr>
<td>
<input type="hidden" name="op" value="do" />
<input type="hidden" name="action" value="rename" />
<input type="hidden" name="file" value="{$file}" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
{$rename_text}
</td>
<td>
<input type="text" name="file2" value="{$file}" />
</td>
<td>
<input type="submit" name="submit" value="{t}Rename / Move{/t}">
</td>
</tr>
</form>
</table>
<hr />
<table border="0" cellspacing="2" cellpadding="2" class="bradius">
<form name="rename" method="post" action="webftp.php">
<tr>
<td>
<input type="hidden" name="op" value="do" />
<input type="hidden" name="action" value="rename" />
<input type="hidden" name="file" value="{$file}" />
<input type="hidden" name="currentDir" value="{$currentDir}" />
{$rename_text}
</td>
<td>
<input type="text" name="file2" value="{$file}" />
</td>
<td>
<input type="submit" name="submit" value="{t}Rename / Move{/t}">
</td>
</tr>
</form>
</table>

View File

@@ -62,62 +62,71 @@ if(isset( $_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off' ))
header('X-Content-Type-Options: nosniff' );
// ensure that default timezone is set
if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
{
if (function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get")) {
@date_default_timezone_set(@date_default_timezone_get());
}
// Load the database - connection parameters
if(!file_exists('./lib/userdata.inc.php'))
{
$config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl');
define('FROXLOR_INSTALL_DIR', dirname(__FILE__));
$_deftheme = 'Sparkle';
// check whether the userdata file exists
if (!file_exists(FROXLOR_INSTALL_DIR.'/lib/userdata.inc.php')) {
$config_hint = file_get_contents(FROXLOR_INSTALL_DIR.'/templates/'.$_deftheme.'/misc/configurehint.tpl');
die($config_hint);
}
if(!is_readable('./lib/userdata.inc.php'))
{
die('You have to make the file "./lib/userdata.inc.php" readable for the http-process!');
// check whether we can read the userdata file
if (!is_readable(FROXLOR_INSTALL_DIR.'/lib/userdata.inc.php')) {
// get possible owner
$posixusername = posix_getpwuid(posix_getuid());
$posixgroup = posix_getgrgid(posix_getgid());
// get hint-template
$owner_hint = file_get_contents(FROXLOR_INSTALL_DIR.'/templates/'.$_deftheme.'/misc/ownershiphint.tpl');
// replace values
$owner_hint = str_replace("<USER>", $posixusername['name'], $owner_hint);
$owner_hint = str_replace("<GROUP>", $posixgroup['name'], $owner_hint);
$owner_hint = str_replace("<FROXLOR_INSTALL_DIR>", FROXLOR_INSTALL_DIR, $owner_hint);
// show
die($owner_hint);
}
require ('./lib/userdata.inc.php');
require (FROXLOR_INSTALL_DIR.'/lib/userdata.inc.php');
if(!isset($sql) || !is_array($sql))
{
$config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl');
if (!isset($sql)
|| !is_array($sql)
) {
$config_hint = file_get_contents(FROXLOR_INSTALL_DIR.'/templates/'.$_deftheme.'/misc/configurehint.tpl');
die($config_hint);
}
if(!function_exists("ftp_connect"))
{
if (!function_exists("ftp_connect")) {
die('No FTP support');
}
// Create the database - connection
$db = new mysqli($sql['host'], $sql['user'], $sql['password'], $sql['db']);
unset($sql);
if ($db->connect_error)
{
die('Connect Error (' . $db->connect_errno . ') ' . $db->connect_error);
if ($db->connect_error) {
// output a nicer error-message
$err_hint = file_get_contents(FROXLOR_INSTALL_DIR.'/templates/'.$_deftheme.'/misc/dberrornice.tpl');
// replace values
$err_hint = str_replace("<TEXT>", 'Connect Error (' . $db->connect_errno . ')', $err_hint);
$err_hint = str_replace("<DEBUG>", $db->connect_error, $err_hint);
// show
die($err_hint);
}
$settings = array();
/*
// Let's get the theme we need
if ($result = $db->query("SELECT `value` FROM `panel_settings` WHERE `varname` = 'default_theme'"))
{
if ($result = $db->query("SELECT `value` FROM `panel_settings` WHERE `varname` = 'default_theme'")) {
list($settings['panel']['default_theme']) = $result->fetch_array();
} else {
// Default will be Sparkle
$settings['panel']['default_theme'] = 'Sparkle';
}
else
{
// Default will be Froxlor ;)
$settings['panel']['default_theme'] = 'Froxlor';
}
*/
// Until we have other themes: enforce the Froxlor - layout
$settings['panel']['default_theme'] = 'Froxlor';
// Initialize Smarty
include('./lib/classes/Smarty/Smarty.class.php');
include(FROXLOR_INSTALL_DIR.'/lib/classes/Smarty/Smarty.class.php');
$smarty = new Smarty;
$smarty->template_dir = './templates/' . $settings['panel']['default_theme'] . '/';
@@ -125,14 +134,14 @@ $smarty->compile_dir = './templates_c/';
$smarty->cache_dir = './cache/';
// Set the language
require('./lib/classes/output/class.languageSelect.php');
require(FROXLOR_INSTALL_DIR.'/lib/classes/output/class.languageSelect.php');
$language = new languageSelect();
$language->useBrowser = true;
$language->setLanguage();
// Activate gettext for smarty;
define('HAVE_GETTEXT', true);
require ('./lib/functions/smarty_plugins/gettext-prefilter.php');
require (FROXLOR_INSTALL_DIR.'/lib/functions/smarty_plugins/gettext-prefilter.php');
$settings['admin']['show_version_login'] = 0;
if ($result = $db->query("SELECT `value` FROM `panel_settings` WHERE `settinggroup` = 'admin' AND `varname` = 'show_version_login'"))
@@ -155,20 +164,15 @@ if ($result = $db->query("SELECT `value` FROM `panel_settings` WHERE `settinggro
list($settings['panel']['use_webfonts']) = $result->fetch_array();
}
// We don't need the database anymore
$db->close();
unset($db);
// global Theme-variable
$theme = isset($settings['panel']['default_theme']) ? $settings['panel']['default_theme'] : 'Froxlor';
$theme = $settings['panel']['default_theme'];
// overwrite with customer/admin theme if defined
if(isset($userinfo['theme']) && $userinfo['theme'] != $theme)
{
if (isset($userinfo['theme']) && $userinfo['theme'] != $theme) {
$theme = $userinfo['theme'];
}
@@ -176,7 +180,7 @@ if(isset($userinfo['theme']) && $userinfo['theme'] != $theme)
$hl_path = 'templates/'.$theme.'/assets/img';
$header_logo = $hl_path.'/logo.png';
if(file_exists($hl_path.'/logo_custom.png')) {
if (file_exists($hl_path.'/logo_custom.png')) {
$header_logo = $hl_path.'/logo_custom.png';
}