improved js validation tests (and reduced server charge)
This commit is contained in:
@@ -296,6 +296,13 @@ if (isset($show_query)) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!-- DATABASE WORK -->
|
<!-- DATABASE WORK -->
|
||||||
|
<script type="text/javascript" language="javascript">
|
||||||
|
<!--
|
||||||
|
var errorMsg0 = '<?php echo(str_replace('\'', '\\\'', $strFormEmpty)); ?>';
|
||||||
|
var errorMsg1 = '<?php echo(str_replace('\'', '\\\'', $strNotNumber)); ?>';
|
||||||
|
var errorMsg2 = '<?php echo(str_replace('\'', '\\\'', $strNotValidNumber)); ?>';
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
<script src="functions.js" type="text/javascript" language="javascript"></script>
|
<script src="functions.js" type="text/javascript" language="javascript"></script>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -312,7 +319,8 @@ if ($num_tables > 0) {
|
|||||||
|
|
||||||
<!-- Query box, sql file loader and bookmark support -->
|
<!-- Query box, sql file loader and bookmark support -->
|
||||||
<li>
|
<li>
|
||||||
<form method="post" action="db_readdump.php3" enctype="multipart/form-data">
|
<form method="post" action="db_readdump.php3" enctype="multipart/form-data"
|
||||||
|
onsubmit="return emptySqlQuery(this)">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="pos" value="0" />
|
<input type="hidden" name="pos" value="0" />
|
||||||
@@ -481,7 +489,8 @@ if ($num_tables > 0) {
|
|||||||
|
|
||||||
<!-- Create a new table -->
|
<!-- Create a new table -->
|
||||||
<li>
|
<li>
|
||||||
<form method="post" action="tbl_create.php3">
|
<form method="post" action="tbl_create.php3"
|
||||||
|
onsubmit="return (emptyFormElements(this, 'table') && checkFormElementInRange(this, 'num_fields', 1, 1000))">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
||||||
|
84
functions.js
84
functions.js
@@ -1,13 +1,93 @@
|
|||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays an error message if the user submitted the sql query form with no
|
||||||
|
* sql query
|
||||||
|
*
|
||||||
|
* @param object the form
|
||||||
|
*
|
||||||
|
* @return boolean always false
|
||||||
|
*/
|
||||||
|
function emptySqlQuery(theForm)
|
||||||
|
{
|
||||||
|
var sqlQuery1 = theForm.elements['sql_query'];
|
||||||
|
var isRegExp = (typeof(sqlQuery1.value.replace) != 'undefined');
|
||||||
|
|
||||||
|
// The replace function (js1.2) isn't supported -> basic tests
|
||||||
|
if (!isRegExp) {
|
||||||
|
var isEmpty = (sqlQuery1.value == '') ? 1 : 0;
|
||||||
|
if (isEmpty && typeof(theForm.elements['sql_file']) != 'undefined') {
|
||||||
|
isEmpty = (theForm.elements['sql_file'].value == '') ? 1 : 0;
|
||||||
|
}
|
||||||
|
if (isEmpty && typeof(theForm.elements['id_bookmark']) != 'undefined') {
|
||||||
|
isEmpty = (theForm.elements['id_bookmark'].value == '') ? 1 : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// js1.2+ -> validation with regular expressions
|
||||||
|
else {
|
||||||
|
var isEmpty = (sqlQuery1.value.replace(/\s/g, '') == '') ? 1 : 0;
|
||||||
|
if (isEmpty && typeof(theForm.elements['sql_file']) != 'undefined') {
|
||||||
|
isEmpty = (theForm.elements['sql_file'].value.replace(/\s/g, '') == '') ? 1 : 0;
|
||||||
|
}
|
||||||
|
if (isEmpty && typeof(theForm.elements['id_bookmark']) != 'undefined') {
|
||||||
|
isEmpty = (theForm.elements['id_bookmark'].value == '') ? 1 : 0;
|
||||||
|
}
|
||||||
|
if (isEmpty) {
|
||||||
|
theForm.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isEmpty) {
|
||||||
|
sqlQuery1.select();
|
||||||
|
alert(errorMsg0);
|
||||||
|
sqlQuery1.focus();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} // end of the 'emptySqlQuery()' function
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays an error message if an element of a form hasn't been completed and
|
||||||
|
* should be
|
||||||
|
*
|
||||||
|
* @param object the form
|
||||||
|
* @param string the name of the form field to put the focus on
|
||||||
|
*
|
||||||
|
* @return boolean whether the form field is empty or not
|
||||||
|
*/
|
||||||
|
function emptyFormElements(theForm, theFieldName)
|
||||||
|
{
|
||||||
|
var theField = theForm.elements[theFieldName];
|
||||||
|
// Whether the replace function (js1.2) is supported or not
|
||||||
|
var isRegExp = (typeof(theField.value.replace) != 'undefined');
|
||||||
|
|
||||||
|
if (!isRegExp) {
|
||||||
|
var isEmpty = (theField.value == '') ? 1 : 0;
|
||||||
|
} else {
|
||||||
|
var isEmpty = (theField.value.replace(/\s/g, '') == '') ? 1 : 0;
|
||||||
|
}
|
||||||
|
if (isEmpty) {
|
||||||
|
theForm.reset();
|
||||||
|
theField.select();
|
||||||
|
alert(errorMsg0);
|
||||||
|
theField.focus();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} // end of the 'emptyFormElements()' function
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures a value submitted in a form is numeric and is in a range
|
* Ensures a value submitted in a form is numeric and is in a range
|
||||||
*
|
*
|
||||||
* @param object the form
|
* @param object the form
|
||||||
* @param string the name of the form field to check
|
* @param string the name of the form field to check
|
||||||
* @param integer the minimum authorized value + 1
|
* @param integer the minimum authorized value
|
||||||
* @param integer the maximum authorized value + 1
|
* @param integer the maximum authorized value
|
||||||
*
|
*
|
||||||
* @return boolean whether a valid number has been submitted or not
|
* @return boolean whether a valid number has been submitted or not
|
||||||
*/
|
*/
|
||||||
|
@@ -469,6 +469,13 @@ echo "\n";
|
|||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
<!-- TABLE WORK -->
|
<!-- TABLE WORK -->
|
||||||
|
<script type="text/javascript" language="javascript">
|
||||||
|
<!--
|
||||||
|
var errorMsg0 = '<?php echo(str_replace('\'', '\\\'', $strFormEmpty)); ?>';
|
||||||
|
var errorMsg1 = '<?php echo(str_replace('\'', '\\\'', $strNotNumber)); ?>';
|
||||||
|
var errorMsg2 = '<?php echo(str_replace('\'', '\\\'', $strNotValidNumber)); ?>';
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
<script src="functions.js" type="text/javascript" language="javascript"></script>
|
<script src="functions.js" type="text/javascript" language="javascript"></script>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
@@ -480,7 +487,8 @@ echo "\n";
|
|||||||
|
|
||||||
<!-- Query box and bookmark support -->
|
<!-- Query box and bookmark support -->
|
||||||
<li>
|
<li>
|
||||||
<form method="post" action="db_readdump.php3">
|
<form method="post" action="db_readdump.php3"
|
||||||
|
onsubmit="return emptySqlQuery(this)">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="pos" value="0" />
|
<input type="hidden" name="pos" value="0" />
|
||||||
@@ -534,7 +542,8 @@ if ($cfgBookmark['db'] && $cfgBookmark['table']) {
|
|||||||
|
|
||||||
<!-- Add some new fields -->
|
<!-- Add some new fields -->
|
||||||
<li>
|
<li>
|
||||||
<form method="post" action="tbl_addfield.php3">
|
<form method="post" action="tbl_addfield.php3"
|
||||||
|
onsubmit="return checkFormElementInRange(this, 'num_fields', 1, 99)">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
||||||
@@ -634,10 +643,8 @@ echo "\n";
|
|||||||
<?php
|
<?php
|
||||||
// gzip and bzip2 encode features
|
// gzip and bzip2 encode features
|
||||||
if (PMA_INT_VERSION >= 40004) {
|
if (PMA_INT_VERSION >= 40004) {
|
||||||
$is_gzip = (isset($cfgGZipDump)
|
$is_gzip = (isset($cfgGZipDump) && $cfgGZipDump && @function_exists('gzencode'));
|
||||||
&& $cfgGZipDump && @function_exists('gzencode'));
|
$is_bzip = (isset($cfgBZipDump) && $cfgBZipDump && @function_exists('bzcompress'));
|
||||||
$is_bzip = (isset($cfgBZipDump)
|
|
||||||
&& $cfgBZipDump && @function_exists('bzcompress'));
|
|
||||||
if ($is_gzip || $is_bzip) {
|
if ($is_gzip || $is_bzip) {
|
||||||
echo "\n" . ' (' . "\n";
|
echo "\n" . ' (' . "\n";
|
||||||
if ($is_gzip) {
|
if ($is_gzip) {
|
||||||
@@ -681,7 +688,8 @@ echo "\n";
|
|||||||
<table border="0" cellspacing="0" cellpadding="0" style="vertical-align: top">
|
<table border="0" cellspacing="0" cellpadding="0" style="vertical-align: top">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<form method="post" action="tbl_rename.php3">
|
<form method="post" action="tbl_rename.php3"
|
||||||
|
onsubmit="return emptyFormElements(this, 'new_name')">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
||||||
@@ -708,7 +716,8 @@ echo "\n";
|
|||||||
</td>
|
</td>
|
||||||
<td width="25"> </td>
|
<td width="25"> </td>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<form method="post" action="tbl_copy.php3">
|
<form method="post" action="tbl_copy.php3"
|
||||||
|
onsubmit="return emptyFormElements(this, 'new_name')">
|
||||||
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
<input type="hidden" name="server" value="<?php echo $server; ?>" />
|
||||||
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
<input type="hidden" name="lang" value="<?php echo $lang; ?>" />
|
||||||
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
<input type="hidden" name="db" value="<?php echo $db; ?>" />
|
||||||
@@ -902,6 +911,7 @@ else { // MySQL < 3.23
|
|||||||
} // end MySQL < 3.23
|
} // end MySQL < 3.23
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<!-- Deletes the table -->
|
||||||
<li>
|
<li>
|
||||||
<a href="sql.php3?<?php echo $url_query; ?>&goto=db_details.php3&reload=true&sql_query=<?php echo urlencode('DROP TABLE ' . backquote($table)); ?>&zero_rows=<?php echo urlencode($strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenDropped); ?>">
|
<a href="sql.php3?<?php echo $url_query; ?>&goto=db_details.php3&reload=true&sql_query=<?php echo urlencode('DROP TABLE ' . backquote($table)); ?>&zero_rows=<?php echo urlencode($strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenDropped); ?>">
|
||||||
<?php echo $strDrop . ' ' . htmlspecialchars($table); ?></a>
|
<?php echo $strDrop . ' ' . htmlspecialchars($table); ?></a>
|
||||||
|
Reference in New Issue
Block a user