echo BTPortfolioFilterHelper::extrafield_select($params, $id); break; case 'multiple': echo BTPortfolioFilterHelper::extrafield_multiple($params, $id); break; case 'radio': echo BTPortfolioFilterHelper::extrafield_radio($params, $id); break; case 'checkbox': echo BTPortfolioFilterHelper::extrafield_checkbox($params, $id); break; case 'select': echo BTPortfolioFilterHelper::extrafield_price($params, $extraoption->value, $id); break; case 'texrange': echo BTPortfolioFilterHelper::extrafield_textrange($params, $id); break; } } } echo '</div>'; } ?> <div class="filter-description"> <?php echo $descr; ?> </div> <div class="filter-button"> <input type="hidden" name="method" value="<?php
public static function extrafield_price(&$params, $extravalue, $extratid) { $db = JFactory::getDBO(); $array = array(); $arraynumber = explode(",", $extravalue); $arraynumber = BTPortfolioFilterHelper::remove_array_empty_values($arraynumber); $arrayunit = array(); $query = "SELECT * FROM #__bt_portfolio_extrafields WHERE type=\"measurement\" AND id={$extratid} AND published=1 "; $db->setQuery($query); $rows = $db->loadObjectList(); foreach ($rows as $value) { $array[] = $value->default_value; } foreach ($array as $value) { $number = @unserialize($value); $arrayunit[] = $number[1]; } $selected = ''; $html = ''; sort($arraynumber); $html .= '<div class="ex-' . preg_replace("/[^a-zA-Z0-9]/", "", strtolower($rows[0]->name)) . '">'; $html .= '<div class="ex-min">'; $html .= "<div class=\"filter-label\">"; $html .= "<input type=\"hidden\" name=\"expriceID[]\" value=\"{$extratid}\">"; $html .= "<label>" . sprintf(JText::_('MEASUREMENT_MIN'), $rows[0]->name) . "</label>"; $html .= "</div>"; $extra_select = JRequest::getVar('extra_min', null); $html .= "<div class=\"filter-content\">"; $html .= "<select name=\"extra_min[]\">"; for ($i = 0; $i < count($arraynumber); $i++) { if ($extra_select) { foreach ($extra_select as $key => $item) { if ($item == $arraynumber[$i]) { $selected = ' selected'; break; } else { $selected = ''; } } } else { $minvalue = $arraynumber[0]; if ($minvalue > $arraynumber[$i]) { $minvalue = $arraynumber[$i]; $selected = ' selected'; } else { $selected = ''; } } $html .= '<option value="' . $arraynumber[$i] . '"' . $selected . '>' . $arrayunit[0] . ' ' . number_format($arraynumber[$i], 0, '.', ',') . '</option>'; } $html .= "</select>"; $html .= '</div>'; $html .= '</div>'; //Max select $sl = ""; $extra_max = JRequest::getVar('extra_max', null); $html .= '<div class="ex-max">'; $html .= "<div class=\"filter-label\">"; $html .= "<label>" . sprintf(JText::_('MEASUREMENT_MAX'), $rows[0]->name) . "</label>"; $html .= "</div>"; $html .= "<div class=\"filter-content\">"; $html .= "<select name=\"extra_max[]\">"; for ($i = 0; $i < count($arraynumber); $i++) { if (!isset($extra_max)) { $maxvalue = $arraynumber[0]; if ($maxvalue < $arraynumber[$i]) { $maxvalue = $arraynumber[$i]; $sl = 'selected'; $html .= '<option value="' . $arraynumber[$i] . '"' . $sl . '>' . $arrayunit[0] . ' ' . number_format($arraynumber[$i], 0, '.', ',') . '</option>'; } } else { foreach ($extra_max as $key => $item) { if ($item == $arraynumber[$i]) { $sl = ' selected'; break; } else { $sl = ''; } } $html .= '<option value="' . $arraynumber[$i] . '"' . $sl . '>' . $arrayunit[0] . ' ' . number_format($arraynumber[$i], 0, '.', ',') . '</option>'; } } $html .= "</select>"; $html .= '</div>'; $html .= '</div>'; $html .= '</div>'; return $html; }