Function Reference: geodir_delete_location

Summary

Handles location deletion request.

Global Values

$wpdb
(object) (required) WordPress Database object.

Default: None
$plugin_prefix
(string) (required) Geodirectory plugin table prefix.

Default: None

Package

GeoDirectory_Location_Manager

Return Values

(bool)

    Change Log

    Since: 1.0.0

    Source File

    geodir_delete_location() is located in geodir_location_manager/geodir_location_functions.php [Line: 1588]

    Source Code

    function geodir_delete_location() {
    	global $wpdb, $plugin_prefix;
    	
    	if ( isset( $_REQUEST['_wpnonce'] ) && isset( $_REQUEST['id'] ) && current_user_can( 'manage_options' ) ) {
    		if ( is_array( $_REQUEST['id'] ) && !empty( $_REQUEST['id'] ) ) {
    			$ids = $_REQUEST['id'];
    			
    			if ( !wp_verify_nonce( $_REQUEST['_wpnonce'], 'location_action_bulk_delete' ) ) {
    				return false;
    			}
    			
    			$success = 0;
    			foreach ( $ids as $id ) {				
    				if ( geodir_location_delete_by_id( $id ) ) {					
    					$success++;
    				}
    			}
    			
    			$message = __( 'No location deleted.', GEODIRLOCATION_TEXTDOMAIN );
    			
    			if ( $success > 0 ) {
    				$message = $success > 1 ? wp_sprintf( __( '%d locations deleted successfully.', GEODIRLOCATION_TEXTDOMAIN ), $success ) : __( 'Location deleted successfully', GEODIRLOCATION_TEXTDOMAIN );
    			}
    			
    			$message = urlencode( $message );
    			
    			if ( isset( $_REQUEST['return'] ) && !empty( $_REQUEST['return'] ) ) {
    				$location = $_REQUEST['return'] . '&location_success=' . $message;
    			} else {
    				$location = admin_url() . 'admin.php?page=geodirectory&tab=managelocation_fields&subtab=geodir_location_manager&location_success=' . $message;
    			}		
    		} else {
    			$id = $_REQUEST['id'];
    	
    			if ( !wp_verify_nonce( $_REQUEST['_wpnonce'], 'location_action_' . $id ) )
    				return false;
    				
    			$message = __( 'No location deleted.', GEODIRLOCATION_TEXTDOMAIN );
    			
    			if ( geodir_location_delete_by_id( $id ) ) {
    				$message = MSG_LOCATION_DELETED;
    			}
    	
    			$message = urlencode( $message );
    			$location = admin_url() . "admin.php?page=geodirectory&tab=managelocation_fields&subtab=geodir_location_manager&location_success=" . $message;
    		}
    		
    		wp_redirect( $location );
    		exit;
    	} else {
    		wp_redirect( home_url() . '/?geodir_signup=true' );
    		exit;
    	}
    }