<?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; ?>