public function get_city_links($shortcode) { $defaults = array('city_list' => 'combinedActiveMLS', 'mls' => '', 'use_columns' => 0, 'number_columns' => 4, 'styles' => 1); $approved_mls = \IDX\Widgets\Impress_City_Links_Widget::mls_options($defaults); $city_list_options = \IDX\Widgets\Impress_City_Links_Widget::city_list_options($defaults); $output = ''; // MLS $output .= "<div class=\"idx-modal-shortcode-field\" data-shortcode=\"{$shortcode}\">"; $output .= "<label for\"mls\">MLS to use for city links</label>"; $output .= "<select id=\"mls\" data-short-name=\"mls\">"; $output .= $approved_mls; $output .= "</select>"; $output .= "</div>"; // City List $output .= "<div class=\"idx-modal-shortcode-field\" data-shortcode=\"{$shortcode}\">"; $output .= "<label for\"city-list\">Select a city list</label>"; $output .= "<select id=\"city-list\" data-short-name=\"city_list\">"; $output .= $city_list_options; $output .= "</select>"; $output .= "</div>"; // Use Columns $output .= "<div class=\"idx-modal-shortcode-field checkbox\" data-shortcode=\"{$shortcode}\">"; $output .= "<input type=\"checkbox\" id=\"use-columns\" data-short-name=\"use_columns\">"; $output .= "<label for\"use-columns\">Split links into columns?</label>"; $output .= "</div>"; // Number of Columns $output .= "<div class=\"idx-modal-shortcode-field\" data-shortcode=\"{$shortcode}\">"; $output .= "<label for\"number-columns\">Number of columns</label>"; $output .= "<select id=\"number-columns\" data-short-name=\"number_columns\">"; $output .= "<option value=\"2\">2</option>"; $output .= "<option value=\"3\">3</option>"; $output .= "<option value=\"4\" selected=\"selected\">4</option>"; $output .= "</select>"; $output .= "</div>"; // Default Styles $output .= "<div class=\"idx-modal-shortcode-field checkbox\" data-shortcode=\"{$shortcode}\">"; $output .= "<input type=\"checkbox\" id=\"styles\" data-short-name=\"styles\" checked>"; $output .= "<label for\"styles\">Default Styles?</label>"; $output .= "</div>"; $output .= "<p>Don't have any city lists? Go create some in your <a href=\"http://middleware.idxbroker.com/mgmt/citycountyziplists.php\" target=\"_blank\">IDX dashboard.</a></p>"; // Styles and Scripts for Preview $output .= "<script>(function(){"; //empty url array so styles can be disabled and enabled as expected $output .= "styleSheetUrls = [];"; $output .= "addStyleSheet(\"" . plugins_url('../assets/css/widgets/impress-city-links.css', dirname(__FILE__)) . "\", \"#styles\");"; $output .= "return previewTabButton.addEventListener('click', function(){refreshStyles('#styles')});"; $output .= "})();</script>"; return $output; }
public function city_links_shortcode($atts = array()) { extract(shortcode_atts(array('city_list' => 'combinedActiveMLS', 'mls' => 'a000', 'use_columns' => 1, 'number_columns' => 4, 'styles' => 1), $atts)); if (!empty($styles)) { wp_enqueue_style('impress-city-links', plugins_url('../assets/css/widgets/impress-city-links.css', dirname(__FILE__))); } $city_links = "<div class=\"impress-city-links\">"; $city_links .= \IDX\Widgets\Impress_City_Links_Widget::city_list_links($city_list, $mls, $use_columns, $number_columns); $city_links .= "</div>"; if (false == $city_links) { return 'City list ID or MLS ID not found'; } $city_links .= '<style>.impress-city-list-links ul {margin-left: 0;}</style>'; return $city_links; }