patch #515268 - Feature Request #511816 (enable/disable functions fields) thanks to Alexander M. Turek
This commit is contained in:
@@ -24,6 +24,10 @@ $Source$
|
|||||||
with <base href=""> thanks to Alexander M. Turek.
|
with <base href=""> thanks to Alexander M. Turek.
|
||||||
* main.php3, lines 11-14; libraries/grab_globals.lib.php3, lines 27-32;
|
* main.php3, lines 11-14; libraries/grab_globals.lib.php3, lines 27-32;
|
||||||
libraries/auth/cookie.auth.lib.php3: improved patch #495360.
|
libraries/auth/cookie.auth.lib.php3: improved patch #495360.
|
||||||
|
* config.inc.php3, lines 142 & 238-265; Documentation.html, lines 746-752;
|
||||||
|
tbl_change.php3; libraries/common.lib.php3, lines 105-107:
|
||||||
|
patch #515268 - Feature Request #511816 (enable/disable functions fields)
|
||||||
|
thanks to Alexander M. Turek <rabus at users.sourceforge.net>.
|
||||||
|
|
||||||
2002-02-08 Marc Delisle <lem9@users.sourceforge.net>
|
2002-02-08 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
* ukrainian updates thanks to Markijan Baran.
|
* ukrainian updates thanks to Markijan Baran.
|
||||||
|
@@ -732,7 +732,7 @@
|
|||||||
<br /><br />
|
<br /><br />
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt><b>$cfgProtectBinary </b>boolean</dt>
|
<dt><b>$cfgProtectBinary </b>boolean or string</dt>
|
||||||
<dd>
|
<dd>
|
||||||
Defines whether <tt>BLOB</tt> or <tt>BINARY</tt> fields are protected
|
Defines whether <tt>BLOB</tt> or <tt>BINARY</tt> fields are protected
|
||||||
from edition when browsing a table's content or not.
|
from edition when browsing a table's content or not.
|
||||||
@@ -743,6 +743,13 @@
|
|||||||
<br /><br />
|
<br /><br />
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
<dt><b>$cfgShowFunctionFields </b>boolean</dt>
|
||||||
|
<dd>
|
||||||
|
Defines whether MySQL functions fields should be displayed or not in edit/insert
|
||||||
|
mode.
|
||||||
|
<br /><br />
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt>
|
<dt>
|
||||||
<b>$cfgZipDump </b>boolean<br />
|
<b>$cfgZipDump </b>boolean<br />
|
||||||
<b>$cfgGZipDump </b>boolean<br />
|
<b>$cfgGZipDump </b>boolean<br />
|
||||||
|
@@ -139,6 +139,7 @@ $cfgProtectBinary = 'blob'; // disallow editing of binary fields
|
|||||||
// FALSE allow editing
|
// FALSE allow editing
|
||||||
// 'blob' allow editing except for BLOB fields
|
// 'blob' allow editing except for BLOB fields
|
||||||
// 'all' disallow editing
|
// 'all' disallow editing
|
||||||
|
$cfgShowFunctionFields = TRUE; // Display the function fields in edit/insert mode
|
||||||
|
|
||||||
$cfgZipDump = TRUE; // Allow the use of zip/gzip/bzip
|
$cfgZipDump = TRUE; // Allow the use of zip/gzip/bzip
|
||||||
$cfgGZipDump = TRUE; // compression for
|
$cfgGZipDump = TRUE; // compression for
|
||||||
@@ -234,32 +235,34 @@ $cfgAttributeTypes = array(
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Available functions
|
// Available functions
|
||||||
$cfgFunctions = array(
|
if ($cfgShowFunctionFields) {
|
||||||
'ASCII',
|
$cfgFunctions = array(
|
||||||
'CHAR',
|
'ASCII',
|
||||||
'SOUNDEX',
|
'CHAR',
|
||||||
'LCASE',
|
'SOUNDEX',
|
||||||
'UCASE',
|
'LCASE',
|
||||||
'NOW',
|
'UCASE',
|
||||||
'PASSWORD',
|
'NOW',
|
||||||
'MD5',
|
'PASSWORD',
|
||||||
'ENCRYPT',
|
'MD5',
|
||||||
'RAND',
|
'ENCRYPT',
|
||||||
'LAST_INSERT_ID',
|
'RAND',
|
||||||
'COUNT',
|
'LAST_INSERT_ID',
|
||||||
'AVG',
|
'COUNT',
|
||||||
'SUM',
|
'AVG',
|
||||||
'CURDATE',
|
'SUM',
|
||||||
'CURTIME',
|
'CURDATE',
|
||||||
'FROM_DAYS',
|
'CURTIME',
|
||||||
'FROM_UNIXTIME',
|
'FROM_DAYS',
|
||||||
'PERIOD_ADD',
|
'FROM_UNIXTIME',
|
||||||
'PERIOD_DIFF',
|
'PERIOD_ADD',
|
||||||
'TO_DAYS',
|
'PERIOD_DIFF',
|
||||||
'UNIX_TIMESTAMP',
|
'TO_DAYS',
|
||||||
'USER',
|
'UNIX_TIMESTAMP',
|
||||||
'WEEKDAY'
|
'USER',
|
||||||
);
|
'WEEKDAY'
|
||||||
|
);
|
||||||
|
} // end if
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -45,7 +45,7 @@ if (!defined('PMA_COMMON_LIB_INCLUDED')){
|
|||||||
* - authentication work
|
* - authentication work
|
||||||
* - second load of the libraries/define.lib.php3 library to get the MySQL
|
* - second load of the libraries/define.lib.php3 library to get the MySQL
|
||||||
* release number)
|
* release number)
|
||||||
* - other functions, respecting dependencies
|
* - other functions, respecting dependencies
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -102,6 +102,9 @@ if (!defined('PMA_COMMON_LIB_INCLUDED')){
|
|||||||
$cfgProtectBinary = 'blob';
|
$cfgProtectBinary = 'blob';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!isset($cfgShowFunctionFields)) {
|
||||||
|
$cfgShowFunctionFields = TRUE;
|
||||||
|
}
|
||||||
if (!isset($cfgZipDump)) {
|
if (!isset($cfgZipDump)) {
|
||||||
$cfgZipDump = (isset($cfgGZipDump) ? $cfgGZipDump : TRUE);
|
$cfgZipDump = (isset($cfgGZipDump) ? $cfgGZipDump : TRUE);
|
||||||
}
|
}
|
||||||
@@ -200,7 +203,7 @@ if (!defined('PMA_COMMON_LIB_INCLUDED')){
|
|||||||
$a_string = str_replace('\\', '\\\\', $a_string);
|
$a_string = str_replace('\\', '\\\\', $a_string);
|
||||||
}
|
}
|
||||||
$a_string = str_replace('\'', '\\\'', $a_string);
|
$a_string = str_replace('\'', '\\\'', $a_string);
|
||||||
|
|
||||||
return $a_string;
|
return $a_string;
|
||||||
} // end of the 'PMA_sqlAddslashes()' function
|
} // end of the 'PMA_sqlAddslashes()' function
|
||||||
|
|
||||||
@@ -299,7 +302,7 @@ if (!defined('PMA_COMMON_LIB_INCLUDED')){
|
|||||||
unset($cfgServers[$key]);
|
unset($cfgServers[$key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($server) || !isset($cfgServers[$server]) || !is_array($cfgServers[$server])) {
|
if (empty($server) || !isset($cfgServers[$server]) || !is_array($cfgServers[$server])) {
|
||||||
$server = $cfgServerDefault;
|
$server = $cfgServerDefault;
|
||||||
}
|
}
|
||||||
@@ -602,7 +605,7 @@ if (!defined('PMA_COMMON_LIB_INCLUDED')){
|
|||||||
}
|
}
|
||||||
} // end for
|
} // end for
|
||||||
mysql_free_result($dbs);
|
mysql_free_result($dbs);
|
||||||
$num_dbs = $real_num_dbs;
|
$num_dbs = $real_num_dbs;
|
||||||
} // end else
|
} // end else
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -954,7 +957,7 @@ window.parent.frames['nav'].location.replace('<?php echo $reload_url; ?>');
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures a database/table/field's name is not a reserved word (for MySQL
|
* Ensures a database/table/field's name is not a reserved word (for MySQL
|
||||||
* releases < 3.23.6)
|
* releases < 3.23.6)
|
||||||
*
|
*
|
||||||
* @param string the name to check
|
* @param string the name to check
|
||||||
* @param string the url to go back in case of error
|
* @param string the url to go back in case of error
|
||||||
@@ -972,7 +975,7 @@ window.parent.frames['nav'].location.replace('<?php echo $reload_url; ?>');
|
|||||||
if (!ereg('^[a-zA-Z_]+$', $the_name)) {
|
if (!ereg('^[a-zA-Z_]+$', $the_name)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Else do the work
|
// Else do the work
|
||||||
$filename = 'badwords.txt';
|
$filename = 'badwords.txt';
|
||||||
if (file_exists($filename)) {
|
if (file_exists($filename)) {
|
||||||
|
@@ -142,7 +142,11 @@ echo "\n";
|
|||||||
<tr>
|
<tr>
|
||||||
<th><?php echo $strField; ?></th>
|
<th><?php echo $strField; ?></th>
|
||||||
<th><?php echo $strType; ?></th>
|
<th><?php echo $strType; ?></th>
|
||||||
<th><?php echo $strFunction; ?></th>
|
<?php
|
||||||
|
if ($cfgShowFunctionFields) {
|
||||||
|
echo ' <th>' . $strFunction . '</th>' . "\n";
|
||||||
|
}
|
||||||
|
?>
|
||||||
<th><?php echo $strNull; ?></th>
|
<th><?php echo $strNull; ?></th>
|
||||||
<th><?php echo $strValue; ?></th>
|
<th><?php echo $strValue; ?></th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -224,7 +228,7 @@ for ($i = 0; $i < $fields_cnt; $i++) {
|
|||||||
? ''
|
? ''
|
||||||
: '<input type="hidden" name="fields_prev[' . urlencode($field) . ']" value="' . urlencode($row[$field]) . '" />';
|
: '<input type="hidden" name="fields_prev[' . urlencode($field) . ']" value="' . urlencode($row[$field]) . '" />';
|
||||||
} else {
|
} else {
|
||||||
// loic1: display default values
|
// loic1: display default values
|
||||||
if (!isset($row_table_def['Default'])) {
|
if (!isset($row_table_def['Default'])) {
|
||||||
$row_table_def['Default'] = '';
|
$row_table_def['Default'] = '';
|
||||||
$data = 'NULL';
|
$data = 'NULL';
|
||||||
@@ -242,40 +246,42 @@ for ($i = 0; $i < $fields_cnt; $i++) {
|
|||||||
// Note: from the MySQL manual: "BINARY doesn't affect how the column is
|
// Note: from the MySQL manual: "BINARY doesn't affect how the column is
|
||||||
// stored or retrieved" so it does not mean that the contents is
|
// stored or retrieved" so it does not mean that the contents is
|
||||||
// binary
|
// binary
|
||||||
if ((($cfgProtectBinary && $is_blob)
|
if ($cfgShowFunctionFields) {
|
||||||
|| ($cfgProtectBinary == 'all' && $is_binary))
|
if ((($cfgProtectBinary && $is_blob)
|
||||||
&& !empty($data)) {
|
|| ($cfgProtectBinary == 'all' && $is_binary))
|
||||||
echo ' <td align="center" bgcolor="'. $bgcolor . '">' . $strBinary . '</td>' . "\n";
|
&& !empty($data)) {
|
||||||
} else if (strstr($row_table_def['True_Type'], 'enum') || strstr($row_table_def['True_Type'], 'set')) {
|
echo ' <td align="center" bgcolor="'. $bgcolor . '">' . $strBinary . '</td>' . "\n";
|
||||||
echo ' <td align="center" bgcolor="'. $bgcolor . '">--</td>' . "\n";
|
} else if (strstr($row_table_def['True_Type'], 'enum') || strstr($row_table_def['True_Type'], 'set')) {
|
||||||
} else {
|
echo ' <td align="center" bgcolor="'. $bgcolor . '">--</td>' . "\n";
|
||||||
?>
|
} else {
|
||||||
|
?>
|
||||||
<td bgcolor="<?php echo $bgcolor; ?>">
|
<td bgcolor="<?php echo $bgcolor; ?>">
|
||||||
<select name="funcs[<?php echo urlencode($field); ?>]">
|
<select name="funcs[<?php echo urlencode($field); ?>]">
|
||||||
<option></option>
|
<option></option>
|
||||||
<?php
|
<?php
|
||||||
echo "\n";
|
echo "\n";
|
||||||
if (!$first_timestamp) {
|
if (!$first_timestamp) {
|
||||||
for ($j = 0; $j < count($cfgFunctions); $j++) {
|
for ($j = 0; $j < count($cfgFunctions); $j++) {
|
||||||
echo ' ';
|
echo ' ';
|
||||||
echo '<option>' . $cfgFunctions[$j] . '</option>' . "\n";
|
echo '<option>' . $cfgFunctions[$j] . '</option>' . "\n";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// for default function = NOW() on first timestamp field
|
// for default function = NOW() on first timestamp field
|
||||||
// -- swix/18jul01
|
// -- swix/18jul01
|
||||||
for ($j = 0; $j < count($cfgFunctions); $j++) {
|
for ($j = 0; $j < count($cfgFunctions); $j++) {
|
||||||
echo ' ';
|
echo ' ';
|
||||||
if ($cfgFunctions[$j] == 'NOW') {
|
if ($cfgFunctions[$j] == 'NOW') {
|
||||||
echo '<option selected="selected">' . $cfgFunctions[$j] . '</option>' . "\n";
|
echo '<option selected="selected">' . $cfgFunctions[$j] . '</option>' . "\n";
|
||||||
} else {
|
} else {
|
||||||
echo '<option>' . $cfgFunctions[$j] . '</option>' . "\n";
|
echo '<option>' . $cfgFunctions[$j] . '</option>' . "\n";
|
||||||
}
|
}
|
||||||
} // end for
|
} // end for
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
|
}
|
||||||
}
|
}
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
|
||||||
@@ -350,7 +356,7 @@ for ($i = 0; $i < $fields_cnt; $i++) {
|
|||||||
}
|
}
|
||||||
echo '>' . htmlspecialchars($enum_atom) . '</option>' . "\n";
|
echo '>' . htmlspecialchars($enum_atom) . '</option>' . "\n";
|
||||||
} // end for
|
} // end for
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
<?php
|
<?php
|
||||||
@@ -361,7 +367,7 @@ for ($i = 0; $i < $fields_cnt; $i++) {
|
|||||||
// Removes automatic MySQL escape format
|
// Removes automatic MySQL escape format
|
||||||
$enum_atom = str_replace('\'\'', '\'', str_replace('\\\\', '\\', $enum[$j]));
|
$enum_atom = str_replace('\'\'', '\'', str_replace('\\\\', '\\', $enum[$j]));
|
||||||
echo ' ';
|
echo ' ';
|
||||||
echo '<input type="radio" name="field_' . md5($field) . '[]" value="' . urlencode($enum_atom) . '"' . ' onclick="if (typeof(document.forms[\'insertForm\'].elements[\'fields_null[' . urlencode($field) . ']\']) != \'undefined\') {document.forms[\'insertForm\'].elements[\'fields_null[' . urlencode($field) .']\'].checked = false}"';
|
echo '<input type="radio" name="field_' . md5($field) . '[]" value="' . urlencode($enum_atom) . '"' . ' onclick="if (typeof(document.forms[\'insertForm\'].elements[\'fields_null[' . urlencode($field) . ']\']) != \'undefined\') {document.forms[\'insertForm\'].elements[\'fields_null[' . urlencode($field) .']\'].checked = false}"';
|
||||||
if ($data == $enum_atom
|
if ($data == $enum_atom
|
||||||
|| ($data == '' && (!isset($primary_key) || $row_table_def['Null'] != 'YES')
|
|| ($data == '' && (!isset($primary_key) || $row_table_def['Null'] != 'YES')
|
||||||
&& isset($row_table_def['Default']) && $enum_atom == $row_table_def['Default'])) {
|
&& isset($row_table_def['Default']) && $enum_atom == $row_table_def['Default'])) {
|
||||||
|
Reference in New Issue
Block a user