ftimme
2013-02-21 419403a8957857d5a438860624bf71deed471a58
- Fixed FS#2617 - Limit for APS packages missing in client limits.
1 files added
17 files modified
105 ■■■■■ changed files
install/sql/incremental/upd_0048.sql 1 ●●●● patch | view | raw | blame | history
install/sql/ispconfig3.sql 2 ●●● patch | view | raw | blame | history
interface/web/client/form/client.tform.php 14 ●●●●● patch | view | raw | blame | history
interface/web/client/form/client_template.tform.php 14 ●●●●● patch | view | raw | blame | history
interface/web/client/form/reseller.tform.php 14 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_client.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_client_template.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_reseller.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_client.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_client_template.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_reseller.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/client_edit_limits.htm 7 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/client_template_edit_limits.htm 7 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/reseller_edit_limits.htm 7 ●●●●● patch | view | raw | blame | history
interface/web/sites/aps_install_package.php 15 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_aps.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_aps.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/module.conf.php 4 ●●● patch | view | raw | blame | history
install/sql/incremental/upd_0048.sql
New file
@@ -0,0 +1 @@
ALTER TABLE `client` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1';
install/sql/ispconfig3.sql
@@ -201,7 +201,7 @@
  `limit_shell_user` int(11) NOT NULL DEFAULT '0',
  `ssh_chroot` varchar(255) NOT NULL DEFAULT 'no,jailkit,ssh-chroot',
  `limit_webdav_user` int(11) NOT NULL DEFAULT '0',
  `limit_aps` int(11) NOT NULL DEFAULT '0',
  `limit_aps` int(11) NOT NULL DEFAULT '-1',
  `default_dnsserver` int(11) unsigned NOT NULL DEFAULT '1',
  `limit_dns_zone` int(11) NOT NULL DEFAULT '-1',
  `limit_dns_slave_zone` int(11) NOT NULL DEFAULT '-1',
interface/web/client/form/client.tform.php
@@ -1039,6 +1039,20 @@
                                     ),
            'value'        => array(0 => ' ')
        ),
        'limit_aps' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'ISINT',
                                                        'errmsg'=> 'limit_aps_error_notint'),
                                    ),
            'default'    => '-1',
            'value'        => '',
            'separator'    => '',
            'width'        => '10',
            'maxlength'    => '10',
            'rows'        => '',
            'cols'        => ''
        ),
    ##################################
    # END Datatable fields
    ##################################
interface/web/client/form/client_template.tform.php
@@ -616,6 +616,20 @@
                                     ),
            'value'        => array(0 => ' ')
        ),
        'limit_aps' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'ISINT',
                                                        'errmsg'=> 'limit_aps_error_notint'),
                                    ),
            'default'    => '-1',
            'value'        => '',
            'separator'    => '',
            'width'        => '10',
            'maxlength'    => '10',
            'rows'        => '',
            'cols'        => ''
        ),
    ##################################
    # END Datatable fields
    ##################################
interface/web/client/form/reseller.tform.php
@@ -1037,6 +1037,20 @@
                                     ),
            'value'        => array(0 => ' ')
        ),
        'limit_aps' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'ISINT',
                                                        'errmsg'=> 'limit_aps_error_notint'),
                                    ),
            'default'    => '-1',
            'value'        => '',
            'separator'    => '',
            'width'        => '10',
            'maxlength'    => '10',
            'rows'        => '',
            'cols'        => ''
        ),
    ##################################
    # END Datatable fields
    ##################################
interface/web/client/lib/lang/de_client.lng
@@ -140,4 +140,7 @@
$wb['paypal_email_error_isemail'] = 'Bitte geben Sie eine gültige PayPal E-Mail Adresse an.';
$wb['paypal_email_txt'] = 'PayPal E-Mail';
$wb['err_msg_master_tpl_set'] = 'Die hier eingestellten Werte werden ignoriert, wenn als Mastervorlage nicht  \'Custon\' ausgewählt ist!';
$wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
?>
interface/web/client/lib/lang/de_client_template.lng
@@ -84,4 +84,7 @@
$wb['cron_job_limits_txt'] = 'Cronjob Limits';
$wb['dns_limits_txt'] = 'DNS Limits';
$wb['virtualization_limits_txt'] = 'Virtualisierungs Limits';
$wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
?>
interface/web/client/lib/lang/de_reseller.lng
@@ -139,4 +139,7 @@
$wb['bank_name_txt'] = 'Bank';
$wb['bank_account_iban_txt'] = 'IBAN';
$wb['bank_account_swift_txt'] = 'BIC';
$wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
?>
interface/web/client/lib/lang/en_client.lng
@@ -143,4 +143,7 @@
$wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
$wb['paypal_email_txt'] = 'PayPal Email';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.';
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
?>
interface/web/client/lib/lang/en_client_template.lng
@@ -85,4 +85,7 @@
$wb["cron_job_limits_txt"] = 'Cron Job Limits';
$wb["dns_limits_txt"] = 'DNS Limits';
$wb["virtualization_limits_txt"] = 'Virtualization Limits';
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
?>
interface/web/client/lib/lang/en_reseller.lng
@@ -141,4 +141,7 @@
$wb["bank_name_txt"] = 'Bank name';
$wb["bank_account_iban_txt"] = 'IBAN';
$wb["bank_account_swift_txt"] = 'BIC / Swift';
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
?>
interface/web/client/templates/client_edit_limits.htm
@@ -278,6 +278,13 @@
                    </select>
                </div>
            </div>
            <div class="subsectiontoggle"><span></span>{tmpl_var name='aps_limits_txt'}<em></em></div>
            <div style="display:none;">
                <div class="ctrlHolder">
                    <label for="limit_aps">{tmpl_var name='limit_aps_txt'}</label>
                    <input name="limit_aps" id="limit_aps" value="{tmpl_var name='limit_aps'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
                </div>
            </div>
        </fieldset>
        <input type="hidden" name="id" value="{tmpl_var name='id'}">
interface/web/client/templates/client_template_edit_limits.htm
@@ -217,6 +217,13 @@
                    </select>
                </div>
            </div>
            <div class="subsectiontoggle"><span></span>{tmpl_var name='aps_limits_txt'}<em></em></div>
            <div style="display:none;">
                <div class="ctrlHolder">
                    <label for="limit_aps">{tmpl_var name='limit_aps_txt'}</label>
                    <input name="limit_aps" id="limit_aps" value="{tmpl_var name='limit_aps'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
                </div>
            </div>
        </fieldset>
        <input type="hidden" name="id" value="{tmpl_var name='id'}">
interface/web/client/templates/reseller_edit_limits.htm
@@ -266,6 +266,13 @@
                    </select>
                </div>
            </div>
            <div class="subsectiontoggle"><span></span>{tmpl_var name='aps_limits_txt'}<em></em></div>
            <div style="display:none;">
                <div class="ctrlHolder">
                    <label for="limit_aps">{tmpl_var name='limit_aps_txt'}</label>
                    <input name="limit_aps" id="limit_aps" value="{tmpl_var name='limit_aps'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
                </div>
            </div>
        </fieldset>
        <input type="hidden" name="id" value="{tmpl_var name='id'}">
interface/web/sites/aps_install_package.php
@@ -37,7 +37,7 @@
$app->auth->check_module_permissions('sites');
// Load needed classes
$app->uses('tpl');
$app->uses('tpl,tform');
$app->tpl->newTemplate("form.tpl.htm");
$app->tpl->setInclude('content_tpl', 'templates/aps_install_package.htm');
@@ -47,6 +47,19 @@
$app->tpl->setVar($wb);
$app->load_language_file('web/sites/'.$lngfile);
// we will check only users, not admins
if($_SESSION["s"]["user"]["typ"] == 'user') {
    $app->tform->formDef['db_table_idx'] = 'client_id';
    $app->tform->formDef['db_table'] = 'client';
    if(!$app->tform->checkClientLimit('limit_aps')) {
        $app->error($app->lng("limit_aps_txt"));
    }
    if(!$app->tform->checkResellerLimit('limit_aps')) {
        $app->error('Reseller: '.$wb["limit_aps_txt"]);
    }
}
$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false;
$gui = new ApsGUIController($app);
$pkg_id = (isset($_GET['id'])) ? $app->db->quote($_GET['id']) : '';
interface/web/sites/lib/lang/de_aps.lng
@@ -54,4 +54,5 @@
$wb['installation_success_txt'] = 'Installiert';
$wb['installation_remove_txt'] = 'Deinstallation vorgemerkt';
$wb['packagelist_update_finished_txt'] = 'APS Paketlistenupdate beendet.';
$wb["limit_aps_txt"] = 'Die maximale Anzahl an APS-Instanzen für Ihr Konto wurde erreicht.';
?>
interface/web/sites/lib/lang/en_aps.lng
@@ -54,4 +54,5 @@
$wb['installation_success_txt'] = 'Installed';
$wb['installation_remove_txt'] = 'Removal planned';
$wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.';
$wb["limit_aps_txt"] = 'The max. number of APS instances for your account is reached.';
?>
interface/web/sites/lib/module.conf.php
@@ -132,6 +132,8 @@
}
// APS menu
if($app->auth->get_client_limit($userid,'aps') != 0)
{
$items = array();
$items[] = array(   'title'   => 'Available packages',
@@ -157,7 +159,7 @@
$module['nav'][] = array(   'title' => 'APS Installer',
                            'open'  => 1,
                            'items' => $items);
}
// Statistics menu
$items = array();