Initial commit
This commit is contained in:
@ -0,0 +1,7 @@
|
||||
<select name="criteriaColumnOperators[<?= $search_index; ?>]"
|
||||
onchange="changeValueFieldType(this, <?= $search_index; ?>)">
|
||||
<?= $GLOBALS['PMA_Types']->getTypeOperatorsHtml(
|
||||
preg_replace('@\(.*@s', '', $columnTypes[$column_index]),
|
||||
$columnNullFlags[$column_index], $selected_operator
|
||||
); ?>
|
||||
</select>
|
26
#pma/templates/table/search/fields_table.phtml
Normal file
26
#pma/templates/table/search/fields_table.phtml
Normal file
@ -0,0 +1,26 @@
|
||||
<table class="data" <?php if ($searchType == 'zoom'): ?>
|
||||
id="tableFieldsId"
|
||||
<?php endif; ?>>
|
||||
<?= PMA\libraries\Template::get('table/search/table_header')
|
||||
->render(array(
|
||||
'geomColumnFlag' => $geomColumnFlag
|
||||
)); ?>
|
||||
<tbody>
|
||||
<?php if ($searchType == 'zoom'): ?>
|
||||
<?= PMA\libraries\Template::get('table/search/rows_zoom')
|
||||
->render(array(
|
||||
'self' => $self,
|
||||
'columnNames' => $columnNames
|
||||
)) ?>
|
||||
<?php else: ?>
|
||||
<?= PMA\libraries\Template::get('table/search/rows_normal')
|
||||
->render(array(
|
||||
'self' => $self,
|
||||
'geomColumnFlag' => $geomColumnFlag,
|
||||
'columnNames' => $columnNames,
|
||||
'columnTypes' => $columnTypes,
|
||||
'columnCollations' => $columnCollations
|
||||
)) ?>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
22
#pma/templates/table/search/form_tag.phtml
Normal file
22
#pma/templates/table/search/form_tag.phtml
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
$scriptName = '';
|
||||
$formId = '';
|
||||
switch ($searchType) {
|
||||
case 'normal' :
|
||||
$scriptName = 'tbl_select.php';
|
||||
$formId = 'tbl_search_form';
|
||||
break;
|
||||
case 'zoom' :
|
||||
$scriptName = 'tbl_zoom_select.php';
|
||||
$formId = 'zoom_search_form';
|
||||
break;
|
||||
case 'replace' :
|
||||
$scriptName = 'tbl_find_replace.php';
|
||||
$formId = 'find_replace_form';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<form method="post" action="<?= $scriptName; ?>" name="insertForm" id="<?= $formId; ?>" class="ajax lock-page">
|
||||
<?= PMA_URL_getHiddenInputs($db, $table); ?>
|
||||
<input type="hidden" name="goto" value="<?= $goto; ?>" />
|
||||
<input type="hidden" name="back" value="<?= $scriptName; ?>" />
|
39
#pma/templates/table/search/geom_func.phtml
Normal file
39
#pma/templates/table/search/geom_func.phtml
Normal file
@ -0,0 +1,39 @@
|
||||
<!-- Displays 'Function' column if it is present -->
|
||||
<td>
|
||||
<?php
|
||||
$geom_types = PMA\libraries\Util::getGISDatatypes();
|
||||
?>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* if a geometry column is present
|
||||
*/
|
||||
if (in_array($columnTypes[$column_index], $geom_types)): ?>
|
||||
<select class="geom_func"
|
||||
name="geom_func[<?= $column_index; ?>]">
|
||||
|
||||
<?php
|
||||
// get the relevant list of GIS functions
|
||||
$funcs = PMA\libraries\Util::getGISFunctions(
|
||||
$columnTypes[$column_index], true, true
|
||||
);
|
||||
?>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* For each function in the list of functions,
|
||||
* add an option to select list
|
||||
*/
|
||||
foreach ($funcs as $func_name => $func): ?>
|
||||
<?php $name = htmlspecialchars(
|
||||
isset($func['display']) ? $func['display'] : $func_name
|
||||
); ?>
|
||||
<option value="<?= $name; ?>">
|
||||
<?= $name; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php else: ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</td>
|
132
#pma/templates/table/search/input_box.phtml
Normal file
132
#pma/templates/table/search/input_box.phtml
Normal file
@ -0,0 +1,132 @@
|
||||
<?php
|
||||
// Get inputbox based on different column types
|
||||
// (Foreign key, geometrical, enum)
|
||||
if ($_foreigners
|
||||
&& PMA_searchColumnInForeigners($_foreigners, $column_name)): ?>
|
||||
<?php if (is_array($foreignData['disp_row'])): ?>
|
||||
<select name="criteriaValues[<?= $column_index; ?>]"
|
||||
id="<?= $column_id , $column_index ?>">
|
||||
<?= PMA_foreignDropdown(
|
||||
$foreignData['disp_row'], $foreignData['foreign_field'],
|
||||
$foreignData['foreign_display'], '', $foreignMaxLimit
|
||||
) ?>
|
||||
</select>
|
||||
<?php elseif ($foreignData['foreign_link'] == true): ?>
|
||||
<input type="text"
|
||||
id="<?= $column_id , $column_index; ?>"
|
||||
name="criteriaValues[<?= $column_index; ?>]"
|
||||
id="field_<?= md5($column_name); ?>[<?= $column_index; ?>]"
|
||||
class="textfield"
|
||||
<?php if (isset($criteriaValues[$column_index])
|
||||
&& is_string($criteriaValues[$column_index])
|
||||
): ?>
|
||||
value="<?= htmlspecialchars($criteriaValues[$column_index]); ?>"
|
||||
<?php endif; ?> />
|
||||
<a class="ajax browse_foreign"
|
||||
href="<?= ('browse_foreigners.php') , PMA_URL_getCommon(array('db' => $db, 'table' => $table))
|
||||
, ('&field=') , urlencode($column_name)
|
||||
, ('&fieldkey=') , $column_index
|
||||
, ('&fromsearch=1')
|
||||
?>">
|
||||
|
||||
<?= str_replace("'", "\\'", $titles['Browse']); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php elseif (in_array($column_type, PMA\libraries\Util::getGISDatatypes())): ?>
|
||||
<input type="text"
|
||||
name="criteriaValues[<?= $column_index; ?>]"
|
||||
size="40"
|
||||
class="textfield"
|
||||
id="field_<?= $column_index; ?>" />
|
||||
<?php if ($in_fbs): ?>
|
||||
|
||||
<?php
|
||||
$edit_url = 'gis_data_editor.php' . PMA_URL_getCommon();
|
||||
$edit_str = PMA\libraries\Util::getIcon('b_edit.png', __('Edit/Insert'));
|
||||
?>
|
||||
|
||||
<span class="open_search_gis_editor">
|
||||
<?= PMA\libraries\Util::linkOrButton(
|
||||
$edit_url, $edit_str, array(), false, false, '_blank'
|
||||
); ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php elseif (strncasecmp($column_type, 'enum', 4) == 0
|
||||
|| (strncasecmp($column_type, 'set', 3) == 0
|
||||
&& $in_zoom_search_edit)
|
||||
): ?>
|
||||
|
||||
<?php
|
||||
$in_zoom_search_edit = false;
|
||||
$column_type = htmlspecialchars($column_type);
|
||||
$value = explode(', ', str_replace("'", '', mb_substr($column_type, 5, -1)));
|
||||
$cnt_value = count($value);
|
||||
/*
|
||||
* Enum in edit mode --> dropdown
|
||||
* Enum in search mode --> multiselect
|
||||
* Set in edit mode --> multiselect
|
||||
* Set in search mode --> input (skipped here, so the 'else'
|
||||
* section would handle it)
|
||||
*/
|
||||
?>
|
||||
|
||||
<?php if ((strncasecmp($column_type, 'enum', 4) && ! $in_zoom_search_edit)
|
||||
|| (strncasecmp($column_type, 'set', 3) && $in_zoom_search_edit)
|
||||
): ?>
|
||||
<select name="criteriaValues[<?= $column_index; ?>]"
|
||||
id="<?= $column_id , $column_index; ?>">
|
||||
<?php else: ?>
|
||||
<select name="criteriaValues[<?= $column_index; ?>]"
|
||||
id="<?= $column_id , $column_index; ?>"
|
||||
multiple="multiple"
|
||||
size="<?= min(3, $cnt_value); ?>">
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Add select options-->
|
||||
<?php for ($j = 0; $j < $cnt_value; $j++): ?>
|
||||
<?php if (isset($criteriaValues[$column_index])
|
||||
&& is_array($criteriaValues[$column_index])
|
||||
&& in_array($value[$j], $criteriaValues[$column_index])
|
||||
): ?>
|
||||
<option value="<?= htmlspecialchars($value[$j]); ?>"
|
||||
selected>
|
||||
<?php echo htmlspecialchars($value[$j]); ?>
|
||||
</option>
|
||||
<?php else: ?>
|
||||
<option value="<?= htmlspecialchars($value[$j]); ?>">
|
||||
<?php echo htmlspecialchars($value[$j]); ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
<?php endfor; ?>
|
||||
</select>
|
||||
|
||||
<?php else: ?>
|
||||
<!-- other cases-->
|
||||
|
||||
<?php
|
||||
$the_class = 'textfield';
|
||||
|
||||
if ($column_type == 'date') {
|
||||
$the_class .= ' datefield';
|
||||
} elseif ($column_type == 'datetime'
|
||||
|| substr($column_type, 0, 9) == 'timestamp'
|
||||
) {
|
||||
$the_class .= ' datetimefield';
|
||||
} elseif (substr($column_type, 0, 3) == 'bit') {
|
||||
$the_class .= ' bit';
|
||||
}
|
||||
?>
|
||||
<input type="text"
|
||||
name="criteriaValues[<?= $column_index; ?>]"
|
||||
size="40"
|
||||
class="<?= $the_class; ?>"
|
||||
id="<?= $column_id , $column_index; ?>"
|
||||
<?php if (isset($criteriaValues[$column_index])
|
||||
&& is_string($criteriaValues[$column_index])
|
||||
): ?>
|
||||
value="<?= htmlspecialchars($criteriaValues[$column_index]); ?>"
|
||||
<?php endif; ?>/>
|
||||
|
||||
<?php endif; ?>
|
78
#pma/templates/table/search/options.phtml
Normal file
78
#pma/templates/table/search/options.phtml
Normal file
@ -0,0 +1,78 @@
|
||||
<?= PMA\libraries\Util::getDivForSliderEffect(
|
||||
'searchoptions', __('Options')
|
||||
); ?>
|
||||
|
||||
<!-- Displays columns select list for selecting distinct columns in the search -->
|
||||
<fieldset id="fieldset_select_fields">
|
||||
<legend>
|
||||
<?= __('Select columns (at least one):'); ?>
|
||||
</legend>
|
||||
<select name="columnsToDisplay[]"
|
||||
size="<?= min(count($columnNames), 10); ?>"
|
||||
multiple="multiple">
|
||||
<?php
|
||||
/**
|
||||
* Displays the list of the fields
|
||||
*/
|
||||
foreach ($columnNames as $each_field): ?>
|
||||
<option value="<?= htmlspecialchars($each_field); ?>"
|
||||
selected="selected">
|
||||
<?= htmlspecialchars($each_field); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<input type="checkbox"
|
||||
name="distinct"
|
||||
value="DISTINCT"
|
||||
id="oDistinct" />
|
||||
<label for="oDistinct">
|
||||
DISTINCT
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<!-- Displays input box for custom 'Where' clause to be used in the search -->
|
||||
<fieldset id="fieldset_search_conditions">
|
||||
<legend>
|
||||
<em><?= __('Or'); ?></em>
|
||||
<?= __('Add search conditions (body of the "where" clause):'); ?>
|
||||
</legend>
|
||||
<?= PMA\libraries\Util::showMySQLDocu('Functions'); ?>
|
||||
<input type="text" name="customWhereClause" class="textfield" size="64" />
|
||||
</fieldset>
|
||||
|
||||
<!-- Displays option of changing default number of rows displayed per page -->
|
||||
<fieldset id="fieldset_limit_rows">
|
||||
<legend><?= __('Number of rows per page'); ?></legend>
|
||||
<input type="number"
|
||||
name="session_max_rows"
|
||||
required="required"
|
||||
min="1"
|
||||
value="<?= intval($GLOBALS['cfg']['MaxRows']); ?>"
|
||||
class="textfield" />
|
||||
</fieldset>
|
||||
|
||||
<!-- Displays option for ordering search results by a column value (Asc or Desc) -->
|
||||
<fieldset id="fieldset_display_order">
|
||||
<legend><?= __('Display order:'); ?></legend>
|
||||
<select name="orderByColumn"><option value="--nil--"></option>
|
||||
<?php foreach ($columnNames as $each_field): ?>
|
||||
<option value="<?= htmlspecialchars($each_field); ?>">
|
||||
<?= htmlspecialchars($each_field); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
<?= PMA\libraries\Util::getRadioFields(
|
||||
'order',
|
||||
array(
|
||||
'ASC' => __('Ascending'),
|
||||
'DESC' => __('Descending')
|
||||
),
|
||||
'ASC',
|
||||
false,
|
||||
true,
|
||||
"formelement"
|
||||
); ?>
|
||||
|
||||
</fieldset>
|
||||
<br style="clear: both;" />
|
48
#pma/templates/table/search/options_zoom.phtml
Normal file
48
#pma/templates/table/search/options_zoom.phtml
Normal file
@ -0,0 +1,48 @@
|
||||
<table class="data">
|
||||
<!-- Select options for data label -->
|
||||
<tr>
|
||||
<td>
|
||||
<label for="dataLabel">
|
||||
<?= __("Use this column to label each point"); ?>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<select name="dataLabel" id="dataLabel" >
|
||||
<option value = "">
|
||||
<?= __('None'); ?>
|
||||
</option>
|
||||
<?php for ($j = 0, $nb = count($columnNames); $j < $nb; $j++): ?>
|
||||
<?php if (isset($dataLabel)
|
||||
&& $dataLabel == htmlspecialchars($columnNames[$j])
|
||||
): ?>
|
||||
<option value="<?= htmlspecialchars($columnNames[$j]); ?>"
|
||||
selected="selected">
|
||||
<?= htmlspecialchars($columnNames[$j]); ?>
|
||||
</option>
|
||||
<?php else: ?>
|
||||
<option value="<?= htmlspecialchars($columnNames[$j]); ?>" >
|
||||
<?= htmlspecialchars($columnNames[$j]); ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
<?php endfor; ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Inputbox for changing default maximum rows to plot -->
|
||||
<tr>
|
||||
<td>
|
||||
<label for="maxRowPlotLimit">
|
||||
<?= __("Maximum rows to plot"); ?>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="number"
|
||||
name="maxPlotLimit"
|
||||
id="maxRowPlotLimit"
|
||||
required="required"
|
||||
value="<?= ((! empty($_POST['maxPlotLimit']))
|
||||
? intval($_POST['maxPlotLimit'])
|
||||
: intval($GLOBALS['cfg']['maxRowPlotLimit'])); ?>" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
42
#pma/templates/table/search/replace_preview.phtml
Normal file
42
#pma/templates/table/search/replace_preview.phtml
Normal file
@ -0,0 +1,42 @@
|
||||
<form method="post"
|
||||
action="tbl_find_replace.php"
|
||||
name="previewForm"
|
||||
id="previewForm">
|
||||
<?= PMA_URL_getHiddenInputs($db, $table); ?>
|
||||
<input type="hidden" name="replace" value="true" />
|
||||
<input type="hidden" name="columnIndex" value="<?= $columnIndex; ?>" />
|
||||
<input type="hidden" name="findString" value="<?= htmlspecialchars($find); ?>" />
|
||||
<input type="hidden" name="replaceWith" value="<?= htmlspecialchars($replaceWith); ?>" />
|
||||
<input type="hidden" name="useRegex" value="<?= $useRegex; ?>" />
|
||||
|
||||
<fieldset id="fieldset_find_replace_preview">
|
||||
<legend><?= __('Find and replace - preview'); ?></legend>
|
||||
<table id="previewTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= __('Count'); ?></th>
|
||||
<th><?= __('Original string'); ?></th>
|
||||
<th><?= __('Replaced string'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $odd = true; ?>
|
||||
<?php if (is_array($result)): ?>
|
||||
<?php foreach ($result as $row): ?>
|
||||
<?php $val = $row[0]; $replaced = $row[1]; $count = $row[2]; ?>
|
||||
<tr class="<?= ($odd ? 'odd' : 'even'); ?>">
|
||||
<td class="right"><?= htmlspecialchars($count); ?></td>
|
||||
<td><?= htmlspecialchars($val); ?></td>
|
||||
<td><?= htmlspecialchars($replaced); ?></td>
|
||||
</tr>
|
||||
<?php $odd = ! $odd; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="tblFooters">
|
||||
<input type="submit" name="replace" value="<?= __('Replace'); ?>" />
|
||||
</fieldset>
|
||||
</form>
|
52
#pma/templates/table/search/rows_normal.phtml
Normal file
52
#pma/templates/table/search/rows_normal.phtml
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
$odd_row = true;
|
||||
// for every column present in table
|
||||
for (
|
||||
$column_index = 0, $nb = count($columnNames);
|
||||
$column_index < $nb;
|
||||
$column_index++
|
||||
): ?>
|
||||
<tr class="noclick <?= $odd_row ? 'odd' : 'even'; ?>">
|
||||
<?php $odd_row = !$odd_row; ?>
|
||||
<!-- If 'Function' column is present -->
|
||||
<?php if ($geomColumnFlag): ?>
|
||||
<?= PMA\libraries\Template::get('table/search/geom_func')
|
||||
->render(array(
|
||||
'column_index' => $column_index,
|
||||
'columnTypes' => $columnTypes,
|
||||
)); ?>
|
||||
<?php endif; ?>
|
||||
<!-- Displays column's name, type, collation and value -->
|
||||
<th>
|
||||
<?= htmlspecialchars($columnNames[$column_index]); ?>
|
||||
</th>
|
||||
<?php $properties = $self->getColumnProperties($column_index, $column_index); ?>
|
||||
<td dir="ltr">
|
||||
<?= htmlspecialchars($properties['type']); ?>
|
||||
</td>
|
||||
<td>
|
||||
<?= $properties['collation']; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?= $properties['func']; ?>
|
||||
</td>
|
||||
<!-- here, the data-type attribute is needed for a date/time picker-->
|
||||
<td data-type="<?= htmlspecialchars($properties['type']); ?>">
|
||||
<?= $properties['value']; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Displays hidden fields -->
|
||||
<tr>
|
||||
<td>
|
||||
<input type="hidden"
|
||||
name="criteriaColumnNames[<?= $column_index; ?>]"
|
||||
value="<?= htmlspecialchars($columnNames[$column_index]); ?>" />
|
||||
<input type="hidden"
|
||||
name="criteriaColumnTypes[<?= $column_index; ?>]"
|
||||
value="<?= htmlspecialchars($columnTypes[$column_index]); ?>" />
|
||||
<input type="hidden"
|
||||
name="criteriaColumnCollations[<?= $column_index; ?>]"
|
||||
value="<?= $columnCollations[$column_index]; ?>" />
|
||||
</td>
|
||||
</tr>
|
||||
<?php endfor; ?>
|
88
#pma/templates/table/search/rows_zoom.phtml
Normal file
88
#pma/templates/table/search/rows_zoom.phtml
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
$odd_row = true;
|
||||
$type = $collation = $func = $value = array();
|
||||
/**
|
||||
* Get already set search criteria (if any)
|
||||
*/
|
||||
|
||||
// Displays column rows for search criteria input
|
||||
for ($i = 0; $i < 4; $i++): ?>
|
||||
<?php
|
||||
// After X-Axis and Y-Axis column rows, display additional criteria
|
||||
// option
|
||||
if ($i == 2): ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?= __("Additional search criteria"); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr class="noclick <?= ($odd_row ? 'odd' : 'even'); ?>">
|
||||
<?php $odd_row = ! $odd_row; ?>
|
||||
<!-- Select options for column names -->
|
||||
<th>
|
||||
<select name="criteriaColumnNames[]" id="tableid_<?= $i; ?>" >
|
||||
<option value="pma_null">
|
||||
<?= __('None'); ?>
|
||||
</option>
|
||||
<?php for ($j = 0, $nb = count($columnNames); $j < $nb; $j++): ?>
|
||||
<?php if (isset($_POST['criteriaColumnNames'][$i])
|
||||
&& $_POST['criteriaColumnNames'][$i] == htmlspecialchars($columnNames[$j])
|
||||
): ?>
|
||||
<option value="<?= htmlspecialchars($columnNames[$j]); ?>" selected="selected">
|
||||
<?= htmlspecialchars($columnNames[$j]); ?>
|
||||
</option>
|
||||
<?php else: ?>
|
||||
<option value="<?= htmlspecialchars($columnNames[$j]); ?>">
|
||||
<?= htmlspecialchars($columnNames[$j]); ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
<?php endfor; ?>
|
||||
</select>
|
||||
</th>
|
||||
<?php
|
||||
if (isset($_POST['criteriaColumnNames'])
|
||||
&& $_POST['criteriaColumnNames'][$i] != 'pma_null'
|
||||
) {
|
||||
$key = array_search(
|
||||
$_POST['criteriaColumnNames'][$i],
|
||||
$columnNames
|
||||
);
|
||||
$properties = $self->getColumnProperties($i, $key);
|
||||
$type[$i] = $properties['type'];
|
||||
$collation[$i] = $properties['collation'];
|
||||
$func[$i] = $properties['func'];
|
||||
$value[$i] = $properties['value'];
|
||||
} ?>
|
||||
<!-- Column type -->
|
||||
<td dir="ltr">
|
||||
<?= (isset($type[$i]) ? htmlspecialchars($type[$i]) : ''); ?>
|
||||
</td>
|
||||
<!-- Column Collation -->
|
||||
<td>
|
||||
<?= (isset($collation[$i]) ? $collation[$i] : ''); ?>
|
||||
</td>
|
||||
<!-- Select options for column operators -->
|
||||
<td>
|
||||
<?= (isset($func[$i]) ? $func[$i] : ''); ?>
|
||||
</td>
|
||||
<!-- Inputbox for search criteria value -->
|
||||
<td>
|
||||
<?= (isset($value[$i]) ? $value[$i] : ''); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Displays hidden fields -->
|
||||
<tr>
|
||||
<td>
|
||||
<input type="hidden"
|
||||
name="criteriaColumnTypes[<?= $i; ?>]"
|
||||
id="types_<?= $i; ?>"
|
||||
<?php if (isset($_POST['criteriaColumnTypes'][$i])): ?>
|
||||
value="<?= htmlspecialchars($_POST['criteriaColumnTypes'][$i]); ?>"
|
||||
<?php endif; ?> />
|
||||
<input type="hidden"
|
||||
name="criteriaColumnCollations[<?= $i; ?>]"
|
||||
id="collations_<?= $i; ?>" />
|
||||
</td>
|
||||
</tr>
|
||||
<?php endfor; ?>
|
26
#pma/templates/table/search/search_and_replace.phtml
Normal file
26
#pma/templates/table/search/search_and_replace.phtml
Normal file
@ -0,0 +1,26 @@
|
||||
<?= __('Find:'); ?>
|
||||
<input type="text" value="" name="find" required />
|
||||
<?= __('Replace with:'); ?>
|
||||
<input type="text" value="" name="replaceWith" />
|
||||
|
||||
<?= __('Column:'); ?>
|
||||
<select name="columnIndex">
|
||||
<?php for ($i = 0, $nb = count($columnNames); $i < $nb; $i++): ?>
|
||||
<?php $type = preg_replace('@\(.*@s', '', $columnTypes[$i]); ?>
|
||||
<?php if ($GLOBALS['PMA_Types']->getTypeClass($type) == 'CHAR'): ?>
|
||||
<?php $column = $columnNames[$i]; ?>
|
||||
<option value="<?= $i; ?>">
|
||||
<?= htmlspecialchars($column); ?>
|
||||
</option>
|
||||
<?php endif; ?>
|
||||
<?php endfor; ?>
|
||||
</select>
|
||||
|
||||
<br>
|
||||
<?= PMA\libraries\Util::getCheckbox(
|
||||
'useRegex',
|
||||
__('Use regular expression'),
|
||||
false,
|
||||
false,
|
||||
'useRegex'
|
||||
); ?>
|
81
#pma/templates/table/search/selection_form.phtml
Normal file
81
#pma/templates/table/search/selection_form.phtml
Normal file
@ -0,0 +1,81 @@
|
||||
<?= PMA\libraries\Template::get('table/search/form_tag')
|
||||
->render(array(
|
||||
'searchType' => $searchType,
|
||||
'db' => $db,
|
||||
'table' => $table,
|
||||
'goto' => $goto
|
||||
)) ?>
|
||||
<?php if ($searchType == 'zoom'): ?>
|
||||
<fieldset id="fieldset_zoom_search">
|
||||
<fieldset id="inputSection">
|
||||
<legend>
|
||||
<?= __('Do a "query by example" (wildcard: "%") for two different columns'); ?>
|
||||
</legend>
|
||||
<?= PMA\libraries\Template::get('table/search/fields_table')
|
||||
->render(array(
|
||||
'self' => $self,
|
||||
'searchType' => $searchType,
|
||||
'geomColumnFlag' => $geomColumnFlag,
|
||||
'columnNames' => $columnNames,
|
||||
'columnTypes' => $columnTypes,
|
||||
'columnCollations' => $columnCollations
|
||||
))
|
||||
?>
|
||||
<?= PMA\libraries\Template::get('table/search/options_zoom')
|
||||
->render(array(
|
||||
'dataLabel' => $dataLabel,
|
||||
'columnNames' => $columnNames
|
||||
)) ?>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<?php elseif ($searchType == 'normal'): ?>
|
||||
<fieldset id="fieldset_table_search">
|
||||
<fieldset id="fieldset_table_qbe">
|
||||
<legend>
|
||||
<?= __('Do a "query by example" (wildcard: "%")'); ?>
|
||||
</legend>
|
||||
<?= PMA\libraries\Template::get('table/search/fields_table')
|
||||
->render(array(
|
||||
'self' => $self,
|
||||
'searchType' => $searchType,
|
||||
'geomColumnFlag' => $geomColumnFlag,
|
||||
'columnNames' => $columnNames,
|
||||
'columnTypes' => $columnTypes,
|
||||
'columnCollations' => $columnCollations
|
||||
)); ?>
|
||||
<div id="gis_editor">
|
||||
</div>
|
||||
<div id="popup_background">
|
||||
</div>
|
||||
</fieldset>
|
||||
<?= PMA\libraries\Template::get('table/search/options')
|
||||
->render(array(
|
||||
'columnNames' => $columnNames
|
||||
)); ?>
|
||||
</fieldset>
|
||||
<?php elseif ($searchType == 'replace'): ?>
|
||||
<fieldset id="fieldset_find_replace">
|
||||
<fieldset id="fieldset_find">
|
||||
<legend>
|
||||
<?= __('Find and replace'); ?>
|
||||
</legend>
|
||||
<?= PMA\libraries\Template::get('table/search/search_and_replace')
|
||||
->render(array(
|
||||
'columnNames' => $columnNames,
|
||||
'columnTypes' => $columnTypes
|
||||
)); ?>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<?php endif; ?>
|
||||
|
||||
<!--Displays selection form's footer elements-->
|
||||
<fieldset class="tblFooters">
|
||||
<input type="submit"
|
||||
name="<?= ($searchType == 'zoom' ? 'zoom_submit' : 'submit'); ?>"
|
||||
<?php if ($searchType == 'zoom'): ?>
|
||||
id="inputFormSubmitId"
|
||||
<?php endif; ?>
|
||||
value="<?= __('Go'); ?>" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<div id="sqlqueryresultsouter"></div>
|
12
#pma/templates/table/search/table_header.phtml
Normal file
12
#pma/templates/table/search/table_header.phtml
Normal file
@ -0,0 +1,12 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($geomColumnFlag): ?>
|
||||
<th><?= __('Function'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th><?= __('Column'); ?></th>
|
||||
<th><?= __('Type'); ?></th>
|
||||
<th><?= __('Collation'); ?></th>
|
||||
<th><?= __('Operator'); ?></th>
|
||||
<th><?= __('Value'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
99
#pma/templates/table/search/zoom_result_form.phtml
Normal file
99
#pma/templates/table/search/zoom_result_form.phtml
Normal file
@ -0,0 +1,99 @@
|
||||
<form method="post" action="tbl_zoom_select.php" name="displayResultForm" id="zoom_display_form" class="ajax">
|
||||
<?= PMA_URL_getHiddenInputs($_db, $_table); ?>
|
||||
<input type="hidden" name="goto" value="<?= $goto; ?>" />
|
||||
<input type="hidden" name="back" value="tbl_zoom_select.php" />
|
||||
|
||||
<fieldset id="displaySection">
|
||||
<legend><?= __('Browse/Edit the points');?></legend>
|
||||
|
||||
<!-- JSON encode the data(query result) -->
|
||||
<center>
|
||||
<?php if (isset($_POST['zoom_submit']) && ! empty($data)): ?>
|
||||
<div id="resizer">
|
||||
<center>
|
||||
<a href="#" onclick="displayHelp();">
|
||||
<?= __('How to use'); ?>
|
||||
</a>
|
||||
</center>
|
||||
<div id="querydata" style="display:none">
|
||||
<?= htmlspecialchars(json_encode($data)); ?>
|
||||
</div>
|
||||
<div id="querychart"></div>
|
||||
<button class="button-reset">
|
||||
<?= __('Reset zoom'); ?></button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</center>
|
||||
|
||||
<!-- Displays rows in point edit form -->
|
||||
<div id="dataDisplay" style="display:none">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= __('Column'); ?> </th>
|
||||
<th><?= __('Null'); ?> </th>
|
||||
<th><?= __('Value'); ?> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $odd_row = true; ?>
|
||||
<?php for (
|
||||
$column_index = 0, $nb = count($_columnNames);
|
||||
$column_index < $nb;
|
||||
$column_index++
|
||||
): ?>
|
||||
<?php
|
||||
$foreignData = PMA_getForeignData(
|
||||
$_foreigners,
|
||||
$_columnNames[$column_index],
|
||||
false,
|
||||
'',
|
||||
''
|
||||
); ?>
|
||||
<?php endfor; ?>
|
||||
<?php for (
|
||||
$column_index = 0, $nb = count($_columnNames);
|
||||
$column_index < $nb;
|
||||
$column_index++
|
||||
): ?>
|
||||
<?php
|
||||
$fieldpopup = $_columnNames[$column_index];
|
||||
$foreignData = PMA_getForeignData($_foreigners, $fieldpopup, false, '', '' );?>
|
||||
<tr class="noclick <?= ($odd_row ? 'odd' : 'even'); ?>">
|
||||
<?php $odd_row = ! $odd_row; ?>
|
||||
<!-- Display column Names -->
|
||||
<th><?= htmlspecialchars($_columnNames[$column_index]); ?></th>
|
||||
<!-- Null checkbox if column can be null -->
|
||||
<th>
|
||||
<?php if ($_columnNullFlags[$column_index] == 'YES'): ?>
|
||||
<input type="checkbox" class="checkbox_null"
|
||||
name="criteriaColumnNullFlags[<?= $column_index; ?>]"
|
||||
id="edit_fields_null_id_'<?= $column_index;?>" />
|
||||
<?php endif; ?>
|
||||
</th>
|
||||
<!-- Column's Input box-->
|
||||
<th>
|
||||
<?= PMA\libraries\Template::get('table/search/input_box')->render(array(
|
||||
'str' => '',
|
||||
'column_type' => $_columnTypes[$column_index],
|
||||
'column_id' => ($_columnTypes[$column_index]) ? 'edit_fieldID_' : 'fieldID_',
|
||||
'in_zoom_search_edit' => true,
|
||||
'_foreigners' => $_foreigners,
|
||||
'column_name' => $fieldpopup,
|
||||
'foreignData' => $foreignData,
|
||||
'table' => $_table,
|
||||
'column_index' => $column_index,
|
||||
'foreignMaxLimit' => $GLOBALS['cfg']['ForeignKeyMaxLimit'],
|
||||
'criteriaValues' => '',
|
||||
'db' => $_db,
|
||||
'titles' => $titles,
|
||||
'in_fbs' => false
|
||||
));?>
|
||||
</th>
|
||||
</tr>
|
||||
<?php endfor; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<input type="hidden" id="queryID" name="sql_query" />
|
||||
</form>
|
Reference in New Issue
Block a user