move search operators to config
This commit is contained in:
@@ -5,6 +5,12 @@ phpMyAdmin - Changelog
|
|||||||
$Id$
|
$Id$
|
||||||
$Source$
|
$Source$
|
||||||
|
|
||||||
|
2004-08-17 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
|
* tbl_select.php, config.inc.php, libraries/config_import.lib.php,
|
||||||
|
libraries/common.lib.php: move search operators to config file,
|
||||||
|
and set "LIKE" as default operator instead of "LIKE %...%", for
|
||||||
|
performance reasons
|
||||||
|
|
||||||
2004-08-16 Alexander M. Turek <me@derrabus.de>
|
2004-08-16 Alexander M. Turek <me@derrabus.de>
|
||||||
* libraries/relation.lib.php: Fixed some collation problems with the
|
* libraries/relation.lib.php: Fixed some collation problems with the
|
||||||
relational tables (bug #995359).
|
relational tables (bug #995359).
|
||||||
|
@@ -655,7 +655,7 @@ $cfg['ColumnTypes'] = array(
|
|||||||
'SET'
|
'SET'
|
||||||
);
|
);
|
||||||
|
|
||||||
// Atributes
|
// Attributes
|
||||||
$cfg['AttributeTypes'] = array(
|
$cfg['AttributeTypes'] = array(
|
||||||
'',
|
'',
|
||||||
'BINARY',
|
'BINARY',
|
||||||
@@ -778,6 +778,42 @@ if ($cfg['ShowFunctionFields']) {
|
|||||||
|
|
||||||
} // end if
|
} // end if
|
||||||
|
|
||||||
|
// Search operators
|
||||||
|
$cfg['NumOperators'] = array(
|
||||||
|
'=',
|
||||||
|
'>',
|
||||||
|
'>=',
|
||||||
|
'<',
|
||||||
|
'<=',
|
||||||
|
'!=',
|
||||||
|
'LIKE',
|
||||||
|
'NOT LIKE'
|
||||||
|
);
|
||||||
|
|
||||||
|
$cfg['TextOperators'] = array(
|
||||||
|
'LIKE',
|
||||||
|
'LIKE %...%',
|
||||||
|
'NOT LIKE',
|
||||||
|
'=',
|
||||||
|
'!=',
|
||||||
|
'REGEXP',
|
||||||
|
'NOT REGEXP'
|
||||||
|
);
|
||||||
|
|
||||||
|
$cfg['EnumOperators'] = array(
|
||||||
|
'=',
|
||||||
|
'!='
|
||||||
|
);
|
||||||
|
|
||||||
|
$cfg['NullOperators'] = array(
|
||||||
|
'IS NULL',
|
||||||
|
'IS NOT NULL'
|
||||||
|
);
|
||||||
|
|
||||||
|
$cfg['UnaryOperators'] = array(
|
||||||
|
'IS NULL' => 1,
|
||||||
|
'IS NOT NULL' => 1
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unset magic_quotes_runtime - do not change!
|
* Unset magic_quotes_runtime - do not change!
|
||||||
|
@@ -142,7 +142,7 @@ if (isset($cfg['FileRevision'])) {
|
|||||||
} else {
|
} else {
|
||||||
$cfg['FileRevision'] = array(1, 1);
|
$cfg['FileRevision'] = array(1, 1);
|
||||||
}
|
}
|
||||||
if ($cfg['FileRevision'][0] < 2 || ($cfg['FileRevision'][0] == 2 && $cfg['FileRevision'][1] < 36)) {
|
if ($cfg['FileRevision'][0] < 2 || ($cfg['FileRevision'][0] == 2 && $cfg['FileRevision'][1] < 38)) {
|
||||||
require_once('./libraries/config_import.lib.php');
|
require_once('./libraries/config_import.lib.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1046,6 +1046,52 @@ if ($cfg['ShowFunctionFields']) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset($cfg['NumOperators'])) {
|
||||||
|
$cfg['NumOperators'] = array(
|
||||||
|
'=',
|
||||||
|
'>',
|
||||||
|
'>=',
|
||||||
|
'<',
|
||||||
|
'<=',
|
||||||
|
'!=',
|
||||||
|
'LIKE',
|
||||||
|
'NOT LIKE'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($cfg['TextOperators'])) {
|
||||||
|
$cfg['TextOperators'] = array(
|
||||||
|
'LIKE',
|
||||||
|
'LIKE %...%',
|
||||||
|
'NOT LIKE',
|
||||||
|
'=',
|
||||||
|
'!=',
|
||||||
|
'REGEXP',
|
||||||
|
'NOT REGEXP'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($cfg['EnumOperators'])) {
|
||||||
|
$cfg['EnumOperators'] = array(
|
||||||
|
'=',
|
||||||
|
'!='
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($cfg['NullOperators'])) {
|
||||||
|
$cfg['NullOperators'] = array(
|
||||||
|
'IS NULL',
|
||||||
|
'IS NOT NULL'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($cfg['UnaryOperators'])) {
|
||||||
|
$cfg['UnaryOperators'] = array(
|
||||||
|
'IS NULL' => 1,
|
||||||
|
'IS NOT NULL' => 1
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($cfg['GD2Available'])) {
|
if (!isset($cfg['GD2Available'])) {
|
||||||
$cfg['GD2Available'] = 'auto';
|
$cfg['GD2Available'] = 'auto';
|
||||||
}
|
}
|
||||||
|
@@ -30,20 +30,6 @@ if ($cfg['PropertiesIconic'] == true) {
|
|||||||
$titles['Browse'] = $strBrowseForeignValues;
|
$titles['Browse'] = $strBrowseForeignValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Defines arrays of functions (should possibly be in config.inc.php
|
|
||||||
* so it can also be used in tbl_qbe.php)
|
|
||||||
*
|
|
||||||
* LIKE works also on integers and dates so I added it in numfunctions
|
|
||||||
*/
|
|
||||||
$numfunctions = array('=', '>', '>=', '<', '<=', '!=', 'LIKE', 'NOT LIKE');
|
|
||||||
$textfunctions = array('LIKE %...%','LIKE', 'NOT LIKE', '=', '!=', 'REGEXP', 'NOT REGEXP');
|
|
||||||
$enumfunctions = array('=', '!=');
|
|
||||||
$nullfunctions = array('IS NULL', 'IS NOT NULL');
|
|
||||||
$unaryfunctions = array(
|
|
||||||
'IS NULL' => 1,
|
|
||||||
'IS NOT NULL' => 1);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not selection yet required -> displays the selection form
|
* Not selection yet required -> displays the selection form
|
||||||
*/
|
*/
|
||||||
@@ -103,8 +89,8 @@ if (!isset($param) || $param[0] == '') {
|
|||||||
function PMA_tbl_select_operator(f, index, multiple) {
|
function PMA_tbl_select_operator(f, index, multiple) {
|
||||||
switch (f.elements["func[" + index + "]"].options[f.elements["func[" + index + "]"].selectedIndex].value) {
|
switch (f.elements["func[" + index + "]"].options[f.elements["func[" + index + "]"].selectedIndex].value) {
|
||||||
<?php
|
<?php
|
||||||
reset($unaryfunctions);
|
reset($GLOBALS['cfg']['UnaryOperators']);
|
||||||
while (list($operator) = each($unaryfunctions)) {
|
while (list($operator) = each($GLOBALS['cfg']['UnaryOperators'])) {
|
||||||
echo ' case "' . $operator . "\":\r\n";
|
echo ' case "' . $operator . "\":\r\n";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@@ -242,23 +228,23 @@ function PMA_tbl_select_operator(f, index, multiple) {
|
|||||||
<select name="func[]">
|
<select name="func[]">
|
||||||
<?php
|
<?php
|
||||||
if (strncasecmp($fields_type[$i], 'enum', 4) == 0) {
|
if (strncasecmp($fields_type[$i], 'enum', 4) == 0) {
|
||||||
foreach ($enumfunctions as $k => $fc) {
|
foreach ($GLOBALS['cfg']['EnumOperators'] as $k => $fc) {
|
||||||
echo "\n" . ' '
|
echo "\n" . ' '
|
||||||
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
||||||
}
|
}
|
||||||
} elseif (preg_match('@char|blob|text|set@i', $fields_type[$i])) {
|
} elseif (preg_match('@char|blob|text|set@i', $fields_type[$i])) {
|
||||||
foreach ($textfunctions as $k => $fc) {
|
foreach ($GLOBALS['cfg']['TextOperators'] as $k => $fc) {
|
||||||
echo "\n" . ' '
|
echo "\n" . ' '
|
||||||
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
foreach ($numfunctions as $k => $fc) {
|
foreach ($GLOBALS['cfg']['NumOperators'] as $k => $fc) {
|
||||||
echo "\n" . ' '
|
echo "\n" . ' '
|
||||||
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
||||||
}
|
}
|
||||||
} // end if... else...
|
} // end if... else...
|
||||||
if ($fields_null[$i]) {
|
if ($fields_null[$i]) {
|
||||||
foreach ($nullfunctions as $k => $fc) {
|
foreach ($GLOBALS['cfg']['NullOperators'] as $k => $fc) {
|
||||||
echo "\n" . ' '
|
echo "\n" . ' '
|
||||||
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
. '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>';
|
||||||
}
|
}
|
||||||
@@ -369,7 +355,7 @@ else {
|
|||||||
$cnt_func = count($func);
|
$cnt_func = count($func);
|
||||||
reset($func);
|
reset($func);
|
||||||
while (list($i, $func_type) = each($func)) {
|
while (list($i, $func_type) = each($func)) {
|
||||||
if (@$unaryfunctions[$func_type] == 1) {
|
if (@$GLOBALS['cfg']['UnaryOperators'][$func_type] == 1) {
|
||||||
$fields[$i] = '';
|
$fields[$i] = '';
|
||||||
$w[] = PMA_backquote(urldecode($names[$i])) . ' ' . $func_type;
|
$w[] = PMA_backquote(urldecode($names[$i])) . ' ' . $func_type;
|
||||||
|
|
||||||
@@ -426,7 +412,6 @@ else {
|
|||||||
if ($orderField != '--nil--') {
|
if ($orderField != '--nil--') {
|
||||||
$sql_query .= ' ORDER BY ' . PMA_backquote(urldecode($orderField)) . ' ' . $order;
|
$sql_query .= ' ORDER BY ' . PMA_backquote(urldecode($orderField)) . ' ' . $order;
|
||||||
} // end if
|
} // end if
|
||||||
|
|
||||||
include('./sql.php');
|
include('./sql.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user