Passed
Push — master ( cf71c4...27b5ca )
by Austin
02:02
created

➔ $(ꞌinput[name="wordpress-security-txt-options[contact]"]ꞌ).click keyup keypress blur change focus   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
(function( $ ) {
2
	'use strict';
3
4
    $(function() {
5
        // Only execute on the plugin settings page
6
        if (typeof window.WORDPRESS_SECURITY_TXT_ADMIN === 'undefined') {
7
            return;
8
        }
9
10
        // Show/hide when enabled/disabled
11
        jQuery('input[name="wordpress-security-txt-options[enable]"]').change(function () {
12
            if (jQuery(this)[0].checked) {
13
                jQuery('.hide-when-disabled').closest('tr').fadeIn();
14
                jQuery('p.hide-when-disabled, div.hide-when-disabled').fadeIn().prev().fadeIn();
15
            } else {
16
                jQuery('.hide-when-disabled').closest('tr').fadeOut();
17
                jQuery('p.hide-when-disabled, div.hide-when-disabled').fadeOut().prev().fadeOut();
18
            }
19
        }).trigger('change');
20
21
        jQuery('input[name="wordpress-security-txt-options[debug]"]').change(function () {
22
            if (jQuery(this)[0].checked) {
23
                jQuery('div[id="wordpress-security-txt-sections[debug]"]').fadeIn().prev().fadeIn();
24
            } else {
25
                jQuery('div[id="wordpress-security-txt-sections[debug]"]').fadeOut().prev().fadeOut();
26
            }
27
        }).trigger('change');
28
29
        // Inject multi-line encryption placeholder
30
        jQuery('textarea[name="wordpress-security-txt-options[encryption]"]').attr('placeholder',
31
            '-----BEGIN PGP PUBLIC KEY BLOCK-----\n' +
32
            'mQINBFez...\n' +
33
            '-----END PGP PUBLIC KEY BLOCK-----\n'
34
        );
35
36
        // Add inline upload if browser supports it
37
        if (window.File && window.FileReader && window.FileList && window.Blob) {
38
            jQuery('textarea[name="wordpress-security-txt-options[encryption]"]')
39
                .after('<input type="button" name="wordpress-security-txt-options[encryption][file_input]" value="Select file...">');
40
41
            jQuery('input[name="wordpress-security-txt-options[encryption][file_input]"]')
42
                .click(function () {
43
                    jQuery('form[id="wordpress-security-txt[file_input]"] input')
44
                        .attr('data-target', 'textarea[name="wordpress-security-txt-options[encryption]"]')
45
                        .click();
46
                });
47
48
            jQuery('form[id="wordpress-security-txt[file_input]"] input').change(function () {
49
                var fileReader = new FileReader();
0 ignored issues
show
Bug introduced by
The variable FileReader seems to be never declared. If this is a global, consider adding a /** global: FileReader */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
50
51
                fileReader.onload = function () {
52
                    var targetInput = jQuery('form[id="wordpress-security-txt[file_input]"] input').attr('data-target');
53
54
                    jQuery(targetInput).val(fileReader.result);
55
56
                    setTimeout(function () {
57
                        console.log('done!'+targetInput);
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
58
                        jQuery(targetInput).click();
59
                    }, 250);
60
                };
61
62
                fileReader.readAsText(jQuery(this).prop('files')[0]);
63
            });
64
        }
65
66
        // Inject settings reset controls
67
        jQuery('input[name="wordpress-security-txt[reset]"]').click(function () {
68
            jQuery('input[name="wordpress-security-txt-options[reset]"]')
69
                .val('WORDPRESS_SECURITY_TXT_RESET_REQUESTED');
70
71
            jQuery('input[name="wordpress-security-txt[submit]"]')
72
                .click();
73
        });
74
75
        // Add validation handlers
76
        jQuery('input[name="wordpress-security-txt-options[contact]"]').on('click keyup keypress blur change focus', function () {
77
            window.WORDPRESS_SECURITY_TXT_VALIDATORS.apply(jQuery(this), 'contact');
78
        }).trigger('click');
79
80
        jQuery('textarea[name="wordpress-security-txt-options[encryption]"]').on('click keyup keypress blur change focus', function () {
81
            window.WORDPRESS_SECURITY_TXT_VALIDATORS.apply(jQuery(this), 'encryption');
82
        }).trigger('click');
83
84
        jQuery('input[name="wordpress-security-txt-options[acknowledgement]"]').on('click keyup keypress blur change focus', function () {
85
            window.WORDPRESS_SECURITY_TXT_VALIDATORS.apply(jQuery(this), 'acknowledgement');
86
        }).trigger('click');
87
88
        // Append plugin version (on plugin settings page only)
89
        jQuery('div#wpfooter p#footer-upgrade').html(
90
            jQuery('div#wpfooter p#footer-upgrade').html().trim() +
91
            ', <code>wordpress-security-txt</code> Version ' +
92
            WORDPRESS_SECURITY_TXT_VERSION
0 ignored issues
show
Bug introduced by
The variable WORDPRESS_SECURITY_TXT_VERSION seems to be never declared. If this is a global, consider adding a /** global: WORDPRESS_SECURITY_TXT_VERSION */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
93
        );
94
    });
95
96
})( jQuery );
97
98