View difference between Paste ID: quvsvGHJ and p1cJ0xWM
SHOW: | | - or go back to the newest paste.
1-
// fire the action for all forms
1+
add_action( 'gform_after_submission', 'nifty_gform_remove_entries ), 10, 2 );
2-
add_action( 'gform_after_submission', 'my_remove_entries' ), 10, 2 );
2+
 function nifty_gform_remove_entries( $entry, $form ) {
3-
3+
    	    
4-
// to only fire the action for a specific form, replace the "2" with the ID of your form
4+
    	    if($form["id"] == 5){
5-
// add_action( 'gform_post_submission_2', 'my_remove_entries', 10, 2 );
5+
    	    	    return;
6-
6+
    	    }
7-
function my_remove_entries( $entry, $form ) {
7+
     
8-
8+
            global $wpdb;
9-
	global $wpdb;
9+
     
10-
10+
            $lead_id                = $entry['id'];
11-
	$lead_id                = $entry['id'];
11+
            $lead_table             = RGFormsModel::get_lead_table_name();
12-
	$lead_table             = RGFormsModel::get_lead_table_name();
12+
            $lead_notes_table       = RGFormsModel::get_lead_notes_table_name();
13-
	$lead_notes_table       = RGFormsModel::get_lead_notes_table_name();
13+
            $lead_detail_table      = RGFormsModel::get_lead_details_table_name();
14-
	$lead_detail_table      = RGFormsModel::get_lead_details_table_name();
14+
            $lead_detail_long_table = RGFormsModel::get_lead_details_long_table_name();
15-
	$lead_detail_long_table = RGFormsModel::get_lead_details_long_table_name();
15+
     
16-
16+
            // Delete from detail long
17-
	// Delete from detail long
17+
            $sql = $wpdb->prepare( " DELETE FROM $lead_detail_long_table
18-
	$sql = $wpdb->prepare( " DELETE FROM $lead_detail_long_table
18+
                                                            WHERE lead_detail_id IN(
19-
							WHERE lead_detail_id IN(
19+
                                                            SELECT id FROM $lead_detail_table WHERE lead_id=%d
20-
							SELECT id FROM $lead_detail_table WHERE lead_id=%d
20+
                                                            )", $lead_id );
21-
							)", $lead_id );
21+
            $wpdb->query( $sql );
22-
	$wpdb->query( $sql );
22+
     
23-
23+
           // Remove file uploads
24-
	// Delete from lead details
24+
           $sql = $wpdb->prepare("SELECT value FROM $lead_detail_table WHERE lead_id=%d", $lead_id );
25-
	$sql = $wpdb->prepare( "DELETE FROM $lead_detail_table WHERE lead_id=%d", $lead_id );
25+
           $results = $wpdb->get_results($sql, ARRAY_A ) or die(mysql_error());
26-
	$wpdb->query( $sql );
26+
            foreach ($results as $check_value_for_file) {
27-
27+
            	$file_url = parse_url($check_value_for_file['value']); 
28-
	// Delete from lead notes
28+
        	$file_path = $file_url['path'];
29-
	$sql = $wpdb->prepare( "DELETE FROM $lead_notes_table WHERE lead_id=%d", $lead_id );
29+
        	$upload_dir = wp_upload_dir(); 
30-
	$wpdb->query( $sql );
30+
        	$file_location = realpath($upload_dir['basedir']. "/../../").$file_path;
31-
31+
           	if (file_exists($file_location)) {
32-
	// Delete from lead
32+
           		unlink($file_location);	    
33-
	$sql = $wpdb->prepare( "DELETE FROM $lead_table WHERE id=%d", $lead_id );
33+
           	}
34-
	$wpdb->query( $sql );
34+
   	   }
35-
35+
   	   
36-
}
36+
            // Delete from lead details
37
            $sql = $wpdb->prepare( "DELETE FROM $lead_detail_table WHERE lead_id=%d", $lead_id );
38
            $wpdb->query( $sql );
39
            
40
            
41
     
42
            // Delete from lead notes
43
            $sql = $wpdb->prepare( "DELETE FROM $lead_notes_table WHERE lead_id=%d", $lead_id );
44
            $wpdb->query( $sql );
45
     
46
            // Delete from lead
47
            $sql = $wpdb->prepare( "DELETE FROM $lead_table WHERE id=%d", $lead_id );
48
            $wpdb->query( $sql );
49
     
50
    }