Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once("site_helpers.inc.php");
- require_localize();
- class Filter {
- static $connection = null;
- static function GetConnection() {
- if(self::$connection == null) {
- require_once("user.inc.php");
- self::$connection = helper_mysql_connect();
- }
- return self::$connection;
- }
- /**
- * Output options releated to category/brands etc.
- */
- static function GetFilterOptions($SortFilter, $brandIds, $categoryId, $suffixDB)
- {
- /**
- * List Brands
- */
- if($SortFilter === 'brands')
- {
- $brandIds = array_unique($brandIds);
- $query_brands = "SELECT
- maerke_id,
- overskrift
- FROM
- shop_maerke
- WHERE
- maerke_id IN (" . implode(',', $brandIds) . ")
- AND
- status = 1 AND overskrift != ''
- ORDER BY
- overskrift
- ";
- $res_brands = mysql_query($query_brands,self::GetConnection());
- $output .= '
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0; margin-top:10px;">
- <strong>Mærke</strong>
- </p>
- <select multiple="multiple" name="brands" id="brands">';
- while($row = mysql_fetch_assoc($res_brands)){
- $output .= '<option value="'. $row['maerke_id'] .'">'. ucfirst($row['overskrift']) .'</option>';
- }
- $output .= '
- </select>
- </div>';
- }
- /**
- * List filter: Categories/Types
- */
- if($SortFilter === 'category_filters')
- {
- $query_filter = "SELECT
- sf.filterID,
- sf.navn_dk as filter_name
- FROM
- shop_filter sf
- INNER JOIN
- shop_filter_kategori sfk ON sfk.filterID = sf.filterID
- WHERE
- sfk.kategoriID = '$categoryId'
- AND
- sf.status = 1
- GROUP BY
- sf.filterID";
- $res_filter_cat = mysql_query($query_filter, self::GetConnection() );
- while ($category_filter = mysql_fetch_assoc($res_filter_cat))
- {
- $filterID = (int) $category_filter['filterID'];
- $output .='
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0; margin-top:10px;">
- <strong>'. $category_filter['filter_name'] .'</strong>
- </p>
- <select multiple="multiple" name="'. str_replace(' ','',strtolower($category_filter['filter_name'])) .'">';
- // List types
- $q_types = "SELECT
- typeID,
- navn_dk AS type_name
- FROM
- shop_filter_type
- WHERE
- filterID = ".$filterID."
- ";
- $res_types = mysql_query($q_types, self::GetConnection());
- while ($types = mysql_fetch_assoc($res_types))
- {
- $output .= "<option value='".$types['typeID']."'>". $types['type_name'] ."</option>";
- }
- $output .= "
- </select>
- </div>";
- }
- }
- return $output;
- }
- /**
- * Display Price options
- */
- static function GetFilterPriceRange()
- {
- $output .= '
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0;margin-top:10px;">
- <strong>Pris</strong>
- </p>
- <div id="sortby_price" style="width:100%!important;display:inline-block;">
- <a href="javascript:void(0);" onclick="$.filters.ToggleSortbyPrice();" class="toogleClick">
- Vælg
- </a>
- </div>
- <div id="togglePriceRange">
- <div class="row">
- <div class="col-md-12">
- <div class="form-group">
- <div class="input-group">
- <div class="form-control example-val" id="lower-value"></div>
- <div class="input-group-addon">Kr</div>
- </div>
- </div>
- </div>
- <div class="col-md-12">
- <div class="form-group">
- <div class="input-group">
- <div class="form-control example-val" id="upper-value"></div>
- <div class="input-group-addon">Kr</div>
- </div>
- </div>
- </div>
- </div>
- <div style="width:95%;float:left;margin-left:8px;margin-top:5px!important">
- <div id="nonlinear" class="priceRanger col-lg-24 noUi-target noUi-ltr noUi-horizontal noUi-background"></div>
- </div>
- </div>
- </div>';
- return $output;
- }
- /**
- * HTML setup for filterview
- */
- static function HTMLSetup($brandIds,$categoryId, $suffixDB)
- {
- global $content;
- /*
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0; margin-top:10px;">
- <strong>Køn</strong>
- </p>
- <select multiple="multiple" name="gender" id="gender">
- <option>Herre</option>
- <option>Kvinder</option>
- </select>
- </div>
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0; margin-top:10px;">
- <strong>Farve</strong>
- </p>
- <select multiple="multiple" class="form-control FilterMultiple" name="colors" id="colors">
- <option>master_colorid shop_variant</option>
- </select>
- </div>
- <div class="col-lg-4 col-md-6 col-sm-24 col-sm-24" style="margin:0;padding-left:3px;">
- <p style="padding:0;margin:0; margin-top:10px;">
- <strong>Størrelse</strong>
- </p>
- <select multiple="multiple" class="form-control FilterMultiple" name="sizes" id="sizes">
- <option>Sizes</option>
- </select>
- </div>
- */
- $output .= '
- <div class="col-lg-18 col-md-24 col-sm-24 col-xs-24" style="padding:0;margin:0;">
- '. Filter::GetFilterOptions('brands',$brandIds,false,$suffixDB) .'
- '. Filter::GetFilterOptions('category_filters',false,$categoryId,$suffixDB) .'
- '. Filter::GetFilterPriceRange() .'
- </div>';
- /**
- * Load required script for generating multiple select
- */
- $avoidCache = time();
- $content['head'] .= '<link href="/css/jquery.multiselect.css?t='.$avoidCache.'" rel="stylesheet">';
- $content['end_of_body'] .= '
- <script src="/js/filtersearch/jquery.multiselect.js?t='.$avoidCache.'"></script>
- <script src="/js/filtersearch/filter.js?t='.$avoidCache.'"></script>
- <script >
- $(\'select[multiple]\').multiselect({
- columns: 3
- });
- </script>';
- return $output;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement