ftimme
2012-11-29 06edfd868603bb622ec17d609214f4b680f8e011
- Added options to disable combobox and load indicator in Interface Config (default is on).
- Bugfix: sys.ini and server.ini: if checkbox is not checked, write default value from tform file into database.
9 files modified
131 ■■■■ changed files
install/tpl/system.ini.master 4 ●●●● patch | view | raw | blame | history
interface/web/admin/form/system_config.tform.php 12 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/de_system_config.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_system_config.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/server_config_edit.php 10 ●●●●● patch | view | raw | blame | history
interface/web/admin/system_config_edit.php 10 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_misc_edit.htm 12 ●●●●● patch | view | raw | blame | history
interface/web/js/scrigo.js.php 60 ●●●●● patch | view | raw | blame | history
interface/web/sites/ajax_get_json.php 20 ●●●●● patch | view | raw | blame | history
install/tpl/system.ini.master
@@ -34,4 +34,8 @@
dashboard_atom_url_reseller=http://www.ispconfig.org/atom
dashboard_atom_url_client=http://www.ispconfig.org/atom
monitor_key=
tab_change_discard=n
tab_change_warning=n
use_loadindicator=y
use_combobox=y
maintenance_mode=n
interface/web/admin/form/system_config.tform.php
@@ -384,6 +384,18 @@
            'default'    => 'n',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'use_loadindicator' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
            'default'    => 'y',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'use_combobox' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
            'default'    => 'y',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'maintenance_mode' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
interface/web/admin/lib/lang/de_system_config.lng
@@ -41,4 +41,6 @@
$wb['smtp_user_txt'] = 'SMTP Benutzer';
$wb['smtp_pass_txt'] = 'SMTP Passwort';
$wb['smtp_crypt_txt'] = 'SSL/TLS verschlüsselte Verbindung für SMTP';
$wb['use_combobox_txt'] = 'jQuery UI Combobox benutzen';
$wb['use_loadindicator_txt'] = 'Laden-Grafik anzeigen';
?>
interface/web/admin/lib/lang/en_system_config.lng
@@ -42,4 +42,5 @@
$wb['smtp_pass_txt'] = 'SMTP password';
$wb['smtp_crypt_txt'] = 'Use SSL/TLS encrypted connection for SMTP';
$wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
$wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
?>
interface/web/admin/server_config_edit.php
@@ -81,6 +81,16 @@
            $server_id = $this->id;
        
            $server_config_array = $app->getconf->get_server_config($server_id);
            foreach($app->tform->formDef['tabs'][$section]['fields'] as $key => $field) {
                if ($field['formtype'] == 'CHECKBOX') {
                    if($this->dataRecord[$key] == '') {
                        // if a checkbox is not set, we set it to the unchecked value
                        $this->dataRecord[$key] = $field['value'][0];
                    }
                }
            }
            $server_config_array[$section] = $app->tform->encode($this->dataRecord,$section);
            $server_config_str = $app->ini_parser->get_ini_string($server_config_array);
        
interface/web/admin/system_config_edit.php
@@ -105,6 +105,16 @@
        $section = $app->tform->getCurrentTab();
        
        $server_config_array = $app->getconf->get_global_config();
        foreach($app->tform->formDef['tabs'][$section]['fields'] as $key => $field) {
            if ($field['formtype'] == 'CHECKBOX') {
                if($this->dataRecord[$key] == '') {
                    // if a checkbox is not set, we set it to the unchecked value
                    $this->dataRecord[$key] = $field['value'][0];
                }
            }
        }
        $new_config = $app->tform->encode($this->dataRecord,$section);
        if($section == 'sites' && $new_config['vhost_subdomains'] != 'y' && $server_config_array['vhost_subdomains'] == 'y') {
            // check for existing vhost subdomains, if found the mode cannot be disabled
interface/web/admin/templates/system_config_misc_edit.htm
@@ -33,6 +33,18 @@
                    {tmpl_var name='tab_change_warning'}<br/>{tmpl_var name='tab_change_warning_note_txt'}
                </div>
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='use_loadindicator_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='use_loadindicator'}
                </div>
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='use_combobox_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='use_combobox'}
                </div>
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='maintenance_mode_txt'}</p>
                <div class="multiField">
interface/web/js/scrigo.js.php
@@ -24,38 +24,50 @@
}
function showLoadIndicator() {
    requestsRunning += 1;
    jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {type : "get_use_loadindicator"}, function(data) {
        if(data.useloadindicator == "y"){
            requestsRunning += 1;
    
    if(requestsRunning < 2) {
        var indicator = jQuery('#ajaxloader');
        if(indicator.length < 1) {
            indicator = jQuery('<div id="ajaxloader" style="display: none;"></div>');
            indicator.appendTo('body');
        }
        var parent = jQuery('#content');
        if(parent.length < 1) return;
        indicatorCompleted = false;
            if(requestsRunning < 2) {
                var indicator = jQuery('#ajaxloader');
                if(indicator.length < 1) {
                    indicator = jQuery('<div id="ajaxloader" style="display: none;"></div>');
                    indicator.appendTo('body');
                }
                var parent = jQuery('#content');
                if(parent.length < 1) return;
                indicatorCompleted = false;
        
        var atx = parent.offset().left + 150; //((parent.outerWidth(true) - indicator.outerWidth(true)) / 2);
        var aty = parent.offset().top + 150;
        indicator.css( {'left': atx, 'top': aty } ).fadeIn('fast', function() {
            // check if loader should be hidden immediately
            indicatorCompleted = true;
            if(requestsRunning < 1) $(this).fadeOut('fast', function() { $(this).hide();});
        });
    }
                var atx = parent.offset().left + 150; //((parent.outerWidth(true) - indicator.outerWidth(true)) / 2);
                var aty = parent.offset().top + 150;
                indicator.css( {'left': atx, 'top': aty } ).fadeIn('fast', function() {
                    // check if loader should be hidden immediately
                    indicatorCompleted = true;
                    if(requestsRunning < 1) $(this).fadeOut('fast', function() { $(this).hide();});
                });
            }
        }
    });
}
function hideLoadIndicator() {
    requestsRunning -= 1;
    if(requestsRunning < 1) {
        requestsRunning = 0; // just for the case...
        if(indicatorCompleted == true) jQuery('#ajaxloader').fadeOut('fast', function() { jQuery('#ajaxloader').hide(); } );
    }
    jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {type : "get_use_loadindicator"}, function(data) {
        if(data.useloadindicator == "y"){
            requestsRunning -= 1;
            if(requestsRunning < 1) {
                requestsRunning = 0; // just for the case...
                if(indicatorCompleted == true) jQuery('#ajaxloader').fadeOut('fast', function() { jQuery('#ajaxloader').hide(); } );
            }
        }
    });
}
function onAfterContentLoad() {
    $('#pageContent').find("select").combobox();
    jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {type : "get_use_combobox"}, function(data) {
        if(data.usecombobox == "y"){
            $('#pageContent').find("select").combobox();
        }
    });
}
function loadContentRefresh(pagename) {
interface/web/sites/ajax_get_json.php
@@ -148,6 +148,26 @@
        if(substr($json,-1) == ',') $json = substr($json,0,-1);
        $json .= '}';
    }
    if($type == 'get_use_combobox'){
        $json = '{"usecombobox":"';
        $use_combobox = 'y';
        $server_config_array = $app->getconf->get_global_config();
        if($server_config_array['misc']['use_combobox'] != 'y') $use_combobox = 'n';
        $json .= $use_combobox;
        unset($server_config_array);
        $json .= '"}';
    }
    if($type == 'get_use_loadindicator'){
        $json = '{"useloadindicator":"';
        $use_loadindicator = 'y';
        $server_config_array = $app->getconf->get_global_config();
        if($server_config_array['misc']['use_loadindicator'] != 'y') $use_loadindicator = 'n';
        $json .= $use_loadindicator;
        unset($server_config_array);
        $json .= '"}';
    }
//}