Function Reference: geodir_del_price

Summary

This function has not been documented yet.

Source Code

function geodir_del_price()
{
	global $wpdb, $price_db_table_name,$plugin_prefix;
	
	if(current_user_can( 'manage_options' )){
	
		if($_REQUEST['pagetype'] == 'delete' && $_REQUEST['id'] != '' && isset($_REQUEST['_wpnonce']))
		{
			
			if ( !wp_verify_nonce( $_REQUEST['_wpnonce'], 'package_action_'.$_REQUEST['id'] ) )
			return;
			
			$pid = $_REQUEST['id'];
			
			/* --- delete package detail default package set --- */
			$post_type = $wpdb->get_var($wpdb->prepare("select post_type from ".GEODIR_PRICE_TABLE." where pid=%d",array($pid)));
			
			$table = $plugin_prefix.$post_type.'_detail';
			
			$default_package = geodir_get_default_package($post_type);
			$package_id = $default_package->pid;
			
			$wpdb->query($wpdb->prepare("update ".$table." set package_id=%d where package_id=%d",array($package_id,$pid)));
		
			$wpdb->query($wpdb->prepare("delete from ".GEODIR_PRICE_TABLE." where pid=%d",array($pid)));
		
			
			$old_package_change =	$wpdb->get_results($wpdb->prepare("SELECT id, packages from ".GEODIR_CUSTOM_FIELDS_TABLE." WHERE FIND_IN_SET(%s, packages)",array($pid)));
			
					
					if(!empty($old_package_change))
					{				
						foreach($old_package_change as $key){
						 $pck_array = explode(',', $key->packages);
							$packages = '';
							$comma = '';
							foreach($pck_array as $pck_key)	
							{
								if($pck_key != $pid && $pck_key != '')
								{
									$packages .= $comma.$pck_key;
									$comma = ',';
								}
							}
							$wpdb->query($wpdb->prepare("UPDATE ".GEODIR_CUSTOM_FIELDS_TABLE." SET packages = %s WHERE id=%d",array($packages,$key->id)));
						}
						
					}
			
			$msg = __('Price deleted successfully.', 'geodir_payments');
			$msg = urlencode($msg);
			$location = admin_url()."admin.php?page=geodirectory&tab=paymentmanager_fields&subtab=geodir_payment_manager&success_msg=".$msg;
			wp_redirect($location);
			exit;
		}
	}else{
		
		wp_redirect(geodir_login_url());
		exit();
	
	}

}