'Property Views' ); return $labels; } /** * Helper function to request enumerable values for a given filter * * @param string $filter - filter name * @param string $market - market name * @param string $listingType - listing type name * @return array */ function enumerateFilter($filter, $market, $listingType) { $result = array(); $args = array( 'id' => $market, 'listingType' => $listingType, 'property' => $filter ); $values = \hji\membership\Membership::getInstance()->apiController->api->enumerate($args); if (is_array($values) && isset($values['values']) && !empty($values['values'])) { foreach ($values['values'] as $value) { $result['values'][$value] = $value; } } return $result; } /** * Adds Property Views selection list filter to Sandicor Residential QSW * Implements extended schema filter xf_lfd_view_44 */ add_filter('ridx_search_form_residential', 'add_extended_filter_xf_lfd_view_44', 10, 2); /** * @param array $vars - array of QSW fields and their properties * @param object $widgetModal - \hji\ResponsiveIDX\models\QuickSearchViewModel */ function add_extended_filter_xf_lfd_view_44($vars, $widgetModel) { // Current extended filter only supported by Sandicor market if ($widgetModel->market != 'sandicor') return $vars; // Start creating custom field // Get currently selected value $currentValue = $widgetModel->getParam('xf_lfd_view_44'); // Get filter's enumerable values from API $enum = enumerateFilter('xf_lfd_view_44', $widgetModel->market, 'Residential'); // Define field properties $fieldProperties = array( 'type' => 'select', 'name' => 'xf_lfd_view_44', 'label' => 'Property Views', 'atts' => array( 'id' => 'xf_lfd_view', ), 'before' => '
', 'after' => '
', 'value' => $enum['values'], 'currentValue' => $currentValue, ); // Create field's HTML view $viewField = $widgetModel->createFormField($fieldProperties); // Add field into the array of current fields $vars['mainFields'] = $vars['mainFields'] + array('id' => $viewField); return $vars; }ml version="1.0" encoding="utf-8"?> Chattahoochee River