diff --git a/admin_clients.php b/admin_clients.php index b517ffcd..f8380538 100644 --- a/admin_clients.php +++ b/admin_clients.php @@ -97,9 +97,12 @@ if((int)$settings['multiserver']['enabled'] == 1) } } + /** + * edit client-base data like name and description + */ elseif($action == 'edit' - && $id != 0) - { + && $id != 0 + ) { $client = froxlorclient::getInstance($userinfo, $db, $settings, $id); if(isset($_POST['send']) @@ -112,5 +115,24 @@ if((int)$settings['multiserver']['enabled'] == 1) } } + /** + * edit client settings + */ + elseif($action == 'settings' + && $id != 0 + ) { + $client = froxlorclient::getInstance($userinfo, $db, $settings, $id); + + $settings_data = $client->getSettingsData(); + $settings = $client->getSettingsArray(); + + if(isset($_POST['send']) + && $_POST['send'] == 'send') + { + } + else + { + } + } } } diff --git a/install/froxlor.sql b/install/froxlor.sql index 5477286e..59a5d262 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -466,7 +466,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.14-svn8'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.14-svn9'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900'); @@ -1102,7 +1102,7 @@ DROP TABLE IF EXISTS `froxlor_clients`; CREATE TABLE IF NOT EXISTS `froxlor_clients` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, - `ip` varchar(39) NOT NULL default '', + `desc` text NOT NULL default '', `enabled` tinyint(1) DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=MyISAM; diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index 9a0396f1..a45e7cb8 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -1285,3 +1285,15 @@ if(isFroxlorVersion('0.9.14-svn7')) updateToVersion('0.9.14-svn8'); } + +if(isFroxlorVersion('0.9.14-svn8')) +{ + showUpdateStep("Updating from 0.9.14-svn8 to 0.9.14-svn9", false); + + showUpdateStep("Updating table 'froxlor_clients'"); + $db->query("ALTER TABLE `".TABLE_FROXLOR_CLIENTS."` DROP `ip`;"); + $db->query("ALTER TABLE `".TABLE_FROXLOR_CLIENTS."` ADD `desc` text NOT NULL default '' AFTER `id`;"); + lastStepStatus(0); + + updateToVersion('0.9.14-svn9'); +} diff --git a/lib/classes/froxlorclient/class.froxlorclient.php b/lib/classes/froxlorclient/class.froxlorclient.php index 02bae35b..057545f4 100644 --- a/lib/classes/froxlorclient/class.froxlorclient.php +++ b/lib/classes/froxlorclient/class.froxlorclient.php @@ -52,6 +52,12 @@ class froxlorclient */ private $c_data = array(); + /** + * Client Settings_Data Array + * @var s_data + */ + private $s_data = array(); + /** * Client-Object-Array * @var clients @@ -154,7 +160,7 @@ class froxlorclient `" . TABLE_FROXLOR_CLIENTS . "` SET `name` = '" . $this->db->escape($this->Get('name')) . "', - `ip` = '" . $this->db->escape($this->Get('ip')) . "', + `desc` = '" . $this->db->escape($this->Get('desc')) . "', `enabled` = '" . (int)$this->Get('enabled') . "' WHERE `id` = '" . (int)$this->cid . "'; @@ -194,6 +200,24 @@ class froxlorclient return true; } + /** + * return the complete client-settings array + * for the settings page + */ + public function getSettingsArray() + { + return $this->Get('settings'); + } + + /** + * return the complete client-settings-data array + * for the settings page + */ + public function getSettingsData() + { + return $this->s_data; + } + /** * get a value from the internal data array * @@ -338,11 +362,11 @@ class froxlorclient && $this->cid != - 1 ) { $spath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__))))); - $settings_data = loadConfigArrayDir( + $this->s_data = loadConfigArrayDir( makeCorrectDir($spath.'/actions/admin/settings/'), makeCorrectDir($spath.'/actions/multiserver/clientsettings/') ); - $settings = loadSettings($settings_data, $db, $this->cid); + $settings = loadSettings($this->s_data, $db, $this->cid); foreach($settings as $group => $fv) { diff --git a/lib/functions/settings/function.saveSetting.php b/lib/functions/settings/function.saveSetting.php index fe42f5d2..1d442c87 100644 --- a/lib/functions/settings/function.saveSetting.php +++ b/lib/functions/settings/function.saveSetting.php @@ -20,9 +20,6 @@ function saveSetting($settinggroup, $varname, $newvalue) { global $db; - - // multi-server-support, get the destination server id (master = 0) - $server_id = getServerId(); $query = 'UPDATE `' . TABLE_PANEL_SETTINGS . '` @@ -31,8 +28,13 @@ function saveSetting($settinggroup, $varname, $newvalue) WHERE `settinggroup` = \'' . $db->escape($settinggroup) . '\' AND - `varname`=\'' . $db->escape($varname) . '\' + `varname`=\'' . $db->escape($varname) . '\' '; + /* + * + * @TODO for multiserver + * AND `sid`=\''. (int)$server_id . '\' '; + */ return $db->query($query); } diff --git a/lib/tables.inc.php b/lib/tables.inc.php index edfa0c8c..00bf7a68 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -72,7 +72,7 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.14-svn8'; +$version = '0.9.14-svn9'; $dbversion = '2'; $branding = '';