upgrade-functions.php
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/**
* Update the "attach file to this email" settings on any "Admin" email notifications we may have.
*
* @since 1.3.8
* @return void
*/
function nf_fu_upgrade_settings() {
// Check to see if we've already done this.
$updated = get_option( 'nf_convert_upload_settings_complete', false );
if( ! defined( 'NINJA_FORMS_VERSION' ) ) return;
if ( $updated || version_compare( NINJA_FORMS_VERSION, '2.8', '<' ) )
return;
$notifications = nf_get_all_notifications();
// Make sure that there are some notifications.
if ( ! is_array ( $notifications ) )
return;
// Loop through our notifications and see if any of them were "admin emails"
foreach ( $notifications as $n ) {
if ( Ninja_Forms()->notification( $n['id'] )->get_setting( 'admin_email' ) ) {
// Grab our form id so that we can loop over our fields.
$form_id = Ninja_Forms()->notification( $n['id'] )->form_id;
// Loop over our form fields. If we find an upload field, see if the option is checked.
foreach ( Ninja_Forms()->form( $form_id )->fields as $field_id => $field ) {
if ( '_upload' == $field['type'] && isset ( $field['data']['email_attachment'] ) && $field['data']['email_attachment'] == 1 ) {
Ninja_Forms()->notification( $n['id'] )->update_setting( 'file_upload_' . $field_id, 1 );
}
}
}
}
update_option( 'nf_convert_upload_settings_complete', true );
}
add_action( 'admin_init', 'nf_fu_upgrade_settings' );