public static function get_similar_properties() { if (!empty(self::$_model['listings'][0]) && !empty(self::$_model['listings'][0]->zip)) { $args = array('zip' => self::$_model['listings'][0]->zip); if (!empty(self::$_model['listings'][0]->list_price)) { $price = intval(self::$_model['listings'][0]->list_price); $args['min_list_price'] = intval($price * 0.75 / 1000); $args['max_list_price'] = intval($price * 1.25 / 1000); } if (!empty(self::$_model['listings'][0]->square_feet)) { $square_feet = intval(self::$_model['listings'][0]->square_feet); $args['min_square_feet'] = intval($square_feet * 0.75); $args['max_square_feet'] = intval($square_feet * 1.25); } if (!empty(self::$_model['listings'][0]->subdivision)) { $args['subdivision'] = self::$_model['listings'][0]->subdivision; } $residentials = new DispletRetsIdxResidentials($args); $results = $residentials->get_residentials(); $count = !empty($results['meta']->count) ? intval($results['meta']->count) : 0; $listings = !empty($results['listings']) ? $results['listings'] : array(); if ($count < 10 && $count < self::$_options['listings_per_page'] && !empty($args['subdivision'])) { unset($args['subdivision']); if (!empty(self::$_model['listings'][0]->list_price)) { $price = intval(self::$_model['listings'][0]->list_price); $args['min_list_price'] = intval($price * 0.85 / 1000); $args['max_list_price'] = intval($price * 1.15 / 1000); } if (!empty(self::$_model['listings'][0]->square_feet)) { $square_feet = intval(self::$_model['listings'][0]->square_feet); $args['min_square_feet'] = intval($square_feet * 0.85); $args['max_square_feet'] = intval($square_feet * 1.15); } $residentials = new DispletRetsIdxResidentials($args); $results = $residentials->get_residentials(); if (!empty($results['listings'])) { $listings = array_merge($listings, $results['listings']); } } if (!empty($listings) && is_array($listings)) { $i = 0; $listings_by_id = array(); foreach ($listings as $listing) { if ($i < self::$_options['listings_per_page'] && !empty($listing->id) && $listing->id !== self::$_model['listings'][0]->id) { $listings_by_id[$listing->id] = $listing; $i++; } } self::$_model['similar_listings'] = array_values($listings_by_id); } } }
public static function render_shortcode($attributes) { $model = shortcode_atts(array('orientation' => self::$_options['listings_orientation'], 'price_navigation' => self::$_options['include_price_navigation'], 'price_navigation_prices' => self::$_options['price_navigation_prices'], 'property_type_navigation' => self::$_options['include_property_type_navigation'], 'property_type_sorting' => self::$_options['include_property_type_sorting'], 'stats' => self::$_options['include_stats'], 'layout' => self::$_options['listings_layout'], 'listings' => true, 'caption' => '', 'minlistprice' => '', 'min_list_price' => '', 'maxlistprice' => '', 'max_list_price' => '', 'minbedrooms' => '', 'min_bedrooms' => '', 'maxbedrooms' => '', 'max_bedrooms' => '', 'minbathrooms' => '', 'min_bathrooms' => '', 'maxbathrooms' => '', 'max_bathrooms' => '', 'minsquarefeet' => '', 'min_square_feet' => '', 'maxsquarefeet' => '', 'max_square_feet' => '', 'quick_terms' => '', 'area_mls_defined' => '', 'city' => '', 'property_type' => '', 'minstories' => '', 'min_stories' => '', 'waterfront' => '', 'pool_on_property' => '', 'subdivision' => '', 'keyword' => '', 'school' => '', 'school_district' => '', 'minacres' => '', 'min_acres' => '', 'zip' => '', 'is_foreclosure' => '', 'yearbuilt' => '', 'year_built' => '', 'county' => '', 'status' => '', 'short_sale' => '', 'last_modified' => '', 'listing_agent_id' => '', 'listing_office_id' => '', 'min_lot_size' => '', 'is_gated_community' => '', 'min_sold_date' => '', 'max_sold_date' => '', 'master_on_main' => '', 'basement' => '', 'min_square_feet_available' => '', 'max_square_feet_available' => '', 'min_price_per_sq_feet' => '', 'max_price_per_sq_feet' => '', 'street_name' => '', 'street_number' => '', 'listed_since' => '', 'sort_by' => '', 'direction' => '', 'mls_number' => '', 'poly' => ''), $attributes); $model['show_listings'] = $model['listings']; $model['listings'] = false; $model = self::get_lowercase_yes_no_model($model); $model = self::set_residentials_args($model); $residentials = new DispletRetsIdxResidentials($model); $listings = $residentials->get_residentials(); $model = array_merge($model, $listings); $templates = new DispletRetsIdxTemplates(self::_get_model_for_templates($model)); return $templates->get_templates(); }
public static function get_office_id_ajax() { check_ajax_referer('displet_get_office_id_nonce'); if (isset($_POST['action']) && $_POST['action'] == 'displet_get_office_id_request' && !empty($_POST['mls_number'])) { $residentials = new DispletRetsIdxResidentials(array('return_fields' => 'listing_agent_id', 'mls_number' => $_POST['mls_number'])); $results = $residentials->get_residentials(); if (!empty($results['listings'][0]->listing_office_id)) { echo $results['listings'][0]->listing_office_id; die; } } echo 'Failed'; die; }
private static function get_residentials() { $residentials = new DispletRetsIdxResidentials(self::$_model); $results = $residentials->get_residentials(); if (self::$_model['is_property_details_page'] && self::$_model['is_property_showcase_page'] && empty($results['listings'][0])) { self::$_model['data_from'] = 'api'; $residentials = new DispletRetsIdxResidentials(self::$_model); $results = $residentials->get_residentials(); } if ((self::$_model['is_property_details_page'] || self::$_model['is_property_update_page']) && empty($results['listings'][0])) { $residentials->swap_id_for_sysid(); $results = $residentials->get_residentials(); } if (!empty($results) && is_array($results)) { self::$_model = array_merge(self::$_model, $results); } }
}); </script> <?php global $displetretsidx_option; $user_id = get_current_user_id(); $saved_properties = get_user_meta($user_id, 'displet_saved_properties', true); $has_favorites = $has_possibilities = $has_notes = false; $property_details_url = get_permalink($displetretsidx_option['property_details_page_id']); if (!empty($saved_properties)) { $saved_favorites = array(); $saved_possibilities = array(); $saved_notes = array(); foreach ($saved_properties as $key => $saved_property) { if (!empty($saved_property['sysid'])) { $model = array('id' => $saved_property['sysid']); $residentials = new DispletRetsIdxResidentials($model); $listing = $residentials->get_residentials(); $saved_property = array_merge($saved_property, $listing); //$saved_property['listings'][0]->address = trim($saved_property['listings'][0]->street_number . ' ' . $saved_property['listings'][0]->street_name . ' ' . $saved_property['listings'][0]->street_post_dir); } if ($saved_property['type'] == 'favorite') { $saved_favorites[$key] = $saved_property; } else { if ($saved_property['type'] == 'possibility') { $saved_possibilities[$key] = $saved_property; } else { if ($saved_property['type'] == 'notes') { $saved_notes[$key] = $saved_property; } } }
/** * @param: $criteria: array( 'field' => 'value' ) * @return: success - array() of query args * @return: failure - boolean: false */ function displetretsidx_get_query_args($criteria = false) { $residentials = new DispletRetsIdxResidentials($criteria); $args = $residentials->get_query_args(); if (!empty($args)) { return $args; } return false; }
public static function get_property_showcase_listings_ajax() { check_ajax_referer('displet_get_property_showcase_listings_nonce'); if (isset($_POST['action']) && $_POST['action'] == 'displet_get_property_showcase_listings_request' && !empty($_POST['residential_args'])) { foreach ($_POST['residential_args'] as $key => $value) { if ($value === 'true') { $_POST['residential_args'][$key] = true; } else { if ($value === 'false') { $_POST['residential_args'][$key] = false; } } } if (!empty($_POST['residential_args']['is_shortcode'])) { $_POST['residential_args']['is_shortcode'] = false; } $residentials = new DispletRetsIdxResidentials($_POST['residential_args']); $listings = $residentials->get_residentials(); if (!empty($listings)) { echo json_encode($listings); } die; } echo 'Error'; die; }
public function widget($args, $instance) { $title = apply_filters('widget_title', $instance['title']); if (isset($instance['settings']['criteria']) && is_array($instance['settings']['criteria'])) { $settings = $instance['settings']['criteria']; } else { $settings = false; } echo $args['before_widget']; if ($title) { echo $args['before_title']; echo $title; echo $args['after_title']; } if ($settings) { $model = array(); if (is_array($settings)) { foreach ($settings as $key => $value) { $new_key = strtolower($key); $model[$new_key] = $value; } } $model['is_widget'] = true; $residentials = new DispletRetsIdxResidentials($model); $listings = $residentials->get_residentials(); $model = !empty($listings) ? array_merge($model, $listings) : $model; $model['visible'] = !empty($instance['visible']) && is_numeric($instance['visible']) ? $instance['visible'] : 1; echo DispletRetsIdxTemplatesController::get_template('displet-sidescroller-widget.php', $model); } else { if (current_user_can('manage_options')) { echo '<i>Please configure your DispletReader widget.</i>'; } } echo $args['after_widget']; }