/** * Display a select list for venues. * * @since 1.3 * @param arr $args See $defaults. * @return str The select list. */ function mdjm_venue_dropdown($args = array()) { $defaults = array('name' => '_mdjm_event_venue', 'id' => '', 'selected' => '', 'first_entry' => '', 'first_entry_value' => '', 'class' => '', 'required' => false, 'echo' => true); $args = wp_parse_args($args, $defaults); $args['id'] = !empty($args['id']) ? $args['id'] : $args['name']; $required = !empty($args['required']) ? ' required' : ''; $output = ''; $venues = mdjm_get_venues(); $output .= '<select name="' . $args['name'] . '" id="' . $args['name'] . '" class="' . $args['class'] . '"' . $required . '>'; if (!empty($args['first_entry'])) { $output .= '<option value="' . $args['first_entry_value'] . '">' . esc_attr($args['first_entry']) . '</option>'; } if (!empty($venues)) { foreach ($venues as $venue) { $address = mdjm_get_event_venue_meta($venue->ID, 'address'); $town = mdjm_get_event_venue_meta($venue->ID, 'town'); $option = esc_attr($venue->post_title); $option .= !empty($town) ? ' (' . esc_attr($town) . ')' : ''; $title = !empty($address) ? implode("\n", $address) : ''; $selected = !empty($args['selected']) ? selected($args['selected'], $venue->ID, false) : ''; $output .= '<option value="' . $venue->ID . '" title="' . $title . '"' . $selected . '>' . $option . '</option>'; } } else { $output .= '<option value="" disabled="disabled">' . apply_filters('mdjm_no_venues', __('No venues exist', 'mobile-dj-manager')) . '</option>'; } $output .= '</select>'; if (!empty($args['echo'])) { echo $output; } else { return $output; } }
/** * Adds a new venue from the events screen. * * @since 1.3.7 */ function mdjm_add_venue_ajax() { $venue_id = false; $venue_list = ''; $result = array(); $venue_name = ''; $venue_meta = array(); foreach ($_POST as $key => $value) { if ($key == 'action') { continue; } elseif ($key == 'venue_name') { $venue_name = $value; } else { $venue_meta[$key] = strip_tags(addslashes($value)); } } $venue_id = mdjm_add_venue($venue_name, $venue_meta); $venues = mdjm_get_venues(); $venue_list .= '<option value="manual">' . __(' - Enter Manually - ', 'mobile-dj-manager') . '</option>' . "\r\n"; $venue_list .= '<option value="client">' . __(' - Use Client Address - ', 'mobile-dj-manager') . '</option>' . "\r\n"; if (!empty($venues)) { foreach ($venues as $venue) { $venue_list .= sprintf('<option value="%1$s"%2$s>%3$s</option>', $venue->ID, $venue->ID == $venue_id ? ' selected="selected"' : '', $venue->post_title); } } if (empty($venue_id)) { $result = array('type' => 'error', 'message' => __('Unable to add venue', 'mobile-dj-manager')); } else { $result = array('type' => 'success', 'venue_id' => $venue_id, 'venue_list' => $venue_list); } echo json_encode($result); die; }
/** * Renders an HTML Dropdown of all Transaction Types * * @access public * @since 1.3.7 * @param arr $args See @defaults * @return str $output Venue dropdown */ public function venue_dropdown($args = array()) { $defaults = array('name' => 'venue_id', 'class' => 'mdjm-venue-select', 'id' => '', 'selected' => 0, 'chosen' => false, 'placeholder' => null, 'multiple' => false, 'allow_add' => true, 'show_option_all' => false, 'show_option_none' => __(' - Select Venue - '), 'data' => array()); $args = wp_parse_args($args, $defaults); if ($args['allow_add']) { $args['options'] = array('manual' => __(' - Enter Manually - ', 'mobile-dj-manager'), 'client' => __(' - Use Client Address - ', 'mobile-dj-manager')); } $venues = mdjm_get_venues(); if ($venues) { foreach ($venues as $venue) { $args['options'][$venue->ID] = $venue->post_title; } } $output = $this->select($args); return $output; }