mcramer
2012-08-24 73ec6bfbfbfb5a03162777632a77c05093d92549
Fixed theme paths
Implemented: FS#2388 - Optional confirm window on changing tabs

10 files modified
92 ■■■■■ changed files
interface/lib/lang/de.lng 2 ●●●●● patch | view | raw | blame | history
interface/lib/lang/en.lng 2 ●●●●● 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 3 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_system_config.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_misc_edit.htm 12 ●●●●● patch | view | raw | blame | history
interface/web/index.php 15 ●●●●● patch | view | raw | blame | history
interface/web/js/scrigo.js.php 37 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/templates/main.tpl.htm 2 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/templates/tabbed_form.tpl.htm 4 ●●●● patch | view | raw | blame | history
interface/lib/lang/de.lng
@@ -77,4 +77,6 @@
$wb['globalsearch_noresults_limit_txt'] = '0 Treffer';
$wb['globalsearch_searchfield_watermark_txt'] = 'Suche';
$wb['globalsearch_suggestions_text_txt'] = 'Vorschläge';
$wb['global_tabchange_warning_txt'] = 'Die Eingaben in diesem Tab werden gespeichert, wenn Sie OK klicken, bei Abbrechen werden die Änderungen verworfen.';
$wb['global_tabchange_discard_txt'] = 'Achtung, Sie haben ungespeicherte Änderungen in diesem Tab. Wenn Sie fortfahren werden die Änderungen verworfen.';
?>
interface/lib/lang/en.lng
@@ -77,4 +77,6 @@
$wb['globalsearch_noresults_limit_txt'] = "0 results";
$wb['globalsearch_searchfield_watermark_txt'] = "Search";
$wb['globalsearch_suggestions_text_txt'] = "Suggestions";
$wb['global_tabchange_warning_txt'] = 'Changed data in this tab will be changed if you press OK. On cancel they will be discarded.';
$wb['global_tabchange_discard_txt'] = 'You have unsaved changes in this tab. Changes will be discarded if you continue.';
?>
interface/web/admin/form/system_config.tform.php
@@ -334,6 +334,18 @@
            'default'    => '',
            'value'        => ''
        ),
        'tab_change_discard' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
            'default'    => 'n',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'tab_change_warning' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
            'default'    => 'n',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'maintenance_mode' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
interface/web/admin/lib/lang/de_system_config.lng
@@ -2,6 +2,9 @@
$wb['system_config_desc_txt'] = '';
$wb['smtp_missing_admin_mail_txt'] = 'Bitte geben Sie die Administrator E-Mail und den Namen ein, wenn Sie SMTP Versand nutzen wollen.';
$wb['warning'] = 'Bearbeiten Sie diese Werte sorgfältig! Entfernen Sie die Prefixe nicht auf Systemen mit mehr als einem Client.';
$wb['tab_change_warning_txt'] = 'Tab-Wechsel-Warnung';
$wb['tab_change_discard_txt'] = 'Verwerfe Änderungen bei Tab-Wechsel';
$wb['tab_change_warning_note_txt'] = 'Zeigt eine Warnung an, wenn der Tab in einem Formular gewechselt wird und Daten geändert wurden.';
$wb['dbname_prefix_txt'] = 'Datenbanknamen Prefix';
$wb['dbuser_prefix_txt'] = 'Datenbankbenutzer Prefix';
$wb['shelluser_prefix_txt'] = 'Shellbenutzer Prefix';
interface/web/admin/lib/lang/en_system_config.lng
@@ -5,6 +5,9 @@
$wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)';
$wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)';
$wb["warning"] = 'Edit these values carefully! Do not remove the prefixes on a systems with more then one client.';
$wb['tab_change_discard_txt'] = 'Discard changes on tab change';
$wb['tab_change_warning_txt'] = 'Tab change warning';
$wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data have been altered by the user.';
$wb["dbname_prefix_txt"] = 'Database name prefix';
$wb["dbuser_prefix_txt"] = 'Database user prefix';
$wb["shelluser_prefix_txt"] = 'Shell user prefix';
interface/web/admin/templates/system_config_misc_edit.htm
@@ -22,6 +22,18 @@
                <input name="monitor_key" id="monitor_key" value="{tmpl_var name='monitor_key'}" size="" maxlength="" type="text" class="textInput" />
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='tab_change_discard_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='tab_change_discard'}
                </div>
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='tab_change_warning_txt'}</p>
                <div class="multiField">
                    {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='maintenance_mode_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='maintenance_mode'}
interface/web/index.php
@@ -36,6 +36,21 @@
$app->uses('tpl');
$app->tpl->newTemplate('main.tpl.htm');
// tab change warning?
// read misc config
$app->uses('getconf');
$sys_config = $app->getconf->get_global_config('misc');
if($sys_config['tab_change_warning'] == 'y') {
    $app->tpl->setVar('tabchange_warning_enabled', 'y');
    $app->tpl->setVar('global_tabchange_warning_txt', $app->lng('global_tabchange_warning_txt'));
} else {
    $app->tpl->setVar('tabchange_warning_enabled', 'n');
}
$app->tpl->setVar('tabchange_discard_enabled', $sys_config['tab_change_discard']);
if($sys_config['tab_change_discard'] == 'y') {
    $app->tpl->setVar('global_tabchange_discard_txt', $app->lng('global_tabchange_discard_txt'));
}
$app->tpl_defaults();
$app->tpl->pparse();
?>
interface/web/js/scrigo.js.php
@@ -4,7 +4,11 @@
    $lang = (isset($_SESSION['s']['language']) && $_SESSION['s']['language'] != '')?$_SESSION['s']['language']:'en';
    include_once(ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$lang.'_strengthmeter.lng');
?>
var pageFormChanged = false;
var tabChangeWarningTxt = '';
var tabChangeDiscardTxt = '';
var tabChangeWarning = false;
var tabChangeDiscard = false;
redirect = '';
function reportError(request) {
@@ -24,6 +28,7 @@
                                            dataType: "html",
                                            success: function(data, textStatus, jqXHR) {
                                                jQuery('#pageContent').html(jqXHR.responseText);
                                                pageFormChanged = false;
                                            },
                                            error: function() {
                                                reportError('Ajax Request was not successful.'+pagename);
@@ -87,6 +92,7 @@
                                                    document.location.href = 'index.php';
                                                } else {
                                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                    pageFormChanged = false;
                                                }
                                                loadMenus();
                                            },
@@ -118,6 +124,7 @@
                                                    //window.setTimeout('loadContent(redirect)', 1000);
                                                } else {
                                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                    pageFormChanged = false;
                                                }
                                            },
                                            error: function(jqXHR, textStatus, errorThrown) {
@@ -150,6 +157,7 @@
                                                    //window.setTimeout('loadContent(redirect)', 1000);
                                                } else {
                                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                    pageFormChanged = false;
                                                }
                                            },
                                            error: function(jqXHR, textStatus, errorThrown) {
@@ -202,8 +210,10 @@
}
function loadContent(pagename) {
  var params = arguments[1];
  var pageContentObject2 = jQuery.ajax({    type: "GET", 
                                            url: pagename,
                                            data: (params ? params : null),
                                            dataType: "html",
                                            beforeSend: function() {
                                                jQuery('#pageContent').html('<div id="ajaxloader"><img src="themes/default/images/ajax-loader.gif" /></div>');
@@ -222,6 +232,7 @@
                                                    //jQuery.each(reponseScript, function(idx, val) { eval(val.text); } );
                                                    
                                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                    pageFormChanged = false;
                                                }
                                            },
                                            error: function() {
@@ -242,6 +253,7 @@
                                                    loadContent(parts[1]);
                                                } else {
                                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                    pageFormChanged = false;
                                                }
                                            },
                                            error: function() {
@@ -293,7 +305,28 @@
function changeTab(tab,target) {
    //document.forms[0].next_tab.value = tab;
    document.pageForm.next_tab.value = tab;
    submitForm('pageForm',target);
    var id = document.pageForm.id.value;
    if(tabChangeDiscard == 'y') {
        if(id && (pageFormChanged == false || window.confirm(tabChangeDiscardTxt))) {
            var next_tab = tab;
            loadContent(target, {'next_tab': next_tab, 'id': id});
        } else {
            return false;
        }
    } else {
        if(id && tabChangeWarning == 'y' && pageFormChanged == true) {
            if(window.confirm(tabChangeWarningTxt)) {
                submitForm('pageForm', target);
            } else {
                var next_tab = tab;
                var id = document.pageForm.id.value;
                loadContent(target, {'next_tab': next_tab, 'id': id});
            }
        } else {
            submitForm('pageForm',target);
        }
    }
}
    
function del_record(link,confirmation) {
interface/web/themes/default/templates/main.tpl.htm
@@ -44,8 +44,10 @@
                
                jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
                
                tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
                tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
                tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
                tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
            });
            
            
interface/web/themes/default/templates/tabbed_form.tpl.htm
@@ -5,9 +5,9 @@
    <ul>
        <tmpl_loop name="formTab">
            <tmpl_if name="active">
                <li class="active"><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
                <li class="active"><a href="#" onclick="return changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
            <tmpl_else>
                <li><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
                <li><a href="#" onclick="return changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
            </tmpl_if>
        </tmpl_loop>
    </ul>