133 lines
4.9 KiB
PHTML
133 lines
4.9 KiB
PHTML
<?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; ?>
|