} require_once $config['basepath'] . '/include/login.inc.php'; $login = new login(); if (isset($_GET['action']) && $_GET['action'] == 'log_out') { $login->log_out(); } if (!isset($_GET['action'])) { $_GET['action'] = 'index'; } if (strpos($_GET['action'], '://') !== false) { $_GET['action'] = 'index'; } // Add GetMicroTime Function require_once $config['basepath'] . '/include/misc.inc.php'; $misc = new misc(); $start_time = $misc->getmicrotime(); require_once $config['basepath'] . '/include/class/template/core.inc.php'; // NEW TEMPLATE SYSTEM $page = new page_admin(); if (isset($_GET['popup']) && $_GET['popup'] != 'blank') { $page->load_page($config['admin_template_path'] . '/popup.html'); } else { $page->load_page($config['admin_template_path'] . '/main.html'); } // Allow Addons/Functions to pass back custom jscript. global $jscript, $jscript_last; $jscript = ''; $jscript_last = ''; //Load Content $page->auto_replace_tags('', true); if ($_GET['action'] == 'edit_page') {
function searchbox_render($browse_caption, $browse_field_name, $pclass, $searchbox_type) { // builds a searchbox for any given item you want // to let users search by global $conn, $config, $lang; $display = ''; require_once $config['basepath'] . '/include/misc.inc.php'; $misc = new misc(); $time = $misc->getmicrotime(); $class_sql = ''; if (!empty($_GET['pclass'])) { $pclass = $_GET['pclass']; } if (!empty($pclass)) { //$classes = array(); //$classes = explode('|', $_GET['pclass']); foreach ($pclass as $class) { // Ignore non numberic values if (is_numeric($class)) { if (!empty($class_sql)) { $class_sql .= ' OR '; } $class_sql .= $config['table_prefix_no_lang'] . "classlistingsdb.class_id = {$class}"; } } if (!empty($class_sql)) { $class_sql = ' AND (' . $class_sql . ')'; } } //Lookup Field Type $sql_browse_field_name = $misc->make_db_safe($browse_field_name); $sql = "SELECT listingsformelements_field_type FROM " . $config['table_prefix'] . "listingsformelements WHERE listingsformelements_field_name = {$sql_browse_field_name}"; $rsStepLookup = $conn->Execute($sql); if (!$rsStepLookup) { $misc->log_error($sql); } $field_type = $rsStepLookup->fields['listingsformelements_field_type']; unset($rsStepLookup); $sortby = ''; $dateFormat = FALSE; if ($field_type == 'date') { $dateFormat = TRUE; } switch ($field_type) { case 'decimal': $sortby = 'ORDER BY listingsdbelements_field_value+0 ASC'; break; case 'number': global $db_type; if ($db_type == 'mysql') { $sortby = 'ORDER BY CAST(listingsdbelements_field_value as signed) ASC'; } else { $sortby = 'ORDER BY CAST(listingsdbelements_field_value as int4) ASC'; } break; default: $sortby = 'ORDER BY listingsdbelements_field_value ASC'; break; } if (!empty($class_sql)) { if ($config['configured_show_count'] == 1) { $sql = "SELECT listingsdbelements_field_value, count(listingsdbelements_field_value) AS num_type FROM " . $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb," . $config['table_prefix_no_lang'] . "classlistingsdb WHERE listingsdbelements_field_name = '{$browse_field_name}' AND listingsdb_active = 'yes' AND listingsdbelements_field_value <> '' AND " . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id AND " . $config['table_prefix'] . "listingsdb.listingsdb_id = " . $config['table_prefix_no_lang'] . "classlistingsdb.listingsdb_id {$class_sql}"; } else { $sql = "SELECT listingsdbelements_field_value FROM " . $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb," . $config['table_prefix_no_lang'] . "classlistingsdb WHERE listingsdbelements_field_name = '{$browse_field_name}' AND listingsdb_active = 'yes' AND listingsdbelements_field_value <> '' AND " . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id AND " . $config['table_prefix'] . "listingsdb.listingsdb_id = " . $config['table_prefix_no_lang'] . "classlistingsdb.listingsdb_id {$class_sql}"; } } else { if ($config['configured_show_count'] == 1) { $sql = "SELECT listingsdbelements_field_value, count(listingsdbelements_field_value) AS num_type FROM " . $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb WHERE listingsdbelements_field_name = '{$browse_field_name}' AND listingsdb_active = 'yes' AND listingsdbelements_field_value <> '' AND " . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id "; } else { $sql = "SELECT listingsdbelements_field_value FROM " . $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb WHERE listingsdbelements_field_name = '{$browse_field_name}' AND listingsdb_active = 'yes' AND listingsdbelements_field_value <> '' AND " . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id "; } } if ($config['use_expiration'] === "1") { $sql .= " AND listingsdb_expiration > " . $conn->DBDate(time()); } $sql .= "GROUP BY " . $config['table_prefix'] . "listingsdbelements.listingsdbelements_field_value {$sortby} "; // echo $sql.'<br />'; $recordSet = $conn->Execute($sql); if (!$recordSet) { $misc->log_error($sql); } //Get Date Format Settins if ($config['date_format'] == 1) { $format = "m/d/Y"; } elseif ($config['date_format'] == 2) { $format = "Y/d/m"; } elseif ($config['date_format'] == 3) { $format = "d/m/Y"; } switch ($searchbox_type) { case 'ptext': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><input name="' . $browse_field_name . '[]" type="text"'; if (isset($_GET[$browse_field_name]) && $_GET[$browse_field_name] != '') { $f = htmlspecialchars($_GET[$browse_field_name], ENT_COMPAT, $config['charset']); $display .= 'value="' . $f . '"'; } $display .= ' />'; $display .= '</td></tr>'; break; case 'pulldown': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><select name="' . $browse_field_name . '"><option value="">' . $lang['all'] . '</option>'; // if ($rental == "yes") while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && $_GET[$browse_field_name] == $field_output) { $selected = 'selected="selected"'; } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . date($format, $field_output) . ' ' . $num_type . '</option>'; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_display . ' ' . $num_type . '</option>'; } else { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_output . ' ' . $num_type . '</option>'; } } $recordSet->MoveNext(); } // end while $display .= '</select></td></tr>'; break; case 'null_checkbox': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = '(' . $num_type . ')'; } $setvalue = ''; if (isset($_GET[$browse_field_name . '-NULL']) && $_GET[$browse_field_name . '-NULL'] == 1) { $setvalue = 'checked="checked"'; } $display .= '<input type="checkbox" name="' . $browse_field_name . '-NULL" ' . $setvalue . ' value="1" />' . $browse_field_name . ' ' . $lang['null_search'] . ' ' . $num_type . '<br />'; $display .= '</td></tr>'; break; case 'notnull_checkbox': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } $setvalue = ''; if (isset($_GET[$browse_field_name . '-NOTNULL']) && $_GET[$browse_field_name . '-NOTNULL'] == 1) { $setvalue = 'checked="checked"'; } $display .= '<input type="checkbox" name="' . $browse_field_name . '-NOTNULL" ' . $setvalue . ' value="1" />' . $browse_field_name . ' ' . $lang['notnull_search'] . ' ' . $num_type . '<br />'; $display .= '</td></tr>'; break; case 'select': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><select name="' . $browse_field_name . '[]" size="5" multiple="multiple">'; $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array('', $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $display .= '<option value="" ' . $selected . '>' . $lang['all'] . '</option>'; while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($field_output, $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . date($format, $field_output) . ' ' . $num_type . '</option>'; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_display . ' ' . $num_type . '</option>'; } else { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_output . ' ' . $num_type . '</option>'; } } $recordSet->MoveNext(); } // end while $display .= '</select></td></tr>'; break; case 'select_or': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><select name="' . $browse_field_name . '_or[]" size="5" multiple="multiple">'; $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array('', $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $display .= '<option value="" ' . $selected . '>' . $lang['all'] . '</option>'; while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($field_output, $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . date($format, $field_output) . ' ' . $num_type . '</option>'; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_display . ' ' . $num_type . '</option>'; } else { $display .= '<option value="' . $field_output . '" ' . $selected . '>' . $field_output . ' ' . $num_type . '</option>'; } } $recordSet->MoveNext(); } // end while $display .= '</select></td></tr>'; break; case 'checkbox': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($field_output, $_GET[$browse_field_name])) { $selected = 'checked="checked"'; } } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<input type="checkbox" name="' . $browse_field_name . '[]" value="' . $field_output . '" ' . $selected . ' />' . date($format, $field_output) . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<input type="checkbox" name="' . $browse_field_name . '[]" value="' . $field_output . '" ' . $selected . ' />' . $field_display . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { $display .= '<input type="checkbox" name="' . $browse_field_name . '[]" value="' . $field_output . '" ' . $selected . ' />' . $field_output . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } } $recordSet->MoveNext(); } // end while $display .= '</td></tr>'; break; case 'checkbox_or': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($field_output, $_GET[$browse_field_name])) { $selected = 'checked="checked"'; } } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<input type="checkbox" name="' . $browse_field_name . '_or[]" value="' . $field_output . '" ' . $selected . ' />' . date($format, $field_output) . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<input type="checkbox" name="' . $browse_field_name . '_or[]" value="' . $field_output . '" ' . $selected . ' />' . $field_display . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { $display .= '<input type="checkbox" name="' . $browse_field_name . '_or[]" value="' . $field_output . '" ' . $selected . ' />' . $field_output . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } } $recordSet->MoveNext(); } // end while $display .= '</td></tr>'; break; case 'option': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; while (!$recordSet->EOF) { $field_output = $misc->make_db_unsafe($recordSet->fields['listingsdbelements_field_value']); $selected = ''; if (isset($_GET[$browse_field_name]) && $_GET[$browse_field_name] == $field_output) { $selected = 'checked="checked"'; } $num_type = ''; if ($config['configured_show_count'] == 1) { $num_type = $recordSet->fields['num_type']; $num_type = "({$num_type})"; } if ($dateFormat == TRUE) { $display .= '<input type="radio" name="' . $browse_field_name . '" value="' . $field_output . '" ' . $selected . ' />' . date($format, $field_output) . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { if ($field_type == 'number') { $field_display = $misc->international_num_format($field_output, $config['number_decimals_number_fields']); $display .= '<input type="radio" name="' . $browse_field_name . '" value="' . $field_output . '" ' . $selected . ' />' . $field_display . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } else { $display .= '<input type="radio" name="' . $browse_field_name . '" value="' . $field_output . '" ' . $selected . ' />' . $field_output . ' ' . $num_type . ''; $display .= $config['search_list_separator']; } } $recordSet->MoveNext(); } // end while $display .= '</td></tr>'; break; case 'optionlist': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><select name="' . $browse_field_name . '[]" multiple="multiple" size="6">'; $r = $conn->execute("select listingsformelements_field_elements from " . $config['table_prefix'] . "listingsformelements where listingsformelements_field_name = '{$browse_field_name}'"); $r = $r->fields['listingsformelements_field_elements']; $r = explode('||', $r); sort($r); foreach ($r as $f) { $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($f, $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $f = htmlspecialchars($f, ENT_COMPAT, $config['charset']); $display .= '<option value="' . $f . '" ' . $selected . '>' . $f . '</option>'; } $display .= '</select></td></tr>'; break; case 'optionlist_or': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left"><select name="' . $browse_field_name . '_or[]" multiple="multiple" size="6">'; $r = $conn->execute("select listingsformelements_field_elements from " . $config['table_prefix'] . "listingsformelements where listingsformelements_field_name = '{$browse_field_name}'"); $r = $r->fields['listingsformelements_field_elements']; $r = explode('||', $r); sort($r); foreach ($r as $f) { $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($f, $_GET[$browse_field_name])) { $selected = 'selected="selected"'; } } $f = htmlspecialchars($f, ENT_COMPAT, $config['charset']); $display .= '<option value="' . $f . '" ' . $selected . '>' . $f . '</option>'; } $display .= '</select></td></tr>'; break; case 'fcheckbox': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; $r = $conn->Execute("select listingsformelements_field_elements from " . $config['table_prefix'] . "listingsformelements where listingsformelements_field_name = '{$browse_field_name}'"); $r = $r->fields['listingsformelements_field_elements']; $r = explode('||', $r); sort($r); foreach ($r as $f) { $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($f, $_GET[$browse_field_name])) { $selected = 'checked="checked"'; } } $f = htmlspecialchars($f, ENT_COMPAT, $config['charset']); $display .= '<input type="checkbox" name="' . $browse_field_name . '[]" value="' . $f . '" ' . $selected . ' />' . $f . ''; $display .= $config['search_list_separator']; } $display .= '</td></tr>'; break; case 'fcheckbox_or': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; $r = $conn->Execute("select listingsformelements_field_elements from " . $config['table_prefix'] . "listingsformelements where listingsformelements_field_name = '{$browse_field_name}'"); $r = $r->fields['listingsformelements_field_elements']; $r = explode('||', $r); sort($r); foreach ($r as $f) { $selected = ''; if (isset($_GET[$browse_field_name]) && is_array($_GET[$browse_field_name])) { if (in_array($f, $_GET[$browse_field_name])) { $selected = 'checked="checked"'; } } $f = htmlspecialchars($f, ENT_COMPAT, $config['charset']); $display .= '<input type="checkbox" name="' . $browse_field_name . '_or[]" value="' . $f . '" ' . $selected . ' />' . $f . ''; $display .= $config['search_list_separator']; } $display .= '</td></tr>'; break; case 'fpulldown': $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td>'; $display .= '<td align="left">'; $display .= '<select name="' . $browse_field_name . '"><option value="">' . $lang['all'] . '</option>'; $r = $conn->Execute("select listingsformelements_field_elements from " . $config['table_prefix'] . "listingsformelements where listingsformelements_field_name = '{$browse_field_name}'"); $r = $r->fields['listingsformelements_field_elements']; $r = explode('||', $r); sort($r); foreach ($r as $f) { $selected = ''; if (isset($_GET[$browse_field_name]) && $_GET[$browse_field_name] == $f) { $selected = 'selected="selected"'; } $f = htmlspecialchars($f, ENT_COMPAT, $config['charset']); $display .= '<option value="' . $f . '" ' . $selected . '>' . $f . '</option>'; } $display .= '</select></td></tr>'; break; case 'daterange': static $js_added; $display = ''; if (!$js_added) { // add date $display .= '<script type="text/javascript" src="' . $config['baseurl'] . '/dateformat.js"></script>' . "\r\n"; $js_added = true; } $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td><td align="left">'; $setvalue = ''; if (isset($_GET[$browse_field_name . '-mindate']) && $_GET[$browse_field_name . '-mindate'] != '') { $f = htmlspecialchars($_GET[$browse_field_name . '-mindate'], ENT_COMPAT, $config['charset']); $setvalue = 'value="' . $f . '"'; } $display .= $lang['from'] . ' <input type="text" name="' . $browse_field_name . '-mindate" ' . $setvalue . ' onFocus="javascript:vDateType=\'' . $config['date_format'] . '\'" onKeyUp="DateFormat(this,this.value,event,false,\'' . $config['date_format'] . '\')" onBlur="DateFormat(this,this.value,event,true,\'' . $config['date_format'] . '\')" /> (' . $config["date_format_long"] . ')<br />'; $setvalue = ''; if (isset($_GET[$browse_field_name . '-maxdate']) && $_GET[$browse_field_name . '-maxdate'] != '') { $f = htmlspecialchars($_GET[$browse_field_name . '-maxdate'], ENT_COMPAT, $config['charset']); $setvalue = 'value="' . $f . '"'; } $display .= $lang['to'] . '<input type="text" name="' . $browse_field_name . '-maxdate" ' . $setvalue . ' onFocus="javascript:vDateType=\'' . $config['date_format'] . '\'" onKeyUp="DateFormat(this,this.value,event,false,\'' . $config['date_format'] . '\')" onBlur="DateFormat(this,this.value,event,true,\'' . $config['date_format'] . '\')" /> (' . $config["date_format_long"] . ')'; $display .= '</td></tr>'; break; case 'singledate': static $js_added; $display = ''; if (!$js_added) { // add date $display .= '<script type="text/javascript" src="' . $config['baseurl'] . '/dateformat.js"></script>' . "\r\n"; $js_added = true; } $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td><td align="left">'; $setvalue = ''; if (isset($_GET[$browse_field_name . '-date']) && $_GET[$browse_field_name . '-date'] != '') { $f = htmlspecialchars($_GET[$browse_field_name . '-date'], ENT_COMPAT, $config['charset']); $setvalue = 'value="' . $f . '"'; } $display .= ' <input type="text" name="' . $browse_field_name . '-date" ' . $setvalue . ' onFocus="javascript:vDateType=\'' . $config['date_format'] . '\'" onKeyUp="DateFormat(this,this.value,event,false,\'' . $config['date_format'] . '\')" onBlur="DateFormat(this,this.value,event,true,\'' . $config['date_format'] . '\')" /> (' . $config["date_format_long"] . ')'; $display .= '</td></tr>'; break; case 'minmax': $display = ''; $display .= '<tr><td class="searchpage_field_caption">' . $browse_caption . '</td><td align="left">'; $sql = "SELECT listingsformelements_field_type, listingsformelements_search_step FROM " . $config['table_prefix'] . "listingsformelements WHERE listingsformelements_field_name = '{$browse_field_name}'"; $rsStepLookup = $conn->Execute($sql); if (!$rsStepLookup) { $misc->log_error($sql); } // Get max, min and step $step = $rsStepLookup->fields['listingsformelements_search_step']; $field_type = $rsStepLookup->fields['listingsformelements_field_type']; unset($rsStepLookup); //Manual Step Values if (strpos($step, '|') !== FALSE) { $step_array = explode('|', $step); if (!isset($step_array[0]) || !isset($step_array[1])) { //Bad Step Array Fail exit; } $min = intval($step_array[0]); $max = intval($step_array[1]); if (isset($step_array[2])) { $step = intval($step_array[2]); } else { $step = 0; } } else { if (empty($class_sql)) { $field_list = $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb WHERE\n\t\t\t\t\t\t\t" . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id"; } else { $field_list = $config['table_prefix'] . "listingsdbelements, " . $config['table_prefix'] . "listingsdb, " . $config['table_prefix_no_lang'] . "classlistingsdb\n\t\t\t\t\t\t\t WHERE " . $config['table_prefix'] . "listingsdbelements.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id AND\n\t\t\t\t\t\t\t " . $config['table_prefix_no_lang'] . "classlistingsdb.listingsdb_id = " . $config['table_prefix'] . "listingsdb.listingsdb_id"; } global $db_type; if ($db_type == 'mysql') { if ($field_type == 'decimal') { $max = $conn->Execute("select max(listingsdbelements_field_value+0) as max FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $max = $max->fields['max']; $min = $conn->Execute("select min(listingsdbelements_field_value+0) as min FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $min = $min->fields['min']; } else { $max = $conn->Execute("select max(CAST(listingsdbelements_field_value as signed)) as max FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $max = $max->fields['max']; $min = $conn->Execute("select min(CAST(listingsdbelements_field_value as signed)) as min FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $min = $min->fields['min']; if ($field_type == 'price') { $min = substr_replace($min, '000', -3); } } } else { if ($field_type == 'decimal') { $max = $conn->Execute("select max(listingsdbelements_field_value+0) as max FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $max = $max->fields['max']; $min = $conn->Execute("select min(listingsdbelements_field_value+0) as min FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $min = $min->fields['min']; } else { $max = $conn->Execute("select max(CAST(listingsdbelements_field_value as int4)) as max FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $max = $max->fields['max']; $min = $conn->Execute("select min(CAST(listingsdbelements_field_value as int4)) as min FROM {$field_list} AND listingsdbelements_field_name = '{$browse_field_name}'" . $class_sql); $min = $min->fields['min']; if ($field_type == 'price') { $min = substr_replace($min, '000', -3); } } } } if ($step == 0) { if ($max > $min) { $step = ceil(($max - $min) / 10); } else { $step = ceil($max / 10); } } if ($config["search_step_max"] >= '1') { $step_val = ($max - $min) / $config["search_step_max"]; if ($step_val > $step) { $step = $step_val; } } $display .= '<select name="' . $browse_field_name . '-min">' . "\n"; $options = '<option value="">' . $lang['all'] . '</option>' . "\n"; if ($field_type == 'price') { $i = $min; while ($i < $max) { $z = $misc->international_num_format($i, $config['number_decimals_price_fields']); $z = $misc->money_formats($z); $selected = ''; if (isset($_GET[$browse_field_name . '-min']) && $_GET[$browse_field_name . '-min'] == $i) { $selected = 'selected="selected"'; } $options .= '<option value="' . $i . '" ' . $selected . '>' . $z . '</option>'; $i += $step; } $z = $misc->international_num_format($max, $config['number_decimals_price_fields']); $z = $misc->money_formats($z); $selected = ''; if (isset($_GET[$browse_field_name . '-min']) && $_GET[$browse_field_name . '-min'] == $i) { $selected = 'selected="selected"'; } $options .= '<option value="' . $max . '" ' . $selected . '>' . $z . '</option>'; } else { $i = $min; while ($i < $max) { $selected = ''; if (isset($_GET[$browse_field_name . '-min']) && $_GET[$browse_field_name . '-min'] == $i) { $selected = 'selected="selected"'; } $options .= '<option ' . $selected . '>' . $i . '</option>'; $i += $step; } $selected = ''; if (isset($_GET[$browse_field_name . '-min']) && $_GET[$browse_field_name . '-min'] == $max) { $selected = 'selected="selected"'; } $options .= '<option ' . $selected . '>' . $max . '</option>'; } $options .= '</select>'; $display .= $options . ' ' . $lang['to'] . '<br />'; $options = '<option value="">' . $lang['all'] . '</option>' . "\n"; if ($field_type == 'price') { $i = $min; while ($i < $max) { $z = $misc->international_num_format($i, $config['number_decimals_price_fields']); $z = $misc->money_formats($z); $selected = ''; if (isset($_GET[$browse_field_name . '-max']) && $_GET[$browse_field_name . '-max'] == $i) { $selected = 'selected="selected"'; } $options .= '<option value="' . $i . '" ' . $selected . '>' . $z . '</option>'; $i += $step; } $z = $misc->international_num_format($max, $config['number_decimals_price_fields']); $z = $misc->money_formats($z); $selected = ''; if (isset($_GET[$browse_field_name . '-max']) && $_GET[$browse_field_name . '-max'] == $i) { $selected = 'selected="selected"'; } $options .= '<option value="' . $max . '" ' . $selected . '>' . $z . '</option>'; } else { $i = $min; while ($i < $max) { $selected = ''; if (isset($_GET[$browse_field_name . '-max']) && $_GET[$browse_field_name . '-max'] == $i) { $selected = 'selected="selected"'; } $options .= '<option ' . $selected . '>' . $i . '</option>'; $i += $step; } $selected = ''; if (isset($_GET[$browse_field_name . '-max']) && $_GET[$browse_field_name . '-max'] == $max) { $selected = 'selected="selected"'; } $options .= '<option ' . $selected . '>' . $max . '</option>'; } $options .= '</select>'; $display .= '<select name="' . $browse_field_name . '-max">' . $options . '</td></tr>'; break; } // End switch ($searchbox_type) $time2 = $misc->getmicrotime(); $render_time = sprintf('%.3f', $time2 - $time); $display .= "\r\n" . '<!--Search Box ' . $browse_field_name . ' Render Time ' . $render_time . ' -->' . "\r\n"; return $display; }