<?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\libraries\URL::getCommon(array('db' => $db, 'table' => $table))
                    , ('&amp;field=') , urlencode($column_name)
                    , ('&amp;fieldkey=') , $column_index
                    , ('&amp;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\libraries\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; ?>
