sf-static/sql/modules/views/dbbatch.php

131 lines
4.6 KiB
PHP
Raw Permalink Normal View History

2023-02-28 18:21:07 +00:00
<link href='cache.php?css=theme,default,alerts' rel="stylesheet" />
<style>
div#db_objects { margin-top:5px;padding:3px;overflow:auto;height:300px;width:95%;border:3px double #efefef }
div.objhead { background-color:#ececec; padding: 5px; margin: 0 0 3px 0 }
span.toggler { display:inline-block; float:right; cursor: pointer; font-size:16px; margin: -5px 0 0 0 }
div.obj { padding:5px; margin:0 0 0 20px }
</style>
<div id="popup_wrapper">
<div id="popup_contents">
<table border="0" cellpadding="5" cellspacing="8" style="width: 100%;height:100%">
<tr>
<td align="left" valign="top" width="45%">
<?php echo __('Select objects to operate upon'); ?><br />
<div id="db_objects">
<?php echo __('Either the database is empty, or there was an error retrieving list of database objects'); ?>.<br/>
<?php echo __('Please try closing and re-opening this dialog again'); ?>.
<div>
</td>
<td align="left" valign="top" width="55%">
<fieldset>
<legend><?php echo __('Operations to perform'); ?></legend>
<table border="0" cellspacing="10" cellpadding="5" width="100%">
<tr><td valign="top">
<label for='old_prefix'><?php echo __('Delete prefix string from name'); ?></label><input type='text' name='old_prefix' id='old_prefix' maxlength="10" style="width:70px" />
</td></tr>
<tr><td valign="top">
<label for='new_prefix'><?php echo __('Add prefix string to name'); ?></label><input type='text' name='new_prefix' id='new_prefix' maxlength="10" style="width:70px" />
</td></tr>
<tr><td valign="top">
<input type='checkbox' name='dropcmd' id='dropcmd' /><label class="right" for='dropcmd'><?php echo __('DROP selected database objects'); ?></label>
</td></tr>
</table>
</fieldset>
<fieldset>
<legend><?php echo __('Generate SQL'); ?></legend>
<table border="0" cellspacing="10" cellpadding="5" width="100%">
<tr><td valign="top">
<label for='command'><?php echo __('Command text'); ?></label><input type='text' name='command' id='command' maxlength="100" style="width:180px" />
</td></tr>
</table>
</fieldset>
<fieldset>
<legend><?php echo __('Options'); ?></legend>
<table border="0" cellspacing="10" cellpadding="5" width="100%">
<tr><td valign="top">
<input type='checkbox' name='skip_fkey' id='skip_fkey' /><label class="right" for='skip_fkey'><?php echo __('Skip Foreign Key checks'); ?></label>
</td></tr>
</table>
</fieldset>
</td>
</tr>
</table>
</div>
<div id="popup_footer">
<div id="popup_buttons">
<input type='button' id="btn_submit" value='<?php echo __('Submit'); ?>' />
</div>
</div>
</div>
<script type="text/javascript" language='javascript' src="cache.php?script=common,jquery,ui,query,options,alerts"></script>
<script type="text/javascript" language="javascript">
window.title = "<?php echo __('Batch operations'); ?>";
<?php
foreach( $data as $name => $list ) {
echo "var {$name} = " . json_encode( $list ) .";\n";
}
?>
$(function() {
$('#btn_submit').button().click(function() {
if ( $("#db_objects").find("input[type=checkbox]").filter(":checked").length == 0 ) {
jAlert(__('Select objects to operate upon'));
} else if ($("#dropcmd").prop("checked")) {
// if drop command is selected, confirm user for the operation
jConfirm(__('Are you sure you want to DROP selected objects?'), __('Confirm Action'), function(result) {
if (result)
wrkfrmSubmit('dbbatch', 'batch', '', '');
}, '');
} else if ( $("#old_prefix").val() == '' && $("#new_prefix").val() == '' && $("#command").val() == '' ) {
jAlert(__('Please select one or more operations to perform'));
} else {
wrkfrmSubmit('dbbatch', 'batch', '', '');
}
});
$("#dropcmd").click(function() {
var on = $(this).prop("checked");
$("#new_prefix").add("#old_prefix").attr("disabled", on);
});
if (tables.length == 0 && views.length == 0 && procs.length == 0 && funcs.length == 0 && triggers.length == 0)
return;
<?php
if ( count($data) > 0 ) {
?>
$('#db_objects').html('');
<?php
foreach( $data as $name => $list ) {
echo "uiShowObjectList({$name}, '{$name}', '" . __( ucfirst($name) ) . "');\n";
}
}
?>
$('.selectall').click(function(e) {
chk = $(this).attr('checked');
chk ? $(this).parent().next().find('input').attr('checked', "checked") : $(this).parent().next().find('input').removeAttr('checked');
});
$('#db_objects .toggler').click(function() {
$(this).parent().next().toggle();
if ($(this).hasClass('c')) {
$(this).removeClass('c').html('&#x25B4;');
} else {
$(this).addClass('c').html('&#x25BE;');
}
return false;
});
});
</script>
<?php
echo getGeneratedJS();
?>