Function Reference: geodir_add_neighbourhood
Summary
Handles ‘add neighbourhood’ form data.
Global Values
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
- $plugin_prefix
- (string) (required) Geodirectory plugin table prefix.
- Default: None
Package
GeoDirectory_Location_Manager
Change Log
Since: 1.0.0
Source File
geodir_add_neighbourhood() is located in geodir_location_manager/geodir_location_functions.php [Line: 908]
Source Code
function geodir_add_neighbourhood() { global $wpdb,$plugin_prefix; if(isset($_REQUEST['location_addedit_nonce']) && current_user_can( 'manage_options' )){ if ( !wp_verify_nonce( $_REQUEST['location_addedit_nonce'], 'location_add_edit_nonce' ) ) return; $hood_name = $_REQUEST['hood_name']; $gd_latitude = $_REQUEST['gd_latitude']; $gd_longitude = $_REQUEST['gd_longitude']; $city_id = $_REQUEST['update_city']; $hood_id = $_REQUEST['update_hood']; $hood_slug = create_location_slug($hood_name); $countslug = $wpdb->get_var( $wpdb->prepare( "select COUNT(hood_id) AS total from ".POST_NEIGHBOURHOOD_TABLE." WHERE hood_slug LIKE %d", array($hood_slug.'%') ) ); if($countslug!='0'){ $number = $countslug+1; $hood_slug = $hood_slug.'-'.$number; } if($hood_id) { $duplicate = $wpdb->get_var( $wpdb->prepare( "select hood_id from ".POST_NEIGHBOURHOOD_TABLE." WHERE hood_location_id = %d AND hood_name=%s AND hood_id!=%d", array($city_id,$hood_name,$hood_id) ) ); } else { $duplicate = $wpdb->get_var( $wpdb->prepare( "select hood_id from ".POST_NEIGHBOURHOOD_TABLE." WHERE hood_location_id = %d AND hood_name=%s", array($city_id,$hood_name) ) ); } if($duplicate!='') { $setid = ''; if($hood_id){ $setid = '&hood_id='.$hood_id; } $msg = GD_NEIGHBOURHOOD_EXITS; $msg = urlencode($msg); $location = admin_url()."admin.php?page=geodirectory&tab=managelocation_fields&subtab=geodir_location_addedit&add_hood=true&location_error=".$msg."&id=".$city_id.$setid; wp_redirect($location); exit; } if($_POST['location_ajax_action'] == 'add_hood') { if($hood_id) { $sql = $wpdb->prepare("UPDATE ".POST_NEIGHBOURHOOD_TABLE." SET hood_location_id=%d, hood_name=%s, hood_latitude=%s, hood_longitude=%s, hood_slug=%s WHERE hood_id = %d", array($city_id,$hood_name,$gd_latitude,$gd_longitude,$hood_slug,$hood_id)); $location_hood = $wpdb->get_results( $wpdb->prepare( "SELECT l.city, n.hood_slug FROM ".POST_LOCATION_TABLE." l, ".POST_NEIGHBOURHOOD_TABLE." n WHERE n.hood_location_id=l.location_id AND hood_id=%d", array($hood_id) ) ); $geodir_posttypes = geodir_get_posttypes(); foreach($geodir_posttypes as $geodir_posttype){ $table = $plugin_prefix . $geodir_posttype . '_detail'; if($wpdb->get_var("SHOW COLUMNS FROM ".$table." WHERE field = 'post_neighbourhood'")) { if(!empty($location_hood)){ foreach($location_hood as $hood_del){ $wpdb->query( $wpdb->prepare( "UPDATE ".$table." SET post_neighbourhood=%s WHERE post_city=%s AND post_neighbourhood=%s", array($hood_slug,$hood_del->city,$hood_del->hood_slug) ) ); } } } } $msg = MSG_NEIGHBOURHOOD_UPDATED; } else { $sql = $wpdb->prepare("INSERT INTO ".POST_NEIGHBOURHOOD_TABLE." SET hood_location_id=%d, hood_name=%s, hood_slug=%s, hood_latitude=%s, hood_longitude=%s", array($city_id,$hood_name,$hood_slug,$gd_latitude,$gd_longitude)); $msg = MSG_NEIGHBOURHOOD_ADDED; } $wpdb->query($sql); $msg = urlencode($msg); $location = admin_url()."admin.php?page=geodirectory&tab=managelocation_fields&subtab=geodir_location_manager&location_success=".$msg."&city_hood=hoodlist&id=".$city_id; wp_redirect($location); exit; } }else{ wp_redirect(home_url().'/?geodir_signup=true'); exit(); } }