Beispiel #1
0
        </table>
        <input type="hidden" name="current" value="" />
        <input type="hidden" name="order" value="<?php 
        echo $order;
        ?>
" />
        <input type="hidden" name="by" value="<?php 
        echo $by;
        ?>
" />
        <input type="submit" name="submit_filter" class="button1" value="<convert>#label=602<convert>" /><!--Filtrer-->
        <input type="submit" name="reset_filter" class="button1" value="<convert>#label=603<convert>" onclick="JavaScript:resetForm(this.form);" /><!--Tout afficher-->
        <input type="button" name="reset" class="button1" value="<convert>#label=604<convert>" onclick="JavaScript:resetForm(this.form);" /><!--Effacer-->
        <br /><select class="select2" name="records_by_page" id="records_by_page" onchange="JavaScript:this.form.submit();">
          <?php 
        echo getOptionsFromArray($records_by_page_array, "", $records_by_page);
        ?>
        </select> <convert>#label=664<convert><!--Lignes par page-->.
      </form>
    </div>
    <?php 
        if ($local_count >= $records_by_page) {
            ?>
    <div class="navigator">
      <?php 
            echo $navigator;
            ?>
    </div>
    <?php 
        }
        ?>
Beispiel #2
0
function getFilterFields($sql, $columns_params, $POST_vars, $filter_form, $msg_all, $small = false, $resource = false, $default_values = array())
{
    $time_start = startMetro();
    $default_size_text = 20;
    $default_size_number = 10;
    $field_set_array = array();
    // Check if it takes into account the default values or the POST values
    $buttons = array("submit_filter", "reset_filter", "reset", "overview_filter", "current", "order", "by", "records_by_page", "PHPSESSID");
    $get_post_values = false;
    foreach ($buttons as $key => $value) {
        if (isset($POST_vars[$value])) {
            $get_post_values = true;
            break;
        }
    }
    // other
    if (isset($POST_vars['reset_filter'])) {
        foreach ($POST_vars as $key => $value) {
            if (!is_array($value)) {
                unset($POST_vars[$key]);
            }
        }
    }
    //end of other
    if ($get_post_values) {
        $values_array = $POST_vars;
    } else {
        $values_array = $default_values;
    }
    // End of check if it takes into account the default values or the POST values
    $connect_db = connect();
    if (!$resource) {
        if (strpos($sql, " LIMIT ") !== false) {
            $head_sql = substr($sql, 0, strpos($sql, " LIMIT "));
        } else {
            $head_sql = $sql;
        }
        $head_sql .= " LIMIT 0 ";
        $resource = mysql_query($head_sql) or die(reportError(mysql_error(), __FILE__, "function", __FUNCTION__, 'Erreur SQL : ' . $sql));
    }
    $time_start_b = startMetro();
    $fields = mysql_num_fields($resource);
    //CHRONOPHAGE?
    endMetro($time_start_b, __FUNCTION__ . " head query");
    $column_side = 1;
    for ($i = 0; $i < $fields; $i++) {
        $new_field = "";
        $names = $columns_params[$i];
        //mysql_field_name($resource, $i);
        $name_array = explode("|", $names);
        $name = $name_array[0];
        $label = $name_array[1];
        $sub_querry = $name_array[2];
        $multiple_size = $name_array[3];
        if (strpos($name, "[hidden]") === false) {
            $len = mysql_field_len($resource, $i);
            $type = mysql_field_type($resource, $i);
            $flags = mysql_field_flags($resource, $i);
            if (strpos($flags, "not_null") !== false) {
                $mandatory = "*";
            } else {
                $mandatory = "";
            }
            if ($sub_querry != "" || strpos($flags, "enum") !== false) {
                $multiple = "";
                $mult_suffix = "";
                if ($multiple_size > 0) {
                    $multiple = "size=\"" . $multiple_size . "\" multiple=\"multiple\"";
                    $mult_suffix = "[]";
                    //The POST var must know that it's an array of values !! ... this is the trick ! On name attribute only !!!
                    $msg_all = "";
                }
                $new_field .= "<select class=\"select2\" id=\"" . idEncode($name) . "\" name=\"" . idEncode($name) . $mult_suffix . "\" " . $multiple . ">\n";
                $selected = $values_array[idEncode($name)];
                if ($sub_querry != "") {
                    if (strpos($sub_querry, ";") !== false) {
                        $enum_array = explode(";", $sub_querry);
                        $new_field .= getOptionsFromArray($enum_array, $msg_all, $selected);
                    } else {
                        $comparedCol = "value";
                        $textCol = "text";
                        $new_field .= getOptions($sub_querry, $msg_all, $selected, $comparedCol, $textCol);
                    }
                } else {
                    $enum_array = getEnumArray($name);
                    $new_field .= getOptionsFromArray($enum_array, $msg_all, $selected);
                }
                $new_field .= "</select>";
            } else {
                switch ($type) {
                    case "string":
                        $new_field .= "<input class=\"input1\" id=\"" . idEncode($name) . "\" name=\"" . idEncode($name) . "\" value=\"" . $values_array[idEncode($name)] . "\" ";
                        $new_field .= "type=\"text\" ";
                        $len = $len / 3;
                        $new_field .= "size=\"" . min($default_size, 0 + $len) . "\" maxlength=\"" . $len . "\" />";
                        break;
                    case "int":
                    case "real":
                        $name_from = idEncode(">=|" . $name);
                        $name_to = idEncode("<=|" . $name);
                        $new_field .= "<input class=\"input1\" id=\"" . $name_from . "\" name=\"" . $name_from . "\" value=\"" . $values_array[$name_from] . "\" type=\"text\" size=\"" . $default_size_number . "\" />";
                        $new_field .= " &le; x &le; <input class=\"input1\" id=\"" . $name_to . "\" name=\"" . $name_to . "\" value=\"" . $values_array[$name_to] . "\" type=\"text\" size=\"" . $default_size_number . "\" />";
                        $name = "<=|" . $name;
                        break;
                    case "datetime":
                    case "date":
                        $name_from = idEncode(">=|" . $name);
                        $name_to = idEncode("<=|" . $name);
                        $new_field .= "<input class=\"input1\" id=\"" . $name_from . "\" name=\"" . $name_from . "\" value=\"" . $values_array[$name_from] . "\" type=\"text\" size=\"10\" maxlength=\"10\" readonly=\"readonly\" /> <a href=\"JavaScript:showCalendar(document." . $filter_form . ".elements['" . $name_from . "'],'yyyy-MM-DD','Pick a date')\"><img src=\"../images/icons/cal.gif\" alt=\"Click Here to use a calendar\" title=\"Click Here to use a calendar\" style=\"cursor:pointer;vertical-align:text-top;border:0px none;\" /></a>";
                        $new_field .= " &le; x &le; <input class=\"input1\" id=\"" . $name_to . "\" name=\"" . $name_to . "\" value=\"" . $values_array[$name_to] . "\" type=\"text\" size=\"10\" maxlength=\"10\" readonly=\"readonly\" /> <a href=\"JavaScript:showCalendar(document." . $filter_form . ".elements['" . $name_to . "'],'yyyy-MM-DD','Pick a date')\"><img src=\"../images/icons/cal.gif\" alt=\"Click Here to use a calendar\" title=\"Click Here to use a calendar\" style=\"cursor:pointer;vertical-align:text-top;border:0px none;\" /></a>";
                        $name = "<=|" . $name;
                        break;
                    default:
                        break;
                }
            }
            $field_set = "<tr><td class=\"label\">\n";
            $field_set .= "<label class=\"label_portlet\" for=\"" . idEncode($name) . "\">\n";
            $field_set .= str_replace("[hidden]", "", $label) . "\n";
            $field_set .= "</label>\n";
            $field_set .= "</td>\n";
            $field_set .= "<td class=\"field\">\n";
            $field_set .= $new_field . "\n";
            $field_set .= "</td></tr>\n";
            $field_set_array[] .= $field_set;
        }
    }
    $field_set = "<tr><td>\n<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\">\n";
    for ($i = 0; $i < count($field_set_array); $i++) {
        $field_set .= $field_set_array[$i];
        if ($i == ceil(count($field_set_array) / 2) - 1 && !$small) {
            $field_set .= "</table>\n</td>\n<td>\n<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\">\n";
        }
    }
    $field_set .= "</table>\n</td></tr>\n";
    mysql_free_result($resource);
    close($connect_db);
    endMetro($time_start, __FUNCTION__);
    return $field_set;
}