function update_event_venue() { global $wpdb; $wpdb->show_errors(); $venue_updated = false; if (isset($_REQUEST['venue_id'])) { $venue_id = $_REQUEST['venue_id']; if (function_exists('espresso_user_has_venue_permission')) { if (!espresso_user_has_venue_permission($venue_id)) { echo '<h2>' . __('Sorry, you do not have permission to edit this Venue.', 'event_espresso') . '</h2>'; return; } } //print_r($_REQUEST); $venue_meta['contact'] = isset($_REQUEST['contact']) ? $_REQUEST['contact'] : ''; $venue_meta['phone'] = isset($_REQUEST['phone']) ? $_REQUEST['phone'] : ''; $venue_meta['twitter'] = isset($_REQUEST['twitter']) ? $_REQUEST['twitter'] : ''; $venue_meta['image'] = isset($_REQUEST['image']) ? $_REQUEST['image'] : ''; $venue_meta['website'] = isset($_REQUEST['website']) ? $_REQUEST['website'] : ''; $venue_meta['description'] = isset($_REQUEST['description']) ? esc_html($_REQUEST['description']) : ''; $locale = isset($_REQUEST['locale']) ? $_REQUEST['locale'] : ''; $meta = serialize($venue_meta); $sql = array('name' => isset($_REQUEST['name']) ? $_REQUEST['name'] : '', 'address' => isset($_REQUEST['address']) ? $_REQUEST['address'] : '', 'address2' => isset($_REQUEST['address2']) ? $_REQUEST['address2'] : '', 'city' => isset($_REQUEST['city']) ? $_REQUEST['city'] : '', 'state' => isset($_REQUEST['state']) ? $_REQUEST['state'] : '', 'zip' => isset($_REQUEST['zip']) ? $_REQUEST['zip'] : '', 'country' => isset($_REQUEST['country']) ? $_REQUEST['country'] : '', 'meta' => $meta); $update_id = array('id' => $venue_id); /*echo 'Debug: <br />'; print_r($sql); print 'Number of vars: ' . count ($sql); echo '<br />'; print 'Number of cols: ' . count($sql_data);*/ $sql_data = array('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'); $wpdb->update(EVENTS_VENUE_TABLE, $sql, $update_id, $sql_data, array('%d')); #if ( $wpdb->rows_affected > 0 ) { $venue_updated = true; if (!empty($locale)) { $wpdb->query("DELETE FROM " . EVENTS_LOCALE_REL_TABLE . " WHERE venue_id='" . $venue_id . "'"); $sql_locale = "INSERT INTO " . EVENTS_LOCALE_REL_TABLE . " ( venue_id, locale_id) VALUES ( '" . $venue_id . "', '" . $locale . "')"; if (!$wpdb->query($sql_locale)) { $error = true; } } #} } if ($venue_updated) { ?> <div id="message" class="updated fade"> <p><strong><?php _e('The venue has been updated.', 'event_espresso'); ?> </strong></p> </div> <?php } }
function event_espresso_venue_config_mnu() { global $wpdb, $current_user, $espresso_premium; $_REQUEST['action'] = isset($_REQUEST['action']) ? $_REQUEST['action'] : NULL; ?> <div class="wrap"> <div id="icon-options-event" class="icon32"> </div> <h2> <?php _e('Manage Venues', 'event_espresso'); ?> <?php if ($_REQUEST['action'] != 'edit' && $_REQUEST['action'] != 'add_new_venue') { echo '<a href="admin.php?page=event_venues&action=add_new_venue" class="button add-new-h2" style="margin-left: 20px;">' . __('Add New Venue', 'event_espresso') . '</a>'; } ?> </h2> <?php ob_start(); if (isset($_POST['delete_venue']) || isset($_REQUEST['action']) && 'delete_venue' == $_REQUEST['action']) { $venue_deleted = 0; if (isset($_POST['checkbox']) && is_array($_POST['checkbox'])) { while (list($key, $value) = each($_POST['checkbox'])) { $del_id = $key; $flag = true; if (function_exists('espresso_user_has_venue_permission')) { $flag = espresso_user_has_venue_permission($del_id); } if ($flag) { //Delete venue data $sql = "DELETE FROM " . EVENTS_VENUE_TABLE . " WHERE id='{$del_id}'"; $wpdb->query($sql); if ($wpdb->rows_affected > 0) { $venue_deleted++; } $sql = "DELETE FROM " . EVENTS_VENUE_REL_TABLE . " WHERE venue_id='{$del_id}'"; $wpdb->query($sql); $sql = "DELETE FROM " . EVENTS_LOCALE_REL_TABLE . " WHERE venue_id='{$del_id}'"; $wpdb->query($sql); } } } if (isset($_REQUEST['id']) && 'delete_venue' == $_REQUEST['action']) { $flag = true; $del_id = $_REQUEST['id']; if (function_exists('espresso_user_has_venue_permission')) { $flag = espresso_user_has_venue_permission($del_id); } if ($flag) { //Delete discount data $sql = "DELETE FROM " . EVENTS_VENUE_TABLE . " WHERE id='" . $del_id . "'"; $wpdb->query($sql); if ($wpdb->rows_affected > 0) { $venue_deleted++; } $sql = "DELETE FROM " . EVENTS_VENUE_REL_TABLE . " WHERE venue_id='" . $del_id . "'"; $wpdb->query($sql); $sql = "DELETE FROM " . EVENTS_LOCALE_REL_TABLE . " WHERE venue_id='" . $del_id . "'"; $wpdb->query($sql); } } if ($venue_deleted > 0) { ?> <div id="message" class="updated fade"> <p><strong> <?php _e('Venues have been successfully deleted from the event.', 'event_espresso'); ?> </strong></p> </div> <?php } } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'update') { require_once "update_venue.php"; update_event_venue(); } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'add') { require_once "add_venue_to_db.php"; add_venue_to_db(); } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'add_new_venue') { require_once "add_new_venue.php"; add_new_event_venue(); } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'edit') { require_once "edit_venue.php"; edit_event_venue(); } ?> <form id="form1" name="form1" method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?> "> <table id="table" class="widefat manage-discounts"> <thead> <tr> <th class="manage-column column-cb check-column" id="cb" scope="col" style="width:2.5%;"><input type="checkbox"></th> <th class="manage-column column-comments num" id="id" style="padding-top:7px; width:2.5%;" scope="col" title="Click to Sort"><?php _e('ID', 'event_espresso'); ?> </th> <th class="manage-column column-title" id="name" scope="col" title="Click to Sort" style="width:20%;"><?php _e('Name', 'event_espresso'); ?> </th> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true) { ?> <th class="manage-column column-creator" id="creator" scope="col" title="Click to Sort" style="width:20%;"><?php _e('Locale', 'event_espresso'); ?> </th> <?php } ?> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true) { ?> <th class="manage-column column-creator" id="creator" scope="col" title="Click to Sort" style="width:20%;"><?php _e('Creator', 'event_espresso'); ?> </th> <?php } ?> <th class="manage-column column-author" id="start" scope="col" title="Click to Sort" style="width:20%;"><?php _e('Shortcode', 'event_espresso'); ?> </th> </tr> </thead> <tbody> <?php global $espresso_manager; // If user is an event manager, then show only their venues $sql = "( SELECT v.* FROM " . EVENTS_VENUE_TABLE . " v "; if (function_exists('espresso_member_data') && espresso_member_data('role') == 'espresso_group_admin') { if ($espresso_manager['event_manager_venue'] == "Y") { // show only venues inside their assigned locales. $group = get_user_meta(espresso_member_data('id'), "espresso_group", true); $sql .= " LEFT JOIN " . EVENTS_LOCALE_REL_TABLE . " l ON l.venue_id = v.id "; $sql .= " WHERE l.locale_id IN (" . implode(",", $group) . ")"; $sql .= ") UNION ( "; $sql .= "SELECT v.* FROM " . EVENTS_VENUE_TABLE . " v "; } } if (function_exists('espresso_member_data') && (espresso_member_data('role') == 'espresso_event_manager' || espresso_member_data('role') == 'espresso_group_admin')) { $sql .= " WHERE v.wp_user = "******")"; #echo $sql; #exit("TEST"); $wpdb->query($sql); if ($wpdb->num_rows > 0) { $results = $wpdb->get_results($sql . " ORDER BY id ASC"); foreach ($results as $result) { $venue_id = $result->id; $name = isset($result->name) ? stripslashes_deep($result->name) : ''; $venue_desc = isset($result->venue_desc) ? stripslashes_deep($result->venue_desc) : ''; $wp_user = isset($result->wp_user) ? $result->wp_user : ''; ?> <tr> <td class="check-column" style="padding:7px 0 22px 5px; vertical-align:top;"><input name="checkbox[<?php echo $venue_id; ?> ]" type="checkbox" title="Delete <?php echo stripslashes($name); ?> "></td> <td class="column-comments" style="padding-top:3px;"><?php echo $venue_id; ?> </td> <td class="post-title page-title column-title"><strong><a href="admin.php?page=event_venues&action=edit&id=<?php echo $venue_id; ?> "><?php echo $name; ?> </a></strong> <div class="row-actions"> <span class="edit"><a href="admin.php?page=event_venues&action=edit&id=<?php echo $venue_id; ?> "> <?php _e('Edit', 'event_espresso'); ?> </a> | </span> <span class="delete"><a onclick="return confirmDelete();" class="submitdelete" href="admin.php?page=event_venues&action=delete_venue&id=<?php echo $venue_id; ?> "> <?php _e('Delete', 'event_espresso'); ?> </a></span> </div></td> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true) { ?> <td><?php $last_locale_id = $wpdb->get_var("SELECT locale_id FROM " . EVENTS_LOCALE_REL_TABLE . " WHERE venue_id='" . $venue_id . "'"); $locales = $wpdb->get_results("SELECT * FROM " . EVENTS_LOCALE_TABLE . " WHERE id = '" . $last_locale_id . "'"); if (count($locales) > 0) { foreach ($locales as $locale) { $locale_id = $locale->id; $name = stripslashes($locale->name); echo $name; } } ?> </td> <?php } ?> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true) { ?> <td><?php echo espresso_user_meta($wp_user, 'user_firstname') != '' ? espresso_user_meta($wp_user, 'user_firstname') . ' ' . espresso_user_meta($wp_user, 'user_lastname') : espresso_user_meta($wp_user, 'display_name'); ?> </td> <?php } ?> <td>[ESPRESSO_VENUE id="<?php echo $venue_id; ?> "]</td> </tr> <?php } } ?> </tbody> </table> <div style="clear:both"> <p> <input type="checkbox" name="sAll" onclick="selectAll(this)" /> <strong> <?php _e('Check All', 'event_espresso'); ?> </strong> <input name="delete_venue" type="submit" class="button-secondary" id="delete_venue" value="<?php _e('Delete Venue', 'event_espresso'); ?> " style="margin-left:10px 0 0 10px;" onclick="return confirmDelete();"> <a style="margin-left:5px"class="button-primary" href="admin.php?page=event_venues&action=add_new_venue"> <?php _e('Add New Venue', 'event_espresso'); ?> </a> </p> </div> </form> <?php $main_post_content = ob_get_clean(); espresso_choose_layout($main_post_content, event_espresso_display_right_column()); ?> </div> <?php #### help dialogue box #### ?> <div id="venue_locale" style="display:none"> <div class="TB-ee-frame"> <h2> <?php _e('Venue Locale/Region', 'event_espresso'); ?> </h2> <p> <?php _e('This can be used to group venues together by locales/regions.', 'event_espresso'); ?> </p> <p> <?php _e('Once you have created a locale in the <a href="admin.php?page=event_locales"> Manage Locales/Regions</a> page it will be available to select on the \'Add a Venue\' page', 'event_espresso'); ?> </p> </div> </div> <?php #### end help #### ?> <script> jQuery(document).ready(function($) { /* show the table data */ var mytable = $('#table').dataTable( { "bStateSave": true, "sPaginationType": "full_numbers", "oLanguage": { "sSearch": "<strong><?php _e('Live Search Filter', 'event_espresso'); ?> :</strong>", "sZeroRecords": "<?php _e('No Records Found!', 'event_espresso'); ?> " }, "aoColumns": [ { "bSortable": false }, null, <?php echo function_exists('espresso_is_admin') && espresso_is_admin() == true ? 'null,' : ''; ?> null, <?php echo function_exists('espresso_is_admin') && espresso_is_admin() == true ? 'null,' : ''; ?> { "bSortable": false } ] } ); } ); // Add new venue form validation jQuery(function(){ jQuery('#venues-form').validate({ rules: { name: "required" }, messages: { name: "please add a name for your venue" } }); }); </script> <?php }
function edit_event_venue() { global $wpdb; $id = $_REQUEST['id']; if (function_exists('espresso_user_has_venue_permission')) { if (!espresso_user_has_venue_permission($id)) { echo '<h2>' . __('Sorry, you do not have permission to edit this Venue.', 'event_espresso') . '</h2>'; return; } } $sql = "SELECT * FROM " . EVENTS_VENUE_TABLE . " v WHERE v.id ='" . $id . "' "; /* if ( function_exists( 'espresso_member_data' ) ) { if ( 'espresso_event_manager' == espresso_member_data( 'role' ) ) { $sql .= " AND v.wp_user = '******'id') . "' "; } elseif ( 'espresso_group_admin' == espresso_member_data( ( 'role' ) ) ) { if( "y" == strtolower( $espresso_manager['event_manager_venue'] ) ){ $sql .= " AND ( v.wp_user = '******'id') . "' "; //OR v.id IN ( )"; } else { $sql .= " AND v.wp_user = '******'id') . "' "; } } } * */ // echo $sql; $result = $wpdb->get_row($sql); if ($result == NULL) { echo '<h2>' . __('Sorry, no venue was found.', 'event_espresso') . '</h2>'; return; } $venue_id = $result->id; $name = stripslashes_deep($result->name); $address = stripslashes_deep($result->address); $address2 = stripslashes_deep($result->address2); $city = stripslashes_deep($result->city); $state = stripslashes_deep($result->state); $zip = stripslashes_deep($result->zip); $country = stripslashes_deep($result->country); $meta = unserialize($result->meta); $last_locale_id = $wpdb->get_var("SELECT locale_id FROM " . EVENTS_LOCALE_REL_TABLE . " WHERE venue_id = '" . $id . "'"); ?> <!--Add event display--> <div id="add-edit-venue" class="metabox-holder"> <div class="postbox"> <h3> <?php _e('Edit Venue:', 'event_espresso'); ?> <?php echo stripslashes($name); ?> </h3> <div class="inside"> <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?> "> <input type="hidden" name="venue_id" value="<?php echo $venue_id; ?> "> <input type="hidden" name="action" value="update"> <table width="100%" border="0"> <tr> <td align="left" valign="top"><ul> <li> <label for="name"> <?php _e('Name', 'event_espresso'); ?> </label> <input type="text" id="name" name="name" size="25" value="<?php echo $name; ?> "> </li> <li> <label for="address"> <?php _e('Address', 'event_espresso'); ?> </label> <input type="text" id="address" name="address" size="25" value="<?php echo $address; ?> "> </li> <li> <label for="address2"> <?php _e('Address 2', 'event_espresso'); ?> </label> <input type="text" id="address2" name="address2" size="25" value="<?php echo $address2; ?> "> </li> <li> <label for="city"> <?php _e('City', 'event_espresso'); ?> </label> <input type="text" id="city" name="city" size="25" value="<?php echo $city; ?> "> </li> <li> <label for="state"> <?php _e('State', 'event_espresso'); ?> </label> <input type="text" id="state" name="state" size="25" value="<?php echo $state; ?> "> </li> <li> <label for="zip"> <?php _e('Zip', 'event_espresso'); ?> </label> <input type="text" id="zip" name="zip" size="25" value="<?php echo $zip; ?> "> </li> <li> <label for="country"> <?php _e('Country', 'event_espresso'); ?> </label> <input type="text" id="country" name="country" size="25" value="<?php echo $country; ?> "> </li> <?php // if (function_exists('espresso_manager_pro_version')) { ?> <li> <label for="locale"> <?php _e('Locale/Region ', 'event_espresso'); ?> <a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=venue_locale"><img src="<?php echo EVENT_ESPRESSO_PLUGINFULLURL; ?> images/question-frame.png" width="16" height="16" /></a> </label> <?php $sql = "SELECT * FROM " . EVENTS_LOCALE_TABLE . " ORDER BY name ASC"; $results = $wpdb->get_results($sql); if ($wpdb->num_rows > 0) { ?> <select name="locale" id="local"> <?php foreach ($results as $result) { $locale_id = $result->id; $name = stripslashes($result->name); $sel = ""; if ($last_locale_id == $locale_id) { $sel = " SELECTED "; } ?> <option value="<?php echo $locale_id; ?> " <?php echo $sel; ?> ><?php echo $name; ?> </option> <?php } ?> </select> <?php } else { ?> <p><?php _e('You have not created any locales yet. To create Locales please visit', 'event_espresso'); ?> <a href="admin.php?page=event_locales"> <?php _e('Manage Locales/Regions', 'event_espresso'); ?> </a> <?php _e('page.', 'event_espresso'); ?> </p> <?php } ?> </li> <?php } // end if function_exists('espresso_member_data' ?> </ul></td> <td align="left" valign="top" class="b"><ul> <li> <label for="contact"> <?php _e('Contact', 'event_espresso'); ?> </label> <input type="text" id="contact" name="contact" size="25" value="<?php echo stripslashes_deep($meta['contact']); ?> "> </li> <li> <label for="phone"> <?php _e('Phone', 'event_espresso'); ?> </label> <input type="text" id="phone" name="phone" size="25" value="<?php echo stripslashes_deep($meta['phone']); ?> "> </li> <li> <label for="twitter"> <?php _e('Twitter', 'event_espresso'); ?> </label> <input type="text" id="twitter" name="twitter" size="25" value="<?php echo stripslashes_deep($meta['twitter']); ?> "> </li> <li> <label for="website"> <?php _e('Website', 'event_espresso'); ?> </label> <input type="text" id="website" name="website" size="25" value="<?php echo stripslashes_deep($meta['website']); ?> "> </li> <li> <label for="image"> <?php _e('Image/Logo URL', 'event_espresso'); ?> </label> <input type="text" id="image" name="image" size="25" value="<?php echo stripslashes_deep($meta['image']); ?> "> </li> </ul></td> </tr> </table> <div id="descriptiondivrich" class="postarea"> <label for="description" class="section-heading"> <?php _e('Description', 'event_espresso'); ?> </label> <div class="postbox"> <?php if (function_exists('wp_editor')) { $args = array("textarea_rows" => 5, "textarea_name" => "description", "editor_class" => "my_editor_custom"); wp_editor(espresso_admin_format_content($meta['description']), "description", $args); } else { the_editor(espresso_admin_format_content($meta['description']), $id = 'event_desc', $prev_id = 'title', $media_buttons = true, $tab_index = 3); } //the_editor(espresso_admin_format_content($meta['description']), $id = 'description', $prev_id = 'title', $media_buttons = true, $tab_index = 3); ?> <table id="venue-descr-add-form" cellspacing="0"> <tbody> <tr> <td class="aer-word-count"></td> <td class="autosave-info"><span> <p></p> </span></td> </tr> </tbody> </table> </div> <!-- /.postbox --> <p> <input class="button-primary" type="submit" name="Submit" value="<?php _e('Update Venue'); ?> " id="update_venue" /> </p> </div> <!-- /#descriptiondivrich --> </form> </div> <!-- /.inside --> </div> <!-- /.postbox --> </div> <!-- /.metabox-holder --> <?php //espresso_tiny_mce(); }