Plugin Directory

Changeset 1238274


Ignore:
Timestamp:
09/04/2015 07:48:34 PM (11 years ago)
Author:
ppohler
Message:

Fix offset, add limit & sort_option params to search form, fix quotes in search

Location:
rets-rabbit/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • rets-rabbit/trunk/rr_actions.php

    r1102919 r1238274  
    1111            if(stripos($key, 'rets:') !== false) {
    1212                $new_key = str_replace('rets:', '', $key);
    13                 $val = sanitize_text_field($value);
     13
     14                $val = $value;//sanitize_text_field($value);
     15
    1416                //even though we don't send blank values to the RR API, save them anyway so
    1517                //we can populate the search form correctly on the results page
     
    2426        $orderby = ((isset($_POST['orderby']) && $_POST['orderby'] != '') ? $_POST['orderby'] : "");
    2527        $sort_order = ((isset($_POST['sort_order']) && $_POST['sort_order'] != '') ? $_POST['sort_order'] : "");
     28        $sort_option = ((isset($_POST['sort_option']) && $_POST['sort_option'] != '') ? $_POST['sort_option'] : "");
    2629
    2730        if(sizeof($params) > 0) {
     
    3336                'orderby'        => $orderby,
    3437                'sort_order'     => $sort_order,
     38                'sort_option'    => $sort_option,
    3539                'page'           => 1
    3640            );
  • rets-rabbit/trunk/rr_adapter.php

    r1102919 r1238274  
    7373    }
    7474
    75     public function run_search($params, $limit, $num_photos, $orderby = "", $sort_order = "") {
     75    public function run_search($params, $limit, $num_photos, $orderby = "", $sort_order = "", $sort_option = "") {
    7676        $client = new Client($this->access_token, true);
    7777        $servers = $client->getServers();
    7878        $server_hash = $servers[0]['server_hash']; //dangerous, need to adjust this
    7979
    80         $query = $this->_prepare_query($params, $limit, $orderby, $sort_order);
     80        $query = $this->_prepare_query($params, $limit, $orderby, $sort_order, $sort_option);
    8181        $response = $client->getSearchListings($server_hash, $query);
    8282
     
    127127            $form_data = array(
    128128                'orderby' => $query_params['orderby'],
    129                 'sort_order' => $query_params['sort_order']
     129                'sort_order' => $query_params['sort_order'],
     130                'limit'     => $query_params['limit'],
     131                'sort_option' => $query_params['sort_option']
    130132            );
    131133
     
    142144    }
    143145
    144     private function _prepare_query($parameters, $limit, $orderby, $sort_order) {
     146    private function _prepare_query($parameters, $limit, $orderby, $sort_order, $sort_option) {
    145147        $query = array();
    146148        if($parameters != null) {
    147149            foreach($parameters as $key => $value) {
    148150                //keys/fields to ignore and not send the RR API, also don't send any blank values
     151                $value = str_replace("\'", "'", $value);
    149152                if($value != '' && strtolower($key) != 'limit' && strtolower($key) != 'num_photos'
    150153                    && strtolower($key) != 'search_segment' && strtolower($key) != 'short_code') {
     
    158161        $query['orderby'] = $orderby;
    159162        $query['sort_order'] = $sort_order;
     163        $query['sort_option'] = $sort_option;
    160164
    161165        return $query;
     
    163167
    164168    private function _get_offset($perpage) {
    165         $current_page = 1;
    166         /*
    167         $perpage = $this->perpage;
    168 
    169         if(!$perpage = get_query_var('rr_limit'))
    170             $perpage = $this->perpage;
    171         */
    172         if ( !$current_page = get_query_var('paged') )
    173             $current_page = 1;
    174 
    175         return ($current_page == 1 ? 1 : ($perpage * ($current_page - 1) + 1));
     169        $current_page = get_query_var('paged');
     170        return ($current_page == 0 ? 0 : ($perpage * ($current_page - 1)));
    176171    }
    177172
  • rets-rabbit/trunk/rr_shortcodes.php

    r1102919 r1238274  
    5353        $orderby = $query_params['orderby'];
    5454        $sort_order = $query_params['sort_order'];
     55        $limit = $query_params['limit'];
     56        $sort_option = $query_params['sort_option'];
    5557
    5658        if($params != null && sizeof($params) > 0) {
    5759            $rr_adapter = new rr_adapter();
    58             $results = $rr_adapter->run_search($params, $limit, $num_photos, $orderby, $sort_order);
     60            $results = $rr_adapter->run_search($params, $limit, $num_photos, $orderby, $sort_order, $sort_option);
    5961
    6062            return $rr_adapter->parse($results, $template, $paginate, $limit);
  • rets-rabbit/trunk/template/detail.php

    r1102919 r1238274  
    3232            <li><i class="fa fa-fw fa-signal"></i> <strong>Features:</strong> <?= $result['InteriorFeatures']?></li>
    3333            <li><i class="fa fa-fw fa-fire"></i> <strong>Heating Type:</strong> <?= $result['Heating']?></li>
     34            <li>MLSNumber MLS: <?= $result['MLSNumber']?></li>
     35            <li>Unique Matrix ID: <?= $result['Matrix_Unique_ID'] ?></li>
    3436        </ul>
    3537</div>
  • rets-rabbit/trunk/template/search-form.php

    r1102919 r1238274  
    1919            <option value="Lots & Acreage" <?php if ( isset($form_data['PropertyType']) && $form_data['PropertyType'] == "Lots & Acreage"): ?> selected="selected" <?php endif; ?>>Lots & Acreage</option>
    2020            <option value="Residential Lease" <?php if ( isset($form_data['PropertyType']) && $form_data['PropertyType'] == "Residential Lease"): ?> selected="selected" <?php endif; ?>>Residential Lease</option>
    21             <option value="Multi-Family" <?php if ( isset($form_data['PropertyType']) && $form_data['PropertyType'] == "Multi-Family"): ?> selected="selected" <?php endif; ?>>Multi-Family</option>
     21            <option value="'Multi-Family'" <?php if ( isset($form_data['PropertyType']) && $form_data['PropertyType'] == "Multi-Family"): ?> selected="selected" <?php endif; ?>>Multi-Family</option>
    2222        </select>
    2323    </div>
     
    2626        <select name="rets:ListPrice" id="listPrice">
    2727            <option value="" <?php if ( isset($form_data['ListPrice']) && $form_data['ListPrice'] == ""): ?> selected="selected" <?php endif; ?>>Any</option>
     28            <option value="30000-300000">30,000-300,000</option>
    2829            <option value="100000-" <?php if ( isset($form_data['ListPrice']) && $form_data['ListPrice'] == "100000-"): ?> selected="selected" <?php endif; ?>>Less than $100,000</option>
    2930            <option value="100001-150000" <?php if ( isset($form_data['ListPrice']) && $form_data['ListPrice'] == "100001-150000"): ?> selected="selected" <?php endif; ?>>$100,000 - $150,000</option>
     
    3738            <option value="500000+" <?php if ( isset($form_data['ListPrice']) && $form_data['ListPrice'] == "500000+"): ?> selected="selected" <?php endif; ?>>$500,000+</option>
    3839        </select>
     40    </div>
     41    <div>
     42        <Label>MLS number</label>
     43        <input type="text" name="rets:Matrix_Unique_ID:nocase" value="51209969">
    3944    </div>
    4045    <?php
     
    5459        <input type="radio" group="sort_order" name="sort_order" <?php if ( isset($form_data['sort_order']) && $form_data['sort_order'] == "desc"): ?> checked <?php endif; ?> value="desc">Descending
    5560        <input type="radio" group="sort_order" name="sort_order" <?php if ( isset($form_data['sort_order']) && $form_data['sort_order'] == "asc"): ?> checked <?php endif; ?> value="asc">Ascending
     61        <input type="text" name="sort_option" value="numeric">
     62        <input type="text" name="limit" value="10">
    5663    </div>
    5764    <div>
Note: See TracChangeset for help on using the changeset viewer.