- added limitation for autoresponder, fixes #377

refs #377
This commit is contained in:
Michael Kaufmann (d00p)
2010-09-20 07:56:32 +00:00
parent 7676acf1f2
commit 29d54671d3
26 changed files with 324 additions and 25 deletions

View File

@@ -164,6 +164,8 @@ CREATE TABLE `panel_admins` (
`can_manage_aps_packages` tinyint(1) NOT NULL default '1',
`aps_packages` int(5) NOT NULL default '0',
`aps_packages_used` int(5) NOT NULL default '0',
`email_autoresponder` int(5) NOT NULL default '0',
`email_autoresponder_used` int(5) NOT NULL default '0',
PRIMARY KEY (`adminid`),
UNIQUE KEY `loginname` (`loginname`)
) TYPE=MyISAM ;
@@ -228,6 +230,8 @@ CREATE TABLE `panel_customers` (
`aps_packages` int(5) NOT NULL default '0',
`aps_packages_used` int(5) NOT NULL default '0',
`perlenabled` tinyint(1) NOT NULL default '0',
`email_autoresponder` int(5) NOT NULL default '0',
`email_autoresponder_used` int(5) NOT NULL default '0',
PRIMARY KEY (`customerid`),
UNIQUE KEY `loginname` (`loginname`)
) TYPE=MyISAM ;
@@ -456,7 +460,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.12');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.13-svn1');
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');

View File

@@ -730,7 +730,10 @@ if(isset($_POST['installstep'])
`traffic` = -1048576,
`traffic_used` = 0,
`deactivated` = 0,
`aps_packages` = -1");
`aps_packages` = -1,
`aps_packages_used` = 0,
`email_autoresponder` = -1,
`email_autoresponder_used` = 0");
status_message('green', 'OK');
//now we create the userdata.inc.php with the mysql-accounts

View File

@@ -1027,3 +1027,40 @@ if(isFroxlorVersion('0.9.12-svn6'))
updateToVersion('0.9.12');
}
if(isFroxlorVersion('0.9.12'))
{
showUpdateStep("Updating from 0.9.12 to 0.9.13-svn1", false);
showUpdateStep("Adding new fields to admin-table");
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `aps_packages_used`;");
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
lastStepStatus(0);
showUpdateStep("Adding new fields to customer-table");
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `perlenabled`;");
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
lastStepStatus(0);
if((int)$settings['autoresponder']['autoresponder_active'] == 1)
{
$update_autoresponder_default = isset($_POST['update_autoresponder_default']) ? intval_ressource($_POST['update_autoresponder_default']) : 0;
if(isset($_POST['update_autoresponder_default_ul'])) {
$update_autoresponder_default = -1;
}
}
else
{
$update_autoresponder_default = 0;
}
showUpdateStep("Setting default amount of autoresponders");
// admin gets unlimited
$db->query("UPDATE `".TABLE_PANEL_ADMINS."` SET `email_autoresponder`='-1' WHERE `adminid` = '".(int)$userinfo['adminid']."'");
// customers
$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `email_autoresponder`='".(int)$update_autoresponder_default."' WHERE `deactivated` = '0'");
lastStepStatus(0);
updateToVersion('0.9.13-svn1');
}

View File

@@ -279,4 +279,16 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
}
}
if(versionInUpdate($current_version, '0.9.13-svn1'))
{
if((int)$settings['autoresponder']['autoresponder_active'] == 1)
{
$has_preconfig = true;
$description = 'Froxlor can now limit the number of autoresponder-entries for each user. Here you can set the value which will be available for each customer (Of course you can change the value for each customer separately after the update).';
$question = '<strong>How many autoresponders should your customers be able to add?:</strong>&nbsp;';
$question.= '<input type="text" class="text" name="update_autoresponder_default" value="0" />&nbsp;'.makecheckbox('update_autoresponder_default', $lng['customer']['unlimited'], '-1', false, 0, true, true).'<br />';
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
}
}
}