WP Statistics - Version 13.2.8

Version Description

= 13.0 = IMPORTANT NOTE Welcome to WP Statistics v13.0, our biggest update! Thank you for being part of our community. Weve been working hard for one year to develop this version and make WP Statistics better for you. Before updating, make sure you disabled all your add-ons, then after that, try to update add-ons.

If you encounter any bug, please create an issue on GitHub where we can act upon them more efficiently. Since GitHub is not a support forum, just bugs are welcomed, and any other request will be closed.

Download this release

Release Info

Developer mostafa.s1990
Plugin Icon 128x128 WP Statistics
Version 13.2.8
Comparing to
See all releases

Code changes from version 13.2.7 to 13.2.8

.editorconfig ADDED
@@ -0,0 +1,748 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [*]
2
+ charset = utf-8
3
+ end_of_line = lf
4
+ indent_size = 4
5
+ indent_style = space
6
+ insert_final_newline = false
7
+ max_line_length = 990
8
+ tab_width = 4
9
+ ij_continuation_indent_size = 8
10
+ ij_formatter_off_tag = @formatter:off
11
+ ij_formatter_on_tag = @formatter:on
12
+ ij_formatter_tags_enabled = false
13
+ ij_smart_tabs = false
14
+ ij_visual_guides = none
15
+ ij_wrap_on_typing = false
16
+
17
+ [*.blade.php]
18
+ ij_blade_keep_indents_on_empty_lines = false
19
+
20
+ [*.css]
21
+ ij_css_align_closing_brace_with_properties = false
22
+ ij_css_blank_lines_around_nested_selector = 1
23
+ ij_css_blank_lines_between_blocks = 1
24
+ ij_css_block_comment_add_space = false
25
+ ij_css_brace_placement = end_of_line
26
+ ij_css_enforce_quotes_on_format = false
27
+ ij_css_hex_color_long_format = false
28
+ ij_css_hex_color_lower_case = false
29
+ ij_css_hex_color_short_format = false
30
+ ij_css_hex_color_upper_case = false
31
+ ij_css_keep_blank_lines_in_code = 2
32
+ ij_css_keep_indents_on_empty_lines = false
33
+ ij_css_keep_single_line_blocks = false
34
+ ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
35
+ ij_css_space_after_colon = true
36
+ ij_css_space_before_opening_brace = true
37
+ ij_css_use_double_quotes = true
38
+ ij_css_value_alignment = do_not_align
39
+
40
+ [*.feature]
41
+ indent_size = 2
42
+ ij_gherkin_keep_indents_on_empty_lines = false
43
+
44
+ [*.haml]
45
+ indent_size = 2
46
+ ij_haml_keep_indents_on_empty_lines = false
47
+
48
+ [*.sass]
49
+ indent_size = 2
50
+ ij_sass_align_closing_brace_with_properties = false
51
+ ij_sass_blank_lines_around_nested_selector = 1
52
+ ij_sass_blank_lines_between_blocks = 1
53
+ ij_sass_brace_placement = 0
54
+ ij_sass_enforce_quotes_on_format = false
55
+ ij_sass_hex_color_long_format = false
56
+ ij_sass_hex_color_lower_case = false
57
+ ij_sass_hex_color_short_format = false
58
+ ij_sass_hex_color_upper_case = false
59
+ ij_sass_keep_blank_lines_in_code = 2
60
+ ij_sass_keep_indents_on_empty_lines = false
61
+ ij_sass_keep_single_line_blocks = false
62
+ ij_sass_line_comment_add_space = false
63
+ ij_sass_line_comment_at_first_column = false
64
+ ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
65
+ ij_sass_space_after_colon = true
66
+ ij_sass_space_before_opening_brace = true
67
+ ij_sass_use_double_quotes = true
68
+ ij_sass_value_alignment = 0
69
+
70
+ [*.scss]
71
+ indent_size = 2
72
+ ij_scss_align_closing_brace_with_properties = false
73
+ ij_scss_blank_lines_around_nested_selector = 1
74
+ ij_scss_blank_lines_between_blocks = 1
75
+ ij_scss_block_comment_add_space = false
76
+ ij_scss_brace_placement = 0
77
+ ij_scss_enforce_quotes_on_format = false
78
+ ij_scss_hex_color_long_format = false
79
+ ij_scss_hex_color_lower_case = false
80
+ ij_scss_hex_color_short_format = false
81
+ ij_scss_hex_color_upper_case = false
82
+ ij_scss_keep_blank_lines_in_code = 2
83
+ ij_scss_keep_indents_on_empty_lines = false
84
+ ij_scss_keep_single_line_blocks = false
85
+ ij_scss_line_comment_add_space = false
86
+ ij_scss_line_comment_at_first_column = false
87
+ ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
88
+ ij_scss_space_after_colon = true
89
+ ij_scss_space_before_opening_brace = true
90
+ ij_scss_use_double_quotes = true
91
+ ij_scss_value_alignment = 0
92
+
93
+ [*.twig]
94
+ ij_twig_keep_indents_on_empty_lines = false
95
+ ij_twig_spaces_inside_comments_delimiters = true
96
+ ij_twig_spaces_inside_delimiters = true
97
+ ij_twig_spaces_inside_variable_delimiters = true
98
+
99
+ [.editorconfig]
100
+ ij_editorconfig_align_group_field_declarations = false
101
+ ij_editorconfig_space_after_colon = false
102
+ ij_editorconfig_space_after_comma = true
103
+ ij_editorconfig_space_before_colon = false
104
+ ij_editorconfig_space_before_comma = false
105
+ ij_editorconfig_spaces_around_assignment_operators = true
106
+
107
+ [{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,phpunit.xml.dist}]
108
+ ij_xml_align_attributes = true
109
+ ij_xml_align_text = false
110
+ ij_xml_attribute_wrap = normal
111
+ ij_xml_block_comment_add_space = false
112
+ ij_xml_block_comment_at_first_column = true
113
+ ij_xml_keep_blank_lines = 2
114
+ ij_xml_keep_indents_on_empty_lines = false
115
+ ij_xml_keep_line_breaks = true
116
+ ij_xml_keep_line_breaks_in_text = true
117
+ ij_xml_keep_whitespaces = false
118
+ ij_xml_keep_whitespaces_around_cdata = preserve
119
+ ij_xml_keep_whitespaces_inside_cdata = false
120
+ ij_xml_line_comment_at_first_column = true
121
+ ij_xml_space_after_tag_name = false
122
+ ij_xml_space_around_equals_in_attribute = false
123
+ ij_xml_space_inside_empty_tag = false
124
+ ij_xml_text_wrap = normal
125
+
126
+ [{*.ats,*.cts,*.mts,*.ts}]
127
+ ij_continuation_indent_size = 4
128
+ ij_typescript_align_imports = false
129
+ ij_typescript_align_multiline_array_initializer_expression = false
130
+ ij_typescript_align_multiline_binary_operation = false
131
+ ij_typescript_align_multiline_chained_methods = false
132
+ ij_typescript_align_multiline_extends_list = false
133
+ ij_typescript_align_multiline_for = true
134
+ ij_typescript_align_multiline_parameters = true
135
+ ij_typescript_align_multiline_parameters_in_calls = false
136
+ ij_typescript_align_multiline_ternary_operation = false
137
+ ij_typescript_align_object_properties = 0
138
+ ij_typescript_align_union_types = false
139
+ ij_typescript_align_var_statements = 0
140
+ ij_typescript_array_initializer_new_line_after_left_brace = false
141
+ ij_typescript_array_initializer_right_brace_on_new_line = false
142
+ ij_typescript_array_initializer_wrap = off
143
+ ij_typescript_assignment_wrap = off
144
+ ij_typescript_binary_operation_sign_on_next_line = false
145
+ ij_typescript_binary_operation_wrap = off
146
+ ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
147
+ ij_typescript_blank_lines_after_imports = 1
148
+ ij_typescript_blank_lines_around_class = 1
149
+ ij_typescript_blank_lines_around_field = 0
150
+ ij_typescript_blank_lines_around_field_in_interface = 0
151
+ ij_typescript_blank_lines_around_function = 1
152
+ ij_typescript_blank_lines_around_method = 1
153
+ ij_typescript_blank_lines_around_method_in_interface = 1
154
+ ij_typescript_block_brace_style = end_of_line
155
+ ij_typescript_block_comment_add_space = false
156
+ ij_typescript_block_comment_at_first_column = true
157
+ ij_typescript_call_parameters_new_line_after_left_paren = false
158
+ ij_typescript_call_parameters_right_paren_on_new_line = false
159
+ ij_typescript_call_parameters_wrap = off
160
+ ij_typescript_catch_on_new_line = false
161
+ ij_typescript_chained_call_dot_on_new_line = true
162
+ ij_typescript_class_brace_style = end_of_line
163
+ ij_typescript_comma_on_new_line = false
164
+ ij_typescript_do_while_brace_force = never
165
+ ij_typescript_else_on_new_line = false
166
+ ij_typescript_enforce_trailing_comma = keep
167
+ ij_typescript_enum_constants_wrap = on_every_item
168
+ ij_typescript_extends_keyword_wrap = off
169
+ ij_typescript_extends_list_wrap = off
170
+ ij_typescript_field_prefix = _
171
+ ij_typescript_file_name_style = relaxed
172
+ ij_typescript_finally_on_new_line = false
173
+ ij_typescript_for_brace_force = never
174
+ ij_typescript_for_statement_new_line_after_left_paren = false
175
+ ij_typescript_for_statement_right_paren_on_new_line = false
176
+ ij_typescript_for_statement_wrap = off
177
+ ij_typescript_force_quote_style = false
178
+ ij_typescript_force_semicolon_style = false
179
+ ij_typescript_function_expression_brace_style = end_of_line
180
+ ij_typescript_if_brace_force = never
181
+ ij_typescript_import_merge_members = global
182
+ ij_typescript_import_prefer_absolute_path = global
183
+ ij_typescript_import_sort_members = true
184
+ ij_typescript_import_sort_module_name = false
185
+ ij_typescript_import_use_node_resolution = true
186
+ ij_typescript_imports_wrap = on_every_item
187
+ ij_typescript_indent_case_from_switch = true
188
+ ij_typescript_indent_chained_calls = true
189
+ ij_typescript_indent_package_children = 0
190
+ ij_typescript_jsdoc_include_types = false
191
+ ij_typescript_jsx_attribute_value = braces
192
+ ij_typescript_keep_blank_lines_in_code = 2
193
+ ij_typescript_keep_first_column_comment = true
194
+ ij_typescript_keep_indents_on_empty_lines = false
195
+ ij_typescript_keep_line_breaks = true
196
+ ij_typescript_keep_simple_blocks_in_one_line = false
197
+ ij_typescript_keep_simple_methods_in_one_line = false
198
+ ij_typescript_line_comment_add_space = true
199
+ ij_typescript_line_comment_at_first_column = false
200
+ ij_typescript_method_brace_style = end_of_line
201
+ ij_typescript_method_call_chain_wrap = off
202
+ ij_typescript_method_parameters_new_line_after_left_paren = false
203
+ ij_typescript_method_parameters_right_paren_on_new_line = false
204
+ ij_typescript_method_parameters_wrap = off
205
+ ij_typescript_object_literal_wrap = on_every_item
206
+ ij_typescript_parentheses_expression_new_line_after_left_paren = false
207
+ ij_typescript_parentheses_expression_right_paren_on_new_line = false
208
+ ij_typescript_place_assignment_sign_on_next_line = false
209
+ ij_typescript_prefer_as_type_cast = false
210
+ ij_typescript_prefer_explicit_types_function_expression_returns = false
211
+ ij_typescript_prefer_explicit_types_function_returns = false
212
+ ij_typescript_prefer_explicit_types_vars_fields = false
213
+ ij_typescript_prefer_parameters_wrap = false
214
+ ij_typescript_reformat_c_style_comments = false
215
+ ij_typescript_space_after_colon = true
216
+ ij_typescript_space_after_comma = true
217
+ ij_typescript_space_after_dots_in_rest_parameter = false
218
+ ij_typescript_space_after_generator_mult = true
219
+ ij_typescript_space_after_property_colon = true
220
+ ij_typescript_space_after_quest = true
221
+ ij_typescript_space_after_type_colon = true
222
+ ij_typescript_space_after_unary_not = false
223
+ ij_typescript_space_before_async_arrow_lparen = true
224
+ ij_typescript_space_before_catch_keyword = true
225
+ ij_typescript_space_before_catch_left_brace = true
226
+ ij_typescript_space_before_catch_parentheses = true
227
+ ij_typescript_space_before_class_lbrace = true
228
+ ij_typescript_space_before_class_left_brace = true
229
+ ij_typescript_space_before_colon = true
230
+ ij_typescript_space_before_comma = false
231
+ ij_typescript_space_before_do_left_brace = true
232
+ ij_typescript_space_before_else_keyword = true
233
+ ij_typescript_space_before_else_left_brace = true
234
+ ij_typescript_space_before_finally_keyword = true
235
+ ij_typescript_space_before_finally_left_brace = true
236
+ ij_typescript_space_before_for_left_brace = true
237
+ ij_typescript_space_before_for_parentheses = true
238
+ ij_typescript_space_before_for_semicolon = false
239
+ ij_typescript_space_before_function_left_parenth = true
240
+ ij_typescript_space_before_generator_mult = false
241
+ ij_typescript_space_before_if_left_brace = true
242
+ ij_typescript_space_before_if_parentheses = true
243
+ ij_typescript_space_before_method_call_parentheses = false
244
+ ij_typescript_space_before_method_left_brace = true
245
+ ij_typescript_space_before_method_parentheses = false
246
+ ij_typescript_space_before_property_colon = false
247
+ ij_typescript_space_before_quest = true
248
+ ij_typescript_space_before_switch_left_brace = true
249
+ ij_typescript_space_before_switch_parentheses = true
250
+ ij_typescript_space_before_try_left_brace = true
251
+ ij_typescript_space_before_type_colon = false
252
+ ij_typescript_space_before_unary_not = false
253
+ ij_typescript_space_before_while_keyword = true
254
+ ij_typescript_space_before_while_left_brace = true
255
+ ij_typescript_space_before_while_parentheses = true
256
+ ij_typescript_spaces_around_additive_operators = true
257
+ ij_typescript_spaces_around_arrow_function_operator = true
258
+ ij_typescript_spaces_around_assignment_operators = true
259
+ ij_typescript_spaces_around_bitwise_operators = true
260
+ ij_typescript_spaces_around_equality_operators = true
261
+ ij_typescript_spaces_around_logical_operators = true
262
+ ij_typescript_spaces_around_multiplicative_operators = true
263
+ ij_typescript_spaces_around_relational_operators = true
264
+ ij_typescript_spaces_around_shift_operators = true
265
+ ij_typescript_spaces_around_unary_operator = false
266
+ ij_typescript_spaces_within_array_initializer_brackets = false
267
+ ij_typescript_spaces_within_brackets = false
268
+ ij_typescript_spaces_within_catch_parentheses = false
269
+ ij_typescript_spaces_within_for_parentheses = false
270
+ ij_typescript_spaces_within_if_parentheses = false
271
+ ij_typescript_spaces_within_imports = false
272
+ ij_typescript_spaces_within_interpolation_expressions = false
273
+ ij_typescript_spaces_within_method_call_parentheses = false
274
+ ij_typescript_spaces_within_method_parentheses = false
275
+ ij_typescript_spaces_within_object_literal_braces = false
276
+ ij_typescript_spaces_within_object_type_braces = true
277
+ ij_typescript_spaces_within_parentheses = false
278
+ ij_typescript_spaces_within_switch_parentheses = false
279
+ ij_typescript_spaces_within_type_assertion = false
280
+ ij_typescript_spaces_within_union_types = true
281
+ ij_typescript_spaces_within_while_parentheses = false
282
+ ij_typescript_special_else_if_treatment = true
283
+ ij_typescript_ternary_operation_signs_on_next_line = false
284
+ ij_typescript_ternary_operation_wrap = off
285
+ ij_typescript_union_types_wrap = on_every_item
286
+ ij_typescript_use_chained_calls_group_indents = false
287
+ ij_typescript_use_double_quotes = true
288
+ ij_typescript_use_explicit_js_extension = auto
289
+ ij_typescript_use_path_mapping = always
290
+ ij_typescript_use_public_modifier = false
291
+ ij_typescript_use_semicolon_after_statement = true
292
+ ij_typescript_var_declaration_wrap = normal
293
+ ij_typescript_while_brace_force = never
294
+ ij_typescript_while_on_new_line = false
295
+ ij_typescript_wrap_comments = false
296
+
297
+ [{*.cjs,*.js}]
298
+ ij_continuation_indent_size = 4
299
+ ij_javascript_align_imports = false
300
+ ij_javascript_align_multiline_array_initializer_expression = false
301
+ ij_javascript_align_multiline_binary_operation = false
302
+ ij_javascript_align_multiline_chained_methods = false
303
+ ij_javascript_align_multiline_extends_list = false
304
+ ij_javascript_align_multiline_for = true
305
+ ij_javascript_align_multiline_parameters = true
306
+ ij_javascript_align_multiline_parameters_in_calls = false
307
+ ij_javascript_align_multiline_ternary_operation = false
308
+ ij_javascript_align_object_properties = 0
309
+ ij_javascript_align_union_types = false
310
+ ij_javascript_align_var_statements = 0
311
+ ij_javascript_array_initializer_new_line_after_left_brace = false
312
+ ij_javascript_array_initializer_right_brace_on_new_line = false
313
+ ij_javascript_array_initializer_wrap = off
314
+ ij_javascript_assignment_wrap = off
315
+ ij_javascript_binary_operation_sign_on_next_line = false
316
+ ij_javascript_binary_operation_wrap = off
317
+ ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
318
+ ij_javascript_blank_lines_after_imports = 1
319
+ ij_javascript_blank_lines_around_class = 1
320
+ ij_javascript_blank_lines_around_field = 0
321
+ ij_javascript_blank_lines_around_function = 1
322
+ ij_javascript_blank_lines_around_method = 1
323
+ ij_javascript_block_brace_style = end_of_line
324
+ ij_javascript_block_comment_add_space = false
325
+ ij_javascript_block_comment_at_first_column = true
326
+ ij_javascript_call_parameters_new_line_after_left_paren = false
327
+ ij_javascript_call_parameters_right_paren_on_new_line = false
328
+ ij_javascript_call_parameters_wrap = off
329
+ ij_javascript_catch_on_new_line = false
330
+ ij_javascript_chained_call_dot_on_new_line = true
331
+ ij_javascript_class_brace_style = end_of_line
332
+ ij_javascript_comma_on_new_line = false
333
+ ij_javascript_do_while_brace_force = never
334
+ ij_javascript_else_on_new_line = false
335
+ ij_javascript_enforce_trailing_comma = keep
336
+ ij_javascript_extends_keyword_wrap = off
337
+ ij_javascript_extends_list_wrap = off
338
+ ij_javascript_field_prefix = _
339
+ ij_javascript_file_name_style = relaxed
340
+ ij_javascript_finally_on_new_line = false
341
+ ij_javascript_for_brace_force = never
342
+ ij_javascript_for_statement_new_line_after_left_paren = false
343
+ ij_javascript_for_statement_right_paren_on_new_line = false
344
+ ij_javascript_for_statement_wrap = off
345
+ ij_javascript_force_quote_style = false
346
+ ij_javascript_force_semicolon_style = false
347
+ ij_javascript_function_expression_brace_style = end_of_line
348
+ ij_javascript_if_brace_force = never
349
+ ij_javascript_import_merge_members = global
350
+ ij_javascript_import_prefer_absolute_path = global
351
+ ij_javascript_import_sort_members = true
352
+ ij_javascript_import_sort_module_name = false
353
+ ij_javascript_import_use_node_resolution = true
354
+ ij_javascript_imports_wrap = on_every_item
355
+ ij_javascript_indent_case_from_switch = true
356
+ ij_javascript_indent_chained_calls = true
357
+ ij_javascript_indent_package_children = 0
358
+ ij_javascript_jsx_attribute_value = braces
359
+ ij_javascript_keep_blank_lines_in_code = 2
360
+ ij_javascript_keep_first_column_comment = true
361
+ ij_javascript_keep_indents_on_empty_lines = false
362
+ ij_javascript_keep_line_breaks = true
363
+ ij_javascript_keep_simple_blocks_in_one_line = false
364
+ ij_javascript_keep_simple_methods_in_one_line = false
365
+ ij_javascript_line_comment_add_space = true
366
+ ij_javascript_line_comment_at_first_column = false
367
+ ij_javascript_method_brace_style = end_of_line
368
+ ij_javascript_method_call_chain_wrap = off
369
+ ij_javascript_method_parameters_new_line_after_left_paren = false
370
+ ij_javascript_method_parameters_right_paren_on_new_line = false
371
+ ij_javascript_method_parameters_wrap = off
372
+ ij_javascript_object_literal_wrap = on_every_item
373
+ ij_javascript_parentheses_expression_new_line_after_left_paren = false
374
+ ij_javascript_parentheses_expression_right_paren_on_new_line = false
375
+ ij_javascript_place_assignment_sign_on_next_line = false
376
+ ij_javascript_prefer_as_type_cast = false
377
+ ij_javascript_prefer_explicit_types_function_expression_returns = false
378
+ ij_javascript_prefer_explicit_types_function_returns = false
379
+ ij_javascript_prefer_explicit_types_vars_fields = false
380
+ ij_javascript_prefer_parameters_wrap = false
381
+ ij_javascript_reformat_c_style_comments = false
382
+ ij_javascript_space_after_colon = true
383
+ ij_javascript_space_after_comma = true
384
+ ij_javascript_space_after_dots_in_rest_parameter = false
385
+ ij_javascript_space_after_generator_mult = true
386
+ ij_javascript_space_after_property_colon = true
387
+ ij_javascript_space_after_quest = true
388
+ ij_javascript_space_after_type_colon = true
389
+ ij_javascript_space_after_unary_not = false
390
+ ij_javascript_space_before_async_arrow_lparen = true
391
+ ij_javascript_space_before_catch_keyword = true
392
+ ij_javascript_space_before_catch_left_brace = true
393
+ ij_javascript_space_before_catch_parentheses = true
394
+ ij_javascript_space_before_class_lbrace = true
395
+ ij_javascript_space_before_class_left_brace = true
396
+ ij_javascript_space_before_colon = true
397
+ ij_javascript_space_before_comma = false
398
+ ij_javascript_space_before_do_left_brace = true
399
+ ij_javascript_space_before_else_keyword = true
400
+ ij_javascript_space_before_else_left_brace = true
401
+ ij_javascript_space_before_finally_keyword = true
402
+ ij_javascript_space_before_finally_left_brace = true
403
+ ij_javascript_space_before_for_left_brace = true
404
+ ij_javascript_space_before_for_parentheses = true
405
+ ij_javascript_space_before_for_semicolon = false
406
+ ij_javascript_space_before_function_left_parenth = true
407
+ ij_javascript_space_before_generator_mult = false
408
+ ij_javascript_space_before_if_left_brace = true
409
+ ij_javascript_space_before_if_parentheses = true
410
+ ij_javascript_space_before_method_call_parentheses = false
411
+ ij_javascript_space_before_method_left_brace = true
412
+ ij_javascript_space_before_method_parentheses = false
413
+ ij_javascript_space_before_property_colon = false
414
+ ij_javascript_space_before_quest = true
415
+ ij_javascript_space_before_switch_left_brace = true
416
+ ij_javascript_space_before_switch_parentheses = true
417
+ ij_javascript_space_before_try_left_brace = true
418
+ ij_javascript_space_before_type_colon = false
419
+ ij_javascript_space_before_unary_not = false
420
+ ij_javascript_space_before_while_keyword = true
421
+ ij_javascript_space_before_while_left_brace = true
422
+ ij_javascript_space_before_while_parentheses = true
423
+ ij_javascript_spaces_around_additive_operators = true
424
+ ij_javascript_spaces_around_arrow_function_operator = true
425
+ ij_javascript_spaces_around_assignment_operators = true
426
+ ij_javascript_spaces_around_bitwise_operators = true
427
+ ij_javascript_spaces_around_equality_operators = true
428
+ ij_javascript_spaces_around_logical_operators = true
429
+ ij_javascript_spaces_around_multiplicative_operators = true
430
+ ij_javascript_spaces_around_relational_operators = true
431
+ ij_javascript_spaces_around_shift_operators = true
432
+ ij_javascript_spaces_around_unary_operator = false
433
+ ij_javascript_spaces_within_array_initializer_brackets = false
434
+ ij_javascript_spaces_within_brackets = false
435
+ ij_javascript_spaces_within_catch_parentheses = false
436
+ ij_javascript_spaces_within_for_parentheses = false
437
+ ij_javascript_spaces_within_if_parentheses = false
438
+ ij_javascript_spaces_within_imports = false
439
+ ij_javascript_spaces_within_interpolation_expressions = false
440
+ ij_javascript_spaces_within_method_call_parentheses = false
441
+ ij_javascript_spaces_within_method_parentheses = false
442
+ ij_javascript_spaces_within_object_literal_braces = false
443
+ ij_javascript_spaces_within_object_type_braces = true
444
+ ij_javascript_spaces_within_parentheses = false
445
+ ij_javascript_spaces_within_switch_parentheses = false
446
+ ij_javascript_spaces_within_type_assertion = false
447
+ ij_javascript_spaces_within_union_types = true
448
+ ij_javascript_spaces_within_while_parentheses = false
449
+ ij_javascript_special_else_if_treatment = true
450
+ ij_javascript_ternary_operation_signs_on_next_line = false
451
+ ij_javascript_ternary_operation_wrap = off
452
+ ij_javascript_union_types_wrap = on_every_item
453
+ ij_javascript_use_chained_calls_group_indents = false
454
+ ij_javascript_use_double_quotes = true
455
+ ij_javascript_use_explicit_js_extension = auto
456
+ ij_javascript_use_path_mapping = always
457
+ ij_javascript_use_public_modifier = false
458
+ ij_javascript_use_semicolon_after_statement = true
459
+ ij_javascript_var_declaration_wrap = normal
460
+ ij_javascript_while_brace_force = never
461
+ ij_javascript_while_on_new_line = false
462
+ ij_javascript_wrap_comments = false
463
+
464
+ [{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml}]
465
+ ij_continuation_indent_size = 4
466
+ ij_php_align_assignments = true
467
+ ij_php_align_class_constants = true
468
+ ij_php_align_group_field_declarations = false
469
+ ij_php_align_inline_comments = false
470
+ ij_php_align_key_value_pairs = true
471
+ ij_php_align_match_arm_bodies = false
472
+ ij_php_align_multiline_array_initializer_expression = false
473
+ ij_php_align_multiline_binary_operation = false
474
+ ij_php_align_multiline_chained_methods = false
475
+ ij_php_align_multiline_extends_list = false
476
+ ij_php_align_multiline_for = true
477
+ ij_php_align_multiline_parameters = true
478
+ ij_php_align_multiline_parameters_in_calls = false
479
+ ij_php_align_multiline_ternary_operation = false
480
+ ij_php_align_named_arguments = false
481
+ ij_php_align_phpdoc_comments = false
482
+ ij_php_align_phpdoc_param_names = false
483
+ ij_php_anonymous_brace_style = end_of_line
484
+ ij_php_api_weight = 28
485
+ ij_php_array_initializer_new_line_after_left_brace = false
486
+ ij_php_array_initializer_right_brace_on_new_line = false
487
+ ij_php_array_initializer_wrap = off
488
+ ij_php_assignment_wrap = off
489
+ ij_php_attributes_wrap = off
490
+ ij_php_author_weight = 28
491
+ ij_php_binary_operation_sign_on_next_line = false
492
+ ij_php_binary_operation_wrap = off
493
+ ij_php_blank_lines_after_class_header = 0
494
+ ij_php_blank_lines_after_function = 1
495
+ ij_php_blank_lines_after_imports = 1
496
+ ij_php_blank_lines_after_opening_tag = 0
497
+ ij_php_blank_lines_after_package = 0
498
+ ij_php_blank_lines_around_class = 1
499
+ ij_php_blank_lines_around_constants = 0
500
+ ij_php_blank_lines_around_field = 0
501
+ ij_php_blank_lines_around_method = 1
502
+ ij_php_blank_lines_before_class_end = 0
503
+ ij_php_blank_lines_before_imports = 1
504
+ ij_php_blank_lines_before_method_body = 0
505
+ ij_php_blank_lines_before_package = 1
506
+ ij_php_blank_lines_before_return_statement = 0
507
+ ij_php_blank_lines_between_imports = 0
508
+ ij_php_block_brace_style = end_of_line
509
+ ij_php_call_parameters_new_line_after_left_paren = false
510
+ ij_php_call_parameters_right_paren_on_new_line = false
511
+ ij_php_call_parameters_wrap = off
512
+ ij_php_catch_on_new_line = false
513
+ ij_php_category_weight = 28
514
+ ij_php_class_brace_style = next_line
515
+ ij_php_comma_after_last_argument = false
516
+ ij_php_comma_after_last_array_element = false
517
+ ij_php_comma_after_last_closure_use_var = false
518
+ ij_php_comma_after_last_parameter = false
519
+ ij_php_concat_spaces = true
520
+ ij_php_copyright_weight = 28
521
+ ij_php_deprecated_weight = 28
522
+ ij_php_do_while_brace_force = never
523
+ ij_php_else_if_style = as_is
524
+ ij_php_else_on_new_line = false
525
+ ij_php_example_weight = 28
526
+ ij_php_extends_keyword_wrap = off
527
+ ij_php_extends_list_wrap = off
528
+ ij_php_fields_default_visibility = private
529
+ ij_php_filesource_weight = 28
530
+ ij_php_finally_on_new_line = false
531
+ ij_php_for_brace_force = never
532
+ ij_php_for_statement_new_line_after_left_paren = false
533
+ ij_php_for_statement_right_paren_on_new_line = false
534
+ ij_php_for_statement_wrap = off
535
+ ij_php_force_empty_methods_in_one_line = false
536
+ ij_php_force_short_declaration_array_style = false
537
+ ij_php_getters_setters_naming_style = camel_case
538
+ ij_php_getters_setters_order_style = getters_first
539
+ ij_php_global_weight = 28
540
+ ij_php_group_use_wrap = on_every_item
541
+ ij_php_if_brace_force = never
542
+ ij_php_if_lparen_on_next_line = false
543
+ ij_php_if_rparen_on_next_line = false
544
+ ij_php_ignore_weight = 28
545
+ ij_php_import_sorting = alphabetic
546
+ ij_php_indent_break_from_case = true
547
+ ij_php_indent_case_from_switch = true
548
+ ij_php_indent_code_in_php_tags = false
549
+ ij_php_internal_weight = 28
550
+ ij_php_keep_blank_lines_after_lbrace = 2
551
+ ij_php_keep_blank_lines_before_right_brace = 2
552
+ ij_php_keep_blank_lines_in_code = 2
553
+ ij_php_keep_blank_lines_in_declarations = 2
554
+ ij_php_keep_control_statement_in_one_line = true
555
+ ij_php_keep_first_column_comment = true
556
+ ij_php_keep_indents_on_empty_lines = false
557
+ ij_php_keep_line_breaks = true
558
+ ij_php_keep_rparen_and_lbrace_on_one_line = false
559
+ ij_php_keep_simple_classes_in_one_line = false
560
+ ij_php_keep_simple_methods_in_one_line = false
561
+ ij_php_lambda_brace_style = end_of_line
562
+ ij_php_license_weight = 28
563
+ ij_php_line_comment_add_space = false
564
+ ij_php_line_comment_at_first_column = true
565
+ ij_php_link_weight = 28
566
+ ij_php_lower_case_boolean_const = false
567
+ ij_php_lower_case_keywords = true
568
+ ij_php_lower_case_null_const = false
569
+ ij_php_method_brace_style = next_line
570
+ ij_php_method_call_chain_wrap = off
571
+ ij_php_method_parameters_new_line_after_left_paren = false
572
+ ij_php_method_parameters_right_paren_on_new_line = false
573
+ ij_php_method_parameters_wrap = off
574
+ ij_php_method_weight = 28
575
+ ij_php_modifier_list_wrap = false
576
+ ij_php_multiline_chained_calls_semicolon_on_new_line = false
577
+ ij_php_namespace_brace_style = 1
578
+ ij_php_new_line_after_php_opening_tag = false
579
+ ij_php_null_type_position = in_the_end
580
+ ij_php_package_weight = 28
581
+ ij_php_param_weight = 0
582
+ ij_php_parameters_attributes_wrap = off
583
+ ij_php_parentheses_expression_new_line_after_left_paren = false
584
+ ij_php_parentheses_expression_right_paren_on_new_line = false
585
+ ij_php_phpdoc_blank_line_before_tags = false
586
+ ij_php_phpdoc_blank_lines_around_parameters = false
587
+ ij_php_phpdoc_keep_blank_lines = true
588
+ ij_php_phpdoc_param_spaces_between_name_and_description = 1
589
+ ij_php_phpdoc_param_spaces_between_tag_and_type = 1
590
+ ij_php_phpdoc_param_spaces_between_type_and_name = 1
591
+ ij_php_phpdoc_use_fqcn = false
592
+ ij_php_phpdoc_wrap_long_lines = false
593
+ ij_php_place_assignment_sign_on_next_line = false
594
+ ij_php_place_parens_for_constructor = 0
595
+ ij_php_property_read_weight = 28
596
+ ij_php_property_weight = 28
597
+ ij_php_property_write_weight = 28
598
+ ij_php_return_type_on_new_line = false
599
+ ij_php_return_weight = 1
600
+ ij_php_see_weight = 28
601
+ ij_php_since_weight = 28
602
+ ij_php_sort_phpdoc_elements = true
603
+ ij_php_space_after_colon = true
604
+ ij_php_space_after_colon_in_enum_backed_type = true
605
+ ij_php_space_after_colon_in_named_argument = true
606
+ ij_php_space_after_colon_in_return_type = true
607
+ ij_php_space_after_comma = true
608
+ ij_php_space_after_for_semicolon = true
609
+ ij_php_space_after_quest = true
610
+ ij_php_space_after_type_cast = false
611
+ ij_php_space_after_unary_not = false
612
+ ij_php_space_before_array_initializer_left_brace = false
613
+ ij_php_space_before_catch_keyword = true
614
+ ij_php_space_before_catch_left_brace = true
615
+ ij_php_space_before_catch_parentheses = true
616
+ ij_php_space_before_class_left_brace = true
617
+ ij_php_space_before_closure_left_parenthesis = true
618
+ ij_php_space_before_colon = true
619
+ ij_php_space_before_colon_in_enum_backed_type = false
620
+ ij_php_space_before_colon_in_named_argument = false
621
+ ij_php_space_before_colon_in_return_type = false
622
+ ij_php_space_before_comma = false
623
+ ij_php_space_before_do_left_brace = true
624
+ ij_php_space_before_else_keyword = true
625
+ ij_php_space_before_else_left_brace = true
626
+ ij_php_space_before_finally_keyword = true
627
+ ij_php_space_before_finally_left_brace = true
628
+ ij_php_space_before_for_left_brace = true
629
+ ij_php_space_before_for_parentheses = true
630
+ ij_php_space_before_for_semicolon = false
631
+ ij_php_space_before_if_left_brace = true
632
+ ij_php_space_before_if_parentheses = true
633
+ ij_php_space_before_method_call_parentheses = false
634
+ ij_php_space_before_method_left_brace = true
635
+ ij_php_space_before_method_parentheses = false
636
+ ij_php_space_before_quest = true
637
+ ij_php_space_before_short_closure_left_parenthesis = false
638
+ ij_php_space_before_switch_left_brace = true
639
+ ij_php_space_before_switch_parentheses = true
640
+ ij_php_space_before_try_left_brace = true
641
+ ij_php_space_before_unary_not = false
642
+ ij_php_space_before_while_keyword = true
643
+ ij_php_space_before_while_left_brace = true
644
+ ij_php_space_before_while_parentheses = true
645
+ ij_php_space_between_ternary_quest_and_colon = false
646
+ ij_php_spaces_around_additive_operators = true
647
+ ij_php_spaces_around_arrow = false
648
+ ij_php_spaces_around_assignment_in_declare = false
649
+ ij_php_spaces_around_assignment_operators = true
650
+ ij_php_spaces_around_bitwise_operators = true
651
+ ij_php_spaces_around_equality_operators = true
652
+ ij_php_spaces_around_logical_operators = true
653
+ ij_php_spaces_around_multiplicative_operators = true
654
+ ij_php_spaces_around_null_coalesce_operator = true
655
+ ij_php_spaces_around_pipe_in_union_type = false
656
+ ij_php_spaces_around_relational_operators = true
657
+ ij_php_spaces_around_shift_operators = true
658
+ ij_php_spaces_around_unary_operator = false
659
+ ij_php_spaces_around_var_within_brackets = false
660
+ ij_php_spaces_within_array_initializer_braces = false
661
+ ij_php_spaces_within_brackets = false
662
+ ij_php_spaces_within_catch_parentheses = false
663
+ ij_php_spaces_within_for_parentheses = false
664
+ ij_php_spaces_within_if_parentheses = false
665
+ ij_php_spaces_within_method_call_parentheses = false
666
+ ij_php_spaces_within_method_parentheses = false
667
+ ij_php_spaces_within_parentheses = false
668
+ ij_php_spaces_within_short_echo_tags = true
669
+ ij_php_spaces_within_switch_parentheses = false
670
+ ij_php_spaces_within_while_parentheses = false
671
+ ij_php_special_else_if_treatment = false
672
+ ij_php_subpackage_weight = 28
673
+ ij_php_ternary_operation_signs_on_next_line = false
674
+ ij_php_ternary_operation_wrap = off
675
+ ij_php_throws_weight = 2
676
+ ij_php_todo_weight = 28
677
+ ij_php_treat_multiline_arrays_and_lambdas_multiline = false
678
+ ij_php_unknown_tag_weight = 28
679
+ ij_php_upper_case_boolean_const = false
680
+ ij_php_upper_case_null_const = false
681
+ ij_php_uses_weight = 28
682
+ ij_php_var_weight = 28
683
+ ij_php_variable_naming_style = mixed
684
+ ij_php_version_weight = 28
685
+ ij_php_while_brace_force = never
686
+ ij_php_while_on_new_line = false
687
+
688
+ [{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.stylelintrc,bowerrc,composer.lock,jest.config}]
689
+ indent_size = 2
690
+ ij_json_array_wrapping = split_into_lines
691
+ ij_json_keep_blank_lines_in_code = 0
692
+ ij_json_keep_indents_on_empty_lines = false
693
+ ij_json_keep_line_breaks = true
694
+ ij_json_keep_trailing_comma = false
695
+ ij_json_object_wrapping = split_into_lines
696
+ ij_json_property_alignment = do_not_align
697
+ ij_json_space_after_colon = true
698
+ ij_json_space_after_comma = true
699
+ ij_json_space_before_colon = false
700
+ ij_json_space_before_comma = false
701
+ ij_json_spaces_within_braces = false
702
+ ij_json_spaces_within_brackets = false
703
+ ij_json_wrap_long_lines = false
704
+
705
+ [{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}]
706
+ ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
707
+ ij_html_align_attributes = true
708
+ ij_html_align_text = false
709
+ ij_html_attribute_wrap = off
710
+ ij_html_block_comment_add_space = false
711
+ ij_html_block_comment_at_first_column = true
712
+ ij_html_do_not_align_children_of_min_lines = 0
713
+ ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
714
+ ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
715
+ ij_html_enforce_quotes = false
716
+ ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
717
+ ij_html_keep_blank_lines = 2
718
+ ij_html_keep_indents_on_empty_lines = false
719
+ ij_html_keep_line_breaks = false
720
+ ij_html_keep_line_breaks_in_text = true
721
+ ij_html_keep_whitespaces = false
722
+ ij_html_keep_whitespaces_inside = span,pre,textarea
723
+ ij_html_line_comment_at_first_column = true
724
+ ij_html_new_line_after_last_attribute = never
725
+ ij_html_new_line_before_first_attribute = never
726
+ ij_html_quote_style = double
727
+ ij_html_remove_new_line_before_tags = br
728
+ ij_html_space_after_tag_name = false
729
+ ij_html_space_around_equality_in_attribute = false
730
+ ij_html_space_inside_empty_tag = false
731
+ ij_html_text_wrap = normal
732
+
733
+ [{*.markdown,*.md}]
734
+ ij_markdown_force_one_space_after_blockquote_symbol = true
735
+ ij_markdown_force_one_space_after_header_symbol = true
736
+ ij_markdown_force_one_space_after_list_bullet = true
737
+ ij_markdown_force_one_space_between_words = true
738
+ ij_markdown_insert_quote_arrows_on_wrap = true
739
+ ij_markdown_keep_indents_on_empty_lines = false
740
+ ij_markdown_keep_line_breaks_inside_text_blocks = true
741
+ ij_markdown_max_lines_around_block_elements = 1
742
+ ij_markdown_max_lines_around_header = 1
743
+ ij_markdown_max_lines_between_paragraphs = 1
744
+ ij_markdown_min_lines_around_block_elements = 1
745
+ ij_markdown_min_lines_around_header = 1
746
+ ij_markdown_min_lines_between_paragraphs = 1
747
+ ij_markdown_wrap_text_if_long = true
748
+ ij_markdown_wrap_text_inside_blockquotes = true
assets/dev/javascript/pages/overview.js CHANGED
@@ -8,7 +8,7 @@ if (wps_js.isset(wps_js.global, 'request_params', 'page') && wps_js.global.reque
8
  <div class="close-overview-ads">
9
  <span class="dashicons dashicons-dismiss"></span>
10
  </div>
11
- <a href="${wps_js.global.overview.ads['link']}" title="${wps_js.global.overview.ads['title']}" ${(wps_js.global.overview.ads['_target'] == "yes" ? ' target="_blank"' : '')}>
12
  <img src="${wps_js.global.overview.ads['image']}" id="wps_overview_ads_image" alt="${wps_js.global.overview.ads['title']}">
13
  </a>
14
  </div>
@@ -45,7 +45,7 @@ if (wps_js.isset(wps_js.global, 'request_params', 'page') && wps_js.global.reque
45
  });
46
 
47
  // Fix Show Image Ads
48
- jQuery('#wps_overview_ads_image').on('error', function(){
49
  jQuery('#wps_overview_ads_postbox').remove();
50
  });
51
  }
8
  <div class="close-overview-ads">
9
  <span class="dashicons dashicons-dismiss"></span>
10
  </div>
11
+ <a href="${wps_js.global.overview.ads['link']}?utm_source=${window.location.origin}" title="${wps_js.global.overview.ads['title']}" ${(wps_js.global.overview.ads['_target'] == "yes" ? ' target="_blank"' : '')}>
12
  <img src="${wps_js.global.overview.ads['image']}" id="wps_overview_ads_image" alt="${wps_js.global.overview.ads['title']}">
13
  </a>
14
  </div>
45
  });
46
 
47
  // Fix Show Image Ads
48
+ jQuery('#wps_overview_ads_image').on('error', function () {
49
  jQuery('#wps_overview_ads_postbox').remove();
50
  });
51
  }
assets/js/admin.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}jQuery(document).ready(function(e){t=function(c){function a(t){return l.hasOwnProperty(t)&&0<l[t].length||d.hasOwnProperty(t)}var l={},d={};c.ajaxq=function(e,a){if(void 0===a)throw"AjaxQ: queue name is not provided";var t,o=c.Deferred(),r=o.promise(),s=(r.success=r.done,r.error=r.fail,r.complete=r.always,"function"==typeof a),n=s?null:c.extend(!0,{},a);return t=function(){var t=c.ajax.apply(window,[s?a():n]);return t.done(function(){o.resolve.apply(this,arguments)}),t.fail(function(){o.reject.apply(this,arguments)}),t.always(i),t},l[e]?l[e].push(t):(l[e]=[],t=t(),d[e]=t),r;function i(){var t;l[e]&&((t=l[e].shift())?(t=t(),d[e]=t):(delete l[e],delete d[e]))}},c.each(["getq","postq"],function(t,s){c[s]=function(t,e,a,o,r){return c.isFunction(a)&&(r=r||o,o=a,a=void 0),c.ajaxq(t,{type:"postq"===s?"post":"get",url:e,data:a,success:o,dataType:r})}});c.ajaxq.isRunning=function(t){if(t)return a(t);for(var e in l)if(a(e))return!0;return!1},c.ajaxq.getActiveRequest=function(t){if(t)return d[t];throw"AjaxQ: queue name is required"},c.ajaxq.abort=function(t){if(!t)throw"AjaxQ: queue name is required";var e=c.ajaxq.getActiveRequest(t);delete l[t],delete d[t],e&&e.abort()},c.ajaxq.clear=function(t){if(t)l[t]&&(l[t]=[]);else for(var e in l)l.hasOwnProperty(e)&&(l[e]=[])}},"function"==typeof define&&define.amd?define(["jquery"],t):"object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports?module.exports=t(require("jquery")):t(jQuery);var a,o,r,s,n,t,i,c,l,d={};function p(t){jQuery(".wp-statistics-settings ul.tabs li").removeClass("current"),jQuery(".wp-statistics-settings .tab-content").removeClass("current"),jQuery("[data-tab="+t+"]").addClass("current"),jQuery("#"+t).addClass("current"),jQuery("#wp-statistics-settings-form").length&&(t=jQuery(location).attr("href")+"&tab="+t,jQuery("#wp-statistics-settings-form").attr("action",t).submit())}function u(t,e){jQuery(document).on("change",t,function(t){t.preventDefault();t=jQuery(e);this.checked?t.show("slow"):(t.hide("slow"),t.find("input[type=checkbox]").prop("checked",!1))})}d.global="undefined"!=typeof wps_global?wps_global:[],d._=function(t){return t in this.global.i18n?this.global.i18n[t]:""},d.is_active=function(t){return 1===d.global.options[t]},d.ajax_queue={key:"wp-statistics",time:400},d.ajaxQ=function(o,r,e,s){var t=4<arguments.length&&void 0!==arguments[4]?arguments[4]:"GET",n=!(5<arguments.length&&void 0!==arguments[5])||arguments[5],t={url:o=!1!==o&&"metabox"!==o?o:d.global.meta_box_api,type:t,dataType:"json",crossDomain:!0,cache:!1,data:r,success:function(t){o===d.global.meta_box_api&&!0===n?t.no_data?jQuery(d.meta_box_inner(r.name)).empty().html(d.no_meta_box_data()):(jQuery(d.meta_box_inner(r.name)).empty().html(d[e].view(t)),d[e].meta_box_init&&setTimeout(function(){d[e].meta_box_init(t)},150)):d[e](t)},error:function(t,e,a){o===d.global.meta_box_api&&!0===n?jQuery(d.meta_box_inner(r.name)).empty().html(d[s](t.responseText)):d[s](t.responseText)}};o===d.global.meta_box_api&&(t.beforeSend=function(t){t.setRequestHeader("X-WP-Nonce",d.global.rest_api_nonce),t.setRequestHeader("Access-Control-Allow-Origin","*")}),jQuery.ajaxq(d.ajax_queue.key,t)},d.placeholder=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];return'<div class="wps-ph-item"><div class="wps-ph-col-12">'.concat(d.placeholder_content("picture"),"").concat(d.placeholder_content("line"),"</div>")+(!1!==t?t:"")+"</div>"},d.line_placeholder=function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1,e='<div class="wps-ph-item">',a=0;a<t;a++)e+='<div class="wps-ph-col-12"> <div class="wps-ph-row"><div class="wps-ph-col-6 big"></div><div class="wps-ph-col-4 empty big"></div><div class="wps-ph-col-4"></div><div class="wps-ph-col-8 empty"></div><div class="wps-ph-col-6"></div><div class="wps-ph-col-6 empty"></div><div class="wps-ph-col-12"></div> </div></div>';return e+="</div>"},d.circle_placeholder=function(){return'<div class="wps-ph-item"> '.concat(d.placeholder_content("circle"),"</div>")},d.rectangle_placeholder=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";return'<div class="wps-ph-item'+(0<t.length?" "+t:"")+'"><div class="wps-ph-col-12">'.concat(d.placeholder_content("picture"),"</div></div>")},d.placeholder_content=function(){var t="";switch(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"line"){case"picture":t='<div class="wps-ph-picture"></div>';break;case"line":t='<div class="wps-ph-row"><div class="wps-ph-col-6 big"></div><div class="wps-ph-col-4 empty big"></div><div class="wps-ph-col-2 big"></div><div class="wps-ph-col-4"></div><div class="wps-ph-col-8 empty"></div><div class="wps-ph-col-6"></div><div class="wps-ph-col-6 empty"></div><div class="wps-ph-col-12"></div> </div>';break;case"circle":t='<div class="wps-ph-col-2"></div><div class="wps-ph-col-8"><div class="wps-ph-avatar"></div></div>'}return t},d.exist_tag=function(t){return jQuery(t).length},d.date_picker=function(){jQuery.fn.datepicker&&"undefined"!=typeof wps_i18n_jquery_datepicker&&jQuery("input[data-wps-date-picker]").datepicker({monthNames:wps_i18n_jquery_datepicker.monthNames,monthNamesShort:wps_i18n_jquery_datepicker.monthNamesShort,dayNames:wps_i18n_jquery_datepicker.dayNames,dayNamesShort:wps_i18n_jquery_datepicker.dayNamesShort,dayNamesMin:wps_i18n_jquery_datepicker.dayNamesMin,dateFormat:wps_i18n_jquery_datepicker.dateFormat,firstDay:wps_i18n_jquery_datepicker.firstDay,isRTL:wps_i18n_jquery_datepicker.isRTL,onSelect:function(t){var e=jQuery(this).attr("data-wps-date-picker");0<t.length&&jQuery("input[id=date-"+e+"]").val(t)}})},d.select2=function(){jQuery("select[data-type-show=select2]").select2()},d.redirect=function(t){window.location.replace(t)},d.line_chart=function(t,e,a,o){t=document.getElementById(t).getContext("2d");d.is_active("rtl")&&(Chart.defaults.global={defaultFontFamily:"Tahoma"}),new Chart(t,{type:"line",data:{labels:a,datasets:o},options:{responsive:!0,legend:{position:"bottom"},animation:{duration:1500},title:{display:!0,text:e},tooltips:{mode:"index",intersect:!1},interaction:{intersect:!1},scales:{yAxes:{ticks:{beginAtZero:!0}}}}})},d.pie_chart=function(t,e,a){var o=3<arguments.length&&void 0!==arguments[3]&&arguments[3],t=document.getElementById(t).getContext("2d");d.is_active("rtl")&&(Chart.defaults.global={defaultFontFamily:"Tahoma"}),!1===o&&(o=function(t,e){var a=e.datasets[t.datasetIndex],o=a.data.reduce(function(t,e,a,o){return t+e}),a=a.data[t.index];return Math.floor(a/o*100+.5)+"% - "+e.labels[t.index]}),new Chart(t,{type:"pie",data:{labels:e,datasets:a},options:{responsive:!0,legend:{position:"bottom"},animation:{duration:1500},tooltips:{callbacks:{label:o}}},plugins:[{afterDraw:function(t){var e,a,o;!0===t.data.datasets[0].data.every(function(t){return 0==t})&&(e=t.chart.ctx,a=t.chart.width,o=t.chart.height,t.clear(),e.save(),e.textAlign="center",e.textBaseline="middle",e.font="14px normal 'Tahoma'",e.fillText(d._("no_data"),a/2,o/2),e.restore())}}]})},d.chart_id=function(t){return"wp-statistics-"+t+"-meta-box-chart"},d.random_color=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=[[243,156,18,"#f39c12"],[52,152,219,"#3498db"],[192,57,43,"#c0392b"],[155,89,182,"#9b59b6"],[39,174,96,"#27ae60"],[230,126,34,"#e67e22"],[142,68,173,"#8e44ad"],[46,204,113,"#2ecc71"],[41,128,185,"#2980b9"],[22,160,133,"#16a085"],[211,84,0,"#d35400"],[44,62,80,"#2c3e50"],[241,196,15,"#f1c40f"],[231,76,60,"#e74c3c"],[26,188,156,"#1abc9c"],[46,204,113,"#2ecc71"],[52,152,219,"#3498db"],[155,89,182,"#9b59b6"],[52,73,94,"#34495e"],[22,160,133,"#16a085"],[39,174,96,"#27ae60"],[44,62,80,"#2c3e50"],[241,196,15,"#f1c40f"],[230,126,34,"#e67e22"],[231,76,60,"#e74c3c"],[236,240,241,"#9b9e9f"],[149,165,166,"#a65d20"]];return e[!1===t?Math.floor(Math.random()*e.length):t]},d.site_icon=function(t){return'<img src="https://www.google.com/s2/favicons?domain='.concat(t,'" width="16" height="16" alt="').concat(t,'" style="vertical-align: -3px;" />')},d.wordpress_postbox_ajax=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"enable",e=jQuery(".postbox .hndle, .postbox .handlediv");"enable"===t?e.on("click",window.postboxes.handle_click):e.off("click",window.postboxes.handle_click)},d.isset=function(t){for(var e=Array.prototype.slice.call(arguments,1),a=0;a<e.length;a++){if(!t||!t.hasOwnProperty(e[a]))return!1;t=t[e[a]]}return!0},d.number_format=function(t,e,a,o){var r;if(null!=t&&isFinite(t))return e||(e=1<(r=t.toString().split(".").length)?r:0),a=a||".",o=o||",",(r=(t=(t=parseFloat(t).toFixed(e)).replace(".",a)).split(a))[0]=r[0].replace(/\B(?=(\d{3})+(?!\d))/g,o),r.join(a);throw new TypeError("number is not valid")},d.set_equal_height=function(t,e){var a=jQuery(t).height(),o=jQuery(e).height(),r=a;a<o&&(e=t,r=o),jQuery(e).css("height",r+"px")},d.Create_Half_PostBox=function(t,e){return'<div class="postbox-container wps-postbox-half '.concat(t,'"><div class="metabox-holder"><div class="meta-box-sortables"> <div class="postbox" id="').concat(e,'"> <div class="inside"></div></div></div></div></div>')},d.isIP=function(t){var e="(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0)";return new RegExp("^".concat(e,"\\.").concat(e,"\\.").concat(e,"\\.").concat(e,"$")).test(t)},d.getLinkParams=function(t){t=(1<arguments.length&&void 0!==arguments[1]&&arguments[1]||window.location.href).match(new RegExp("(?:[?&]"+t+"=)([^&]+)"));return t?t[1]:null},d.sum=function(t){return t.reduce(function(t,e){return t+e},0)},d.sanitize_meta_box_name=function(t){return t.replace(new RegExp("-","g"),"_")},d.get_meta_box_method=function(t){return this.sanitize_meta_box_name(t)+"_meta_box"},d.getMetaBoxKey=function(t){return"wp-statistics-"+t+"-widget"},d.no_meta_box_data=function(){return d._("no_data")},d.error_meta_box_data=function(t){t=JSON.parse(t);return d.isset(t,"message")?t.message:d._("rest_connect")},d.get_meta_box_info=function(t){return t in d.global.meta_boxes?d.global.meta_boxes[t]:[]},d.meta_box_lang=function(t,e){return e in d.global.meta_boxes[t].lang?d.global.meta_boxes[t].lang[e]:""},d.meta_box_inner=function(t){return"#"+d.getMetaBoxKey(t)+" div.inside"},d.meta_box_name_by_id=function(t){return t.split("statistics-").pop().split("-widget")[0]},d.meta_box_button=function(t){var e="#"+d.getMetaBoxKey(t)+" .handle-actions button:first",a=d.get_meta_box_info(t),o="z-index: 9999;position: absolute;top: 1px;",r="right";d.is_active("rtl")&&(r="left"),jQuery("#"+d.getMetaBoxKey(t)+" button[class*=wps-refresh], #"+d.getMetaBoxKey(t)+" button[class*=wps-more]").remove(),d.is_active("more_btn")&&d.isset(a,"page_url")&&jQuery('<button class="handlediv wps-more"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 3%;" '):'style="line-height: 28px;"')+' type="button" onclick="location.href = \''+d.global.admin_url+"admin.php?page="+a.page_url+'\';"><span class="screen-reader-text">'+d._("more_detail")+'</span> <span class="dashicons dashicons-external"></span></button>').insertBefore(e),d.is_active("more_btn")&&d.isset(a,"page_url")?jQuery('<button class="handlediv wps-refresh"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 6%;" '):'style="line-height: 28px;"')+' type="button"><span class="screen-reader-text">'+d._("reload")+'</span> <span class="dashicons dashicons-update"></span> </button>').insertAfter("#"+d.getMetaBoxKey(t)+" button[class*=wps-more]"):jQuery('<button class="handlediv wps-refresh"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 3%;" '):'style="line-height: 28px;"')+' type="button"><span class="screen-reader-text">'+d._("reload")+'</span> <span class="dashicons dashicons-update"></span> </button>').insertBefore(e)},d.run_meta_box=function(t){var e,a,o=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];d.exist_tag("#"+d.getMetaBoxKey(t))&&(d.is_active("gutenberg")||!d.is_active("gutenberg")&&jQuery("#"+d.getMetaBoxKey(t)).is(":visible"))&&(a=jQuery(d.meta_box_inner(t)),(e=d.get_meta_box_method(t))in d&&("placeholder"in d[e]?a.html(d[e].placeholder()):a.html(d.placeholder()),!0===r&&d.meta_box_button(t),!(a={name:t})!==o&&(a=Object.assign(o,a)),"params"in d[e]&&(a=Object.assign(a,d[e].params())),d.ajaxQ("metabox",a,e,"error_meta_box_data")))},d.run_meta_boxes=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];(t=!1===t?Object.keys(d.global.meta_boxes):t).forEach(function(t){d.run_meta_box(t)})},jQuery(document).on("mouseenter mouseleave",".wps-refresh, .wps-more",function(t){"mouseenter"===t.type?d.wordpress_postbox_ajax("disable"):d.wordpress_postbox_ajax("enable")}),jQuery(document).on("click",".wps-refresh",function(t){t.preventDefault();var e=jQuery(this).closest(".postbox").attr("id"),t=d.meta_box_name_by_id(e);d.run_meta_box(t,!1,!1),setTimeout(function(){jQuery("#"+e).find(".wps-refresh").blur()},1e3)}),jQuery(document).on("click",'input[type=checkbox][id^="wp-statistics-"][id$="-widget-hide"]',function(){var t;jQuery(this).is(":checked")&&(t=jQuery(this).attr("id"),t=d.meta_box_name_by_id(t),d.run_meta_box(t))}),d.btn_group_chart=function(e){var a,t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o={7:d._("str_week"),30:d._("str_month"),365:d._("str_year")},r=("ago"==t.type&&(a=parseInt(t.days)),'<div class="wps-btn-group"><div class="btn-group" role="group">');return Object.keys(o).forEach(function(t){r+='<button type="button" class="btn '+(t==a?"btn-primary":"btn-default")+'" data-chart-time="'.concat(e,'" data-time="').concat(t,'">').concat(o[t],"</button>")}),r=(r=r+('<button type="button" class="btn '+("between"==t.type?"btn-primary":"btn-default")+'" data-custom-date-picker="'.concat(e,'">').concat(d._("custom"),"</button>"))+"</div></div>")+('<div data-chart-date-picker="'.concat(e,'"')+("ago"==t.type?' style="display:none;"':"")+'><input type="text" size="18" name="date-from" data-wps-date-picker="from" value="'.concat(t.from,'" placeholder="YYYY-MM-DD" autocomplete="off">')+d._("to")+'<input type="text" size="18" name="date-to" data-wps-date-picker="to" value="'.concat(t.to,'" placeholder="YYYY-MM-DD" autocomplete="off"><input type="submit" value="')+d._("go")+'" data-between-chart-show="'.concat(e,'" class="button-primary"><input type="hidden" name="" id="date-from" value="').concat(t.from,'"><input type="hidden" name="" id="date-to" value="').concat(t.to,'"></div>'))},jQuery(document).on("click",".wps-btn-group button",function(){jQuery(".wps-btn-group button").attr("class","btn btn-default"),jQuery(this).attr("class","btn btn-primary")}),jQuery(document).on("click","button[data-custom-date-picker]",function(){jQuery("div[data-chart-date-picker= "+jQuery(this).attr("data-custom-date-picker")+"]").slideDown()}),jQuery(document).on("click","button[data-chart-time]",function(){d.run_meta_box(jQuery(this).attr("data-chart-time"),{ago:jQuery(this).attr("data-time"),"no-data":"no"})}),jQuery(document).on("click","input[data-between-chart-show]",function(){var t=jQuery(this).attr("data-between-chart-show");d.run_meta_box(t,{from:jQuery("div[data-chart-date-picker="+t+"] input[id=date-from]").val(),to:jQuery("div[data-chart-date-picker="+t+"] input[id=date-to]").val(),"no-data":"no"})}),d.browsers_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("browsers",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("browsers")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=10;o++)t=d.random_color(o),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("browsers"),data:e.browsers_value,backgroundColor:a}];if(d.pie_chart(d.chart_id("browsers"),e.browsers_name,r),d.exist_tag("#"+d.getMetaBoxKey("browsers-table"))){["browsers-table","browsers"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("browser"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.browsers_name.length;n++)s+=" <tr><td>".concat(e.browsers_name[n],"</td><td>").concat(0<parseInt(e.browsers_value[n])?"".concat("other"!==e.info.agent[n]?'<a href="'+e.info.visitor_page+"&agent="+e.info.agent[n]+"&from="+e.from+"&to="+e.to+'" target="_blank">':""," ").concat(d.number_format(e.browsers_value[n])," ").concat("other"!==e.info.agent[n]?"</a>":""):e.browsers_value[n],"</td><td>").concat(d.number_format(e.browsers_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("browsers-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside");for(var i="",c=0;c<e.browsers_name.length;c++)0<parseInt(e.browsers_value[c])&&e.info.agent[c]&&(i=(i=(i+='<div class="wps-title-group"><img src="'.concat(e.info.logo[c],'" alt="').concat(e.browsers_name[c],'" style="vertical-align: -3px;"> ').concat(e.browsers_name[c],'</div><div class="wp-clearfix"></div>'))+d.Create_Half_PostBox("postBox-chart-"+e.info.agent[c],"browser-"+e.info.agent[c]+"-chart"))+d.Create_Half_PostBox("postBox-table-"+e.info.agent[c],"browser-"+e.info.agent[c]+"-table")+'<div class="wp-clearfix"></div>');jQuery(i).insertAfter("#browsers-table");for(var l=0;l<e.browsers_name.length;l++)0<parseInt(e.browsers_value[l])&&e.info.agent[l]&&this.run_custom_browser(e.info.agent[l])}},run_custom_browser:function(t){["browser-"+t+"-chart","browser-"+t+"-table"].forEach(function(t){jQuery("#"+t+" .inside").css("height","430px")}),jQuery("#browser-"+t+"-table .inside").html(d.placeholder()),jQuery("#browser-"+t+"-chart .inside").html(d.circle_placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;");var e={name:"browsers",browser:t};["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(e[t]=d.global.request_params[t])}),d.ajaxQ(d.global.meta_box_api,e,"show_custom_agent","error_custom_agent","GET",!1)}},d.show_custom_agent=function(n){var i=n.info.agent[0];jQuery("#browser-"+i+"-chart .inside").html('<canvas id="'+d.chart_id("browser-"+i)+'" height="220"></canvas>'),setTimeout(function(){for(var t,e=[],a=0;a<=10;a++)t=d.random_color(a),e.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");for(var o=[{label:d._("browsers"),data:n.browsers_value,backgroundColor:e}],r=(d.pie_chart(d.chart_id("browser-"+i),n.browsers_name,o),["browser-"+i+"-chart","browser-"+i+"-table"].forEach(function(t){jQuery("#"+t+" .inside").removeAttr("style")}),'<div class="title-center">'.concat(n.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("version_list"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>")),s=0;s<n.browsers_name.length;s++)r+=" <tr><td>".concat(n.browsers_name[s],"</td><td>").concat(0<parseInt(n.browsers_value[s])?d.number_format(n.browsers_value[s]):n.browsers_value[s],"</td><td>").concat(d.number_format(n.browsers_value[s]/n.total*100),"%</td></tr>");r=r+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(n.total),"</td><td></td></tr>")+"</table>",o="#browser-"+i+"-table .inside";jQuery(o).html(r),d.set_equal_height(o,"#browser-"+i+"-chart .inside")},500)},d.error_custom_agent=function(t){},d.countries_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e+='<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td width="10%" style=\'text-align: left\'>'.concat(d._("rank"),"</td><td width=\"10%\" style='text-align: left'>").concat(d._("flag"),"</td><td width=\"40%\" style='text-align: left'>").concat(d._("country"),"</td><td width=\"40%\" style='text-align: left'>").concat(d._("visitor_count"),"</td></tr>"),1);return t.forEach(function(t){e+="<tr><td style='text-align: left;'>".concat(a,"</td><td style='text-align: left;'><img src=\"").concat(t.flag,'" title="').concat(t.name,'" alt="').concat(t.name,"\"/></td><td style='text-align: left;'>").concat(t.name,"</td><td style='text-align: left;'><a href=\"").concat(t.link,'" title="').concat(t.name,'" target="_blank">').concat(d.number_format(t.number),"</a></td></tr>"),a++}),e+="</tbody></table>"}},d.devices_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("devices",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("devices")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("device"),data:e.device_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("devices"),e.device_name,r),d.exist_tag("#"+d.getMetaBoxKey("devices-table"))){["devices-table","devices"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("device"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.device_name.length;n++)s+=" <tr><td>".concat(e.device_name[n],"</td><td>").concat(0<parseInt(e.device_value[n])?'<a href="'+e.info.visitor_page+"&device="+e.device_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.device_value[n])," </a>"):d.number_format(e.device_value[n]),"</td><td>").concat(d.number_format(e.device_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("devices-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.exclusions_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=d.is_active("overview_page")?110:210,e=(d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&(t=80),"");return e+='<canvas id="'+d.chart_id("exclusions")+'" height="'+t+'"></canvas>'},meta_box_init:function(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.show_chart(d.chart_id("exclusions"),e),d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&d.exist_tag(t="span[id='number-total-chart-exclusions']")&&(e=d.sum(Object.values(e.total)),jQuery(t).html(d.number_format(e)))},show_chart:function(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],s="",n=[],i=0;Object.keys(r.exclusions).forEach(function(t){var e,a,o=d.sum(Object.values(r.value[t]));0<o&&(e=r.exclusions[t],a=d.random_color(i),n.push({label:e,data:r.value[t],backgroundColor:"rgba("+a[0]+","+a[1]+","+a[2]+",0.3)",borderColor:"rgba("+a[0]+","+a[1]+","+a[2]+",1)",borderWidth:1,fill:!0,tension:.4}),s+="<tr><th>".concat(e,'</th> <th class="th-center"><span style="color: #9a9494 !important;">').concat(d.number_format(o),"</span></th></tr>"),i++)}),d.exist_tag("table[data-table=exclusions]")&&jQuery(s).insertAfter("table[data-table=exclusions] tr:first"),d.line_chart(t,r.title,r.date,n)}},d.hits_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=d.is_active("overview_page")?110:210,a=(d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&(e=80),"");return d.is_active("overview_page")&&(a+=d.btn_group_chart("hits",t),setTimeout(function(){d.date_picker()},1e3)),a+='<canvas id="'+d.chart_id("hits")+'" height="'+e+'"></canvas>'},meta_box_init:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.hits_chart(d.chart_id("hits"),a),d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&["visits","visitors"].forEach(function(t){var e="span[id^='number-total-chart-"+t+"']";d.exist_tag(e)&&jQuery(e).html(a.total[t])})},hits_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],a=e,e=("hits-chart"in e&&(a=e["hits-chart"]),[]);d.is_active("visitors")&&e.push({label:d._("visitors"),data:a.visitors,backgroundColor:"rgba(255, 99, 132, 0.2)",borderColor:"rgba(255, 99, 132, 1)",borderWidth:1,fill:!0,tension:.4}),d.is_active("visits")&&e.push({label:d._("visits"),data:a.visits,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,fill:!0,tension:.4}),d.line_chart(t,a.title,a.date,e)}},d.hitsmap_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){return'<div id="wp-statistics-visitors-map"></div>'},meta_box_init:function(){var o=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=Array();o.hasOwnProperty("country")&&Object.keys(o.country).forEach(function(e){var a="<div class='map-html-marker'><img src='".concat(o.country[e].flag,"' alt=\"").concat(o.country[e].name,"\" title='").concat(o.country[e].name,"' class='log-tools'/> ").concat(o.country[e].name," [").concat(o.total_country[e],"]<hr />");Object.keys(o.visitor[e]).forEach(function(t){a+="<p><img src='".concat(o.visitor[e][t].browser.logo,"' alt=\"").concat(o.visitor[e][t].browser.name,"\" class='log-tools' title='").concat(o.visitor[e][t].browser.name,"'/> ").concat(o.visitor[e][t].ip," ")+("Unknown"!==o.visitor[e][t].city?"- "+o.visitor[e][t].city:"")+"</p>"}),a+="</div>",r[e]=a}),jQuery("#wp-statistics-visitors-map").vectorMap({map:"world_en",backgroundColor:"#fff",borderColor:"#7e7e7e",borderOpacity:.6,color:"#e6e5e2",hoverColor:"#c3403c",colors:o.color,onLabelShow:function(t,e,a){void 0!==r[a]?e.html(r[a]):e.html(e.html()+" [0]<hr />")}})}},d.models_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("models",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("models")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("model"),data:e.model_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("models"),e.model_name,r),d.exist_tag("#"+d.getMetaBoxKey("models-table"))){["models-table","models"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("model"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.model_name.length;n++)s+=" <tr><td>".concat(e.model_name[n],"</td><td>").concat(0<parseInt(e.model_value[n])?'<a href="'+e.info.visitor_page+"&model="+e.model_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.model_value[n])," </a>"):d.number_format(e.model_value[n]),"</td><td>").concat(d.number_format(e.model_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("models-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.pages_chart_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){return'<canvas id="'+d.chart_id("pages-chart")+'" height="80"></canvas>'},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.show_chart(d.chart_id("pages-chart"),t),d.exist_tag("span[id=number-total-visits]")&&jQuery("span[id=number-total-visits]").html(t.total),d.exist_tag("span[id=number-total-chart-visits]")&&jQuery("span[id=number-total-chart-visits]").html(t.total_dates)},show_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];d.line_chart(t,e.title,e.date,[{label:d._("visits"),data:e.stat,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,fill:!0,tension:.4}])}},d.pages_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e+='<table width="100%" class="widefat table-stats wps-report-table wps-table-fixed"><tbody><tr><td width=\'10%\'>'.concat(d._("id"),"</td><td width='40%'>").concat(d._("title"),"</td><td width='40%'>").concat(d._("link"),"</td><td width='10%'>").concat(d._("visits"),"</td></tr>"),1);return t.forEach(function(t){e+="<tr><td style='text-align: left;'>".concat(a,"</td><td style='text-align: left;'><span title='").concat(t.title,"' class='wps-cursor-default wps-text-wrap'>").concat(t.title,"</span></td><td style='text-align: left;'><a href=\"").concat(t.link,'" title="').concat(t.title,'" target="_blank">').concat(t.str_url,'</a></td><td style="text-align: left"><a href="').concat(t.hits_page,'" class="wps-text-muted">').concat(t.number,"</a></td></tr>"),a++}),e+="</tbody></table>"}},d.platforms_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("platforms",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("platforms")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("platform"),data:e.platform_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("platforms"),e.platform_name,r),d.exist_tag("#"+d.getMetaBoxKey("platforms-table"))){["platforms-table","platforms"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("platform"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.platform_name.length;n++)s+=" <tr><td>".concat(e.platform_name[n],"</td><td>").concat(0<parseInt(e.platform_value[n])?'<a href="'+e.info.visitor_page+"&platform="+e.platform_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.platform_value[n])," </a>"):d.number_format(e.platform_value[n]),"</td><td>").concat(d.number_format(e.platform_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("platforms-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.post_meta_box={params:function(){return{ID:d.global.page.ID}},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return(t.hasOwnProperty("content")?'<div class="wps-center" style="padding: 15px;"> '+t.content+"</div>":'<canvas id="'+d.chart_id("post")+'" height="85"></canvas>')+'<div class="wps-wrap wps-meta-box-footer">'+t.visitors+"</div>"},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];t.hasOwnProperty("content")?jQuery("#"+d.getMetaBoxKey("post")+" button[onclick]").remove():this.post_hits_chart(d.chart_id("post"),t)},post_hits_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];d.line_chart(t,e.title,e.date,[{label:e.post_title,data:e.state,backgroundColor:"rgba(255, 99, 132, 0.2)",borderColor:"rgba(255, 99, 132, 1)",borderWidth:1,fill:!0,tension:.4}])}},d.quickstats_meta_box={view:function(){var t="";return(t+='<table width="100%" class="widefat table-stats wps-summary-stats"><tbody>')+d.summary_meta_box.summary_statistics(0<arguments.length&&void 0!==arguments[0]?arguments[0]:[])+"</tbody></table>"+'<br><hr width="80%"/><br>'+('<canvas id="'+d.chart_id("quickstats")+'" height="210"></canvas>')},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];d.hits_meta_box.hits_chart(d.chart_id("quickstats"),t)}},d.recent_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("browser"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("country"),"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("date"),"</td><td>").concat(d._("hits"),"</td><td>").concat(d._("ip"),"</td><td>").concat(d._("referrer"),"</td></tr>"));return t.forEach(function(t){e+='<tr><td style="text-align: left"><a href="'.concat(t.browser.link,'" title="').concat(t.browser.name,'"><img src="').concat(t.browser.logo,'" alt="').concat(t.browser.name,"\" class='log-tools' title='").concat(t.browser.name,"'/></a></td>")+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(t.city,"</td>"):"")+'<td style="text-align: left">'.concat(t.date,'</td><td style="text-align: left">').concat(t.hits,'</td><td style="text-align: left">')+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+'</td><td style="text-align: left">'.concat(t.referred,"</td></tr>")}),e=e+"</tbody></table>"+"</div>"}},d.referring_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return e+='<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td width="80%">'.concat(d._("address"),'</td><td width="20%">').concat(d.meta_box_lang("referring","references"),"</td></tr>"),t.forEach(function(t){e+="<tr><td>"+d.site_icon(t.domain)+" <a href='//".concat(t.domain,"' title='").concat(t.title,'\' target="_blank">').concat(t.domain,"</a><span class='wps-cursor-default wps-referring-widget-ip'")+(2<t.country.length?' title="'.concat(t.country,'"'):"")+">".concat(t.ip,'</span></td><td class="wps-middle-vertical"><a href="').concat(t.page_link,'">').concat(t.number,"</a></td></tr>")}),e+="</tbody></table>"}},d.search_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=d.is_active("overview_page")?110:210,a=(d.isset(d.global,"request_params","page")&&"searches"===d.global.request_params.page&&(e=80),"");return d.is_active("overview_page")&&(a+=d.btn_group_chart("search",t),setTimeout(function(){d.date_picker()},1e3)),a+='<canvas id="'+d.chart_id("search")+'" height="'+e+'"></canvas>'},meta_box_init:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],o=[],r=0;Object.keys(a["search-engine"]).forEach(function(t){var t=a["search-engine"][t].name,e=d.random_color(r);o.push({label:t,data:a.stat[t],backgroundColor:"rgba("+e[0]+","+e[1]+","+e[2]+",0.3)",borderColor:"rgba("+e[0]+","+e[1]+","+e[2]+",1)",borderWidth:1,fill:!0,tension:.4}),r++}),1===a.total.active&&o.push({label:d._("total"),data:a.total.stat,backgroundColor:"rgba("+a.total.color+", 0.2)",borderColor:"rgba("+a.total.color+", 1)",borderWidth:1,fill:!0,tension:.4}),d.line_chart(d.chart_id("search"),a.title,a.date,o)}},d.summary_meta_box={summary_statistics:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],o="";if(a.user_online&&(o="<tr><th>".concat(d._("online_users"),':</th><th colspan="2" id="th-colspan"><span><a href="').concat(a.user_online.link,'">').concat(a.user_online.value,"</a></span></th></tr>")),d.is_active("visitors")||d.is_active("visits")){o+='<tr><th width="60%"></th>',["visitors","visits"].forEach(function(t){o+='<th class="th-center">'+(d.is_active(t)?d._(t):"")+"</th>"}),o+="</tr>";for(var r=["today","yesterday","week","month","year","total"],t=0;t<r.length;t++)!function(e){o+="<tr><th>".concat(d._(r[e]),": </th>"),["visitors","visits"].forEach(function(t){o+='<th class="th-center">'+(d.is_active(t)?'<a href="'.concat(a[t][r[e]].link,'"><span>').concat(a[t][r[e]].value,"</span></a>"):"")+"</th>"}),o+="</tr>"}(t)}return o},view:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a="",a=(a+='<table width="100%" class="widefat table-stats wps-summary-stats"><tbody>')+this.summary_statistics(e);return d.is_active("visitors")&&(a=(a+='<tr><th colspan="3"><br><hr></th></tr>')+'<tr><th colspan="3" style="text-align: center;">'.concat(d.meta_box_lang("summary","search_engine"),'</th></tr><tr><th width="60%"></th><th class="th-center">').concat(d._("today"),'</th><th class="th-center">').concat(d._("yesterday"),"</th></tr>"),Object.keys(e["search-engine"]).forEach(function(t){a+='<tr><th><img src="'.concat(e["search-engine"][t].logo,'" alt="').concat(e["search-engine"][t].name,'" class="wps-engine-logo"> ').concat(e["search-engine"][t].name,':</th><th class="th-center"><span>').concat(e["search-engine"][t].today,'</span></th><th class="th-center"><span>').concat(e["search-engine"][t].yesterday,"</span></th></tr>")}),a+="<tr><th>".concat(d._("daily_total"),':</th><td id="th-colspan" class="th-center"><span>').concat(e["search-engine-total"].today,'</span></td><td id="th-colspan" class="th-center"><span>').concat(e["search-engine-total"].yesterday,"</span></td></tr><tr><th>").concat(d._("total"),':</th><th colspan="2" id="th-colspan"><span>').concat(e["search-engine-total"].total,"</span></th></tr>")),a=a+' <tr><th colspan="3"><br><hr></th></tr><tr><th colspan="3" style="text-align: center;">'.concat(d.meta_box_lang("summary","current_time_date"),'<span id="time_zone"><a href="').concat(e.timezone["option-link"],'"> ').concat(d.meta_box_lang("summary","adjustment"),'</a></span></th></tr><tr><th colspan="3">').concat(d._("date"),': <code dir="ltr">').concat(e.timezone.date,'</code></th></tr><tr> <th colspan="3">').concat(d._("time"),': <code dir="ltr">').concat(e.timezone.time,"</code></th></tr>")+"</tbody></table>"}},d.top_pages_chart_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t="";return setTimeout(function(){d.date_picker()},1e3),t+='<canvas id="'+d.chart_id("top-pages-chart")+'" height="80"></canvas>'},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.top_pages_chart(d.chart_id("top-pages-chart"),t)},top_pages_chart:function(t){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],o=[],r=0;Object.keys(a.stat).forEach(function(t){var e=d.random_color(r);o.push({label:t,data:a.stat[t],backgroundColor:"rgba("+e[0]+","+e[1]+","+e[2]+",0.3)",borderColor:"rgba("+e[0]+","+e[1]+","+e[2]+",1)",borderWidth:1,fill:!0,tension:.4}),r++}),d.line_chart(t,a.title,a.date,o)}},d.top_visitors_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("rank"),"</td><td>").concat(d._("hits"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("flag"),"</td><td>").concat(d._("country"),"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("ip"),"</td><td>").concat(d._("agent"),"</td><td>").concat(d._("platform"),"</td><td>").concat(d._("version"),"</td></tr>")),1);return t.forEach(function(t){e+="<tr><td>".concat(a,"</td><td>").concat(t.hits,"</td>")+(d.is_active("geo_ip")?"<td><img src='".concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td><td>").concat(t.country.name,"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(t.city,"</td>"):"")+"<td>"+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+"</td><td>".concat(t.agent,"</td><td>").concat(t.platform,"</td><td>").concat(t.version,"</td></tr>"),a++}),e=e+"</tbody></table>"+"</div>"}},d.useronline_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return e+='<table class="widefat table-stats wps-report-table wps-table-fixed"><tr>'+(d.is_active("geo_ip")?"<td style='text-align: left;'>".concat(d._("country"),"</td>"):"")+"<td style='text-align: left;'>".concat(d._("ip"),"</td><td width=\"35%\" style='text-align: left;'>").concat(d._("page"),"</td><td style='text-align: left;'>").concat(d._("referrer"),"</td></tr>"),t.forEach(function(t){e+="<tr>"+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+"<td style='text-align: left !important'>"+(t.hash_ip||t.ip.value)+"</td><td style='text-align: left !important;'><span class=\"wps-text-wrap\">"+(2<t.page.link.length?'<a href="'.concat(t.page.link,'" title="').concat(t.page.title,'" target="_blank" class="wps-text-muted">'):"")+t.page.title+(2<t.page.link.length?"</a>":"")+'</span></td><td style="text-align: left !important">'.concat(t.referred,"</td></tr>")}),e+="</table>"}},d.words_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("word"),"</td><td>").concat(d._("browser"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("country"),"</td>"):""))+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("date"),"</td><td>").concat(d._("ip"),"</td><td>").concat(d._("referrer"),"</td></tr>");return t.forEach(function(t){e+='<tr><td style="text-align: left"><span title=\''.concat(t.word,"' class='wps-cursor-default wps-text-wrap")+(d.is_active("overview_page")?" wps-200-px":"")+"'>".concat(t.word,'</span></td><td style="text-align: left"><a href="').concat(t.browser.link,'" title="').concat(t.browser.name,'"><img src="').concat(t.browser.logo,'" alt="').concat(t.browser.name,"\" class='log-tools' title='").concat(t.browser.name,"'/></a></td>")+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+(d.is_active("geo_city")?'<td style="text-align: left">'.concat(t.city,"</td>"):"")+'<td style="text-align: left">'.concat(t.date,'</td><td style="text-align: left">')+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+'</td><td style="text-align: left">'.concat(t.referred,"</td></tr>"),0}),e=e+"</tbody></table>"+"</div>"}},d.isset(d.global,"request_params","page")&&"authors"===d.global.request_params.page&&(a={ago:30,type:"author",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(a[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",a,!1)),d.isset(d.global,"request_params","page")&&"browser"===d.global.request_params.page&&(o={},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(o[t]=d.global.request_params[t])}),["browsers-table","browsers"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").css("height","430px")}),jQuery("#wp-statistics-browsers-table-widget .inside").html(d.placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;"),d.run_meta_box("browsers",o,!1)),d.isset(d.global,"request_params","page")&&"categories"===d.global.request_params.page&&(r={ago:30,type:"category",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(r[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",r,!1)),d.isset(d.global,"request_params","page")&&"countries"===d.global.request_params.page&&(s={limit:0},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(s[t]=d.global.request_params[t])}),d.run_meta_box("countries",s,!1)),d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},jQuery("span[id^='number-total-chart-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("exclusions",t,!1)),d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&(t={},t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},jQuery("span[id^='number-total-chart-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("hits",t,!1)),d.isset(d.global,"request_params","page")&&"overview"===d.global.request_params.page&&d.isset(d.global,"overview","ads")&&d.is_active("overview_ads")&&(t='<div id="wps_overview_ads_postbox" class="postbox"><div class="inside"><div class="close-overview-ads"><span class="dashicons dashicons-dismiss"></span></div><a href="'.concat(d.global.overview.ads.link,'" title="').concat(d.global.overview.ads.title,'" ').concat("yes"==d.global.overview.ads._target?' target="_blank"':"",'><img src="').concat(d.global.overview.ads.image,'" id="wps_overview_ads_image" alt="').concat(d.global.overview.ads.title,'"></a></div></div>'),jQuery(t).insertAfter("#wps-postbox-container-2 #normal-sortables div.postbox:first"),jQuery(document).on("click",".close-overview-ads",function(){jQuery("#wps_overview_ads_postbox").fadeOut("normal"),jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"get",data:{action:"wp_statistics_close_overview_ads",ads_id:""+d.global.overview.ads.ID,wps_nonce:""+d.global.rest_api_nonce},datatype:"json"})}),jQuery("#wps-donate-notice").on("click",".notice-dismiss",function(){jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"get",data:{action:"wp_statistics_close_notice",notice:"donate",wps_nonce:""+d.global.rest_api_nonce},datatype:"json"})}),jQuery("#wps_overview_ads_image").on("error",function(){jQuery("#wps_overview_ads_postbox").remove()})),d.isset(d.global,"request_params","page")&&"pages"===d.global.request_params.page&&(d.isset(d.global,"request_params","ID")&&d.isset(d.global,"request_params","type")?(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},t=Object.assign(t,{ID:d.global.request_params.ID,type:d.global.request_params.type}),d.run_meta_box("pages-chart",t,!1),d.exist_tag("form#wp-statistics-select-pages")&&d.select2(),jQuery(document).on("change","select[name=ID]",function(){jQuery("span.submit-form").html(d._("please_wait")),jQuery(this).closest("form").trigger("submit")})):(t={},d.isset(d.global,"request_params","pagination-page")&&(t.paged=d.global.request_params["pagination-page"]),d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?(t.from=d.global.request_params.from,t.to=d.global.request_params.to):t.ago=30,d.run_meta_box("top-pages-chart",t,!1))),d.isset(d.global,"request_params","page")&&"platform"===d.global.request_params.page&&(n={},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(n[t]=d.global.request_params[t])}),["platforms-table","platforms"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").css("height","430px")}),jQuery("#wp-statistics-platforms-table-widget .inside").html(d.placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;"),d.run_meta_box("platforms",n,!1)),d.isset(d.global,"request_params","page")&&"searches"===d.global.request_params.page&&(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},d.run_meta_box("search",t,!1)),jQuery(".wp-statistics-settings").length&&((t=function(t){if(t=new RegExp("[?&]"+t+"=([^&#]*)").exec(window.location.href))return t[1]}("tab"))&&p(t),jQuery(".wp-statistics-settings ul.tabs li").click(function(){p(jQuery(this).attr("data-tab"))})),u("input[name=wps_visitors]","tr[data-view=visitors_log_tr]"),u("input[name=wps_referrerspam]","tr.referrerspam_field"),d.isset(d.global,"request_params","page")&&"settings"===d.global.request_params.page&&(jQuery("#wp-statistics-settings-form ul.tabs li").click(function(t){t.preventDefault();t=e(this).attr("data-tab");"undefined"!=typeof localStorage&&localStorage.setItem("wp-statistics-settings-active-tab",t)}),"undefined"!=typeof localStorage&&d.isset(d.global,"request_params","save_setting")&&"yes"===d.global.request_params.save_setting&&(t=localStorage.getItem("wp-statistics-settings-active-tab"))&&0<t.length&&e("#wp-statistics-settings-form ul.tabs li[data-tab="+t+"]").click()),d.isset(d.global,"request_params","page")&&"tags"===d.global.request_params.page&&(i={ago:30,type:"post_tag",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(i[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",i,!1)),d.isset(d.global,"request_params","page")&&"visitors"===d.global.request_params.page&&(c=function(t,o){var r='<table class="widefat">',s={browsers:["agent","browsers"],country:["location","location"],platform:["platform","platform"],referrer:["referrer","referrer"],user:["user_id","users"]},e=(Object.keys(s).forEach(function(e){r=(r=(r+="<tr><td>".concat(d._(e),"</td></tr>"))+'<tr><td><select name="'.concat(s[e][0],'" class="select2 wps-width-100" data-type-show="select2">'))+"<option value=''>".concat(d._("all"),"</option>");var a=d.getLinkParams(s[e][0]);Object.keys(o[s[e][1]]).forEach(function(t){r+="<option value='".concat(t,"' ").concat(null!=a&&a==t?"selected":"",">").concat(o[s[e][1]][t],"</option>")}),r+="</select></td></tr>"}),"width: calc(50% - 5px);display: inline-block;"),r=(r=(r=(r=(r+="<tr><td>".concat(d._("ip"),"</td></tr>"))+'<tr><td><input name="ip" value="'.concat(null!=d.getLinkParams("ip")?d.getLinkParams("ip"):"",'" class="wps-width-100" placeholder=\'xxx.xxx.xxx.xxx\' autocomplete="off"></td></tr>'))+"<tr><td>".concat(d._("date"),"</td></tr>"))+'<tr><td><div style="'.concat(e,'">').concat(d._("from"),': <input name="date-from" data-wps-date-picker="from" value="').concat(null!=d.getLinkParams("from")?d.getLinkParams("from"):"",'" style="width: calc(100% - 5px);" placeholder="YYYY-MM-DD" autocomplete="off"></div><div style="').concat(e,'">').concat(d._("to"),': <input name="date-to" data-wps-date-picker="to" value="').concat(null!=d.getLinkParams("to")?d.getLinkParams("to"):"",'" style="width: 100%;" placeholder="YYYY-MM-DD" autocomplete="off"></div><input type="hidden" name="from" id="date-from" value="').concat(null!=d.getLinkParams("from")?d.getLinkParams("from"):"",'"><input type="hidden" name="to" id="date-to" value="').concat(null!=d.getLinkParams("to")?d.getLinkParams("to"):"",'"></td></tr>')+"<tr><td></td></tr>")+'<tr><td><input type="submit" value="'.concat(d._("filter"),'" class="button-primary"> &nbsp; <span class="filter-loading"></span></td></tr>')+"</table>";jQuery(t).html(r),setTimeout(function(){d.date_picker(),d.select2()},200)},jQuery(document).on("click","div#visitors-filter",function(t){t.preventDefault(),tb_show("","#TB_inline?&width=430&height=668&inlineId=visitors-filter-popup"),setTimeout(function(){var t,e,a="#wps-visitors-filter-form";d.exist_tag(a+" input[type=submit]")||(jQuery(a).html('<div style="height: 50px;"></div>'+d.line_placeholder(5)),t=localStorage.getItem("wp-statistics-visitors-filter")?JSON.parse(localStorage.getItem("wp-statistics-visitors-filter")):{},!d.isset(t,"timestamp")||!d.isset(t,"value")||d.isset(t,"timestamp")&&d.isset(t,"value")&&(new Date).getTime().toString()>parseInt(t.timestamp)?(e={wps_nonce:d.global.rest_api_nonce,action:"wp_statistics_visitors_page_filters"},e=Object.assign(e,d.global.request_params),jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"GET",dataType:"json",data:e,timeout:3e4,success:function(t){localStorage.setItem("wp-statistics-visitors-filter",JSON.stringify({value:t,timestamp:(new Date).getTime()+216e5})),c(a,t)},error:function(t,e,a){jQuery("span.tb-close-icon").click()}})):c(a,t.value))},500)}),l="#wp_statistics_visitors_filter_form",jQuery(document).on("submit",l,function(){var t=jQuery(l+" input[name=date-from]"),e=jQuery(l+" input[name=date-to]");if(0<t.val().length&&e.val().length<1||t.val().length<1&&1<e.val().length)return alert(d._("er_datepicker")),!1;t=jQuery(l+" input[name=ip]").val();if(0<t.length&&!1===d.isIP(t))return alert(d._("er_valid_ip")),!1;jQuery("input[data-wps-date-picker]").prop("disabled",!0);var o={input:["date-from","date-to","ip"],select:["agent","platform","location","referrer","user_id"]},e=(Object.keys(o).forEach(function(a){o[a].forEach(function(e){var t=jQuery(l+" "+a+"[name="+e+"]");t.val().length<1&&(t.prop("disabled",!0),["from","to"].forEach(function(t){e=="date-"+t&&jQuery(l+" input[name="+t+"]").prop("disabled",!0)}))})}),d.getLinkParams("order"));return null!=e&&jQuery(this).append('<input type="hidden" name="order" value="'+e+'" /> '),jQuery("span.filter-loading").html(d._("please_wait")),!0})),d.date_picker(),("index.php"===d.global.page.file||d.is_active("overview_page")||"post-new.php"===d.global.page.file||"post.php"===d.global.page.file&&d.isset(d.global,"page","ID"))&&d.run_meta_boxes()});
1
+ "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}jQuery(document).ready(function(e){t=function(c){function a(t){return l.hasOwnProperty(t)&&0<l[t].length||d.hasOwnProperty(t)}var l={},d={};c.ajaxq=function(e,a){if(void 0===a)throw"AjaxQ: queue name is not provided";var t,o=c.Deferred(),r=o.promise(),s=(r.success=r.done,r.error=r.fail,r.complete=r.always,"function"==typeof a),n=s?null:c.extend(!0,{},a);return t=function(){var t=c.ajax.apply(window,[s?a():n]);return t.done(function(){o.resolve.apply(this,arguments)}),t.fail(function(){o.reject.apply(this,arguments)}),t.always(i),t},l[e]?l[e].push(t):(l[e]=[],t=t(),d[e]=t),r;function i(){var t;l[e]&&((t=l[e].shift())?(t=t(),d[e]=t):(delete l[e],delete d[e]))}},c.each(["getq","postq"],function(t,s){c[s]=function(t,e,a,o,r){return c.isFunction(a)&&(r=r||o,o=a,a=void 0),c.ajaxq(t,{type:"postq"===s?"post":"get",url:e,data:a,success:o,dataType:r})}});c.ajaxq.isRunning=function(t){if(t)return a(t);for(var e in l)if(a(e))return!0;return!1},c.ajaxq.getActiveRequest=function(t){if(t)return d[t];throw"AjaxQ: queue name is required"},c.ajaxq.abort=function(t){if(!t)throw"AjaxQ: queue name is required";var e=c.ajaxq.getActiveRequest(t);delete l[t],delete d[t],e&&e.abort()},c.ajaxq.clear=function(t){if(t)l[t]&&(l[t]=[]);else for(var e in l)l.hasOwnProperty(e)&&(l[e]=[])}},"function"==typeof define&&define.amd?define(["jquery"],t):"object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports?module.exports=t(require("jquery")):t(jQuery);var a,o,r,s,n,t,i,c,l,d={};function u(t){jQuery(".wp-statistics-settings ul.tabs li").removeClass("current"),jQuery(".wp-statistics-settings .tab-content").removeClass("current"),jQuery("[data-tab="+t+"]").addClass("current"),jQuery("#"+t).addClass("current"),jQuery("#wp-statistics-settings-form").length&&(t=jQuery(location).attr("href")+"&tab="+t,jQuery("#wp-statistics-settings-form").attr("action",t).submit())}function p(t,e){jQuery(document).on("change",t,function(t){t.preventDefault();t=jQuery(e);this.checked?t.show("slow"):(t.hide("slow"),t.find("input[type=checkbox]").prop("checked",!1))})}d.global="undefined"!=typeof wps_global?wps_global:[],d._=function(t){return t in this.global.i18n?this.global.i18n[t]:""},d.is_active=function(t){return 1===d.global.options[t]},d.ajax_queue={key:"wp-statistics",time:400},d.ajaxQ=function(o,r,e,s){var t=4<arguments.length&&void 0!==arguments[4]?arguments[4]:"GET",n=!(5<arguments.length&&void 0!==arguments[5])||arguments[5],t={url:o=!1!==o&&"metabox"!==o?o:d.global.meta_box_api,type:t,dataType:"json",crossDomain:!0,cache:!1,data:r,success:function(t){o===d.global.meta_box_api&&!0===n?t.no_data?jQuery(d.meta_box_inner(r.name)).empty().html(d.no_meta_box_data()):(jQuery(d.meta_box_inner(r.name)).empty().html(d[e].view(t)),d[e].meta_box_init&&setTimeout(function(){d[e].meta_box_init(t)},150)):d[e](t)},error:function(t,e,a){o===d.global.meta_box_api&&!0===n?jQuery(d.meta_box_inner(r.name)).empty().html(d[s](t.responseText)):d[s](t.responseText)}};o===d.global.meta_box_api&&(t.beforeSend=function(t){t.setRequestHeader("X-WP-Nonce",d.global.rest_api_nonce),t.setRequestHeader("Access-Control-Allow-Origin","*")}),jQuery.ajaxq(d.ajax_queue.key,t)},d.placeholder=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];return'<div class="wps-ph-item"><div class="wps-ph-col-12">'.concat(d.placeholder_content("picture"),"").concat(d.placeholder_content("line"),"</div>")+(!1!==t?t:"")+"</div>"},d.line_placeholder=function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1,e='<div class="wps-ph-item">',a=0;a<t;a++)e+='<div class="wps-ph-col-12"> <div class="wps-ph-row"><div class="wps-ph-col-6 big"></div><div class="wps-ph-col-4 empty big"></div><div class="wps-ph-col-4"></div><div class="wps-ph-col-8 empty"></div><div class="wps-ph-col-6"></div><div class="wps-ph-col-6 empty"></div><div class="wps-ph-col-12"></div> </div></div>';return e+="</div>"},d.circle_placeholder=function(){return'<div class="wps-ph-item"> '.concat(d.placeholder_content("circle"),"</div>")},d.rectangle_placeholder=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";return'<div class="wps-ph-item'+(0<t.length?" "+t:"")+'"><div class="wps-ph-col-12">'.concat(d.placeholder_content("picture"),"</div></div>")},d.placeholder_content=function(){var t="";switch(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"line"){case"picture":t='<div class="wps-ph-picture"></div>';break;case"line":t='<div class="wps-ph-row"><div class="wps-ph-col-6 big"></div><div class="wps-ph-col-4 empty big"></div><div class="wps-ph-col-2 big"></div><div class="wps-ph-col-4"></div><div class="wps-ph-col-8 empty"></div><div class="wps-ph-col-6"></div><div class="wps-ph-col-6 empty"></div><div class="wps-ph-col-12"></div> </div>';break;case"circle":t='<div class="wps-ph-col-2"></div><div class="wps-ph-col-8"><div class="wps-ph-avatar"></div></div>'}return t},d.exist_tag=function(t){return jQuery(t).length},d.date_picker=function(){jQuery.fn.datepicker&&"undefined"!=typeof wps_i18n_jquery_datepicker&&jQuery("input[data-wps-date-picker]").datepicker({monthNames:wps_i18n_jquery_datepicker.monthNames,monthNamesShort:wps_i18n_jquery_datepicker.monthNamesShort,dayNames:wps_i18n_jquery_datepicker.dayNames,dayNamesShort:wps_i18n_jquery_datepicker.dayNamesShort,dayNamesMin:wps_i18n_jquery_datepicker.dayNamesMin,dateFormat:wps_i18n_jquery_datepicker.dateFormat,firstDay:wps_i18n_jquery_datepicker.firstDay,isRTL:wps_i18n_jquery_datepicker.isRTL,onSelect:function(t){var e=jQuery(this).attr("data-wps-date-picker");0<t.length&&jQuery("input[id=date-"+e+"]").val(t)}})},d.select2=function(){jQuery("select[data-type-show=select2]").select2()},d.redirect=function(t){window.location.replace(t)},d.line_chart=function(t,e,a,o){t=document.getElementById(t).getContext("2d");d.is_active("rtl")&&(Chart.defaults.global={defaultFontFamily:"Tahoma"}),new Chart(t,{type:"line",data:{labels:a,datasets:o},options:{responsive:!0,legend:{position:"bottom"},animation:{duration:1500},title:{display:!0,text:e},tooltips:{mode:"index",intersect:!1},interaction:{intersect:!1},scales:{yAxes:{ticks:{beginAtZero:!0}}}}})},d.pie_chart=function(t,e,a){var o=3<arguments.length&&void 0!==arguments[3]&&arguments[3],t=document.getElementById(t).getContext("2d");d.is_active("rtl")&&(Chart.defaults.global={defaultFontFamily:"Tahoma"}),!1===o&&(o=function(t,e){var a=e.datasets[t.datasetIndex],o=a.data.reduce(function(t,e,a,o){return t+e}),a=a.data[t.index];return Math.floor(a/o*100+.5)+"% - "+e.labels[t.index]}),new Chart(t,{type:"pie",data:{labels:e,datasets:a},options:{responsive:!0,legend:{position:"bottom"},animation:{duration:1500},tooltips:{callbacks:{label:o}}},plugins:[{afterDraw:function(t){var e,a,o;!0===t.data.datasets[0].data.every(function(t){return 0==t})&&(e=t.chart.ctx,a=t.chart.width,o=t.chart.height,t.clear(),e.save(),e.textAlign="center",e.textBaseline="middle",e.font="14px normal 'Tahoma'",e.fillText(d._("no_data"),a/2,o/2),e.restore())}}]})},d.chart_id=function(t){return"wp-statistics-"+t+"-meta-box-chart"},d.random_color=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=[[243,156,18,"#f39c12"],[52,152,219,"#3498db"],[192,57,43,"#c0392b"],[155,89,182,"#9b59b6"],[39,174,96,"#27ae60"],[230,126,34,"#e67e22"],[142,68,173,"#8e44ad"],[46,204,113,"#2ecc71"],[41,128,185,"#2980b9"],[22,160,133,"#16a085"],[211,84,0,"#d35400"],[44,62,80,"#2c3e50"],[241,196,15,"#f1c40f"],[231,76,60,"#e74c3c"],[26,188,156,"#1abc9c"],[46,204,113,"#2ecc71"],[52,152,219,"#3498db"],[155,89,182,"#9b59b6"],[52,73,94,"#34495e"],[22,160,133,"#16a085"],[39,174,96,"#27ae60"],[44,62,80,"#2c3e50"],[241,196,15,"#f1c40f"],[230,126,34,"#e67e22"],[231,76,60,"#e74c3c"],[236,240,241,"#9b9e9f"],[149,165,166,"#a65d20"]];return e[!1===t?Math.floor(Math.random()*e.length):t]},d.site_icon=function(t){return'<img src="https://www.google.com/s2/favicons?domain='.concat(t,'" width="16" height="16" alt="').concat(t,'" style="vertical-align: -3px;" />')},d.wordpress_postbox_ajax=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"enable",e=jQuery(".postbox .hndle, .postbox .handlediv");"enable"===t?e.on("click",window.postboxes.handle_click):e.off("click",window.postboxes.handle_click)},d.isset=function(t){for(var e=Array.prototype.slice.call(arguments,1),a=0;a<e.length;a++){if(!t||!t.hasOwnProperty(e[a]))return!1;t=t[e[a]]}return!0},d.number_format=function(t,e,a,o){var r;if(null!=t&&isFinite(t))return e||(e=1<(r=t.toString().split(".").length)?r:0),a=a||".",o=o||",",(r=(t=(t=parseFloat(t).toFixed(e)).replace(".",a)).split(a))[0]=r[0].replace(/\B(?=(\d{3})+(?!\d))/g,o),r.join(a);throw new TypeError("number is not valid")},d.set_equal_height=function(t,e){var a=jQuery(t).height(),o=jQuery(e).height(),r=a;a<o&&(e=t,r=o),jQuery(e).css("height",r+"px")},d.Create_Half_PostBox=function(t,e){return'<div class="postbox-container wps-postbox-half '.concat(t,'"><div class="metabox-holder"><div class="meta-box-sortables"> <div class="postbox" id="').concat(e,'"> <div class="inside"></div></div></div></div></div>')},d.isIP=function(t){var e="(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0)";return new RegExp("^".concat(e,"\\.").concat(e,"\\.").concat(e,"\\.").concat(e,"$")).test(t)},d.getLinkParams=function(t){t=(1<arguments.length&&void 0!==arguments[1]&&arguments[1]||window.location.href).match(new RegExp("(?:[?&]"+t+"=)([^&]+)"));return t?t[1]:null},d.sum=function(t){return t.reduce(function(t,e){return t+e},0)},d.sanitize_meta_box_name=function(t){return t.replace(new RegExp("-","g"),"_")},d.get_meta_box_method=function(t){return this.sanitize_meta_box_name(t)+"_meta_box"},d.getMetaBoxKey=function(t){return"wp-statistics-"+t+"-widget"},d.no_meta_box_data=function(){return d._("no_data")},d.error_meta_box_data=function(t){t=JSON.parse(t);return d.isset(t,"message")?t.message:d._("rest_connect")},d.get_meta_box_info=function(t){return t in d.global.meta_boxes?d.global.meta_boxes[t]:[]},d.meta_box_lang=function(t,e){return e in d.global.meta_boxes[t].lang?d.global.meta_boxes[t].lang[e]:""},d.meta_box_inner=function(t){return"#"+d.getMetaBoxKey(t)+" div.inside"},d.meta_box_name_by_id=function(t){return t.split("statistics-").pop().split("-widget")[0]},d.meta_box_button=function(t){var e="#"+d.getMetaBoxKey(t)+" .handle-actions button:first",a=d.get_meta_box_info(t),o="z-index: 9999;position: absolute;top: 1px;",r="right";d.is_active("rtl")&&(r="left"),jQuery("#"+d.getMetaBoxKey(t)+" button[class*=wps-refresh], #"+d.getMetaBoxKey(t)+" button[class*=wps-more]").remove(),d.is_active("more_btn")&&d.isset(a,"page_url")&&jQuery('<button class="handlediv wps-more"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 3%;" '):'style="line-height: 28px;"')+' type="button" onclick="location.href = \''+d.global.admin_url+"admin.php?page="+a.page_url+'\';"><span class="screen-reader-text">'+d._("more_detail")+'</span> <span class="dashicons dashicons-external"></span></button>').insertBefore(e),d.is_active("more_btn")&&d.isset(a,"page_url")?jQuery('<button class="handlediv wps-refresh"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 6%;" '):'style="line-height: 28px;"')+' type="button"><span class="screen-reader-text">'+d._("reload")+'</span> <span class="dashicons dashicons-update"></span> </button>').insertAfter("#"+d.getMetaBoxKey(t)+" button[class*=wps-more]"):jQuery('<button class="handlediv wps-refresh"'+(d.is_active("gutenberg")?' style="'.concat(o).concat(r,': 3%;" '):'style="line-height: 28px;"')+' type="button"><span class="screen-reader-text">'+d._("reload")+'</span> <span class="dashicons dashicons-update"></span> </button>').insertBefore(e)},d.run_meta_box=function(t){var e,a,o=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];d.exist_tag("#"+d.getMetaBoxKey(t))&&(d.is_active("gutenberg")||!d.is_active("gutenberg")&&jQuery("#"+d.getMetaBoxKey(t)).is(":visible"))&&(a=jQuery(d.meta_box_inner(t)),(e=d.get_meta_box_method(t))in d&&("placeholder"in d[e]?a.html(d[e].placeholder()):a.html(d.placeholder()),!0===r&&d.meta_box_button(t),!(a={name:t})!==o&&(a=Object.assign(o,a)),"params"in d[e]&&(a=Object.assign(a,d[e].params())),d.ajaxQ("metabox",a,e,"error_meta_box_data")))},d.run_meta_boxes=function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];(t=!1===t?Object.keys(d.global.meta_boxes):t).forEach(function(t){d.run_meta_box(t)})},jQuery(document).on("mouseenter mouseleave",".wps-refresh, .wps-more",function(t){"mouseenter"===t.type?d.wordpress_postbox_ajax("disable"):d.wordpress_postbox_ajax("enable")}),jQuery(document).on("click",".wps-refresh",function(t){t.preventDefault();var e=jQuery(this).closest(".postbox").attr("id"),t=d.meta_box_name_by_id(e);d.run_meta_box(t,!1,!1),setTimeout(function(){jQuery("#"+e).find(".wps-refresh").blur()},1e3)}),jQuery(document).on("click",'input[type=checkbox][id^="wp-statistics-"][id$="-widget-hide"]',function(){var t;jQuery(this).is(":checked")&&(t=jQuery(this).attr("id"),t=d.meta_box_name_by_id(t),d.run_meta_box(t))}),d.btn_group_chart=function(e){var a,t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o={7:d._("str_week"),30:d._("str_month"),365:d._("str_year")},r=("ago"==t.type&&(a=parseInt(t.days)),'<div class="wps-btn-group"><div class="btn-group" role="group">');return Object.keys(o).forEach(function(t){r+='<button type="button" class="btn '+(t==a?"btn-primary":"btn-default")+'" data-chart-time="'.concat(e,'" data-time="').concat(t,'">').concat(o[t],"</button>")}),r=(r=r+('<button type="button" class="btn '+("between"==t.type?"btn-primary":"btn-default")+'" data-custom-date-picker="'.concat(e,'">').concat(d._("custom"),"</button>"))+"</div></div>")+('<div data-chart-date-picker="'.concat(e,'"')+("ago"==t.type?' style="display:none;"':"")+'><input type="text" size="18" name="date-from" data-wps-date-picker="from" value="'.concat(t.from,'" placeholder="YYYY-MM-DD" autocomplete="off">')+d._("to")+'<input type="text" size="18" name="date-to" data-wps-date-picker="to" value="'.concat(t.to,'" placeholder="YYYY-MM-DD" autocomplete="off"><input type="submit" value="')+d._("go")+'" data-between-chart-show="'.concat(e,'" class="button-primary"><input type="hidden" name="" id="date-from" value="').concat(t.from,'"><input type="hidden" name="" id="date-to" value="').concat(t.to,'"></div>'))},jQuery(document).on("click",".wps-btn-group button",function(){jQuery(".wps-btn-group button").attr("class","btn btn-default"),jQuery(this).attr("class","btn btn-primary")}),jQuery(document).on("click","button[data-custom-date-picker]",function(){jQuery("div[data-chart-date-picker= "+jQuery(this).attr("data-custom-date-picker")+"]").slideDown()}),jQuery(document).on("click","button[data-chart-time]",function(){d.run_meta_box(jQuery(this).attr("data-chart-time"),{ago:jQuery(this).attr("data-time"),"no-data":"no"})}),jQuery(document).on("click","input[data-between-chart-show]",function(){var t=jQuery(this).attr("data-between-chart-show");d.run_meta_box(t,{from:jQuery("div[data-chart-date-picker="+t+"] input[id=date-from]").val(),to:jQuery("div[data-chart-date-picker="+t+"] input[id=date-to]").val(),"no-data":"no"})}),d.browsers_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("browsers",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("browsers")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=10;o++)t=d.random_color(o),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("browsers"),data:e.browsers_value,backgroundColor:a}];if(d.pie_chart(d.chart_id("browsers"),e.browsers_name,r),d.exist_tag("#"+d.getMetaBoxKey("browsers-table"))){["browsers-table","browsers"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("browser"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.browsers_name.length;n++)s+=" <tr><td>".concat(e.browsers_name[n],"</td><td>").concat(0<parseInt(e.browsers_value[n])?"".concat("other"!==e.info.agent[n]?'<a href="'+e.info.visitor_page+"&agent="+e.info.agent[n]+"&from="+e.from+"&to="+e.to+'" target="_blank">':""," ").concat(d.number_format(e.browsers_value[n])," ").concat("other"!==e.info.agent[n]?"</a>":""):e.browsers_value[n],"</td><td>").concat(d.number_format(e.browsers_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("browsers-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside");for(var i="",c=0;c<e.browsers_name.length;c++)0<parseInt(e.browsers_value[c])&&e.info.agent[c]&&(i=(i=(i+='<div class="wps-title-group"><img src="'.concat(e.info.logo[c],'" alt="').concat(e.browsers_name[c],'" style="vertical-align: -3px;"> ').concat(e.browsers_name[c],'</div><div class="wp-clearfix"></div>'))+d.Create_Half_PostBox("postBox-chart-"+e.info.agent[c],"browser-"+e.info.agent[c]+"-chart"))+d.Create_Half_PostBox("postBox-table-"+e.info.agent[c],"browser-"+e.info.agent[c]+"-table")+'<div class="wp-clearfix"></div>');jQuery(i).insertAfter("#browsers-table");for(var l=0;l<e.browsers_name.length;l++)0<parseInt(e.browsers_value[l])&&e.info.agent[l]&&this.run_custom_browser(e.info.agent[l])}},run_custom_browser:function(t){["browser-"+t+"-chart","browser-"+t+"-table"].forEach(function(t){jQuery("#"+t+" .inside").css("height","430px")}),jQuery("#browser-"+t+"-table .inside").html(d.placeholder()),jQuery("#browser-"+t+"-chart .inside").html(d.circle_placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;");var e={name:"browsers",browser:t};["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(e[t]=d.global.request_params[t])}),d.ajaxQ(d.global.meta_box_api,e,"show_custom_agent","error_custom_agent","GET",!1)}},d.show_custom_agent=function(n){var i=n.info.agent[0];jQuery("#browser-"+i+"-chart .inside").html('<canvas id="'+d.chart_id("browser-"+i)+'" height="220"></canvas>'),setTimeout(function(){for(var t,e=[],a=0;a<=10;a++)t=d.random_color(a),e.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");for(var o=[{label:d._("browsers"),data:n.browsers_value,backgroundColor:e}],r=(d.pie_chart(d.chart_id("browser-"+i),n.browsers_name,o),["browser-"+i+"-chart","browser-"+i+"-table"].forEach(function(t){jQuery("#"+t+" .inside").removeAttr("style")}),'<div class="title-center">'.concat(n.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("version_list"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>")),s=0;s<n.browsers_name.length;s++)r+=" <tr><td>".concat(n.browsers_name[s],"</td><td>").concat(0<parseInt(n.browsers_value[s])?d.number_format(n.browsers_value[s]):n.browsers_value[s],"</td><td>").concat(d.number_format(n.browsers_value[s]/n.total*100),"%</td></tr>");r=r+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(n.total),"</td><td></td></tr>")+"</table>",o="#browser-"+i+"-table .inside";jQuery(o).html(r),d.set_equal_height(o,"#browser-"+i+"-chart .inside")},500)},d.error_custom_agent=function(t){},d.countries_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e+='<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td width="10%" style=\'text-align: left\'>'.concat(d._("rank"),"</td><td width=\"10%\" style='text-align: left'>").concat(d._("flag"),"</td><td width=\"40%\" style='text-align: left'>").concat(d._("country"),"</td><td width=\"40%\" style='text-align: left'>").concat(d._("visitor_count"),"</td></tr>"),1);return t.forEach(function(t){e+="<tr><td style='text-align: left;'>".concat(a,"</td><td style='text-align: left;'><img src=\"").concat(t.flag,'" title="').concat(t.name,'" alt="').concat(t.name,"\"/></td><td style='text-align: left;'>").concat(t.name,"</td><td style='text-align: left;'><a href=\"").concat(t.link,'" title="').concat(t.name,'" target="_blank">').concat(d.number_format(t.number),"</a></td></tr>"),a++}),e+="</tbody></table>"}},d.devices_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("devices",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("devices")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("device"),data:e.device_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("devices"),e.device_name,r),d.exist_tag("#"+d.getMetaBoxKey("devices-table"))){["devices-table","devices"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("device"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.device_name.length;n++)s+=" <tr><td>".concat(e.device_name[n],"</td><td>").concat(0<parseInt(e.device_value[n])?'<a href="'+e.info.visitor_page+"&device="+e.device_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.device_value[n])," </a>"):d.number_format(e.device_value[n]),"</td><td>").concat(d.number_format(e.device_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("devices-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.exclusions_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=d.is_active("overview_page")?110:210,e=(d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&(t=80),"");return e+='<canvas id="'+d.chart_id("exclusions")+'" height="'+t+'"></canvas>'},meta_box_init:function(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.show_chart(d.chart_id("exclusions"),e),d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&d.exist_tag(t="span[id='number-total-chart-exclusions']")&&(e=d.sum(Object.values(e.total)),jQuery(t).html(d.number_format(e)))},show_chart:function(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],s="",n=[],i=0;Object.keys(r.exclusions).forEach(function(t){var e,a,o=d.sum(Object.values(r.value[t]));0<o&&(e=r.exclusions[t],a=d.random_color(i),n.push({label:e,data:r.value[t],backgroundColor:"rgba("+a[0]+","+a[1]+","+a[2]+",0.3)",borderColor:"rgba("+a[0]+","+a[1]+","+a[2]+",1)",borderWidth:1,fill:!0,tension:.4}),s+="<tr><th>".concat(e,'</th> <th class="th-center"><span style="color: #9a9494 !important;">').concat(d.number_format(o),"</span></th></tr>"),i++)}),d.exist_tag("table[data-table=exclusions]")&&jQuery(s).insertAfter("table[data-table=exclusions] tr:first"),d.line_chart(t,r.title,r.date,n)}},d.hits_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=d.is_active("overview_page")?110:210,a=(d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&(e=80),"");return d.is_active("overview_page")&&(a+=d.btn_group_chart("hits",t),setTimeout(function(){d.date_picker()},1e3)),a+='<canvas id="'+d.chart_id("hits")+'" height="'+e+'"></canvas>'},meta_box_init:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.hits_chart(d.chart_id("hits"),a),d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&["visits","visitors"].forEach(function(t){var e="span[id^='number-total-chart-"+t+"']";d.exist_tag(e)&&jQuery(e).html(a.total[t])})},hits_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],a=e,e=("hits-chart"in e&&(a=e["hits-chart"]),[]);d.is_active("visitors")&&e.push({label:d._("visitors"),data:a.visitors,backgroundColor:"rgba(255, 99, 132, 0.2)",borderColor:"rgba(255, 99, 132, 1)",borderWidth:1,fill:!0,tension:.4}),d.is_active("visits")&&e.push({label:d._("visits"),data:a.visits,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,fill:!0,tension:.4}),d.line_chart(t,a.title,a.date,e)}},d.hitsmap_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){return'<div id="wp-statistics-visitors-map"></div>'},meta_box_init:function(){var o=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],r=Array();o.hasOwnProperty("country")&&Object.keys(o.country).forEach(function(e){var a="<div class='map-html-marker'><img src='".concat(o.country[e].flag,"' alt=\"").concat(o.country[e].name,"\" title='").concat(o.country[e].name,"' class='log-tools'/> ").concat(o.country[e].name," [").concat(o.total_country[e],"]<hr />");Object.keys(o.visitor[e]).forEach(function(t){a+="<p><img src='".concat(o.visitor[e][t].browser.logo,"' alt=\"").concat(o.visitor[e][t].browser.name,"\" class='log-tools' title='").concat(o.visitor[e][t].browser.name,"'/> ").concat(o.visitor[e][t].ip," ")+("Unknown"!==o.visitor[e][t].city?"- "+o.visitor[e][t].city:"")+"</p>"}),a+="</div>",r[e]=a}),jQuery("#wp-statistics-visitors-map").vectorMap({map:"world_en",backgroundColor:"#fff",borderColor:"#7e7e7e",borderOpacity:.6,color:"#e6e5e2",hoverColor:"#c3403c",colors:o.color,onLabelShow:function(t,e,a){void 0!==r[a]?e.html(r[a]):e.html(e.html()+" [0]<hr />")}})}},d.models_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("models",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("models")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("model"),data:e.model_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("models"),e.model_name,r),d.exist_tag("#"+d.getMetaBoxKey("models-table"))){["models-table","models"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("model"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.model_name.length;n++)s+=" <tr><td>".concat(e.model_name[n],"</td><td>").concat(0<parseInt(e.model_value[n])?'<a href="'+e.info.visitor_page+"&model="+e.model_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.model_value[n])," </a>"):d.number_format(e.model_value[n]),"</td><td>").concat(d.number_format(e.model_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("models-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.pages_chart_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){return'<canvas id="'+d.chart_id("pages-chart")+'" height="80"></canvas>'},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.show_chart(d.chart_id("pages-chart"),t),d.exist_tag("span[id=number-total-visits]")&&jQuery("span[id=number-total-visits]").html(t.total),d.exist_tag("span[id=number-total-chart-visits]")&&jQuery("span[id=number-total-chart-visits]").html(t.total_dates)},show_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];d.line_chart(t,e.title,e.date,[{label:d._("visits"),data:e.stat,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,fill:!0,tension:.4}])}},d.pages_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e+='<table width="100%" class="widefat table-stats wps-report-table wps-table-fixed"><tbody><tr><td width=\'10%\'>'.concat(d._("id"),"</td><td width='40%'>").concat(d._("title"),"</td><td width='40%'>").concat(d._("link"),"</td><td width='10%'>").concat(d._("visits"),"</td></tr>"),1);return t.forEach(function(t){e+="<tr><td style='text-align: left;'>".concat(a,"</td><td style='text-align: left;'><span title='").concat(t.title,"' class='wps-cursor-default wps-text-wrap'>").concat(t.title,"</span></td><td style='text-align: left;'><a href=\"").concat(t.link,'" title="').concat(t.title,'" target="_blank">').concat(t.str_url,'</a></td><td style="text-align: left"><a href="').concat(t.hits_page,'" class="wps-text-muted">').concat(t.number,"</a></td></tr>"),a++}),e+="</tbody></table>"}},d.platforms_meta_box={placeholder:function(){return d.circle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return d.is_active("overview_page")&&(e+=d.btn_group_chart("platforms",t),setTimeout(function(){d.date_picker()},1e3)),e+='<canvas id="'+d.chart_id("platforms")+'" height="220"></canvas>'},meta_box_init:function(){for(var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a=[],o=0;o<=20;o++)t=d.random_color(),a.push("rgba("+t[0]+","+t[1]+","+t[2]+",0.4)");var r=[{label:d._("platform"),data:e.platform_value,backgroundColor:a,tension:.4}];if(d.pie_chart(d.chart_id("platforms"),e.platform_name,r),d.exist_tag("#"+d.getMetaBoxKey("platforms-table"))){["platforms-table","platforms"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").removeAttr("style")});for(var s='<div class="title-center">'.concat(e.title,'</div><table width="100%" class="widefat table-stats"><tr><td class="wps-text-muted">').concat(d._("platform"),'</td><td class="wps-text-muted">').concat(d._("visitor_count"),'</td><td class="wps-text-muted">').concat(d._("percentage"),"</td></tr>"),n=0;n<e.platform_name.length;n++)s+=" <tr><td>".concat(e.platform_name[n],"</td><td>").concat(0<parseInt(e.platform_value[n])?'<a href="'+e.info.visitor_page+"&platform="+e.platform_name[n]+"&from="+e.from+"&to="+e.to+'" target="_blank"> '.concat(d.number_format(e.platform_value[n])," </a>"):d.number_format(e.platform_value[n]),"</td><td>").concat(d.number_format(e.platform_value[n]/e.total*100),"%</td> </tr>");s=s+" <tr><td>".concat(d._("total"),"</td><td>").concat(d.number_format(e.total),"</td><td></td></tr>")+"</table>",jQuery("#"+d.getMetaBoxKey("platforms-table")+" .inside").html(s),d.set_equal_height(".postBox-table .inside",".postBox-chart .inside")}}},d.post_meta_box={params:function(){return{ID:d.global.page.ID}},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return(t.hasOwnProperty("content")?'<div class="wps-center" style="padding: 15px;"> '+t.content+"</div>":'<canvas id="'+d.chart_id("post")+'" height="85"></canvas>')+'<div class="wps-wrap wps-meta-box-footer">'+t.visitors+"</div>"},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];t.hasOwnProperty("content")?jQuery("#"+d.getMetaBoxKey("post")+" button[onclick]").remove():this.post_hits_chart(d.chart_id("post"),t)},post_hits_chart:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];d.line_chart(t,e.title,e.date,[{label:e.post_title,data:e.state,backgroundColor:"rgba(255, 99, 132, 0.2)",borderColor:"rgba(255, 99, 132, 1)",borderWidth:1,fill:!0,tension:.4}])}},d.quickstats_meta_box={view:function(){var t="";return(t+='<table width="100%" class="widefat table-stats wps-summary-stats"><tbody>')+d.summary_meta_box.summary_statistics(0<arguments.length&&void 0!==arguments[0]?arguments[0]:[])+"</tbody></table>"+'<br><hr width="80%"/><br>'+('<canvas id="'+d.chart_id("quickstats")+'" height="210"></canvas>')},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];d.hits_meta_box.hits_chart(d.chart_id("quickstats"),t)}},d.recent_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("browser"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("country"),"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("date"),"</td><td>").concat(d._("hits"),"</td><td>").concat(d._("ip"),"</td><td>").concat(d._("referrer"),"</td></tr>"));return t.forEach(function(t){e+='<tr><td style="text-align: left"><a href="'.concat(t.browser.link,'" title="').concat(t.browser.name,'"><img src="').concat(t.browser.logo,'" alt="').concat(t.browser.name,"\" class='log-tools' title='").concat(t.browser.name,"'/></a></td>")+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(t.city,"</td>"):"")+'<td style="text-align: left">'.concat(t.date,'</td><td style="text-align: left">').concat(t.hits,'</td><td style="text-align: left">')+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+'</td><td style="text-align: left">'.concat(t.referred,"</td></tr>")}),e=e+"</tbody></table>"+"</div>"}},d.referring_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return e+='<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td width="80%">'.concat(d._("address"),'</td><td width="20%">').concat(d.meta_box_lang("referring","references"),"</td></tr>"),t.forEach(function(t){e+="<tr><td>"+d.site_icon(t.domain)+" <a href='//".concat(t.domain,"' title='").concat(t.title,'\' target="_blank">').concat(t.domain,"</a><span class='wps-cursor-default wps-referring-widget-ip'")+(2<t.country.length?' title="'.concat(t.country,'"'):"")+">".concat(t.ip,'</span></td><td class="wps-middle-vertical"><a href="').concat(t.page_link,'">').concat(t.number,"</a></td></tr>")}),e+="</tbody></table>"}},d.search_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=d.is_active("overview_page")?110:210,a=(d.isset(d.global,"request_params","page")&&"searches"===d.global.request_params.page&&(e=80),"");return d.is_active("overview_page")&&(a+=d.btn_group_chart("search",t),setTimeout(function(){d.date_picker()},1e3)),a+='<canvas id="'+d.chart_id("search")+'" height="'+e+'"></canvas>'},meta_box_init:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],o=[],r=0;Object.keys(a["search-engine"]).forEach(function(t){var t=a["search-engine"][t].name,e=d.random_color(r);o.push({label:t,data:a.stat[t],backgroundColor:"rgba("+e[0]+","+e[1]+","+e[2]+",0.3)",borderColor:"rgba("+e[0]+","+e[1]+","+e[2]+",1)",borderWidth:1,fill:!0,tension:.4}),r++}),1===a.total.active&&o.push({label:d._("total"),data:a.total.stat,backgroundColor:"rgba("+a.total.color+", 0.2)",borderColor:"rgba("+a.total.color+", 1)",borderWidth:1,fill:!0,tension:.4}),d.line_chart(d.chart_id("search"),a.title,a.date,o)}},d.summary_meta_box={summary_statistics:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],o="";if(a.user_online&&(o="<tr><th>".concat(d._("online_users"),':</th><th colspan="2" id="th-colspan"><span><a href="').concat(a.user_online.link,'">').concat(a.user_online.value,"</a></span></th></tr>")),d.is_active("visitors")||d.is_active("visits")){o+='<tr><th width="60%"></th>',["visitors","visits"].forEach(function(t){o+='<th class="th-center">'+(d.is_active(t)?d._(t):"")+"</th>"}),o+="</tr>";for(var r=["today","yesterday","week","month","year","total"],t=0;t<r.length;t++)!function(e){o+="<tr><th>".concat(d._(r[e]),": </th>"),["visitors","visits"].forEach(function(t){o+='<th class="th-center">'+(d.is_active(t)?'<a href="'.concat(a[t][r[e]].link,'"><span>').concat(a[t][r[e]].value,"</span></a>"):"")+"</th>"}),o+="</tr>"}(t)}return o},view:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],a="",a=(a+='<table width="100%" class="widefat table-stats wps-summary-stats"><tbody>')+this.summary_statistics(e);return d.is_active("visitors")&&(a=(a+='<tr><th colspan="3"><br><hr></th></tr>')+'<tr><th colspan="3" style="text-align: center;">'.concat(d.meta_box_lang("summary","search_engine"),'</th></tr><tr><th width="60%"></th><th class="th-center">').concat(d._("today"),'</th><th class="th-center">').concat(d._("yesterday"),"</th></tr>"),Object.keys(e["search-engine"]).forEach(function(t){a+='<tr><th><img src="'.concat(e["search-engine"][t].logo,'" alt="').concat(e["search-engine"][t].name,'" class="wps-engine-logo"> ').concat(e["search-engine"][t].name,':</th><th class="th-center"><span>').concat(e["search-engine"][t].today,'</span></th><th class="th-center"><span>').concat(e["search-engine"][t].yesterday,"</span></th></tr>")}),a+="<tr><th>".concat(d._("daily_total"),':</th><td id="th-colspan" class="th-center"><span>').concat(e["search-engine-total"].today,'</span></td><td id="th-colspan" class="th-center"><span>').concat(e["search-engine-total"].yesterday,"</span></td></tr><tr><th>").concat(d._("total"),':</th><th colspan="2" id="th-colspan"><span>').concat(e["search-engine-total"].total,"</span></th></tr>")),a=a+' <tr><th colspan="3"><br><hr></th></tr><tr><th colspan="3" style="text-align: center;">'.concat(d.meta_box_lang("summary","current_time_date"),'<span id="time_zone"><a href="').concat(e.timezone["option-link"],'"> ').concat(d.meta_box_lang("summary","adjustment"),'</a></span></th></tr><tr><th colspan="3">').concat(d._("date"),': <code dir="ltr">').concat(e.timezone.date,'</code></th></tr><tr> <th colspan="3">').concat(d._("time"),': <code dir="ltr">').concat(e.timezone.time,"</code></th></tr>")+"</tbody></table>"}},d.top_pages_chart_meta_box={placeholder:function(){return d.rectangle_placeholder()},view:function(){var t="";return setTimeout(function(){d.date_picker()},1e3),t+='<canvas id="'+d.chart_id("top-pages-chart")+'" height="80"></canvas>'},meta_box_init:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];this.top_pages_chart(d.chart_id("top-pages-chart"),t)},top_pages_chart:function(t){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],o=[],r=0;Object.keys(a.stat).forEach(function(t){var e=d.random_color(r);o.push({label:t,data:a.stat[t],backgroundColor:"rgba("+e[0]+","+e[1]+","+e[2]+",0.3)",borderColor:"rgba("+e[0]+","+e[1]+","+e[2]+",1)",borderWidth:1,fill:!0,tension:.4}),r++}),d.line_chart(t,a.title,a.date,o)}},d.top_visitors_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="",a=(e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("rank"),"</td><td>").concat(d._("hits"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("flag"),"</td><td>").concat(d._("country"),"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("ip"),"</td><td>").concat(d._("agent"),"</td><td>").concat(d._("platform"),"</td><td>").concat(d._("version"),"</td></tr>")),1);return t.forEach(function(t){e+="<tr><td>".concat(a,"</td><td>").concat(t.hits,"</td>")+(d.is_active("geo_ip")?"<td><img src='".concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td><td>").concat(t.country.name,"</td>"):"")+""+(d.is_active("geo_city")?"<td>".concat(t.city,"</td>"):"")+"<td>"+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+"</td><td>".concat(t.agent,"</td><td>").concat(t.platform,"</td><td>").concat(t.version,"</td></tr>"),a++}),e=e+"</tbody></table>"+"</div>"}},d.useronline_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";return e+='<table class="widefat table-stats wps-report-table wps-table-fixed"><tr>'+(d.is_active("geo_ip")?"<td style='text-align: left;'>".concat(d._("country"),"</td>"):"")+"<td style='text-align: left;'>".concat(d._("ip"),"</td><td width=\"35%\" style='text-align: left;'>").concat(d._("page"),"</td><td style='text-align: left;'>").concat(d._("referrer"),"</td></tr>"),t.forEach(function(t){e+="<tr>"+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+"<td style='text-align: left !important'>"+(t.hash_ip||t.ip.value)+"</td><td style='text-align: left !important;'><span class=\"wps-text-wrap\">"+(2<t.page.link.length?'<a href="'.concat(t.page.link,'" title="').concat(t.page.title,'" target="_blank" class="wps-text-muted">'):"")+t.page.title+(2<t.page.link.length?"</a>":"")+'</span></td><td style="text-align: left !important">'.concat(t.referred,"</td></tr>")}),e+="</table>"}},d.words_meta_box={view:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e="";e=(e+='<div class="wp-statistics-responsive-table">')+('<table width="100%" class="widefat table-stats wps-report-table"><tbody><tr><td>'.concat(d._("word"),"</td><td>").concat(d._("browser"),"</td>")+(d.is_active("geo_ip")?"<td>".concat(d._("country"),"</td>"):""))+""+(d.is_active("geo_city")?"<td>".concat(d._("city"),"</td>"):"")+"<td>".concat(d._("date"),"</td><td>").concat(d._("ip"),"</td><td>").concat(d._("referrer"),"</td></tr>");return t.forEach(function(t){e+='<tr><td style="text-align: left"><span title=\''.concat(t.word,"' class='wps-cursor-default wps-text-wrap")+(d.is_active("overview_page")?" wps-200-px":"")+"'>".concat(t.word,'</span></td><td style="text-align: left"><a href="').concat(t.browser.link,'" title="').concat(t.browser.name,'"><img src="').concat(t.browser.logo,'" alt="').concat(t.browser.name,"\" class='log-tools' title='").concat(t.browser.name,"'/></a></td>")+(d.is_active("geo_ip")?'<td style="text-align: left"><img src=\''.concat(t.country.flag,"' alt='").concat(t.country.name,"' title='").concat(t.country.name,"' class='log-tools'/></td>"):"")+(d.is_active("geo_city")?'<td style="text-align: left">'.concat(t.city,"</td>"):"")+'<td style="text-align: left">'.concat(t.date,'</td><td style="text-align: left">')+(t.hash_ip||"<a href='".concat(t.ip.link,"'>").concat(t.ip.value,"</a>"))+'</td><td style="text-align: left">'.concat(t.referred,"</td></tr>"),0}),e=e+"</tbody></table>"+"</div>"}},d.isset(d.global,"request_params","page")&&"authors"===d.global.request_params.page&&(a={ago:30,type:"author",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(a[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",a,!1)),d.isset(d.global,"request_params","page")&&"browser"===d.global.request_params.page&&(o={},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(o[t]=d.global.request_params[t])}),["browsers-table","browsers"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").css("height","430px")}),jQuery("#wp-statistics-browsers-table-widget .inside").html(d.placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;"),d.run_meta_box("browsers",o,!1)),d.isset(d.global,"request_params","page")&&"categories"===d.global.request_params.page&&(r={ago:30,type:"category",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(r[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",r,!1)),d.isset(d.global,"request_params","page")&&"countries"===d.global.request_params.page&&(s={limit:0},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(s[t]=d.global.request_params[t])}),d.run_meta_box("countries",s,!1)),d.isset(d.global,"request_params","page")&&"exclusions"===d.global.request_params.page&&(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},jQuery("span[id^='number-total-chart-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("exclusions",t,!1)),d.isset(d.global,"request_params","page")&&"hits"===d.global.request_params.page&&(t={},t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},jQuery("span[id^='number-total-chart-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("hits",t,!1)),d.isset(d.global,"request_params","page")&&"overview"===d.global.request_params.page&&d.isset(d.global,"overview","ads")&&d.is_active("overview_ads")&&(t='<div id="wps_overview_ads_postbox" class="postbox"><div class="inside"><div class="close-overview-ads"><span class="dashicons dashicons-dismiss"></span></div><a href="'.concat(d.global.overview.ads.link,"?utm_source=").concat(window.location.origin,'" title="').concat(d.global.overview.ads.title,'" ').concat("yes"==d.global.overview.ads._target?' target="_blank"':"",'><img src="').concat(d.global.overview.ads.image,'" id="wps_overview_ads_image" alt="').concat(d.global.overview.ads.title,'"></a></div></div>'),jQuery(t).insertAfter("#wps-postbox-container-2 #normal-sortables div.postbox:first"),jQuery(document).on("click",".close-overview-ads",function(){jQuery("#wps_overview_ads_postbox").fadeOut("normal"),jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"get",data:{action:"wp_statistics_close_overview_ads",ads_id:""+d.global.overview.ads.ID,wps_nonce:""+d.global.rest_api_nonce},datatype:"json"})}),jQuery("#wps-donate-notice").on("click",".notice-dismiss",function(){jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"get",data:{action:"wp_statistics_close_notice",notice:"donate",wps_nonce:""+d.global.rest_api_nonce},datatype:"json"})}),jQuery("#wps_overview_ads_image").on("error",function(){jQuery("#wps_overview_ads_postbox").remove()})),d.isset(d.global,"request_params","page")&&"pages"===d.global.request_params.page&&(d.isset(d.global,"request_params","ID")&&d.isset(d.global,"request_params","type")?(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},t=Object.assign(t,{ID:d.global.request_params.ID,type:d.global.request_params.type}),d.run_meta_box("pages-chart",t,!1),d.exist_tag("form#wp-statistics-select-pages")&&d.select2(),jQuery(document).on("change","select[name=ID]",function(){jQuery("span.submit-form").html(d._("please_wait")),jQuery(this).closest("form").trigger("submit")})):(t={},d.isset(d.global,"request_params","pagination-page")&&(t.paged=d.global.request_params["pagination-page"]),d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?(t.from=d.global.request_params.from,t.to=d.global.request_params.to):t.ago=30,d.run_meta_box("top-pages-chart",t,!1))),d.isset(d.global,"request_params","page")&&"platform"===d.global.request_params.page&&(n={},["from","to"].forEach(function(t){d.isset(d.global,"request_params",t)&&(n[t]=d.global.request_params[t])}),["platforms-table","platforms"].forEach(function(t){jQuery("#"+d.getMetaBoxKey(t)+" .inside").css("height","430px")}),jQuery("#wp-statistics-platforms-table-widget .inside").html(d.placeholder()),jQuery(".wps-ph-picture").attr("style","height: 310px;"),d.run_meta_box("platforms",n,!1)),d.isset(d.global,"request_params","page")&&"searches"===d.global.request_params.page&&(t=d.isset(d.global,"request_params","from")&&d.isset(d.global,"request_params","to")?{from:d.global.request_params.from,to:d.global.request_params.to}:{ago:30},d.run_meta_box("search",t,!1)),jQuery(".wp-statistics-settings").length&&((t=function(t){if(t=new RegExp("[?&]"+t+"=([^&#]*)").exec(window.location.href))return t[1]}("tab"))&&u(t),jQuery(".wp-statistics-settings ul.tabs li").click(function(){u(jQuery(this).attr("data-tab"))})),p("input[name=wps_visitors]","tr[data-view=visitors_log_tr]"),p("input[name=wps_referrerspam]","tr.referrerspam_field"),d.isset(d.global,"request_params","page")&&"settings"===d.global.request_params.page&&(jQuery("#wp-statistics-settings-form ul.tabs li").click(function(t){t.preventDefault();t=e(this).attr("data-tab");"undefined"!=typeof localStorage&&localStorage.setItem("wp-statistics-settings-active-tab",t)}),"undefined"!=typeof localStorage&&d.isset(d.global,"request_params","save_setting")&&"yes"===d.global.request_params.save_setting&&(t=localStorage.getItem("wp-statistics-settings-active-tab"))&&0<t.length&&e("#wp-statistics-settings-form ul.tabs li[data-tab="+t+"]").click()),d.isset(d.global,"request_params","page")&&"tags"===d.global.request_params.page&&(i={ago:30,type:"post_tag",ID:0},["from","to","ID"].forEach(function(t){d.isset(d.global,"request_params",t)&&(i[t]=d.global.request_params[t])}),jQuery("span[id^='number-total-']").html(d.rectangle_placeholder("wps-text-placeholder")),d.run_meta_box("pages-chart",i,!1)),d.isset(d.global,"request_params","page")&&"visitors"===d.global.request_params.page&&(c=function(t,o){var r='<table class="widefat">',s={browsers:["agent","browsers"],country:["location","location"],platform:["platform","platform"],referrer:["referrer","referrer"],user:["user_id","users"]},e=(Object.keys(s).forEach(function(e){r=(r=(r+="<tr><td>".concat(d._(e),"</td></tr>"))+'<tr><td><select name="'.concat(s[e][0],'" class="select2 wps-width-100" data-type-show="select2">'))+"<option value=''>".concat(d._("all"),"</option>");var a=d.getLinkParams(s[e][0]);Object.keys(o[s[e][1]]).forEach(function(t){r+="<option value='".concat(t,"' ").concat(null!=a&&a==t?"selected":"",">").concat(o[s[e][1]][t],"</option>")}),r+="</select></td></tr>"}),"width: calc(50% - 5px);display: inline-block;"),r=(r=(r=(r=(r+="<tr><td>".concat(d._("ip"),"</td></tr>"))+'<tr><td><input name="ip" value="'.concat(null!=d.getLinkParams("ip")?d.getLinkParams("ip"):"",'" class="wps-width-100" placeholder=\'xxx.xxx.xxx.xxx\' autocomplete="off"></td></tr>'))+"<tr><td>".concat(d._("date"),"</td></tr>"))+'<tr><td><div style="'.concat(e,'">').concat(d._("from"),': <input name="date-from" data-wps-date-picker="from" value="').concat(null!=d.getLinkParams("from")?d.getLinkParams("from"):"",'" style="width: calc(100% - 5px);" placeholder="YYYY-MM-DD" autocomplete="off"></div><div style="').concat(e,'">').concat(d._("to"),': <input name="date-to" data-wps-date-picker="to" value="').concat(null!=d.getLinkParams("to")?d.getLinkParams("to"):"",'" style="width: 100%;" placeholder="YYYY-MM-DD" autocomplete="off"></div><input type="hidden" name="from" id="date-from" value="').concat(null!=d.getLinkParams("from")?d.getLinkParams("from"):"",'"><input type="hidden" name="to" id="date-to" value="').concat(null!=d.getLinkParams("to")?d.getLinkParams("to"):"",'"></td></tr>')+"<tr><td></td></tr>")+'<tr><td><input type="submit" value="'.concat(d._("filter"),'" class="button-primary"> &nbsp; <span class="filter-loading"></span></td></tr>')+"</table>";jQuery(t).html(r),setTimeout(function(){d.date_picker(),d.select2()},200)},jQuery(document).on("click","div#visitors-filter",function(t){t.preventDefault(),tb_show("","#TB_inline?&width=430&height=668&inlineId=visitors-filter-popup"),setTimeout(function(){var t,e,a="#wps-visitors-filter-form";d.exist_tag(a+" input[type=submit]")||(jQuery(a).html('<div style="height: 50px;"></div>'+d.line_placeholder(5)),t=localStorage.getItem("wp-statistics-visitors-filter")?JSON.parse(localStorage.getItem("wp-statistics-visitors-filter")):{},!d.isset(t,"timestamp")||!d.isset(t,"value")||d.isset(t,"timestamp")&&d.isset(t,"value")&&(new Date).getTime().toString()>parseInt(t.timestamp)?(e={wps_nonce:d.global.rest_api_nonce,action:"wp_statistics_visitors_page_filters"},e=Object.assign(e,d.global.request_params),jQuery.ajax({url:d.global.admin_url+"admin-ajax.php",type:"GET",dataType:"json",data:e,timeout:3e4,success:function(t){localStorage.setItem("wp-statistics-visitors-filter",JSON.stringify({value:t,timestamp:(new Date).getTime()+216e5})),c(a,t)},error:function(t,e,a){jQuery("span.tb-close-icon").click()}})):c(a,t.value))},500)}),l="#wp_statistics_visitors_filter_form",jQuery(document).on("submit",l,function(){var t=jQuery(l+" input[name=date-from]"),e=jQuery(l+" input[name=date-to]");if(0<t.val().length&&e.val().length<1||t.val().length<1&&1<e.val().length)return alert(d._("er_datepicker")),!1;t=jQuery(l+" input[name=ip]").val();if(0<t.length&&!1===d.isIP(t))return alert(d._("er_valid_ip")),!1;jQuery("input[data-wps-date-picker]").prop("disabled",!0);var o={input:["date-from","date-to","ip"],select:["agent","platform","location","referrer","user_id"]},e=(Object.keys(o).forEach(function(a){o[a].forEach(function(e){var t=jQuery(l+" "+a+"[name="+e+"]");t.val().length<1&&(t.prop("disabled",!0),["from","to"].forEach(function(t){e=="date-"+t&&jQuery(l+" input[name="+t+"]").prop("disabled",!0)}))})}),d.getLinkParams("order"));return null!=e&&jQuery(this).append('<input type="hidden" name="order" value="'+e+'" /> '),jQuery("span.filter-loading").html(d._("please_wait")),!0})),d.date_picker(),("index.php"===d.global.page.file||d.is_active("overview_page")||"post-new.php"===d.global.page.file||"post.php"===d.global.page.file&&d.isset(d.global,"page","ID"))&&d.run_meta_boxes()});
changelog-old.txt ADDED
@@ -0,0 +1,888 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ == Changelog ==
2
+ = 10.0 =
3
+ * Release Date: January 15, 2016
4
+ * Added: Widgets now support reloading on overview and dashboard screen.
5
+ * Updated: Overview screen now loads widgets dynamically to reduce memory usage.
6
+ * Updated: Dashboard widgets now load dynamically.
7
+ * Updated: Enabling dashboard widgets now no longer require a page load to display the contents.
8
+ * Updated: Replaced the old eye icon and "more..." link on the right of the title on the overview widgets with a new icon on the right beside the open/close icon.
9
+ * Fixed: Removed extraneous single quote in SQL statement on referrers page, thanks jhertel.
10
+ * Fixed: Order of parameters in referrers page when viewing individual referrers was incorrect and resulted in a blank list.
11
+ * Fixed: UpdatedSQL for last post date detection to order by post_date instead of ID as someone could enter a date in the past for their publish date. Thanks PC1271 for the fix.
12
+ * Fixed: The referrers widget would only select the first 100k records due to a limit in PHP/MySQL, it will now select all records.
13
+ * Removed: Widget selection and ordering from the settings page, the "Screen Options" tab can now be used on the enabled/disable widgets and drag and drop will remember their location.
14
+ * Removed: Overview page memory usage in the optimization page as it is no longer relevant.
15
+
16
+ = 9.7 =
17
+ * Release Date: December 30, 2015
18
+ * Added: A date range to the referrers page.
19
+ * Added: A Date range selector to browsers page.
20
+ * Updated: General SQL cleanups.
21
+ * Updated: browscap library to 2.1.1.
22
+ * Updated: GeoIP library to 2.3.3.
23
+ * Updated: phpUserAgent library to 0.5
24
+
25
+ = 9.6.6 =
26
+ * Release Date: November 1, 2015
27
+ * Updated: Use timezone corrected dates for date pickers.
28
+ * Updated the get_ip code to return 127.0.0.1 if no IP address is found (can happen when a user runs WordPress from a command line function, like when setting up a scheduled cron job).
29
+ * Fixed: Several security related updates, thanks CodeV.
30
+
31
+ = 9.6.5 =
32
+ * Release Date: September 18, 2015
33
+ * Updated: Updated support libraries, including browscap (2.0.5) and GeoIP (webservices).
34
+ * Updated: The hits column in the post/pages list no longer requires manage permissions but instead view permission.
35
+ * Fixed: New browscap.ini format was causing fatal errors in certain circumstances.
36
+ * Fixed: Missing close tag on the summary widget's users online link.
37
+ * Fixed: When purging data an incorrect column name was used when updating the historical table.
38
+
39
+ = 9.6.4 =
40
+ * Release Date: September 15, 2015
41
+ * Updated: Support new browscap.ini file format.
42
+
43
+ = 9.6.3 =
44
+ * Release Date: September 11, 2015
45
+ * Updated: The database update nag link to the optimization page instead of the settings page.
46
+ * Updated: Handle the case where the downloads haven't happened yet.
47
+ * Fixed: In some cases the extenrals tab would show the wrong date for the next scheduled update.
48
+ * Fixed: In some cases the Piwik and other features may not be enabled even when the checkboxes were selected.
49
+ * Fixed: If no page id was passed in on the pagestats shortcode the wrong default for page id would be used and no stats would be displayed.
50
+
51
+ = 9.6.2 =
52
+ * Release Date: September 5, 2015
53
+ * Added: Search table to the empty table list.
54
+ * Added: Search table size to the optimization page.
55
+ * Added: Updated SQL calls to the pages table to use $wpdb->prepare() to protect against SQL inject attacks.
56
+ * Fixed: Check of $wp_roles type as it is an object and not an array which caused only admins to be able to view the statistics.
57
+ * Fixed: Top referring only displayed search engines.
58
+ * Updated: Layout of the maintenance tab.
59
+
60
+ = 9.6.1 =
61
+ * Release Date: September 4, 2015
62
+ * Fixed: Error with undeclared global $WP_Statistics when updating the database.
63
+ * Added: Re-validation of the current database updates required when loading the optimization page.
64
+
65
+ = 9.6 =
66
+ * Release Date: September 3, 2015
67
+ * Added: New admin notices for if the database requires updates.
68
+ * Added: Page/post id field to pagestats shortcode.
69
+ * Added: Ask.com to search engine list, disabled by default.
70
+ * Fixed: Display of the dashboard referrers widget.
71
+ * Fixed: incorrect table name when dropping the old 'AString' field.
72
+ * Fixed: Error message if the global $wp_roles hadn't been set when we accessed it.
73
+ * Fixed: When exporting, no data was exported.
74
+ * Fixed: When excluding countries, multiple entries would not be parsed correctly.
75
+ * Updated: Purging code now includes the search table.
76
+ * Updated: Search conversion code to limit the number of records retreived to 10000 and then loop through them to ensure we don't run out of memory during the conversion process.
77
+ * Updated: Cleaned up the admin notices code.
78
+ * Updated: Persian translation. Thanks Ali Zeinali.
79
+
80
+ = 9.5.3 =
81
+ * Release Date: August 19, 2015
82
+ * Added: More robust error reporting if a plugin table is missing.
83
+ * Added: Support to export the search table.
84
+ * Fixed: The install script for older versions of MySQL (5.0.x).
85
+ * Fixed: Export script no longer generates errors when exporting an empty table.
86
+ * Fixed: WP_Debug error on $crawler when it was an object but didn't have the right properties (aka wasn't the right object).
87
+ * Fixed: Sidebar widget works again in WordPress 4.3.
88
+
89
+ = 9.5.2 =
90
+ * Release Date: August 8, 2015
91
+ * Fixed: XSS issue with top-referrers page, thanks Swift Security (http://swiftsecurity.swte.ch/).
92
+ * Updated: If the GeoIP code is disabled, the warning message was pointing to the old GeoIP tab instead of the new Externals tab.
93
+ * Updated: French translation.
94
+
95
+ = 9.5.1 =
96
+ * Release Date: August 4, 2015
97
+ * Fixed: Issue with verifying the WP-Statistics tables exist on databases with hyphens in their names.
98
+ * Updated: Arabic translation.
99
+
100
+ = 9.5 =
101
+ * Release Date: August 3, 2015
102
+ * Added: Referrer Spam exclusions using the Piwik Referrer Spam Blacklist (see Statistics->Settings->Externals to enable).
103
+ * Added: Code to remove 'AString' column if it exists in the visitors table during upgrades (bug in a older previous version of WP-Statistics erroneously created it).
104
+ * Fixed: Duplicate key name warning during upgrades for 'date_ip_agent' index.
105
+ * Fixed: Warning on 'date_ip' index does not exist when trying to drop it during upgrades.
106
+ * Updated: Storing of search engine/words data is now in it's own table for better performance.
107
+ * Updated: Combined the GeoIP and browscap tabs in settings in to the Externals tab.
108
+ * Updated: GeoIP library to V 2.3.1.
109
+
110
+ = 9.4.1 =
111
+ * Release Date: July 9, 2015
112
+ * Fixed: SQL injection security issue for users with access to the admin pages.
113
+ * Fixed: Bug in code to save new "Treat corrupt browser info as a bot" setting.
114
+ * Fixed: Bug in scheduled data pruge code that would not append the correct table prefix.
115
+ * Updated: Admin manual.
116
+
117
+ = 9.4 =
118
+ * Release Date: July 3, 2015
119
+ * Added: Date selector to top visitors page.
120
+ * Added: Option to exclude WordPress's "Not Found" page from the statistics.
121
+ * Added: Option to treat corrupt http header information as bots (missing IP addresses or user agents).
122
+ * Added: New robots to list; 007ac9, 5bot, advbot, alphabot, anyevent, blexbot, bubing, cliqzbot, dl2bot, duckduckgo, EveryoneSocialBot, findxbot, glbot, linkapediabot, ltx71, mediabot, medialbot, monobot, OrangeBot, owler, pageanalyzer, porkbun, pr-cy, pwbot, r4bot, revip, riddler, rogerbot, sistrix, SputnikBot, u2bot, uni5download, unrulymedia, wsowner, wsr-agent, x100bot and xzybot
123
+ * Fixed: Make sure the admin bar only appears for users that have read/manage permissions in WP-Statistics.
124
+ * Updated: Split the access and exclusions tabs in settings.
125
+
126
+ = 9.3.1 =
127
+ * Release Date: May 15, 2015
128
+ * Fixed: Typo in options name that caused the visitors map to never be displayed.
129
+
130
+ = 9.3 =
131
+ * Release Date: May 15, 2015
132
+ * Added: Shortcode UI (aka ShortCake) support.
133
+ * Added: Donation menu and dismissble banner on the overview page.
134
+ * Added: Applebot, Superfeedr, jetmon, sfFeedReader and feedzirra to the robots list.
135
+ * Added: Summary postbox on hit statistics page.
136
+ * Added: Summary postbox on exclusions page.
137
+ * Added: Date range selector on top countries page.
138
+ * Added: Purge data based on visitor's hit count on the optimization page.
139
+ * Added: Option to purge data based on visitor's hit count on a daily basis.
140
+ * Added: Option to record the page title for search referrals that do not contain a query value.
141
+ * Updated: Moved all ajax and pseudo ajax calls to use the standard WordPress ajax and init routines instead of using wp-load.php.
142
+ * Updated: Widgets and pages will only be displayed if the associated statistics is being collected, for example the search engine referrals will only be displayed if the visitor tracking option is enabled.
143
+ * Fixed: Typo in variable name for one of the dashboard widgets.
144
+ * Fixed: PHP error when the $browser object wasn't an object when we checked the crawler property.
145
+ * Fixed: Incorrect parameter for get_option() on two option in the settings page.
146
+ * Fixed: Widget's didn't translate correctly.
147
+
148
+ = 9.2 =
149
+ * Release Date: April 26, 2015
150
+ * Added: Date range selector for charts now supports arbitrary date ranges with JavaScript date selector.
151
+ * Added: If the site is using the blogroll for the homepage, use the blog title as the page name instead of leaving it blank.
152
+ * Updated: How country codes are loaded for dashboard, widgets and pages.
153
+ * Fixed: Incorrect URL in the admin manual.
154
+ * Fixed: WP_DEBUG warning if formatting was not specified in the short code.
155
+
156
+ = 9.1.3 =
157
+ * Release Date: April 14, 2015
158
+ * Added: Quick link to summary stats.
159
+ * Added: Escaped text fields in the settings page with htmlentities() to protect against rouge administrators hijacking other admin sessions, thanks Kaustubh.
160
+ * Fixed: Exclusions page had duplicate quotation marks in some JavaScript fields causing errors.
161
+ * Fixed: Display of last_counter that is already set to the correct date and doesn't need to be adjusted for timezone.
162
+
163
+ = 9.1.2 =
164
+ * Release Date: March 20, 2015
165
+ * Fixed: Removed spurious comma in SQL creation script for Visits table, thanks kitchin.
166
+
167
+ = 9.1.1 =
168
+ * Release Date: March 19, 2015
169
+ * Fixed: Verify the $display settings return an array before using it as an array to avoid warning on overview page.
170
+
171
+ = 9.1 =
172
+ * Release Date: March 18, 2015
173
+ * Added: Unique index requirement on visits table to avoid race condition creating duplicate entires.
174
+ * Added: Option to the optimization page to remove duplicates and add new unique index to visits table on existing installs.
175
+ * Updated: Translations, thanks to all of our translators!
176
+ * Updated: Cleanup of some WP Debug warnings.
177
+ * Fixed: JavaScript postboxes call was currupted on some pages causing a javascript error.
178
+ * Fixed: Change html encode to jason_ecnode for data to be used in javascript to avoid single quotes as part of the translation breaking the javascript array, this change now fixes extended character display in the JavaScript charts.
179
+ * Fixed: Verify $WP_Statistics is an object before using it, which was causing a fatal error on some installs.
180
+ * Removed: Redudnent e modifier in preg_replace_callback to avoid php warning message.
181
+
182
+ = 9.0 =
183
+ * Release Date: March 12, 2015
184
+ * Added: URL exclusions option.
185
+ * Added: Swedish translation, thanks ronneborn.
186
+ * Added: Kurdish (Sorani) translation, thanks sardar4it.
187
+ * Added: Daily wp cron job to create an entry in the visits table for the next day to avoid a race condition.
188
+ * Updated: The visits code now uses a SQL UPDATE instead of WP's update() to avoid a race condition.
189
+ * Updated: Performance improvements in the last visitors page.
190
+ * Updated: Performance improvements in the referrers page.
191
+ * Updated: Added missing dash_icon call in online users page.
192
+ * Updated: Make sure the $wp_object global variable is an object before using it, just in case, in the hits code.
193
+ * Updated: Make sure the $wp_query global variable is an object before using it, just in case, in the hits code.
194
+ * Updated: Removed variables from i18n functions for better translation support.
195
+ * Updated: Removed requirement for date_default_timezone_set() which conflicted with some other plugins.
196
+ * Updated: Make sure to html encode data to be used in javascript to avoid single quotes as part of the translation breaking the javascript array.
197
+ * Updated: Change summary widget to be clearer about time frames.
198
+ * Updated: Replace deprecated preg_replace (with /e) with preg_replace_callback. Thanks gbonvehi.
199
+ * Updated: Use full path to ensure the require_once finds the purge file in the scheduled db maintenance script.
200
+ * Updated: Persian translation.
201
+ * Updated: Renamed pagination class to avoid name collisions with other plugins.
202
+ * Updated: Date display in recent visitors and search words now uses the WordPress date format setting.
203
+ * Updated: Upgrade email is now send at the end of the page load as wp_mail() hasn't been created during the upgrade script.
204
+ * Fixed: Export code to handle large tables.
205
+ * Fixed: Exclusion display for some 'reasons' always being 0.
206
+ * Removed: Replaced use of global $table_prefix with $wpdb->prefix.
207
+ * Removed: Use of deprecated $blog_id. Thanks gbonvehi.
208
+
209
+ = 8.8.1 =
210
+ * Release Date: March 9, 2015
211
+ * Updated license to GPL3.
212
+
213
+ = 8.8 =
214
+ * Release Date: January 31, 2015
215
+ * Added: Installation/upgrades/removals on WordPress multi-sites now upgrade all sites in the network if the installing user has the appropriate rights.
216
+ * Added: RSS feed URL's can now be excluded.
217
+ * Added: Option to set the country code for private IP addresses.
218
+ * Fixed: Additional WP_DEBUG warning fixes.
219
+ * Fixed: Incorrect parameter list in get_home_url() when checking for self referrals.
220
+ * Fixed: Single quotes can now be used in the report content without being escaped.
221
+ * Fixed: Referrers menu item was misspelled.
222
+ * Updated: Italian, French, Polish, Arabic, Persian and Chinese translation.
223
+ * Updated: Widget now formats numbers with international standards.
224
+ * Updated: Short codes now support three number formatting options; i18n, english or none.
225
+ * Updated: Removed old throttling code for hits which is no longer required.
226
+ * Updated: IP address exclusions without a subnet mask now assume a single IP address instead of all IP addresses.
227
+
228
+ = 8.7.2 =
229
+ * Release Date: January 6, 2015
230
+ * Added: shareaholic-bot to robots list.
231
+ * Fixed: Robot threshold setting was not being saved.
232
+ * Updated: Italian translation, thanks illatooscuro.
233
+ * Updated: Arabic translation, thanks Hammad.
234
+ * Updated: Honey pot page title now includes "Pot" in it.
235
+
236
+ = 8.7.1 =
237
+ * Release Date: December 28, 2014
238
+ * Fixed: Variable scope for the exclusion match/reason updated to protected from private to allow the GeoIP code to set them. This could cause various issues including failed uploades depending on the error reporting level set for PHP.
239
+
240
+ = 8.7 =
241
+ * Release Date: December 27, 2014
242
+ * Added: Charts with multiple lines now include the data set name in the tooltip.
243
+ * Added: Honey pot option to detect crawlers.
244
+ * Added: Robot threshold option.
245
+ * Added: Hit count for visitors is now recorded and displayed.
246
+ * Added: Top Visitors today widget and page.
247
+ * Fixed: GeoIP exclusion logic didn't work as the location information was not set before it was applied, moved it to the appropriate location.
248
+ * Fixed: Incorrect setting names for country include/excludes as well as hosts.
249
+ * Fixed: Page URI length could exceed the database storage limit and cause duplicate entry warnings, URI is now truncated before being stored.
250
+ * Updated: Polish and Farsi translations.
251
+ * Updated: User agent parser to V0.3.2.
252
+ * Updated: GeoIP library to v2.1.1.
253
+
254
+ = 8.6.3 =
255
+ * Release Date: December 11, 2014
256
+ * Fixed: Really fix included countries code this time.
257
+ * Fixed: Typo in excluded hosts code.
258
+
259
+ = 8.6.2 =
260
+ * Release Date: December 11, 2014
261
+ * Fixed: New included countries code incorrectly identified all countries as excluded.
262
+
263
+ = 8.6.1 =
264
+ * Release Date: December 11, 2014
265
+ * Added: Code to perform additional clean up of uncommon user agents.
266
+ * Fixed: Spurious break statement in GeoIP exclusion code which caused a fatal error in certian cases.
267
+
268
+ = 8.6 =
269
+ * Release Date: December 11, 2014
270
+ * Added: Option to remove URI parameters from page tracking.
271
+ * Added: GeoIP exclusion options.
272
+ * Added: Host name exclusion options.
273
+ * Fixed: Map dashboard widget fails when Google is selected as map provider.
274
+ * Fixed: Changing the statistical report schedule would not actually change the schedule unless you disabled and then enabled the statistical reports feature.
275
+ * Updated: French language.
276
+
277
+ = 8.5.1 =
278
+ * Release Date: December 2, 2014
279
+ * Fixed: Typo in last search page causing fatal error in PHP.
280
+
281
+ = 8.5 =
282
+ * Release Date: December 2, 2014
283
+ * Added: try/catch condition around browscap call to avoid fatal errors stopping the script.
284
+ * Added: Page trend widget to post/page editor.
285
+ * Added: Aland Islands Flag icon.
286
+ * Added: Option to record all online users regardless if they would otherwise be excluded.
287
+ * Added: Option to disable the page editor widget.
288
+ * Fixed: Various security fixes, thanks Ryan.
289
+ * Fixed: Resolved warnings when natcasesort received a null list, thanks robertalks.
290
+ * Fixed: Before updating the browscap.ini cache file, remove stale lock files.
291
+ * Fixed: Avoid throwing a fatal error when the shutdown code is called if for some reason the global $WP_Statistics variable has been destroyed during a page load.
292
+ * Updated: The online code now uses the same rules to exclude users as the hits code.
293
+ * Updated: Minor code cleanups and data return checks.
294
+ * Updated: German translations, thanks bios4.
295
+ * Updated: Polish and Turkish translations.
296
+ * Updated: Use built in WordPress function to translate user roles instead of custom strings in our PO file, thanks bios4.
297
+
298
+ = 8.4 =
299
+ * Release Date: November 26, 2014
300
+ * Added: Dashboard widgets for all of the widgets on the overview page.
301
+ * Added: Option to disable all dashboard widgets.
302
+ * Added: Old dashboard widget upgraded with last 10 days of hits statistics.
303
+ * Added: Online users page and time a user has been online.
304
+ * Fixed: Fixed missing site_url on top 10 pages in the overview page.
305
+ * Fixed: Incorrect url generated for Google map if dashboard was being forced in to https mode.
306
+ * Fixed: Properly un-escape quotation marks in report body if magic quotes is enabled.
307
+ * Fixed: URL referrer CSS style would 'push' other entires to the next line on small displays.
308
+ * Fixed: Various PHP warnings on uninitalized variables, thanks bseddon
309
+ * Updated: Polish translations.
310
+ * Updated: Default map type now set to JQVMap.
311
+
312
+ = 8.3.1 =
313
+ * Release Date: November 19, 2014
314
+ * Updated: Various SQL code clean ups.
315
+ * Updated: Varioud data validation clean ups.
316
+ * Updated: Various data output encoding updates, thanks Marc.
317
+
318
+ = 8.3 =
319
+ * Release Date: November 14, 2014
320
+ * Added: Sanity checks for file size and results to browscap.ini updates, if the new cache file size is wrong or it mis-identifies a common real browser as a crawler the update will be rolled back.
321
+ * Added: Option to e-mail a report on browscap.ini, database pruning, upgrades and GeoIP database updates.
322
+ * Updated: Polish translations.
323
+ * Updated: Added "Notificaitons" tab to the settings page and moved statistical report settings to it.
324
+ * Fixed: The historical data table no longer uses reserved keywords as column names which caused issues on older versions of MySQL.
325
+ * Fixed: Unable to set visits historical count.
326
+ * Fixed: Purging did not record visits/visitors correctly if not already set through the optimization page.
327
+ * Fixed: JavaScript bug when a non-administrative user viewed the settings page.
328
+ * Removed: Reference to old settings file for the widget.
329
+
330
+ = 8.2 =
331
+ * Release Date: November 6, 2014
332
+ * Added: Support for historical data.
333
+ * Added: Removal option.
334
+ * Updated: Optimized SQL statements to hopefully get rid of duplicate key error/warnings.
335
+ * Updated: Persian, Polish, Italian translations.
336
+ * Fixed: Duplicate date display on charts due to DST time change.
337
+
338
+ = 8.1.1 =
339
+ * Release Date: October 26, 2014
340
+ * Fixed: Bug in browscap.ini update code that could mis-identify all hits as robots.
341
+ * Fixed: Bug in the scheduled reports code that failed to process the report content correctly.
342
+ * Fixed: Bug in schedule reports that failed to select the current schedule in the drop down.
343
+ * Removed: Depricated variables from the report content description.
344
+
345
+ = 8.1 =
346
+ * Release Date: October 18, 2014
347
+ * Added: Detected browser information to the optimization page.
348
+ * Updated: Re-organized new browscap code to avoid PHP 5.2 or below throwing a parse error.
349
+ * Fixed: If the client sent no user agent string a fatal error would be generated, added additional logic to handle this case.
350
+ * Removed: Unused code in various log displays.
351
+
352
+ = 8.0 =
353
+ * Release Date: October 16, 2014
354
+ * Added: browscap.ini support for robot detection.
355
+ * Added: Statistics->Optimization->Database tab now how an option to re-run the install routine in case you have had to delete tables from the database.
356
+ * Added: PHP version check, WP-Statistics now requires PHP 5.3 and will no longer execute without it.
357
+ * Added: Dashboard widget.
358
+ * Updated: Top pages now decode the URL for better readability.
359
+ * Updated: GeoIP library from version 0.5 to 2.0.
360
+ * Updated: User Agent detection code.
361
+ * Updated: Serbian, Polish translations.
362
+ * Updated: All missing language strings have been machine translated when possible.
363
+ * Updated: IP hashing code has moved out of beta.
364
+ * Fixed: Incorrect country name being displayed for Georgia.
365
+ * Fixed: Bug in detecting the new index in the Statistics->Optimization->Database tab.
366
+ * Fixed: Duplicate closing tag in summary page.
367
+ * Fixed: Purging the database did not display the results.
368
+ * Removed: Support for old format substitution codes in the statistics reports, upgrade now converts them to short codes.
369
+
370
+ = 7.4 =
371
+ * Release Date: September 19, 2014
372
+ * Added: Link URL for referred.
373
+ * Updated: Widget code now adhears to WordPress standards.
374
+ * Updated: Persian, Arabic and German (thanks Mike) translations.
375
+ * Updated: Unique index on visitors table now takes in to account the agent/platform/version information.
376
+ * Updated: Line charts now redraw when the legend is clicked to add/remove a line.
377
+ * Fixed: Dates on charts with large number of data points now no longer overwrite each other.
378
+ * Fixed: Admin bar menu item would use the incorrect admin URL in some circumstances.
379
+ * Removed: Screenshots are no longer included in the distribution.
380
+
381
+ = 7.3 =
382
+ * Release Date: September 8, 2014
383
+ * Added: Option to delete the admin manual.
384
+ * Added: Option to force the robots list to be updated during an upgrade.
385
+ * Added: Beta code for not storing IP addresses in the database.
386
+ * Fixed: Bug with new JQVMap code not displaying flags correctly.
387
+ * Updated: French (fr_FR) language, thanks apeedn.
388
+ * Updated: Visitors online code now treats different browsers/platforms from the same IP address as different users (this helps with multiple users behind proxy servers).
389
+ * Updated: Visitors code now treats different browsers/platforms from the same IP address as different users (this helps with multiple users behind proxy servers).
390
+ * Updated: Persian (fa_IR) language.
391
+ * Updated: Tested with WordPress 4.0.
392
+
393
+ = 7.2 =
394
+ * Release Date: August 22, 2014
395
+ * Added: Total visitors by country to the push pins on the overview map.
396
+ * Added: Statistical reports can now be sent to a custom list of e-mail addresses instead of just the administrator.
397
+ * Added: JQVMap option for the overview map.
398
+ * Fixed: Additional WP_DEBUG warnings cleaned up.
399
+ * Fixed: Google map would sometimes only use part of the area to draw the map in the overview page.
400
+ * Updated: Statistical report schedules are now listed by occurrence instead of randomly.
401
+ * Updated: Vertical alignment of statistical report option label column now correct.
402
+ * Updated: Various grammatical updates.
403
+ * Updated: Overview map now limits the number of visitors to five per country.
404
+ * Updated: Persian (fa_IR) language.
405
+
406
+ = 7.1 =
407
+ * Release Date: August 13, 2014
408
+ * Added: clearch.org search provider, disabled by default.
409
+ * Added: Database tab to optimization page to manually add unique index on the visitors table removed in 7.0.3.
410
+ * Updated: Additional WP_DEBUG message fixes.
411
+ * Updated: Overview widgets no longer overflows on smaller displays.
412
+ * Updated: Charts now properly resize when the browser window does.
413
+
414
+ = 7.0.4 =
415
+ * Release Date: August 9, 2014
416
+ * Fixed: Typo in table definition of visitor table's UAString field.
417
+
418
+ = 7.0.3 =
419
+ * Release Date: August 8, 2014
420
+ * Added: Extra check that the co-efficient setting is valid.
421
+ * Updated: Format of the dbDetla scripts to match the guidelines from WordPress, thanks kitchin.
422
+ * Updated: Handled some WP_DEBUG warning messages, thanks kitchin.
423
+ * Updated: Multiple additional WP_DEBUG warning fixes.
424
+ * Updated: Arabic (ar) language.
425
+ * Updated: Polish (pl_PL) language.
426
+ * Fixed: Typo in variable name which causes the robots list to be overwritten with the defaults incorrectly.
427
+ * Fixed: Access role exclusions and search engine exclusions options not displaying correctly in the settings page.
428
+ * Removed: Database upgrade code to add the unique index on the visitors table due to issues with multiple users. Will add back in a future release as a user selectable option.
429
+
430
+ = 7.0.2 =
431
+ * Release Date: August 7, 2014
432
+ * Fixed: Database prefix not being used when creating/updating tables correctly.
433
+ * Fixed: New installs caused an error in the new upgrade code as the visitor table did not exist yet.
434
+ * Fixed: Replaced use of deprecated $table_prefix global during install/update.
435
+
436
+ = 7.0.1 =
437
+ * Release Date: August 5, 2014
438
+ * Fixed: Error during new installations due to $wpdb object not being available.
439
+
440
+ = 7.0 =
441
+ * Release Date: August 5, 2014
442
+ * Added: New robots to the robots list: aiHitBot, AntivirusPro, BeetleBot, Blekkobot, cbot, clumboot, coccoc, crowsnest.tv, dbot, dotbot, downloadbot, EasouSpider, Exabot, facebook.com, FriendFeedBot, gimme60bot, GroupHigh, IstellaBot, Kraken, LinkpadBot, MojeekBot, NetcraftSurveyAgent, p4Bot, PaperLiBot, Pimonster, scrapy.org, SearchmetricsBot, SemanticBot, SemrushBot, SiteExplorer, Socialradarbot, SpiderLing, uMBot-LN, Vagabondo, vBSEO, WASALive-Bot, WebMasterAid, WeSEE, XoviBot, YoudaoBot,
443
+ * Added: Overview page can now be customized for what is displayed on a per user basis.
444
+ * Added: Overview tab to the settings page to control what is displayed. This page is available to any user that has read access to WP-Statistics.
445
+ * Added: Dutch (nl_NL) translation, thanks Friso van Wieringen.
446
+ * Added: New index on visitor table for existing installs to avoid duplicate entries being created.
447
+ * Added: jqPlot javascript library.
448
+ * Added: Three new schedule options for statistical reports; weekly, bi-weekly and every 4 weeks.
449
+ * Fixed: Some country codes not displaying in the "Top Countries" overview widget/page.
450
+ * Fixed: Export filename contained a colon, which is not a valid character.
451
+ * Fixed: In some cases purging data in the optimization page would succeed but the UI would "re-activate".
452
+ * Updated: All charts now use jqPlot instead of HighCharts so we are now fully GPL compliant.
453
+ * Updated: "Top Referring Sites" on the overview page now only displays if there are entries to be displayed.
454
+ * Updated: "Latest Search Words" on the overview page now only displays if there are entries to be displayed.
455
+ * Updated: "Top Pages Visited" on the overview page now only displays if there are entries to be displayed.
456
+ * Updated: About on the overview page box.
457
+ * Updated: Settings page from css tabs to jQuery tabs.
458
+ * Updated: Settings system (which used individual WordPress settings for each option) to a new unified system (uses a single WordPress setting and stores it as an array)
459
+ * Updated: Optimization page from css tabs to jQuery tabs.
460
+ * Updated: Install/Upgrade code to share a single code base.
461
+ * Updated: Persian (fa_IR) language.
462
+ * Updated: Arabic (ar) language.
463
+ * Updated: rtl.css file for new version.
464
+ * Updated: Lots of code comments.
465
+ * Updated: Statistical report schedule list in settings is now dynamically generated.
466
+ * Updated: WP-Statistics screenshots.
467
+ * Removed: "Alternate map location" setting as it has been made redundant by the new overview display settings.
468
+ * Removed: "Chart type" setting as chart types are now hard coded to the appropriate type for the data.
469
+ * Removed: HighCharts javascript library.
470
+ * Removed: Unused function objectToArray().
471
+
472
+ = 6.1 =
473
+ * Release Date: June 29, 2014
474
+ * Added: Display of the current memory_limit setting from php.ini in the optimization page.
475
+ * Added: New index on visitor table for new installs to avoid duplicate entries being created. A future update will add this index to existing installs but will need additional testing before it is implemented.
476
+ * Added: Seychelles flag.
477
+ * Updated: Support international number formats in statistics display.
478
+ * Updated: Description of WordPress.org plugin link in plugin list.
479
+ * Updated: Widget and shortcode now use the countonly option in wp_statistics_vistor() for better performance.
480
+ * Updated: Renamed plugin from "WordPress Statistics" to "WP-Statistics".
481
+ * Fixed: bug in new IP validation code and support for stripping off port numbers if they are passed through the headers. Thanks Stephanos Io.
482
+ * Updated: Persian (fa_IR) language.
483
+
484
+ = 6.0 =
485
+ * Release Date: June 11, 2014
486
+ * Added: Page tracking support. Includes new overview widget and detail page. Also supports page hit count in the pages/post list and in the page/post editor.
487
+ * Added: Admin manual, online viewing as well as downloadable version.
488
+ * Added: Links for “Settings”, “WordPress Plugin Page” and “Rate” pages to the plugin list for WP-Statistics.
489
+ * Updated: General settings tab re-organization.
490
+ * Updated: Several typo's and other minor issues.
491
+ * Updated: Highcharts JS v3.0.9 to JS v4.0.1.
492
+ * Updated: Persian (fa_IR) language.
493
+ * Updated: Polish (pl_PL) language.
494
+ * Updated: Arabic (ar) language.
495
+ * Updated: Turkish (tr_TR) language.
496
+ * Removed: shortcode and functions reference from readme.txt, now in admin manual.
497
+
498
+ = 5.4 =
499
+ * Release Date: May 31, 2014
500
+ * Fixed: GeoIP dependency code to ignore safe mode check in PHP 5.4 or newer.
501
+ * Fixed: GeoIP dependency code to properly detect safe mode with PHP 5.3 or older.
502
+ * Fixed: Browser information not recorded if GeoIP was not enabled.
503
+ * Updated: get_IP code to better handle malformed IP addresses.
504
+ * Updated: Persian (fa_IR) language.
505
+ * Updated: Arabic (ar) language.
506
+ * Updated: Chinese (zh_CN) language.
507
+
508
+ = 5.3 =
509
+ * Release Date: April 17, 2014
510
+ * Added: New robot's to the robots list: BOT for JCE, Leikibot, LoadTimeBot, NerdyBot, niki-bot, PagesInventory, sees.co, SurveyBot, trendictionbot, Twitterbot, Wotbox, ZemlyaCrawl
511
+ * Added: Check for PHP's Safe Mode as the GeoIP code does not function with it enabled.
512
+ * Added: Option to disable administrative notices of inactive features.
513
+ * Added: Option to export column names as first line of export files.
514
+ * Added: Options to disable search engines from being collected/displayed.
515
+ * Updated: French (fr_FR) language translation.
516
+ * Fixed: Download of the GeoIP database could cause a fatal error message at the end of a page if it was triggered outside the admin area.
517
+
518
+ = 5.2 =
519
+ * Release Date: March 10, 2014
520
+ * Added: Additional checks for BC Math and cURL which are required for the GeoIP code.
521
+ * Updated: GeoIP database handling if it is missing or invalid.
522
+ * Updated: GeoIP database is now stored in uploads/wp-statistics directory so it does not get overwritten during upgrades.
523
+ * Fixed: Typo's in the shortcode codes (thanks g33kg0dd3ss).
524
+ * Updated: Polish (pl_PL) language.
525
+
526
+ = 5.1 =
527
+ * Release Date: March 3, 2014
528
+ * Fixes: Small bug in referral url.
529
+ * Fixes: Problem export table.
530
+ * Updated: Arabic (ar) language.
531
+
532
+ = 5.0 =
533
+ * Release Date: March 2, 2014
534
+ * Added: Show last visitor in Google Map.
535
+ * Added: Search visitor by IP in log pages.
536
+ * Added: Total line to charts with multiple values, like the search engine referrals.
537
+ * Added: Shortcodes. [By Greg Ross](http://profiles.wordpress.org/gregross)
538
+ * Added: Dashicons to log pages.
539
+ * Fixes: Small bugs.
540
+ * Fixes: More debug warnings.
541
+ * Fixes: User access function level code always returned manage_options no matter what it was actaully set to.
542
+ * Updated: Hungarian (hu_HU) language.
543
+ * Updated: Turkish (tr_TR) language.
544
+ * Removed: Parameter from `wp_statistics_lastpostdate()` function and return date type became dynamic.
545
+
546
+ = 4.8.1 =
547
+ * Release Date: February 4, 2014
548
+ * Fixes: Small bug in the `Current_Date`.
549
+ * Fixes: Small bug in the `exclusions.php` file.
550
+ * Updated: Polish (pl_PL) language.
551
+
552
+ = 4.8 =
553
+ * Release Date: February 4, 2014
554
+ * Added: Converting Gregorian date to Persian When enabled [wp-parsidate](http://wordpress.org/plugins/wp-parsidate/) plugin.
555
+ * Added: New feature, option to record the number and type of excluded hits to your site.
556
+ * Added: New exclusion types for login and admin pages.
557
+ * Fixes: GeoIP populate code now REALLY functions again.
558
+ * Updated: Arabic (ar) language.
559
+ * Updated: Polish (pl_PL) language.
560
+
561
+ = 4.7 =
562
+ * Release Date: February 2, 2014
563
+ * Added: Responsive Stats page for smaller-screen devices.
564
+ * Added: Dashicons icon for plugin page.
565
+ * Added: Tabs option in setting page.
566
+ * Added: Tabs category in optimization page.
567
+ * Fixes: More debug warnings.
568
+ * Fixes: GeoIP populate code now functions again.
569
+ * Updated: Some optimization of the statistics code.
570
+ * Updated: Search Words now reports results only for referrers with actual search queries.
571
+ * Updated: Highcharts JS v3.0.7 to JS v3.0.9.
572
+ * Updated: Brazil (pt_BR) language.
573
+
574
+ = 4.6.1 =
575
+ * Release Date: January 24, 2014
576
+ * Fixes: a Small bug in to get rid of one of the reported warnings from debug mode.
577
+
578
+ = 4.6 =
579
+ * Release Date: January 20, 2014
580
+ * Added: In the optimization page you can now empty all tables at once.
581
+ * Added: In the optimization page you can now purge statistics over a given number of days old.
582
+ * Added: Daily scheduled job to purge statistics over a given number of days old.
583
+ * Fixes: Bug in the robots code that on new installs failed to populate the defaults in the database.
584
+ * Fixes: All known warning messages when running in WordPress debug mode.
585
+ * Fixes: Incorrect description of co-efficient value in the setting page.
586
+ * Fixes: Top level links on the various stats pages now update highlight the current page in the admin menu instead of the overview page.
587
+ * Fixes: Install code now only executes on a true new installation instead of on each activation.
588
+ * Fixes: Bug in hits code when GeoIP was disabled, IP address would not be recorded.
589
+
590
+ = 4.5 =
591
+ * Release Date: January 18, 2014
592
+ * Added: Support for more search engines: DuckDuckGo, Baidu and Yandex.
593
+ * Added: Support for Google local sites like google.ca, google.fr, etc.
594
+ * Added: Anchor links in the optimization and settings page to the main sections.
595
+ * Added: Icon for Opera Next.
596
+ * Updated: Added new bot match strings: 'archive.org_bot', 'meanpathbot', 'moreover', 'spbot'.
597
+ * Updated: Replaced bot match string 'ezooms.bot' with 'ezooms'.
598
+ * Updated: Overview summary statistics layout.
599
+ * Fixes: Bug in widget code that didn't allow you to edit the settings after adding the widget to your site.
600
+
601
+ = 4.4 =
602
+ * Release Date: January 16, 2014
603
+ * Added: option to set the required capability level to view statistics in the admin interface.
604
+ * Added: option to set the required capability level to manage statistics in the admin interface.
605
+ * Fixes: 'See More' links on the overview page now update highlight the current page in the admin menu instead of the overview page.
606
+ * Added: Schedule downloads of the GeoIP database.
607
+ * Added: Auto populate missing GeoIP information after a download of the GeoIP database.
608
+ * Fixes: Unschedule of report event if reporting is disabled.
609
+
610
+ = 4.3.1 =
611
+ * Release Date: January 13, 2014
612
+ * Fixes: Critical bug that caused only a single visitor to be recorded.
613
+ * Added: Version information to the optimization page.
614
+ [Thanks Greg Ross](http://profiles.wordpress.org/gregross)
615
+
616
+ = 4.3 =
617
+ * Release Date: January 12, 2014
618
+ * Added: Definable robots list to exclude based upon the user agent string from the client.
619
+ * Added: IP address and subnet exclusion support.
620
+ * Added: Client IP and user agent information to the optimization page.
621
+ * Added: Support to exclude users from data collection based on their WordPress role.
622
+ * Fixes: A bug when the GeoIP code was disabled with optimization page.
623
+
624
+ = 4.2 =
625
+ * Release Date: December 31, 2013
626
+ * Added: Statistical menus.
627
+ * Fixes: Small bug in the geoip version.
628
+ * Language: Serbian (sr_RS) was updated.
629
+ * Language: German (de_DE) was updated.
630
+ * Language: French (fr_FR) was updated.
631
+
632
+ = 4.1 =
633
+ * Release Date: December 23, 2013
634
+ * Language: Arabic (ar) was updated
635
+ * Fixes: small bug in moved the GeoIP database.
636
+ * Updated: update to the spiders list.
637
+
638
+ = 4.0 =
639
+ * Release Date: December 21, 2013
640
+ * Added: GeoIP location support for visitors country.
641
+ * Added: Download option in settings for GeoIP database.
642
+ * Added: Populate location entries with unknown or missing location information to the optimization page.
643
+ * Added: Detect self referrals and disregard them like webcrawlers.
644
+ * Added: "All Browsers" and "Top Countries" pages.
645
+ * Added: "more" page to hit statistics chart, support for charts from 10 days to 1 year.
646
+ * Added: "more" page to search engine statistics chart, support for charts from 10 days to 1 year.
647
+ * Added: Option to store complete user agent string for debugging purposes.
648
+ * Added: Option to delete specific browser or platform types from the database in the optimization page.
649
+ * Updated: Browser detection now supports more browsers and includes platform and version information.
650
+ * Updated: List of webcrawlers to catch more bots.
651
+ * Updated: Statistics reporting options in settings no longer needs a page reload to hide/show the settings.
652
+ * Updated: Summary Statistcs now uses the WordPress set format for the time and date.
653
+ * Fixes: Webcrawler detection now works and is case insensitive.
654
+ * Fixes: Install code now correctly sets defaults.
655
+ * Fixes: Upgrade code now works correctly. If you are running V3.2, your old data will be preserved, older versions will delete the tables and recreate them.
656
+ * Fixes: Ajax submissions on the optmiziation page (like the empty table function) should work in IE and other browsers that are sensitive to cross site attacks.
657
+ * Fixes: Replaced call to the dashboard code (to support the postbox widgets on the log screen) with the proper call to the postbox code as WordPress 3.8 beta 1 did not work with the old code.
658
+ * Updated: Highcharts JS 3.0.1 to JS 3.0.7 version.
659
+
660
+ = 3.2 =
661
+ * Release Date: August 7, 2013
662
+ * Added: Optimization plugin page.
663
+ * Added: Export data to excel, xml, csv and tsv files.
664
+ * Added: Delete table data.
665
+ * Added: Show memory usage in optimization page.
666
+ * Language: Polish (pl_PL) was updated.
667
+ * Language: updated.
668
+
669
+ = 3.1.4 =
670
+ * Release Date: July 18, 2013
671
+ * Added: Chart Type in the settings plugin.
672
+ * Added: Search Engine referrer chart in the view stats page.
673
+ * Added: Search Engine stats in Summary Statistics.
674
+ * Optimized: 'wp_statistics_searchengine()' and add second parameter in the function.
675
+ * Language: Chinese (China) was added.
676
+ * Language: Russian was updated.
677
+ * Language: updated.
678
+
679
+ = 3.1.3 =
680
+ * Release Date: June 9, 2013
681
+ * Optimized: View statistics.
682
+ * Added: Chinese (Taiwan) language.
683
+
684
+ = 3.1.2 =
685
+ * Release Date: June 4, 2013
686
+ * Added: Top referring sites with full details.
687
+ * Resolved: Loads the plugin's translated strings problem.
688
+ * Resolved: View the main site in top referring sites.
689
+ * Resolved: Empty referrer.
690
+ * Resolved: Empty search words.
691
+ * Update: Highcharts js 2.3.5 to v3.0.1.
692
+ * Language: Arabic was updated.
693
+ * Language: Hungarian was updated.
694
+ * Language: updated.
695
+
696
+ = 3.1.1 =
697
+ * Release Date: April 11, 2013
698
+ * Bug Fix: Security problem. (Thanks Mohammad Teimori) for report bug.
699
+ * Optimized: Statistics screen in resolution 1024x768.
700
+ * Language: Persian was updated.
701
+
702
+ = 3.1.0 =
703
+ * Release Date: April 3, 2013
704
+ * Bug Fix: Statistics Menu bar.
705
+ * Bug Fix: Referral link of the last visitors.
706
+ * Added: Latest all search words with full details.
707
+ * Added: Recent all visitors with full details.
708
+ * Optimized: View statistics.
709
+ * Language: updated.
710
+ * Language: Arabic was updated.
711
+ * Remove: IP Information in setting page.
712
+
713
+ = 3.0.2 =
714
+ * Release Date: February 5, 2013
715
+ * Added: Hungarian language.
716
+ * Added: Insert value in useronline table by Primary_Values function.
717
+ * Added: Opera browser in get_UserAgent function.
718
+ * Added: prefix wps_ in options.
719
+ * Added: Notices to enable or disable the plugin.
720
+ * Changed: Statistics class to WP_Statistics because Resemblance name.
721
+
722
+ = 3.0.1 =
723
+ * Release Date: February 3, 2013
724
+ * Bug Fix: Table plugin problem.
725
+
726
+ = 3.0 =
727
+ * Release Date: February 3, 2013
728
+ * Bug Fix: problem in calculating Statistics.
729
+ * Optimized: and speed up the process.
730
+ * Optimized: Overall reconstruction and coding plug with a new structure.
731
+ * Optimized: The use of object-oriented programming.
732
+ * Added: statistics screen to complete.
733
+ * Added: Chart Show.
734
+ * Added: Graph of Browsers.
735
+ * Added: Latest search words.
736
+ * Added: Specification (Country and county) Visitors.
737
+ * Added: Top referring sites.
738
+ * Added: Send stats to Email/[SMS](http://wordpress.org/extend/plugins/wp-sms/)
739
+
740
+ = 2.3.3 =
741
+ * Release Date: December 18, 2012
742
+ * Serbian language was solved.
743
+ * Server variables were optimized by m.emami.
744
+ * Turkish translation was complete.
745
+
746
+ = 2.3.2 =
747
+ * Release Date: October 24, 2012
748
+ * Added Indonesia language.
749
+ * Turkish language file corrected by MBOZ.
750
+
751
+ = 2.3.1 =
752
+ * Release Date: October 12, 2012
753
+ * Added Polish language.
754
+ * Added Support forum link in menu.
755
+ * Fix problem error in delete plugin.
756
+
757
+ = 2.3.0 =
758
+ * Release Date: Not released
759
+ * Added Serbian language.
760
+
761
+ = 2.2.9 =
762
+ * Release Date: September 20, 2012
763
+ * Added Bengali language.
764
+
765
+ = 2.2.8 =
766
+ * Release Date: July 27, 2012
767
+ * Added Russian language.
768
+ * Fix problem in count views.
769
+ * Added more filter for check spider.
770
+ * Optimize plugin.
771
+
772
+ = 2.2.7 =
773
+ * Release Date: May 20, 2012
774
+ * Fix problem in widget class.
775
+ * Redundancy in Arabic translation.
776
+ * Fix problem in [countposts] shortcode.
777
+ * Optimized Style Reports.
778
+
779
+ = 2.2.6 =
780
+ * Release Date: April 19, 2012
781
+ * Fix a small problem.
782
+
783
+ = 2.2.5 =
784
+ * Release Date: April 18, 2012
785
+ * The security problem was solved. Please be sure to update!
786
+ * Redundancy in French translation.
787
+ * Add CSS Class for the containing widget. (Thanks Luai Mohammed).
788
+ * Add daily or total search engines in setting page.
789
+ * Using wordpress jQuery in setting page.
790
+
791
+ = 2.2.4 =
792
+ * Release Date: March 12, 2012
793
+ * Added Turkish language.
794
+ * Added Italian language.
795
+ * Added German language.
796
+ * Arabic language was solved.
797
+ * Romanian language was solved.
798
+ * The words in setting page were complete. (Thanks Will Abbott) default.po file is Updated.
799
+ * The change of time from minutes to seconds to check users online.
800
+ * Ignoring search engine crawler.
801
+ * Added features premium version to free version.
802
+ * Added user online live.
803
+ * Added total visit live.
804
+ * Added Increased to visit.
805
+ * Added Reduced to visit.
806
+ * Added Coefficient statistics for each user.
807
+
808
+ = 2.2.3 =
809
+ * Release Date: February 3, 2012
810
+ * Optimized Counting.
811
+ * Added Arabic language.
812
+ * Draging problem was solved in Widgets
813
+ * css problem was solved in sidebar
814
+
815
+ = 2.2.2 =
816
+ * Release Date: January 11, 2012
817
+ * Solving show functions in setting page.
818
+ * Solving month visit in widget.
819
+ * Added Spanish language.
820
+
821
+ = 2.2.1 =
822
+ * Release Date: December 27, 2011
823
+ * Solving drap uploader problem in media-new.php.
824
+
825
+ = 2.2.0 =
826
+ * Release Date: December 26, 2011
827
+ * Added statistics to admin bar wordpress 3.3.
828
+ * Added Uninstall for remove data and table from database.
829
+ * Added all statistics item in widget and Their choice.
830
+ * Optimize show function code in setting page.
831
+ * Calling jQuery in wordpress admin for plugin.
832
+ * Remove the word "disabled" in the statistics When the plugin was disabled.
833
+ * Solving scroll problem in statistics page.
834
+
835
+ = 2.1.6 =
836
+ * Release Date: October 21, 2011
837
+ * Added Russian language.
838
+
839
+ = 2.1.5 =
840
+ * Release Date: October 29, 2011
841
+ * Added French language.
842
+ * Rounds a float Averages.
843
+
844
+ = 2.1.4 =
845
+ * Release Date: October 21, 2011
846
+ * Added Romanian language.
847
+
848
+ = 2.1.3 =
849
+ * Release Date: October 14, 2011
850
+ * Active plugin in setting page was solved.
851
+
852
+ = 2.1.2 =
853
+ * Release Date: October 12, 2011
854
+ * Added default language file.
855
+ * Added Portuguese language.
856
+
857
+ = 2.1.1 =
858
+ * Release Date: September 27, 2011
859
+ * Complete files
860
+
861
+ = 2.1 =
862
+ * Release Date: September 25, 2011
863
+ * Edit string
864
+
865
+ = 2.0 =
866
+ * Release Date: September 20, 2011
867
+ * Support from Database
868
+ * Added Setting Page
869
+ * Added decimals number
870
+ * Added Online user check time
871
+ * Added Database check time
872
+ * Added User Online
873
+ * Added Today Visit
874
+ * Added Yesterday Visit
875
+ * Added Week Visit
876
+ * Added Month Visit
877
+ * Added Years Visit
878
+ * Added Search Engine reffered
879
+ * Added Average Posts
880
+ * Added Average Comments
881
+ * Added Average Users
882
+ * Added Google Pagerank
883
+ * Added Alexa Pagerank
884
+ * Added wordpress shortcode
885
+
886
+ = 1.0 =
887
+ * Release Date: March 20, 2011
888
+ * Start plugin
includes/admin/class-wp-statistics-admin-notices.php CHANGED
@@ -55,7 +55,6 @@ class Admin_Notices
55
 
56
  $params = array_merge(array(
57
  '_' => time(),
58
- '_wpnonce' => null,
59
  Hits::$rest_hits_key => 'yes',
60
  ), Helper::getHitsDefaultParams());
61
 
@@ -133,7 +132,7 @@ class Admin_Notices
133
  {
134
  $option = get_option('wp_statistics_disable_addons_notice');
135
  if (!empty($option) and $option == "no") {
136
- Helper::wp_admin_notice(__("Your WP Statistic's Add-On(s) are not compatible with the new version of WP Statistics and disabled automatically, please try to update them.", "wp-statistics"), "info", true, "wp-statistics-disable-all-addons-admin-notice");
137
  ?>
138
  <script>
139
  jQuery(document).ready(function ($) {
55
 
56
  $params = array_merge(array(
57
  '_' => time(),
 
58
  Hits::$rest_hits_key => 'yes',
59
  ), Helper::getHitsDefaultParams());
60
 
132
  {
133
  $option = get_option('wp_statistics_disable_addons_notice');
134
  if (!empty($option) and $option == "no") {
135
+ Helper::wp_admin_notice(__('WP Statistics Add-On(s) require WP Statistics v12.6.13 or greater, please update WP Statistics.', 'wp-statistics'), 'info', true, 'wp-statistics-disable-all-addons-admin-notice');
136
  ?>
137
  <script>
138
  jQuery(document).ready(function ($) {
includes/api/v2/class-wp-statistics-api-hit.php CHANGED
@@ -36,8 +36,7 @@ class Hit extends \WP_STATISTICS\RestAPI
36
  {
37
  return array(
38
  'track_all' => array('required' => true, 'type' => 'integer'),
39
- 'page_uri' => array('required' => true, 'type' => 'string'),
40
- '_wpnonce' => array('required' => false, 'type' => 'string')
41
  );
42
  }
43
 
@@ -70,14 +69,12 @@ class Hit extends \WP_STATISTICS\RestAPI
70
  */
71
  public function hit_callback(\WP_REST_Request $request)
72
  {
73
- if (!empty($_GET['_wpnonce'])) {
74
- // Start Record
75
- Hits::record();
76
- }
77
 
78
  $response = new \WP_REST_Response(array(
79
  'status' => true,
80
- 'message' => __('Visitor Hit was recorded successfully.', 'wp-statistics'),
81
  ), 200);
82
 
83
  /**
36
  {
37
  return array(
38
  'track_all' => array('required' => true, 'type' => 'integer'),
39
+ 'page_uri' => array('required' => true, 'type' => 'string')
 
40
  );
41
  }
42
 
69
  */
70
  public function hit_callback(\WP_REST_Request $request)
71
  {
72
+ // Start Record
73
+ Hits::record();
 
 
74
 
75
  $response = new \WP_REST_Response(array(
76
  'status' => true,
77
+ 'message' => __('Visitor Hit recorded successfully.', 'wp-statistics'),
78
  ), 200);
79
 
80
  /**
includes/class-wp-statistics-frontend.php CHANGED
@@ -31,7 +31,7 @@ class Frontend
31
  }
32
 
33
  /*
34
- * Create HTML Comment support Wappalyzer
35
  */
36
  public function html_comment()
37
  {
@@ -64,35 +64,47 @@ class Frontend
64
  }
65
 
66
  /*
67
- * Inline Js
68
  */
69
  public function add_inline_rest_js()
70
  {
71
  if (Option::get('use_cache_plugin')) {
72
 
73
- // WP Statistics HTML comment
 
 
74
  $this->html_comment();
75
 
76
- // Prepare Params
77
- $params = array_merge(array(
78
- '_' => time(),
79
- '_wpnonce' => wp_create_nonce('wp_rest'),
80
  Hits::$rest_hits_key => 'yes',
81
- ), self::set_default_params());
82
-
83
- // Return Script
84
- echo '<script>var WP_Statistics_http = new XMLHttpRequest();WP_Statistics_http.open(\'GET\', \'' . add_query_arg($params, get_rest_url(null, RestAPI::$namespace . '/' . Api\v2\Hit::$endpoint)) . '\', true);WP_Statistics_http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");WP_Statistics_http.send(null);</script>' . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  }
86
  }
87
 
88
- /*
89
- * Set Default Params Rest Api
90
- */
91
- public static function set_default_params()
92
- {
93
- return Helper::getHitsDefaultParams();
94
- }
95
-
96
  /**
97
  * Show Hits in After WordPress the_content
98
  *
31
  }
32
 
33
  /*
34
+ * Create HTML Comment to support Wappalyzer
35
  */
36
  public function html_comment()
37
  {
64
  }
65
 
66
  /*
67
+ * Inline Js for client-side request
68
  */
69
  public function add_inline_rest_js()
70
  {
71
  if (Option::get('use_cache_plugin')) {
72
 
73
+ /**
74
+ * Print out the WP Statistics HTML comment
75
+ */
76
  $this->html_comment();
77
 
78
+ $params = array(
 
 
 
79
  Hits::$rest_hits_key => 'yes',
80
+ );
81
+
82
+ /**
83
+ * Merge parameters
84
+ */
85
+ $params = array_merge($params, Helper::getHitsDefaultParams());
86
+
87
+ /**
88
+ * Build request URL
89
+ */
90
+ $apiUrl = RestAPI::$namespace . '/' . Api\v2\Hit::$endpoint;
91
+ $requestUrl = add_query_arg($params, get_rest_url(null, $apiUrl));
92
+
93
+ /**
94
+ * Print Script
95
+ */
96
+ print('<script>
97
+ let WP_Statistics_Dnd_Active = parseInt(navigator.msDoNotTrack || window.doNotTrack || navigator.doNotTrack, 10);
98
+ if (WP_Statistics_Dnd_Active !== 1) {
99
+ var WP_Statistics_http = new XMLHttpRequest();
100
+ WP_Statistics_http.open("GET", "' . $requestUrl . '" + "&referred=" + encodeURIComponent(document.referrer) + "&_=" + Date.now(), true);
101
+ WP_Statistics_http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
102
+ WP_Statistics_http.send(null);
103
+ }
104
+ </script>');
105
  }
106
  }
107
 
 
 
 
 
 
 
 
 
108
  /**
109
  * Show Hits in After WordPress the_content
110
  *
includes/class-wp-statistics-helper.php CHANGED
@@ -1098,9 +1098,6 @@ class Helper
1098
  // Create Empty Params Object
1099
  $params = array();
1100
 
1101
- //Set Referred
1102
- $params['referred'] = urlencode(Referred::get());
1103
-
1104
  //exclude
1105
  $exclude = Exclusion::check();
1106
  $params['exclusion_match'] = ($exclude['exclusion_match'] === true ? 'yes' : 'no');
@@ -1138,4 +1135,14 @@ class Helper
1138
 
1139
  return "{$mainVersion}.{$anonymousSubVersion}";
1140
  }
 
 
 
 
 
 
 
 
 
 
1141
  }
1098
  // Create Empty Params Object
1099
  $params = array();
1100
 
 
 
 
1101
  //exclude
1102
  $exclude = Exclusion::check();
1103
  $params['exclusion_match'] = ($exclude['exclusion_match'] === true ? 'yes' : 'no');
1135
 
1136
  return "{$mainVersion}.{$anonymousSubVersion}";
1137
  }
1138
+
1139
+ /**
1140
+ * Do not track browser detection
1141
+ *
1142
+ * @return bool
1143
+ */
1144
+ public static function dntEnabled()
1145
+ {
1146
+ return (isset($_SERVER['HTTP_DNT']) && $_SERVER['HTTP_DNT'] == 1) or (function_exists('getallheaders') && isset(getallheaders()['DNT']) && getallheaders()['DNT'] == 1);
1147
+ }
1148
  }
includes/class-wp-statistics-hits.php CHANGED
@@ -146,9 +146,7 @@ class Hits
146
  $data = array();
147
  if (Helper::is_rest_request() and isset($_REQUEST[Hits::$rest_hits_key])) {
148
  foreach ($_REQUEST as $key => $value) {
149
- if (!in_array($key, array('_', '_wpnonce'))) {
150
- $data[$key] = $value;
151
- }
152
  }
153
 
154
  return ($params === false ? $data : (isset($data[$params]) ? $data[$params] : false));
@@ -224,7 +222,7 @@ class Hits
224
  */
225
  public static function record_wp_hits()
226
  {
227
- if (!Option::get('use_cache_plugin')) {
228
  Hits::record();
229
  }
230
  }
146
  $data = array();
147
  if (Helper::is_rest_request() and isset($_REQUEST[Hits::$rest_hits_key])) {
148
  foreach ($_REQUEST as $key => $value) {
149
+ $data[$key] = $value;
 
 
150
  }
151
 
152
  return ($params === false ? $data : (isset($data[$params]) ? $data[$params] : false));
222
  */
223
  public static function record_wp_hits()
224
  {
225
+ if (!Option::get('use_cache_plugin') and !Helper::dntEnabled()) {
226
  Hits::record();
227
  }
228
  }
includes/class-wp-statistics-pages.php CHANGED
@@ -82,7 +82,7 @@ class Pages
82
  }
83
 
84
  //is search page
85
- $search_query = filter_var(get_search_query(false), FILTER_SANITIZE_STRING);
86
  if (trim($search_query) != "") {
87
  return array("type" => "search", "id" => 0, "search_query" => $search_query);
88
  }
@@ -125,11 +125,11 @@ class Pages
125
 
126
  // Get the site's path from the URL.
127
  $site_uri = parse_url(site_url(), PHP_URL_PATH);
128
- $site_uri_len = strlen($site_uri);
129
 
130
  // Get the site's path from the URL.
131
  $home_uri = parse_url(home_url(), PHP_URL_PATH);
132
- $home_uri_len = strlen($home_uri);
133
 
134
  // Get the current page URI.
135
  $page_uri = sanitize_url(wp_unslash($_SERVER["REQUEST_URI"]));
@@ -158,8 +158,8 @@ class Pages
158
  }
159
  }
160
 
161
- //Sanitize Xss injection
162
- $page_uri = filter_var($page_uri, FILTER_SANITIZE_STRING);
163
 
164
  // If we're at the root (aka the URI is blank), let's make sure to indicate it.
165
  if ($page_uri == '') {
@@ -392,6 +392,12 @@ class Pages
392
 
393
  $args = wp_parse_args($args, $defaults);
394
 
 
 
 
 
 
 
395
  // Date Time SQL
396
  $DateTimeSql = "";
397
  if (!empty($args['from']) and !empty($args['to'])) {
@@ -413,7 +419,7 @@ class Pages
413
  $list[] = array(
414
  'title' => $page_info['title'],
415
  'link' => $page_info['link'],
416
- 'str_url' => urldecode($item->uri),
417
  'hits_page' => Menus::admin_url('pages', array('ID' => $item->id, 'type' => $item->type)),
418
  'number' => number_format_i18n($item->count_sum)
419
  );
82
  }
83
 
84
  //is search page
85
+ $search_query = sanitize_url(get_search_query(false));
86
  if (trim($search_query) != "") {
87
  return array("type" => "search", "id" => 0, "search_query" => $search_query);
88
  }
125
 
126
  // Get the site's path from the URL.
127
  $site_uri = parse_url(site_url(), PHP_URL_PATH);
128
+ $site_uri_len = strlen($site_uri ? $site_uri : '');
129
 
130
  // Get the site's path from the URL.
131
  $home_uri = parse_url(home_url(), PHP_URL_PATH);
132
+ $home_uri_len = strlen($home_uri ? $home_uri : '');
133
 
134
  // Get the current page URI.
135
  $page_uri = sanitize_url(wp_unslash($_SERVER["REQUEST_URI"]));
158
  }
159
  }
160
 
161
+ // Sanitize the page URI.
162
+ $page_uri = sanitize_url($page_uri);
163
 
164
  // If we're at the root (aka the URI is blank), let's make sure to indicate it.
165
  if ($page_uri == '') {
392
 
393
  $args = wp_parse_args($args, $defaults);
394
 
395
+ /**
396
+ * Filter the arguments used to query the top pages.
397
+ * @since 13.2.7
398
+ */
399
+ $args = apply_filters('wp_statistics_top_pages_arguments', $args);
400
+
401
  // Date Time SQL
402
  $DateTimeSql = "";
403
  if (!empty($args['from']) and !empty($args['to'])) {
419
  $list[] = array(
420
  'title' => $page_info['title'],
421
  'link' => $page_info['link'],
422
+ 'str_url' => urldecode(sanitize_text_field($item->uri)),
423
  'hits_page' => Menus::admin_url('pages', array('ID' => $item->id, 'type' => $item->type)),
424
  'number' => number_format_i18n($item->count_sum)
425
  );
includes/class-wp-statistics-visitor.php CHANGED
@@ -366,6 +366,26 @@ class Visitor
366
  return $params;
367
  }
368
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369
  /**
370
  * Count User By Custom Filter
371
  *
366
  return $params;
367
  }
368
 
369
+ /**
370
+ * Get Top Pages Visited by a visitor
371
+ *
372
+ * @param $visitor_ID
373
+ * @param $total
374
+ *
375
+ * @return mixed
376
+ */
377
+ public static function get_pages_by_visitor_id($visitor_ID, $total = 5)
378
+ {
379
+ global $wpdb;
380
+
381
+ $visitor_relationships_table = DB::table('visitor_relationships');
382
+ $pages_table = DB::table('pages');
383
+
384
+ // Get Result
385
+ $query = $wpdb->prepare("SELECT DISTINCT {$visitor_relationships_table}.page_id, {$pages_table}.uri FROM {$visitor_relationships_table} INNER JOIN {$pages_table} ON {$visitor_relationships_table}.page_id = {$pages_table}.page_id WHERE {$visitor_relationships_table}.visitor_id = %d ORDER BY {$pages_table}.count DESC LIMIT %d", $visitor_ID, $total);
386
+ return $wpdb->get_results($query, ARRAY_N);
387
+ }
388
+
389
  /**
390
  * Count User By Custom Filter
391
  *
includes/class-wp-statistics.php CHANGED
@@ -381,7 +381,7 @@ final class WP_Statistics
381
  $option = get_option('wp_statistics_disable_addons', 'no');
382
 
383
  // Check
384
- if ($option == "no" and version_compare(WP_STATISTICS_VERSION, '12.6.13', '>')) {
385
  $addOns = array(
386
  'wp-statistics-actions/wp-statistics-actions.php',
387
  'wp-statistics-advanced-reporting/wp-statistics-advanced-reporting.php',
381
  $option = get_option('wp_statistics_disable_addons', 'no');
382
 
383
  // Check
384
+ if ($option == "no" and version_compare(WP_STATISTICS_VERSION, '12.6.13', '<')) {
385
  $addOns = array(
386
  'wp-statistics-actions/wp-statistics-actions.php',
387
  'wp-statistics-advanced-reporting/wp-statistics-advanced-reporting.php',
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === WP Statistics ===
2
- Contributors: mostafa.s1990, kashani, veronalabs, mehrshaddarzi, GregRoss
3
  Donate link: https://wp-statistics.com/donate/
4
  Tags: analytics, wordpress analytics, stats, statistics, visit, visitors, hits, chart, browser, today, yesterday, week, month, year, total, post, page, sidebar, google, live visit, search word, agent, google analytics, webmasters, google webmasters, geoip, location
5
  Requires at least: 4.4
6
  Tested up to: 6.1
7
- Stable tag: 13.2.7
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -131,6 +131,16 @@ Before updating, make sure you disabled all your add-ons, then after that, try t
131
  If you encounter any bug, please create an issue on [GitHub](https://github.com/wp-statistics/wp-statistics/issues/new) where we can act upon them more efficiently. Since [GitHub](https://github.com/wp-statistics/wp-statistics) is not a support forum, just bugs are welcomed, and any other request will be closed.
132
 
133
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
134
  = v13.2.7 - 23.10.2022 =
135
  * Bugfix: The error message while purging all databases
136
  * Update: The ChartJs library updated to v3.9.1
1
  === WP Statistics ===
2
+ Contributors: mostafa.s1990, kashani, veronalabs, GregRoss
3
  Donate link: https://wp-statistics.com/donate/
4
  Tags: analytics, wordpress analytics, stats, statistics, visit, visitors, hits, chart, browser, today, yesterday, week, month, year, total, post, page, sidebar, google, live visit, search word, agent, google analytics, webmasters, google webmasters, geoip, location
5
  Requires at least: 4.4
6
  Tested up to: 6.1
7
+ Stable tag: 13.2.8
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
131
  If you encounter any bug, please create an issue on [GitHub](https://github.com/wp-statistics/wp-statistics/issues/new) where we can act upon them more efficiently. Since [GitHub](https://github.com/wp-statistics/wp-statistics) is not a support forum, just bugs are welcomed, and any other request will be closed.
132
 
133
  == Changelog ==
134
+ = v13.2.8 - 03.12.2022 =
135
+ * Feature: Respect and compatibility with [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) browsers setting.
136
+ * Feature: Add filter `wp_statistics_top_pages_arguments` to change the arguments of top pages.
137
+ * Bugfix: Fix the Add-On notice constraint issue.
138
+ * Bugfix: Sanitize the input of the URLs in the pages list
139
+ * Improvement: Dynamic sending referred in the frontend by JavaScript while Cache is enabled.
140
+ * Improvement: Remove `time` and `_nonce` parameters from the URL of the frontend while Cache is enabled.
141
+ * Improvement: Compatibility with PHP v8.1
142
+ * Improvement: Support method `Helper::get_pages_by_visitor_id()` to get pages by visitor id.
143
+
144
  = v13.2.7 - 23.10.2022 =
145
  * Bugfix: The error message while purging all databases
146
  * Update: The ChartJs library updated to v3.9.1
wp-statistics.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WP Statistics
4
  * Plugin URI: https://wp-statistics.com/
5
  * Description: This plugin gives you the complete information on your website's visitors.
6
- * Version: 13.2.7
7
  * Author: VeronaLabs
8
  * Author URI: https://veronalabs.com/
9
  * Text Domain: wp-statistics
3
  * Plugin Name: WP Statistics
4
  * Plugin URI: https://wp-statistics.com/
5
  * Description: This plugin gives you the complete information on your website's visitors.
6
+ * Version: 13.2.8
7
  * Author: VeronaLabs
8
  * Author URI: https://veronalabs.com/
9
  * Text Domain: wp-statistics