</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 } ?>
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 .= " ≤ x ≤ <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 .= " ≤ x ≤ <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; }