private static function maybe_build_page() { if (self::$_model['is_lead_manager_page']) { DispletRetsIdxLeadManagerPageController::build(); } else { if (self::$_model['is_saved_properties_page']) { DispletRetsIdxSavedPropertiesPageController::build(); } else { if (self::$_model['is_saved_searches_page']) { DispletRetsIdxSavedSearchesPageController::build(); } else { if (self::$_model['is_search_forms_page']) { DispletRetsIdxSearchFormsPageController::build(); } } } } }
public static function set_search_forms_from_widget_areas() { $widget_areas = get_option('sidebars_widgets'); if (!empty($widget_areas) && is_array($widget_areas)) { $search_forms = array(array(), array(), array(), array(), array()); foreach ($widget_areas as $widget_area => $widgets) { if (!empty($widgets)) { if ($widget_area === 'displetretsidx-quick-search-form-mobile') { $search_forms[2][0] = $widgets; } else { if ($widget_area === 'displetretsidx-search-form-mobile') { $search_forms[3][0] = $widgets; } elseif (strpos($widget_area, 'displetretsidx-search-form-advanced-') !== false) { $column_id = intval(str_replace('displetretsidx-search-form-advanced-', '', $widget_area)) - 1; $search_forms[1][$column_id] = $widgets; } else { if (strpos($widget_area, 'displetretsidx-search-form-') !== false) { $column_id = intval(str_replace('displetretsidx-search-form-', '', $widget_area)) - 1; $search_forms[0][$column_id] = $widgets; } else { preg_match('/displetretsidx-quick-search-(\\d{1})-form-(\\d*)/', $widget_area, $matches); if (!empty($matches)) { $form_id = intval($matches[1]) + 3; $column_id = intval($matches[2]) - 1; $search_forms[$form_id][$column_id] = $widgets; } } } } } } $widgets = get_option('widget_displetretsidxsearchfield'); if (!empty($widgets)) { foreach ($search_forms as &$form) { if (!empty($form)) { foreach ($form as &$column) { if (!empty($column) && is_array($column)) { foreach ($column as &$field) { if (strpos($field, 'displetretsidxsearchfield-') !== false) { $key = intval(str_replace('displetretsidxsearchfield-', '', $field)); $field = $widgets[$key]['field']; } } } } } } DispletRetsIdxSearchFormsPageController::set_search_forms($search_forms, true); } } }
public static function set_search_forms($search_forms, $from_update = false) { if (!empty($search_forms)) { if ($from_update && empty(self::$_model)) { self::$_model = array(); } self::_set_defaults(); self::_set_field_options(); foreach ($search_forms as &$form) { if (!empty($form)) { foreach ($form as &$column) { if (!empty($column)) { foreach ($column as &$field) { if (!empty(self::$_model['search_fields'][$field])) { $new_field = array('label' => !empty(self::$_model['search_fields'][$field]['label']) ? self::$_model['search_fields'][$field]['label'] : self::$_model['search_fields'][$field]['title'], 'field' => $field, 'options' => self::$_model['search_fields'][$field]['options'], 'min' => self::$_model['search_fields'][$field]['range']['min'], 'max' => self::$_model['search_fields'][$field]['range']['max'], 'increment' => self::$_model['search_fields'][$field]['range']['increment']); if ($from_update) { if ($field === 'price' || $field === 'price_max' || $field === 'price_min') { if (!empty(self::$_options['search_values_custom_prices'])) { $new_field['range'] = array_map(array('DispletRetsIdxUtilities', 'increase_by_three_orders_of_magnitude'), array_map('trim', explode("\n", self::$_options['search_values_custom_prices']))); } if (!empty(self::$_options['search_values_min_price'])) { $new_field['min'] = intval(self::$_options['search_values_min_price']) * 1000; } if (!empty(self::$_options['search_values_max_price'])) { $new_field['max'] = intval(self::$_options['search_values_max_price']) * 1000; } if (!empty(self::$_options['search_values_price_increment'])) { $new_field['increment'] = intval(self::$_options['search_values_price_increment']) * 1000; } } else { if ($field === 'beds' || $field === 'beds_max' || $field === 'beds_baths') { if (!empty(self::$_options['search_values_beds_min'])) { $new_field['min'] = intval(self::$_options['search_values_beds_min']); } if (!empty(self::$_options['search_values_beds_max'])) { $new_field['max'] = intval(self::$_options['search_values_beds_max']); } } else { if ($field === 'baths' || $field === 'baths_max') { if (!empty(self::$_options['search_values_baths_min'])) { $new_field['min'] = intval(self::$_options['search_values_baths_min']); } if (!empty(self::$_options['search_values_baths_max'])) { $new_field['max'] = intval(self::$_options['search_values_baths_max']); } } else { if ($field === 'square_feet' || $field === 'square_feet_max' || $field === 'square_feet_min') { if (!empty(self::$_options['search_values_min_square_feet'])) { $new_field['min'] = intval(self::$_options['search_values_min_square_feet']); } if (!empty(self::$_options['search_values_max_square_feet'])) { $new_field['max'] = intval(self::$_options['search_values_max_square_feet']); } if (!empty(self::$_options['search_values_square_feet_increment'])) { $new_field['increment'] = intval(self::$_options['search_values_square_feet_increment']); } } else { if ($field === 'acres_min') { if (!empty(self::$_options['search_values_min_acres'])) { $new_field['min'] = floatval(self::$_options['search_values_min_acres']); } if (!empty(self::$_options['search_values_max_acres'])) { $new_field['max'] = floatval(self::$_options['search_values_max_acres']); } if (!empty(self::$_options['search_values_acres_increment'])) { $new_field['increment'] = floatval(self::$_options['search_values_acres_increment']); } } else { if ($field === 'property_type' || $field === 'property_type_select') { if (!empty(self::$_options['search_values_property_types'])) { $property_types = array_filter(self::$_options['search_values_property_types'], array('DispletRetsIdxUtilities', 'remove_false_as_string')); if (!empty($property_types)) { $new_field['options'] = array_keys($property_types); } } } } } } } } } $field = $new_field; } } } } } } DispletRetsIdxOptionsController::update_option('search_forms', $search_forms); } }