SVG Support - Version 2.3.7

Version Description

  • Added WP version check to wrap mime fix function needed for WP v4.7.1 - v4.7.2.
  • Moved mime fix into mime type file.
  • Modified admin notice code to make it neater.
  • Fix: attachment-modal.php issues with some servers and external SVG files (props to @abstractourist & @malthejorgensen for providing fixes, as I could not consistently reproduce the issue).
  • Compatibility: Changed a line to provide wider compatibility, specifically for WordPress Bedrock on a LEMP stack.
  • Compatibility: Added another snippet to the JS to support IE11 (apparently people still use IE).
  • Added more FAQ's.
Download this release

Release Info

Developer Benbodhi
Plugin Icon 128x128 SVG Support
Version 2.3.7
Comparing to
See all releases

Code changes from version 2.3.6 to 2.3.7

admin/admin-init.php CHANGED
@@ -33,7 +33,9 @@ function bodhi_svg_support_settings_page() {
33
 
34
  }
35
 
36
- global $bodhi_svgs_options;
 
 
37
 
38
  require( BODHI_SVGS_PLUGIN_PATH . 'admin/svgs-settings-page.php' );
39
 
33
 
34
  }
35
 
36
+ // Swapped the global with this line to work with WordPress Bedrock on LEMP stack | https://wordpress.org/support/topic/settings-not-saving-24/
37
+ // global $bodhi_svgs_options;
38
+ $bodhi_svgs_options = get_option( 'bodhi_svgs_settings' );
39
 
40
  require( BODHI_SVGS_PLUGIN_PATH . 'admin/svgs-settings-page.php' );
41
 
admin/admin-notice.php CHANGED
@@ -12,13 +12,13 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  * Admin notice markup
13
  */
14
  function bodhi_svgs_admin_notice_upgrade() {
15
- ?>
16
- <div class="notice notice-warning is-dismissible svgs-upgrade-notice">
17
- <p><?php _e( 'If you updated SVG Support from any version prior to 2.3 and you use the inline SVG features, please ', 'svg-support' ); ?><a href="<?php echo get_admin_url( null, 'options-general.php?page=svg-support' ); ?>"><?php _e( 'Enable Advanced Mode', 'svg-support' ); ?></a></p>
18
- </div>
19
- <?php
20
 
21
  update_option( 'bodhi_svgs_admin_notice_dismissed', 0 );
 
22
  }
23
 
24
  /**
@@ -39,10 +39,10 @@ add_action( 'admin_enqueue_scripts', 'bodhi_svgs_admin_notice_enqueue' );
39
  /**
40
  * Ajax to set option of dismissed
41
  */
42
- function dismiss_svgs_admin_notice() {
43
  update_option( 'bodhi_svgs_admin_notice_dismissed', 1 );
44
  }
45
- add_action( 'wp_ajax_dismiss_svgs_admin_notice', 'dismiss_svgs_admin_notice' );
46
 
47
  /**
48
  * Remove notice dismissed option when plugin is deactivated or uninstalled
12
  * Admin notice markup
13
  */
14
  function bodhi_svgs_admin_notice_upgrade() {
15
+
16
+ echo '<div class="notice notice-warning is-dismissible svgs-upgrade-notice">';
17
+ echo '<p>' . __( 'If you updated SVG Support from any version prior to 2.3 and you use the inline SVG features, please ', 'svg-support' ) . '<a href="' . get_admin_url( null, 'options-general.php?page=svg-support' ) . '">' . __( 'Enable Advanced Mode', 'svg-support' ) . '</a></p>';
18
+ echo '</div>';
 
19
 
20
  update_option( 'bodhi_svgs_admin_notice_dismissed', 0 );
21
+
22
  }
23
 
24
  /**
39
  /**
40
  * Ajax to set option of dismissed
41
  */
42
+ function bodhi_svgs_dismiss_admin_notice() {
43
  update_option( 'bodhi_svgs_admin_notice_dismissed', 1 );
44
  }
45
+ add_action( 'wp_ajax_bodhi_svgs_dismiss_admin_notice', 'bodhi_svgs_dismiss_admin_notice' );
46
 
47
  /**
48
  * Remove notice dismissed option when plugin is deactivated or uninstalled
config.codekit3 ADDED
@@ -0,0 +1,2348 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "AAInfo": "This is a CodeKit 3 project config file. MODIFYING THE CONTENTS OF THIS FILE IS A POOR LIFE DECISION. Doing so will cause CodeKit to crash and\/or corrupt your project. I know it looks like JSON, but it is *not*. Many numbers in this file are 64-bit long long bitFlags, which JSON does not support. These numbers *cannot* be treated as discrete values and if you attempt to parse this file as standard JSON with any public JSON parser, these values will be corrupted. This file is not backwards-compatible with CodeKit 1 or 2. For more information, see https:\/\/codekitapp.com\/",
3
+ "buildSteps": [
4
+ {
5
+ "name": "Process All Remaining Files and Folders",
6
+ "stepType": 1,
7
+ "uuidString": "FDF09C14-788E-4A4D-A218-DA6A56580A0D"
8
+ }
9
+ ],
10
+ "creatorBuild": "25704",
11
+ "files": {
12
+ "\/admin\/admin-init.php": {
13
+ "ft": 8192,
14
+ "oA": 2,
15
+ "oAP": "\/admin\/admin-init.php",
16
+ "oF": 0
17
+ },
18
+ "\/admin\/admin-notice.php": {
19
+ "ft": 8192,
20
+ "oA": 2,
21
+ "oAP": "\/admin\/admin-notice.php",
22
+ "oF": 0
23
+ },
24
+ "\/admin\/plugin-action-meta-links.php": {
25
+ "ft": 8192,
26
+ "oA": 2,
27
+ "oAP": "\/admin\/plugin-action-meta-links.php",
28
+ "oF": 0
29
+ },
30
+ "\/admin\/svgs-settings-page.php": {
31
+ "ft": 8192,
32
+ "oA": 2,
33
+ "oAP": "\/admin\/svgs-settings-page.php",
34
+ "oF": 0
35
+ },
36
+ "\/css\/svgs-admin-simple-mode.css": {
37
+ "aP": 1,
38
+ "bl": 0,
39
+ "ft": 16,
40
+ "ma": 0,
41
+ "oA": 0,
42
+ "oAP": "\/css\/svgs-admin-simple-mode-min.css",
43
+ "oF": 0,
44
+ "oS": 0
45
+ },
46
+ "\/css\/svgs-admin.css": {
47
+ "aP": 1,
48
+ "bl": 0,
49
+ "ft": 16,
50
+ "ma": 0,
51
+ "oA": 0,
52
+ "oAP": "\/css\/svgs-admin-min.css",
53
+ "oF": 0,
54
+ "oS": 0
55
+ },
56
+ "\/css\/svgs-attachment.css": {
57
+ "aP": 1,
58
+ "bl": 0,
59
+ "ft": 16,
60
+ "ma": 0,
61
+ "oA": 0,
62
+ "oAP": "\/css\/svgs-attachment-min.css",
63
+ "oF": 0,
64
+ "oS": 0
65
+ },
66
+ "\/functions\/attachment-modal.php": {
67
+ "ft": 8192,
68
+ "oA": 2,
69
+ "oAP": "\/functions\/attachment-modal.php",
70
+ "oF": 0
71
+ },
72
+ "\/functions\/attribute-control.php": {
73
+ "ft": 8192,
74
+ "oA": 2,
75
+ "oAP": "\/functions\/attribute-control.php",
76
+ "oF": 0
77
+ },
78
+ "\/functions\/enqueue.php": {
79
+ "ft": 8192,
80
+ "oA": 2,
81
+ "oAP": "\/functions\/enqueue.php",
82
+ "oF": 0
83
+ },
84
+ "\/functions\/featured-image.php": {
85
+ "ft": 8192,
86
+ "oA": 2,
87
+ "oAP": "\/functions\/featured-image.php",
88
+ "oF": 0
89
+ },
90
+ "\/functions\/localization.php": {
91
+ "ft": 8192,
92
+ "oA": 2,
93
+ "oAP": "\/functions\/localization.php",
94
+ "oF": 0
95
+ },
96
+ "\/functions\/mime-types.php": {
97
+ "ft": 8192,
98
+ "oA": 2,
99
+ "oAP": "\/functions\/mime-types.php",
100
+ "oF": 0
101
+ },
102
+ "\/functions\/thumbnail-display.php": {
103
+ "ft": 8192,
104
+ "oA": 2,
105
+ "oAP": "\/functions\/thumbnail-display.php",
106
+ "oF": 0
107
+ },
108
+ "\/js\/min\/svgs-admin-notice-update-min.js": {
109
+ "ft": 64,
110
+ "mi": 1,
111
+ "oA": 0,
112
+ "oAP": "\/js\/min\/svgs-admin-notice-update-min-min.js",
113
+ "oF": 0,
114
+ "sC": 1,
115
+ "tS": 0
116
+ },
117
+ "\/js\/min\/svgs-inline-min.js": {
118
+ "ft": 64,
119
+ "mi": 1,
120
+ "oA": 0,
121
+ "oAP": "\/js\/min\/svgs-inline-min-min.js",
122
+ "oF": 0,
123
+ "sC": 1,
124
+ "tS": 0
125
+ },
126
+ "\/js\/svgs-admin-notice-update.js": {
127
+ "ft": 64,
128
+ "mi": 1,
129
+ "oA": 0,
130
+ "oAP": "\/js\/min\/svgs-admin-notice-update-min.js",
131
+ "oF": 2,
132
+ "sC": 1,
133
+ "tS": 0
134
+ },
135
+ "\/js\/svgs-inline.js": {
136
+ "ft": 64,
137
+ "mi": 1,
138
+ "oA": 0,
139
+ "oAP": "\/js\/min\/svgs-inline-min.js",
140
+ "oF": 2,
141
+ "sC": 1,
142
+ "tS": 0
143
+ },
144
+ "\/languages\/svgsupport-es_ES.mo": {
145
+ "ft": 8192,
146
+ "oA": 2,
147
+ "oAP": "\/languages\/svgsupport-es_ES.mo",
148
+ "oF": 0
149
+ },
150
+ "\/languages\/svgsupport-es_ES.po": {
151
+ "ft": 8192,
152
+ "oA": 2,
153
+ "oAP": "\/languages\/svgsupport-es_ES.po",
154
+ "oF": 0
155
+ },
156
+ "\/languages\/svgsupport-sr_RS.mo": {
157
+ "ft": 8192,
158
+ "oA": 2,
159
+ "oAP": "\/languages\/svgsupport-sr_RS.mo",
160
+ "oF": 0
161
+ },
162
+ "\/languages\/svgsupport-sr_RS.po": {
163
+ "ft": 8192,
164
+ "oA": 2,
165
+ "oAP": "\/languages\/svgsupport-sr_RS.po",
166
+ "oF": 0
167
+ },
168
+ "\/languages\/svgsupport.pot": {
169
+ "ft": 8192,
170
+ "oA": 2,
171
+ "oAP": "\/languages\/svgsupport.pot",
172
+ "oF": 0
173
+ },
174
+ "\/readme.txt": {
175
+ "ft": 8192,
176
+ "oA": 2,
177
+ "oAP": "\/readme.txt",
178
+ "oF": 0
179
+ },
180
+ "\/scss\/svgs-admin-simple-mode.scss": {
181
+ "aP": 0,
182
+ "bl": 0,
183
+ "dP": 10,
184
+ "dS": 0,
185
+ "ft": 4,
186
+ "ma": 0,
187
+ "oA": 0,
188
+ "oAP": "\/css\/svgs-admin-simple-mode.css",
189
+ "oF": 2,
190
+ "oS": 3,
191
+ "uL": 1
192
+ },
193
+ "\/scss\/svgs-admin.scss": {
194
+ "aP": 0,
195
+ "bl": 0,
196
+ "dP": 10,
197
+ "dS": 0,
198
+ "ft": 4,
199
+ "ma": 0,
200
+ "oA": 0,
201
+ "oAP": "\/css\/svgs-admin.css",
202
+ "oF": 2,
203
+ "oS": 3,
204
+ "uL": 1
205
+ },
206
+ "\/scss\/svgs-attachment.scss": {
207
+ "aP": 0,
208
+ "bl": 0,
209
+ "dP": 10,
210
+ "dS": 0,
211
+ "ft": 4,
212
+ "ma": 0,
213
+ "oA": 0,
214
+ "oAP": "\/css\/svgs-attachment.css",
215
+ "oF": 2,
216
+ "oS": 3,
217
+ "uL": 1
218
+ },
219
+ "\/svg-support.php": {
220
+ "ft": 8192,
221
+ "oA": 2,
222
+ "oAP": "\/svg-support.php",
223
+ "oF": 0
224
+ }
225
+ },
226
+ "hooks": [
227
+ ],
228
+ "manualImportLinks": {
229
+ },
230
+ "projectAttributes": {
231
+ "creationDate": 507572464,
232
+ "displayValue": "svg-support",
233
+ "displayValueWasSetByUser": 0,
234
+ "iconImageName": "meme-ariel"
235
+ },
236
+ "projectSettings": {
237
+ "abortBuildOnError": 1,
238
+ "alwaysUseExternalServer": 0,
239
+ "animateCSSInjections": 1,
240
+ "autoBuildNewItems": 1,
241
+ "autoprefixerBrowserString": "> 1%, last 2 versions, Firefox ESR, Opera 12.1",
242
+ "babelAuxiliaryCommentAfter": "",
243
+ "babelAuxiliaryCommentBefore": "",
244
+ "babelConfigFileHandlingType": 0,
245
+ "babelCustomPluginsList": "",
246
+ "babelCustomPresetsList": "",
247
+ "babelInsertModuleIDs": 0,
248
+ "babelModuleID": "",
249
+ "babelNoComments": 0,
250
+ "babelPlugins": {
251
+ "async-generator-functions": {
252
+ "active": 0
253
+ },
254
+ "async-to-generator": {
255
+ "active": 0
256
+ },
257
+ "async-to-module-method": {
258
+ "active": 0
259
+ },
260
+ "class-properties": {
261
+ "active": 0
262
+ },
263
+ "decorators": {
264
+ "active": 0
265
+ },
266
+ "decorators-legacy": {
267
+ "active": 0
268
+ },
269
+ "do-expressions": {
270
+ "active": 0
271
+ },
272
+ "es2015-arrow-functions": {
273
+ "active": 0
274
+ },
275
+ "es2015-block-scoped-functions": {
276
+ "active": 0
277
+ },
278
+ "es2015-block-scoping": {
279
+ "active": 0
280
+ },
281
+ "es2015-classes": {
282
+ "active": 0
283
+ },
284
+ "es2015-computed-properties": {
285
+ "active": 0
286
+ },
287
+ "es2015-constants": {
288
+ "active": 0
289
+ },
290
+ "es2015-destructuring": {
291
+ "active": 0
292
+ },
293
+ "es2015-duplicate-keys": {
294
+ "active": 0
295
+ },
296
+ "es2015-for-of": {
297
+ "active": 0
298
+ },
299
+ "es2015-function-name": {
300
+ "active": 0
301
+ },
302
+ "es2015-literals": {
303
+ "active": 0
304
+ },
305
+ "es2015-modules-amd": {
306
+ "active": 0
307
+ },
308
+ "es2015-modules-commonjs": {
309
+ "active": 0
310
+ },
311
+ "es2015-modules-systemjs": {
312
+ "active": 0
313
+ },
314
+ "es2015-modules-umd": {
315
+ "active": 0
316
+ },
317
+ "es2015-object-super": {
318
+ "active": 0
319
+ },
320
+ "es2015-parameters": {
321
+ "active": 0
322
+ },
323
+ "es2015-shorthand-properties": {
324
+ "active": 0
325
+ },
326
+ "es2015-spread": {
327
+ "active": 0
328
+ },
329
+ "es2015-sticky-regex": {
330
+ "active": 0
331
+ },
332
+ "es2015-template-literals": {
333
+ "active": 0
334
+ },
335
+ "es2015-typeof-symbol": {
336
+ "active": 0
337
+ },
338
+ "es2015-unicode-regex": {
339
+ "active": 0
340
+ },
341
+ "es3-member-expression-literals": {
342
+ "active": 0
343
+ },
344
+ "es3-property-literals": {
345
+ "active": 0
346
+ },
347
+ "es5-property-mutators": {
348
+ "active": 0
349
+ },
350
+ "eval": {
351
+ "active": 0
352
+ },
353
+ "exponentiation-operator": {
354
+ "active": 0
355
+ },
356
+ "export-extensions": {
357
+ "active": 0
358
+ },
359
+ "external-helpers": {
360
+ "active": 0
361
+ },
362
+ "flow-comments": {
363
+ "active": 0
364
+ },
365
+ "flow-strip-types": {
366
+ "active": 0
367
+ },
368
+ "function-bind": {
369
+ "active": 0
370
+ },
371
+ "inline-environment-variables": {
372
+ "active": 0
373
+ },
374
+ "jscript": {
375
+ "active": 0
376
+ },
377
+ "member-expression-literals": {
378
+ "active": 0
379
+ },
380
+ "merge-sibling-variables": {
381
+ "active": 0
382
+ },
383
+ "minify-booleans": {
384
+ "active": 0
385
+ },
386
+ "node-env-inline": {
387
+ "active": 0
388
+ },
389
+ "object-assign": {
390
+ "active": 0
391
+ },
392
+ "object-rest-spread": {
393
+ "active": 0
394
+ },
395
+ "object-set-prototype-of-to-assign": {
396
+ "active": 0
397
+ },
398
+ "property-literals": {
399
+ "active": 0
400
+ },
401
+ "proto-to-assign": {
402
+ "active": 0
403
+ },
404
+ "react-constant-elements": {
405
+ "active": 0
406
+ },
407
+ "react-display-name": {
408
+ "active": 0
409
+ },
410
+ "react-inline-elements": {
411
+ "active": 0
412
+ },
413
+ "react-jsx": {
414
+ "active": 0
415
+ },
416
+ "react-jsx-compat": {
417
+ "active": 0
418
+ },
419
+ "react-jsx-self": {
420
+ "active": 0
421
+ },
422
+ "react-jsx-source": {
423
+ "active": 0
424
+ },
425
+ "regenerator": {
426
+ "active": 0
427
+ },
428
+ "remove-console": {
429
+ "active": 0
430
+ },
431
+ "remove-debugger": {
432
+ "active": 0
433
+ },
434
+ "runtime": {
435
+ "active": 0
436
+ },
437
+ "simplify-comparison-operators": {
438
+ "active": 0
439
+ },
440
+ "strict-mode": {
441
+ "active": 0
442
+ },
443
+ "syntax-async-generators": {
444
+ "active": 0
445
+ },
446
+ "syntax-class-properties": {
447
+ "active": 0
448
+ },
449
+ "syntax-decorators": {
450
+ "active": 0
451
+ },
452
+ "syntax-do-expressions": {
453
+ "active": 0
454
+ },
455
+ "syntax-export-extensions": {
456
+ "active": 0
457
+ },
458
+ "syntax-flow": {
459
+ "active": 0
460
+ },
461
+ "syntax-function-bind": {
462
+ "active": 0
463
+ },
464
+ "syntax-function-sent": {
465
+ "active": 0
466
+ },
467
+ "syntax-jsx": {
468
+ "active": 0
469
+ },
470
+ "syntax-object-rest-spread": {
471
+ "active": 0
472
+ },
473
+ "undeclared-variables-check": {
474
+ "active": 0
475
+ },
476
+ "undefined-to-void": {
477
+ "active": 0
478
+ }
479
+ },
480
+ "babelPresetType": 193,
481
+ "babelRetainLines": 0,
482
+ "bowerAbbreviatedPath": "bower_components",
483
+ "bowerAutoCreateInfoFile": 1,
484
+ "bowerInstallDevDependencies": 0,
485
+ "bowerSaveDependencies": 1,
486
+ "bowerSaveDevDependencies": 0,
487
+ "bowerUseExactVersion": 0,
488
+ "browserRefreshDelay": 0,
489
+ "buildFolderActive": 0,
490
+ "buildFolderName": "build",
491
+ "cleanBuild": 1,
492
+ "coffeeLintFlags2": {
493
+ "arrow_spacing": {
494
+ "active": 0,
495
+ "flagValue": -1
496
+ },
497
+ "camel_case_classes": {
498
+ "active": 1,
499
+ "flagValue": -1
500
+ },
501
+ "colon_assignment_spacing": {
502
+ "active": 0,
503
+ "flagValue": 1
504
+ },
505
+ "cyclomatic_complexity": {
506
+ "active": 0,
507
+ "flagValue": 10
508
+ },
509
+ "duplicate_key": {
510
+ "active": 1,
511
+ "flagValue": -1
512
+ },
513
+ "empty_constructor_needs_parens": {
514
+ "active": 0,
515
+ "flagValue": -1
516
+ },
517
+ "ensure_comprehensions": {
518
+ "active": 1,
519
+ "flagValue": -1
520
+ },
521
+ "indentation": {
522
+ "active": 1,
523
+ "flagValue": 2
524
+ },
525
+ "line_endings": {
526
+ "active": 0,
527
+ "flagValue": 0
528
+ },
529
+ "max_line_length": {
530
+ "active": 0,
531
+ "flagValue": 150
532
+ },
533
+ "missing_fat_arrows": {
534
+ "active": 0,
535
+ "flagValue": -1
536
+ },
537
+ "newlines_after_classes": {
538
+ "active": 0,
539
+ "flagValue": 3
540
+ },
541
+ "no_backticks": {
542
+ "active": 1,
543
+ "flagValue": -1
544
+ },
545
+ "no_debugger": {
546
+ "active": 1,
547
+ "flagValue": -1
548
+ },
549
+ "no_empty_functions": {
550
+ "active": 0,
551
+ "flagValue": -1
552
+ },
553
+ "no_empty_param_list": {
554
+ "active": 0,
555
+ "flagValue": -1
556
+ },
557
+ "no_implicit_braces": {
558
+ "active": 1,
559
+ "flagValue": -1
560
+ },
561
+ "no_implicit_parens": {
562
+ "active": 0,
563
+ "flagValue": -1
564
+ },
565
+ "no_interpolation_in_single_quotes": {
566
+ "active": 0,
567
+ "flagValue": -1
568
+ },
569
+ "no_nested_string_interpolation": {
570
+ "active": 1,
571
+ "flagValue": -1
572
+ },
573
+ "no_plusplus": {
574
+ "active": 0,
575
+ "flagValue": -1
576
+ },
577
+ "no_private_function_fat_arrows": {
578
+ "active": 1,
579
+ "flagValue": -1
580
+ },
581
+ "no_stand_alone_at": {
582
+ "active": 1,
583
+ "flagValue": -1
584
+ },
585
+ "no_tabs": {
586
+ "active": 1,
587
+ "flagValue": -1
588
+ },
589
+ "no_this": {
590
+ "active": 0,
591
+ "flagValue": -1
592
+ },
593
+ "no_throwing_strings": {
594
+ "active": 1,
595
+ "flagValue": -1
596
+ },
597
+ "no_trailing_semicolons": {
598
+ "active": 1,
599
+ "flagValue": -1
600
+ },
601
+ "no_trailing_whitespace": {
602
+ "active": 1,
603
+ "flagValue": -1
604
+ },
605
+ "no_unnecessary_double_quotes": {
606
+ "active": 0,
607
+ "flagValue": -1
608
+ },
609
+ "no_unnecessary_fat_arrows": {
610
+ "active": 1,
611
+ "flagValue": -1
612
+ },
613
+ "non_empty_constructor_needs_parens": {
614
+ "active": 0,
615
+ "flagValue": -1
616
+ },
617
+ "prefer_english_operator": {
618
+ "active": 0,
619
+ "flagValue": -1
620
+ },
621
+ "space_operators": {
622
+ "active": 0,
623
+ "flagValue": -1
624
+ },
625
+ "spacing_after_comma": {
626
+ "active": 1,
627
+ "flagValue": -1
628
+ }
629
+ },
630
+ "esLintConfigFileHandlingType": 0,
631
+ "esLintECMAVersion": 7,
632
+ "esLintEnvironmentsMask": 1,
633
+ "esLintRules": {
634
+ "accessor-pairs": {
635
+ "active": 0,
636
+ "optionString": "{'setWithoutGet': true, 'getWithoutSet': false}"
637
+ },
638
+ "array-bracket-spacing": {
639
+ "active": 0,
640
+ "optionString": "'never', {'singleValue': false, 'objectsInArrays': false, 'arraysInArrays': false}"
641
+ },
642
+ "array-callback-return": {
643
+ "active": 0,
644
+ "optionString": ""
645
+ },
646
+ "arrow-body-style": {
647
+ "active": 0,
648
+ "optionString": "'as-needed', {'requireReturnForObjectLiteral': false}"
649
+ },
650
+ "arrow-parens": {
651
+ "active": 0,
652
+ "optionString": "'always'"
653
+ },
654
+ "arrow-spacing": {
655
+ "active": 0,
656
+ "optionString": "{'before': true, 'after': true}"
657
+ },
658
+ "block-scoped-var": {
659
+ "active": 0,
660
+ "optionString": ""
661
+ },
662
+ "block-spacing": {
663
+ "active": 0,
664
+ "optionString": "'always'"
665
+ },
666
+ "brace-style": {
667
+ "active": 0,
668
+ "optionString": "'1tbs', {'allowSingleLine': true}"
669
+ },
670
+ "callback-return": {
671
+ "active": 0,
672
+ "optionString": "['callback', 'cb', 'next']"
673
+ },
674
+ "camelcase": {
675
+ "active": 0,
676
+ "optionString": "{'properties': 'always'}"
677
+ },
678
+ "capitalized-comments": {
679
+ "active": 0,
680
+ "optionString": "'always', {'ignoreInlineComments': false, 'ignoreConsecutiveComments': false}"
681
+ },
682
+ "class-methods-use-this": {
683
+ "active": 0,
684
+ "optionString": "{'exceptMethods': []}"
685
+ },
686
+ "comma-dangle": {
687
+ "active": 1,
688
+ "optionString": "'never'"
689
+ },
690
+ "comma-spacing": {
691
+ "active": 0,
692
+ "optionString": "{'before': false, 'after': true}"
693
+ },
694
+ "comma-style": {
695
+ "active": 0,
696
+ "optionString": "'last'"
697
+ },
698
+ "complexity": {
699
+ "active": 0,
700
+ "optionString": "20"
701
+ },
702
+ "computed-property-spacing": {
703
+ "active": 0,
704
+ "optionString": "'never'"
705
+ },
706
+ "consistent-return": {
707
+ "active": 0,
708
+ "optionString": "{'treatUndefinedAsUnspecified': false}"
709
+ },
710
+ "consistent-this": {
711
+ "active": 0,
712
+ "optionString": "'that'"
713
+ },
714
+ "constructor-super": {
715
+ "active": 1,
716
+ "optionString": ""
717
+ },
718
+ "curly": {
719
+ "active": 0,
720
+ "optionString": "'all'"
721
+ },
722
+ "default-case": {
723
+ "active": 0,
724
+ "optionString": ""
725
+ },
726
+ "dot-location": {
727
+ "active": 0,
728
+ "optionString": "'object'"
729
+ },
730
+ "dot-notation": {
731
+ "active": 0,
732
+ "optionString": "{'allowKeywords': false}"
733
+ },
734
+ "eol-last": {
735
+ "active": 0,
736
+ "optionString": "'always'"
737
+ },
738
+ "eqeqeq": {
739
+ "active": 0,
740
+ "optionString": "'always', {'null': 'always'}"
741
+ },
742
+ "func-call-spacing": {
743
+ "active": 0,
744
+ "optionString": "'never'"
745
+ },
746
+ "func-name-matching": {
747
+ "active": 0,
748
+ "optionString": "'always', {'includeCommonJSModuleExports': false}"
749
+ },
750
+ "func-names": {
751
+ "active": 0,
752
+ "optionString": "'always'"
753
+ },
754
+ "func-style": {
755
+ "active": 0,
756
+ "optionString": "'expression'"
757
+ },
758
+ "generator-star-spacing": {
759
+ "active": 0,
760
+ "optionString": "{'before': true, 'after': false}"
761
+ },
762
+ "global-require": {
763
+ "active": 0,
764
+ "optionString": ""
765
+ },
766
+ "guard-for-in": {
767
+ "active": 0,
768
+ "optionString": ""
769
+ },
770
+ "handle-callback-err": {
771
+ "active": 0,
772
+ "optionString": "'err'"
773
+ },
774
+ "id-blacklist": {
775
+ "active": 0,
776
+ "optionString": "'data', 'err', 'e', 'cb', 'callback'"
777
+ },
778
+ "id-length": {
779
+ "active": 0,
780
+ "optionString": "{'min': 2, 'max': 1000, 'properties': 'always', 'exceptions': ['x', 'i', 'y']}"
781
+ },
782
+ "id-match": {
783
+ "active": 0,
784
+ "optionString": "'^[a-z]+([A-Z][a-z]+)*$', {'properties': false, 'onlyDeclarations': true}"
785
+ },
786
+ "indent": {
787
+ "active": 0,
788
+ "optionString": "4, {'SwitchCase': 0, 'VariableDeclarator': 1, 'outerIIFEBody': 1, }"
789
+ },
790
+ "init-declarations": {
791
+ "active": 0,
792
+ "optionString": "'always', {'ignoreForLoopInit': true}"
793
+ },
794
+ "jsx-quotes": {
795
+ "active": 0,
796
+ "optionString": "'prefer-double'"
797
+ },
798
+ "key-spacing": {
799
+ "active": 0,
800
+ "optionString": "{'singleLine': {'beforeColon': false, 'afterColon': true, 'mode':'strict'}, 'multiLine': {'beforeColon': false, 'afterColon': true, 'align': 'value', 'mode':'minimum'}}"
801
+ },
802
+ "keyword-spacing": {
803
+ "active": 0,
804
+ "optionString": "{'before': true, 'after': true, 'overrides': {}}"
805
+ },
806
+ "line-comment-position": {
807
+ "active": 0,
808
+ "optionString": "{'position': 'above'}"
809
+ },
810
+ "linebreak-style": {
811
+ "active": 0,
812
+ "optionString": "'unix'"
813
+ },
814
+ "lines-around-comment": {
815
+ "active": 0,
816
+ "optionString": "{'beforeBlockComment': true}"
817
+ },
818
+ "lines-around-directive": {
819
+ "active": 0,
820
+ "optionString": "{'before': 'always', 'after': 'always'}"
821
+ },
822
+ "max-depth": {
823
+ "active": 0,
824
+ "optionString": "{'max': 4}"
825
+ },
826
+ "max-len": {
827
+ "active": 0,
828
+ "optionString": "{'code': 80, 'comments': 80, 'tabWidth': 4, 'ignoreUrls': true, 'ignoreStrings': true, 'ignoreTemplateLiterals': true, 'ignoreRegExpLiterals': true}"
829
+ },
830
+ "max-lines": {
831
+ "active": 0,
832
+ "optionString": "{'max': 300, 'skipBlankLines': true, 'skipComments': true}"
833
+ },
834
+ "max-nested-callbacks": {
835
+ "active": 0,
836
+ "optionString": "{'max': 10}"
837
+ },
838
+ "max-params": {
839
+ "active": 0,
840
+ "optionString": "{'max': 4}"
841
+ },
842
+ "max-statements": {
843
+ "active": 0,
844
+ "optionString": "{'max': 10}, {'ignoreTopLevelFunctions': true}"
845
+ },
846
+ "max-statements-per-line": {
847
+ "active": 0,
848
+ "optionString": "{'max': 1}"
849
+ },
850
+ "multiline-ternary": {
851
+ "active": 0,
852
+ "optionString": "'always'"
853
+ },
854
+ "new-cap": {
855
+ "active": 0,
856
+ "optionString": "{'newIsCap': true, 'capIsNew': true, 'newIsCapExceptions': [], 'capIsNewExceptions': ['Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String', 'Symbol'], 'properties': true}"
857
+ },
858
+ "new-parens": {
859
+ "active": 0,
860
+ "optionString": ""
861
+ },
862
+ "newline-after-var": {
863
+ "active": 0,
864
+ "optionString": "'always'"
865
+ },
866
+ "newline-before-return": {
867
+ "active": 0,
868
+ "optionString": ""
869
+ },
870
+ "newline-per-chained-call": {
871
+ "active": 0,
872
+ "optionString": "{'ignoreChainWithDepth': 2}"
873
+ },
874
+ "no-alert": {
875
+ "active": 0,
876
+ "optionString": ""
877
+ },
878
+ "no-array-constructor": {
879
+ "active": 0,
880
+ "optionString": ""
881
+ },
882
+ "no-await-in-loop": {
883
+ "active": 0,
884
+ "optionString": ""
885
+ },
886
+ "no-bitwise": {
887
+ "active": 0,
888
+ "optionString": "{'allow': ['~'], 'int32Hint': true}"
889
+ },
890
+ "no-caller": {
891
+ "active": 0,
892
+ "optionString": ""
893
+ },
894
+ "no-case-declarations": {
895
+ "active": 1,
896
+ "optionString": ""
897
+ },
898
+ "no-catch-shadow": {
899
+ "active": 0,
900
+ "optionString": ""
901
+ },
902
+ "no-class-assign": {
903
+ "active": 1,
904
+ "optionString": ""
905
+ },
906
+ "no-compare-neg-zero": {
907
+ "active": 0,
908
+ "optionString": ""
909
+ },
910
+ "no-cond-assign": {
911
+ "active": 1,
912
+ "optionString": "'except-parens'"
913
+ },
914
+ "no-confusing-arrow": {
915
+ "active": 0,
916
+ "optionString": "{'allowParens': false}"
917
+ },
918
+ "no-console": {
919
+ "active": 1,
920
+ "optionString": "{'allow': ['warn', 'error']}"
921
+ },
922
+ "no-const-assign": {
923
+ "active": 1,
924
+ "optionString": ""
925
+ },
926
+ "no-constant-condition": {
927
+ "active": 1,
928
+ "optionString": "{'checkLoops': true}"
929
+ },
930
+ "no-continue": {
931
+ "active": 0,
932
+ "optionString": ""
933
+ },
934
+ "no-control-regex": {
935
+ "active": 1,
936
+ "optionString": ""
937
+ },
938
+ "no-debugger": {
939
+ "active": 1,
940
+ "optionString": ""
941
+ },
942
+ "no-delete-var": {
943
+ "active": 1,
944
+ "optionString": ""
945
+ },
946
+ "no-div-regex": {
947
+ "active": 0,
948
+ "optionString": ""
949
+ },
950
+ "no-dupe-args": {
951
+ "active": 1,
952
+ "optionString": ""
953
+ },
954
+ "no-dupe-class-members": {
955
+ "active": 1,
956
+ "optionString": ""
957
+ },
958
+ "no-dupe-keys": {
959
+ "active": 1,
960
+ "optionString": ""
961
+ },
962
+ "no-duplicate-imports": {
963
+ "active": 0,
964
+ "optionString": "{'includeExports': false}"
965
+ },
966
+ "no-else-return": {
967
+ "active": 0,
968
+ "optionString": ""
969
+ },
970
+ "no-empty": {
971
+ "active": 1,
972
+ "optionString": "{'allowEmptyCatch': false}"
973
+ },
974
+ "no-empty-character-class": {
975
+ "active": 1,
976
+ "optionString": ""
977
+ },
978
+ "no-empty-function": {
979
+ "active": 0,
980
+ "optionString": "{'allow': []}"
981
+ },
982
+ "no-empty-pattern": {
983
+ "active": 1,
984
+ "optionString": ""
985
+ },
986
+ "no-eq-null": {
987
+ "active": 0,
988
+ "optionString": ""
989
+ },
990
+ "no-eval": {
991
+ "active": 0,
992
+ "optionString": "{'allowIndirect': false}"
993
+ },
994
+ "no-ex-assign": {
995
+ "active": 1,
996
+ "optionString": ""
997
+ },
998
+ "no-extend-native": {
999
+ "active": 0,
1000
+ "optionString": "{'exceptions': []}"
1001
+ },
1002
+ "no-extra-bind": {
1003
+ "active": 0,
1004
+ "optionString": ""
1005
+ },
1006
+ "no-extra-boolean-cast": {
1007
+ "active": 1,
1008
+ "optionString": ""
1009
+ },
1010
+ "no-extra-labels": {
1011
+ "active": 0,
1012
+ "optionString": ""
1013
+ },
1014
+ "no-extra-parens": {
1015
+ "active": 1,
1016
+ "optionString": "'all', {'conditionalAssign': false, 'returnAssign': false, 'nestedBinaryExpressions': false}"
1017
+ },
1018
+ "no-extra-semi": {
1019
+ "active": 1,
1020
+ "optionString": ""
1021
+ },
1022
+ "no-fallthrough": {
1023
+ "active": 1,
1024
+ "optionString": ""
1025
+ },
1026
+ "no-floating-decimal": {
1027
+ "active": 0,
1028
+ "optionString": ""
1029
+ },
1030
+ "no-func-assign": {
1031
+ "active": 1,
1032
+ "optionString": ""
1033
+ },
1034
+ "no-global-assign": {
1035
+ "active": 0,
1036
+ "optionString": "{'exceptions': []}"
1037
+ },
1038
+ "no-implicit-coercion": {
1039
+ "active": 0,
1040
+ "optionString": "{'boolean': true, 'number': true, 'string': true, 'allow': []}"
1041
+ },
1042
+ "no-implicit-globals": {
1043
+ "active": 0,
1044
+ "optionString": ""
1045
+ },
1046
+ "no-implied-eval": {
1047
+ "active": 0,
1048
+ "optionString": ""
1049
+ },
1050
+ "no-inline-comments": {
1051
+ "active": 0,
1052
+ "optionString": ""
1053
+ },
1054
+ "no-inner-declarations": {
1055
+ "active": 1,
1056
+ "optionString": "'functions'"
1057
+ },
1058
+ "no-invalid-regexp": {
1059
+ "active": 1,
1060
+ "optionString": "{'allowConstructorFlags': ['u', 'y']}"
1061
+ },
1062
+ "no-invalid-this": {
1063
+ "active": 0,
1064
+ "optionString": ""
1065
+ },
1066
+ "no-irregular-whitespace": {
1067
+ "active": 1,
1068
+ "optionString": "{'skipStrings': true, 'skipComments': false, 'skipRegExps': true, 'skipTemplates': true}"
1069
+ },
1070
+ "no-iterator": {
1071
+ "active": 0,
1072
+ "optionString": ""
1073
+ },
1074
+ "no-label-var": {
1075
+ "active": 0,
1076
+ "optionString": ""
1077
+ },
1078
+ "no-labels": {
1079
+ "active": 0,
1080
+ "optionString": "{'allowLoop': false, 'allowSwitch': false}"
1081
+ },
1082
+ "no-lone-blocks": {
1083
+ "active": 0,
1084
+ "optionString": ""
1085
+ },
1086
+ "no-lonely-if": {
1087
+ "active": 0,
1088
+ "optionString": ""
1089
+ },
1090
+ "no-loop-func": {
1091
+ "active": 0,
1092
+ "optionString": ""
1093
+ },
1094
+ "no-magic-numbers": {
1095
+ "active": 0,
1096
+ "optionString": "{'ignore': [], 'ignoreArrayIndexes': true, 'enforceConst': false, 'detectObjects': false}"
1097
+ },
1098
+ "no-mixed-operators": {
1099
+ "active": 0,
1100
+ "optionString": "{'groups': [['+', '-', '*', '\/', '%', '**'], ['&', '|', '^', '~', '<<', '>>', '>>>'], ['==', '!=', '===', '!==', '>', '>=', '<', '<='], ['&&', '||'], ['in', 'instanceof']], 'allowSamePrecedence': true}"
1101
+ },
1102
+ "no-mixed-requires": {
1103
+ "active": 0,
1104
+ "optionString": "{'grouping': false, 'allowCall': false }"
1105
+ },
1106
+ "no-mixed-spaces-and-tabs": {
1107
+ "active": 0,
1108
+ "optionString": ""
1109
+ },
1110
+ "no-multi-assign": {
1111
+ "active": 0,
1112
+ "optionString": ""
1113
+ },
1114
+ "no-multi-spaces": {
1115
+ "active": 0,
1116
+ "optionString": "{'exceptions': {'Property': true, 'BinaryExpression': false, 'VariableDeclarator': false, 'ImportDeclaration': false}}"
1117
+ },
1118
+ "no-multi-str": {
1119
+ "active": 0,
1120
+ "optionString": ""
1121
+ },
1122
+ "no-multiple-empty-lines": {
1123
+ "active": 0,
1124
+ "optionString": "{'max': 2, 'maxBOF': 2, 'maxEOF': 2}"
1125
+ },
1126
+ "no-negated-condition": {
1127
+ "active": 0,
1128
+ "optionString": ""
1129
+ },
1130
+ "no-nested-ternary": {
1131
+ "active": 0,
1132
+ "optionString": ""
1133
+ },
1134
+ "no-new": {
1135
+ "active": 0,
1136
+ "optionString": ""
1137
+ },
1138
+ "no-new-func": {
1139
+ "active": 0,
1140
+ "optionString": ""
1141
+ },
1142
+ "no-new-object": {
1143
+ "active": 0,
1144
+ "optionString": ""
1145
+ },
1146
+ "no-new-require": {
1147
+ "active": 0,
1148
+ "optionString": ""
1149
+ },
1150
+ "no-new-symbol": {
1151
+ "active": 1,
1152
+ "optionString": ""
1153
+ },
1154
+ "no-new-wrappers": {
1155
+ "active": 0,
1156
+ "optionString": ""
1157
+ },
1158
+ "no-obj-calls": {
1159
+ "active": 1,
1160
+ "optionString": ""
1161
+ },
1162
+ "no-octal": {
1163
+ "active": 1,
1164
+ "optionString": ""
1165
+ },
1166
+ "no-octal-escape": {
1167
+ "active": 0,
1168
+ "optionString": ""
1169
+ },
1170
+ "no-param-reassign": {
1171
+ "active": 0,
1172
+ "optionString": "{'props': false}"
1173
+ },
1174
+ "no-path-concat": {
1175
+ "active": 0,
1176
+ "optionString": ""
1177
+ },
1178
+ "no-plusplus": {
1179
+ "active": 0,
1180
+ "optionString": "{'allowForLoopAfterthoughts': false}"
1181
+ },
1182
+ "no-process-env": {
1183
+ "active": 0,
1184
+ "optionString": ""
1185
+ },
1186
+ "no-process-exit": {
1187
+ "active": 0,
1188
+ "optionString": ""
1189
+ },
1190
+ "no-proto": {
1191
+ "active": 0,
1192
+ "optionString": ""
1193
+ },
1194
+ "no-redeclare": {
1195
+ "active": 1,
1196
+ "optionString": "{'builtinGlobals': false}"
1197
+ },
1198
+ "no-regex-spaces": {
1199
+ "active": 1,
1200
+ "optionString": ""
1201
+ },
1202
+ "no-restricted-globals": {
1203
+ "active": 0,
1204
+ "optionString": "'event', 'fdescribe'"
1205
+ },
1206
+ "no-restricted-imports": {
1207
+ "active": 0,
1208
+ "optionString": ""
1209
+ },
1210
+ "no-restricted-modules": {
1211
+ "active": 0,
1212
+ "optionString": ""
1213
+ },
1214
+ "no-restricted-properties": {
1215
+ "active": 0,
1216
+ "optionString": "[{'object': 'disallowedObjectName', 'property': 'disallowedPropertyName'}, {'object': 'disallowedObjectName', 'property': 'anotherDisallowedPropertyName', 'message': 'Please use allowedObjectName.allowedPropertyName.'}]"
1217
+ },
1218
+ "no-restricted-syntax": {
1219
+ "active": 0,
1220
+ "optionString": "'FunctionExpression', 'WithStatement'"
1221
+ },
1222
+ "no-return-assign": {
1223
+ "active": 0,
1224
+ "optionString": "'except-parens'"
1225
+ },
1226
+ "no-return-await": {
1227
+ "active": 0,
1228
+ "optionString": ""
1229
+ },
1230
+ "no-script-url": {
1231
+ "active": 0,
1232
+ "optionString": ""
1233
+ },
1234
+ "no-self-assign": {
1235
+ "active": 1,
1236
+ "optionString": "{'props': false}"
1237
+ },
1238
+ "no-self-compare": {
1239
+ "active": 1,
1240
+ "optionString": ""
1241
+ },
1242
+ "no-sequences": {
1243
+ "active": 0,
1244
+ "optionString": ""
1245
+ },
1246
+ "no-shadow": {
1247
+ "active": 0,
1248
+ "optionString": "{'builtinGlobals': false, 'hoist': 'functions', 'allow': []}"
1249
+ },
1250
+ "no-shadow-restricted-names": {
1251
+ "active": 0,
1252
+ "optionString": ""
1253
+ },
1254
+ "no-sparse-arrays": {
1255
+ "active": 1,
1256
+ "optionString": ""
1257
+ },
1258
+ "no-sync": {
1259
+ "active": 0,
1260
+ "optionString": ""
1261
+ },
1262
+ "no-tabs": {
1263
+ "active": 0,
1264
+ "optionString": ""
1265
+ },
1266
+ "no-template-curly-in-string": {
1267
+ "active": 1,
1268
+ "optionString": ""
1269
+ },
1270
+ "no-ternary": {
1271
+ "active": 0,
1272
+ "optionString": ""
1273
+ },
1274
+ "no-this-before-super": {
1275
+ "active": 1,
1276
+ "optionString": ""
1277
+ },
1278
+ "no-throw-literal": {
1279
+ "active": 0,
1280
+ "optionString": ""
1281
+ },
1282
+ "no-trailing-spaces": {
1283
+ "active": 0,
1284
+ "optionString": "{'skipBlankLines': false}"
1285
+ },
1286
+ "no-undef": {
1287
+ "active": 1,
1288
+ "optionString": "{'typeof': false}"
1289
+ },
1290
+ "no-undef-init": {
1291
+ "active": 0,
1292
+ "optionString": ""
1293
+ },
1294
+ "no-undefined": {
1295
+ "active": 0,
1296
+ "optionString": ""
1297
+ },
1298
+ "no-underscore-dangle": {
1299
+ "active": 0,
1300
+ "optionString": "{'allow': [], 'allowAfterThis': false, 'allowAfterSuper': false}"
1301
+ },
1302
+ "no-unexpected-multiline": {
1303
+ "active": 1,
1304
+ "optionString": ""
1305
+ },
1306
+ "no-unmodified-loop-condition": {
1307
+ "active": 0,
1308
+ "optionString": ""
1309
+ },
1310
+ "no-unneeded-ternary": {
1311
+ "active": 0,
1312
+ "optionString": "{'defaultAssignment': true}"
1313
+ },
1314
+ "no-unreachable": {
1315
+ "active": 1,
1316
+ "optionString": ""
1317
+ },
1318
+ "no-unsafe-finally": {
1319
+ "active": 1,
1320
+ "optionString": ""
1321
+ },
1322
+ "no-unsafe-negation": {
1323
+ "active": 0,
1324
+ "optionString": ""
1325
+ },
1326
+ "no-unused-expressions": {
1327
+ "active": 0,
1328
+ "optionString": "{'allowShortCircuit': false, 'allowTernary': false}"
1329
+ },
1330
+ "no-unused-labels": {
1331
+ "active": 1,
1332
+ "optionString": ""
1333
+ },
1334
+ "no-unused-vars": {
1335
+ "active": 1,
1336
+ "optionString": "{'vars': 'all', 'args': 'after-used', 'caughtErrors': 'none'}"
1337
+ },
1338
+ "no-use-before-define": {
1339
+ "active": 0,
1340
+ "optionString": "{'functions': true, 'classes': true}"
1341
+ },
1342
+ "no-useless-call": {
1343
+ "active": 0,
1344
+ "optionString": ""
1345
+ },
1346
+ "no-useless-computed-key": {
1347
+ "active": 1,
1348
+ "optionString": ""
1349
+ },
1350
+ "no-useless-concat": {
1351
+ "active": 0,
1352
+ "optionString": ""
1353
+ },
1354
+ "no-useless-constructor": {
1355
+ "active": 0,
1356
+ "optionString": ""
1357
+ },
1358
+ "no-useless-escape": {
1359
+ "active": 0,
1360
+ "optionString": ""
1361
+ },
1362
+ "no-useless-rename": {
1363
+ "active": 0,
1364
+ "optionString": "{'ignoreDestructuring': false, 'ignoreImport': false, 'ignoreExport': false}"
1365
+ },
1366
+ "no-useless-return": {
1367
+ "active": 0,
1368
+ "optionString": ""
1369
+ },
1370
+ "no-var": {
1371
+ "active": 0,
1372
+ "optionString": ""
1373
+ },
1374
+ "no-void": {
1375
+ "active": 0,
1376
+ "optionString": ""
1377
+ },
1378
+ "no-warning-comments": {
1379
+ "active": 0,
1380
+ "optionString": "{'terms': ['todo', 'fixme', 'xxx'], 'location': 'start'}"
1381
+ },
1382
+ "no-whitespace-before-property": {
1383
+ "active": 0,
1384
+ "optionString": ""
1385
+ },
1386
+ "no-with": {
1387
+ "active": 0,
1388
+ "optionString": ""
1389
+ },
1390
+ "nonblock-statement-body-position": {
1391
+ "active": 0,
1392
+ "optionString": "'beside'"
1393
+ },
1394
+ "object-curly-newline": {
1395
+ "active": 0,
1396
+ "optionString": "{'ObjectExpression': {'multiline': true}, 'ObjectPattern': {'multiline': true}}"
1397
+ },
1398
+ "object-curly-spacing": {
1399
+ "active": 0,
1400
+ "optionString": "'never'"
1401
+ },
1402
+ "object-property-newline": {
1403
+ "active": 0,
1404
+ "optionString": "{'allowMultiplePropertiesPerLine': true}"
1405
+ },
1406
+ "object-shorthand": {
1407
+ "active": 0,
1408
+ "optionString": "'always', {'avoidQuotes': false, 'ignoreConstructors': false}"
1409
+ },
1410
+ "one-var": {
1411
+ "active": 0,
1412
+ "optionString": "'always'"
1413
+ },
1414
+ "one-var-declaration-per-line": {
1415
+ "active": 0,
1416
+ "optionString": "'always'"
1417
+ },
1418
+ "operator-assignment": {
1419
+ "active": 0,
1420
+ "optionString": "'always'"
1421
+ },
1422
+ "operator-linebreak": {
1423
+ "active": 0,
1424
+ "optionString": "'after', {'overrides': {'?': 'after', '+=': 'none'}}"
1425
+ },
1426
+ "padded-blocks": {
1427
+ "active": 0,
1428
+ "optionString": "{'blocks': 'always', 'switches': 'always', 'classes': 'always'}"
1429
+ },
1430
+ "prefer-arrow-callback": {
1431
+ "active": 0,
1432
+ "optionString": ""
1433
+ },
1434
+ "prefer-const": {
1435
+ "active": 0,
1436
+ "optionString": "{'destructuring': 'any', 'ignoreReadBeforeAssign': false}"
1437
+ },
1438
+ "prefer-destructuring": {
1439
+ "active": 0,
1440
+ "optionString": "{'array': true, 'object': true}, {'enforceForRenamedProperties': false}"
1441
+ },
1442
+ "prefer-numeric-literals": {
1443
+ "active": 0,
1444
+ "optionString": ""
1445
+ },
1446
+ "prefer-promise-reject-errors": {
1447
+ "active": 0,
1448
+ "optionString": "{'allowEmptyReject': false}"
1449
+ },
1450
+ "prefer-rest-params": {
1451
+ "active": 0,
1452
+ "optionString": ""
1453
+ },
1454
+ "prefer-spread": {
1455
+ "active": 0,
1456
+ "optionString": ""
1457
+ },
1458
+ "prefer-template": {
1459
+ "active": 0,
1460
+ "optionString": ""
1461
+ },
1462
+ "quote-props": {
1463
+ "active": 0,
1464
+ "optionString": "'always'"
1465
+ },
1466
+ "quotes": {
1467
+ "active": 0,
1468
+ "optionString": "'double', {'avoidEscape': true, 'allowTemplateLiterals': true}"
1469
+ },
1470
+ "radix": {
1471
+ "active": 0,
1472
+ "optionString": "'always'"
1473
+ },
1474
+ "require-await": {
1475
+ "active": 0,
1476
+ "optionString": ""
1477
+ },
1478
+ "require-jsdoc": {
1479
+ "active": 0,
1480
+ "optionString": "{'require': {'FunctionDeclaration': true, 'MethodDefinition': false, 'ClassDeclaration': false, 'ArrowFunctionExpression': false}}"
1481
+ },
1482
+ "require-yield": {
1483
+ "active": 0,
1484
+ "optionString": ""
1485
+ },
1486
+ "rest-spread-spacing": {
1487
+ "active": 0,
1488
+ "optionString": "'never'"
1489
+ },
1490
+ "semi": {
1491
+ "active": 0,
1492
+ "optionString": "'always', {'omitLastInOneLineBlock': false}"
1493
+ },
1494
+ "semi-spacing": {
1495
+ "active": 0,
1496
+ "optionString": "{'before': false, 'after': true}"
1497
+ },
1498
+ "sort-imports": {
1499
+ "active": 0,
1500
+ "optionString": "{'ignoreCase': false, 'ignoreMemberSort': true, 'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single']}"
1501
+ },
1502
+ "sort-keys": {
1503
+ "active": 0,
1504
+ "optionString": "'asc', {'caseSensitive': true, 'natural': false}"
1505
+ },
1506
+ "sort-vars": {
1507
+ "active": 0,
1508
+ "optionString": "{'ignoreCase': false}"
1509
+ },
1510
+ "space-before-blocks": {
1511
+ "active": 0,
1512
+ "optionString": "{'functions': 'always', 'keywords': 'always', 'classes': 'always'}"
1513
+ },
1514
+ "space-before-function-paren": {
1515
+ "active": 0,
1516
+ "optionString": "{'anonymous': 'always', 'named': 'never'}"
1517
+ },
1518
+ "space-in-parens": {
1519
+ "active": 0,
1520
+ "optionString": "'never', {'exceptions': []}"
1521
+ },
1522
+ "space-infix-ops": {
1523
+ "active": 0,
1524
+ "optionString": "{'int32Hint': false}"
1525
+ },
1526
+ "space-unary-ops": {
1527
+ "active": 0,
1528
+ "optionString": "{'words': true, 'nonwords': false, 'overrides': {}}"
1529
+ },
1530
+ "spaced-comment": {
1531
+ "active": 0,
1532
+ "optionString": "'always', {'line': {'markers': ['\/'], 'exceptions': ['-', '+']}, 'block': {'markers': ['!'], 'exceptions': ['*'], 'balanced': false}}"
1533
+ },
1534
+ "strict": {
1535
+ "active": 0,
1536
+ "optionString": "'safe'"
1537
+ },
1538
+ "symbol-description": {
1539
+ "active": 0,
1540
+ "optionString": ""
1541
+ },
1542
+ "template-curly-spacing": {
1543
+ "active": 0,
1544
+ "optionString": "'never'"
1545
+ },
1546
+ "template-tag-spacing": {
1547
+ "active": 0,
1548
+ "optionString": "'never'"
1549
+ },
1550
+ "unicode-bom": {
1551
+ "active": 0,
1552
+ "optionString": "'never'"
1553
+ },
1554
+ "use-isnan": {
1555
+ "active": 1,
1556
+ "optionString": ""
1557
+ },
1558
+ "valid-jsdoc": {
1559
+ "active": 0,
1560
+ "optionString": "{'prefer': {'return': 'returns'}, 'requireReturn': true, 'requireReturnDescription': true, 'requireReturnType': true, 'requireParamDescription': true}"
1561
+ },
1562
+ "valid-typeof": {
1563
+ "active": 1,
1564
+ "optionString": "{'requireStringLiterals': true}"
1565
+ },
1566
+ "vars-on-top": {
1567
+ "active": 0,
1568
+ "optionString": ""
1569
+ },
1570
+ "wrap-iife": {
1571
+ "active": 0,
1572
+ "optionString": "'outside'"
1573
+ },
1574
+ "wrap-regex": {
1575
+ "active": 0,
1576
+ "optionString": ""
1577
+ },
1578
+ "yield-star-spacing": {
1579
+ "active": 0,
1580
+ "optionString": "{'before': false, 'after': true}"
1581
+ },
1582
+ "yoda": {
1583
+ "active": 0,
1584
+ "optionString": "'never', {'exceptRange': false, 'onlyEquality': false}"
1585
+ }
1586
+ },
1587
+ "esLintSourceType": 0,
1588
+ "externalServerAddress": "http:\/\/localhost:8888",
1589
+ "gitIgnoreBuildFolder": 1,
1590
+ "hideConfigFile": 0,
1591
+ "jsCheckerReservedNamesString": "",
1592
+ "jsHintFlags2": {
1593
+ "asi": {
1594
+ "active": 0,
1595
+ "flagValue": -1
1596
+ },
1597
+ "bitwise": {
1598
+ "active": 1,
1599
+ "flagValue": -1
1600
+ },
1601
+ "boss": {
1602
+ "active": 0,
1603
+ "flagValue": -1
1604
+ },
1605
+ "browser": {
1606
+ "active": 1,
1607
+ "flagValue": -1
1608
+ },
1609
+ "browserify": {
1610
+ "active": 0,
1611
+ "flagValue": -1
1612
+ },
1613
+ "camelcase": {
1614
+ "active": 0,
1615
+ "flagValue": -1
1616
+ },
1617
+ "couch": {
1618
+ "active": 0,
1619
+ "flagValue": -1
1620
+ },
1621
+ "curly": {
1622
+ "active": 1,
1623
+ "flagValue": -1
1624
+ },
1625
+ "debug": {
1626
+ "active": 0,
1627
+ "flagValue": -1
1628
+ },
1629
+ "devel": {
1630
+ "active": 0,
1631
+ "flagValue": -1
1632
+ },
1633
+ "dojo": {
1634
+ "active": 0,
1635
+ "flagValue": -1
1636
+ },
1637
+ "elision": {
1638
+ "active": 1,
1639
+ "flagValue": -1
1640
+ },
1641
+ "eqeqeq": {
1642
+ "active": 1,
1643
+ "flagValue": -1
1644
+ },
1645
+ "eqnull": {
1646
+ "active": 0,
1647
+ "flagValue": -1
1648
+ },
1649
+ "es3": {
1650
+ "active": 0,
1651
+ "flagValue": -1
1652
+ },
1653
+ "esnext": {
1654
+ "active": 0,
1655
+ "flagValue": -1
1656
+ },
1657
+ "evil": {
1658
+ "active": 0,
1659
+ "flagValue": -1
1660
+ },
1661
+ "expr": {
1662
+ "active": 0,
1663
+ "flagValue": -1
1664
+ },
1665
+ "forin": {
1666
+ "active": 0,
1667
+ "flagValue": -1
1668
+ },
1669
+ "freeze": {
1670
+ "active": 1,
1671
+ "flagValue": -1
1672
+ },
1673
+ "funcscope": {
1674
+ "active": 0,
1675
+ "flagValue": -1
1676
+ },
1677
+ "futurehostile": {
1678
+ "active": 0,
1679
+ "flagValue": -1
1680
+ },
1681
+ "globalstrict": {
1682
+ "active": 0,
1683
+ "flagValue": -1
1684
+ },
1685
+ "immed": {
1686
+ "active": 0,
1687
+ "flagValue": -1
1688
+ },
1689
+ "indent": {
1690
+ "active": 0,
1691
+ "flagValue": 4
1692
+ },
1693
+ "iterator": {
1694
+ "active": 0,
1695
+ "flagValue": -1
1696
+ },
1697
+ "jasmine": {
1698
+ "active": 0,
1699
+ "flagValue": -1
1700
+ },
1701
+ "jquery": {
1702
+ "active": 1,
1703
+ "flagValue": -1
1704
+ },
1705
+ "lastsemic": {
1706
+ "active": 0,
1707
+ "flagValue": -1
1708
+ },
1709
+ "latedef": {
1710
+ "active": 1,
1711
+ "flagValue": -1
1712
+ },
1713
+ "laxbreak": {
1714
+ "active": 0,
1715
+ "flagValue": -1
1716
+ },
1717
+ "laxcomma": {
1718
+ "active": 0,
1719
+ "flagValue": -1
1720
+ },
1721
+ "loopfunc": {
1722
+ "active": 0,
1723
+ "flagValue": -1
1724
+ },
1725
+ "maxcomplexity": {
1726
+ "active": 0,
1727
+ "flagValue": 10
1728
+ },
1729
+ "maxdepth": {
1730
+ "active": 0,
1731
+ "flagValue": 3
1732
+ },
1733
+ "maxlen": {
1734
+ "active": 0,
1735
+ "flagValue": 150
1736
+ },
1737
+ "maxparams": {
1738
+ "active": 0,
1739
+ "flagValue": 3
1740
+ },
1741
+ "maxstatements": {
1742
+ "active": 0,
1743
+ "flagValue": 4
1744
+ },
1745
+ "mocha": {
1746
+ "active": 0,
1747
+ "flagValue": -1
1748
+ },
1749
+ "mootools": {
1750
+ "active": 0,
1751
+ "flagValue": -1
1752
+ },
1753
+ "moz": {
1754
+ "active": 0,
1755
+ "flagValue": -1
1756
+ },
1757
+ "multistr": {
1758
+ "active": 0,
1759
+ "flagValue": -1
1760
+ },
1761
+ "newcap": {
1762
+ "active": 1,
1763
+ "flagValue": -1
1764
+ },
1765
+ "noarg": {
1766
+ "active": 1,
1767
+ "flagValue": -1
1768
+ },
1769
+ "nocomma": {
1770
+ "active": 0,
1771
+ "flagValue": -1
1772
+ },
1773
+ "node": {
1774
+ "active": 0,
1775
+ "flagValue": -1
1776
+ },
1777
+ "noempty": {
1778
+ "active": 0,
1779
+ "flagValue": -1
1780
+ },
1781
+ "nonbsp": {
1782
+ "active": 0,
1783
+ "flagValue": -1
1784
+ },
1785
+ "nonew": {
1786
+ "active": 1,
1787
+ "flagValue": -1
1788
+ },
1789
+ "nonstandard": {
1790
+ "active": 0,
1791
+ "flagValue": -1
1792
+ },
1793
+ "notypeof": {
1794
+ "active": 1,
1795
+ "flagValue": -1
1796
+ },
1797
+ "noyield": {
1798
+ "active": 0,
1799
+ "flagValue": -1
1800
+ },
1801
+ "onecase": {
1802
+ "active": 0,
1803
+ "flagValue": -1
1804
+ },
1805
+ "phantom": {
1806
+ "active": 0,
1807
+ "flagValue": -1
1808
+ },
1809
+ "plusplus": {
1810
+ "active": 0,
1811
+ "flagValue": -1
1812
+ },
1813
+ "proto": {
1814
+ "active": 0,
1815
+ "flagValue": -1
1816
+ },
1817
+ "prototypejs": {
1818
+ "active": 0,
1819
+ "flagValue": -1
1820
+ },
1821
+ "qunit": {
1822
+ "active": 0,
1823
+ "flagValue": -1
1824
+ },
1825
+ "regexp": {
1826
+ "active": 1,
1827
+ "flagValue": -1
1828
+ },
1829
+ "rhino": {
1830
+ "active": 0,
1831
+ "flagValue": -1
1832
+ },
1833
+ "scripturl": {
1834
+ "active": 0,
1835
+ "flagValue": -1
1836
+ },
1837
+ "shadow": {
1838
+ "active": 0,
1839
+ "flagValue": -1
1840
+ },
1841
+ "shelljs": {
1842
+ "active": 0,
1843
+ "flagValue": -1
1844
+ },
1845
+ "singleGroups": {
1846
+ "active": 0,
1847
+ "flagValue": -1
1848
+ },
1849
+ "strict": {
1850
+ "active": 0,
1851
+ "flagValue": -1
1852
+ },
1853
+ "sub": {
1854
+ "active": 0,
1855
+ "flagValue": -1
1856
+ },
1857
+ "supernew": {
1858
+ "active": 0,
1859
+ "flagValue": -1
1860
+ },
1861
+ "typed": {
1862
+ "active": 0,
1863
+ "flagValue": -1
1864
+ },
1865
+ "undef": {
1866
+ "active": 1,
1867
+ "flagValue": -1
1868
+ },
1869
+ "unused": {
1870
+ "active": 1,
1871
+ "flagValue": -1
1872
+ },
1873
+ "varstmt": {
1874
+ "active": 0,
1875
+ "flagValue": -1
1876
+ },
1877
+ "withstmt": {
1878
+ "active": 0,
1879
+ "flagValue": -1
1880
+ },
1881
+ "worker": {
1882
+ "active": 0,
1883
+ "flagValue": -1
1884
+ },
1885
+ "wsh": {
1886
+ "active": 0,
1887
+ "flagValue": -1
1888
+ },
1889
+ "yui": {
1890
+ "active": 0,
1891
+ "flagValue": -1
1892
+ }
1893
+ },
1894
+ "jsLintFlags2": {
1895
+ "bitwise": {
1896
+ "active": 0,
1897
+ "flagValue": -1
1898
+ },
1899
+ "browser": {
1900
+ "active": 1,
1901
+ "flagValue": -1
1902
+ },
1903
+ "couch": {
1904
+ "active": 0,
1905
+ "flagValue": -1
1906
+ },
1907
+ "devel": {
1908
+ "active": 0,
1909
+ "flagValue": -1
1910
+ },
1911
+ "es6": {
1912
+ "active": 0,
1913
+ "flagValue": -1
1914
+ },
1915
+ "eval": {
1916
+ "active": 0,
1917
+ "flagValue": -1
1918
+ },
1919
+ "for": {
1920
+ "active": 0,
1921
+ "flagValue": -1
1922
+ },
1923
+ "maxlen": {
1924
+ "active": 0,
1925
+ "flagValue": 150
1926
+ },
1927
+ "node": {
1928
+ "active": 0,
1929
+ "flagValue": -1
1930
+ },
1931
+ "this": {
1932
+ "active": 0,
1933
+ "flagValue": -1
1934
+ },
1935
+ "white": {
1936
+ "active": 0,
1937
+ "flagValue": -1
1938
+ }
1939
+ },
1940
+ "languageDefaultsCOFFEE": {
1941
+ "autoOutputAction": 0,
1942
+ "autoOutputPathFilenamePattern": "*.js",
1943
+ "autoOutputPathRelativePath": "",
1944
+ "autoOutputPathReplace1": "",
1945
+ "autoOutputPathReplace2": "",
1946
+ "autoOutputPathStyle": 0,
1947
+ "createSourceMap": 0,
1948
+ "minifyOutput": 1,
1949
+ "outputStyle": 0,
1950
+ "syntaxCheckerStyle": 1
1951
+ },
1952
+ "languageDefaultsCSS": {
1953
+ "autoOutputAction": 0,
1954
+ "autoOutputPathFilenamePattern": "*-min.css",
1955
+ "autoOutputPathRelativePath": "",
1956
+ "autoOutputPathReplace1": "",
1957
+ "autoOutputPathReplace2": "",
1958
+ "autoOutputPathStyle": 0,
1959
+ "createSourceMap": 0,
1960
+ "outputStyle": 3,
1961
+ "shouldRunAutoprefixer": 1,
1962
+ "shouldRunBless": 0
1963
+ },
1964
+ "languageDefaultsGIF": {
1965
+ "autoOutputAction": 0,
1966
+ "autoOutputPathFilenamePattern": "*.gif",
1967
+ "autoOutputPathRelativePath": "",
1968
+ "autoOutputPathReplace1": "",
1969
+ "autoOutputPathReplace2": "",
1970
+ "autoOutputPathStyle": 0
1971
+ },
1972
+ "languageDefaultsHAML": {
1973
+ "autoOutputAction": 0,
1974
+ "autoOutputPathFilenamePattern": "*.html",
1975
+ "autoOutputPathRelativePath": "",
1976
+ "autoOutputPathReplace1": "",
1977
+ "autoOutputPathReplace2": "",
1978
+ "autoOutputPathStyle": 0,
1979
+ "escapeHTMLCharacters": 0,
1980
+ "noEscapeInAttributes": 0,
1981
+ "outputFormat": 2,
1982
+ "outputStyle": 0,
1983
+ "useCDATA": 0,
1984
+ "useDoubleQuotes": 0,
1985
+ "useUnixNewlines": 0
1986
+ },
1987
+ "languageDefaultsJPG": {
1988
+ "autoOutputAction": 0,
1989
+ "autoOutputPathFilenamePattern": "*.jpg",
1990
+ "autoOutputPathRelativePath": "",
1991
+ "autoOutputPathReplace1": "",
1992
+ "autoOutputPathReplace2": "",
1993
+ "autoOutputPathStyle": 0,
1994
+ "quality": 100
1995
+ },
1996
+ "languageDefaultsJS": {
1997
+ "autoOutputAction": 0,
1998
+ "autoOutputPathFilenamePattern": "*-min.js",
1999
+ "autoOutputPathRelativePath": "\/min",
2000
+ "autoOutputPathReplace1": "",
2001
+ "autoOutputPathReplace2": "",
2002
+ "autoOutputPathStyle": 0,
2003
+ "createSourceMap": 0,
2004
+ "minifyOutput": 1,
2005
+ "syntaxCheckerStyle": 1,
2006
+ "transpilerStyle": 0
2007
+ },
2008
+ "languageDefaultsJSON": {
2009
+ "autoOutputAction": 1,
2010
+ "autoOutputPathFilenamePattern": "*-min.json",
2011
+ "autoOutputPathRelativePath": "",
2012
+ "autoOutputPathReplace1": "",
2013
+ "autoOutputPathReplace2": "",
2014
+ "autoOutputPathStyle": 0,
2015
+ "orderOutput": 0,
2016
+ "outputStyle": 1
2017
+ },
2018
+ "languageDefaultsJSX": {
2019
+ "autoOutputAction": 0,
2020
+ "autoOutputPathFilenamePattern": "*.js",
2021
+ "autoOutputPathRelativePath": "",
2022
+ "autoOutputPathReplace1": "jsx",
2023
+ "autoOutputPathReplace2": "js",
2024
+ "autoOutputPathStyle": 0
2025
+ },
2026
+ "languageDefaultsKIT": {
2027
+ "autoOutputAction": 0,
2028
+ "autoOutputPathFilenamePattern": "*.html",
2029
+ "autoOutputPathRelativePath": "",
2030
+ "autoOutputPathReplace1": "kit",
2031
+ "autoOutputPathReplace2": "html",
2032
+ "autoOutputPathStyle": 0
2033
+ },
2034
+ "languageDefaultsLESS": {
2035
+ "allowInsecureImports": 0,
2036
+ "autoOutputAction": 0,
2037
+ "autoOutputPathFilenamePattern": "*.css",
2038
+ "autoOutputPathRelativePath": "..\/css",
2039
+ "autoOutputPathReplace1": "less",
2040
+ "autoOutputPathReplace2": "css",
2041
+ "autoOutputPathStyle": 0,
2042
+ "createSourceMap": 1,
2043
+ "disableJavascript": 0,
2044
+ "ieCompatibility": 1,
2045
+ "outputStyle": 0,
2046
+ "relativeURLS": 0,
2047
+ "shouldRunAutoprefixer": 0,
2048
+ "shouldRunBless": 0,
2049
+ "strictImports": 0,
2050
+ "strictMath": 0,
2051
+ "strictUnits": 0
2052
+ },
2053
+ "languageDefaultsMARKDOWN": {
2054
+ "autoOutputAction": 0,
2055
+ "autoOutputPathFilenamePattern": "*.html",
2056
+ "autoOutputPathRelativePath": "",
2057
+ "autoOutputPathReplace1": "",
2058
+ "autoOutputPathReplace2": "",
2059
+ "autoOutputPathStyle": 0,
2060
+ "criticStyle": 0,
2061
+ "enableFootnotes": 1,
2062
+ "enableLabels": 1,
2063
+ "enableSmartQuotes": 1,
2064
+ "escapeLineBreaks": 0,
2065
+ "maskEmailAddresses": 1,
2066
+ "outputFormat": 0,
2067
+ "outputStyle": 0,
2068
+ "parseMetadata": 1,
2069
+ "processHTML": 0,
2070
+ "randomFootnoteNumbers": 0,
2071
+ "useCompatibilityMode": 0
2072
+ },
2073
+ "languageDefaultsOTHER": {
2074
+ "autoOutputAction": 2,
2075
+ "autoOutputPathFilenamePattern": "*.*",
2076
+ "autoOutputPathRelativePath": "",
2077
+ "autoOutputPathReplace1": "",
2078
+ "autoOutputPathReplace2": "",
2079
+ "autoOutputPathStyle": 0
2080
+ },
2081
+ "languageDefaultsPNG": {
2082
+ "autoOutputAction": 0,
2083
+ "autoOutputPathFilenamePattern": "*.png",
2084
+ "autoOutputPathRelativePath": "",
2085
+ "autoOutputPathReplace1": "",
2086
+ "autoOutputPathReplace2": "",
2087
+ "autoOutputPathStyle": 0,
2088
+ "enableLossy": 1,
2089
+ "quality": 100
2090
+ },
2091
+ "languageDefaultsPUG": {
2092
+ "autoOutputAction": 0,
2093
+ "autoOutputPathFilenamePattern": "*.html",
2094
+ "autoOutputPathRelativePath": "",
2095
+ "autoOutputPathReplace1": "",
2096
+ "autoOutputPathReplace2": "",
2097
+ "autoOutputPathStyle": 0,
2098
+ "compileDebug": 1,
2099
+ "outputStyle": 0
2100
+ },
2101
+ "languageDefaultsSASS": {
2102
+ "autoOutputAction": 0,
2103
+ "autoOutputPathFilenamePattern": "*.css",
2104
+ "autoOutputPathRelativePath": "..\/css",
2105
+ "autoOutputPathReplace1": "sass",
2106
+ "autoOutputPathReplace2": "css",
2107
+ "autoOutputPathStyle": 0,
2108
+ "createSourceMap": 0,
2109
+ "debugStyle": 0,
2110
+ "decimalPrecision": 10,
2111
+ "outputStyle": 0,
2112
+ "shouldRunAutoprefixer": 0,
2113
+ "shouldRunBless": 0,
2114
+ "useLibsass": 1
2115
+ },
2116
+ "languageDefaultsSLIM": {
2117
+ "autoOutputAction": 0,
2118
+ "autoOutputPathFilenamePattern": "*.html",
2119
+ "autoOutputPathRelativePath": "",
2120
+ "autoOutputPathReplace1": "",
2121
+ "autoOutputPathReplace2": "",
2122
+ "autoOutputPathStyle": 0,
2123
+ "compileOnly": 0,
2124
+ "logicless": 0,
2125
+ "outputFormat": 0,
2126
+ "outputStyle": 1,
2127
+ "railsCompatible": 0
2128
+ },
2129
+ "languageDefaultsSTYLUS": {
2130
+ "autoOutputAction": 0,
2131
+ "autoOutputPathFilenamePattern": "*.css",
2132
+ "autoOutputPathRelativePath": "..\/css",
2133
+ "autoOutputPathReplace1": "stylus",
2134
+ "autoOutputPathReplace2": "css",
2135
+ "autoOutputPathStyle": 0,
2136
+ "createSourceMap": 0,
2137
+ "debugStyle": 0,
2138
+ "importCSS": 0,
2139
+ "outputStyle": 0,
2140
+ "resolveRelativeURLS": 0,
2141
+ "shouldRunAutoprefixer": 0,
2142
+ "shouldRunBless": 0
2143
+ },
2144
+ "languageDefaultsSVG": {
2145
+ "autoOutputAction": 2,
2146
+ "autoOutputPathFilenamePattern": "*.svg",
2147
+ "autoOutputPathRelativePath": "",
2148
+ "autoOutputPathReplace1": "",
2149
+ "autoOutputPathReplace2": "",
2150
+ "autoOutputPathStyle": 0,
2151
+ "pluginMask": 3758088159
2152
+ },
2153
+ "languageDefaultsTS": {
2154
+ "autoOutputAction": 0,
2155
+ "autoOutputPathFilenamePattern": "*.js",
2156
+ "autoOutputPathRelativePath": "\/js",
2157
+ "autoOutputPathReplace1": "",
2158
+ "autoOutputPathReplace2": "",
2159
+ "autoOutputPathStyle": 0,
2160
+ "createDeclarationFile": 0,
2161
+ "createSourceMap": 0,
2162
+ "jsxMode": 0,
2163
+ "minifyOutput": 0,
2164
+ "moduleResolutionType": 0,
2165
+ "moduleType": 2,
2166
+ "noImplicitAny": 0,
2167
+ "preserveConstEnums": 0,
2168
+ "removeComments": 0,
2169
+ "suppressImplicitAnyIndexErrors": 0,
2170
+ "targetECMAVersion": 0
2171
+ },
2172
+ "languageDefaultsUserDefined": [
2173
+ ],
2174
+ "previewPathAddition": "",
2175
+ "skippedFoldersString": "log, _logs, logs, _cache, cache, \/storage\/framework\/sessions, node_modules",
2176
+ "sourceFolderName": "source",
2177
+ "uglifyDefinesString": "",
2178
+ "uglifyFlags2": {
2179
+ "ascii-only": {
2180
+ "active": 0,
2181
+ "flagValue": -1
2182
+ },
2183
+ "bare-returns": {
2184
+ "active": 0,
2185
+ "flagValue": -1
2186
+ },
2187
+ "booleans": {
2188
+ "active": 1,
2189
+ "flagValue": -1
2190
+ },
2191
+ "bracketize": {
2192
+ "active": 0,
2193
+ "flagValue": -1
2194
+ },
2195
+ "cascade": {
2196
+ "active": 1,
2197
+ "flagValue": -1
2198
+ },
2199
+ "comments": {
2200
+ "active": 1,
2201
+ "flagValue": -1
2202
+ },
2203
+ "comparisons": {
2204
+ "active": 1,
2205
+ "flagValue": -1
2206
+ },
2207
+ "compress": {
2208
+ "active": 1,
2209
+ "flagValue": -1
2210
+ },
2211
+ "conditionals": {
2212
+ "active": 1,
2213
+ "flagValue": -1
2214
+ },
2215
+ "dead_code": {
2216
+ "active": 0,
2217
+ "flagValue": -1
2218
+ },
2219
+ "drop_console": {
2220
+ "active": 0,
2221
+ "flagValue": -1
2222
+ },
2223
+ "drop_debugger": {
2224
+ "active": 1,
2225
+ "flagValue": -1
2226
+ },
2227
+ "eval": {
2228
+ "active": 0,
2229
+ "flagValue": -1
2230
+ },
2231
+ "evaluate": {
2232
+ "active": 1,
2233
+ "flagValue": -1
2234
+ },
2235
+ "hoist_funs": {
2236
+ "active": 1,
2237
+ "flagValue": -1
2238
+ },
2239
+ "hoist_vars": {
2240
+ "active": 0,
2241
+ "flagValue": -1
2242
+ },
2243
+ "if_return": {
2244
+ "active": 1,
2245
+ "flagValue": -1
2246
+ },
2247
+ "indent-level": {
2248
+ "active": 0,
2249
+ "flagValue": 4
2250
+ },
2251
+ "indent-start": {
2252
+ "active": 0,
2253
+ "flagValue": 0
2254
+ },
2255
+ "inline-script": {
2256
+ "active": 0,
2257
+ "flagValue": -1
2258
+ },
2259
+ "join_vars": {
2260
+ "active": 1,
2261
+ "flagValue": -1
2262
+ },
2263
+ "keep_fargs": {
2264
+ "active": 0,
2265
+ "flagValue": -1
2266
+ },
2267
+ "keep_fnames": {
2268
+ "active": 0,
2269
+ "flagValue": -1
2270
+ },
2271
+ "loops": {
2272
+ "active": 1,
2273
+ "flagValue": -1
2274
+ },
2275
+ "mangle": {
2276
+ "active": 1,
2277
+ "flagValue": -1
2278
+ },
2279
+ "max-line-len": {
2280
+ "active": 1,
2281
+ "flagValue": 32000
2282
+ },
2283
+ "negate_iife": {
2284
+ "active": 1,
2285
+ "flagValue": -1
2286
+ },
2287
+ "properties": {
2288
+ "active": 1,
2289
+ "flagValue": -1
2290
+ },
2291
+ "pure_getters": {
2292
+ "active": 0,
2293
+ "flagValue": -1
2294
+ },
2295
+ "quote-keys": {
2296
+ "active": 0,
2297
+ "flagValue": -1
2298
+ },
2299
+ "screw-ie8": {
2300
+ "active": 1,
2301
+ "flagValue": -1
2302
+ },
2303
+ "semicolons": {
2304
+ "active": 1,
2305
+ "flagValue": -1
2306
+ },
2307
+ "sequences": {
2308
+ "active": 1,
2309
+ "flagValue": -1
2310
+ },
2311
+ "sort": {
2312
+ "active": 0,
2313
+ "flagValue": -1
2314
+ },
2315
+ "space-colon": {
2316
+ "active": 1,
2317
+ "flagValue": -1
2318
+ },
2319
+ "support-ie8": {
2320
+ "active": 0,
2321
+ "flagValue": -1
2322
+ },
2323
+ "toplevel": {
2324
+ "active": 0,
2325
+ "flagValue": -1
2326
+ },
2327
+ "unsafe": {
2328
+ "active": 0,
2329
+ "flagValue": -1
2330
+ },
2331
+ "unused": {
2332
+ "active": 0,
2333
+ "flagValue": -1
2334
+ },
2335
+ "warnings": {
2336
+ "active": 0,
2337
+ "flagValue": -1
2338
+ },
2339
+ "width": {
2340
+ "active": 1,
2341
+ "flagValue": 80
2342
+ }
2343
+ },
2344
+ "uglifyReservedNamesString": "$",
2345
+ "websiteRelativeRoot": ""
2346
+ },
2347
+ "settingsFileVersion": "3"
2348
+ }
functions/attachment-modal.php CHANGED
@@ -8,9 +8,15 @@ if ( ! defined( 'ABSPATH' ) ) {
8
 
9
  function bodhi_svgs_response_for_svg( $response, $attachment, $meta ) {
10
 
11
- if( $response['mime'] == 'image/svg+xml' && empty( $response['sizes'] ) ) {
12
 
13
  $svg_path = get_attached_file( $attachment->ID );
 
 
 
 
 
 
14
  $dimensions = bodhi_svgs_get_dimensions( $svg_path );
15
 
16
  $response[ 'sizes' ] = array(
@@ -32,9 +38,18 @@ add_filter( 'wp_prepare_attachment_for_js', 'bodhi_svgs_response_for_svg', 10, 3
32
  function bodhi_svgs_get_dimensions( $svg ) {
33
 
34
  $svg = simplexml_load_file( $svg );
35
- $attributes = $svg->attributes();
36
- $width = (string) $attributes->width;
37
- $height = (string) $attributes->height;
 
 
 
 
 
 
 
 
 
38
 
39
  return (object) array( 'width' => $width, 'height' => $height );
40
 
8
 
9
  function bodhi_svgs_response_for_svg( $response, $attachment, $meta ) {
10
 
11
+ if ( $response['mime'] == 'image/svg+xml' && empty( $response['sizes'] ) ) {
12
 
13
  $svg_path = get_attached_file( $attachment->ID );
14
+
15
+ if ( ! file_exists( $svg_path ) ) {
16
+ // If SVG is external, use the URL instead of the path
17
+ $svg_path = $response[ 'url' ];
18
+ }
19
+
20
  $dimensions = bodhi_svgs_get_dimensions( $svg_path );
21
 
22
  $response[ 'sizes' ] = array(
38
  function bodhi_svgs_get_dimensions( $svg ) {
39
 
40
  $svg = simplexml_load_file( $svg );
41
+
42
+ if ( $svg === FALSE ) {
43
+
44
+ $width = '0';
45
+ $height = '0';
46
+
47
+ } else {
48
+
49
+ $attributes = $svg->attributes();
50
+ $width = (string) $attributes->width;
51
+ $height = (string) $attributes->height;
52
+ }
53
 
54
  return (object) array( 'width' => $width, 'height' => $height );
55
 
functions/mime-types.php CHANGED
@@ -1,12 +1,17 @@
1
  <?php
2
  /**
3
- * Add SVG mime types
 
 
 
4
  */
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit; // Exit if accessed directly
7
  }
8
 
9
- add_filter( 'upload_mimes', 'bodhi_svgs_upload_mimes' );
 
 
10
  function bodhi_svgs_upload_mimes( $mimes = array() ) {
11
 
12
  global $bodhi_svgs_options;
@@ -25,4 +30,28 @@ function bodhi_svgs_upload_mimes( $mimes = array() ) {
25
 
26
  }
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
1
  <?php
2
  /**
3
+ * Add SVG mime types to WordPress
4
+ *
5
+ * Allows you to upload SVG files to the media library like any other image.
6
+ * Additionally provides a fix for WP 4.7.1 - 4.7.2 upload issues.
7
  */
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit; // Exit if accessed directly
10
  }
11
 
12
+ /**
13
+ * Add Mime Types
14
+ */
15
  function bodhi_svgs_upload_mimes( $mimes = array() ) {
16
 
17
  global $bodhi_svgs_options;
30
 
31
  }
32
 
33
+ }
34
+ add_filter( 'upload_mimes', 'bodhi_svgs_upload_mimes' );
35
+
36
+
37
+ /**
38
+ * Mime Check fix for WP 4.7.1 / 4.7.2
39
+ *
40
+ * Fixes uploads for these 2 version of WordPress.
41
+ * Issue was fixed in 4.7.3 core.
42
+ */
43
+ global $wp_version;
44
+ if ( $wp_version == '4.7.1' || $wp_version == '4.7.2' ) {
45
+ add_filter( 'wp_check_filetype_and_ext', 'bodhi_svgs_disable_real_mime_check', 10, 4 );
46
+ }
47
+ function bodhi_svgs_disable_real_mime_check( $data, $file, $filename, $mimes ) {
48
+
49
+ $wp_filetype = wp_check_filetype( $filename, $mimes );
50
+
51
+ $ext = $wp_filetype['ext'];
52
+ $type = $wp_filetype['type'];
53
+ $proper_filename = $data['proper_filename'];
54
+
55
+ return compact( 'ext', 'type', 'proper_filename' );
56
+
57
  }
js/min/svgs-admin-notice-update-min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).on("click",".svgs-upgrade-notice .notice-dismiss",function(){jQuery.ajax({url:ajaxurl,data:{action:"dismiss_svgs_admin_notice"}})});
1
+ jQuery(document).ready(function($){function i(){jQuery.ajax({url:ajaxurl,data:{action:"bodhi_svgs_dismiss_admin_notice"}})}$(".svgs-upgrade-notice .notice-dismiss").click(i)});
js/min/svgs-inline-min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($){String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var r=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>r.length)&&(e=r.length),e-=t.length;var n=r.lastIndexOf(t,e);return n!==-1&&n===e});var t="img."!==cssTarget?cssTarget:"img.style-svg";$(t).each(function(t){var e=jQuery(this),r=e.attr("id"),n=e.attr("class"),i=e.attr("src");i.endsWith("svg")&&$.get(i,function(i){var a=$(i).find("svg"),s=a.attr("id");"undefined"==typeof r?"undefined"==typeof s?(r="svg-replaced-"+t,a=a.attr("id",r)):r=s:a=a.attr("id",r),"undefined"!=typeof n&&(a=a.attr("class",n+" replaced-svg svg-replaced-"+t)),a=a.removeAttr("xmlns:a"),e.replaceWith(a),$(document).trigger("svg.loaded",[r])},"xml")})});
1
+ jQuery(document).ready(function($){String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var r=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>r.length)&&(e=r.length),e-=t.length;var n=r.lastIndexOf(t,e);return n!==-1&&n===e}),String.prototype.endsWith=function(t){var e=this.length-t.length;return e>=0&&this.lastIndexOf(t)===e},$("img."!==cssTarget?cssTarget:"img.style-svg").each(function(t){var e=jQuery(this),r=e.attr("id"),n=e.attr("class"),i=e.attr("src");i.endsWith("svg")&&$.get(i,function(i){var s=$(i).find("svg"),a=s.attr("id");void 0===r?void 0===a?(r="svg-replaced-"+t,s=s.attr("id",r)):r=a:s=s.attr("id",r),void 0!==n&&(s=s.attr("class",n+" replaced-svg svg-replaced-"+t)),s=s.removeAttr("xmlns:a"),e.replaceWith(s),$(document).trigger("svg.loaded",[r])},"xml")})});
js/svgs-admin-notice-update.js CHANGED
@@ -1,10 +1,16 @@
1
- jQuery(document).on( 'click', '.svgs-upgrade-notice .notice-dismiss', function() {
2
-
3
- jQuery.ajax({
4
- url: ajaxurl,
5
- data: {
6
- action: 'dismiss_svgs_admin_notice'
7
- }
8
- });
 
 
 
 
 
 
9
 
10
  });
1
+ jQuery(document).ready(function ($) {
2
+
3
+ function svgsDismissNotice(){
4
+
5
+ jQuery.ajax({
6
+ url: ajaxurl,
7
+ data: {
8
+ action: 'bodhi_svgs_dismiss_admin_notice'
9
+ }
10
+ });
11
+
12
+ }
13
+
14
+ $('.svgs-upgrade-notice .notice-dismiss').click(svgsDismissNotice);
15
 
16
  });
js/svgs-inline.js CHANGED
@@ -14,6 +14,13 @@ jQuery(document).ready(function ($) {
14
  };
15
  } // end polyfill
16
 
 
 
 
 
 
 
 
17
  // Check to see if user set alternate class
18
  var target = ( cssTarget !== 'img.' ? cssTarget : 'img.style-svg' );
19
 
14
  };
15
  } // end polyfill
16
 
17
+ // Another snippet to support IE11
18
+ String.prototype.endsWith = function(pattern) {
19
+ var d = this.length - pattern.length;
20
+ return d >= 0 && this.lastIndexOf(pattern) === d;
21
+ };
22
+ // End snippet to support IE11
23
+
24
  // Check to see if user set alternate class
25
  var target = ( cssTarget !== 'img.' ? cssTarget : 'img.style-svg' );
26
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: Benbodhi
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z9R7JERS82EQQ
4
  Tags: svg, vector, css, style, mime, mime type, embed, img, inline, animation
5
  Requires at least: 4.0
6
- Tested up to: 4.8-alpha-39948
7
- Stable tag: 2.3.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -58,41 +58,32 @@ Please Note: You will need to set your own height and width in your CSS for SVG
58
 
59
  = Security =
60
 
61
- As with allowing uploads of any files, there is potential risks involved. Only allow users to upload SVG files if you trust them. You have the option to restrict SVG usage to Administrators only from the settings page. By default, anyone with Media Library access or upload_files capability will be able to upload SVG files (that is Administrators, Authors and Editors).
62
-
63
- = Translations =
64
-
65
- * US English - default, always included
66
- * AU English - WordPress Language Packs
67
- * NZ English - WordPress Language Packs
68
- * Serbian - translated and submitted by Ogi Djuraskovic from [first site guide](http://firstsiteguide.com/)
69
- * Spanish - translated and submitted by [Apasionados del Marketing](http://apasionados.es)
70
 
71
  = Feedback =
72
 
73
- * I am open to your suggestions and feedback - Thanks for using SVG Support!
74
  * Drop me a line [@benbodhi](http://twitter.com/benbodhi) or [@GoWebben](http://twitter.com/gowebben) on Twitter
75
  * Follow me on [my Facebook page](http://www.facebook.com/gowebben)
76
  * Or circle [+GoWebben](https://plus.google.com/+Gowebben/) on Google Plus ;-)
77
 
78
  *Note:* This is the second plugin I have submitted to the WordPress repository, I hope you like it. Please take a moment to rate it and click 'works' under compatibility with your version of WordPress.<br />
79
- As always, feel free to send me any suggestions.
80
 
81
  == Installation ==
82
 
83
  To install this plugin:
84
 
85
  = via wp-admin =
86
- 1. Upload the compressed version `svg-support.zip` through 'Plugins' > 'Add New' > 'Upload'
87
- 2. Click 'Activate Plugin'
88
-
89
- or
90
-
91
  1. Visit 'Plugins' > 'Add New'
92
  2. Type "SVG Support" into the search field
93
  3. Click 'Install Plugin' and confirm in the pop up
94
  4. Hover over SVG Support and click 'Activate Plugin'
95
 
 
 
 
 
96
 
97
  = via FTP =
98
  1. Download plugin file and extract it
@@ -103,7 +94,7 @@ or
103
 
104
  = SVG not rendering inline since 2.3 update =
105
 
106
- SVG Support 2.3 includes a new settings "Advanced Mode". Users that were inlining SVG files need to make sure this setting is checked. Go to your dashboard > Settings > SVG Support and check "Advanced Mode". All of your original settings should still be there.
107
 
108
  = How do I disable the Javascript on the front end if I am not using inline SVG? =
109
 
@@ -129,6 +120,10 @@ If you installed multisite prior to WordPress 3.5, then you will need to remove
129
 
130
  If you are using SVG Support with Visual Composer or any other page builders, you will need to make sure that you can add your own class to the image. The easiest way to do this is by using a simple text or code block in the builder to put your image code in to.
131
 
 
 
 
 
132
  == Screenshots ==
133
 
134
  1. Basic Settings
@@ -138,6 +133,17 @@ If you are using SVG Support with Visual Composer or any other page builders, yo
138
 
139
  == Changelog ==
140
 
 
 
 
 
 
 
 
 
 
 
 
141
  = 2.3.6 =
142
 
143
  * New: Added polyfill to make svgs-inline.js work with older browsers.
@@ -220,7 +226,7 @@ If you are using SVG Support with Visual Composer or any other page builders, yo
220
  * Blocked direct access to PHP files.
221
  * Added SCSS support using CodeKit - minified CSS + JS files.
222
  * Updated spelling for incorrect function name.
223
- * Changed comment formatting across all files for conistency.
224
  * Added link to $25 Free credit at GoWebben on the settings page.
225
  * Tested in WordPress 4.3.
226
  * Updated Readme file.
@@ -275,6 +281,10 @@ If you are using SVG Support with Visual Composer or any other page builders, yo
275
 
276
  == Upgrade Notice ==
277
 
 
 
 
 
278
  = 2.3.6 =
279
 
280
  * Adds support for older browsers, fixes a couple of seemingly isolated errors reported, removes some redundant code.
@@ -379,14 +389,11 @@ IMPORTANT, MAJOR CHANGES, BACKUP BEFORE UPDATING: Users that are inlining SVG wi
379
 
380
  == Translations ==
381
 
382
- * English - default, always included
383
- * Serbian - translated and submitted by Ogi Djuraskovic from [first site guide]( http://firstsiteguide.com/)
384
- * *Your translation? - [Just send it in](mailto:wp@benbodhi.com)*
385
-
386
- *Note:* This plugin is localized/translateable by default. This is very important for all users worldwide. So please contribute your language to the plugin to make it even more useful. For translating I recommend ["Loco Translate" plugin](https://wordpress.org/plugins/loco-translate/) and for validating the ["Poedit Editor"](http://www.poedit.net/).
387
 
388
  == Additional Info ==
389
- **Idea Behind / Philosophy:** I needed an easy way to include SVG support in sites instead of having to copy and paste the code for each one. I found a [really cool snippet](http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement) of jQuery written by Drew Baker a while ago and have used it (modified for WordPress) a few times until I was inspired to build it all into a plugin for ease of use and to share with others. Now styling SVG elements is super easy :)
390
 
391
  == Future Features ==
392
  * Option to choose which user ID can access the settings
@@ -400,4 +407,4 @@ Plugin by [Benbodhi Mantra](http://benbodhi.com/) [@benbodhi](http://twitter.com
400
  Thanks to [laurosello](https://wordpress.org/support/profile/laurosollero) for his code contribution in svg-inline.php.
401
  Thanks to Ogi Djuraskovic from [first site guide]( http://firstsiteguide.com/) for providing the Serbian translation!
402
  Thanks to [Apasionados del Marketing](http://apasionados.es) for the Spanish translation.
403
- Logo By W3C, CC BY 2.5, [https://commons.wikimedia.org/w/index.php?curid=1895005](https://commons.wikimedia.org/w/index.php?curid=1895005).
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z9R7JERS82EQQ
4
  Tags: svg, vector, css, style, mime, mime type, embed, img, inline, animation
5
  Requires at least: 4.0
6
+ Tested up to: 4.8-alpha-40396
7
+ Stable tag: 2.3.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
58
 
59
  = Security =
60
 
61
+ As with allowing uploads of any files, there is potential risks involved. Only allow users to upload SVG files if you trust them. You have the option to restrict SVG usage to Administrators only from the settings page. By default, anyone with Media Library access or upload_files capability will be able to upload SVG files (that is Administrators, Authors and Editors). Please note that SVG files are actually XML which would allow someone to inject malicious code if you're not careful with who has upload privileges.
 
 
 
 
 
 
 
 
62
 
63
  = Feedback =
64
 
65
+ * I am open to your [suggestions and feedback](mailto:wp@benbodhi.com) - Thanks for using SVG Support!
66
  * Drop me a line [@benbodhi](http://twitter.com/benbodhi) or [@GoWebben](http://twitter.com/gowebben) on Twitter
67
  * Follow me on [my Facebook page](http://www.facebook.com/gowebben)
68
  * Or circle [+GoWebben](https://plus.google.com/+Gowebben/) on Google Plus ;-)
69
 
70
  *Note:* This is the second plugin I have submitted to the WordPress repository, I hope you like it. Please take a moment to rate it and click 'works' under compatibility with your version of WordPress.<br />
71
+ As always, feel free to [send me any suggestions](mailto:wp@benbodhi.com).
72
 
73
  == Installation ==
74
 
75
  To install this plugin:
76
 
77
  = via wp-admin =
 
 
 
 
 
78
  1. Visit 'Plugins' > 'Add New'
79
  2. Type "SVG Support" into the search field
80
  3. Click 'Install Plugin' and confirm in the pop up
81
  4. Hover over SVG Support and click 'Activate Plugin'
82
 
83
+ or
84
+
85
+ 1. Upload the compressed version `svg-support.zip` through 'Plugins' > 'Add New' > 'Upload'
86
+ 2. Click 'Activate Plugin'
87
 
88
  = via FTP =
89
  1. Download plugin file and extract it
94
 
95
  = SVG not rendering inline since 2.3 update =
96
 
97
+ SVG Support 2.3 includes a new settings section called "Advanced Mode". Users that were inlining SVG files need to make sure this setting is checked. Go to your dashboard > Settings > SVG Support and check "Advanced Mode". All of your original settings should still be there.
98
 
99
  = How do I disable the Javascript on the front end if I am not using inline SVG? =
100
 
120
 
121
  If you are using SVG Support with Visual Composer or any other page builders, you will need to make sure that you can add your own class to the image. The easiest way to do this is by using a simple text or code block in the builder to put your image code in to.
122
 
123
+ = How do I get this to work with the Media Library Assistant plugin? =
124
+
125
+ You need to add the mime type for svg and svgz to: "MLA Settings > Media Library Assistant > Uploads (tab)" and then it works.
126
+
127
  == Screenshots ==
128
 
129
  1. Basic Settings
133
 
134
  == Changelog ==
135
 
136
+ = 2.3.7 =
137
+
138
+ * Added WP version check to wrap mime fix function needed for WP v4.7.1 - v4.7.2.
139
+ * Moved mime fix into mime type file.
140
+ * Modified admin notice code to make it neater.
141
+ * Fix: attachment-modal.php issues with some servers and external SVG files (props to @abstractourist & @malthejorgensen for providing fixes, as I could not consistently reproduce the issue).
142
+ * Compatibility: Changed a line to provide wider compatibility, specifically for WordPress Bedrock on a LEMP stack.
143
+ * Compatibility: Added another snippet to the JS to support IE11 (apparently people still use IE).
144
+ * Added more FAQ's.
145
+
146
+
147
  = 2.3.6 =
148
 
149
  * New: Added polyfill to make svgs-inline.js work with older browsers.
226
  * Blocked direct access to PHP files.
227
  * Added SCSS support using CodeKit - minified CSS + JS files.
228
  * Updated spelling for incorrect function name.
229
+ * Changed comment formatting across all files for consistency.
230
  * Added link to $25 Free credit at GoWebben on the settings page.
231
  * Tested in WordPress 4.3.
232
  * Updated Readme file.
281
 
282
  == Upgrade Notice ==
283
 
284
+ = 2.3.7 =
285
+
286
+ * Fixes issues with media library not loading for some, attachment-modal errors and adds some wider compatibility.
287
+
288
  = 2.3.6 =
289
 
290
  * Adds support for older browsers, fixes a couple of seemingly isolated errors reported, removes some redundant code.
389
 
390
  == Translations ==
391
 
392
+ You can [contribute your translation here](https://translate.wordpress.org/projects/wp-plugins/svg-support).
393
+ New to Translating WordPress? Read through the [Translator Handbook](https://make.wordpress.org/polyglots/handbook/tools/glotpress-translate-wordpress-org/) to get started.
 
 
 
394
 
395
  == Additional Info ==
396
+ **Idea Behind / Philosophy:** I needed an easy way to include SVG support in sites instead of having to copy and paste the code for each one. I also needed the ability to make odd shaped image links which SVG allows by embedding the links in the SVG file directly. I found a [really cool snippet](http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement) of jQuery written by Drew Baker a while ago and have used it (modified for WordPress) a few times until I was inspired to build it all into a plugin for ease of use and to share with others. Now styling SVG elements is super easy :)
397
 
398
  == Future Features ==
399
  * Option to choose which user ID can access the settings
407
  Thanks to [laurosello](https://wordpress.org/support/profile/laurosollero) for his code contribution in svg-inline.php.
408
  Thanks to Ogi Djuraskovic from [first site guide]( http://firstsiteguide.com/) for providing the Serbian translation!
409
  Thanks to [Apasionados del Marketing](http://apasionados.es) for the Spanish translation.
410
+ Logo By W3C, CC BY 2.5, [https://commons.wikimedia.org/w/index.php?curid=1895005](https://commons.wikimedia.org/w/index.php?curid=1895005).
svg-support.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: SVG Support
4
  Plugin URI: http://wordpress.org/plugins/svg-support/
5
  Description: Allow SVG file uploads using the WordPress Media Library uploader plus the ability to inline SVG files for direct targeting of SVG elements for CSS and JS.
6
- Version: 2.3.6
7
  Author: Benbodhi
8
  Author URI: http://benbodhi.com
9
  Text Domain: svg-support
@@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) {
22
  /**
23
  * Global variables
24
  */
25
- $svgs_plugin_version = '2.3.6'; // for use on admin pages
26
  $plugin_file = plugin_basename(__FILE__); // plugin file for reference
27
  define( 'BODHI_SVGS_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); // define the absolute plugin path for includes
28
  define( 'BODHI_SVGS_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); // define the plugin url for use in enqueue
@@ -34,7 +34,7 @@ $bodhi_svgs_options = get_option('bodhi_svgs_settings'); // retrieve our plugi
34
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/admin-init.php' ); // initialize admin menu & settings page
35
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/plugin-action-meta-links.php' ); // add links to the plugin on the plugins page
36
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/admin-notice.php' ); // dismissable admin notice to warn users to update settings
37
- include( BODHI_SVGS_PLUGIN_PATH . 'functions/mime-types.php' ); // setup mime types support for SVG
38
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/thumbnail-display.php' ); // make SVG thumbnails display correctly in media library
39
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/attachment-modal.php' ); // make SVG thumbnails display correctly in attachment modals
40
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/enqueue.php' ); // enqueue js & css for inline replacement & admin
@@ -63,18 +63,3 @@ if ( empty( $svgs_plugin_version_stored ) ) {
63
  update_option( 'bodhi_svgs_plugin_version', $svgs_plugin_version );
64
 
65
  }
66
-
67
- /**
68
- * TEMP FIX FOR 4.7.1
69
- * Issue should be fixed in 4.7.2 in which case this will be deleted.
70
- */
71
- function bodhi_svgs_disable_real_mime_check( $data, $file, $filename, $mimes ) {
72
- $wp_filetype = wp_check_filetype( $filename, $mimes );
73
-
74
- $ext = $wp_filetype['ext'];
75
- $type = $wp_filetype['type'];
76
- $proper_filename = $data['proper_filename'];
77
-
78
- return compact( 'ext', 'type', 'proper_filename' );
79
- }
80
- add_filter( 'wp_check_filetype_and_ext', 'bodhi_svgs_disable_real_mime_check', 10, 4 );
3
  Plugin Name: SVG Support
4
  Plugin URI: http://wordpress.org/plugins/svg-support/
5
  Description: Allow SVG file uploads using the WordPress Media Library uploader plus the ability to inline SVG files for direct targeting of SVG elements for CSS and JS.
6
+ Version: 2.3.7
7
  Author: Benbodhi
8
  Author URI: http://benbodhi.com
9
  Text Domain: svg-support
22
  /**
23
  * Global variables
24
  */
25
+ $svgs_plugin_version = '2.3.7'; // for use on admin pages
26
  $plugin_file = plugin_basename(__FILE__); // plugin file for reference
27
  define( 'BODHI_SVGS_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); // define the absolute plugin path for includes
28
  define( 'BODHI_SVGS_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); // define the plugin url for use in enqueue
34
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/admin-init.php' ); // initialize admin menu & settings page
35
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/plugin-action-meta-links.php' ); // add links to the plugin on the plugins page
36
  include( BODHI_SVGS_PLUGIN_PATH . 'admin/admin-notice.php' ); // dismissable admin notice to warn users to update settings
37
+ include( BODHI_SVGS_PLUGIN_PATH . 'functions/mime-types.php' ); // setup mime types support for SVG (with fix for WP 4.7.1 - 4.7.2)
38
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/thumbnail-display.php' ); // make SVG thumbnails display correctly in media library
39
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/attachment-modal.php' ); // make SVG thumbnails display correctly in attachment modals
40
  include( BODHI_SVGS_PLUGIN_PATH . 'functions/enqueue.php' ); // enqueue js & css for inline replacement & admin
63
  update_option( 'bodhi_svgs_plugin_version', $svgs_plugin_version );
64
 
65
  }