WP Hide & Security Enhancer - Version 1.5.9

Version Description

  • New admin interfaces skin.
  • Relocated plugin assets within a different folder for better organisator.
  • Updated mu-loader module
  • Add help and hints for each options for easier understanding.
  • Allow same base slug to be used for individual plugins
  • Updated language file
  • Check if environment file is not available and outputs admin messages
  • Environment class with relocated environment json, to avoid security scanners false reports.
  • Cache Enabler plugin compatibility module
  • WoodMart theme compatibility
  • Compatibility module for WP Smush and WP Smush PRO plugins
  • Add the new filter available for WP Rocket to change css content
  • WebARX compatibility module update
  • W3 Cache module update
Download this release

Release Info

Developer nsp-code
Plugin Icon 128x128 WP Hide & Security Enhancer
Version 1.5.9
Comparing to
See all releases

Code changes from version 1.5.8.2 to 1.5.9

Files changed (57) hide show
  1. .gitignore +0 -1
  2. assets/css/tipsy.css +25 -0
  3. {css → assets/css}/wph.css +70 -11
  4. assets/images/computer.png +0 -0
  5. assets/images/warning.png +0 -0
  6. assets/js/jquery.tipsy.js +258 -0
  7. assets/js/wph.js +76 -0
  8. compatibility/autoptimize.php +3 -3
  9. compatibility/buddypress.php +3 -3
  10. compatibility/cache-enabler.php +49 -0
  11. compatibility/easy-digital-downloads.php +3 -3
  12. compatibility/themes/woodmart.php +38 -0
  13. compatibility/w3-cache.php +25 -0
  14. compatibility/webarx.php +6 -1
  15. compatibility/wp-rocket.php +19 -0
  16. compatibility/wp-smush.php +49 -0
  17. include/admin-interface.class.php +156 -97
  18. include/class.compatibility.php +7 -0
  19. include/class.environment.php +207 -0
  20. include/functions.class.php +90 -35
  21. include/update.class.php +13 -0
  22. include/wph.class.php +88 -143
  23. js/wph.js +0 -27
  24. languages/wp-hide-security-enhancer.mo +0 -0
  25. languages/wp-hide-security-enhancer.po +1375 -406
  26. modules/components/admin-admin_url.php +26 -3
  27. modules/components/admin-new_wp_login_php.php +34 -6
  28. modules/components/cdn-setup.php +9 -0
  29. modules/components/general-admin-bar.php +17 -4
  30. modules/components/general-feed.php +10 -0
  31. modules/components/general-headers.php +24 -6
  32. modules/components/general-html.php +66 -8
  33. modules/components/general-meta.php +76 -0
  34. modules/components/general-oembed.php +6 -2
  35. modules/components/general-robots-txt.php +9 -0
  36. modules/components/general-scripts.php +11 -0
  37. modules/components/general-styles.php +13 -0
  38. modules/components/general-wpemoji.php +13 -0
  39. modules/components/rewrite-author.php +16 -1
  40. modules/components/rewrite-comments.php +18 -2
  41. modules/components/rewrite-json-rest.php +60 -2
  42. modules/components/rewrite-new_include_path.php +24 -4
  43. modules/components/rewrite-new_plugin_path.php +32 -6
  44. modules/components/rewrite-new_theme_path.php +94 -24
  45. modules/components/rewrite-new_upload_path.php +22 -4
  46. modules/components/rewrite-new_xml-rpc-path.php +49 -2
  47. modules/components/rewrite-root-files.php +50 -6
  48. modules/components/rewrite-search.php +15 -0
  49. modules/components/rewrite-slash.php +15 -3
  50. modules/components/rewrite-wp_content_path.php +24 -5
  51. modules/module-rewrite.php +1 -1
  52. mu-loader/wp-hide-loader.php +3 -1
  53. readme.txt +23 -7
  54. router/class.file-processor.php +14 -8
  55. router/environment.php +0 -2
  56. screenshot-1.png +0 -0
  57. wp-hide.php +7 -9
.gitignore DELETED
@@ -1 +0,0 @@
1
- /router/environment.php
 
assets/css/tipsy.css ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; }
2
+ .tipsy-inner { background-color: #000; color: #FFF; max-width: 200px; padding: 5px 8px 4px 8px; text-align: center; }
3
+
4
+ /* Rounded corners */
5
+ .tipsy-inner { border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
6
+
7
+ /* Uncomment for shadow */
8
+ /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
9
+
10
+ .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; }
11
+
12
+ /* Rules to colour arrows */
13
+ .tipsy-arrow-n { border-bottom-color: #000; }
14
+ .tipsy-arrow-s { border-top-color: #000; }
15
+ .tipsy-arrow-e { border-left-color: #000; }
16
+ .tipsy-arrow-w { border-right-color: #000; }
17
+
18
+ .tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; }
19
+ .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
20
+ .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
21
+ .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
22
+ .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
23
+ .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
24
+ .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; }
25
+ .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; }
{css → assets/css}/wph.css RENAMED
@@ -1,29 +1,67 @@
1
  #wph h2.nav-tab-wrapper{padding-left: 10px;margin-right: 140px;}
2
- #wph h2 .nav-tab {font-size: 12px; font-weight: bold; padding: 2px 10px 3px; margin-right: 0;}
3
  #wph h2 #reset_settings{font-size: 11px; height: auto; line-height: 20px; padding: 1px 5px;}
4
  #wph .ajax_loading {display: none}
5
  #wph .postbox .inside { margin: 0; padding: 0;}
6
  #wph h3.handle {border-bottom: 1px solid #e1e1e1; font-size: 14px; line-height: 1.4; margin: 0; padding: 8px 12px;}
7
- #wph .postbox {margin-bottom: 0px}
8
- #wph .wph_input fieldset label {padding-bottom: 5px; display: block;}
9
  #wph #reset_settings_form .reset_settings { margin-top: -31px;}
10
  #wph h2 #reset_settings, #wph #reset_settings_form .reset_settings { }
11
  #wph span.wph-pro {background-color: #f04d46; color:#FFF; font-weight: bold;display: inline-block; padding: 2px 4px;}
12
 
13
- table.wph_input { border: 0 none; background: #fff;}
 
 
 
 
 
14
  table.wph_input tbody tr td { padding: 10px 12px; border-top: 1px solid #f5f5f5; border-bottom: 0 none; width: 100%;box-sizing: border-box;}
15
  table.wph_input tbody tr td.np {padding: 0px}
16
  table.wph_input tbody tr:first-child td,
17
  table.wph_input tbody tr:first-child td.label { border-top: 0 none;}
18
  table.wph_input tbody tr td.data { padding-bottom: 20px;}
19
- table.wph_input tbody tr td.data p.description {font-size: 12px; margin-bottom: 3px;}
20
  table.wph_input .dashicons {overflow: hidden}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  table.inner_table tbody tr td {padding-bottom: 12px}
23
  .inner_table .description {margin-bottom: 3px; font-style: normal;}
24
  table .submit .submitdelete {line-height: 25px; text-align: left; vertical-align: middle;border-bottom-color: red; color: red; border-bottom-style: solid; border-bottom-width: 1px;padding: 1px 2px; text-decoration: none; margin-right: 20px}
25
  table .submit .submitdelete:hover {color:#FFF; background-color: red; border-color: red}
26
  table.wph_input tbody tr td.label { width: 25%; vertical-align: top; background: #F9F9F9; border-top: 1px solid #f0f0f0; border-right: none}
 
27
  table.apto_rules tbody tr td{border-top: 0 none;}
28
  table.wph_input img {vertical-align: middle;}
29
  table.even_table tr td {background-color:#FCFCFC}
@@ -37,7 +75,7 @@ table .select.multiple {height: 82px}
37
  table.wph_input tbody tr td h4 {margin: 0px; padding-bottom: 6px}
38
  table.wph_input tbody tr td h5 {font-size: 12px; font-weight: normal; margin: 0; padding-bottom: 6px; padding-top: 10px;}
39
  table.wph_input tbody tr td.label label{ font-size: 13px; font-weight: bold; padding: 0; margin: 0; color: #333; cursor: default }
40
- table.wph_input tbody tr td.label p, table.wph_input tbody tr td.label .description{ display: block; font-size: 12px; padding: 6px 0 !important; margin: 0 !important; font-style: normal; line-height: 16px; color: #999;}
41
  table.wph_input tbody tr td.label .description .important {color: #d54e21}
42
  table.wph_input tbody tr td.label .description .dashicons, table.wph_input tbody tr td.label .description span {display: inline-block}
43
  table.wph_input tbody tr td.label .description span {padding-left: 5px; line-height: 18px;}
@@ -49,7 +87,6 @@ table.wph_input tbody tr td.label .description .notice-success, table.wph_input
49
  table.wph_input tbody tr td.label .description a.button {display: inline-block; vertical-align: middle;}
50
  table.wph_input tbody tr.submit td { text-align: right}
51
  table.wph_input tbody tr.submit td.label {border-right: 1px solid #F9F9F9}
52
- table.wph_input input[type=text],table.wph_input textarea,table.wph_input select{ width: 99.95%; outline: none;}
53
  table.wph_input select { padding: 2px;}
54
  table.wph_input input[type=text]:focus,table.wph_input textarea:focus,table.wph_input select:focus { border-color:#98B6CB;}
55
 
@@ -60,10 +97,32 @@ table.wph_input input[type=text]:focus,table.wph_input textarea:focus,table.wph_
60
  .wph-notice p {display: inline-block }
61
  .wph-notice p span {font-weight: bold; cursor: text}
62
 
63
- #info_box {padding: 0 10px; border: 1px dashed #6aadcc; background-color: #FFF; margin: 10px 0 20px 0;-webkit-box-shadow: 1px 1px 7px rgba(50, 50, 50, 0.17);-moz-box-shadow: 1px 1px 7px rgba(50, 50, 50, 0.17);box-shadow: 1px 1px 7px rgba(50, 50, 50, 0.17);}
64
- #info_box a {text-decoration: none}
65
- #info_box #p_right {float: right; background-color:#f5f5f5; border: 1px dashed #6aadcc; padding: 0px 10px; margin-top: 10px}
66
- #info_box .p_s_item {float: right; padding: 0px 5px; margin-top: 10px; margin-bottom: 5px; }
 
 
 
 
 
 
 
 
 
67
 
68
  h2.subtitle {font-size: 15px; font-style: italic; font-weight: bold}
69
  .wrap .example { color: #666666; font-size: 11px; font-weight: bold}
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  #wph h2.nav-tab-wrapper{padding-left: 10px;margin-right: 140px;}
2
+ #wph h2 .nav-tab {font-size: 12px; font-weight: bold; padding: 2px 8px 3px; margin-right: 0;}
3
  #wph h2 #reset_settings{font-size: 11px; height: auto; line-height: 20px; padding: 1px 5px;}
4
  #wph .ajax_loading {display: none}
5
  #wph .postbox .inside { margin: 0; padding: 0;}
6
  #wph h3.handle {border-bottom: 1px solid #e1e1e1; font-size: 14px; line-height: 1.4; margin: 0; padding: 8px 12px;}
7
+ #wph .postbox {margin-bottom: 10px}
8
+ #wph .wph_input fieldset label { margin-bottom: 7px; display: inline-block; }
9
  #wph #reset_settings_form .reset_settings { margin-top: -31px;}
10
  #wph h2 #reset_settings, #wph #reset_settings_form .reset_settings { }
11
  #wph span.wph-pro {background-color: #f04d46; color:#FFF; font-weight: bold;display: inline-block; padding: 2px 4px;}
12
 
13
+
14
+ .wph-postbox {display: flex; border-color: #e5e5e5}
15
+
16
+ #wph .section_title {font-size: 13px; font-weight: bold; padding: 5px 15px 5px; border: 1px solid #ccc; display: inline-block; margin-right: 0;border-bottom: 1px solid #f1f1f1; background:#FFF; color: #000;}
17
+
18
+ table.wph_input { border: 0 none; background: #fff; width: 50%}
19
  table.wph_input tbody tr td { padding: 10px 12px; border-top: 1px solid #f5f5f5; border-bottom: 0 none; width: 100%;box-sizing: border-box;}
20
  table.wph_input tbody tr td.np {padding: 0px}
21
  table.wph_input tbody tr:first-child td,
22
  table.wph_input tbody tr:first-child td.label { border-top: 0 none;}
23
  table.wph_input tbody tr td.data { padding-bottom: 20px;}
24
+ table.wph_input tbody tr td.data p.description {font-size: 12px; margin-bottom: 15px;}
25
  table.wph_input .dashicons {overflow: hidden}
26
+ table.wph_input .options {float: right; display: flex; margin: 0px; padding-top: 5px}
27
+ table.wph_input .options ul {display: inline-block; }
28
+ table.wph_input .options li { padding: 0px 3px}
29
+ table.wph_input .options li a:focus, table.wph_input .options li a:active { outline: 0; border: none; -moz-outline-style: none; }
30
+ table.wph_input .options li span {display:block;cursor: pointer; color: #797979; font-size: 17px;}
31
+ table.wph_input .options li span:hover {color: #000}
32
+ table.wph_input input[type=text],table.wph_input textarea,table.wph_input select{border-color:#dddddd; width: 100%; margin-left: 0px}
33
+
34
+ table.wph_input .advanced.hide {display: none}
35
+ table.wph_input .advanced_notice {background-color: #FFF; border: 1px solid #cfcfd1; border-left: 5px solid #7d6591; margin: 10px 0 10px -16px; display: flex; justify-content: center; padding: 10px 0}
36
+ table.wph_input .advanced_notice .icon {flex: 0 0 60px; text-align: center; margin-top: auto; margin-bottom: auto;}
37
+ table.wph_input .advanced_notice .icon img {max-width: 32px}
38
+ table.wph_input .advanced_notice .text {width: 100%}
39
+ table.wph_input .advanced_notice .text p {color:#4a4949; font-size: 13px;line-height: 17px;}
40
+ table.wph_input .advanced_notice .actions {flex: 0 0 100px; text-align: center; vertical-align: middle; margin-top: auto; margin-bottom: auto;}
41
+
42
+ table.wph_input .options_text{padding: 10px 0; border-left: 4px solid #0073aa;margin-left: -13px;padding-left: 10px; display: flex}
43
+ table.wph_input .options_text.text_pre {margin-bottom: 10px;}
44
+ table.wph_input .options_text.text_post {margin-top: 10px;}
45
+ table.wph_input .options_text .icon {flex: 0 0 60px; text-align: center; margin-top: auto; margin-bottom: auto;}
46
+ table.wph_input .options_text .icon img {max-width: 32px}
47
+ table.wph_input .options_text .text {width: 100%}
48
+ table.wph_input .options_text .text p {color:#4a4949; font-size: 13px;line-height: 17px;}
49
+ table.wph_input .options_text .button {margin-left: 10px}
50
+
51
+ .wph_help {width: 50%; background-color: #f9f9f9; padding: 0 20px; box-sizing: border-box; overflow: hidden; position:relative; border-left: 1px solid #f1f1f1}
52
+ .wph_help::before { color: #ececec; content: "\f118";; display: block; font-family: dashicons; font-size: 232px; line-height: 1; position: absolute; right: 20px; text-align: center; top: 10%; width: 1em; z-index: 1}
53
+ .wph_help .text {max-width: 670px; position: relative; z-index: 1;}
54
+ .wph_help .text p {font-size: 12px; color: #999;}
55
+ .wph_help .text p br {content: ""; margin: 3px; display: block; font-size: 24%;}
56
+ .wph_help .text p a {text-decoration: none}
57
+ .wph_help .text p .important {color: #d54e21;}
58
 
59
  table.inner_table tbody tr td {padding-bottom: 12px}
60
  .inner_table .description {margin-bottom: 3px; font-style: normal;}
61
  table .submit .submitdelete {line-height: 25px; text-align: left; vertical-align: middle;border-bottom-color: red; color: red; border-bottom-style: solid; border-bottom-width: 1px;padding: 1px 2px; text-decoration: none; margin-right: 20px}
62
  table .submit .submitdelete:hover {color:#FFF; background-color: red; border-color: red}
63
  table.wph_input tbody tr td.label { width: 25%; vertical-align: top; background: #F9F9F9; border-top: 1px solid #f0f0f0; border-right: none}
64
+ table.wph_input tbody tr td.label.advanced {border-left: 4px solid orange;}
65
  table.apto_rules tbody tr td{border-top: 0 none;}
66
  table.wph_input img {vertical-align: middle;}
67
  table.even_table tr td {background-color:#FCFCFC}
75
  table.wph_input tbody tr td h4 {margin: 0px; padding-bottom: 6px}
76
  table.wph_input tbody tr td h5 {font-size: 12px; font-weight: normal; margin: 0; padding-bottom: 6px; padding-top: 10px;}
77
  table.wph_input tbody tr td.label label{ font-size: 13px; font-weight: bold; padding: 0; margin: 0; color: #333; cursor: default }
78
+ table.wph_input .label p, table.wph_input .label .description{ display: block; font-size: 12px; padding: 6px 0 !important; margin: 0 !important; font-style: normal; line-height: 16px; color: #999;}
79
  table.wph_input tbody tr td.label .description .important {color: #d54e21}
80
  table.wph_input tbody tr td.label .description .dashicons, table.wph_input tbody tr td.label .description span {display: inline-block}
81
  table.wph_input tbody tr td.label .description span {padding-left: 5px; line-height: 18px;}
87
  table.wph_input tbody tr td.label .description a.button {display: inline-block; vertical-align: middle;}
88
  table.wph_input tbody tr.submit td { text-align: right}
89
  table.wph_input tbody tr.submit td.label {border-right: 1px solid #F9F9F9}
 
90
  table.wph_input select { padding: 2px;}
91
  table.wph_input input[type=text]:focus,table.wph_input textarea:focus,table.wph_input select:focus { border-color:#98B6CB;}
92
 
97
  .wph-notice p {display: inline-block }
98
  .wph-notice p span {font-weight: bold; cursor: text}
99
 
100
+
101
+ #info_box {background-color: #FFF; display: flex; padding: 10px 20px 20px 0; margin-bottom: 20px}
102
+ #info_box .image { max-width: 200px; padding: 10px 0px 0px 30px}
103
+ #info_box .image img {max-width: 100%}
104
+ #info_box .text {}
105
+ #info_box .text h4, #info_box .text p {margin: 10px 0}
106
+ #info_box .text h4 {text-transform: uppercase}
107
+ #info_box .text a {text-decoration: none}
108
+ #info_box .text span.split {line-height: 1px; font-size: 1px; height: 1px; border-bottom: 1px solid #e6e6e6; width: 50%; display: block}
109
+ #info_box #social {display: flex; padding-top: 10px}
110
+ #info_box #social .social-item:not(:first-child) {padding-left: 10px}
111
+
112
+
113
 
114
  h2.subtitle {font-size: 15px; font-style: italic; font-weight: bold}
115
  .wrap .example { color: #666666; font-size: 11px; font-weight: bold}
116
+
117
+
118
+
119
+
120
+ @media screen and (max-width: 650px) {
121
+ #info_box {display: block; padding: 20px}
122
+ #info_box .image { text-align: center; width: 100%; max-width: 100%;}
123
+ #info_box .text span.split {width: 100%}
124
+
125
+ .wph-postbox {display: block}
126
+ .wph_help, table.wph_input {width: 100%}
127
+
128
+ }
assets/images/computer.png ADDED
Binary file
assets/images/warning.png ADDED
Binary file
assets/js/jquery.tipsy.js ADDED
@@ -0,0 +1,258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // tipsy, facebook style tooltips for jquery
2
+ // version 1.0.0a
3
+ // (c) 2008-2010 jason frame [jason@onehackoranother.com]
4
+ // released under the MIT license
5
+
6
+ (function($) {
7
+
8
+ function maybeCall(thing, ctx) {
9
+ return (typeof thing == 'function') ? (thing.call(ctx)) : thing;
10
+ };
11
+
12
+ function isElementInDOM(ele) {
13
+ while (ele = ele.parentNode) {
14
+ if (ele == document) return true;
15
+ }
16
+ return false;
17
+ };
18
+
19
+ function Tipsy(element, options) {
20
+ this.$element = $(element);
21
+ this.options = options;
22
+ this.enabled = true;
23
+ this.fixTitle();
24
+ };
25
+
26
+ Tipsy.prototype = {
27
+ show: function() {
28
+ var title = this.getTitle();
29
+ if (title && this.enabled) {
30
+ var $tip = this.tip();
31
+
32
+ $tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
33
+ $tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity
34
+ $tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).prependTo(document.body);
35
+
36
+ var pos = $.extend({}, this.$element.offset(), {
37
+ width: this.$element[0].offsetWidth,
38
+ height: this.$element[0].offsetHeight
39
+ });
40
+
41
+ var actualWidth = $tip[0].offsetWidth,
42
+ actualHeight = $tip[0].offsetHeight,
43
+ gravity = maybeCall(this.options.gravity, this.$element[0]);
44
+
45
+ var tp;
46
+ switch (gravity.charAt(0)) {
47
+ case 'n':
48
+ tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
49
+ break;
50
+ case 's':
51
+ tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
52
+ break;
53
+ case 'e':
54
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset};
55
+ break;
56
+ case 'w':
57
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset};
58
+ break;
59
+ }
60
+
61
+ if (gravity.length == 2) {
62
+ if (gravity.charAt(1) == 'w') {
63
+ tp.left = pos.left + pos.width / 2 - 15;
64
+ } else {
65
+ tp.left = pos.left + pos.width / 2 - actualWidth + 15;
66
+ }
67
+ }
68
+
69
+ $tip.css(tp).addClass('tipsy-' + gravity);
70
+ $tip.find('.tipsy-arrow')[0].className = 'tipsy-arrow tipsy-arrow-' + gravity.charAt(0);
71
+ if (this.options.className) {
72
+ $tip.addClass(maybeCall(this.options.className, this.$element[0]));
73
+ }
74
+
75
+ if (this.options.fade) {
76
+ $tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity});
77
+ } else {
78
+ $tip.css({visibility: 'visible', opacity: this.options.opacity});
79
+ }
80
+ }
81
+ },
82
+
83
+ hide: function() {
84
+ if (this.options.fade) {
85
+ this.tip().stop().fadeOut(function() { $(this).remove(); });
86
+ } else {
87
+ this.tip().remove();
88
+ }
89
+ },
90
+
91
+ fixTitle: function() {
92
+ var $e = this.$element;
93
+ if ($e.attr('title') || typeof($e.attr('original-title')) != 'string') {
94
+ $e.attr('original-title', $e.attr('title') || '').removeAttr('title');
95
+ }
96
+ },
97
+
98
+ getTitle: function() {
99
+ var title, $e = this.$element, o = this.options;
100
+ this.fixTitle();
101
+ var title, o = this.options;
102
+ if (typeof o.title == 'string') {
103
+ title = $e.attr(o.title == 'title' ? 'original-title' : o.title);
104
+ } else if (typeof o.title == 'function') {
105
+ title = o.title.call($e[0]);
106
+ }
107
+ title = ('' + title).replace(/(^\s*|\s*$)/, "");
108
+ return title || o.fallback;
109
+ },
110
+
111
+ tip: function() {
112
+ if (!this.$tip) {
113
+ this.$tip = $('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>');
114
+ this.$tip.data('tipsy-pointee', this.$element[0]);
115
+ }
116
+ return this.$tip;
117
+ },
118
+
119
+ validate: function() {
120
+ if (!this.$element[0].parentNode) {
121
+ this.hide();
122
+ this.$element = null;
123
+ this.options = null;
124
+ }
125
+ },
126
+
127
+ enable: function() { this.enabled = true; },
128
+ disable: function() { this.enabled = false; },
129
+ toggleEnabled: function() { this.enabled = !this.enabled; }
130
+ };
131
+
132
+ $.fn.tipsy = function(options) {
133
+
134
+ if (options === true) {
135
+ return this.data('tipsy');
136
+ } else if (typeof options == 'string') {
137
+ var tipsy = this.data('tipsy');
138
+ if (tipsy) tipsy[options]();
139
+ return this;
140
+ }
141
+
142
+ options = $.extend({}, $.fn.tipsy.defaults, options);
143
+
144
+ function get(ele) {
145
+ var tipsy = $.data(ele, 'tipsy');
146
+ if (!tipsy) {
147
+ tipsy = new Tipsy(ele, $.fn.tipsy.elementOptions(ele, options));
148
+ $.data(ele, 'tipsy', tipsy);
149
+ }
150
+ return tipsy;
151
+ }
152
+
153
+ function enter() {
154
+ var tipsy = get(this);
155
+ tipsy.hoverState = 'in';
156
+ if (options.delayIn == 0) {
157
+ tipsy.show();
158
+ } else {
159
+ tipsy.fixTitle();
160
+ setTimeout(function() { if (tipsy.hoverState == 'in') tipsy.show(); }, options.delayIn);
161
+ }
162
+ };
163
+
164
+ function leave() {
165
+ var tipsy = get(this);
166
+ tipsy.hoverState = 'out';
167
+ if (options.delayOut == 0) {
168
+ tipsy.hide();
169
+ } else {
170
+ setTimeout(function() { if (tipsy.hoverState == 'out') tipsy.hide(); }, options.delayOut);
171
+ }
172
+ };
173
+
174
+ if (!options.live) this.each(function() { get(this); });
175
+
176
+ if (options.trigger != 'manual') {
177
+ var binder = options.live ? 'live' : 'bind',
178
+ eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
179
+ eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
180
+ this[binder](eventIn, enter)[binder](eventOut, leave);
181
+ }
182
+
183
+ return this;
184
+
185
+ };
186
+
187
+ $.fn.tipsy.defaults = {
188
+ className: null,
189
+ delayIn: 0,
190
+ delayOut: 0,
191
+ fade: false,
192
+ fallback: '',
193
+ gravity: 'n',
194
+ html: false,
195
+ live: false,
196
+ offset: 0,
197
+ opacity: 0.8,
198
+ title: 'title',
199
+ trigger: 'hover'
200
+ };
201
+
202
+ $.fn.tipsy.revalidate = function() {
203
+ $('.tipsy').each(function() {
204
+ var pointee = $.data(this, 'tipsy-pointee');
205
+ if (!pointee || !isElementInDOM(pointee)) {
206
+ $(this).remove();
207
+ }
208
+ });
209
+ };
210
+
211
+ // Overwrite this method to provide options on a per-element basis.
212
+ // For example, you could store the gravity in a 'tipsy-gravity' attribute:
213
+ // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
214
+ // (remember - do not modify 'options' in place!)
215
+ $.fn.tipsy.elementOptions = function(ele, options) {
216
+ return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
217
+ };
218
+
219
+ $.fn.tipsy.autoNS = function() {
220
+ return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
221
+ };
222
+
223
+ $.fn.tipsy.autoWE = function() {
224
+ return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
225
+ };
226
+
227
+ /**
228
+ * yields a closure of the supplied parameters, producing a function that takes
229
+ * no arguments and is suitable for use as an autogravity function like so:
230
+ *
231
+ * @param margin (int) - distance from the viewable region edge that an
232
+ * element should be before setting its tooltip's gravity to be away
233
+ * from that edge.
234
+ * @param prefer (string, e.g. 'n', 'sw', 'w') - the direction to prefer
235
+ * if there are no viewable region edges effecting the tooltip's
236
+ * gravity. It will try to vary from this minimally, for example,
237
+ * if 'sw' is preferred and an element is near the right viewable
238
+ * region edge, but not the top edge, it will set the gravity for
239
+ * that element's tooltip to be 'se', preserving the southern
240
+ * component.
241
+ */
242
+ $.fn.tipsy.autoBounds = function(margin, prefer) {
243
+ return function() {
244
+ var dir = {ns: prefer[0], ew: (prefer.length > 1 ? prefer[1] : false)},
245
+ boundTop = $(document).scrollTop() + margin,
246
+ boundLeft = $(document).scrollLeft() + margin,
247
+ $this = $(this);
248
+
249
+ if ($this.offset().top < boundTop) dir.ns = 'n';
250
+ if ($this.offset().left < boundLeft) dir.ew = 'w';
251
+ if ($(window).width() + $(document).scrollLeft() - $this.offset().left < margin) dir.ew = 'e';
252
+ if ($(window).height() + $(document).scrollTop() - $this.offset().top < margin) dir.ns = 's';
253
+
254
+ return dir.ns + (dir.ew ? dir.ew : '');
255
+ }
256
+ };
257
+
258
+ })(jQuery);
assets/js/wph.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+ class WPH_Class {
4
+
5
+ selectText(node)
6
+ {
7
+
8
+ node = document.getElementById(node);
9
+
10
+ if (document.body.createTextRange) {
11
+ const range = document.body.createTextRange();
12
+ range.moveToElementText(node);
13
+ range.select();
14
+ } else if (window.getSelection) {
15
+ const selection = window.getSelection();
16
+ const range = document.createRange();
17
+ range.selectNodeContents(node);
18
+ selection.removeAllRanges();
19
+ selection.addRange(range);
20
+ } else {
21
+ console.warn("Could not select text in node: Unsupported browser.");
22
+ }
23
+ }
24
+
25
+ showAdvanced( element )
26
+ {
27
+ jQuery( element ).closest('.wph_input').find('tr.advanced').show('fast');
28
+ jQuery( element ).closest('.advanced_notice').slideUp('fast', function() { jQuery(this).hide() });
29
+
30
+
31
+ }
32
+
33
+ randomWord( element, extension )
34
+ {
35
+ var length = 7;
36
+ var consonants = 'bcdfghjlmnpqrstv',
37
+ vowels = 'aeiou',
38
+ rand = function(limit) {
39
+ return Math.floor(Math.random()*limit);
40
+ },
41
+ i, word='', length = parseInt(length,10),
42
+ consonants = consonants.split(''),
43
+ vowels = vowels.split('');
44
+
45
+ for (i=0;i<length/2;i++)
46
+ {
47
+ var randConsonant = consonants[rand(consonants.length)],
48
+ randVowel = vowels[rand(vowels.length)];
49
+ word += randConsonant;
50
+ word += i*2<length-1 ? randVowel : '';
51
+ }
52
+
53
+ if ( extension != '' )
54
+ word = word.concat( '.' + extension );
55
+
56
+ jQuery( element ).closest('.wph_input').find('.entry input.text').val( word );
57
+ }
58
+
59
+
60
+ clear ( element )
61
+ {
62
+ jQuery( element ).closest('.wph_input').find('.entry input.text').val( '' );
63
+ }
64
+
65
+ }
66
+
67
+ var WPH = new WPH_Class();
68
+
69
+
70
+
71
+
72
+ jQuery( document ).ready( function() {
73
+
74
+ jQuery('.options span').tipsy({fade: false, gravity: 's'});
75
+ })
76
+
compatibility/autoptimize.php CHANGED
@@ -12,7 +12,7 @@
12
  static function init()
13
  {
14
  if( ! self::is_plugin_active())
15
- return FALSE;
16
 
17
  add_filter( 'autoptimize_css_after_minify', array( 'WPH_conflict_handle_autoptimize', 'autoptimize_css_after_minify' ), 999);
18
  add_filter( 'autoptimize_js_after_minify', array( 'WPH_conflict_handle_autoptimize', 'autoptimize_js_after_minify' ), 999);
@@ -25,9 +25,9 @@
25
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
26
 
27
  if(is_plugin_active( 'autoptimize/autoptimize.php' ))
28
- return TRUE;
29
  else
30
- return FALSE;
31
  }
32
 
33
  static public function autoptimize_css_after_minify( $code )
12
  static function init()
13
  {
14
  if( ! self::is_plugin_active())
15
+ return false;
16
 
17
  add_filter( 'autoptimize_css_after_minify', array( 'WPH_conflict_handle_autoptimize', 'autoptimize_css_after_minify' ), 999);
18
  add_filter( 'autoptimize_js_after_minify', array( 'WPH_conflict_handle_autoptimize', 'autoptimize_js_after_minify' ), 999);
25
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
26
 
27
  if(is_plugin_active( 'autoptimize/autoptimize.php' ))
28
+ return true;
29
  else
30
+ return false;
31
  }
32
 
33
  static public function autoptimize_css_after_minify( $code )
compatibility/buddypress.php CHANGED
@@ -7,7 +7,7 @@
7
  static function init()
8
  {
9
  if( ! self::is_plugin_active())
10
- return FALSE;
11
 
12
  //add bufer filtering for sueprcache plugin
13
  //trigger only on admin
@@ -27,9 +27,9 @@
27
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
28
 
29
  if(is_plugin_active( 'buddypress/bp-loader.php' ))
30
- return TRUE;
31
  else
32
- return FALSE;
33
  }
34
 
35
  static public function budypress()
7
  static function init()
8
  {
9
  if( ! self::is_plugin_active())
10
+ return false;
11
 
12
  //add bufer filtering for sueprcache plugin
13
  //trigger only on admin
27
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
28
 
29
  if(is_plugin_active( 'buddypress/bp-loader.php' ))
30
+ return true;
31
  else
32
+ return false;
33
  }
34
 
35
  static public function budypress()
compatibility/cache-enabler.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Compatibility for Plugin Name: Cache Enabler
5
+ * Compatibility checked on Version: 1.3.4
6
+ */
7
+
8
+
9
+ class WPH_conflict_handle_cache_enabler
10
+ {
11
+
12
+ static function init()
13
+ {
14
+ if( ! self::is_plugin_active() )
15
+ return FALSE;
16
+
17
+ add_filter( 'cache_enabler_before_store', array( 'WPH_conflict_handle_cache_enabler', 'cache_enabler_before_store'), 999 );
18
+
19
+ }
20
+
21
+ static function is_plugin_active()
22
+ {
23
+
24
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
25
+
26
+ if(is_plugin_active( 'cache-enabler/cache-enabler.php' ))
27
+ return TRUE;
28
+ else
29
+ return FALSE;
30
+ }
31
+
32
+ static function cache_enabler_before_store( $buffer )
33
+ {
34
+
35
+ global $wph;
36
+
37
+ $buffer = $wph->functions->content_urls_replacement( $buffer, $wph->functions->get_replacement_list() );
38
+
39
+ return $buffer;
40
+
41
+ }
42
+
43
+ }
44
+
45
+
46
+ WPH_conflict_handle_cache_enabler::init();
47
+
48
+
49
+ ?>
compatibility/easy-digital-downloads.php CHANGED
@@ -7,7 +7,7 @@
7
  static function init()
8
  {
9
  if( ! self::is_plugin_active())
10
- return FALSE;
11
 
12
  add_filter( 'edd_start_session', array( 'WPH_conflict_handle_edd' , 'edd_start_session' ), -1 );
13
  }
@@ -18,9 +18,9 @@
18
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
19
 
20
  if(is_plugin_active( 'easy-digital-downloads/easy-digital-downloads.php' ))
21
- return TRUE;
22
  else
23
- return FALSE;
24
  }
25
 
26
  static function edd_start_session( $start_session )
7
  static function init()
8
  {
9
  if( ! self::is_plugin_active())
10
+ return false;
11
 
12
  add_filter( 'edd_start_session', array( 'WPH_conflict_handle_edd' , 'edd_start_session' ), -1 );
13
  }
18
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
19
 
20
  if(is_plugin_active( 'easy-digital-downloads/easy-digital-downloads.php' ))
21
+ return true;
22
  else
23
+ return false;
24
  }
25
 
26
  static function edd_start_session( $start_session )
compatibility/themes/woodmart.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Theme Compatibility : Woodmart
5
+ * Introduced at version : 4.2.2
6
+ */
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
+
10
+
11
+ class WPH_conflict_theme_woodmart
12
+ {
13
+
14
+ static function init()
15
+ {
16
+ add_filter( 'woodmart_get_all_theme_settings_css', array( 'WPH_conflict_theme_woodmart', 'woodmart_get_all_theme_settings_css') );
17
+ }
18
+
19
+
20
+ static public function woodmart_get_all_theme_settings_css( $css )
21
+ {
22
+
23
+ global $wph;
24
+
25
+ $css = $wph->functions->content_urls_replacement( $css, $wph->functions->get_replacement_list() );
26
+
27
+ return $css;
28
+
29
+ }
30
+
31
+
32
+ }
33
+
34
+
35
+ WPH_conflict_theme_woodmart::init();
36
+
37
+
38
+ ?>
compatibility/w3-cache.php CHANGED
@@ -7,6 +7,10 @@
7
  static function init()
8
  {
9
  add_action('plugins_loaded', array('WPH_conflict_handle_w3_cache', 'pagecache') , -1);
 
 
 
 
10
  }
11
 
12
  static function is_plugin_active()
@@ -50,6 +54,27 @@
50
  return $value;
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  }
55
 
7
  static function init()
8
  {
9
  add_action('plugins_loaded', array('WPH_conflict_handle_w3_cache', 'pagecache') , -1);
10
+
11
+ add_filter( 'w3tc_filename_to_url', array('WPH_conflict_handle_w3_cache', 'w3tc_filename_to_url') , -1);
12
+
13
+ add_filter( 'init' , array('WPH_conflict_handle_w3_cache', 'on_init') , -1);
14
  }
15
 
16
  static function is_plugin_active()
54
  return $value;
55
  }
56
 
57
+
58
+ static public function w3tc_filename_to_url( $url )
59
+ {
60
+ global $wph;
61
+
62
+ //do replacements for this url
63
+ $url = $wph->functions->content_urls_replacement($url, $wph->functions->get_replacement_list() );
64
+
65
+ return $url;
66
+ }
67
+
68
+
69
+ static public function on_init()
70
+ {
71
+
72
+ if ( preg_match( '/\/cache\/minify\/\w+\.(?:css|js)/i', $_SERVER['REQUEST_URI'] ) )
73
+ {
74
+ add_filter( 'wp-hide/ignore_ob_start_callback', '__return_true' );
75
+ }
76
+
77
+ }
78
 
79
  }
80
 
compatibility/webarx.php CHANGED
@@ -33,7 +33,12 @@
33
  if ( empty ( $new_login ) )
34
  return;
35
 
36
- echo "<div class='error'><p><b>". __("WP Hide Conflict Notice.", 'wp-hide-security-enhancer') . "</b> ". __("You use another plugin (WPS Hide Login) to change the default wp-login.php. To avoid conflicts, activate the option within a single code.", 'wp-hide-security-enhancer') .'</p></div>';
 
 
 
 
 
37
 
38
  }
39
 
33
  if ( empty ( $new_login ) )
34
  return;
35
 
36
+ //check if the other plugin also use similar feature
37
+ $webarx_mv_wp_login = get_option( 'webarx_mv_wp_login' );
38
+ $webarx_rename_wp_login = get_option( 'webarx_rename_wp_login' );
39
+
40
+ if ( ! empty ( $webarx_mv_wp_login ) && ! empty ( $webarx_rename_wp_login ) )
41
+ echo "<div class='error'><p><b>". __("WP Hide Conflict Notice.", 'wp-hide-security-enhancer') . "</b> ". __("You use another plugin (WebARX) to change the default wp-login.php. To avoid conflicts, activate the option within a single code.", 'wp-hide-security-enhancer') .'</p></div>';
42
 
43
  }
44
 
compatibility/wp-rocket.php CHANGED
@@ -13,6 +13,11 @@
13
  add_filter( 'rocket_buffer', array( 'WPH_conflict_handle_wp_rocket', 'rocket_buffer'), 999 );
14
 
15
  add_filter( 'rocket_js_url', array( 'WPH_conflict_handle_wp_rocket', 'rocket_js_url'), 999 );
 
 
 
 
 
16
  }
17
 
18
  static function is_plugin_active()
@@ -259,6 +264,20 @@
259
  return $url ;
260
  }
261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
 
263
  }
264
 
13
  add_filter( 'rocket_buffer', array( 'WPH_conflict_handle_wp_rocket', 'rocket_buffer'), 999 );
14
 
15
  add_filter( 'rocket_js_url', array( 'WPH_conflict_handle_wp_rocket', 'rocket_js_url'), 999 );
16
+
17
+ /**
18
+ * This filter will be introduced at a later verion on WP Rocket plugin ( >= 3.4 )..
19
+ */
20
+ add_filter( 'rocket_css_content', array( 'WPH_conflict_handle_wp_rocket', 'rocket_css_content'), 999 );
21
  }
22
 
23
  static function is_plugin_active()
264
  return $url ;
265
  }
266
 
267
+
268
+
269
+ static public function rocket_css_content( $content )
270
+ {
271
+ global $wph;
272
+
273
+ //retrieve the replacements list
274
+ $replacement_list = $wph->functions->get_replacement_list();
275
+
276
+ //replace the urls
277
+ $content = $wph->functions->content_urls_replacement( $content, $replacement_list );
278
+
279
+ return $content;
280
+ }
281
 
282
  }
283
 
compatibility/wp-smush.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Compatibility for Plugin Name: WP Smush and WP Smush PRO
5
+ * Compatibility checked on Version: 3.4.0
6
+ */
7
+
8
+ class WPH_conflict_handle_wp_smush
9
+ {
10
+
11
+ static function init()
12
+ {
13
+ if( ! self::is_plugin_active() )
14
+ return FALSE;
15
+
16
+ add_filter( 'smush_filter_generate_cdn_url', array( 'WPH_conflict_handle_wp_smush', 'smush_filter_generate_cdn_url'), 1 );
17
+
18
+ }
19
+
20
+ static function is_plugin_active()
21
+ {
22
+
23
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
24
+
25
+ if( is_plugin_active( 'wp-smushit/wp-smush.php' ) || is_plugin_active( 'wp-smush-pro/wp-smush.php' ) )
26
+ return TRUE;
27
+ else
28
+ return FALSE;
29
+ }
30
+
31
+ static function smush_filter_generate_cdn_url( $src )
32
+ {
33
+
34
+ global $wph;
35
+
36
+ $src = $wph->functions->content_urls_replacement( $src, $wph->functions->get_replacement_list() );
37
+
38
+ return $src;
39
+
40
+ }
41
+
42
+
43
+ }
44
+
45
+
46
+ WPH_conflict_handle_wp_smush::init();
47
+
48
+
49
+ ?>
include/admin-interface.class.php CHANGED
@@ -33,7 +33,7 @@
33
  //identify the module by slug
34
  $this->module = $this->functions->get_module_by_slug($this->screen_slug);
35
 
36
- if(empty($this->tab_slug) && $this->module->use_tabs === TRUE)
37
  {
38
  //get the first component
39
  foreach($this->module->components as $module_component)
@@ -73,7 +73,7 @@
73
 
74
  $this->show_recovery();
75
 
76
- if($this->module->use_tabs === TRUE)
77
  $this->_generate_interface_tabs();
78
 
79
  ?>
@@ -90,32 +90,26 @@
90
 
91
  <form method="post" action="">
92
  <?php wp_nonce_field( 'wph/interface_fields', 'wph-interface-nonce' ); ?>
93
-
 
94
  <?php
95
-
96
- $outputed_module = FALSE;
97
-
98
  foreach($this->module_settings as $module_setting)
99
  {
100
-
101
- $this->_generate_module_html($module_setting, $outputed_module);
102
-
103
-
104
- $outputed_module = TRUE;
105
  }
106
 
107
-
108
  ?>
109
-
110
- <table class="wph_input widefat">
111
- <tbody>
112
- <tr class="submit">
113
- <td class="label">&nbsp;</td>
114
- <td class="label">
115
- <input type="submit" value="<?php _e('Save', 'wp-hide-security-enhancer') ?>" class="button-primary alignright">
116
- </td>
117
- </tr>
118
-
119
  </tbody>
120
  </table>
121
  </form>
@@ -129,101 +123,166 @@
129
  }
130
 
131
 
132
- function _generate_module_html($module_setting, $outputed_module)
133
  {
134
 
135
- if(isset($module_setting['type']) && $module_setting['type'] == 'split' && $outputed_module === TRUE)
136
  {
137
- ?>
138
- <p>&nbsp;</p>
139
- <?php
 
 
 
 
 
 
 
 
 
140
 
141
  return;
142
  }
143
- else if (isset($module_setting['type']) && $module_setting['type'] == 'split' && $outputed_module !== TRUE)
144
- {
145
-
146
- return;
147
- }
148
 
149
  if($module_setting['visible'] === FALSE)
150
  return;
 
 
 
 
 
151
 
 
 
 
152
  ?>
153
- <div class="postbox">
154
- <table class="wph_input widefat">
155
- <tbody>
156
-
157
- <tr>
158
- <td class="label">
159
- <label for=""><?php echo $module_setting['label'] ?></label>
160
- <?php
161
-
162
- if(is_array($module_setting['description']))
163
- {
164
- foreach($module_setting['description'] as $description)
 
 
165
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  ?>
167
- <div class="description"><?php echo nl2br($description) ?></div>
 
 
 
 
 
 
 
 
 
 
 
168
  <?php
169
- }
170
- }
171
- else
172
- {
173
- ?>
174
- <p class="description"><?php echo nl2br($module_setting['description']) ?></p>
175
- <?php
176
- } ?>
177
- </td>
178
- </tr>
179
- <tr>
180
- <td class="data">
181
- <?php if(!empty($module_setting['value_description'])) { ?><p class="description"><?php echo $module_setting['value_description'] ?></p><?php } ?>
182
- <?php
183
-
184
- $option_name = $module_setting['id'];
185
- $value = $this->wph->get_setting_value( $option_name, $module_setting );
186
-
187
- switch($module_setting['input_type'])
188
- {
189
- case 'text' :
190
- $class = 'text';
191
-
192
- ?><input name="<?php echo $module_setting['id'] ?>" class="<?php echo $class ?>" value="<?php echo esc_html($value) ?>" placeholder="<?php echo esc_html($module_setting['placeholder']) ?>" type="text"><?php
193
-
194
- break;
195
-
196
- case 'textarea' :
197
- $class = 'textarea';
198
 
199
- ?><textarea rows="7" name="<?php echo $module_setting['id'] ?>" class="<?php echo $class ?>"><?php echo stripslashes ( esc_html($value) ) ?></textarea><?php
200
 
201
  break;
202
-
203
- case 'radio' :
204
- $class = 'radio';
205
-
206
- ?>
207
- <fieldset>
208
- <?php
209
 
210
- foreach($module_setting['options'] as $option_value => $option_title)
211
- {
212
- ?><label><input type="radio" class="<?php echo $class ?>" <?php checked($value, $option_value) ?> value="<?php echo $option_value ?>" name="<?php echo $module_setting['id'] ?>"> <span><?php echo esc_html($option_title) ?></span></label><?php
213
- }
 
 
214
 
 
 
 
215
  ?>
216
- </fieldset>
217
- <?php
218
-
219
- break;
220
- }
221
-
222
- ?>
223
- </td>
224
- </tr>
225
- </tbody>
226
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  </div>
228
 
229
  <?php
33
  //identify the module by slug
34
  $this->module = $this->functions->get_module_by_slug($this->screen_slug);
35
 
36
+ if(empty($this->tab_slug) && $this->module->use_tabs === true )
37
  {
38
  //get the first component
39
  foreach($this->module->components as $module_component)
73
 
74
  $this->show_recovery();
75
 
76
+ if( $this->module->use_tabs === true )
77
  $this->_generate_interface_tabs();
78
 
79
  ?>
90
 
91
  <form method="post" action="">
92
  <?php wp_nonce_field( 'wph/interface_fields', 'wph-interface-nonce' ); ?>
93
+
94
+ <div class="options">
95
  <?php
96
+
 
 
97
  foreach($this->module_settings as $module_setting)
98
  {
99
+ $this->_generate_module_html( $module_setting );
 
 
 
 
100
  }
101
 
 
102
  ?>
103
+ </div>
104
+
105
+ <table class="wph_submit widefat">
106
+ <tbody>
107
+ <tr class="submit">
108
+ <td class="label">&nbsp;</td>
109
+ <td class="label">
110
+ <input type="submit" value="<?php _e('Save', 'wp-hide-security-enhancer') ?>" class="button-primary alignright">
111
+ </td>
112
+ </tr>
113
  </tbody>
114
  </table>
115
  </form>
123
  }
124
 
125
 
126
+ function _generate_module_html( $module_setting )
127
  {
128
 
129
+ if(isset($module_setting['type']) && $module_setting['type'] == 'split' )
130
  {
131
+ if ( ! empty ( $module_setting['label'] ) )
132
+ {
133
+ ?>
134
+ <div class="section_title"><?php echo $module_setting['label'] ?></div>
135
+ <?php
136
+ }
137
+ else
138
+ {
139
+ ?>
140
+ <p>&nbsp;</p>
141
+ <?php
142
+ }
143
 
144
  return;
145
  }
146
+
 
 
 
 
147
 
148
  if($module_setting['visible'] === FALSE)
149
  return;
150
+
151
+
152
+ $option_name = $module_setting['id'];
153
+ $value = $this->wph->get_setting_value( $option_name, $module_setting );
154
+
155
 
156
+ $is_advanced = ! empty ( $module_setting['advanced_option'] ) ? TRUE : FALSE;
157
+ $hide_advanced = ( $is_advanced && ( $value == 'no' || empty ( $value ) )) ? TRUE : FALSE;
158
+
159
  ?>
160
+ <div class="postbox wph-postbox">
161
+ <table class="wph_input widefat">
162
+ <tbody>
163
+
164
+ <tr>
165
+ <td class="label<?php if ( $is_advanced ) { echo ' advanced'; } ?>">
166
+ <ul class="options">
167
+ <?php if ( $module_setting['input_type'] != 'radio' ) { ?>
168
+ <li><span class="dashicons dashicons-rest-api" title='Generate random value for the field' onClick="WPH.randomWord( this, '<?php if ( ! empty ($module_setting['help']['input_value_extension'])) { echo $module_setting['help']['input_value_extension']; } ?>' )"></span></li>
169
+ <li><span class="dashicons dashicons-admin-appearance" title='Remove the field value' onClick="WPH.clear( this )"></span></li>
170
+ <?php } ?>
171
+ <?php
172
+
173
+ if ( $module_setting['help'] !== FALSE && ! empty( $module_setting['help']['option_documentation_url'] ))
174
  {
175
+
176
+ ?>
177
+ <li><a target="_blank" href="<?php echo $module_setting['help']['option_documentation_url'] ?>"><span class="dashicons dashicons-admin-links" title='Open option help page'></span></a></li>
178
+ <?php
179
+ }
180
+ ?>
181
+ </ul>
182
+ <label for=""><?php echo $module_setting['label'] ?></label>
183
+ <?php
184
+
185
+ if(is_array($module_setting['description']))
186
+ {
187
+ foreach($module_setting['description'] as $description)
188
+ {
189
+ ?>
190
+ <div class="description"><?php echo nl2br($description) ?></div>
191
+ <?php
192
+ }
193
+ }
194
+ else
195
+ {
196
+ ?>
197
+ <p class="description"><?php echo nl2br($module_setting['description']) ?></p>
198
+ <?php
199
+ } ?>
200
+
201
+ <?php
202
+
203
+ if ( $is_advanced && $hide_advanced )
204
+ {
205
  ?>
206
+ <div class="advanced_notice">
207
+ <div class="icon">
208
+ <img src="<?php echo WPH_URL ?>/assets/images/warning.png" />
209
+ </div>
210
+ <div class="text">
211
+ <p> <?php echo $module_setting['advanced_option']['description'] ?> </p>
212
+ </div>
213
+ <div class="actions">
214
+ <a href="javascript: void(0)" onclick="WPH.showAdvanced( jQuery(this) )" class="button-primary">SHOW</a>
215
+ </div>
216
+ </div>
217
+
218
  <?php
219
+ }
220
+
221
+ ?>
222
+
223
+ </td>
224
+ </tr>
225
+
226
+ <tr class="entry<?php if ( $is_advanced ) { echo ' advanced';} if ( $hide_advanced ) { echo ' hide'; } ?>">
227
+ <td class="data">
228
+ <?php if(!empty($module_setting['options_pre'])) { ?><div class="options_text text_pre"><?php echo $module_setting['options_pre'] ?></div><?php } ?>
229
+ <?php if(!empty($module_setting['value_description'])) { ?><p class="description"><?php echo $module_setting['value_description'] ?></p><?php } ?>
230
+ <?php
231
+
232
+ switch($module_setting['input_type'])
233
+ {
234
+ case 'text' :
235
+ $class = 'text';
 
 
 
 
 
 
 
 
 
 
 
 
236
 
237
+ ?><input name="<?php echo $module_setting['id'] ?>" class="<?php echo $class ?>" value="<?php echo esc_html($value) ?>" placeholder="<?php echo esc_html($module_setting['placeholder']) ?>" type="text"><?php
238
 
239
  break;
 
 
 
 
 
 
 
240
 
241
+ case 'textarea' :
242
+ $class = 'textarea';
243
+
244
+ ?><textarea rows="7" name="<?php echo $module_setting['id'] ?>" class="<?php echo $class ?>"><?php echo stripslashes ( esc_html($value) ) ?></textarea><?php
245
+
246
+ break;
247
 
248
+ case 'radio' :
249
+ $class = 'radio';
250
+
251
  ?>
252
+ <fieldset>
253
+ <?php
254
+
255
+ foreach($module_setting['options'] as $option_value => $option_title)
256
+ {
257
+ ?><label><input type="radio" class="<?php echo $class ?>" <?php checked($value, $option_value) ?> value="<?php echo $option_value ?>" name="<?php echo $module_setting['id'] ?>"> <span><?php echo esc_html($option_title) ?></span></label><br /><?php
258
+ }
259
+
260
+ ?>
261
+ </fieldset>
262
+ <?php
263
+
264
+ break;
265
+ }
266
+
267
+ ?>
268
+ <?php if(!empty($module_setting['options_post'])) { ?><div class="options_text text_post"><?php echo $module_setting['options_post'] ?></div><?php } ?>
269
+ </td>
270
+ </tr>
271
+ </tbody>
272
+ </table>
273
+
274
+ <div class="wph_help<?php if ( $module_setting['help'] === FALSE ) { echo ' empty'; } ?>">
275
+ <div class="text">
276
+ <h4><?php echo $module_setting['help']['title'] ?></h3>
277
+ <?php if ( $module_setting['help'] !== FALSE ) { ?>
278
+ <p><?php echo $module_setting['help']['description'] ?></p>
279
+ <?php } else { ?>
280
+ <p>There is no help available for this option.</p>
281
+ <?php }?>
282
+ </div>
283
+
284
+ </div>
285
+
286
  </div>
287
 
288
  <?php
include/class.compatibility.php CHANGED
@@ -90,6 +90,12 @@
90
 
91
  //Elementor
92
  include_once(WPH_PATH . 'compatibility/fusion-builder.php');
 
 
 
 
 
 
93
 
94
 
95
  /**
@@ -104,6 +110,7 @@
104
  $compatibility_themes = array(
105
  'avada' => 'avada.php',
106
  'divi' => 'divi.php',
 
107
  );
108
 
109
  if (isset( $theme->template ) )
90
 
91
  //Elementor
92
  include_once(WPH_PATH . 'compatibility/fusion-builder.php');
93
+
94
+ //Cache Enabler
95
+ include_once(WPH_PATH . 'compatibility/cache-enabler.php');
96
+
97
+ //WP Smush
98
+ include_once(WPH_PATH . 'compatibility/wp-smush.php');
99
 
100
 
101
  /**
110
  $compatibility_themes = array(
111
  'avada' => 'avada.php',
112
  'divi' => 'divi.php',
113
+ 'woodmart' => 'woodmart.php'
114
  );
115
 
116
  if (isset( $theme->template ) )
include/class.environment.php ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
+
5
+ class WPH_Environment
6
+ {
7
+
8
+ var $wph = '';
9
+ var $functions = '';
10
+
11
+ var $environment_variable = array();
12
+
13
+
14
+ function __construct()
15
+ {
16
+ global $wph;
17
+
18
+ $this->wph = $wph;
19
+ $this->functions = new WPH_functions();
20
+
21
+ $this->setup_variable();
22
+
23
+ }
24
+
25
+
26
+ /**
27
+ * create the environment content variable
28
+ *
29
+ */
30
+ private function setup_variable()
31
+ {
32
+
33
+ $this->environment_variable['theme'] = array(
34
+ 'folder_name' => $this->wph->templates_data['main']['folder_name'],
35
+ 'mapped_name' => isset($this->wph->settings['module_settings']['new_theme_path']) ? $this->wph->settings['module_settings']['new_theme_path'] : ''
36
+ );
37
+
38
+ if(isset($this->wph->templates_data['child']))
39
+ {
40
+ $this->environment_variable['child_theme'] = array(
41
+ 'folder_name' => $this->wph->templates_data['child']['folder_name'],
42
+ 'mapped_name' => isset($this->wph->settings['module_settings']['new_theme_child_path']) ? $this->wph->settings['module_settings']['new_theme_child_path'] : ''
43
+ );
44
+ }
45
+
46
+ $themes_url = untrailingslashit($this->wph->templates_data['themes_url']);
47
+ $themes_url = str_replace(array("http://", "https://"), "", $themes_url);
48
+
49
+
50
+ $site_url = site_url();
51
+ $site_url = str_replace(array("http://", "https://"), "", $site_url);
52
+
53
+ $themes_url = str_replace($site_url, "", $themes_url);
54
+ $themes_path = str_replace( '\\', '/', ABSPATH . ltrim($themes_url, '/'));
55
+
56
+ //set the allowe paths
57
+ $this->environment_variable['allowed_paths'] = apply_filters('wp-hide/environment_file/allowed_paths', array( $themes_path ));
58
+
59
+ $this->environment_variable['cache_path'] = str_replace( '\\', '/', WPH_CACHE_PATH);
60
+
61
+ $this->environment_variable['wordpress_directory'] = $this->wph->default_variables['wordpress_directory'];
62
+ $this->environment_variable['site_relative_path'] = $this->wph->default_variables['site_relative_path'];
63
+
64
+ }
65
+
66
+
67
+ /**
68
+ * Check if the environment file exists and include correct data
69
+ *
70
+ */
71
+ public function is_correct_environment()
72
+ {
73
+
74
+ $wp_upload_dir = wp_upload_dir();
75
+ $environment_variable = '';
76
+
77
+ if( file_exists( $wp_upload_dir['basedir'] . '/wph/environment.php' ) )
78
+ {
79
+ require_once( $wp_upload_dir['basedir'] . '/wph/environment.php' );
80
+ }
81
+ else
82
+ return FALSE;
83
+
84
+ //if nothing has changed exit
85
+ if ( $environment_variable == json_encode($this->environment_variable) )
86
+ {
87
+ //clear any notices regarding this file which is not correct
88
+ self::delete_all_notices();
89
+
90
+ return TRUE;
91
+ }
92
+
93
+ return FALSE;
94
+
95
+ }
96
+
97
+
98
+ public static function delete_all_notices()
99
+ {
100
+ delete_option( 'wph-process_set_static_environment_errors');
101
+ }
102
+
103
+
104
+ function get_environment_content()
105
+ {
106
+
107
+ ob_start();
108
+
109
+ echo "<?php ";
110
+ echo "if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly";
111
+ echo "\n";
112
+ echo '$environment_variable = \''. json_encode($this->environment_variable) .'\';';
113
+ echo " ?>";
114
+
115
+ $file_data = ob_get_contents();
116
+ ob_end_clean();
117
+
118
+ return $file_data;
119
+
120
+ }
121
+
122
+ function write_environment()
123
+ {
124
+
125
+ global $wp_filesystem;
126
+
127
+ if (empty($wp_filesystem))
128
+ {
129
+ require_once (ABSPATH . '/wp-admin/includes/file.php');
130
+ WP_Filesystem();
131
+ }
132
+
133
+ $file_data = $this->get_environment_content();
134
+
135
+ $wp_upload_dir = wp_upload_dir();
136
+ $errors = FALSE;
137
+ $error_messages = array();
138
+
139
+ if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() )
140
+ {
141
+
142
+ $error_messages[] = array(
143
+ 'type' => 'error',
144
+ 'message' => __('<b>WP Hide</b> - Unable to create environment static file. The system returned the following error: ', 'wp-hide-security-enhancer') . $wp_filesystem->errors->get_error_messages()
145
+ );
146
+
147
+ update_option( 'wph-process_set_static_environment_errors', $error_messages);
148
+
149
+ return;
150
+ }
151
+
152
+ if ( ! is_dir( $wp_upload_dir['basedir'] . '/wph/' ) )
153
+ {
154
+ if ( $wp_filesystem->mkdir( $wp_upload_dir['basedir'] . '/wph/' ) )
155
+ {
156
+ $errors = TRUE;
157
+ $error_messages[] = array(
158
+ 'type' => 'error',
159
+ 'message' => __('Some of plugin options will not work correctly so where turned off: <b>Remove description header from Style file</b>, <b>Child - Remove description header from Style file</b>', 'wp-hide-security-enhancer')
160
+ );
161
+ }
162
+ }
163
+
164
+ if( !$errors && ! $wp_filesystem->put_contents( $wp_upload_dir['basedir'] . '/wph/environment.php' , $file_data , FS_CHMOD_FILE) )
165
+ {
166
+ $errors = TRUE;
167
+
168
+ $error_messages[] = array(
169
+ 'type' => 'error',
170
+ 'message' => '<b>WP Hide</b> - ' . __('Unable to create environment data at ', 'wp-hide-security-enhancer') . $wp_upload_dir['basedir'] . '/wph/environment.php ' . __('Is file writable', 'wp-hide-security-enhancer') . '? ' . __('Check with folder/file permission or contact server administrator.', 'wp-hide-security-enhancer')
171
+ );
172
+
173
+ $error_messages[] = array(
174
+ 'type' => 'error',
175
+ 'message' => __('Some of plugin options will not work correctly so where turned off: <b>Remove description header from Style file</b>, <b>Child - Remove description header from Style file</b>', 'wp-hide-security-enhancer')
176
+ );
177
+
178
+ //disable certain options
179
+ $this->settings['module_settings']['style_file_clean'] = 'no';
180
+ $this->settings['module_settings']['child_style_file_clean'] = 'no';
181
+
182
+ //save the new options
183
+ $this->functions->update_settings( $this->settings );
184
+
185
+ //regenerate permalinks
186
+ $this->wph->settings_changed();
187
+
188
+ }
189
+
190
+ if ( ! $errors )
191
+ {
192
+ self::delete_all_notices();
193
+ }
194
+ else
195
+ {
196
+ update_option( 'wph-process_set_static_environment_errors', $error_messages );
197
+ }
198
+
199
+
200
+ }
201
+
202
+ }
203
+
204
+
205
+
206
+
207
+ ?>
include/functions.class.php CHANGED
@@ -24,6 +24,14 @@
24
  'default_value' => '',
25
  'sanitize_type' => array('sanitize_title'),
26
 
 
 
 
 
 
 
 
 
27
  //callback function when components run. Default being set for _init_{$field_id}
28
  'callback' => '',
29
  //callback function to return the rewrite code, Default being set for _callback_saved_{$field_id}
@@ -155,11 +163,13 @@
155
 
156
  }
157
 
 
 
158
  //proces the fields
159
  $module_settings = $this->filter_settings( $module->get_module_settings($tab_slug) );
160
 
161
- $unique_require_updated_settings = array();
162
-
163
  foreach($module_settings as $module_setting)
164
  {
165
  if(isset($module_setting['type']) && $module_setting['type'] == 'split')
@@ -167,6 +177,8 @@
167
 
168
  $field_name = $module_setting['id'];
169
 
 
 
170
  $value = isset($_POST[$field_name]) ? sanitize_text_field($_POST[$field_name]) : '';
171
 
172
  //if empty use the default
@@ -202,6 +214,26 @@
202
 
203
  //put the new values into a temporary settings variable
204
  $_settings_ = $this->wph->settings['module_settings'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  foreach($unique_require_updated_settings as $field_name => $data)
206
  {
207
  $_settings_[ $field_name ] = $data['value'];
@@ -235,7 +267,8 @@
235
  if(array_search( $data['value'] , $_settings_) !== FALSE)
236
  {
237
  $errors = TRUE;
238
- $process_interface_save_errors[] = array( 'type' => 'error',
 
239
  'message' => __('Value', 'wp-hide-security-enhancer') . ' <b>' . $data['value'] .'</b> ' . __('set for', 'wp-hide-security-enhancer') . ' ' . __($data['module_name'], 'wp-hide-security-enhancer') . ' ' . __('already in use for another option.', 'wp-hide-security-enhancer')
240
  );
241
  }
@@ -245,7 +278,15 @@
245
  //check for base slug e.g. skin/module
246
  $parts = explode ( "/" , $data['value'] );
247
  $_settings_to_search = $_settings_for_regex;
248
- unset( $_settings_to_search[ $field_name ] );
 
 
 
 
 
 
 
 
249
  if( array_search( $parts[0] , $_settings_to_search ) !== FALSE )
250
  {
251
  $errors = TRUE;
@@ -323,22 +364,23 @@
323
  static function copy_mu_loader( $force_overwrite = FALSE )
324
  {
325
 
 
326
  //check if mu-plugins folder exists
327
  if(! is_dir( WPMU_PLUGIN_DIR ))
328
  {
329
  if (! wp_mkdir_p( WPMU_PLUGIN_DIR ) )
330
- return;
331
  }
332
 
333
  //check if file actually exists already
334
  if( ! $force_overwrite )
335
  {
336
  if( file_exists(WPMU_PLUGIN_DIR . '/wp-hide-loader.php' ))
337
- return;
338
  }
339
 
340
  //attempt to copy the file
341
- @copy( WP_PLUGIN_DIR . '/wp-hide-security-enhancer/mu-loader/wp-hide-loader.php', WPMU_PLUGIN_DIR . '/wp-hide-loader.php' );
342
  }
343
 
344
 
@@ -2383,8 +2425,12 @@
2383
  {
2384
  foreach( $all_templates as $directory => $theme_data)
2385
  {
 
 
 
 
2386
 
2387
- $theme_headers = $this->get_theme_headers( trailingslashit( $theme_data['theme_root']) . $theme_data['theme_file']);
2388
  $all_templates[$directory]['headers'] = $theme_headers;
2389
 
2390
  }
@@ -2592,39 +2638,48 @@
2592
  function get_ad_banner()
2593
  {
2594
  ob_start();
2595
- ?><div id="info_box">
2596
- <div id="p_right">
 
 
 
 
2597
 
2598
- <div id="p_socialize">
2599
-
2600
- <div class="p_s_item s_f">
2601
- <div id="fb-root"></div>
2602
- <script>(function(d, s, id) {
2603
- var js, fjs = d.getElementsByTagName(s)[0];
2604
- if (d.getElementById(id)) return;
2605
- js = d.createElement(s); js.id = id;
2606
- js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
2607
- fjs.parentNode.insertBefore(js, fjs);
2608
- }(document, 'script', 'facebook-jssdk'));</script>
2609
 
2610
- <div class="fb-like" data-href="https://www.facebook.com/Nsp-Code-190329887674484/" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div>
2611
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2612
  </div>
2613
-
2614
- <div class="p_s_item s_t">
2615
- <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.wp-hide.com" data-text="Hide and increase Security for your WordPress website instance using smart techniques. No files are being changed." data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
2616
- </div>
2617
-
2618
- <div class="clear"></div>
2619
  </div>
2620
-
 
2621
  </div>
2622
- <p><?php _e('Help us to maintain this plugin by sending improvements, suggestions and reporting any issues at ', 'wp-hide-security-enhancer') ?><a target="_blank" href="https://www.wp-hide.com/">www.wp-hide.com</a></p>
2623
- <h4><?php _e('Did you know there is a', 'wp-hide-security-enhancer') ?> <span class="wph-pro">PRO</span> <?php _e('version of this plug-in?', 'wp-hide-security-enhancer') ?> <a target="_blank" href="https://www.wp-hide.com/wp-hide-pro-now-available/">Read more</a></h4>
2624
- <p><?php _e('Did you find this plugin useful? Please support our work by submitting a review, or spread the word about the code, or write an article about the plugin in your blog with a link to development site', 'wp-hide-security-enhancer') ?> <a href="https://www.wp-hide.com/" target="_blank"><strong>https://www.wp-hide.com/</strong></a></p>
2625
-
2626
- <div class="clear"></div>
2627
- </div><?php
2628
 
2629
  $content = ob_get_contents();
2630
  ob_end_clean();
24
  'default_value' => '',
25
  'sanitize_type' => array('sanitize_title'),
26
 
27
+ 'help' => FALSE,
28
+ 'advanced_option' => FALSE,
29
+
30
+
31
+ 'options_pre' => '',
32
+ 'options' => array(),
33
+ 'options_post' => '',
34
+
35
  //callback function when components run. Default being set for _init_{$field_id}
36
  'callback' => '',
37
  //callback function to return the rewrite code, Default being set for _callback_saved_{$field_id}
163
 
164
  }
165
 
166
+ $unique_require_updated_settings = array();
167
+
168
  //proces the fields
169
  $module_settings = $this->filter_settings( $module->get_module_settings($tab_slug) );
170
 
171
+ $processed_fields = array();
172
+
173
  foreach($module_settings as $module_setting)
174
  {
175
  if(isset($module_setting['type']) && $module_setting['type'] == 'split')
177
 
178
  $field_name = $module_setting['id'];
179
 
180
+ $processed_fields[] = $field_name;
181
+
182
  $value = isset($_POST[$field_name]) ? sanitize_text_field($_POST[$field_name]) : '';
183
 
184
  //if empty use the default
214
 
215
  //put the new values into a temporary settings variable
216
  $_settings_ = $this->wph->settings['module_settings'];
217
+
218
+ //clean up all values if $tab_slug is theme, to prevent deleted themes to still held values which oterwise can't be used anymore
219
+ if ( $tab_slug == 'theme' )
220
+ {
221
+ $reset_fileds = array(
222
+ 'new_theme_path_',
223
+ 'new_style_file_path_'
224
+ );
225
+ foreach($reset_fileds as $reset_filed )
226
+ {
227
+ foreach ( $_settings_ as $key => $setting )
228
+ {
229
+ if ( strpos ( $key, $reset_filed ) !== FALSE )
230
+ $_settings_[ $key ] = '';
231
+ }
232
+
233
+ }
234
+
235
+ }
236
+
237
  foreach($unique_require_updated_settings as $field_name => $data)
238
  {
239
  $_settings_[ $field_name ] = $data['value'];
267
  if(array_search( $data['value'] , $_settings_) !== FALSE)
268
  {
269
  $errors = TRUE;
270
+ $process_interface_save_errors[] = array(
271
+ 'type' => 'error',
272
  'message' => __('Value', 'wp-hide-security-enhancer') . ' <b>' . $data['value'] .'</b> ' . __('set for', 'wp-hide-security-enhancer') . ' ' . __($data['module_name'], 'wp-hide-security-enhancer') . ' ' . __('already in use for another option.', 'wp-hide-security-enhancer')
273
  );
274
  }
278
  //check for base slug e.g. skin/module
279
  $parts = explode ( "/" , $data['value'] );
280
  $_settings_to_search = $_settings_for_regex;
281
+ unset( $_settings_to_search[ $field_name ] );
282
+
283
+ //if plugins tab, ignore the other options which might use the same base slug
284
+ if ( $tab_slug == 'plugins' )
285
+ {
286
+ foreach ( $processed_fields as $processed_field )
287
+ unset( $_settings_to_search[ $processed_field ] );
288
+ }
289
+
290
  if( array_search( $parts[0] , $_settings_to_search ) !== FALSE )
291
  {
292
  $errors = TRUE;
364
  static function copy_mu_loader( $force_overwrite = FALSE )
365
  {
366
 
367
+
368
  //check if mu-plugins folder exists
369
  if(! is_dir( WPMU_PLUGIN_DIR ))
370
  {
371
  if (! wp_mkdir_p( WPMU_PLUGIN_DIR ) )
372
+ return FALSE;
373
  }
374
 
375
  //check if file actually exists already
376
  if( ! $force_overwrite )
377
  {
378
  if( file_exists(WPMU_PLUGIN_DIR . '/wp-hide-loader.php' ))
379
+ return TRUE;
380
  }
381
 
382
  //attempt to copy the file
383
+ return @copy( WP_PLUGIN_DIR . '/wp-hide-security-enhancer/mu-loader/wp-hide-loader.php', WPMU_PLUGIN_DIR . '/wp-hide-loader.php' );
384
  }
385
 
386
 
2425
  {
2426
  foreach( $all_templates as $directory => $theme_data)
2427
  {
2428
+ $theme_style_path = trailingslashit( $theme_data['theme_root']) . $theme_data['theme_file'];
2429
+
2430
+ if ( ! file_exists( $theme_style_path ))
2431
+ continue;
2432
 
2433
+ $theme_headers = $this->get_theme_headers( $theme_style_path );
2434
  $all_templates[$directory]['headers'] = $theme_headers;
2435
 
2436
  }
2638
  function get_ad_banner()
2639
  {
2640
  ob_start();
2641
+ ?>
2642
+
2643
+ <div id="info_box">
2644
+ <div class="image">
2645
+ <img src="<?php echo WPH_URL ?>/assets/images/computer.png" />
2646
+ </div>
2647
 
2648
+ <div class="text">
2649
+ <p><?php _e('Help us to maintain this plugin by sending improvements, suggestions and reporting any issues at ', 'wp-hide-security-enhancer') ?><a target="_blank" href="https://www.wp-hide.com/">www.wp-hide.com</a></p>
2650
+ <span class="split">&nbsp;</span>
2651
+ <h4><?php _e('Did you know there is a', 'wp-hide-security-enhancer') ?> <span class="wph-pro">PRO</span> <?php _e('version of this plug-in?', 'wp-hide-security-enhancer') ?> <a target="_blank" href="https://www.wp-hide.com/wp-hide-pro-now-available/">Read more</a></h4>
2652
+ <span class="split">&nbsp;</span>
2653
+ <p><?php _e('Did you find this plugin useful? Please support our work by submitting a review, spread the word about the code, or write an article about the plugin in your blog with a link to development site', 'wp-hide-security-enhancer') ?> <a href="https://www.wp-hide.com/" target="_blank"><strong>https://www.wp-hide.com/</strong></a></p>
 
 
 
 
 
2654
 
2655
+ <div id="social">
2656
 
2657
+ <div class="social-item social-item-fb">
2658
+ <div id="fb-root"></div>
2659
+ <script>(function(d, s, id) {
2660
+ var js, fjs = d.getElementsByTagName(s)[0];
2661
+ if (d.getElementById(id)) return;
2662
+ js = d.createElement(s); js.id = id;
2663
+ js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
2664
+ fjs.parentNode.insertBefore(js, fjs);
2665
+ }(document, 'script', 'facebook-jssdk'));</script>
2666
+
2667
+ <div class="fb-like" data-href="https://www.facebook.com/nspcode/" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div>
2668
+
2669
+ </div>
2670
+
2671
+ <div class="social-item social-item-twitter">
2672
+ <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.wp-hide.com" data-text="Hide and increase Security for your WordPress website instance using smart techniques. No files are being changed." data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
2673
+ </div>
2674
+
2675
+ <div class="clear"></div>
2676
  </div>
 
 
 
 
 
 
2677
  </div>
2678
+
2679
+
2680
  </div>
2681
+
2682
+ <?php
 
 
 
 
2683
 
2684
  $content = ob_get_contents();
2685
  ob_end_clean();
include/update.class.php CHANGED
@@ -220,6 +220,19 @@
220
  $_trigger_flush_rules = TRUE;
221
 
222
  $version = '1.5.6.6';
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  }
224
 
225
 
220
  $_trigger_flush_rules = TRUE;
221
 
222
  $version = '1.5.6.6';
223
+ }
224
+
225
+ if(version_compare($version, '1.5.8.8', '<'))
226
+ {
227
+ //copy over the new mu-loader version
228
+ WPH_functions::copy_mu_loader( TRUE );
229
+
230
+ $version = '1.5.8.8';
231
+
232
+ //Attempt to remove the router/environment.php file
233
+ if ( file_exists ( WPH_PATH . '/router/environment.php') )
234
+ @unlink( WPH_PATH . '/router/environment.php' );
235
+
236
  }
237
 
238
 
include/wph.class.php CHANGED
@@ -25,9 +25,13 @@
25
  var $doing_interface_save = FALSE;
26
  var $doing_reset_settings = FALSE;
27
 
 
 
28
  var $uninstall = FALSE;
29
 
30
  var $is_initialised = FALSE;
 
 
31
 
32
  function __construct()
33
  {
@@ -40,6 +44,9 @@
40
  if(!defined('WPH_CACHE_PATH'))
41
  define('WPH_CACHE_PATH', WP_CONTENT_DIR . '/cache/wph/' );
42
 
 
 
 
43
  }
44
 
45
 
@@ -124,8 +131,6 @@
124
 
125
  //check if force 404 error
126
  add_action('init', array($this, 'check_for_404'));
127
-
128
- add_action('init', array($this, 'on_init'));
129
 
130
  add_action('admin_menu', array($this, 'admin_menus'));
131
  add_action('admin_init', array($this, 'admin_init'), 11);
@@ -139,6 +144,11 @@
139
 
140
  //create the static file which contain different environment variables which will be used on router
141
  add_action('wph/settings_changed', array($this, 'set_static_environment_file'), 999);
 
 
 
 
 
142
 
143
  //apache
144
  //add_filter('mod_rewrite_rules', array($this, 'mod_rewrite_rules'), 999);
@@ -280,21 +290,7 @@
280
  return $module_processing_data;
281
 
282
  }
283
-
284
-
285
-
286
- /**
287
- * General Init action
288
- *
289
- */
290
- function on_init()
291
- {
292
- //create or update the environment file with required constants and variables
293
- $this->set_static_environment_file();
294
-
295
-
296
- }
297
-
298
 
299
  /**
300
  * run on admin_init action
@@ -322,8 +318,9 @@
322
 
323
  function admin_print_styles()
324
  {
 
325
 
326
- wp_register_style('WPHStyle', WPH_URL . '/css/wph.css');
327
  wp_enqueue_style( 'WPHStyle');
328
 
329
  }
@@ -331,8 +328,10 @@
331
 
332
  function admin_print_scripts()
333
  {
 
 
334
 
335
- wp_register_script('wph', WPH_URL . '/js/wph.js');
336
 
337
  // Localize the script with new data
338
  $translation_array = array(
@@ -374,7 +373,7 @@
374
 
375
  if ( getenv('IS_WPE') == "1" || getenv('IS_WPE_SNAPSHOT') == "1" )
376
  {
377
- echo "<div class='error'><p><b>WP Hide</b> ". __("Your server run on WPEngine which works on Nginx rewrite rules, please check with WP Hide PRO version at.", 'wp-hide-security-enhancer') .' <a target="_blank" href="https://www.wp-hide.com/wp-hide-pro-now-available/">WP-Hide PRO</a></p></div>';
378
  }
379
 
380
  if ( is_multisite() )
@@ -386,6 +385,21 @@
386
  {
387
  echo "<div class='error'><p><b>WP Hide</b> ". __('Unable to launch WP Hide through mu-plugins/wp-hide-loader.php<br /> Please make sure this location is writable so the plugin create the required file.', 'wp-hide-security-enhancer') ."</p></div>";
388
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
 
390
  //check for permalinks enabled
391
  if (!$this->functions->is_permalink_enabled())
@@ -499,7 +513,7 @@
499
 
500
 
501
  //output any other errors message
502
- $process_errors = get_transient( 'wph-process_set_static_environment_errors' );
503
  if ( is_array( $process_errors ) && count ( $process_errors ) > 0 )
504
  {
505
  $found_warnings = FALSE;
@@ -800,130 +814,15 @@
800
  */
801
  function set_static_environment_file( $force_create = FALSE )
802
  {
 
 
 
 
803
 
804
- $_environment_variable = array();
805
-
806
- $_environment_variable['theme'] = array(
807
- 'folder_name' => $this->templates_data['main']['folder_name'],
808
- 'mapped_name' => isset($this->settings['module_settings']['new_theme_path']) ? $this->settings['module_settings']['new_theme_path'] : ''
809
- );
810
-
811
- if(isset($this->templates_data['child']))
812
- {
813
- $_environment_variable['child_theme'] = array(
814
- 'folder_name' => $this->templates_data['child']['folder_name'],
815
- 'mapped_name' => isset($this->settings['module_settings']['new_theme_child_path']) ? $this->settings['module_settings']['new_theme_child_path'] : ''
816
- );
817
- }
818
-
819
- $themes_url = untrailingslashit($this->templates_data['themes_url']);
820
- $themes_url = str_replace(array("http://", "https://"), "", $themes_url);
821
-
822
-
823
- $site_url = site_url();
824
- $site_url = str_replace(array("http://", "https://"), "", $site_url);
825
-
826
- $themes_url = str_replace($site_url, "", $themes_url);
827
- $themes_path = str_replace( '\\', '/', ABSPATH . ltrim($themes_url, '/'));
828
-
829
- //set the allowe paths
830
- $_environment_variable['allowed_paths'] = apply_filters('wp-hide/environment_file/allowed_paths', array( $themes_path ));
831
-
832
- $_environment_variable['cache_path'] = str_replace( '\\', '/', WPH_CACHE_PATH);
833
-
834
- $_environment_variable['wordpress_directory'] = $this->default_variables['wordpress_directory'];
835
- $_environment_variable['site_relative_path'] = $this->default_variables['site_relative_path'];
836
-
837
- if( $force_create === FALSE )
838
- {
839
- $environment_variable = '';
840
-
841
- if( file_exists(WPH_PATH . 'router/environment.php' ) )
842
- {
843
- require_once( WPH_PATH . 'router/environment.php');
844
- }
845
-
846
- //if nothing has changed exit
847
- if ( $environment_variable == json_encode($_environment_variable) )
848
- {
849
- //delete any error notice
850
- delete_transient( 'wph-process_set_static_environment_errors' );
851
- return;
852
- }
853
- }
854
-
855
- global $wp_filesystem;
856
-
857
- if (empty($wp_filesystem))
858
- {
859
- require_once (ABSPATH . '/wp-admin/includes/file.php');
860
- WP_Filesystem();
861
- }
862
-
863
- ob_start();
864
-
865
- echo "<?php ";
866
- echo "if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly";
867
- echo "\n";
868
- echo '$environment_variable = \''. json_encode($_environment_variable) .'\'';
869
- echo " ?>";
870
-
871
- $file_data = ob_get_contents();
872
- ob_end_clean();
873
-
874
- $process_interface_save_errors = array();
875
-
876
- if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() )
877
- {
878
- delete_transient( 'wph-process_set_static_environment_errors' );
879
-
880
- $process_interface_save_errors[] = array( 'type' => 'error',
881
- 'message' => __('Unable to create environment static file. The system returned the following error: ', 'wp-hide-security-enhancer') . implode(". ", $wp_filesystem->errors->get_error_messages() ) .
882
- '<br /><b>Remove description header from Style file</b> and <b>Child - Remove description header from Style file</b> ' . __('will not work correctly, so where turned off.', 'wp-hide-security-enhancer')
883
- );
884
- set_transient( 'wph-process_set_static_environment_errors', $process_interface_save_errors, 0 );
885
-
886
- //disable certain options
887
- $this->settings['module_settings']['style_file_clean'] = 'no';
888
- $this->settings['module_settings']['child_style_file_clean'] = 'no';
889
-
890
- //save the new options
891
- $this->functions->update_settings($this->settings);
892
-
893
- //regenerate permalinks
894
- $this->settings_changed();
895
-
896
- return;
897
- }
898
-
899
- if ( ! $wp_filesystem->put_contents( WPH_PATH . 'router/environment.php', $file_data , FS_CHMOD_FILE) )
900
- {
901
-
902
- delete_transient( 'wph-process_set_static_environment_errors' );
903
-
904
- $process_interface_save_errors[] = array( 'type' => 'error',
905
- 'message' => __('Unable to create environment static file. Is ', 'wp-hide-security-enhancer') . WPH_PATH . 'router/ ' . __('writable', 'wp-hide-security-enhancer') . '? <br /><b>Remove description header from Style file</b> and <b>Child - Remove description header from Style file</b> ' . __('will not work correctly, so where turned off.', 'wp-hide-security-enhancer')
906
- );
907
-
908
- //disable certain options
909
- $this->settings['module_settings']['style_file_clean'] = 'no';
910
- $this->settings['module_settings']['child_style_file_clean'] = 'no';
911
-
912
- //save the new options
913
- $this->functions->update_settings($this->settings);
914
-
915
- //regenerate permalinks
916
- $this->settings_changed();
917
-
918
- set_transient( 'wph-process_set_static_environment_errors', $process_interface_save_errors, 0 );
919
- }
920
- else
921
- {
922
- //delete any error notice
923
- delete_transient( 'wph-process_set_static_environment_errors' );
924
- }
925
-
926
 
 
927
  }
928
 
929
 
@@ -989,6 +888,52 @@
989
 
990
  }
991
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
992
 
993
 
994
  function flush_rewrite_rules_hard( $continue )
25
  var $doing_interface_save = FALSE;
26
  var $doing_reset_settings = FALSE;
27
 
28
+ var $enironment_checked = FALSE;
29
+
30
  var $uninstall = FALSE;
31
 
32
  var $is_initialised = FALSE;
33
+
34
+ var $maintenances = array();
35
 
36
  function __construct()
37
  {
44
  if(!defined('WPH_CACHE_PATH'))
45
  define('WPH_CACHE_PATH', WP_CONTENT_DIR . '/cache/wph/' );
46
 
47
+ if(!defined('WPH_URL'))
48
+ define('WPH_URL', plugins_url() . '/wp-hide-security-enhancer' );
49
+
50
  }
51
 
52
 
131
 
132
  //check if force 404 error
133
  add_action('init', array($this, 'check_for_404'));
 
 
134
 
135
  add_action('admin_menu', array($this, 'admin_menus'));
136
  add_action('admin_init', array($this, 'admin_init'), 11);
144
 
145
  //create the static file which contain different environment variables which will be used on router
146
  add_action('wph/settings_changed', array($this, 'set_static_environment_file'), 999);
147
+
148
+ //create the static file which contain different environment variables which will be used on router
149
+ add_action('admin_init', array($this, 'environment_check'), 999);
150
+
151
+ add_action('admin_init', array($this, 'mu_loader_check'), 999);
152
 
153
  //apache
154
  //add_filter('mod_rewrite_rules', array($this, 'mod_rewrite_rules'), 999);
290
  return $module_processing_data;
291
 
292
  }
293
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
 
295
  /**
296
  * run on admin_init action
318
 
319
  function admin_print_styles()
320
  {
321
+ wp_enqueue_style( 'tipsy.css', WPH_URL . '/assets/css/tipsy.css');
322
 
323
+ wp_register_style('WPHStyle', WPH_URL . '/assets/css/wph.css');
324
  wp_enqueue_style( 'WPHStyle');
325
 
326
  }
328
 
329
  function admin_print_scripts()
330
  {
331
+ wp_enqueue_script( 'jquery');
332
+ wp_register_script('wph', WPH_URL . '/assets/js/wph.js');
333
 
334
+ wp_enqueue_script('jquery.tipsy.js', WPH_URL . '/assets/js/jquery.tipsy.js' );
335
 
336
  // Localize the script with new data
337
  $translation_array = array(
373
 
374
  if ( getenv('IS_WPE') == "1" || getenv('IS_WPE_SNAPSHOT') == "1" )
375
  {
376
+ echo "<div class='error'><p><b>WP Hide</b> ". __("Your server run on WPEngine which works on Nginx rewrite rules, please check with WP Hide PRO version at", 'wp-hide-security-enhancer') .' <a target="_blank" href="https://www.wp-hide.com/wp-hide-pro-now-available/">WP-Hide PRO</a></p></div>';
377
  }
378
 
379
  if ( is_multisite() )
385
  {
386
  echo "<div class='error'><p><b>WP Hide</b> ". __('Unable to launch WP Hide through mu-plugins/wp-hide-loader.php<br /> Please make sure this location is writable so the plugin create the required file.', 'wp-hide-security-enhancer') ."</p></div>";
387
  }
388
+
389
+ //check if mu loader is up to date
390
+ if( $this->functions->is_muloader() && defined( 'WPH_MULOADER_VERSION' ) && version_compare( WPH_MULOADER_VERSION, '1.3.4', '<' ) && !isset($this->maintenances['mu_loader']) )
391
+ {
392
+ echo "<div class='error'><p><b>WP Hide</b> ". __('Unable to update the /mu-plugins/wp-hide-loader.php<br /> Please make sure the file is writable so the plugin create the required file.', 'wp-hide-security-enhancer') ."</p></div>";
393
+ }
394
+
395
+ //check if the MU loader was succesfully updated
396
+ if( $this->functions->is_muloader() && defined( 'WPH_MULOADER_VERSION' ) && version_compare( WPH_MULOADER_VERSION, '1.3.4', '<' ))
397
+ {
398
+ //attempt to copy the new version
399
+ $status = WPH_functions::copy_mu_loader();
400
+ if ( $status === FALSE )
401
+ echo "<div class='error'><p><b>WP Hide</b> ". __('Unable to update the <b>mu-plugins/wp-hide-loader.php</b><br /> Please manually copy the file from', 'wp-hide-security-enhancer') ." " . WPH_PATH . 'router/wp-hide-loader.php ' . __('to', 'wp-hide-security-enhancer') . " " . WPMU_PLUGIN_DIR ."/</p></div>";
402
+ }
403
 
404
  //check for permalinks enabled
405
  if (!$this->functions->is_permalink_enabled())
513
 
514
 
515
  //output any other errors message
516
+ $process_errors = get_option( 'wph-process_set_static_environment_errors' );
517
  if ( is_array( $process_errors ) && count ( $process_errors ) > 0 )
518
  {
519
  $found_warnings = FALSE;
814
  */
815
  function set_static_environment_file( $force_create = FALSE )
816
  {
817
+ $this->enironment_checked = TRUE;
818
+
819
+ include_once(WPH_PATH . '/include/class.environment.php');
820
+ $WPH_Environment = new WPH_Environment();
821
 
822
+ if ( $WPH_Environment->is_correct_environment() )
823
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
824
 
825
+ $WPH_Environment->write_environment();
826
  }
827
 
828
 
888
 
889
  }
890
 
891
+ /**
892
+ * Maintain Environment file
893
+ *
894
+ */
895
+ function environment_check( $force_check = FALSE )
896
+ {
897
+
898
+ if ( $this->enironment_checked === TRUE )
899
+ return;
900
+
901
+ include_once(WPH_PATH . '/include/class.environment.php');
902
+ $WPH_Environment = new WPH_Environment();
903
+
904
+ if ( $WPH_Environment->is_correct_environment() )
905
+ return;
906
+
907
+ $WPH_Environment->write_environment();
908
+
909
+ }
910
+
911
+
912
+ /**
913
+ * Check if the mu-loader is deployed and up to date
914
+ *
915
+ * @param mixed $continue
916
+ */
917
+ function mu_loader_check()
918
+ {
919
+
920
+ if ( $this->functions->is_muloader() === FALSE )
921
+ {
922
+ $status = $this->functions->copy_mu_loader();
923
+ if ( $status )
924
+ $this->maintenances['mu_loader'] = TRUE;
925
+ return;
926
+ }
927
+
928
+ if ( $this->functions->is_muloader() && version_compare( WPH_MULOADER_VERSION, '1.3.4', '<' ) )
929
+ {
930
+ $status = $this->functions->copy_mu_loader( TRUE );
931
+ if ( $status )
932
+ $this->maintenances['mu_loader'] = TRUE;
933
+ }
934
+
935
+
936
+ }
937
 
938
 
939
  function flush_rewrite_rules_hard( $continue )
js/wph.js DELETED
@@ -1,27 +0,0 @@
1
-
2
-
3
- class WPH_Class {
4
-
5
- selectText(node)
6
- {
7
-
8
- node = document.getElementById(node);
9
-
10
- if (document.body.createTextRange) {
11
- const range = document.body.createTextRange();
12
- range.moveToElementText(node);
13
- range.select();
14
- } else if (window.getSelection) {
15
- const selection = window.getSelection();
16
- const range = document.createRange();
17
- range.selectNodeContents(node);
18
- selection.removeAllRanges();
19
- selection.addRange(range);
20
- } else {
21
- console.warn("Could not select text in node: Unsupported browser.");
22
- }
23
- }
24
-
25
- }
26
-
27
- var WPH = new WPH_Class();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/wp-hide-security-enhancer.mo CHANGED
Binary file
languages/wp-hide-security-enhancer.po CHANGED
@@ -1,170 +1,250 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WP Hide & Security Enhancer\n"
4
- "POT-Creation-Date: 2018-12-28 11:39+0200\n"
5
- "PO-Revision-Date: 2018-12-28 11:39+0200\n"
6
  "Last-Translator: NspCode <contact@nsp-code.com>\n"
7
  "Language-Team: Nsp Code\n"
8
  "Language: en\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.2\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SearchPath-0: .\n"
17
 
18
- #: compatibility/wp-simple-firewall.php:99
 
 
 
 
 
 
 
 
 
 
19
  msgid ""
20
  "<b>Conflict notice</b>: The Security Firewall - Login Protection use the "
21
  "Rename WP Login Page functionality which is the same as WP Hide - Admin "
22
  "Login Url change. "
23
  msgstr ""
24
 
25
- #: include/admin-interface.class.php:117
26
  msgid "Save"
27
  msgstr ""
28
 
29
- #: include/functions.class.php:230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  msgid "Value"
31
  msgstr ""
32
 
33
- #: include/functions.class.php:230
 
34
  msgid "set for"
35
  msgstr ""
36
 
37
- #: include/functions.class.php:230
38
  msgid "already in use for another option."
39
  msgstr ""
40
 
41
- #: include/functions.class.php:335
 
 
 
 
 
 
 
 
 
 
 
 
42
  msgid ""
43
  "W3 Total Cache Plugin is active, make sure you clear the cache for new "
44
  "changes to apply"
45
  msgstr ""
46
 
47
- #: include/functions.class.php:339
48
  msgid ""
49
  "WP Super Cache Plugin is active, make sure you clear the cache for new "
50
  "changes to apply"
51
  msgstr ""
52
 
53
- #: include/functions.class.php:344
54
  msgid ""
55
  "WP Fastest Cache Plugin is active, make sure you clear the cache for new "
56
  "changes to apply"
57
  msgstr ""
58
 
59
- #: include/functions.class.php:2123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  #, php-format
61
  msgid "The %1$s plugin header is deprecated. Use %2$s instead."
62
  msgstr ""
63
 
64
- #: include/functions.class.php:2208
65
  #, php-format
66
  msgid "By %s."
67
  msgstr ""
68
 
69
- #: include/functions.class.php:2525
70
  msgid ""
71
- "Help us to improve this plugin by sending any improvement suggestions and "
72
  "reporting any issues at "
73
  msgstr ""
74
 
75
- #: include/functions.class.php:2526
76
  msgid "Did you know there is a"
77
  msgstr ""
78
 
79
- #: include/functions.class.php:2526
80
  msgid "version of this plug-in?"
81
  msgstr ""
82
 
83
- #: include/functions.class.php:2527
84
  msgid ""
85
- "Did you find this plugin useful? Please support our work by spread the word "
86
- "about the code, or write an article about the plugin in your blog with a "
87
- "link to development site"
88
  msgstr ""
89
 
90
- #: include/wph.class.php:316
91
  msgid ""
92
  "Are you sure to reset all settings? All options will be removed. Manual "
93
  "remove of rewrite lines is required if no access from php"
94
  msgstr ""
95
 
96
- #: include/wph.class.php:353
97
  msgid ""
98
  "Your server run on WPEngine which works on Nginx rewrite rules, please check "
99
- "with WP Hide PRO version at."
100
  msgstr ""
101
 
102
- #: include/wph.class.php:358
103
  msgid ""
104
  "This plugin version can't handle MultiSite environment, please check with WP "
105
  "Hide PRO version at"
106
  msgstr ""
107
 
108
- #: include/wph.class.php:363
109
  msgid ""
110
  "Unable to launch WP Hide through mu-plugins/wp-hide-loader.php<br /> Please "
111
  "make sure this location is writable so the plugin create the required file."
112
  msgstr ""
113
 
114
- #: include/wph.class.php:369
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  msgid ""
116
  "Permalink is required to be turned ON for WP Hide & Security Enhancer to work"
117
  msgstr ""
118
 
119
- #: include/wph.class.php:374
120
  msgid ""
121
  "<b>WP Hide</b> This plugin version can't handle this server type, please "
122
  "check with PRO version at"
123
  msgstr ""
124
 
125
- #: include/wph.class.php:385
126
  msgid ""
127
  "Unable to write custom rules to your .htaccess. Is this file writable? <br /"
128
  ">No changes are being applied."
129
  msgstr ""
130
 
131
- #: include/wph.class.php:388
132
  msgid ""
133
  "Unable to write custom rules to your web.config. Is this file writable? <br /"
134
  ">No changes are being applied."
135
  msgstr ""
136
 
137
- #: include/wph.class.php:396
138
  msgid ""
139
  "Unable to create cache folder. Is the wp-content writable? <br />No cache "
140
  "data will be available."
141
  msgstr ""
142
 
143
- #: include/wph.class.php:401
144
  msgid "All Settings where restored to default"
145
  msgstr ""
146
 
147
- #: include/wph.class.php:430
148
  msgid "Settings saved"
149
  msgstr ""
150
 
151
- #: include/wph.class.php:472
152
- msgid "Cache cleared"
153
- msgstr ""
154
-
155
- #: include/wph.class.php:787
156
- msgid "Unable to create environment static file. Is "
157
  msgstr ""
158
 
159
- #: include/wph.class.php:787
160
- msgid "writable"
161
- msgstr ""
162
-
163
- #: include/wph.class.php:787
164
- msgid "will not work correctly, so where turned off."
165
  msgstr ""
166
 
167
  #: modules/components/admin-admin_url.php:16
 
168
  msgid "New Admin Url"
169
  msgstr ""
170
 
@@ -172,217 +252,350 @@ msgstr ""
172
  msgid "Create a new admin url instead default /wp-admin and /login."
173
  msgstr ""
174
 
175
- #: modules/components/admin-admin_url.php:19
176
- #: modules/components/admin-new_wp_login_php.php:19
177
- #: modules/components/rewrite-new_include_path.php:19
178
- #: modules/components/rewrite-new_plugin_path.php:19
179
- #: modules/components/rewrite-new_theme_path.php:24
180
- #: modules/components/rewrite-new_theme_path.php:82
181
- #: modules/components/rewrite-new_upload_path.php:19
182
- #: modules/components/rewrite-slash.php:19
183
- #: modules/components/rewrite-wp_content_path.php:18
184
- msgid "More details can be found at"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  msgstr ""
186
 
187
- #: modules/components/admin-admin_url.php:20
188
- #: modules/components/admin-admin_url.php:21
189
- #: modules/components/admin-new_wp_login_php.php:20
190
- #: modules/components/admin-new_wp_login_php.php:21
191
- msgid "warning"
 
 
192
  msgstr ""
193
 
194
- #: modules/components/admin-admin_url.php:20
195
- msgid "Write down your new admin url, or if lost, will not be able to log-in."
 
 
196
  msgstr ""
197
 
198
- #: modules/components/admin-admin_url.php:20
199
- msgid "An e-mail will be sent to"
 
 
200
  msgstr ""
201
 
202
- #: modules/components/admin-admin_url.php:20
203
- msgid "with the new Login URL"
 
204
  msgstr ""
205
 
206
- #: modules/components/admin-admin_url.php:21
207
- #: modules/components/admin-new_wp_login_php.php:21
208
- msgid ""
209
- "If unable to access the login / admin section anymore, use the Recovery Link "
210
- "which reset links to default: "
211
  msgstr ""
212
 
213
- #: modules/components/admin-admin_url.php:32
214
- msgid "Block default Admin Url"
 
 
215
  msgstr ""
216
 
217
- #: modules/components/admin-admin_url.php:34
218
- msgid "Block default admin url and files from being accesible."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  msgstr ""
220
 
221
- #: modules/components/admin-admin_url.php:38
222
- #: modules/components/admin-new_wp_login_php.php:37
223
- #: modules/components/general-feed.php:21
224
- #: modules/components/general-headers.php:22
225
- #: modules/components/general-headers.php:39
226
- #: modules/components/general-html.php:26
227
- #: modules/components/general-html.php:60
228
- #: modules/components/general-html.php:75
229
- #: modules/components/general-html.php:91
230
- #: modules/components/general-html.php:106
231
- #: modules/components/general-html.php:121
232
- #: modules/components/general-meta.php:22
233
- #: modules/components/general-meta.php:38
 
 
 
 
 
 
 
 
 
234
  #: modules/components/general-meta.php:54
235
  #: modules/components/general-meta.php:70
236
- #: modules/components/general-meta.php:86
237
- #: modules/components/general-meta.php:102
238
- #: modules/components/general-meta.php:119
239
  #: modules/components/general-meta.php:138
240
- #: modules/components/general-meta.php:156
241
- #: modules/components/general-meta.php:172
242
- #: modules/components/general-meta.php:188
243
- #: modules/components/general-oembed.php:22
244
- #: modules/components/general-robots-txt.php:21
245
- #: modules/components/general-scripts.php:21
246
- #: modules/components/general-styles.php:21
247
- #: modules/components/general-styles.php:37
248
- #: modules/components/general-wpemoji.php:21
249
- #: modules/components/general-wpemoji.php:37
250
- #: modules/components/rewrite-comments.php:34
251
- #: modules/components/rewrite-json-rest.php:23
252
- #: modules/components/rewrite-json-rest.php:41
253
- #: modules/components/rewrite-json-rest.php:65
254
- #: modules/components/rewrite-json-rest.php:89
255
- #: modules/components/rewrite-json-rest.php:107
256
- #: modules/components/rewrite-json-rest.php:124
257
- #: modules/components/rewrite-new_include_path.php:34
258
- #: modules/components/rewrite-new_plugin_path.php:35
259
- #: modules/components/rewrite-new_theme_path.php:60
260
- #: modules/components/rewrite-new_theme_path.php:116
261
- #: modules/components/rewrite-new_upload_path.php:35
262
- #: modules/components/rewrite-new_xml-rpc-path.php:34
263
- #: modules/components/rewrite-new_xml-rpc-path.php:51
264
- #: modules/components/rewrite-new_xml-rpc-path.php:68
265
- #: modules/components/rewrite-root-files.php:24
266
- #: modules/components/rewrite-root-files.php:40
267
- #: modules/components/rewrite-root-files.php:56
268
- #: modules/components/rewrite-root-files.php:72
269
- #: modules/components/rewrite-root-files.php:88
270
- #: modules/components/rewrite-root-files.php:105
271
- #: modules/components/rewrite-root-files.php:122
272
- #: modules/components/rewrite-slash.php:23
273
- #: modules/components/rewrite-wp_content_path.php:36
274
- msgid "Yes"
 
 
 
 
275
  msgstr ""
276
 
277
- #: modules/components/admin-admin_url.php:39
278
- #: modules/components/admin-new_wp_login_php.php:38
279
- #: modules/components/general-feed.php:22
280
- #: modules/components/general-headers.php:23
281
- #: modules/components/general-headers.php:40
282
- #: modules/components/general-html.php:27
283
- #: modules/components/general-html.php:42
284
- #: modules/components/general-html.php:61
285
- #: modules/components/general-html.php:76
286
- #: modules/components/general-html.php:92
287
- #: modules/components/general-html.php:107
288
- #: modules/components/general-html.php:122
289
- #: modules/components/general-meta.php:23
290
- #: modules/components/general-meta.php:39
291
  #: modules/components/general-meta.php:55
292
  #: modules/components/general-meta.php:71
293
- #: modules/components/general-meta.php:87
294
- #: modules/components/general-meta.php:103
295
- #: modules/components/general-meta.php:120
296
  #: modules/components/general-meta.php:139
297
- #: modules/components/general-meta.php:157
298
- #: modules/components/general-meta.php:173
299
- #: modules/components/general-meta.php:189
300
- #: modules/components/general-oembed.php:23
301
- #: modules/components/general-robots-txt.php:22
302
- #: modules/components/general-scripts.php:22
303
- #: modules/components/general-styles.php:22
304
- #: modules/components/general-styles.php:38
305
- #: modules/components/general-wpemoji.php:22
306
- #: modules/components/general-wpemoji.php:38
307
- #: modules/components/rewrite-comments.php:35
308
- #: modules/components/rewrite-json-rest.php:24
309
- #: modules/components/rewrite-json-rest.php:42
310
- #: modules/components/rewrite-json-rest.php:66
311
- #: modules/components/rewrite-json-rest.php:90
312
- #: modules/components/rewrite-json-rest.php:108
313
- #: modules/components/rewrite-json-rest.php:125
314
- #: modules/components/rewrite-new_include_path.php:35
315
- #: modules/components/rewrite-new_plugin_path.php:36
316
- #: modules/components/rewrite-new_theme_path.php:61
317
- #: modules/components/rewrite-new_theme_path.php:117
318
- #: modules/components/rewrite-new_upload_path.php:36
319
- #: modules/components/rewrite-new_xml-rpc-path.php:35
320
- #: modules/components/rewrite-new_xml-rpc-path.php:52
321
- #: modules/components/rewrite-new_xml-rpc-path.php:69
322
- #: modules/components/rewrite-root-files.php:25
323
- #: modules/components/rewrite-root-files.php:41
324
- #: modules/components/rewrite-root-files.php:57
325
- #: modules/components/rewrite-root-files.php:73
326
- #: modules/components/rewrite-root-files.php:89
327
- #: modules/components/rewrite-root-files.php:106
328
- #: modules/components/rewrite-root-files.php:123
329
- #: modules/components/rewrite-slash.php:24
330
- #: modules/components/rewrite-wp_content_path.php:37
331
- msgid "No"
 
 
 
 
332
  msgstr ""
333
 
334
- #: modules/components/admin-admin_url.php:185
335
- msgid "Hello"
 
336
  msgstr ""
337
 
338
- #: modules/components/admin-admin_url.php:186
339
  msgid ""
340
- "This is an automated message to inform that your login url has been changed "
341
- "at"
342
  msgstr ""
343
 
344
- #: modules/components/admin-admin_url.php:187
345
- msgid "The new login url is"
 
 
 
 
 
 
 
 
 
 
 
346
  msgstr ""
347
 
348
- #: modules/components/admin-admin_url.php:188
349
- msgid "Additionality you can use this to recover the old login / admin links "
 
350
  msgstr ""
351
 
352
- #: modules/components/admin-admin_url.php:189
353
- msgid "Please keep this url safe for recover, if forgot"
 
 
 
354
  msgstr ""
355
 
356
- #: modules/components/admin-new_wp_login_php.php:16
357
- msgid "New wp-login.php"
 
358
  msgstr ""
359
 
360
- #: modules/components/admin-new_wp_login_php.php:18
 
 
 
 
361
  msgid ""
362
- "Map a new wp-login.php instead default. This also need to include <i>.php</"
363
- "i> extension."
364
  msgstr ""
365
 
366
- #: modules/components/admin-new_wp_login_php.php:20
367
  msgid ""
368
- "Make sure your log-in url is not already modified by another plugin or "
369
- "theme. In such case, you should disable other code and take advantage of "
370
- "these features. More details at "
371
  msgstr ""
372
 
373
- #: modules/components/admin-new_wp_login_php.php:20
374
- msgid "Login Conflicts"
 
 
 
375
  msgstr ""
376
 
377
- #: modules/components/admin-new_wp_login_php.php:32
378
- msgid "Block default wp-login.php"
 
 
379
  msgstr ""
380
 
381
- #: modules/components/admin-new_wp_login_php.php:33
382
- msgid "Block default wp-login.php file from being accesible."
 
 
 
 
383
  msgstr ""
384
 
385
- #: modules/components/cdn-setup.php:16
386
  msgid "CDN Url"
387
  msgstr ""
388
 
@@ -392,7 +605,50 @@ msgid ""
392
  "url, enter here such url. Otherwise this option should stay empty."
393
  msgstr ""
394
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
  #: modules/components/general-feed.php:16
 
396
  msgid "Remove feed|rdf|rss|rss2|atom links"
397
  msgstr ""
398
 
@@ -402,211 +658,375 @@ msgid ""
402
  "functionality."
403
  msgstr ""
404
 
405
- #: modules/components/general-headers.php:16
406
- msgid "Remove X-Powered-By Header"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
407
  msgstr ""
408
 
409
  #: modules/components/general-headers.php:17
410
- msgid "Remove X-Powered-By Header if being set."
411
  msgstr ""
412
 
413
  #: modules/components/general-headers.php:18
414
- #: modules/components/general-headers.php:35
415
- #: modules/components/general-oembed.php:18
416
- msgid "More details at "
 
 
 
 
 
 
 
 
 
417
  msgstr ""
418
 
419
- #: modules/components/general-headers.php:33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
420
  msgid "Remove X-Pingback Header"
421
  msgstr ""
422
 
423
- #: modules/components/general-headers.php:34
424
  msgid "Remove X-Pingback Header if being set."
425
  msgstr ""
426
 
 
 
 
 
 
 
 
 
 
427
  #: modules/components/general-html.php:21
 
428
  msgid "Remove Comments"
429
  msgstr ""
430
 
431
  #: modules/components/general-html.php:22
 
 
 
 
432
  msgid ""
433
- "Remove all HTML Comments which usualy specify Plugins Name and Version. Any "
434
- "Internet Explorer conditional tags are preserved."
 
 
435
  msgstr ""
436
 
437
- #: modules/components/general-html.php:37
 
438
  msgid "Minify"
439
  msgstr ""
440
 
441
- #: modules/components/general-html.php:38
 
 
 
 
442
  msgid ""
443
- "Minify HTML, Inline Styles, Inline JavaScripts. Minify JavaScript might "
444
- "produce errors for specific plugins."
 
 
 
 
445
  msgstr ""
446
 
447
- #: modules/components/general-html.php:43
 
 
 
 
 
 
 
 
448
  msgid "Html"
449
  msgstr ""
450
 
451
- #: modules/components/general-html.php:44
452
  msgid "Html & Css"
453
  msgstr ""
454
 
455
- #: modules/components/general-html.php:45
456
  msgid "Html & JavaScript"
457
  msgstr ""
458
 
459
- #: modules/components/general-html.php:46
460
  msgid "All"
461
  msgstr ""
462
 
463
- #: modules/components/general-html.php:56
 
464
  msgid "Remove general classes from body tag"
465
  msgstr ""
466
 
467
- #: modules/components/general-html.php:57
 
468
  msgid "Remove general classes from body tag."
469
  msgstr ""
470
 
471
- #: modules/components/general-html.php:57
472
- #: modules/components/general-html.php:72
473
- #: modules/components/general-html.php:87
474
- #: modules/components/general-html.php:103
475
- #: modules/components/general-html.php:118
476
  msgid ""
477
  "This can produce layout issues with certain themes, if something break this "
478
  "should be turned off."
479
  msgstr ""
480
 
481
- #: modules/components/general-html.php:71
 
482
  msgid "Remove ID from Menu items"
483
  msgstr ""
484
 
485
- #: modules/components/general-html.php:72
 
486
  msgid "Remove ID attribute from all menu items."
487
  msgstr ""
488
 
489
- #: modules/components/general-html.php:86
 
 
 
490
  msgid "Remove class from Menu items"
491
  msgstr ""
492
 
493
- #: modules/components/general-html.php:87
494
- msgid ""
495
- "Remove class attribute from all menu items. Any classes which include a "
496
- "\"current\" prefix or contain \"has-children\" will be preserved."
497
  msgstr ""
498
 
499
- #: modules/components/general-html.php:102
500
- msgid "Remove general classes from post"
 
 
501
  msgstr ""
502
 
503
- #: modules/components/general-html.php:103
 
504
  msgid "Remove general classes from post."
505
  msgstr ""
506
 
507
- #: modules/components/general-html.php:117
 
508
  msgid "Remove general classes from images"
509
  msgstr ""
510
 
511
- #: modules/components/general-html.php:118
 
512
  msgid "Remove general classes from media tags."
513
  msgstr ""
514
 
515
  #: modules/components/general-meta.php:17
 
516
  msgid "Remove WordPress Generator Meta"
517
  msgstr ""
518
 
519
  #: modules/components/general-meta.php:18
 
520
  msgid ""
521
  "Remove the autogenerated meta generator tag within head (WordPress Version)."
522
  msgstr ""
523
 
524
- #: modules/components/general-meta.php:33
 
 
 
 
 
 
525
  msgid "Remove Other Generator Meta"
526
  msgstr ""
527
 
528
- #: modules/components/general-meta.php:34
 
529
  msgid ""
530
  "Remove other meta generated tags within head (eg Theme Name, Theme Version)."
531
  msgstr ""
532
 
533
- #: modules/components/general-meta.php:49
534
  msgid "Remove Shortlink Meta"
535
  msgstr ""
536
 
537
- #: modules/components/general-meta.php:50
538
  msgid "Remove shortlink tags within head."
539
  msgstr ""
540
 
541
- #: modules/components/general-meta.php:65
 
542
  msgid "Remove DNS Prefetch"
543
  msgstr ""
544
 
545
- #: modules/components/general-meta.php:66
546
  msgid "Remove DNS Prefetch meta generated tag."
547
  msgstr ""
548
 
549
- #: modules/components/general-meta.php:81
 
 
 
 
 
 
 
 
550
  msgid "Remove Resource Hints"
551
  msgstr ""
552
 
553
- #: modules/components/general-meta.php:82
554
  msgid ""
555
  "Remove Resource Hints meta generated tags within head (eg dns-prefetch, "
556
  "preconnect)."
557
  msgstr ""
558
 
559
- #: modules/components/general-meta.php:97
 
 
 
 
 
 
 
 
560
  msgid "Remove wlwmanifest Meta"
561
  msgstr ""
562
 
563
- #: modules/components/general-meta.php:98
564
  msgid "Remove the wlwmanifest tag within head."
565
  msgstr ""
566
 
567
- #: modules/components/general-meta.php:114
568
- #: modules/components/rewrite-json-rest.php:84
 
 
 
 
 
 
 
569
  msgid "Disable output the REST API link tag into page header"
570
  msgstr ""
571
 
572
- #: modules/components/general-meta.php:115
573
- #: modules/components/rewrite-json-rest.php:85
574
  msgid "By default a REST API link tag is being append to HTML."
575
  msgstr ""
576
 
577
- #: modules/components/general-meta.php:133
 
 
 
 
 
578
  msgid "Remove rsd_link Meta"
579
  msgstr ""
580
 
581
- #: modules/components/general-meta.php:134
582
  msgid "Remove the rsd_link tag within head."
583
  msgstr ""
584
 
585
- #: modules/components/general-meta.php:151
 
 
 
 
 
 
 
 
586
  msgid "Remove adjacent_posts_rel Meta"
587
  msgstr ""
588
 
589
- #: modules/components/general-meta.php:152
590
  msgid "Remove the adjacent_posts_rel tag within head."
591
  msgstr ""
592
 
593
- #: modules/components/general-meta.php:167
 
 
 
 
594
  msgid "Remove profile link"
595
  msgstr ""
596
 
597
- #: modules/components/general-meta.php:168
598
  msgid "Remove profile link meta tag within head."
599
  msgstr ""
600
 
601
- #: modules/components/general-meta.php:183
 
 
 
 
602
  msgid "Remove canonical link"
603
  msgstr ""
604
 
605
- #: modules/components/general-meta.php:184
606
  msgid "Remove canonical link meta tag within head."
607
  msgstr ""
608
 
 
 
 
 
 
 
 
 
609
  #: modules/components/general-oembed.php:16
 
610
  msgid "Remove Oembed"
611
  msgstr ""
612
 
@@ -614,7 +1034,16 @@ msgstr ""
614
  msgid "Remove Oembed tags from header."
615
  msgstr ""
616
 
 
 
 
 
 
 
 
 
617
  #: modules/components/general-robots-txt.php:16
 
618
  msgid "Disable admin url within Robots.txt"
619
  msgstr ""
620
 
@@ -624,28 +1053,83 @@ msgid ""
624
  "when called robots.txt."
625
  msgstr ""
626
 
627
- #: modules/components/general-scripts.php:16
628
- #: modules/components/general-styles.php:16
629
- msgid "Remove Version"
 
 
 
 
 
 
 
 
 
 
 
 
 
630
  msgstr ""
631
 
632
  #: modules/components/general-scripts.php:17
633
  msgid "Remove version number from enqueued script files."
634
  msgstr ""
635
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
636
  #: modules/components/general-styles.php:17
637
  msgid "Remove version number from enqueued style files."
638
  msgstr ""
639
 
640
- #: modules/components/general-styles.php:32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
641
  msgid "Remove ID from link tags"
642
  msgstr ""
643
 
644
- #: modules/components/general-styles.php:33
645
  msgid "Remove ID attribute from all link tags which include a stylesheet."
646
  msgstr ""
647
 
 
 
 
 
 
 
648
  #: modules/components/general-wpemoji.php:16
 
 
649
  msgid "Disable Emoji"
650
  msgstr ""
651
 
@@ -653,110 +1137,288 @@ msgstr ""
653
  msgid "Disable the Emoji icon library from being loaded."
654
  msgstr ""
655
 
656
- #: modules/components/general-wpemoji.php:32
 
 
 
 
 
 
 
657
  msgid "Disable TinyMCE Emoji"
658
  msgstr ""
659
 
660
- #: modules/components/general-wpemoji.php:33
661
  msgid "Disable the TinyMCE Emoji icons library from being loaded into TinyMC."
662
  msgstr ""
663
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
664
  #: modules/components/rewrite-comments.php:17
665
- msgid "New wp-comments-post.php Path"
 
666
  msgstr ""
667
 
668
  #: modules/components/rewrite-comments.php:18
669
  msgid "The default path is set to wp-comments-post.php"
670
  msgstr ""
671
 
672
- #: modules/components/rewrite-comments.php:29
673
- msgid "Block wp-comments-post.php"
674
  msgstr ""
675
 
676
- #: modules/components/rewrite-comments.php:30
677
- msgid "Block default wp-comments-post.php."
 
 
678
  msgstr ""
679
 
680
- #: modules/components/rewrite-comments.php:30
681
- #: modules/components/rewrite-new_plugin_path.php:31
682
- msgid "Apply only if "
683
  msgstr ""
684
 
685
- #: modules/components/rewrite-comments.php:30
686
- #: modules/components/rewrite-new_plugin_path.php:31
687
- #: modules/components/rewrite-new_upload_path.php:31
688
- msgid "is not empty."
 
 
 
 
 
 
 
 
 
 
689
  msgstr ""
690
 
691
  #: modules/components/rewrite-json-rest.php:18
 
692
  msgid "Disable JSON REST V1 service"
693
  msgstr ""
694
 
695
  #: modules/components/rewrite-json-rest.php:19
696
- #: modules/components/rewrite-json-rest.php:37
697
  msgid "An API service for WordPress which is active by default."
698
  msgstr ""
699
 
700
- #: modules/components/rewrite-json-rest.php:36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
701
  msgid "Disable JSON REST V2 service"
702
  msgstr ""
703
 
 
 
 
 
 
 
704
  #: modules/components/rewrite-json-rest.php:58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
705
  msgid "Block any JSON REST calls"
706
  msgstr ""
707
 
708
- #: modules/components/rewrite-json-rest.php:59
709
  msgid "Any call for JSON REST API service will be blocked."
710
  msgstr ""
711
 
712
- #: modules/components/rewrite-json-rest.php:60
 
 
 
 
 
 
 
 
713
  msgid ""
714
- "<span class=\"info\"> This might be required by spedific plugins, including "
715
- "new WordPress editor <b>Gutenberg</b>.</span>"
716
  msgstr ""
717
 
718
- #: modules/components/rewrite-json-rest.php:102
719
  msgid "Disable JSON REST WP RSD endpoint from XML-RPC responses"
720
  msgstr ""
721
 
722
- #: modules/components/rewrite-json-rest.php:103
723
  msgid "By default a WP RSD endpoint is being append to the XML respose."
724
  msgstr ""
725
 
726
- #: modules/components/rewrite-json-rest.php:119
 
 
 
 
 
 
 
 
727
  msgid "Disable Sends a Link header for the REST API"
728
  msgstr ""
729
 
730
- #: modules/components/rewrite-json-rest.php:120
731
  msgid "On template_redirect, disable Sends a Link header for the REST API."
732
  msgstr ""
733
 
 
 
 
 
 
 
 
 
734
  #: modules/components/rewrite-new_include_path.php:17
 
 
735
  msgid "New Includes Path"
736
  msgstr ""
737
 
738
  #: modules/components/rewrite-new_include_path.php:18
739
- #: modules/components/rewrite-new_theme_path.php:23
740
- #: modules/components/rewrite-new_theme_path.php:81
741
- msgid "The default theme path is set to"
742
  msgstr ""
743
 
744
- #: modules/components/rewrite-new_include_path.php:21
745
- msgid "e.g. my_includes"
 
 
 
 
 
 
 
 
 
746
  msgstr ""
747
 
748
  #: modules/components/rewrite-new_include_path.php:29
 
 
 
 
749
  msgid "Block wp-includes URL"
750
  msgstr ""
751
 
752
- #: modules/components/rewrite-new_include_path.php:30
753
  msgid ""
754
- "Block wp-includes files from being accesible through default urls. <br /"
755
- ">Apply only if <b>New Includes Path</b> is not empty. It block only for non "
756
- "loged-in users."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
757
  msgstr ""
758
 
759
  #: modules/components/rewrite-new_plugin_path.php:17
 
760
  msgid "New Plugins Path"
761
  msgstr ""
762
 
@@ -764,98 +1426,206 @@ msgstr ""
764
  msgid "The default plugins path is set to"
765
  msgstr ""
766
 
767
- #: modules/components/rewrite-new_plugin_path.php:30
 
 
 
 
 
 
 
 
768
  msgid "Block plugins URL"
769
  msgstr ""
770
 
771
- #: modules/components/rewrite-new_plugin_path.php:31
772
- msgid "Block plugins files from being accesible through default urls."
 
 
 
 
 
 
 
 
 
773
  msgstr ""
774
 
775
- #: modules/components/rewrite-new_plugin_path.php:70
 
776
  msgid "New Path for"
777
  msgstr ""
778
 
779
- #: modules/components/rewrite-new_plugin_path.php:70
780
  msgid "plugin"
781
  msgstr ""
782
 
783
- #: modules/components/rewrite-new_plugin_path.php:71
784
- msgid "This setting overwrites the"
785
  msgstr ""
786
 
787
- #: modules/components/rewrite-new_plugin_path.php:71
788
  msgid "New Plugin Path"
789
  msgstr ""
790
 
791
- #: modules/components/rewrite-new_plugin_path.php:71
792
- msgid "setting for this plugin, if set."
793
  msgstr ""
794
 
795
- #: modules/components/rewrite-new_theme_path.php:22
 
 
 
796
  msgid "New Theme Path"
797
  msgstr ""
798
 
799
- #: modules/components/rewrite-new_theme_path.php:26
800
- msgid "e.g. my_template"
801
  msgstr ""
802
 
803
- #: modules/components/rewrite-new_theme_path.php:36
804
- msgid "New Style File Path"
 
 
 
 
 
 
 
 
 
805
  msgstr ""
806
 
807
- #: modules/components/rewrite-new_theme_path.php:37
808
- #: modules/components/rewrite-new_theme_path.php:94
809
- msgid "The default theme style file style.css path is set to"
 
 
810
  msgstr ""
811
 
812
  #: modules/components/rewrite-new_theme_path.php:39
813
- #: modules/components/rewrite-new_theme_path.php:96
814
- msgid "e.g. custom-style-file.css"
815
  msgstr ""
816
 
817
  #: modules/components/rewrite-new_theme_path.php:49
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
818
  msgid "Remove description header from Style file"
819
  msgstr ""
820
 
821
- #: modules/components/rewrite-new_theme_path.php:52
822
- #: modules/components/rewrite-new_theme_path.php:109
 
 
 
 
823
  msgid ""
824
- "Strip out all meta data from style file e.g. Theme Name, Theme URI, Author "
825
- "etc. Those are important information to find out possible theme security "
826
- "breaches."
827
  msgstr ""
828
 
829
- #: modules/components/rewrite-new_theme_path.php:53
830
- #: modules/components/rewrite-new_theme_path.php:110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
831
  msgid ""
832
- "This feature may not work if style file url not available on html (being "
833
- "concatenated)."
 
834
  msgstr ""
835
 
836
- #: modules/components/rewrite-new_theme_path.php:55
837
- #: modules/components/rewrite-new_theme_path.php:112
838
  msgid ""
839
- "This use caching. If active, cache clear is recommended on styles updated."
 
 
 
 
 
840
  msgstr ""
841
 
842
- #: modules/components/rewrite-new_theme_path.php:80
843
- msgid "Child - New Theme Path"
844
  msgstr ""
845
 
846
- #: modules/components/rewrite-new_theme_path.php:84
847
- msgid "e.g. my_child_template"
 
 
 
848
  msgstr ""
849
 
850
- #: modules/components/rewrite-new_theme_path.php:93
851
- msgid "Child - New Style File Path"
852
  msgstr ""
853
 
854
- #: modules/components/rewrite-new_theme_path.php:106
855
- msgid "Child - Remove description header from Style file"
856
  msgstr ""
857
 
858
- #: modules/components/rewrite-new_theme_path.php:753
 
 
 
 
 
 
 
859
  msgid ""
860
  "When changing the Child Theme Path it is recommended to also change the Main "
861
  "Theme Path to avoid relative paths issues within style files and layout "
@@ -863,6 +1633,7 @@ msgid ""
863
  msgstr ""
864
 
865
  #: modules/components/rewrite-new_upload_path.php:17
 
866
  msgid "New Uploads Path"
867
  msgstr ""
868
 
@@ -870,75 +1641,139 @@ msgstr ""
870
  msgid "The default uploads path is set to"
871
  msgstr ""
872
 
873
- #: modules/components/rewrite-new_upload_path.php:21
874
- msgid "e.g. my_uploads"
 
 
 
 
875
  msgstr ""
876
 
877
- #: modules/components/rewrite-new_upload_path.php:30
 
 
 
 
 
878
  msgid "Block default uploads URL"
879
  msgstr ""
880
 
881
- #: modules/components/rewrite-new_upload_path.php:31
882
  msgid ""
883
- "Block default wp-content/uploads/ media folder from being accesible through "
884
  "default urls."
885
  msgstr ""
886
 
887
- #: modules/components/rewrite-new_upload_path.php:31
888
  msgid ""
889
- "If set to Yes, all new images inserted into posts will use the new Upload "
890
- "Url, as old url become blocked. Using the No, new images inserted will use "
891
- "old url, which however are being updated on front side. This may be helpful "
892
- "on plugin disable, so image urls can be accessible as before."
893
- msgstr ""
894
-
895
- #: modules/components/rewrite-new_upload_path.php:31
896
- msgid "Apply only if"
897
  msgstr ""
898
 
899
  #: modules/components/rewrite-new_xml-rpc-path.php:17
 
 
900
  msgid "New XML-RPC Path"
901
  msgstr ""
902
 
903
  #: modules/components/rewrite-new_xml-rpc-path.php:18
 
 
 
 
904
  msgid ""
905
- "The default XML-RPC path is set to xmlrpc.php. If not used you can leave "
906
- "empty and block the service using the following area."
 
907
  msgstr ""
908
 
909
- #: modules/components/rewrite-new_xml-rpc-path.php:20
 
 
 
 
 
 
 
 
 
 
910
  msgid "e.g. my-xml-rpc.php"
911
  msgstr ""
912
 
913
- #: modules/components/rewrite-new_xml-rpc-path.php:29
 
914
  msgid "Block default xmlrpc.php"
915
  msgstr ""
916
 
917
- #: modules/components/rewrite-new_xml-rpc-path.php:30
 
 
 
 
918
  msgid ""
919
- "XML-RPC gives others the ability to talk to your WordPress site. If not used "
920
- "you should disable. Keep in mind that some plugins like Jetpack use this API."
921
  msgstr ""
922
 
923
- #: modules/components/rewrite-new_xml-rpc-path.php:46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
924
  msgid "Disable XML-RPC authentication"
925
  msgstr ""
926
 
927
- #: modules/components/rewrite-new_xml-rpc-path.php:47
928
  msgid ""
929
  "Filter whether XML-RPC methods requiring authentication, such as for "
930
  "publishing purposes, are enabled."
931
  msgstr ""
932
 
933
- #: modules/components/rewrite-new_xml-rpc-path.php:63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
934
  msgid "Remove pingback"
935
  msgstr ""
936
 
937
- #: modules/components/rewrite-new_xml-rpc-path.php:64
938
  msgid "Remove pingback link tag from theme."
939
  msgstr ""
940
 
 
 
 
 
 
 
 
 
941
  #: modules/components/rewrite-root-files.php:19
 
942
  msgid "Block license.txt"
943
  msgstr ""
944
 
@@ -946,61 +1781,118 @@ msgstr ""
946
  msgid "Block access to license.txt root file"
947
  msgstr ""
948
 
949
- #: modules/components/rewrite-root-files.php:35
 
 
 
 
 
 
 
 
950
  msgid "Block readme.html"
951
  msgstr ""
952
 
953
- #: modules/components/rewrite-root-files.php:36
954
  msgid "Block access to readme.html root file"
955
  msgstr ""
956
 
957
- #: modules/components/rewrite-root-files.php:51
 
 
 
 
 
 
 
 
958
  msgid "Block wp-activate.php"
959
  msgstr ""
960
 
961
- #: modules/components/rewrite-root-files.php:52
 
 
 
 
962
  msgid ""
963
- "Block access to wp-activate.php file. This file confirms that the activation "
964
- "key that is sent in an email after a user signs up for a new blog matches "
965
- "the key for that user. If <b>anyone can register</b> on your site, you shold "
966
- "keep this off."
967
  msgstr ""
968
 
969
- #: modules/components/rewrite-root-files.php:67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
970
  msgid "Block wp-cron.php"
971
  msgstr ""
972
 
973
- #: modules/components/rewrite-root-files.php:68
974
  msgid ""
975
- "Block access to wp-cron.php file. If remote cron calls not being used this "
976
- "can be set to Yes."
 
977
  msgstr ""
978
 
979
- #: modules/components/rewrite-root-files.php:83
 
980
  msgid "Block wp-signup.php"
981
  msgstr ""
982
 
983
- #: modules/components/rewrite-root-files.php:84
 
 
 
 
984
  msgid ""
985
- "Block default wp-signup.php file. If <b>anyone can register</b> on your "
986
- "site, you shold keep this off."
 
987
  msgstr ""
988
 
989
- #: modules/components/rewrite-root-files.php:100
 
990
  msgid "Block wp-register.php"
991
  msgstr ""
992
 
993
- #: modules/components/rewrite-root-files.php:101
 
 
 
 
994
  msgid ""
995
- "Block default wp-register.php file. This file is now deprecated however "
996
- "still exists within code and redirected to /register page."
 
997
  msgstr ""
998
 
999
- #: modules/components/rewrite-root-files.php:117
 
1000
  msgid "Block other wp-*.php files"
1001
  msgstr ""
1002
 
1003
- #: modules/components/rewrite-root-files.php:118
 
 
 
 
1004
  msgid ""
1005
  "Block other wp-*.php files. E.g. wp-blog-header.php, wp-config.php, wp-cron."
1006
  "php. Those files are used internally, blocking those will not affect any "
@@ -1008,22 +1900,76 @@ msgid ""
1008
  "php) are ignored, they can be controlled through own setting."
1009
  msgstr ""
1010
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1011
  #: modules/components/rewrite-slash.php:16
1012
  msgid "URL's add Slash"
1013
  msgstr ""
1014
 
1015
- #: modules/components/rewrite-slash.php:18
 
 
 
 
 
 
 
 
1016
  msgid ""
1017
- "Add an end slash to any links without one. Disguise the existence of files "
1018
- "and folders, they will be all slashed."
 
 
1019
  msgstr ""
1020
 
1021
- #: modules/components/rewrite-slash.php:18
 
 
 
 
 
 
 
 
1022
  msgid ""
1023
- "On certain systems this can produce a small lag measured in milliseconds."
 
 
 
 
 
1024
  msgstr ""
1025
 
1026
  #: modules/components/rewrite-wp_content_path.php:16
 
1027
  msgid "New Content Path"
1028
  msgstr ""
1029
 
@@ -1031,22 +1977,45 @@ msgstr ""
1031
  msgid "Your default wp-content path is set to"
1032
  msgstr ""
1033
 
1034
- #: modules/components/rewrite-wp_content_path.php:20
 
 
 
 
 
 
 
 
 
 
 
 
1035
  msgid "e.g. my_content"
1036
  msgstr ""
1037
 
1038
- #: modules/components/rewrite-wp_content_path.php:30
1039
  msgid "Block wp-content URL"
1040
  msgstr ""
1041
 
1042
- #: modules/components/rewrite-wp_content_path.php:31
1043
- msgid "Block default content path. Your default wp-content path is set to"
 
 
 
 
 
 
 
 
 
 
1044
  msgstr ""
1045
 
1046
- #: modules/components/rewrite-wp_content_path.php:32
1047
  msgid ""
1048
- "Apply only if <b>New Content Path</b> is not empty. It block only for non "
1049
- "loged-in users."
 
1050
  msgstr ""
1051
 
1052
  #: modules/module-admin.php:45
@@ -1065,18 +2034,18 @@ msgstr ""
1065
  msgid "WP Hide & Security Enhancer - CDN"
1066
  msgstr ""
1067
 
1068
- #: modules/module-general.php:66
1069
  msgid "General / Html"
1070
  msgstr ""
1071
 
1072
- #: modules/module-general.php:78
1073
  msgid "WP Hide & Security Enhancer - General / Html"
1074
  msgstr ""
1075
 
1076
- #: modules/module-rewrite.php:71 modules/module-rewrite.php:82
1077
  msgid "Rewrite"
1078
  msgstr ""
1079
 
1080
- #: modules/module-rewrite.php:82
1081
  msgid "WP Hide & Security Enhancer"
1082
  msgstr ""
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WP Hide & Security Enhancer\n"
4
+ "POT-Creation-Date: 2019-12-10 17:26+0200\n"
5
+ "PO-Revision-Date: 2019-12-10 17:28+0200\n"
6
  "Last-Translator: NspCode <contact@nsp-code.com>\n"
7
  "Language-Team: Nsp Code\n"
8
  "Language: en\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.2.1\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SearchPath-0: .\n"
17
 
18
+ #: compatibility/webarx.php:41 compatibility/wps-hide-login.php:38
19
+ msgid "WP Hide Conflict Notice."
20
+ msgstr ""
21
+
22
+ #: compatibility/webarx.php:41 compatibility/wps-hide-login.php:38
23
+ msgid ""
24
+ "You use another plugin (WebARX) to change the default wp-login.php. To avoid "
25
+ "conflicts, activate the option within a single code."
26
+ msgstr ""
27
+
28
+ #: compatibility/wp-simple-firewall.php:100
29
  msgid ""
30
  "<b>Conflict notice</b>: The Security Firewall - Login Protection use the "
31
  "Rename WP Login Page functionality which is the same as WP Hide - Admin "
32
  "Login Url change. "
33
  msgstr ""
34
 
35
+ #: include/admin-interface.class.php:110
36
  msgid "Save"
37
  msgstr ""
38
 
39
+ #: include/admin-interface.class.php:297
40
+ msgid ""
41
+ "Copy the following link to a safe place. You can use later to reset all "
42
+ "plugin options, if something go wrong."
43
+ msgstr ""
44
+
45
+ #: include/class.environment.php:144
46
+ msgid ""
47
+ "<b>WP Hide</b> - Unable to create environment static file. The system "
48
+ "returned the following error: "
49
+ msgstr ""
50
+
51
+ #: include/class.environment.php:159 include/class.environment.php:175
52
+ msgid ""
53
+ "Some of plugin options will not work correctly so where turned off: "
54
+ "<b>Remove description header from Style file</b>, <b>Child - Remove "
55
+ "description header from Style file</b>"
56
+ msgstr ""
57
+
58
+ #: include/class.environment.php:170
59
+ msgid "Unable to create environment data at "
60
+ msgstr ""
61
+
62
+ #: include/class.environment.php:170
63
+ msgid "Is file writable"
64
+ msgstr ""
65
+
66
+ #: include/class.environment.php:170
67
+ msgid "Check with folder/file permission or contact server administrator."
68
+ msgstr ""
69
+
70
+ #: include/functions.class.php:272 include/functions.class.php:294
71
+ #: include/functions.class.php:309
72
  msgid "Value"
73
  msgstr ""
74
 
75
+ #: include/functions.class.php:272 include/functions.class.php:294
76
+ #: include/functions.class.php:309
77
  msgid "set for"
78
  msgstr ""
79
 
80
+ #: include/functions.class.php:272
81
  msgid "already in use for another option."
82
  msgstr ""
83
 
84
+ #: include/functions.class.php:294
85
+ msgid "use the same base slug "
86
+ msgstr ""
87
+
88
+ #: include/functions.class.php:294
89
+ msgid "used for another option."
90
+ msgstr ""
91
+
92
+ #: include/functions.class.php:309
93
+ msgid "is a system reserved."
94
+ msgstr ""
95
+
96
+ #: include/functions.class.php:412
97
  msgid ""
98
  "W3 Total Cache Plugin is active, make sure you clear the cache for new "
99
  "changes to apply"
100
  msgstr ""
101
 
102
+ #: include/functions.class.php:416
103
  msgid ""
104
  "WP Super Cache Plugin is active, make sure you clear the cache for new "
105
  "changes to apply"
106
  msgstr ""
107
 
108
+ #: include/functions.class.php:421
109
  msgid ""
110
  "WP Fastest Cache Plugin is active, make sure you clear the cache for new "
111
  "changes to apply"
112
  msgstr ""
113
 
114
+ #: include/functions.class.php:1661
115
+ #: modules/components/admin-new_wp_login_php.php:114
116
+ msgid "Hello"
117
+ msgstr ""
118
+
119
+ #: include/functions.class.php:1662
120
+ msgid ""
121
+ "This is an automated message to inform that you can always use a recovery "
122
+ "link if something go wrong"
123
+ msgstr ""
124
+
125
+ #: include/functions.class.php:1663
126
+ #: modules/components/admin-new_wp_login_php.php:118
127
+ msgid "Please keep this url to a safe place."
128
+ msgstr ""
129
+
130
+ #: include/functions.class.php:2257
131
  #, php-format
132
  msgid "The %1$s plugin header is deprecated. Use %2$s instead."
133
  msgstr ""
134
 
135
+ #: include/functions.class.php:2342
136
  #, php-format
137
  msgid "By %s."
138
  msgstr ""
139
 
140
+ #: include/functions.class.php:2649
141
  msgid ""
142
+ "Help us to maintain this plugin by sending improvements, suggestions and "
143
  "reporting any issues at "
144
  msgstr ""
145
 
146
+ #: include/functions.class.php:2651
147
  msgid "Did you know there is a"
148
  msgstr ""
149
 
150
+ #: include/functions.class.php:2651
151
  msgid "version of this plug-in?"
152
  msgstr ""
153
 
154
+ #: include/functions.class.php:2653
155
  msgid ""
156
+ "Did you find this plugin useful? Please support our work by submitting a "
157
+ "review, spread the word about the code, or write an article about the plugin "
158
+ "in your blog with a link to development site"
159
  msgstr ""
160
 
161
+ #: include/wph.class.php:338
162
  msgid ""
163
  "Are you sure to reset all settings? All options will be removed. Manual "
164
  "remove of rewrite lines is required if no access from php"
165
  msgstr ""
166
 
167
+ #: include/wph.class.php:376
168
  msgid ""
169
  "Your server run on WPEngine which works on Nginx rewrite rules, please check "
170
+ "with WP Hide PRO version at"
171
  msgstr ""
172
 
173
+ #: include/wph.class.php:381
174
  msgid ""
175
  "This plugin version can't handle MultiSite environment, please check with WP "
176
  "Hide PRO version at"
177
  msgstr ""
178
 
179
+ #: include/wph.class.php:386
180
  msgid ""
181
  "Unable to launch WP Hide through mu-plugins/wp-hide-loader.php<br /> Please "
182
  "make sure this location is writable so the plugin create the required file."
183
  msgstr ""
184
 
185
+ #: include/wph.class.php:392
186
+ msgid ""
187
+ "Unable to update the /mu-plugins/wp-hide-loader.php<br /> Please make sure "
188
+ "the file is writable so the plugin create the required file."
189
+ msgstr ""
190
+
191
+ #: include/wph.class.php:401
192
+ msgid ""
193
+ "Unable to update the <b>mu-plugins/wp-hide-loader.php</b><br /> Please "
194
+ "manually copy the file from"
195
+ msgstr ""
196
+
197
+ #: include/wph.class.php:401
198
+ msgid "to"
199
+ msgstr ""
200
+
201
+ #: include/wph.class.php:407
202
  msgid ""
203
  "Permalink is required to be turned ON for WP Hide & Security Enhancer to work"
204
  msgstr ""
205
 
206
+ #: include/wph.class.php:412
207
  msgid ""
208
  "<b>WP Hide</b> This plugin version can't handle this server type, please "
209
  "check with PRO version at"
210
  msgstr ""
211
 
212
+ #: include/wph.class.php:423
213
  msgid ""
214
  "Unable to write custom rules to your .htaccess. Is this file writable? <br /"
215
  ">No changes are being applied."
216
  msgstr ""
217
 
218
+ #: include/wph.class.php:426
219
  msgid ""
220
  "Unable to write custom rules to your web.config. Is this file writable? <br /"
221
  ">No changes are being applied."
222
  msgstr ""
223
 
224
+ #: include/wph.class.php:434
225
  msgid ""
226
  "Unable to create cache folder. Is the wp-content writable? <br />No cache "
227
  "data will be available."
228
  msgstr ""
229
 
230
+ #: include/wph.class.php:439
231
  msgid "All Settings where restored to default"
232
  msgstr ""
233
 
234
+ #: include/wph.class.php:468
235
  msgid "Settings saved"
236
  msgstr ""
237
 
238
+ #: include/wph.class.php:468
239
+ msgid "Remember, site cache clear is required."
 
 
 
 
240
  msgstr ""
241
 
242
+ #: include/wph.class.php:510
243
+ msgid "Cache cleared"
 
 
 
 
244
  msgstr ""
245
 
246
  #: modules/components/admin-admin_url.php:16
247
+ #: modules/components/admin-admin_url.php:22
248
  msgid "New Admin Url"
249
  msgstr ""
250
 
252
  msgid "Create a new admin url instead default /wp-admin and /login."
253
  msgstr ""
254
 
255
+ #: modules/components/admin-admin_url.php:22
256
+ #: modules/components/admin-admin_url.php:44
257
+ #: modules/components/admin-new_wp_login_php.php:22
258
+ #: modules/components/admin-new_wp_login_php.php:51
259
+ #: modules/components/cdn-setup.php:20
260
+ #: modules/components/general-admin-bar.php:50
261
+ #: modules/components/general-feed.php:20
262
+ #: modules/components/general-headers.php:21
263
+ #: modules/components/general-headers.php:46
264
+ #: modules/components/general-headers.php:69
265
+ #: modules/components/general-html.php:25
266
+ #: modules/components/general-html.php:47
267
+ #: modules/components/general-html.php:79
268
+ #: modules/components/general-html.php:102
269
+ #: modules/components/general-html.php:125
270
+ #: modules/components/general-html.php:148
271
+ #: modules/components/general-html.php:171
272
+ #: modules/components/general-meta.php:21
273
+ #: modules/components/general-meta.php:45
274
+ #: modules/components/general-meta.php:85
275
+ #: modules/components/general-meta.php:107
276
+ #: modules/components/general-meta.php:129
277
+ #: modules/components/general-meta.php:154
278
+ #: modules/components/general-meta.php:181
279
+ #: modules/components/general-meta.php:207
280
+ #: modules/components/general-meta.php:231
281
+ #: modules/components/general-meta.php:255
282
+ #: modules/components/general-oembed.php:20
283
+ #: modules/components/general-robots-txt.php:20
284
+ #: modules/components/general-scripts.php:20
285
+ #: modules/components/general-styles.php:20
286
+ #: modules/components/general-styles.php:43
287
+ #: modules/components/general-wpemoji.php:20
288
+ #: modules/components/general-wpemoji.php:42
289
+ #: modules/components/rewrite-author.php:21
290
+ #: modules/components/rewrite-author.php:42
291
+ #: modules/components/rewrite-comments.php:21
292
+ #: modules/components/rewrite-comments.php:43
293
+ #: modules/components/rewrite-json-rest.php:22
294
+ #: modules/components/rewrite-json-rest.php:54
295
+ #: modules/components/rewrite-json-rest.php:91
296
+ #: modules/components/rewrite-json-rest.php:128
297
+ #: modules/components/rewrite-json-rest.php:152
298
+ #: modules/components/rewrite-json-rest.php:175
299
+ #: modules/components/rewrite-new_include_path.php:21
300
+ #: modules/components/rewrite-new_include_path.php:41
301
+ #: modules/components/rewrite-new_plugin_path.php:21
302
+ #: modules/components/rewrite-new_plugin_path.php:40
303
+ #: modules/components/rewrite-new_plugin_path.php:92
304
+ #: modules/components/rewrite-new_theme_path.php:31
305
+ #: modules/components/rewrite-new_theme_path.php:53
306
+ #: modules/components/rewrite-new_theme_path.php:77
307
+ #: modules/components/rewrite-new_theme_path.php:123
308
+ #: modules/components/rewrite-new_theme_path.php:144
309
+ #: modules/components/rewrite-new_theme_path.php:168
310
+ #: modules/components/rewrite-new_upload_path.php:21
311
+ #: modules/components/rewrite-new_upload_path.php:40
312
+ #: modules/components/rewrite-new_xml-rpc-path.php:21
313
+ #: modules/components/rewrite-new_xml-rpc-path.php:43
314
+ #: modules/components/rewrite-new_xml-rpc-path.php:73
315
+ #: modules/components/rewrite-new_xml-rpc-path.php:102
316
+ #: modules/components/rewrite-root-files.php:23
317
+ #: modules/components/rewrite-root-files.php:45
318
+ #: modules/components/rewrite-root-files.php:67
319
+ #: modules/components/rewrite-root-files.php:101
320
+ #: modules/components/rewrite-root-files.php:124
321
+ #: modules/components/rewrite-root-files.php:147
322
+ #: modules/components/rewrite-root-files.php:170
323
+ #: modules/components/rewrite-search.php:21
324
+ #: modules/components/rewrite-search.php:42
325
+ #: modules/components/rewrite-slash.php:20
326
+ #: modules/components/rewrite-wp_content_path.php:20
327
+ #: modules/components/rewrite-wp_content_path.php:42
328
+ msgid "Help"
329
  msgstr ""
330
 
331
+ #: modules/components/admin-admin_url.php:23
332
+ msgid ""
333
+ "Despite the flexibility of WordPress framework, there are few ways to "
334
+ "configure the admin login url customization for making a bit safer against "
335
+ "unauthorized access and brute force attempts. All methods are not provided "
336
+ "out of the box through WordPress core but require custom code to make it "
337
+ "happen."
338
  msgstr ""
339
 
340
+ #: modules/components/admin-admin_url.php:24
341
+ msgid ""
342
+ "This feature provide an easy way to change the default /wp-admin/ to a "
343
+ "different slug."
344
  msgstr ""
345
 
346
+ #: modules/components/admin-admin_url.php:25
347
+ msgid ""
348
+ "Once changed, the new url will be used to access all Dashboard sections, "
349
+ "from Posts and Pages section to Plugins, Appearance and Settings."
350
  msgstr ""
351
 
352
+ #: modules/components/admin-admin_url.php:38
353
+ #: modules/components/admin-admin_url.php:44
354
+ msgid "Block default Admin Url"
355
  msgstr ""
356
 
357
+ #: modules/components/admin-admin_url.php:40
358
+ msgid "Block default admin url and files from being accesible."
 
 
 
359
  msgstr ""
360
 
361
+ #: modules/components/admin-admin_url.php:45
362
+ msgid ""
363
+ "If set to Yes, the old admin url will be blocked and a default theme 404 "
364
+ "error page will be returned."
365
  msgstr ""
366
 
367
+ #: modules/components/admin-admin_url.php:46
368
+ msgid ""
369
+ "Ensure the New Admin Url option works correctly on your server before "
370
+ "activate this."
371
+ msgstr ""
372
+
373
+ #: modules/components/admin-admin_url.php:53
374
+ #: modules/components/admin-new_wp_login_php.php:59
375
+ #: modules/components/rewrite-json-rest.php:31
376
+ #: modules/components/rewrite-json-rest.php:64
377
+ #: modules/components/rewrite-json-rest.php:99
378
+ #: modules/components/rewrite-new_include_path.php:48
379
+ #: modules/components/rewrite-new_plugin_path.php:47
380
+ #: modules/components/rewrite-new_theme_path.php:85
381
+ #: modules/components/rewrite-new_theme_path.php:176
382
+ #: modules/components/rewrite-new_upload_path.php:47
383
+ #: modules/components/rewrite-new_xml-rpc-path.php:51
384
+ #: modules/components/rewrite-new_xml-rpc-path.php:80
385
+ #: modules/components/rewrite-new_xml-rpc-path.php:109
386
+ #: modules/components/rewrite-wp_content_path.php:49
387
+ msgid "This is an advanced option !"
388
  msgstr ""
389
 
390
+ #: modules/components/admin-admin_url.php:53
391
+ msgid ""
392
+ "This can break the layour of dashboard admin if server not supporting the "
393
+ "feature. Ensure `New Admin Url` option works fine before activate this.<br /"
394
+ ">If not working, use the recovery link to revert."
395
+ msgstr ""
396
+
397
+ #: modules/components/admin-admin_url.php:59
398
+ #: modules/components/admin-new_wp_login_php.php:65
399
+ #: modules/components/general-admin-bar.php:57
400
+ #: modules/components/general-feed.php:31
401
+ #: modules/components/general-headers.php:30
402
+ #: modules/components/general-headers.php:54
403
+ #: modules/components/general-headers.php:76
404
+ #: modules/components/general-html.php:32
405
+ #: modules/components/general-html.php:61
406
+ #: modules/components/general-html.php:87
407
+ #: modules/components/general-html.php:110
408
+ #: modules/components/general-html.php:133
409
+ #: modules/components/general-html.php:156
410
+ #: modules/components/general-html.php:179
411
+ #: modules/components/general-meta.php:30
412
  #: modules/components/general-meta.php:54
413
  #: modules/components/general-meta.php:70
414
+ #: modules/components/general-meta.php:92
415
+ #: modules/components/general-meta.php:114
 
416
  #: modules/components/general-meta.php:138
417
+ #: modules/components/general-meta.php:163
418
+ #: modules/components/general-meta.php:190
419
+ #: modules/components/general-meta.php:216
420
+ #: modules/components/general-meta.php:240
421
+ #: modules/components/general-meta.php:264
422
+ #: modules/components/general-oembed.php:26
423
+ #: modules/components/general-robots-txt.php:30
424
+ #: modules/components/general-scripts.php:32
425
+ #: modules/components/general-styles.php:28
426
+ #: modules/components/general-styles.php:50
427
+ #: modules/components/general-wpemoji.php:27
428
+ #: modules/components/general-wpemoji.php:50
429
+ #: modules/components/rewrite-author.php:49
430
+ #: modules/components/rewrite-comments.php:50
431
+ #: modules/components/rewrite-json-rest.php:37
432
+ #: modules/components/rewrite-json-rest.php:70
433
+ #: modules/components/rewrite-json-rest.php:105
434
+ #: modules/components/rewrite-json-rest.php:135
435
+ #: modules/components/rewrite-json-rest.php:159
436
+ #: modules/components/rewrite-json-rest.php:182
437
+ #: modules/components/rewrite-new_include_path.php:54
438
+ #: modules/components/rewrite-new_plugin_path.php:53
439
+ #: modules/components/rewrite-new_theme_path.php:91
440
+ #: modules/components/rewrite-new_theme_path.php:183
441
+ #: modules/components/rewrite-new_upload_path.php:53
442
+ #: modules/components/rewrite-new_xml-rpc-path.php:57
443
+ #: modules/components/rewrite-new_xml-rpc-path.php:86
444
+ #: modules/components/rewrite-new_xml-rpc-path.php:115
445
+ #: modules/components/rewrite-root-files.php:30
446
+ #: modules/components/rewrite-root-files.php:52
447
+ #: modules/components/rewrite-root-files.php:75
448
+ #: modules/components/rewrite-root-files.php:109
449
+ #: modules/components/rewrite-root-files.php:131
450
+ #: modules/components/rewrite-root-files.php:154
451
+ #: modules/components/rewrite-root-files.php:177
452
+ #: modules/components/rewrite-search.php:49
453
+ #: modules/components/rewrite-slash.php:35
454
+ #: modules/components/rewrite-wp_content_path.php:55
455
+ msgid "No"
456
  msgstr ""
457
 
458
+ #: modules/components/admin-admin_url.php:60
459
+ #: modules/components/admin-new_wp_login_php.php:66
460
+ #: modules/components/general-admin-bar.php:58
461
+ #: modules/components/general-feed.php:32
462
+ #: modules/components/general-headers.php:31
463
+ #: modules/components/general-headers.php:55
464
+ #: modules/components/general-headers.php:77
465
+ #: modules/components/general-html.php:33
466
+ #: modules/components/general-html.php:88
467
+ #: modules/components/general-html.php:111
468
+ #: modules/components/general-html.php:134
469
+ #: modules/components/general-html.php:157
470
+ #: modules/components/general-html.php:180
471
+ #: modules/components/general-meta.php:31
472
  #: modules/components/general-meta.php:55
473
  #: modules/components/general-meta.php:71
474
+ #: modules/components/general-meta.php:93
475
+ #: modules/components/general-meta.php:115
 
476
  #: modules/components/general-meta.php:139
477
+ #: modules/components/general-meta.php:164
478
+ #: modules/components/general-meta.php:191
479
+ #: modules/components/general-meta.php:217
480
+ #: modules/components/general-meta.php:241
481
+ #: modules/components/general-meta.php:265
482
+ #: modules/components/general-oembed.php:27
483
+ #: modules/components/general-robots-txt.php:31
484
+ #: modules/components/general-scripts.php:33
485
+ #: modules/components/general-styles.php:29
486
+ #: modules/components/general-styles.php:51
487
+ #: modules/components/general-wpemoji.php:28
488
+ #: modules/components/general-wpemoji.php:51
489
+ #: modules/components/rewrite-author.php:50
490
+ #: modules/components/rewrite-comments.php:51
491
+ #: modules/components/rewrite-json-rest.php:38
492
+ #: modules/components/rewrite-json-rest.php:71
493
+ #: modules/components/rewrite-json-rest.php:106
494
+ #: modules/components/rewrite-json-rest.php:136
495
+ #: modules/components/rewrite-json-rest.php:160
496
+ #: modules/components/rewrite-json-rest.php:183
497
+ #: modules/components/rewrite-new_include_path.php:55
498
+ #: modules/components/rewrite-new_plugin_path.php:54
499
+ #: modules/components/rewrite-new_theme_path.php:92
500
+ #: modules/components/rewrite-new_theme_path.php:184
501
+ #: modules/components/rewrite-new_upload_path.php:54
502
+ #: modules/components/rewrite-new_xml-rpc-path.php:58
503
+ #: modules/components/rewrite-new_xml-rpc-path.php:87
504
+ #: modules/components/rewrite-new_xml-rpc-path.php:116
505
+ #: modules/components/rewrite-root-files.php:31
506
+ #: modules/components/rewrite-root-files.php:53
507
+ #: modules/components/rewrite-root-files.php:76
508
+ #: modules/components/rewrite-root-files.php:110
509
+ #: modules/components/rewrite-root-files.php:132
510
+ #: modules/components/rewrite-root-files.php:155
511
+ #: modules/components/rewrite-root-files.php:178
512
+ #: modules/components/rewrite-search.php:50
513
+ #: modules/components/rewrite-slash.php:36
514
+ #: modules/components/rewrite-wp_content_path.php:56
515
+ msgid "Yes"
516
  msgstr ""
517
 
518
+ #: modules/components/admin-new_wp_login_php.php:16
519
+ #: modules/components/admin-new_wp_login_php.php:22
520
+ msgid "New wp-login.php"
521
  msgstr ""
522
 
523
+ #: modules/components/admin-new_wp_login_php.php:18
524
  msgid ""
525
+ "Map a new wp-login.php instead default. This also need to include <i>.php</"
526
+ "i> extension."
527
  msgstr ""
528
 
529
+ #: modules/components/admin-new_wp_login_php.php:23
530
+ msgid ""
531
+ "There are a lot of security issues that come from having your login page "
532
+ "open to the public. Most specifically, brute force attacks. Because of the "
533
+ "ubiquity of WordPress, these kinds of attacks are becoming more and more "
534
+ "common."
535
+ msgstr ""
536
+
537
+ #: modules/components/admin-new_wp_login_php.php:24
538
+ msgid ""
539
+ "Map a new wp-login.php instead default prevent hackers boot to attempt to "
540
+ "brute force a site login. Being known only by the site owner, the url itself "
541
+ "becomes private."
542
  msgstr ""
543
 
544
+ #: modules/components/admin-new_wp_login_php.php:25
545
+ msgid ""
546
+ "Make sure you keep the new login url to a safe place, in case to forget."
547
  msgstr ""
548
 
549
+ #: modules/components/admin-new_wp_login_php.php:35
550
+ msgid ""
551
+ "Make sure your log-in url is not already modified by another plugin or "
552
+ "theme. In such case, you should disable other code and take advantage of "
553
+ "these features."
554
  msgstr ""
555
 
556
+ #: modules/components/admin-new_wp_login_php.php:47
557
+ #: modules/components/admin-new_wp_login_php.php:51
558
+ msgid "Block default wp-login.php"
559
  msgstr ""
560
 
561
+ #: modules/components/admin-new_wp_login_php.php:48
562
+ msgid "Block default wp-login.php file from being accesible."
563
+ msgstr ""
564
+
565
+ #: modules/components/admin-new_wp_login_php.php:52
566
  msgid ""
567
+ "If set to Yes, the old login url will be blocked and a default theme 404 "
568
+ "error page will be returned."
569
  msgstr ""
570
 
571
+ #: modules/components/admin-new_wp_login_php.php:53
572
  msgid ""
573
+ "Ensure the New wp-login.php option works correctly on your server before "
574
+ "activate this."
 
575
  msgstr ""
576
 
577
+ #: modules/components/admin-new_wp_login_php.php:59
578
+ msgid ""
579
+ "This can break the login page if server not supporting the feature. Ensure "
580
+ "`New wp-login.php` option works fine before activate this.<br />If not "
581
+ "working, use the recovery link to revert."
582
  msgstr ""
583
 
584
+ #: modules/components/admin-new_wp_login_php.php:115
585
+ msgid ""
586
+ "This is an automated message to inform that your login url has been changed "
587
+ "at site "
588
  msgstr ""
589
 
590
+ #: modules/components/admin-new_wp_login_php.php:116
591
+ msgid "The new login url is"
592
+ msgstr ""
593
+
594
+ #: modules/components/admin-new_wp_login_php.php:117
595
+ msgid "Additionality you can use the following link to reset all options "
596
  msgstr ""
597
 
598
+ #: modules/components/cdn-setup.php:16 modules/components/cdn-setup.php:20
599
  msgid "CDN Url"
600
  msgstr ""
601
 
605
  "url, enter here such url. Otherwise this option should stay empty."
606
  msgstr ""
607
 
608
+ #: modules/components/cdn-setup.php:21
609
+ msgid ""
610
+ "A Content Delivery Network - CDN - is a network of servers located around "
611
+ "the globe in fundamental spots with fast access. It takes a while for a web "
612
+ "page to load especially if the server is located far away from the user. So "
613
+ "they are designed to host and deliver copies of your site's static and "
614
+ "dynamic content such as images, CSS, JavaScript, audio and video streams."
615
+ msgstr ""
616
+
617
+ #: modules/components/cdn-setup.php:22
618
+ msgid "Sample CDN url:"
619
+ msgstr ""
620
+
621
+ #: modules/components/cdn-setup.php:24
622
+ msgid ""
623
+ "Enter a CDN Url to allow the plugin to process assets provided through CDN "
624
+ "service."
625
+ msgstr ""
626
+
627
+ #: modules/components/general-admin-bar.php:42
628
+ #: modules/components/general-admin-bar.php:47
629
+ msgid "Remove WordPress Admin Bar for "
630
+ msgstr ""
631
+
632
+ #: modules/components/general-admin-bar.php:42
633
+ msgid "role"
634
+ msgstr ""
635
+
636
+ #: modules/components/general-admin-bar.php:46
637
+ #: modules/components/general-admin-bar.php:50
638
+ msgid "Remove Admin Bar for "
639
+ msgstr ""
640
+
641
+ #: modules/components/general-admin-bar.php:47
642
+ msgid ""
643
+ "role, which is being displayed by default on front side of your website."
644
+ msgstr ""
645
+
646
+ #: modules/components/general-admin-bar.php:50
647
+ msgid "role."
648
+ msgstr ""
649
+
650
  #: modules/components/general-feed.php:16
651
+ #: modules/components/general-feed.php:20
652
  msgid "Remove feed|rdf|rss|rss2|atom links"
653
  msgstr ""
654
 
658
  "functionality."
659
  msgstr ""
660
 
661
+ #: modules/components/general-feed.php:21
662
+ msgid ""
663
+ "A feed is a function of special software that allows feedreaders to access a "
664
+ "site, automatically looking for new content and then posting the information "
665
+ "about new content and updates to another site. This provides a way for users "
666
+ "to keep up with the latest and hottest information posted on different "
667
+ "blogging sites."
668
+ msgstr ""
669
+
670
+ #: modules/components/general-feed.php:22
671
+ msgid ""
672
+ "There are several different kinds of feeds, read by different feedreaders. "
673
+ "Some feeds include RSS (alternately defined as 'Rich Site Summary' or "
674
+ "'Really Simple Syndication'), Atom or RDF files."
675
+ msgstr ""
676
+
677
+ #: modules/components/general-feed.php:23
678
+ #: modules/components/general-meta.php:131
679
+ #: modules/components/general-meta.php:156
680
+ #: modules/components/general-meta.php:183
681
+ #: modules/components/general-meta.php:209
682
+ #: modules/components/general-meta.php:233
683
+ #: modules/components/general-meta.php:257
684
+ #: modules/components/general-scripts.php:23
685
+ msgid "Sample tag:"
686
+ msgstr ""
687
+
688
+ #: modules/components/general-feed.php:25
689
+ msgid "Set this option to Yes also disable the feed service."
690
  msgstr ""
691
 
692
  #: modules/components/general-headers.php:17
693
+ msgid "Remove Link Header"
694
  msgstr ""
695
 
696
  #: modules/components/general-headers.php:18
697
+ msgid ""
698
+ "Remove Link Header being set as default by WordPress which outputs the site "
699
+ "JSON url."
700
+ msgstr ""
701
+
702
+ #: modules/components/general-headers.php:21
703
+ #: modules/components/general-scripts.php:16
704
+ #: modules/components/general-scripts.php:20
705
+ #: modules/components/general-styles.php:16
706
+ #: modules/components/general-styles.php:20
707
+ #: modules/components/general-styles.php:43
708
+ msgid "Remove Version"
709
  msgstr ""
710
 
711
+ #: modules/components/general-headers.php:22
712
+ msgid ""
713
+ "HTTP header fields are components of the header section of a request and "
714
+ "response messages in the Hypertext Transfer Protocol (HTTP). They define the "
715
+ "operating parameters of an HTTP transaction."
716
+ msgstr ""
717
+
718
+ #: modules/components/general-headers.php:23
719
+ #: modules/components/general-headers.php:47
720
+ msgid "Sample header:"
721
+ msgstr ""
722
+
723
+ #: modules/components/general-headers.php:42
724
+ #: modules/components/general-headers.php:46
725
+ msgid "Remove X-Powered-By Header"
726
+ msgstr ""
727
+
728
+ #: modules/components/general-headers.php:43
729
+ msgid "Remove X-Powered-By Header if being set."
730
+ msgstr ""
731
+
732
+ #: modules/components/general-headers.php:65
733
+ #: modules/components/general-headers.php:69
734
  msgid "Remove X-Pingback Header"
735
  msgstr ""
736
 
737
+ #: modules/components/general-headers.php:66
738
  msgid "Remove X-Pingback Header if being set."
739
  msgstr ""
740
 
741
+ #: modules/components/general-headers.php:70
742
+ msgid ""
743
+ "Pingback is one of four types of linkback methods for Web authors to request "
744
+ "notification when somebody links to one of their documents. This enables "
745
+ "authors to keep track of who is linking to, or referring to their articles. "
746
+ "Pingback-enabled resources must either use an X-Pingback header or contain a "
747
+ "element to the XML-RPC script."
748
+ msgstr ""
749
+
750
  #: modules/components/general-html.php:21
751
+ #: modules/components/general-html.php:25
752
  msgid "Remove Comments"
753
  msgstr ""
754
 
755
  #: modules/components/general-html.php:22
756
+ msgid "Remove comments from HTML source code."
757
+ msgstr ""
758
+
759
+ #: modules/components/general-html.php:26
760
  msgid ""
761
+ "The HTML source code usually contain many comment lines, however there is no "
762
+ "use for that, unless debugging. Remove all HTML Comments, which usually "
763
+ "specify Plugins Name and Version. Any Internet Explorer conditional tags are "
764
+ "preserved."
765
  msgstr ""
766
 
767
+ #: modules/components/general-html.php:43
768
+ #: modules/components/general-html.php:47
769
  msgid "Minify"
770
  msgstr ""
771
 
772
+ #: modules/components/general-html.php:44
773
+ msgid "Minify HTML, Inline Styles, Inline JavaScripts."
774
+ msgstr ""
775
+
776
+ #: modules/components/general-html.php:48
777
  msgid ""
778
+ "When you minify HTML it removes the unnecessary characters and lines in the "
779
+ "source code. Indentation, comments, empty lines, etc. are not required in "
780
+ "HTML. They just make the file easier to read. Cutting out all this "
781
+ "unnecessary stuff can shave down your file size considerably. When you "
782
+ "minify HTML code on your website, the server will send a much smaller page "
783
+ "to the client making your website load quicker."
784
  msgstr ""
785
 
786
+ #: modules/components/general-html.php:49
787
+ msgid "The Minify component include multiple options:"
788
+ msgstr ""
789
+
790
+ #: modules/components/general-html.php:54
791
+ msgid "Minify JavaScript might produce errors for specific plugins."
792
+ msgstr ""
793
+
794
+ #: modules/components/general-html.php:62
795
  msgid "Html"
796
  msgstr ""
797
 
798
+ #: modules/components/general-html.php:63
799
  msgid "Html & Css"
800
  msgstr ""
801
 
802
+ #: modules/components/general-html.php:64
803
  msgid "Html & JavaScript"
804
  msgstr ""
805
 
806
+ #: modules/components/general-html.php:65
807
  msgid "All"
808
  msgstr ""
809
 
810
+ #: modules/components/general-html.php:75
811
+ #: modules/components/general-html.php:79
812
  msgid "Remove general classes from body tag"
813
  msgstr ""
814
 
815
+ #: modules/components/general-html.php:76
816
+ #: modules/components/general-html.php:80
817
  msgid "Remove general classes from body tag."
818
  msgstr ""
819
 
820
+ #: modules/components/general-html.php:81
821
+ #: modules/components/general-html.php:104
822
+ #: modules/components/general-html.php:127
823
+ #: modules/components/general-html.php:150
824
+ #: modules/components/general-html.php:173
825
  msgid ""
826
  "This can produce layout issues with certain themes, if something break this "
827
  "should be turned off."
828
  msgstr ""
829
 
830
+ #: modules/components/general-html.php:98
831
+ #: modules/components/general-html.php:102
832
  msgid "Remove ID from Menu items"
833
  msgstr ""
834
 
835
+ #: modules/components/general-html.php:99
836
+ #: modules/components/general-html.php:103
837
  msgid "Remove ID attribute from all menu items."
838
  msgstr ""
839
 
840
+ #: modules/components/general-html.php:121
841
+ #: modules/components/general-html.php:125
842
+ #: modules/components/general-html.php:144
843
+ #: modules/components/general-html.php:148
844
  msgid "Remove class from Menu items"
845
  msgstr ""
846
 
847
+ #: modules/components/general-html.php:122
848
+ msgid "Remove class attribute from all menu items."
 
 
849
  msgstr ""
850
 
851
+ #: modules/components/general-html.php:126
852
+ msgid ""
853
+ "Remove class attribute from all menu items. Any classes which include a "
854
+ "'current' prefix or contain 'has-children' will be preserved."
855
  msgstr ""
856
 
857
+ #: modules/components/general-html.php:145
858
+ #: modules/components/general-html.php:149
859
  msgid "Remove general classes from post."
860
  msgstr ""
861
 
862
+ #: modules/components/general-html.php:167
863
+ #: modules/components/general-html.php:171
864
  msgid "Remove general classes from images"
865
  msgstr ""
866
 
867
+ #: modules/components/general-html.php:168
868
+ #: modules/components/general-html.php:172
869
  msgid "Remove general classes from media tags."
870
  msgstr ""
871
 
872
  #: modules/components/general-meta.php:17
873
+ #: modules/components/general-meta.php:21
874
  msgid "Remove WordPress Generator Meta"
875
  msgstr ""
876
 
877
  #: modules/components/general-meta.php:18
878
+ #: modules/components/general-meta.php:22
879
  msgid ""
880
  "Remove the autogenerated meta generator tag within head (WordPress Version)."
881
  msgstr ""
882
 
883
+ #: modules/components/general-meta.php:23
884
+ #: modules/components/general-meta.php:47
885
+ msgid "Tag example:"
886
+ msgstr ""
887
+
888
+ #: modules/components/general-meta.php:41
889
+ #: modules/components/general-meta.php:45
890
  msgid "Remove Other Generator Meta"
891
  msgstr ""
892
 
893
+ #: modules/components/general-meta.php:42
894
+ #: modules/components/general-meta.php:46
895
  msgid ""
896
  "Remove other meta generated tags within head (eg Theme Name, Theme Version)."
897
  msgstr ""
898
 
899
+ #: modules/components/general-meta.php:65
900
  msgid "Remove Shortlink Meta"
901
  msgstr ""
902
 
903
+ #: modules/components/general-meta.php:66
904
  msgid "Remove shortlink tags within head."
905
  msgstr ""
906
 
907
+ #: modules/components/general-meta.php:81
908
+ #: modules/components/general-meta.php:85
909
  msgid "Remove DNS Prefetch"
910
  msgstr ""
911
 
912
+ #: modules/components/general-meta.php:82
913
  msgid "Remove DNS Prefetch meta generated tag."
914
  msgstr ""
915
 
916
+ #: modules/components/general-meta.php:86
917
+ msgid ""
918
+ "DNS prefetching allows you to resolve domain names (perform a DNS lookup in "
919
+ "the background) before a user clicks on a link, which in turn can help "
920
+ "improve performance."
921
+ msgstr ""
922
+
923
+ #: modules/components/general-meta.php:103
924
+ #: modules/components/general-meta.php:107
925
  msgid "Remove Resource Hints"
926
  msgstr ""
927
 
928
+ #: modules/components/general-meta.php:104
929
  msgid ""
930
  "Remove Resource Hints meta generated tags within head (eg dns-prefetch, "
931
  "preconnect)."
932
  msgstr ""
933
 
934
+ #: modules/components/general-meta.php:108
935
+ msgid ""
936
+ "DNS prefetching and preconect allows you to resolve domain names before a "
937
+ "user clicks on a link, which in turn can help and slightly improve "
938
+ "performance."
939
+ msgstr ""
940
+
941
+ #: modules/components/general-meta.php:125
942
+ #: modules/components/general-meta.php:129
943
  msgid "Remove wlwmanifest Meta"
944
  msgstr ""
945
 
946
+ #: modules/components/general-meta.php:126
947
  msgid "Remove the wlwmanifest tag within head."
948
  msgstr ""
949
 
950
+ #: modules/components/general-meta.php:130
951
+ msgid ""
952
+ "The above link is actually used by Windows Live Writer. If you don't te "
953
+ "application, this is just unnecessary code."
954
+ msgstr ""
955
+
956
+ #: modules/components/general-meta.php:150
957
+ #: modules/components/general-meta.php:154
958
+ #: modules/components/rewrite-json-rest.php:124
959
  msgid "Disable output the REST API link tag into page header"
960
  msgstr ""
961
 
962
+ #: modules/components/general-meta.php:151
963
+ #: modules/components/rewrite-json-rest.php:125
964
  msgid "By default a REST API link tag is being append to HTML."
965
  msgstr ""
966
 
967
+ #: modules/components/general-meta.php:155
968
+ msgid "This option disable the tag output with the JSON API url."
969
+ msgstr ""
970
+
971
+ #: modules/components/general-meta.php:177
972
+ #: modules/components/general-meta.php:181
973
  msgid "Remove rsd_link Meta"
974
  msgstr ""
975
 
976
+ #: modules/components/general-meta.php:178
977
  msgid "Remove the rsd_link tag within head."
978
  msgstr ""
979
 
980
+ #: modules/components/general-meta.php:182
981
+ msgid ""
982
+ "This helps to hide the link to the Really Simple Discovery service endpoint."
983
+ msgstr ""
984
+
985
+ #: modules/components/general-meta.php:203
986
+ #: modules/components/general-meta.php:207
987
+ #: modules/components/general-meta.php:231
988
+ #: modules/components/general-meta.php:255
989
  msgid "Remove adjacent_posts_rel Meta"
990
  msgstr ""
991
 
992
+ #: modules/components/general-meta.php:204
993
  msgid "Remove the adjacent_posts_rel tag within head."
994
  msgstr ""
995
 
996
+ #: modules/components/general-meta.php:208
997
+ msgid "This helps to hide the post adjacent tags."
998
+ msgstr ""
999
+
1000
+ #: modules/components/general-meta.php:227
1001
  msgid "Remove profile link"
1002
  msgstr ""
1003
 
1004
+ #: modules/components/general-meta.php:228
1005
  msgid "Remove profile link meta tag within head."
1006
  msgstr ""
1007
 
1008
+ #: modules/components/general-meta.php:232
1009
+ msgid "This helps to hide the profile tags."
1010
+ msgstr ""
1011
+
1012
+ #: modules/components/general-meta.php:251
1013
  msgid "Remove canonical link"
1014
  msgstr ""
1015
 
1016
+ #: modules/components/general-meta.php:252
1017
  msgid "Remove canonical link meta tag within head."
1018
  msgstr ""
1019
 
1020
+ #: modules/components/general-meta.php:256
1021
+ msgid ""
1022
+ "The rel=canonical element, often called the 'canonical link', is an HTML "
1023
+ "element that helps webmasters prevent duplicate content issues. It does this "
1024
+ "by specifying the 'canonical URL', the 'preferred' version of a web page - "
1025
+ "the original source, even."
1026
+ msgstr ""
1027
+
1028
  #: modules/components/general-oembed.php:16
1029
+ #: modules/components/general-oembed.php:20
1030
  msgid "Remove Oembed"
1031
  msgstr ""
1032
 
1034
  msgid "Remove Oembed tags from header."
1035
  msgstr ""
1036
 
1037
+ #: modules/components/general-oembed.php:21
1038
+ msgid ""
1039
+ "WordPress oEmbed recognizes URLs to a number of services, for example "
1040
+ "Youtube videos. When WordPress sees the URL it will connect to the external "
1041
+ "service (Youtube) and ask for the relevant HTML code to embed the video into "
1042
+ "the page or post."
1043
+ msgstr ""
1044
+
1045
  #: modules/components/general-robots-txt.php:16
1046
+ #: modules/components/general-robots-txt.php:20
1047
  msgid "Disable admin url within Robots.txt"
1048
  msgstr ""
1049
 
1053
  "when called robots.txt."
1054
  msgstr ""
1055
 
1056
+ #: modules/components/general-robots-txt.php:21
1057
+ msgid ""
1058
+ "The robots.txt file plays a major role in search engine ranking. It blocks "
1059
+ "search engine bots and helps index and crawl important parts of your site."
1060
+ msgstr ""
1061
+
1062
+ #: modules/components/general-robots-txt.php:22
1063
+ msgid ""
1064
+ "As default the robots.txt also includes an allow clause to admin URL and "
1065
+ "admin-ajax.php url. Once customized those areas, the new slugs might not "
1066
+ "want to be show to anyone. Turn this option to Yes removed any reference to "
1067
+ "new wp-admin and admin-ajax.php."
1068
+ msgstr ""
1069
+
1070
+ #: modules/components/general-robots-txt.php:23
1071
+ msgid "Sample robots.txt url:"
1072
  msgstr ""
1073
 
1074
  #: modules/components/general-scripts.php:17
1075
  msgid "Remove version number from enqueued script files."
1076
  msgstr ""
1077
 
1078
+ #: modules/components/general-scripts.php:21
1079
+ msgid ""
1080
+ "This provide a method to remove the JavaScript version number which is being "
1081
+ "append at the end of every script file. Generally this is intended to be a "
1082
+ "plain information upon the JavaScript code version, however not being used "
1083
+ "within any functionality or code run."
1084
+ msgstr ""
1085
+
1086
+ #: modules/components/general-scripts.php:22
1087
+ msgid ""
1088
+ "Keeping version number for scripts provide additional information to hackers "
1089
+ "which try to identify specific JavaScript code and version which know as "
1090
+ "being vulnerable."
1091
+ msgstr ""
1092
+
1093
+ #: modules/components/general-scripts.php:25
1094
+ msgid "Once option set to Yes the tag becomes:"
1095
+ msgstr ""
1096
+
1097
  #: modules/components/general-styles.php:17
1098
  msgid "Remove version number from enqueued style files."
1099
  msgstr ""
1100
 
1101
+ #: modules/components/general-styles.php:21
1102
+ msgid ""
1103
+ "This provide a method to remove the Style file version number which is being "
1104
+ "append at the end of every style tag. Generally this is intended to be a "
1105
+ "plain information upon the style code version, however not being used within "
1106
+ "any functionality or code run."
1107
+ msgstr ""
1108
+
1109
+ #: modules/components/general-styles.php:22
1110
+ msgid ""
1111
+ "Keeping version number for styles provide additional information to hackers "
1112
+ "which try to identify specific code and version which know as being "
1113
+ "vulnerable."
1114
+ msgstr ""
1115
+
1116
+ #: modules/components/general-styles.php:39
1117
  msgid "Remove ID from link tags"
1118
  msgstr ""
1119
 
1120
+ #: modules/components/general-styles.php:40
1121
  msgid "Remove ID attribute from all link tags which include a stylesheet."
1122
  msgstr ""
1123
 
1124
+ #: modules/components/general-styles.php:44
1125
+ msgid ""
1126
+ "This provide a method to remove the Style file ID attribute which generally "
1127
+ "has no usage."
1128
+ msgstr ""
1129
+
1130
  #: modules/components/general-wpemoji.php:16
1131
+ #: modules/components/general-wpemoji.php:20
1132
+ #: modules/components/general-wpemoji.php:42
1133
  msgid "Disable Emoji"
1134
  msgstr ""
1135
 
1137
  msgid "Disable the Emoji icon library from being loaded."
1138
  msgstr ""
1139
 
1140
+ #: modules/components/general-wpemoji.php:21
1141
+ msgid ""
1142
+ "Not everyone use Emoji. Since WordPress load the dependencies as default, it "
1143
+ "decrease the overall site speed. Disabling this will remove any code and "
1144
+ "related resources from being loaded on front side."
1145
+ msgstr ""
1146
+
1147
+ #: modules/components/general-wpemoji.php:38
1148
  msgid "Disable TinyMCE Emoji"
1149
  msgstr ""
1150
 
1151
+ #: modules/components/general-wpemoji.php:39
1152
  msgid "Disable the TinyMCE Emoji icons library from being loaded into TinyMC."
1153
  msgstr ""
1154
 
1155
+ #: modules/components/general-wpemoji.php:43
1156
+ msgid ""
1157
+ "Disable TinyMCE Emoji This is also loaded along the WordPress default "
1158
+ "TinyMCE editor, but it can be disabled through this option."
1159
+ msgstr ""
1160
+
1161
+ #: modules/components/rewrite-author.php:17
1162
+ #: modules/components/rewrite-author.php:21
1163
+ msgid "New Author Path"
1164
+ msgstr ""
1165
+
1166
+ #: modules/components/rewrite-author.php:18
1167
+ msgid "The default path is set to /author/"
1168
+ msgstr ""
1169
+
1170
+ #: modules/components/rewrite-author.php:22
1171
+ msgid ""
1172
+ "An author URL display all posts associated to a particular author. The "
1173
+ "default URL format is:"
1174
+ msgstr ""
1175
+
1176
+ #: modules/components/rewrite-author.php:24
1177
+ msgid "By using a value of 'contributor' this become:"
1178
+ msgstr ""
1179
+
1180
+ #: modules/components/rewrite-author.php:38
1181
+ #: modules/components/rewrite-author.php:42
1182
+ #: modules/components/rewrite-search.php:38
1183
+ #: modules/components/rewrite-search.php:42
1184
+ msgid "Block default"
1185
+ msgstr ""
1186
+
1187
+ #: modules/components/rewrite-author.php:39
1188
+ msgid "Block default /author/ when using custom one."
1189
+ msgstr ""
1190
+
1191
+ #: modules/components/rewrite-author.php:39
1192
+ #: modules/components/rewrite-search.php:39
1193
+ msgid "Apply only if "
1194
+ msgstr ""
1195
+
1196
+ #: modules/components/rewrite-author.php:39
1197
+ #: modules/components/rewrite-search.php:39
1198
+ msgid "is not empty."
1199
+ msgstr ""
1200
+
1201
+ #: modules/components/rewrite-author.php:43
1202
+ msgid ""
1203
+ "After changing the default author, the old url is still accessible, this "
1204
+ "provide a way to block it.<br />The functionality apply only if <b>New "
1205
+ "Author Path</b> option is filled in."
1206
+ msgstr ""
1207
+
1208
  #: modules/components/rewrite-comments.php:17
1209
+ #: modules/components/rewrite-comments.php:21
1210
+ msgid "New wp-comments-post.php"
1211
  msgstr ""
1212
 
1213
  #: modules/components/rewrite-comments.php:18
1214
  msgid "The default path is set to wp-comments-post.php"
1215
  msgstr ""
1216
 
1217
+ #: modules/components/rewrite-comments.php:22
1218
+ msgid "As default the form data is being sent and processed at:"
1219
  msgstr ""
1220
 
1221
+ #: modules/components/rewrite-comments.php:24
1222
+ msgid ""
1223
+ "This makes it easy to recognise as WordPress form. Boots always search for "
1224
+ "such file ( wp-comments-post.php ) and automatically submit spam messages."
1225
  msgstr ""
1226
 
1227
+ #: modules/components/rewrite-comments.php:25
1228
+ msgid "Though this option a new file slug can replace the default."
 
1229
  msgstr ""
1230
 
1231
+ #: modules/components/rewrite-comments.php:39
1232
+ #: modules/components/rewrite-comments.php:43
1233
+ msgid "Block wp-comments-post.php"
1234
+ msgstr ""
1235
+
1236
+ #: modules/components/rewrite-comments.php:40
1237
+ msgid "Block default wp-comments-post.php."
1238
+ msgstr ""
1239
+
1240
+ #: modules/components/rewrite-comments.php:44
1241
+ msgid ""
1242
+ "After changing the default wp-comments-post.php, the old url is still "
1243
+ "accessible, this provide a way to block the old.<br />The functionality "
1244
+ "apply only if <b>New wp-comments-post.php</b> option is filled in."
1245
  msgstr ""
1246
 
1247
  #: modules/components/rewrite-json-rest.php:18
1248
+ #: modules/components/rewrite-json-rest.php:22
1249
  msgid "Disable JSON REST V1 service"
1250
  msgstr ""
1251
 
1252
  #: modules/components/rewrite-json-rest.php:19
1253
+ #: modules/components/rewrite-json-rest.php:51
1254
  msgid "An API service for WordPress which is active by default."
1255
  msgstr ""
1256
 
1257
+ #: modules/components/rewrite-json-rest.php:23
1258
+ #: modules/components/rewrite-json-rest.php:55
1259
+ msgid ""
1260
+ "The WordPress REST API is an easy-to-use set of HTTP endpoints which allows "
1261
+ "access a site data in simple JSON format. That including users, posts, "
1262
+ "taxonomies and more. Retrieving or updating is as simple as sending a HTTP "
1263
+ "request."
1264
+ msgstr ""
1265
+
1266
+ #: modules/components/rewrite-json-rest.php:24
1267
+ #: modules/components/rewrite-json-rest.php:56
1268
+ msgid ""
1269
+ "A REST API can be consumed everywhere. On mobile applications, on front-end "
1270
+ "(web apps) or any other devices that have access on the net, practically "
1271
+ "everything can connect from anywhere to your site and interact though JSON "
1272
+ "REST API service."
1273
+ msgstr ""
1274
+
1275
+ #: modules/components/rewrite-json-rest.php:25
1276
+ msgid ""
1277
+ "V1 was the first development version of API, which currently is deprecated. "
1278
+ "To disable the usage of it, simply chose Yes."
1279
+ msgstr ""
1280
+
1281
+ #: modules/components/rewrite-json-rest.php:31
1282
+ msgid ""
1283
+ "This can break specific functionality. Some plugins might use this API. Once "
1284
+ "active test it thoroughly.<br />If not working, set to <b>No</b> to revert."
1285
+ msgstr ""
1286
+
1287
+ #: modules/components/rewrite-json-rest.php:50
1288
+ #: modules/components/rewrite-json-rest.php:54
1289
  msgid "Disable JSON REST V2 service"
1290
  msgstr ""
1291
 
1292
+ #: modules/components/rewrite-json-rest.php:57
1293
+ msgid ""
1294
+ "V2 is the current development version of API, which is included into "
1295
+ "WordPress as default. To disable the usage of it, simply chose Yes."
1296
+ msgstr ""
1297
+
1298
  #: modules/components/rewrite-json-rest.php:58
1299
+ #: modules/components/rewrite-json-rest.php:93
1300
+ msgid ""
1301
+ "This might be required by specific plugins, including new WordPress editor "
1302
+ "Gutenberg."
1303
+ msgstr ""
1304
+
1305
+ #: modules/components/rewrite-json-rest.php:64
1306
+ #: modules/components/rewrite-json-rest.php:99
1307
+ msgid ""
1308
+ "This can break specific functionality. Some plugins like Gutenberg editor "
1309
+ "use this API. Once active test it thoroughly.<br />If not working, set to "
1310
+ "<b>No</b> to revert."
1311
+ msgstr ""
1312
+
1313
+ #: modules/components/rewrite-json-rest.php:87
1314
+ #: modules/components/rewrite-json-rest.php:91
1315
  msgid "Block any JSON REST calls"
1316
  msgstr ""
1317
 
1318
+ #: modules/components/rewrite-json-rest.php:88
1319
  msgid "Any call for JSON REST API service will be blocked."
1320
  msgstr ""
1321
 
1322
+ #: modules/components/rewrite-json-rest.php:92
1323
+ msgid "This blocks the JSON REST API service."
1324
+ msgstr ""
1325
+
1326
+ #: modules/components/rewrite-json-rest.php:128
1327
+ msgid "disable_json_rest_wphead_link"
1328
+ msgstr ""
1329
+
1330
+ #: modules/components/rewrite-json-rest.php:129
1331
  msgid ""
1332
+ "As default the API url is being append into the front html head tag. Using "
1333
+ "this option, it will be replaced."
1334
  msgstr ""
1335
 
1336
+ #: modules/components/rewrite-json-rest.php:148
1337
  msgid "Disable JSON REST WP RSD endpoint from XML-RPC responses"
1338
  msgstr ""
1339
 
1340
+ #: modules/components/rewrite-json-rest.php:149
1341
  msgid "By default a WP RSD endpoint is being append to the XML respose."
1342
  msgstr ""
1343
 
1344
+ #: modules/components/rewrite-json-rest.php:152
1345
+ msgid "disable_json_rest_xmlrpc_rsd"
1346
+ msgstr ""
1347
+
1348
+ #: modules/components/rewrite-json-rest.php:153
1349
+ msgid "Disable any RSD endpoint from a XML-RPC response."
1350
+ msgstr ""
1351
+
1352
+ #: modules/components/rewrite-json-rest.php:171
1353
  msgid "Disable Sends a Link header for the REST API"
1354
  msgstr ""
1355
 
1356
+ #: modules/components/rewrite-json-rest.php:172
1357
  msgid "On template_redirect, disable Sends a Link header for the REST API."
1358
  msgstr ""
1359
 
1360
+ #: modules/components/rewrite-json-rest.php:175
1361
+ msgid "disable_json_rest_template_redirect"
1362
+ msgstr ""
1363
+
1364
+ #: modules/components/rewrite-json-rest.php:176
1365
+ msgid "Disable Sends a Link header for the REST API, on template_redirect"
1366
+ msgstr ""
1367
+
1368
  #: modules/components/rewrite-new_include_path.php:17
1369
+ #: modules/components/rewrite-new_include_path.php:21
1370
+ #: modules/components/rewrite-new_include_path.php:41
1371
  msgid "New Includes Path"
1372
  msgstr ""
1373
 
1374
  #: modules/components/rewrite-new_include_path.php:18
1375
+ msgid "Change default /wp-includes path."
 
 
1376
  msgstr ""
1377
 
1378
+ #: modules/components/rewrite-new_include_path.php:22
1379
+ msgid ""
1380
+ "As default a WordPress installation contain a wp-include folder which store "
1381
+ "files and resources used by WordPress core, themes and plugin. The wp-"
1382
+ "includes is a common fingerprint, which makes easily to anyone to identify "
1383
+ "the site as being created on WordPress."
1384
+ msgstr ""
1385
+
1386
+ #: modules/components/rewrite-new_include_path.php:24
1387
+ msgid ""
1388
+ "After filling in this option e.g. resources the links will change to this:"
1389
  msgstr ""
1390
 
1391
  #: modules/components/rewrite-new_include_path.php:29
1392
+ msgid "e.g. my_includes"
1393
+ msgstr ""
1394
+
1395
+ #: modules/components/rewrite-new_include_path.php:37
1396
  msgid "Block wp-includes URL"
1397
  msgstr ""
1398
 
1399
+ #: modules/components/rewrite-new_include_path.php:38
1400
  msgid ""
1401
+ "Block /wp-includes/ files from being accesible through default urls. <br /"
1402
+ ">Apply only if <b>New Includes Path</b> is not empty."
1403
+ msgstr ""
1404
+
1405
+ #: modules/components/rewrite-new_include_path.php:42
1406
+ msgid ""
1407
+ "This blocks the default wp-includes urls only for non loged-in users.<br /"
1408
+ ">The functionality apply only if <b>New Includes Path</b> option is filled "
1409
+ "in."
1410
+ msgstr ""
1411
+
1412
+ #: modules/components/rewrite-new_include_path.php:48
1413
+ #: modules/components/rewrite-new_plugin_path.php:47
1414
+ msgid ""
1415
+ "This can break the layout if server not supporting the feature. Ensure `New "
1416
+ "Includes Path` option works fine before activate this. Once active test it "
1417
+ "thoroughly.<br />If not working, set to <b>No</b> to revert."
1418
  msgstr ""
1419
 
1420
  #: modules/components/rewrite-new_plugin_path.php:17
1421
+ #: modules/components/rewrite-new_plugin_path.php:21
1422
  msgid "New Plugins Path"
1423
  msgstr ""
1424
 
1426
  msgid "The default plugins path is set to"
1427
  msgstr ""
1428
 
1429
+ #: modules/components/rewrite-new_plugin_path.php:22
1430
+ msgid ""
1431
+ "Use any alphanumeric symbols for this field which will be used as the new "
1432
+ "slug for the plugins folder. Presuming the `apps` slug is being used, all "
1433
+ "plugins urls become to something like this:"
1434
+ msgstr ""
1435
+
1436
+ #: modules/components/rewrite-new_plugin_path.php:36
1437
+ #: modules/components/rewrite-new_plugin_path.php:40
1438
  msgid "Block plugins URL"
1439
  msgstr ""
1440
 
1441
+ #: modules/components/rewrite-new_plugin_path.php:37
1442
+ msgid ""
1443
+ "Block default /wp-content/plugins/ files from being accesible through "
1444
+ "default urls."
1445
+ msgstr ""
1446
+
1447
+ #: modules/components/rewrite-new_plugin_path.php:41
1448
+ #: modules/components/rewrite-new_upload_path.php:41
1449
+ msgid ""
1450
+ "This blocks the default wp-content/plugins/ url.<br />The functionality "
1451
+ "apply only if <b>New Plugins Path</b> option is filled in."
1452
  msgstr ""
1453
 
1454
+ #: modules/components/rewrite-new_plugin_path.php:88
1455
+ #: modules/components/rewrite-new_plugin_path.php:92
1456
  msgid "New Path for"
1457
  msgstr ""
1458
 
1459
+ #: modules/components/rewrite-new_plugin_path.php:88
1460
  msgid "plugin"
1461
  msgstr ""
1462
 
1463
+ #: modules/components/rewrite-new_plugin_path.php:89
1464
+ msgid "This setting if set, overwrites the"
1465
  msgstr ""
1466
 
1467
+ #: modules/components/rewrite-new_plugin_path.php:89
1468
  msgid "New Plugin Path"
1469
  msgstr ""
1470
 
1471
+ #: modules/components/rewrite-new_plugin_path.php:89
1472
+ msgid "value for this plugin."
1473
  msgstr ""
1474
 
1475
+ #: modules/components/rewrite-new_theme_path.php:27
1476
+ #: modules/components/rewrite-new_theme_path.php:31
1477
+ #: modules/components/rewrite-new_theme_path.php:119
1478
+ #: modules/components/rewrite-new_theme_path.php:123
1479
  msgid "New Theme Path"
1480
  msgstr ""
1481
 
1482
+ #: modules/components/rewrite-new_theme_path.php:28
1483
+ msgid "Change theme url, which as default the path is set to"
1484
  msgstr ""
1485
 
1486
+ #: modules/components/rewrite-new_theme_path.php:32
1487
+ msgid ""
1488
+ "This option helps to change the theme url to a custom one. As default all "
1489
+ "theme assets ( styles, JavaScript etc ) are loaded using the theme url and "
1490
+ "appear on front side html source like this:"
1491
+ msgstr ""
1492
+
1493
+ #: modules/components/rewrite-new_theme_path.php:34
1494
+ msgid ""
1495
+ "When using this option, if filling with `template`, all urls on front side "
1496
+ "become as follow:"
1497
  msgstr ""
1498
 
1499
+ #: modules/components/rewrite-new_theme_path.php:39
1500
+ #: modules/components/rewrite-new_theme_path.php:60
1501
+ #: modules/components/rewrite-new_theme_path.php:131
1502
+ #: modules/components/rewrite-new_theme_path.php:151
1503
+ msgid "Example"
1504
  msgstr ""
1505
 
1506
  #: modules/components/rewrite-new_theme_path.php:39
1507
+ msgid "template"
 
1508
  msgstr ""
1509
 
1510
  #: modules/components/rewrite-new_theme_path.php:49
1511
+ #: modules/components/rewrite-new_theme_path.php:53
1512
+ #: modules/components/rewrite-new_theme_path.php:77
1513
+ #: modules/components/rewrite-new_theme_path.php:140
1514
+ #: modules/components/rewrite-new_theme_path.php:144
1515
+ #: modules/components/rewrite-new_theme_path.php:168
1516
+ msgid "New Style File Path"
1517
+ msgstr ""
1518
+
1519
+ #: modules/components/rewrite-new_theme_path.php:50
1520
+ msgid "Change default theme style file style.css, current path is set to"
1521
+ msgstr ""
1522
+
1523
+ #: modules/components/rewrite-new_theme_path.php:54
1524
+ msgid ""
1525
+ "This allow to change the default style.css filename to something else e.g. "
1526
+ "template-style.css. Per this example, on front side the main style link "
1527
+ "change from /style.css to /template-style.css"
1528
+ msgstr ""
1529
+
1530
+ #: modules/components/rewrite-new_theme_path.php:60
1531
+ msgid "skin.css"
1532
+ msgstr ""
1533
+
1534
+ #: modules/components/rewrite-new_theme_path.php:70
1535
+ #: modules/components/rewrite-new_theme_path.php:161
1536
  msgid "Remove description header from Style file"
1537
  msgstr ""
1538
 
1539
+ #: modules/components/rewrite-new_theme_path.php:73
1540
+ msgid "Strip out all meta data from style file."
1541
+ msgstr ""
1542
+
1543
+ #: modules/components/rewrite-new_theme_path.php:78
1544
+ #: modules/components/rewrite-new_theme_path.php:169
1545
  msgid ""
1546
+ "Strip out all meta data from style file as Theme Name, Theme URI, Author "
1547
+ "etc. Those are important informations for hackers to find out possible theme "
1548
+ "security breaches. A list of headers can e found at"
1549
  msgstr ""
1550
 
1551
+ #: modules/components/rewrite-new_theme_path.php:78
1552
+ #: modules/components/rewrite-new_theme_path.php:169
1553
+ msgid "Theme Headers"
1554
+ msgstr ""
1555
+
1556
+ #: modules/components/rewrite-new_theme_path.php:79
1557
+ #: modules/components/rewrite-new_theme_path.php:170
1558
+ msgid ""
1559
+ "This feature may fail if style file url not available on html ( being "
1560
+ "concatenated )."
1561
+ msgstr ""
1562
+
1563
+ #: modules/components/rewrite-new_theme_path.php:85
1564
+ msgid ""
1565
+ "This can break the layout if server not supporting the feature. Once active "
1566
+ "test it thoroughly.<br />If not working, set to No to revert."
1567
+ msgstr ""
1568
+
1569
+ #: modules/components/rewrite-new_theme_path.php:95
1570
+ #: modules/components/rewrite-new_theme_path.php:187
1571
+ msgid ""
1572
+ "This functionality use caching! If active, cache clear is recommended on "
1573
+ "styles updates."
1574
+ msgstr ""
1575
+
1576
+ #: modules/components/rewrite-new_theme_path.php:95
1577
+ #: modules/components/rewrite-new_theme_path.php:187
1578
+ msgid "Cache Clear"
1579
+ msgstr ""
1580
+
1581
+ #: modules/components/rewrite-new_theme_path.php:120
1582
+ msgid "Change child theme url, which as default the path is set to"
1583
+ msgstr ""
1584
+
1585
+ #: modules/components/rewrite-new_theme_path.php:124
1586
  msgid ""
1587
+ "This option helps to change the child theme url to a custom one. As default "
1588
+ "all theme assets ( styles, JavaScript etc ) are loaded using the theme url "
1589
+ "and appear on front side html source like this:"
1590
  msgstr ""
1591
 
1592
+ #: modules/components/rewrite-new_theme_path.php:126
 
1593
  msgid ""
1594
+ "When using this option, if filling with `template-child`, all urls on front "
1595
+ "side become as follow:"
1596
+ msgstr ""
1597
+
1598
+ #: modules/components/rewrite-new_theme_path.php:131
1599
+ msgid "template-child"
1600
  msgstr ""
1601
 
1602
+ #: modules/components/rewrite-new_theme_path.php:141
1603
+ msgid "Change default child theme style file style.css, current path is set to"
1604
  msgstr ""
1605
 
1606
+ #: modules/components/rewrite-new_theme_path.php:145
1607
+ msgid ""
1608
+ "This allow to change the default style.css filename to something else e.g. "
1609
+ "template-style.css. Per this example, on front side the main style link "
1610
+ "change from /style.css to /child-style.css"
1611
  msgstr ""
1612
 
1613
+ #: modules/components/rewrite-new_theme_path.php:151
1614
+ msgid "child-skin.css"
1615
  msgstr ""
1616
 
1617
+ #: modules/components/rewrite-new_theme_path.php:164
1618
+ msgid "Strip out all meta data from child theme style file."
1619
  msgstr ""
1620
 
1621
+ #: modules/components/rewrite-new_theme_path.php:176
1622
+ msgid ""
1623
+ "This can break the layout if server not supporting the feature. Ensure all "
1624
+ "regular options works fine before activate this. Once active test it "
1625
+ "thoroughly.<br />If not working, set to No to revert."
1626
+ msgstr ""
1627
+
1628
+ #: modules/components/rewrite-new_theme_path.php:823
1629
  msgid ""
1630
  "When changing the Child Theme Path it is recommended to also change the Main "
1631
  "Theme Path to avoid relative paths issues within style files and layout "
1633
  msgstr ""
1634
 
1635
  #: modules/components/rewrite-new_upload_path.php:17
1636
+ #: modules/components/rewrite-new_upload_path.php:21
1637
  msgid "New Uploads Path"
1638
  msgstr ""
1639
 
1641
  msgid "The default uploads path is set to"
1642
  msgstr ""
1643
 
1644
+ #: modules/components/rewrite-new_upload_path.php:22
1645
+ msgid ""
1646
+ "Use any alphanumeric symbols for this field which will be used as the new "
1647
+ "slug for the uploads folder. Using this option the default media folder can "
1648
+ "be mapped to another path. Filling with a slug like 'media' the links become "
1649
+ "like this:"
1650
  msgstr ""
1651
 
1652
+ #: modules/components/rewrite-new_upload_path.php:27
1653
+ msgid "e.g. media"
1654
+ msgstr ""
1655
+
1656
+ #: modules/components/rewrite-new_upload_path.php:36
1657
+ #: modules/components/rewrite-new_upload_path.php:40
1658
  msgid "Block default uploads URL"
1659
  msgstr ""
1660
 
1661
+ #: modules/components/rewrite-new_upload_path.php:37
1662
  msgid ""
1663
+ "Block default /wp-content/uploads/ media folder from being accesible through "
1664
  "default urls."
1665
  msgstr ""
1666
 
1667
+ #: modules/components/rewrite-new_upload_path.php:47
1668
  msgid ""
1669
+ "This can break the layout if server not supporting the feature. Ensure `New "
1670
+ "Uploads Path` option works fine before activate this. Once active test it "
1671
+ "thoroughly.<br />If not working, set to <b>No</b> to revert."
 
 
 
 
 
1672
  msgstr ""
1673
 
1674
  #: modules/components/rewrite-new_xml-rpc-path.php:17
1675
+ #: modules/components/rewrite-new_xml-rpc-path.php:21
1676
+ #: modules/components/rewrite-slash.php:20
1677
  msgid "New XML-RPC Path"
1678
  msgstr ""
1679
 
1680
  #: modules/components/rewrite-new_xml-rpc-path.php:18
1681
+ msgid "The default XML-RPC path is set to xmlrpc.php."
1682
+ msgstr ""
1683
+
1684
+ #: modules/components/rewrite-new_xml-rpc-path.php:22
1685
  msgid ""
1686
+ "XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode "
1687
+ "its calls and HTTP as a transport mechanism. This service allow other "
1688
+ "applications to talk to your WordPress site."
1689
  msgstr ""
1690
 
1691
+ #: modules/components/rewrite-new_xml-rpc-path.php:23
1692
+ msgid "As default the path to XML-RPC file is:"
1693
+ msgstr ""
1694
+
1695
+ #: modules/components/rewrite-new_xml-rpc-path.php:25
1696
+ msgid ""
1697
+ "Through this option it can be changed to anything else. This ensure the "
1698
+ "protocol will not be called by anyone who don't know the actual path."
1699
+ msgstr ""
1700
+
1701
+ #: modules/components/rewrite-new_xml-rpc-path.php:30
1702
  msgid "e.g. my-xml-rpc.php"
1703
  msgstr ""
1704
 
1705
+ #: modules/components/rewrite-new_xml-rpc-path.php:39
1706
+ #: modules/components/rewrite-new_xml-rpc-path.php:43
1707
  msgid "Block default xmlrpc.php"
1708
  msgstr ""
1709
 
1710
+ #: modules/components/rewrite-new_xml-rpc-path.php:40
1711
+ msgid "Shut down XML-RPC service."
1712
+ msgstr ""
1713
+
1714
+ #: modules/components/rewrite-new_xml-rpc-path.php:44
1715
  msgid ""
1716
+ "This blocks the default XML-RPC service. The functionality apply if <b>New "
1717
+ "XML-RPC Path</b> option is NOT filled in."
1718
  msgstr ""
1719
 
1720
+ #: modules/components/rewrite-new_xml-rpc-path.php:45
1721
+ msgid ""
1722
+ "Keep in mind that some plugins like Jetpack use this API, so disabling might "
1723
+ "break specific functionality."
1724
+ msgstr ""
1725
+
1726
+ #: modules/components/rewrite-new_xml-rpc-path.php:51
1727
+ #: modules/components/rewrite-new_xml-rpc-path.php:109
1728
+ msgid ""
1729
+ "This can break specific functionality. Some plugins like Jetpack use this "
1730
+ "API. Once active test it thoroughly.<br />If not working, set to <b>No</b> "
1731
+ "to revert."
1732
+ msgstr ""
1733
+
1734
+ #: modules/components/rewrite-new_xml-rpc-path.php:69
1735
+ #: modules/components/rewrite-new_xml-rpc-path.php:73
1736
  msgid "Disable XML-RPC authentication"
1737
  msgstr ""
1738
 
1739
+ #: modules/components/rewrite-new_xml-rpc-path.php:70
1740
  msgid ""
1741
  "Filter whether XML-RPC methods requiring authentication, such as for "
1742
  "publishing purposes, are enabled."
1743
  msgstr ""
1744
 
1745
+ #: modules/components/rewrite-new_xml-rpc-path.php:74
1746
+ msgid ""
1747
+ "As default it require authentication for the protocol to be used along with "
1748
+ "a remote application. Activating the option, no authentication will be "
1749
+ "required through a call. Recommended is to be set to No."
1750
+ msgstr ""
1751
+
1752
+ #: modules/components/rewrite-new_xml-rpc-path.php:80
1753
+ msgid ""
1754
+ "Once active test it thoroughly.<br />If not working, set to <b>No</b> to "
1755
+ "revert."
1756
+ msgstr ""
1757
+
1758
+ #: modules/components/rewrite-new_xml-rpc-path.php:98
1759
+ #: modules/components/rewrite-new_xml-rpc-path.php:102
1760
  msgid "Remove pingback"
1761
  msgstr ""
1762
 
1763
+ #: modules/components/rewrite-new_xml-rpc-path.php:99
1764
  msgid "Remove pingback link tag from theme."
1765
  msgstr ""
1766
 
1767
+ #: modules/components/rewrite-new_xml-rpc-path.php:103
1768
+ msgid ""
1769
+ "A pingback is one of four types of link-back methods for Web authors to "
1770
+ "request notification when somebody links to one of their documents. This "
1771
+ "enables authors to keep track of who is linking to, or referring to their "
1772
+ "articles Using this option this functionality can be removed."
1773
+ msgstr ""
1774
+
1775
  #: modules/components/rewrite-root-files.php:19
1776
+ #: modules/components/rewrite-root-files.php:23
1777
  msgid "Block license.txt"
1778
  msgstr ""
1779
 
1781
  msgid "Block access to license.txt root file"
1782
  msgstr ""
1783
 
1784
+ #: modules/components/rewrite-root-files.php:24
1785
+ msgid ""
1786
+ "This is a text file which contain the licensing terms for WordPress "
1787
+ "framework. Obviously you don't want that visible as every site containing "
1788
+ "such file must be a WordPress."
1789
+ msgstr ""
1790
+
1791
+ #: modules/components/rewrite-root-files.php:41
1792
+ #: modules/components/rewrite-root-files.php:45
1793
  msgid "Block readme.html"
1794
  msgstr ""
1795
 
1796
+ #: modules/components/rewrite-root-files.php:42
1797
  msgid "Block access to readme.html root file"
1798
  msgstr ""
1799
 
1800
+ #: modules/components/rewrite-root-files.php:46
1801
+ msgid ""
1802
+ "A Hypertext Markup Language file with general information about installed "
1803
+ "WordPress, version, instalation steps, updating, requirements, resources etc."
1804
+ msgstr ""
1805
+
1806
+ #: modules/components/rewrite-root-files.php:63
1807
+ #: modules/components/rewrite-root-files.php:67
1808
+ #: modules/components/rewrite-root-files.php:101
1809
  msgid "Block wp-activate.php"
1810
  msgstr ""
1811
 
1812
+ #: modules/components/rewrite-root-files.php:64
1813
+ msgid "Block access to wp-activate.php file."
1814
+ msgstr ""
1815
+
1816
+ #: modules/components/rewrite-root-files.php:68
1817
  msgid ""
1818
+ "Block access to wp-activate.php file. Through this file new users confirms "
1819
+ "that the activation key that is received in the email after signs up for a "
1820
+ "new blog, matches the key for that user."
 
1821
  msgstr ""
1822
 
1823
+ #: modules/components/rewrite-root-files.php:69
1824
+ msgid "If anyone can register on your site, you should keep this no NO."
1825
+ msgstr ""
1826
+
1827
+ #: modules/components/rewrite-root-files.php:88
1828
+ msgid ""
1829
+ "Unable to identify site domain IP, blocking wp-cron.php will stop the site "
1830
+ "internal WordPress cron functionality."
1831
+ msgstr ""
1832
+
1833
+ #: modules/components/rewrite-root-files.php:92
1834
+ msgid "Site domain rezolved to IP"
1835
+ msgstr ""
1836
+
1837
+ #: modules/components/rewrite-root-files.php:92
1838
+ msgid ""
1839
+ "If blocked, all internal calls to cron will continue to run fine. All calls "
1840
+ "from a different IP are blocked, including direct calls."
1841
+ msgstr ""
1842
+
1843
+ #: modules/components/rewrite-root-files.php:97
1844
  msgid "Block wp-cron.php"
1845
  msgstr ""
1846
 
1847
+ #: modules/components/rewrite-root-files.php:102
1848
  msgid ""
1849
+ "The file wp-cron.php is the portion of WordPress that handles scheduled "
1850
+ "events within a WordPress site. If remote cron calls not being used this can "
1851
+ "be set to Yes.."
1852
  msgstr ""
1853
 
1854
+ #: modules/components/rewrite-root-files.php:120
1855
+ #: modules/components/rewrite-root-files.php:124
1856
  msgid "Block wp-signup.php"
1857
  msgstr ""
1858
 
1859
+ #: modules/components/rewrite-root-files.php:121
1860
+ msgid "Block default wp-signup.php file."
1861
+ msgstr ""
1862
+
1863
+ #: modules/components/rewrite-root-files.php:125
1864
  msgid ""
1865
+ "The wp-signup.php allow for anyone to register to your site. If the "
1866
+ "registration functionality is turned off, is safe to block the wp-signup."
1867
+ "php."
1868
  msgstr ""
1869
 
1870
+ #: modules/components/rewrite-root-files.php:143
1871
+ #: modules/components/rewrite-root-files.php:147
1872
  msgid "Block wp-register.php"
1873
  msgstr ""
1874
 
1875
+ #: modules/components/rewrite-root-files.php:144
1876
+ msgid "Block default wp-register.php file."
1877
+ msgstr ""
1878
+
1879
+ #: modules/components/rewrite-root-files.php:148
1880
  msgid ""
1881
+ "This is a deprecated file but still present in many WordPress installs. "
1882
+ "When called the user is redirected to /register page. Is safe to block the "
1883
+ "wp-register.php."
1884
  msgstr ""
1885
 
1886
+ #: modules/components/rewrite-root-files.php:166
1887
+ #: modules/components/rewrite-root-files.php:170
1888
  msgid "Block other wp-*.php files"
1889
  msgstr ""
1890
 
1891
+ #: modules/components/rewrite-root-files.php:167
1892
+ msgid "Block other wp-*.php files in the root."
1893
+ msgstr ""
1894
+
1895
+ #: modules/components/rewrite-root-files.php:171
1896
  msgid ""
1897
  "Block other wp-*.php files. E.g. wp-blog-header.php, wp-config.php, wp-cron."
1898
  "php. Those files are used internally, blocking those will not affect any "
1900
  "php) are ignored, they can be controlled through own setting."
1901
  msgstr ""
1902
 
1903
+ #: modules/components/rewrite-search.php:17
1904
+ #: modules/components/rewrite-search.php:21
1905
+ msgid "New Search Path"
1906
+ msgstr ""
1907
+
1908
+ #: modules/components/rewrite-search.php:18
1909
+ msgid "The default path is set to /search/"
1910
+ msgstr ""
1911
+
1912
+ #: modules/components/rewrite-search.php:22
1913
+ msgid ""
1914
+ "The /search/ is the default slug used to display the results for the search "
1915
+ "page. The default URL format is:"
1916
+ msgstr ""
1917
+
1918
+ #: modules/components/rewrite-search.php:24
1919
+ msgid "By using a value of 'find' this become:"
1920
+ msgstr ""
1921
+
1922
+ #: modules/components/rewrite-search.php:39
1923
+ msgid "Block default /search/ when using custom one."
1924
+ msgstr ""
1925
+
1926
+ #: modules/components/rewrite-search.php:43
1927
+ msgid ""
1928
+ "After changing the default author, the old url is still accessible, this "
1929
+ "provide a way to block it.<br />The functionality apply only if <b>New "
1930
+ "Search Path</b> option is filled in."
1931
+ msgstr ""
1932
+
1933
  #: modules/components/rewrite-slash.php:16
1934
  msgid "URL's add Slash"
1935
  msgstr ""
1936
 
1937
+ #: modules/components/rewrite-slash.php:17
1938
+ msgid "Add an end slash to all links which does not include one."
1939
+ msgstr ""
1940
+
1941
+ #: modules/components/rewrite-slash.php:21
1942
+ msgid "As default the WordPress url's format include an ending slash. "
1943
+ msgstr ""
1944
+
1945
+ #: modules/components/rewrite-slash.php:22
1946
  msgid ""
1947
+ "There are situations when this slash is not being append. Turning on this "
1948
+ "option, all links will get a slash if not included as default. Disguise the "
1949
+ "existence of files and folders, since they will not be slashed as deafault, "
1950
+ "all receive an ending slashed."
1951
  msgstr ""
1952
 
1953
+ #: modules/components/rewrite-slash.php:23
1954
+ msgid "For example the following link:"
1955
+ msgstr ""
1956
+
1957
+ #: modules/components/rewrite-slash.php:25
1958
+ msgid "will be redirected to:"
1959
+ msgstr ""
1960
+
1961
+ #: modules/components/rewrite-slash.php:27
1962
  msgid ""
1963
+ "On certain servers this can produce a small lag measured in milliseconds, "
1964
+ "for each url."
1965
+ msgstr ""
1966
+
1967
+ #: modules/components/rewrite-slash.php:28
1968
+ msgid "If produce endless redirects, turn this option off."
1969
  msgstr ""
1970
 
1971
  #: modules/components/rewrite-wp_content_path.php:16
1972
+ #: modules/components/rewrite-wp_content_path.php:20
1973
  msgid "New Content Path"
1974
  msgstr ""
1975
 
1977
  msgid "Your default wp-content path is set to"
1978
  msgstr ""
1979
 
1980
+ #: modules/components/rewrite-wp_content_path.php:21
1981
+ msgid ""
1982
+ "As default a WordPress installation contain a wp-content folder which store "
1983
+ "files and resources used by themes and plugin. The wp-content is a common "
1984
+ "fingerprint, which makes easily to anyone to identify the site as being "
1985
+ "created on WordPress."
1986
+ msgstr ""
1987
+
1988
+ #: modules/components/rewrite-wp_content_path.php:23
1989
+ msgid "After filling in this option e.g. data the links become:"
1990
+ msgstr ""
1991
+
1992
+ #: modules/components/rewrite-wp_content_path.php:28
1993
  msgid "e.g. my_content"
1994
  msgstr ""
1995
 
1996
+ #: modules/components/rewrite-wp_content_path.php:38
1997
  msgid "Block wp-content URL"
1998
  msgstr ""
1999
 
2000
+ #: modules/components/rewrite-wp_content_path.php:39
2001
+ msgid "Block default /wp-content/ path. Your default wp-content path is set to"
2002
+ msgstr ""
2003
+
2004
+ #: modules/components/rewrite-wp_content_path.php:42
2005
+ msgid "New content Path"
2006
+ msgstr ""
2007
+
2008
+ #: modules/components/rewrite-wp_content_path.php:43
2009
+ msgid ""
2010
+ "This blocks the default wp-content urls only for non loged-in users.<br /"
2011
+ ">The functionality apply only if <b>New Content Path</b> option is filled in."
2012
  msgstr ""
2013
 
2014
+ #: modules/components/rewrite-wp_content_path.php:49
2015
  msgid ""
2016
+ "This can break the layout if server not supporting the feature. Ensure New "
2017
+ "Includes Path options works fine before activate this. Once active test it "
2018
+ "thoroughly.<br />If not working, set to <b>No</b> to revert."
2019
  msgstr ""
2020
 
2021
  #: modules/module-admin.php:45
2034
  msgid "WP Hide & Security Enhancer - CDN"
2035
  msgstr ""
2036
 
2037
+ #: modules/module-general.php:69
2038
  msgid "General / Html"
2039
  msgstr ""
2040
 
2041
+ #: modules/module-general.php:81
2042
  msgid "WP Hide & Security Enhancer - General / Html"
2043
  msgstr ""
2044
 
2045
+ #: modules/module-rewrite.php:77 modules/module-rewrite.php:88
2046
  msgid "Rewrite"
2047
  msgstr ""
2048
 
2049
+ #: modules/module-rewrite.php:88
2050
  msgid "WP Hide & Security Enhancer"
2051
  msgstr ""
modules/components/admin-admin_url.php CHANGED
@@ -15,9 +15,17 @@
15
  'id' => 'admin_url',
16
  'label' => __('New Admin Url', 'wp-hide-security-enhancer'),
17
  'description' => array(
18
- __('Create a new admin url instead default /wp-admin and /login.', 'wp-hide-security-enhancer') . '<br />'
19
- . __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/admin-change-wp-admin/" target="_blank">Link</a>'
20
  ),
 
 
 
 
 
 
 
 
 
21
  'input_type' => 'text',
22
 
23
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), array($this, 'sanitize_path_name')),
@@ -29,8 +37,23 @@
29
  'id' => 'block_default_admin_url',
30
  'label' => __('Block default Admin Url', 'wp-hide-security-enhancer'),
31
  'description' => array(
32
- '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />' . __('Block default admin url and files from being accesible.', 'wp-hide-security-enhancer')
33
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  'input_type' => 'radio',
35
  'options' => array(
36
  'no' => __('No', 'wp-hide-security-enhancer'),
15
  'id' => 'admin_url',
16
  'label' => __('New Admin Url', 'wp-hide-security-enhancer'),
17
  'description' => array(
18
+ __('Create a new admin url instead default /wp-admin and /login.', 'wp-hide-security-enhancer')
 
19
  ),
20
+
21
+ 'help' => array(
22
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Admin Url', 'wp-hide-security-enhancer'),
23
+ 'description' => __("Despite the flexibility of WordPress framework, there are few ways to configure the admin login url customization for making a bit safer against unauthorized access and brute force attempts. All methods are not provided out of the box through WordPress core but require custom code to make it happen.", 'wp-hide-security-enhancer') .
24
+ "<br /><br />". __("This feature provide an easy way to change the default /wp-admin/ to a different slug.", 'wp-hide-security-enhancer') .
25
+ "<br /><br />". __("Once changed, the new url will be used to access all Dashboard sections, from Posts and Pages section to Plugins, Appearance and Settings.", 'wp-hide-security-enhancer'),
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/admin-change-wp-admin/'
27
+ ),
28
+
29
  'input_type' => 'text',
30
 
31
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), array($this, 'sanitize_path_name')),
37
  'id' => 'block_default_admin_url',
38
  'label' => __('Block default Admin Url', 'wp-hide-security-enhancer'),
39
  'description' => array(
40
+ __('Block default admin url and files from being accesible.', 'wp-hide-security-enhancer')
41
  ),
42
+
43
+ 'help' => array(
44
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default Admin Url', 'wp-hide-security-enhancer'),
45
+ 'description' => __("If set to Yes, the old admin url will be blocked and a default theme 404 error page will be returned.", 'wp-hide-security-enhancer') .
46
+ "<br /><br /><span class='important'>" . __('Ensure the New Admin Url option works correctly on your server before activate this.', 'wp-hide-security-enhancer') . '</span>',
47
+ 'input_value_extension' => 'php',
48
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/admin-change-wp-admin/'
49
+ ),
50
+
51
+ 'advanced_option' => array(
52
+
53
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layour of dashboard admin if server not supporting the feature. Ensure `New Admin Url` option works fine before activate this.<br />If not working, use the recovery link to revert.', 'wp-hide-security-enhancer')
54
+
55
+ ),
56
+
57
  'input_type' => 'radio',
58
  'options' => array(
59
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/admin-new_wp_login_php.php CHANGED
@@ -6,7 +6,7 @@
6
  {
7
  function get_component_title()
8
  {
9
- return "wp-login.php";
10
  }
11
 
12
  function get_module_settings()
@@ -15,11 +15,26 @@
15
  'id' => 'new_wp_login_php',
16
  'label' => __('New wp-login.php', 'wp-hide-security-enhancer'),
17
  'description' => array(
18
- __('Map a new wp-login.php instead default. This also need to include <i>.php</i> extension.', 'wp-hide-security-enhancer') . '<br />'
19
- . __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/admin-change-wp-login-php/" target="_blank">Link</a>',
20
- '<div class="notice-error"><span class="important"><span class="dashicons dashicons-warning important" alt="f534">'. __('warning', 'wp-hide-security-enhancer') .'</span> ' . __('Make sure your log-in url is not already modified by another plugin or theme. In such case, you should disable other code and take advantage of these features. More details at ', 'wp-hide-security-enhancer') . '<a target="_blank" href="http://www.wp-hide.com/login-conflicts/">'. __('Login Conflicts', 'wp-hide-security-enhancer') .'</a></span></div>'
21
-
22
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  'input_type' => 'text',
24
 
25
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -30,7 +45,20 @@
30
  $this->module_settings[] = array(
31
  'id' => 'block_default_wp_login_php',
32
  'label' => __('Block default wp-login.php', 'wp-hide-security-enhancer'),
33
- 'description' => '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />' . __('Block default wp-login.php file from being accesible.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  'input_type' => 'radio',
36
  'options' => array(
6
  {
7
  function get_component_title()
8
  {
9
+ return "Wp-login.php";
10
  }
11
 
12
  function get_module_settings()
15
  'id' => 'new_wp_login_php',
16
  'label' => __('New wp-login.php', 'wp-hide-security-enhancer'),
17
  'description' => array(
18
+ __('Map a new wp-login.php instead default. This also need to include <i>.php</i> extension.', 'wp-hide-security-enhancer')
 
 
 
19
  ),
20
+
21
+ 'help' => array(
22
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New wp-login.php', 'wp-hide-security-enhancer'),
23
+ 'description' => __("There are a lot of security issues that come from having your login page open to the public. Most specifically, brute force attacks. Because of the ubiquity of WordPress, these kinds of attacks are becoming more and more common.", 'wp-hide-security-enhancer') .
24
+ "<br /><br />" . __("Map a new wp-login.php instead default prevent hackers boot to attempt to brute force a site login. Being known only by the site owner, the url itself becomes private.", 'wp-hide-security-enhancer') .
25
+ "<br /><br /><span class='important'>" . __("Make sure you keep the new login url to a safe place, in case to forget.", 'wp-hide-security-enhancer') . "</span>",
26
+ 'input_value_extension' => 'php',
27
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/admin-change-wp-login-php/'
28
+ ),
29
+
30
+
31
+ 'options_pre' => '<div class="icon">
32
+ <img src="' . WPH_URL . '/assets/images/warning.png" />
33
+ </div>
34
+ <div class="text">
35
+ <p>' . __('Make sure your log-in url is not already modified by another plugin or theme. In such case, you should disable other code and take advantage of these features.', 'wp-hide-security-enhancer') .'</p>
36
+ </div>' ,
37
+
38
  'input_type' => 'text',
39
 
40
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
45
  $this->module_settings[] = array(
46
  'id' => 'block_default_wp_login_php',
47
  'label' => __('Block default wp-login.php', 'wp-hide-security-enhancer'),
48
+ 'description' => __('Block default wp-login.php file from being accesible.', 'wp-hide-security-enhancer'),
49
+
50
+ 'help' => array(
51
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default wp-login.php', 'wp-hide-security-enhancer'),
52
+ 'description' => __("If set to Yes, the old login url will be blocked and a default theme 404 error page will be returned.", 'wp-hide-security-enhancer') .
53
+ "<br /><br /><span class='important'>" . __('Ensure the New wp-login.php option works correctly on your server before activate this.', 'wp-hide-security-enhancer') . '</span>',
54
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/admin-change-wp-login-php/'
55
+ ),
56
+
57
+ 'advanced_option' => array(
58
+
59
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the login page if server not supporting the feature. Ensure `New wp-login.php` option works fine before activate this.<br />If not working, use the recovery link to revert.', 'wp-hide-security-enhancer')
60
+
61
+ ),
62
 
63
  'input_type' => 'radio',
64
  'options' => array(
modules/components/cdn-setup.php CHANGED
@@ -16,6 +16,15 @@
16
  'label' => __('CDN Url', 'wp-hide-security-enhancer'),
17
  'description' => __('Some CDN providers (like stackpath.com ) replace site assets with custom url, enter here such url. Otherwise this option should stay empty.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
 
 
 
19
  'input_type' => 'text',
20
 
21
 
16
  'label' => __('CDN Url', 'wp-hide-security-enhancer'),
17
  'description' => __('Some CDN providers (like stackpath.com ) replace site assets with custom url, enter here such url. Otherwise this option should stay empty.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('CDN Url', 'wp-hide-security-enhancer'),
21
+ 'description' => __("A Content Delivery Network - CDN - is a network of servers located around the globe in fundamental spots with fast access. It takes a while for a web page to load especially if the server is located far away from the user. So they are designed to host and deliver copies of your site's static and dynamic content such as images, CSS, JavaScript, audio and video streams.", 'wp-hide-security-enhancer') .
22
+ "<br /><br />" . __('Sample CDN url:', 'wp-hide-security-enhancer') .
23
+ "<br /><code>cdnjs.cloudflare.com</code><br /><br />" .
24
+ __('Enter a CDN Url to allow the plugin to process assets provided through CDN service.', 'wp-hide-security-enhancer'),
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/admin-change-wp-admin/'
26
+ ),
27
+
28
  'input_type' => 'text',
29
 
30
 
modules/components/general-admin-bar.php CHANGED
@@ -20,25 +20,38 @@
20
 
21
  $wp_roles = get_option( $wpdb->base_prefix . 'user_roles');
22
 
 
23
  foreach ( $wp_roles as $role_slug => $role )
24
  {
25
 
26
- $this->module_settings[] = $this->_prepare_modle_setting( $role_slug, $role['name'] );
27
-
28
  }
29
 
30
  return $this->module_settings;
31
  }
32
 
33
-
34
- function _prepare_modle_setting( $role_slug, $role_name )
35
  {
 
 
 
 
 
 
36
 
37
  $module_setting = array(
38
  'id' => 'remove_admin_bar_' . $role_slug,
39
  'label' => __('Remove Admin Bar for ', 'wp-hide-security-enhancer') . $role_name,
40
  'description' => __('Remove WordPress Admin Bar for ', 'wp-hide-security-enhancer') . $role_name . ' ' . __('role, which is being displayed by default on front side of your website.', 'wp-hide-security-enhancer'),
41
 
 
 
 
 
 
 
42
  'input_type' => 'radio',
43
  'options' => array(
44
  'no' => __('No', 'wp-hide-security-enhancer'),
20
 
21
  $wp_roles = get_option( $wpdb->base_prefix . 'user_roles');
22
 
23
+ $first = TRUE;
24
  foreach ( $wp_roles as $role_slug => $role )
25
  {
26
 
27
+ $this->module_settings[] = $this->_prepare_modle_setting( $role_slug, $role['name'], $first );
28
+ $first = FALSE;
29
  }
30
 
31
  return $this->module_settings;
32
  }
33
 
34
+
35
+ function _prepare_modle_setting( $role_slug, $role_name, $first )
36
  {
37
+ $help_description = '';
38
+
39
+ if ( $first )
40
+ $help_description = 'The admin bar is a floating bar that contains useful administration screen links such as add a new post, see pending comments, edit your profile etc. It can be extended by plugins to add additional functionality for example SEO and more. <br /><br />';
41
+
42
+ $help_description .= __('Remove WordPress Admin Bar for ', 'wp-hide-security-enhancer') . $role_name . ' ' . __('role' , 'wp-hide-security-enhancer');
43
 
44
  $module_setting = array(
45
  'id' => 'remove_admin_bar_' . $role_slug,
46
  'label' => __('Remove Admin Bar for ', 'wp-hide-security-enhancer') . $role_name,
47
  'description' => __('Remove WordPress Admin Bar for ', 'wp-hide-security-enhancer') . $role_name . ' ' . __('role, which is being displayed by default on front side of your website.', 'wp-hide-security-enhancer'),
48
 
49
+ 'help' => array(
50
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Admin Bar for ', 'wp-hide-security-enhancer') . $role_name . ' ' . __('role.', 'wp-hide-security-enhancer'),
51
+ 'description' => $help_description,
52
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-admin-bar/'
53
+ ),
54
+
55
  'input_type' => 'radio',
56
  'options' => array(
57
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-feed.php CHANGED
@@ -16,6 +16,16 @@
16
  'label' => __('Remove feed|rdf|rss|rss2|atom links', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove feed|rdf|rss|rss2|atom links within head. Also block such content functionality.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
 
 
 
 
19
  'input_type' => 'radio',
20
  'options' => array(
21
  'no' => __('No', 'wp-hide-security-enhancer'),
16
  'label' => __('Remove feed|rdf|rss|rss2|atom links', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove feed|rdf|rss|rss2|atom links within head. Also block such content functionality.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove feed|rdf|rss|rss2|atom links', 'wp-hide-security-enhancer'),
21
+ 'description' => __("A feed is a function of special software that allows feedreaders to access a site, automatically looking for new content and then posting the information about new content and updates to another site. This provides a way for users to keep up with the latest and hottest information posted on different blogging sites.", 'wp-hide-security-enhancer') .
22
+ "<br />" . __("There are several different kinds of feeds, read by different feedreaders. Some feeds include RSS (alternately defined as 'Rich Site Summary' or 'Really Simple Syndication'), Atom or RDF files.", 'wp-hide-security-enhancer') .
23
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
24
+ "<br /><code>&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;WP Hide Demo Feed&quot; href=&quot;http://-domain-name-/feed/&quot; /&gt;</code>
25
+ <br /><br/>" . __("Set this option to Yes also disable the feed service.", 'wp-hide-security-enhancer'),
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-feed/'
27
+ ),
28
+
29
  'input_type' => 'radio',
30
  'options' => array(
31
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-headers.php CHANGED
@@ -15,8 +15,15 @@
15
  $this->module_settings[] = array(
16
  'id' => 'remove_header_link',
17
  'label' => __('Remove Link Header', 'wp-hide-security-enhancer'),
18
- 'description' => __('Remove Link Header being set as default by WordPress which outputs the site JSON url.', 'wp-hide-security-enhancer') . ' ' .
19
- __('More details at ', 'wp-hide-security-enhancer') . '<a target="_blank" href="http://www.wp-hide.com/documentation/request-headers/">Request Headers</a>',
 
 
 
 
 
 
 
20
 
21
  'input_type' => 'radio',
22
  'options' => array(
@@ -33,8 +40,14 @@
33
  $this->module_settings[] = array(
34
  'id' => 'remove_x_powered_by',
35
  'label' => __('Remove X-Powered-By Header', 'wp-hide-security-enhancer'),
36
- 'description' => __('Remove X-Powered-By Header if being set.', 'wp-hide-security-enhancer') . ' ' .
37
- __('More details at ', 'wp-hide-security-enhancer') . '<a target="_blank" href="http://www.wp-hide.com/documentation/request-headers/">Request Headers</a>',
 
 
 
 
 
 
38
 
39
  'input_type' => 'radio',
40
  'options' => array(
@@ -50,8 +63,13 @@
50
  $this->module_settings[] = array(
51
  'id' => 'remove_x_pingback',
52
  'label' => __('Remove X-Pingback Header', 'wp-hide-security-enhancer'),
53
- 'description' => __('Remove X-Pingback Header if being set.', 'wp-hide-security-enhancer') . ' ' .
54
- __('More details at ', 'wp-hide-security-enhancer') . '<a target="_blank" href="http://www.wp-hide.com/documentation/request-headers/">Request Headers</a>',
 
 
 
 
 
55
 
56
  'input_type' => 'radio',
57
  'options' => array(
15
  $this->module_settings[] = array(
16
  'id' => 'remove_header_link',
17
  'label' => __('Remove Link Header', 'wp-hide-security-enhancer'),
18
+ 'description' => __('Remove Link Header being set as default by WordPress which outputs the site JSON url.', 'wp-hide-security-enhancer'),
19
+
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Version', 'wp-hide-security-enhancer'),
22
+ 'description' => __("HTTP header fields are components of the header section of a request and response messages in the Hypertext Transfer Protocol (HTTP). They define the operating parameters of an HTTP transaction.", 'wp-hide-security-enhancer') .
23
+ "<br /><br />" . __("Sample header:", 'wp-hide-security-enhancer') .
24
+ "<br /><code>Link: &lt;http://-domain-name-/wp-json/&gt;; rel=&quot;https://api.w.org/&quot;</code>",
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/request-headers/'
26
+ ),
27
 
28
  'input_type' => 'radio',
29
  'options' => array(
40
  $this->module_settings[] = array(
41
  'id' => 'remove_x_powered_by',
42
  'label' => __('Remove X-Powered-By Header', 'wp-hide-security-enhancer'),
43
+ 'description' => __('Remove X-Powered-By Header if being set.', 'wp-hide-security-enhancer'),
44
+
45
+ 'help' => array(
46
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove X-Powered-By Header', 'wp-hide-security-enhancer'),
47
+ 'description' => __("Sample header:", 'wp-hide-security-enhancer') .
48
+ "<br /><code>x-powered-by: 'W3 Total Cache/0.9.5'</code>",
49
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/request-headers/'
50
+ ),
51
 
52
  'input_type' => 'radio',
53
  'options' => array(
63
  $this->module_settings[] = array(
64
  'id' => 'remove_x_pingback',
65
  'label' => __('Remove X-Pingback Header', 'wp-hide-security-enhancer'),
66
+ 'description' => __('Remove X-Pingback Header if being set.', 'wp-hide-security-enhancer'),
67
+
68
+ 'help' => array(
69
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove X-Pingback Header', 'wp-hide-security-enhancer'),
70
+ 'description' => __("Pingback is one of four types of linkback methods for Web authors to request notification when somebody links to one of their documents. This enables authors to keep track of who is linking to, or referring to their articles. Pingback-enabled resources must either use an X-Pingback header or contain a element to the XML-RPC script.", 'wp-hide-security-enhancer'),
71
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/request-headers/'
72
+ ),
73
 
74
  'input_type' => 'radio',
75
  'options' => array(
modules/components/general-html.php CHANGED
@@ -19,7 +19,13 @@
19
  $this->module_settings[] = array(
20
  'id' => 'remove_html_comments',
21
  'label' => __('Remove Comments', 'wp-hide-security-enhancer'),
22
- 'description' => __('Remove all HTML Comments which usualy specify Plugins Name and Version. Any Internet Explorer conditional tags are preserved.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
23
 
24
  'input_type' => 'radio',
25
  'options' => array(
@@ -35,7 +41,20 @@
35
  $this->module_settings[] = array(
36
  'id' => 'remove_html_new_lines',
37
  'label' => __('Minify', 'wp-hide-security-enhancer'),
38
- 'description' => __('Minify HTML, Inline Styles, Inline JavaScripts. Minify JavaScript might produce errors for specific plugins.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
40
  'input_type' => 'radio',
41
  'options' => array(
@@ -54,7 +73,15 @@
54
  $this->module_settings[] = array(
55
  'id' => 'clean_body_classes',
56
  'label' => __('Remove general classes from body tag', 'wp-hide-security-enhancer'),
57
- 'description' => __('Remove general classes from body tag.', 'wp-hide-security-enhancer') . '<br /><span class="info"> '. __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') . '</span>',
 
 
 
 
 
 
 
 
58
  'input_type' => 'radio',
59
  'options' => array(
60
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -69,7 +96,15 @@
69
  $this->module_settings[] = array(
70
  'id' => 'clean_menu_items_id',
71
  'label' => __('Remove ID from Menu items', 'wp-hide-security-enhancer'),
72
- 'description' => __('Remove ID attribute from all menu items.', 'wp-hide-security-enhancer'). '<br /><span class="info"> '. __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') . '</span>',
 
 
 
 
 
 
 
 
73
  'input_type' => 'radio',
74
  'options' => array(
75
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -84,7 +119,14 @@
84
  $this->module_settings[] = array(
85
  'id' => 'clean_menu_items_classes',
86
  'label' => __('Remove class from Menu items', 'wp-hide-security-enhancer'),
87
- 'description' => __('Remove class attribute from all menu items. Any classes which include a "current" prefix or contain "has-children" will be preserved.', 'wp-hide-security-enhancer') . '<br /><span class="info"> '. __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') . '</span>',
 
 
 
 
 
 
 
88
 
89
  'input_type' => 'radio',
90
  'options' => array(
@@ -99,8 +141,16 @@
99
 
100
  $this->module_settings[] = array(
101
  'id' => 'clean_post_classes',
102
- 'label' => __('Remove general classes from post', 'wp-hide-security-enhancer'),
103
- 'description' => __('Remove general classes from post.', 'wp-hide-security-enhancer') . '<br /><span class="info"> '. __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') . '</span>',
 
 
 
 
 
 
 
 
104
  'input_type' => 'radio',
105
  'options' => array(
106
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -115,7 +165,15 @@
115
  $this->module_settings[] = array(
116
  'id' => 'clean_image_classes',
117
  'label' => __('Remove general classes from images', 'wp-hide-security-enhancer'),
118
- 'description' => __('Remove general classes from media tags.', 'wp-hide-security-enhancer') . '<br /><span class="info"> '. __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') . '</span>',
 
 
 
 
 
 
 
 
119
  'input_type' => 'radio',
120
  'options' => array(
121
  'no' => __('No', 'wp-hide-security-enhancer'),
19
  $this->module_settings[] = array(
20
  'id' => 'remove_html_comments',
21
  'label' => __('Remove Comments', 'wp-hide-security-enhancer'),
22
+ 'description' => __('Remove comments from HTML source code.', 'wp-hide-security-enhancer'),
23
+
24
+ 'help' => array(
25
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Comments', 'wp-hide-security-enhancer'),
26
+ 'description' => __("The HTML source code usually contain many comment lines, however there is no use for that, unless debugging. Remove all HTML Comments, which usually specify Plugins Name and Version. Any Internet Explorer conditional tags are preserved.", 'wp-hide-security-enhancer'),
27
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
28
+ ),
29
 
30
  'input_type' => 'radio',
31
  'options' => array(
41
  $this->module_settings[] = array(
42
  'id' => 'remove_html_new_lines',
43
  'label' => __('Minify', 'wp-hide-security-enhancer'),
44
+ 'description' => __('Minify HTML, Inline Styles, Inline JavaScripts.', 'wp-hide-security-enhancer'),
45
+
46
+ 'help' => array(
47
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Minify', 'wp-hide-security-enhancer'),
48
+ 'description' => __("When you minify HTML it removes the unnecessary characters and lines in the source code. Indentation, comments, empty lines, etc. are not required in HTML. They just make the file easier to read. Cutting out all this unnecessary stuff can shave down your file size considerably. When you minify HTML code on your website, the server will send a much smaller page to the client making your website load quicker.", 'wp-hide-security-enhancer') .
49
+ "<br /><br />" . __("The Minify component include multiple options:", 'wp-hide-security-enhancer') .
50
+ "<br />Html
51
+ <br />Html & Css
52
+ <br />Html & JavaScript
53
+ <br />All
54
+ <br /><span class='important'>" . __("Minify JavaScript might produce errors for specific plugins.", 'wp-hide-security-enhancer') . "</span>",
55
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
56
+ ),
57
+
58
 
59
  'input_type' => 'radio',
60
  'options' => array(
73
  $this->module_settings[] = array(
74
  'id' => 'clean_body_classes',
75
  'label' => __('Remove general classes from body tag', 'wp-hide-security-enhancer'),
76
+ 'description' => __('Remove general classes from body tag.', 'wp-hide-security-enhancer'),
77
+
78
+ 'help' => array(
79
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove general classes from body tag', 'wp-hide-security-enhancer'),
80
+ 'description' => __("Remove general classes from body tag.", 'wp-hide-security-enhancer') .
81
+ "<br /><span class='important'>" . __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') ."</span>",
82
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
83
+ ),
84
+
85
  'input_type' => 'radio',
86
  'options' => array(
87
  'no' => __('No', 'wp-hide-security-enhancer'),
96
  $this->module_settings[] = array(
97
  'id' => 'clean_menu_items_id',
98
  'label' => __('Remove ID from Menu items', 'wp-hide-security-enhancer'),
99
+ 'description' => __('Remove ID attribute from all menu items.', 'wp-hide-security-enhancer'),
100
+
101
+ 'help' => array(
102
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove ID from Menu items', 'wp-hide-security-enhancer'),
103
+ 'description' => __("Remove ID attribute from all menu items.", 'wp-hide-security-enhancer') .
104
+ "<br /><span class='important'>" . __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') ."</span>",
105
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
106
+ ),
107
+
108
  'input_type' => 'radio',
109
  'options' => array(
110
  'no' => __('No', 'wp-hide-security-enhancer'),
119
  $this->module_settings[] = array(
120
  'id' => 'clean_menu_items_classes',
121
  'label' => __('Remove class from Menu items', 'wp-hide-security-enhancer'),
122
+ 'description' => __('Remove class attribute from all menu items.', 'wp-hide-security-enhancer'),
123
+
124
+ 'help' => array(
125
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove class from Menu items', 'wp-hide-security-enhancer'),
126
+ 'description' => __("Remove class attribute from all menu items. Any classes which include a 'current' prefix or contain 'has-children' will be preserved.", 'wp-hide-security-enhancer') .
127
+ "<br /><span class='important'>" . __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') ."</span>",
128
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
129
+ ),
130
 
131
  'input_type' => 'radio',
132
  'options' => array(
141
 
142
  $this->module_settings[] = array(
143
  'id' => 'clean_post_classes',
144
+ 'label' => __('Remove class from Menu items', 'wp-hide-security-enhancer'),
145
+ 'description' => __('Remove general classes from post.', 'wp-hide-security-enhancer'),
146
+
147
+ 'help' => array(
148
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove class from Menu items', 'wp-hide-security-enhancer'),
149
+ 'description' => __("Remove general classes from post.", 'wp-hide-security-enhancer') .
150
+ "<br /><span class='important'>" . __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') ."</span>",
151
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
152
+ ),
153
+
154
  'input_type' => 'radio',
155
  'options' => array(
156
  'no' => __('No', 'wp-hide-security-enhancer'),
165
  $this->module_settings[] = array(
166
  'id' => 'clean_image_classes',
167
  'label' => __('Remove general classes from images', 'wp-hide-security-enhancer'),
168
+ 'description' => __('Remove general classes from media tags.', 'wp-hide-security-enhancer'),
169
+
170
+ 'help' => array(
171
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove general classes from images', 'wp-hide-security-enhancer'),
172
+ 'description' => __("Remove general classes from media tags.", 'wp-hide-security-enhancer') .
173
+ "<br /><span class='important'>" . __('This can produce layout issues with certain themes, if something break this should be turned off.', 'wp-hide-security-enhancer') ."</span>",
174
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/remove-classes-from-html/'
175
+ ),
176
+
177
  'input_type' => 'radio',
178
  'options' => array(
179
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-meta.php CHANGED
@@ -17,6 +17,14 @@
17
  'label' => __('Remove WordPress Generator Meta', 'wp-hide-security-enhancer'),
18
  'description' => __('Remove the autogenerated meta generator tag within head (WordPress Version).', 'wp-hide-security-enhancer'),
19
 
 
 
 
 
 
 
 
 
20
  'input_type' => 'radio',
21
  'options' => array(
22
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -33,6 +41,14 @@
33
  'label' => __('Remove Other Generator Meta', 'wp-hide-security-enhancer'),
34
  'description' => __('Remove other meta generated tags within head (eg Theme Name, Theme Version).', 'wp-hide-security-enhancer'),
35
 
 
 
 
 
 
 
 
 
36
  'input_type' => 'radio',
37
  'options' => array(
38
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -65,6 +81,12 @@
65
  'label' => __('Remove DNS Prefetch', 'wp-hide-security-enhancer'),
66
  'description' => __('Remove DNS Prefetch meta generated tag.', 'wp-hide-security-enhancer'),
67
 
 
 
 
 
 
 
68
  'input_type' => 'radio',
69
  'options' => array(
70
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -81,6 +103,12 @@
81
  'label' => __('Remove Resource Hints', 'wp-hide-security-enhancer'),
82
  'description' => __('Remove Resource Hints meta generated tags within head (eg dns-prefetch, preconnect).', 'wp-hide-security-enhancer'),
83
 
 
 
 
 
 
 
84
  'input_type' => 'radio',
85
  'options' => array(
86
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -97,6 +125,14 @@
97
  'label' => __('Remove wlwmanifest Meta', 'wp-hide-security-enhancer'),
98
  'description' => __('Remove the wlwmanifest tag within head.', 'wp-hide-security-enhancer'),
99
 
 
 
 
 
 
 
 
 
100
  'input_type' => 'radio',
101
  'options' => array(
102
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -114,6 +150,14 @@
114
  'label' => __('Disable output the REST API link tag into page header', 'wp-hide-security-enhancer'),
115
  'description' => __('By default a REST API link tag is being append to HTML.', 'wp-hide-security-enhancer'),
116
 
 
 
 
 
 
 
 
 
117
  'input_type' => 'radio',
118
  'options' => array(
119
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -133,6 +177,14 @@
133
  'label' => __('Remove rsd_link Meta', 'wp-hide-security-enhancer'),
134
  'description' => __('Remove the rsd_link tag within head.', 'wp-hide-security-enhancer'),
135
 
 
 
 
 
 
 
 
 
136
  'input_type' => 'radio',
137
  'options' => array(
138
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -151,6 +203,14 @@
151
  'label' => __('Remove adjacent_posts_rel Meta', 'wp-hide-security-enhancer'),
152
  'description' => __('Remove the adjacent_posts_rel tag within head.', 'wp-hide-security-enhancer'),
153
 
 
 
 
 
 
 
 
 
154
  'input_type' => 'radio',
155
  'options' => array(
156
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -167,6 +227,14 @@
167
  'label' => __('Remove profile link', 'wp-hide-security-enhancer'),
168
  'description' => __('Remove profile link meta tag within head.', 'wp-hide-security-enhancer'),
169
 
 
 
 
 
 
 
 
 
170
  'input_type' => 'radio',
171
  'options' => array(
172
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -183,6 +251,14 @@
183
  'label' => __('Remove canonical link', 'wp-hide-security-enhancer'),
184
  'description' => __('Remove canonical link meta tag within head.', 'wp-hide-security-enhancer'),
185
 
 
 
 
 
 
 
 
 
186
  'input_type' => 'radio',
187
  'options' => array(
188
  'no' => __('No', 'wp-hide-security-enhancer'),
17
  'label' => __('Remove WordPress Generator Meta', 'wp-hide-security-enhancer'),
18
  'description' => __('Remove the autogenerated meta generator tag within head (WordPress Version).', 'wp-hide-security-enhancer'),
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove WordPress Generator Meta', 'wp-hide-security-enhancer'),
22
+ 'description' => __("Remove the autogenerated meta generator tag within head (WordPress Version).", 'wp-hide-security-enhancer') .
23
+ "<br />" . __("Tag example:", 'wp-hide-security-enhancer') . "<br /> <br />
24
+ <code>&lt;meta name=&quot;generator&quot; content=&quot;WordPress 5.3.1&quot; /&gt;</code>",
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
26
+ ),
27
+
28
  'input_type' => 'radio',
29
  'options' => array(
30
  'no' => __('No', 'wp-hide-security-enhancer'),
41
  'label' => __('Remove Other Generator Meta', 'wp-hide-security-enhancer'),
42
  'description' => __('Remove other meta generated tags within head (eg Theme Name, Theme Version).', 'wp-hide-security-enhancer'),
43
 
44
+ 'help' => array(
45
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Other Generator Meta', 'wp-hide-security-enhancer'),
46
+ 'description' => __("Remove other meta generated tags within head (eg Theme Name, Theme Version).", 'wp-hide-security-enhancer') .
47
+ "<br />" . __("Tag example:", 'wp-hide-security-enhancer') . "<br /> <br />
48
+ <code>&lt;meta content=&quot;Divi - Child v.1.0.0&quot; name=&quot;generator&quot;/&gt;</code>",
49
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
50
+ ),
51
+
52
  'input_type' => 'radio',
53
  'options' => array(
54
  'no' => __('No', 'wp-hide-security-enhancer'),
81
  'label' => __('Remove DNS Prefetch', 'wp-hide-security-enhancer'),
82
  'description' => __('Remove DNS Prefetch meta generated tag.', 'wp-hide-security-enhancer'),
83
 
84
+ 'help' => array(
85
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove DNS Prefetch', 'wp-hide-security-enhancer'),
86
+ 'description' => __("DNS prefetching allows you to resolve domain names (perform a DNS lookup in the background) before a user clicks on a link, which in turn can help improve performance.", 'wp-hide-security-enhancer'),
87
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
88
+ ),
89
+
90
  'input_type' => 'radio',
91
  'options' => array(
92
  'no' => __('No', 'wp-hide-security-enhancer'),
103
  'label' => __('Remove Resource Hints', 'wp-hide-security-enhancer'),
104
  'description' => __('Remove Resource Hints meta generated tags within head (eg dns-prefetch, preconnect).', 'wp-hide-security-enhancer'),
105
 
106
+ 'help' => array(
107
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Resource Hints', 'wp-hide-security-enhancer'),
108
+ 'description' => __("DNS prefetching and preconect allows you to resolve domain names before a user clicks on a link, which in turn can help and slightly improve performance.", 'wp-hide-security-enhancer'),
109
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
110
+ ),
111
+
112
  'input_type' => 'radio',
113
  'options' => array(
114
  'no' => __('No', 'wp-hide-security-enhancer'),
125
  'label' => __('Remove wlwmanifest Meta', 'wp-hide-security-enhancer'),
126
  'description' => __('Remove the wlwmanifest tag within head.', 'wp-hide-security-enhancer'),
127
 
128
+ 'help' => array(
129
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove wlwmanifest Meta', 'wp-hide-security-enhancer'),
130
+ 'description' => __("The above link is actually used by Windows Live Writer. If you don't te application, this is just unnecessary code.", 'wp-hide-security-enhancer') .
131
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
132
+ "<br /><code>&lt;link rel=&quot;wlwmanifest&quot; type=&quot;application/wlwmanifest+xml&quot; href=&quot;http://-domain-name-/wp-includes/wlwmanifest.xml&quot; /&gt;</code>",
133
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
134
+ ),
135
+
136
  'input_type' => 'radio',
137
  'options' => array(
138
  'no' => __('No', 'wp-hide-security-enhancer'),
150
  'label' => __('Disable output the REST API link tag into page header', 'wp-hide-security-enhancer'),
151
  'description' => __('By default a REST API link tag is being append to HTML.', 'wp-hide-security-enhancer'),
152
 
153
+ 'help' => array(
154
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable output the REST API link tag into page header', 'wp-hide-security-enhancer'),
155
+ 'description' => __("This option disable the tag output with the JSON API url.", 'wp-hide-security-enhancer') .
156
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
157
+ "<br /><code>&lt;link rel='https://api.w.org/' href='https://-domain-name-/wp-json/' /&gt;</code>",
158
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
159
+ ),
160
+
161
  'input_type' => 'radio',
162
  'options' => array(
163
  'no' => __('No', 'wp-hide-security-enhancer'),
177
  'label' => __('Remove rsd_link Meta', 'wp-hide-security-enhancer'),
178
  'description' => __('Remove the rsd_link tag within head.', 'wp-hide-security-enhancer'),
179
 
180
+ 'help' => array(
181
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove rsd_link Meta', 'wp-hide-security-enhancer'),
182
+ 'description' => __("This helps to hide the link to the Really Simple Discovery service endpoint.", 'wp-hide-security-enhancer') .
183
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
184
+ "<br /><code>&lt;link rel='EditURI' type='application/rsd+xml' title='RSD' href='https://-domain-name-/xmlrpc.php?rsd' /&gt;</code>",
185
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
186
+ ),
187
+
188
  'input_type' => 'radio',
189
  'options' => array(
190
  'no' => __('No', 'wp-hide-security-enhancer'),
203
  'label' => __('Remove adjacent_posts_rel Meta', 'wp-hide-security-enhancer'),
204
  'description' => __('Remove the adjacent_posts_rel tag within head.', 'wp-hide-security-enhancer'),
205
 
206
+ 'help' => array(
207
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove adjacent_posts_rel Meta', 'wp-hide-security-enhancer'),
208
+ 'description' => __("This helps to hide the post adjacent tags.", 'wp-hide-security-enhancer') .
209
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
210
+ "<br /><code>&lt;link rel='next' title='Dummy Post' href='http://-domain-name-/dummy-post/' /&gt;</code>",
211
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
212
+ ),
213
+
214
  'input_type' => 'radio',
215
  'options' => array(
216
  'no' => __('No', 'wp-hide-security-enhancer'),
227
  'label' => __('Remove profile link', 'wp-hide-security-enhancer'),
228
  'description' => __('Remove profile link meta tag within head.', 'wp-hide-security-enhancer'),
229
 
230
+ 'help' => array(
231
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove adjacent_posts_rel Meta', 'wp-hide-security-enhancer'),
232
+ 'description' => __("This helps to hide the profile tags.", 'wp-hide-security-enhancer') .
233
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
234
+ "<br /><code>&lt;link rel='profile' href='http://-domain-name-/profile/' /&gt;</code>",
235
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
236
+ ),
237
+
238
  'input_type' => 'radio',
239
  'options' => array(
240
  'no' => __('No', 'wp-hide-security-enhancer'),
251
  'label' => __('Remove canonical link', 'wp-hide-security-enhancer'),
252
  'description' => __('Remove canonical link meta tag within head.', 'wp-hide-security-enhancer'),
253
 
254
+ 'help' => array(
255
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove adjacent_posts_rel Meta', 'wp-hide-security-enhancer'),
256
+ 'description' => __("The rel=canonical element, often called the 'canonical link', is an HTML element that helps webmasters prevent duplicate content issues. It does this by specifying the 'canonical URL', the 'preferred' version of a web page - the original source, even.", 'wp-hide-security-enhancer') .
257
+ "<br /><br/>" . __("Sample tag:", 'wp-hide-security-enhancer') .
258
+ "<br /><code>&lt;link rel=&quot;canonical&quot; href=&quot;http://-domain-name-/dummy-post/&quot; /&gt;</code>",
259
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-meta/'
260
+ ),
261
+
262
  'input_type' => 'radio',
263
  'options' => array(
264
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-oembed.php CHANGED
@@ -14,8 +14,12 @@
14
  $this->module_settings[] = array(
15
  'id' => 'remove_oembed',
16
  'label' => __('Remove Oembed', 'wp-hide-security-enhancer'),
17
- 'description' => __('Remove Oembed tags from header.', 'wp-hide-security-enhancer') . ' ' .
18
- __('More details at ', 'wp-hide-security-enhancer') . '<a target="_blank" href="http://www.wp-hide.com/request-headers/">Oembed</a>',
 
 
 
 
19
 
20
  'input_type' => 'radio',
21
  'options' => array(
14
  $this->module_settings[] = array(
15
  'id' => 'remove_oembed',
16
  'label' => __('Remove Oembed', 'wp-hide-security-enhancer'),
17
+ 'description' => __('Remove Oembed tags from header.', 'wp-hide-security-enhancer'),
18
+
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Oembed', 'wp-hide-security-enhancer'),
21
+ 'description' => __("WordPress oEmbed recognizes URLs to a number of services, for example Youtube videos. When WordPress sees the URL it will connect to the external service (Youtube) and ask for the relevant HTML code to embed the video into the page or post.", 'wp-hide-security-enhancer'),
22
+ ),
23
 
24
  'input_type' => 'radio',
25
  'options' => array(
modules/components/general-robots-txt.php CHANGED
@@ -16,6 +16,15 @@
16
  'label' => __('Disable admin url within Robots.txt', 'wp-hide-security-enhancer'),
17
  'description' => __('Disable any admin url which is being automatically generated by WordPress when called robots.txt.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
 
 
 
19
  'input_type' => 'radio',
20
  'options' => array(
21
  'no' => __('No', 'wp-hide-security-enhancer'),
16
  'label' => __('Disable admin url within Robots.txt', 'wp-hide-security-enhancer'),
17
  'description' => __('Disable any admin url which is being automatically generated by WordPress when called robots.txt.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable admin url within Robots.txt', 'wp-hide-security-enhancer'),
21
+ 'description' => __("The robots.txt file plays a major role in search engine ranking. It blocks search engine bots and helps index and crawl important parts of your site.", 'wp-hide-security-enhancer') .
22
+ "<br /><br />" . __("As default the robots.txt also includes an allow clause to admin URL and admin-ajax.php url. Once customized those areas, the new slugs might not want to be show to anyone. Turn this option to Yes removed any reference to new wp-admin and admin-ajax.php.", 'wp-hide-security-enhancer') .
23
+ "<br/><br />" . __("Sample robots.txt url:" , 'wp-hide-security-enhancer') .
24
+ "<br /><code>https://-domain-name-/robots.txt</code>",
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-robots-txt/'
26
+ ),
27
+
28
  'input_type' => 'radio',
29
  'options' => array(
30
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-scripts.php CHANGED
@@ -16,6 +16,17 @@
16
  'label' => __('Remove Version', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove version number from enqueued script files.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
 
 
 
 
 
19
  'input_type' => 'radio',
20
  'options' => array(
21
  'no' => __('No', 'wp-hide-security-enhancer'),
16
  'label' => __('Remove Version', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove version number from enqueued script files.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Version', 'wp-hide-security-enhancer'),
21
+ 'description' => __("This provide a method to remove the JavaScript version number which is being append at the end of every script file. Generally this is intended to be a plain information upon the JavaScript code version, however not being used within any functionality or code run.", 'wp-hide-security-enhancer') .
22
+ "<br /><br />" . __("Keeping version number for scripts provide additional information to hackers which try to identify specific JavaScript code and version which know as being vulnerable.", 'wp-hide-security-enhancer') .
23
+ "<br /><br />" . __("Sample tag:", 'wp-hide-security-enhancer') .
24
+ "<br /><code>&lt;script type='text/javascript' src='https://-domain-name-/wp-includes/js/jquery/jquery.js?ver=1.12.4'&gt;&lt;/script&gt;</code>
25
+ <br />" . __("Once option set to Yes the tag becomes:", 'wp-hide-security-enhancer') .
26
+ "<br /><code>&lt;script type='text/javascript' src='https://-domain-name-/wp-includes/js/jquery/jquery.js'&gt;&lt;/script&gt;</code>",
27
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-scripts/'
28
+ ),
29
+
30
  'input_type' => 'radio',
31
  'options' => array(
32
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-styles.php CHANGED
@@ -16,6 +16,13 @@
16
  'label' => __('Remove Version', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove version number from enqueued style files.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
 
19
  'input_type' => 'radio',
20
  'options' => array(
21
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -32,6 +39,12 @@
32
  'label' => __('Remove ID from link tags', 'wp-hide-security-enhancer'),
33
  'description' => __('Remove ID attribute from all link tags which include a stylesheet.', 'wp-hide-security-enhancer'),
34
 
 
 
 
 
 
 
35
  'input_type' => 'radio',
36
  'options' => array(
37
  'no' => __('No', 'wp-hide-security-enhancer'),
16
  'label' => __('Remove Version', 'wp-hide-security-enhancer'),
17
  'description' => __('Remove version number from enqueued style files.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Version', 'wp-hide-security-enhancer'),
21
+ 'description' => __("This provide a method to remove the Style file version number which is being append at the end of every style tag. Generally this is intended to be a plain information upon the style code version, however not being used within any functionality or code run.", 'wp-hide-security-enhancer') .
22
+ "<br /><br />" . __("Keeping version number for styles provide additional information to hackers which try to identify specific code and version which know as being vulnerable.", 'wp-hide-security-enhancer'),
23
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-styles/'
24
+ ),
25
+
26
  'input_type' => 'radio',
27
  'options' => array(
28
  'no' => __('No', 'wp-hide-security-enhancer'),
39
  'label' => __('Remove ID from link tags', 'wp-hide-security-enhancer'),
40
  'description' => __('Remove ID attribute from all link tags which include a stylesheet.', 'wp-hide-security-enhancer'),
41
 
42
+ 'help' => array(
43
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove Version', 'wp-hide-security-enhancer'),
44
+ 'description' => __("This provide a method to remove the Style file ID attribute which generally has no usage.", 'wp-hide-security-enhancer'),
45
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-styles/'
46
+ ),
47
+
48
  'input_type' => 'radio',
49
  'options' => array(
50
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/general-wpemoji.php CHANGED
@@ -16,6 +16,12 @@
16
  'label' => __('Disable Emoji', 'wp-hide-security-enhancer'),
17
  'description' => __('Disable the Emoji icon library from being loaded.', 'wp-hide-security-enhancer'),
18
 
 
 
 
 
 
 
19
  'input_type' => 'radio',
20
  'options' => array(
21
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -32,6 +38,13 @@
32
  'label' => __('Disable TinyMCE Emoji', 'wp-hide-security-enhancer'),
33
  'description' => __('Disable the TinyMCE Emoji icons library from being loaded into TinyMC.', 'wp-hide-security-enhancer'),
34
 
 
 
 
 
 
 
 
35
  'input_type' => 'radio',
36
  'options' => array(
37
  'no' => __('No', 'wp-hide-security-enhancer'),
16
  'label' => __('Disable Emoji', 'wp-hide-security-enhancer'),
17
  'description' => __('Disable the Emoji icon library from being loaded.', 'wp-hide-security-enhancer'),
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable Emoji', 'wp-hide-security-enhancer'),
21
+ 'description' => __("Not everyone use Emoji. Since WordPress load the dependencies as default, it decrease the overall site speed. Disabling this will remove any code and related resources from being loaded on front side.", 'wp-hide-security-enhancer'),
22
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-emoji/'
23
+ ),
24
+
25
  'input_type' => 'radio',
26
  'options' => array(
27
  'no' => __('No', 'wp-hide-security-enhancer'),
38
  'label' => __('Disable TinyMCE Emoji', 'wp-hide-security-enhancer'),
39
  'description' => __('Disable the TinyMCE Emoji icons library from being loaded into TinyMC.', 'wp-hide-security-enhancer'),
40
 
41
+ 'help' => array(
42
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable Emoji', 'wp-hide-security-enhancer'),
43
+ 'description' => __("Disable TinyMCE Emoji This is also loaded along the WordPress default TinyMCE editor, but it can be disabled through this option.", 'wp-hide-security-enhancer'),
44
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/general-html-emoji/'
45
+ ),
46
+
47
+
48
  'input_type' => 'radio',
49
  'options' => array(
50
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-author.php CHANGED
@@ -17,7 +17,16 @@
17
  'label' => __('New Author Path', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to /author/', 'wp-hide-security-enhancer'),
19
 
20
- 'value_description' => 'e.g. profile',
 
 
 
 
 
 
 
 
 
21
  'input_type' => 'text',
22
 
23
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -29,6 +38,12 @@
29
  'label' => __('Block default', 'wp-hide-security-enhancer'),
30
  'description' => __('Block default /author/ when using custom one.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New Author Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
31
 
 
 
 
 
 
 
32
  'input_type' => 'radio',
33
  'options' => array(
34
  'no' => __('No', 'wp-hide-security-enhancer'),
17
  'label' => __('New Author Path', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to /author/', 'wp-hide-security-enhancer'),
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Author Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("An author URL display all posts associated to a particular author. The default URL format is:", 'wp-hide-security-enhancer') ."<br /> <br />
23
+ <code>https://-domain-name-/author/author-name/</code>
24
+ <br /><br /> " . __("By using a value of 'contributor' this become:", 'wp-hide-security-enhancer') ."<br />
25
+ <code>https://-domain-name-/contributor/author-name/</code>",
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-author/',
27
+ ),
28
+
29
+ 'value_description' => 'e.g. contributor',
30
  'input_type' => 'text',
31
 
32
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
38
  'label' => __('Block default', 'wp-hide-security-enhancer'),
39
  'description' => __('Block default /author/ when using custom one.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New Author Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
40
 
41
+ 'help' => array(
42
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default', 'wp-hide-security-enhancer'),
43
+ 'description' => __("After changing the default author, the old url is still accessible, this provide a way to block it.<br />The functionality apply only if <b>New Author Path</b> option is filled in.", 'wp-hide-security-enhancer'),
44
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-author/'
45
+ ),
46
+
47
  'input_type' => 'radio',
48
  'options' => array(
49
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-comments.php CHANGED
@@ -14,9 +14,19 @@
14
  {
15
  $this->module_settings[] = array(
16
  'id' => 'new_wp_comments_post',
17
- 'label' => __('New wp-comments-post.php Path', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to wp-comments-post.php', 'wp-hide-security-enhancer'),
19
 
 
 
 
 
 
 
 
 
 
 
20
  'value_description' => 'e.g. user-input.php',
21
  'input_type' => 'text',
22
 
@@ -27,8 +37,14 @@
27
  $this->module_settings[] = array(
28
  'id' => 'block_wp_comments_post_url',
29
  'label' => __('Block wp-comments-post.php', 'wp-hide-security-enhancer'),
30
- 'description' => __('Block default wp-comments-post.php.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New wp-comments-post.php Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
31
 
 
 
 
 
 
 
32
  'input_type' => 'radio',
33
  'options' => array(
34
  'no' => __('No', 'wp-hide-security-enhancer'),
14
  {
15
  $this->module_settings[] = array(
16
  'id' => 'new_wp_comments_post',
17
+ 'label' => __('New wp-comments-post.php', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to wp-comments-post.php', 'wp-hide-security-enhancer'),
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New wp-comments-post.php', 'wp-hide-security-enhancer'),
22
+ 'description' => __("As default the form data is being sent and processed at:", 'wp-hide-security-enhancer') ." <br /> <br />
23
+ <code>https://-domain-name-/wp-comments-post.php</code>
24
+ <br /><br /> " . __("This makes it easy to recognise as WordPress form. Boots always search for such file ( wp-comments-post.php ) and automatically submit spam messages.", 'wp-hide-security-enhancer') .
25
+ __("Though this option a new file slug can replace the default.", 'wp-hide-security-enhancer'),
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-comments/',
27
+ 'input_value_extension' => 'php'
28
+ ),
29
+
30
  'value_description' => 'e.g. user-input.php',
31
  'input_type' => 'text',
32
 
37
  $this->module_settings[] = array(
38
  'id' => 'block_wp_comments_post_url',
39
  'label' => __('Block wp-comments-post.php', 'wp-hide-security-enhancer'),
40
+ 'description' => __('Block default wp-comments-post.php.', 'wp-hide-security-enhancer'),
41
 
42
+ 'help' => array(
43
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block wp-comments-post.php', 'wp-hide-security-enhancer'),
44
+ 'description' => __("After changing the default wp-comments-post.php, the old url is still accessible, this provide a way to block the old.<br />The functionality apply only if <b>New wp-comments-post.php</b> option is filled in.", 'wp-hide-security-enhancer'),
45
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-comments/'
46
+ ),
47
+
48
  'input_type' => 'radio',
49
  'options' => array(
50
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-json-rest.php CHANGED
@@ -18,6 +18,20 @@
18
  'label' => __('Disable JSON REST V1 service', 'wp-hide-security-enhancer'),
19
  'description' => __('An API service for WordPress which is active by default.', 'wp-hide-security-enhancer'),
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  'input_type' => 'radio',
22
  'options' => array(
23
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -36,6 +50,21 @@
36
  'label' => __('Disable JSON REST V2 service', 'wp-hide-security-enhancer'),
37
  'description' => __('An API service for WordPress which is active by default.', 'wp-hide-security-enhancer'),
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  'input_type' => 'radio',
40
  'options' => array(
41
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -56,9 +85,20 @@
56
  $this->module_settings[] = array(
57
  'id' => 'block_json_rest',
58
  'label' => __('Block any JSON REST calls', 'wp-hide-security-enhancer'),
59
- 'description' => __('Any call for JSON REST API service will be blocked.', 'wp-hide-security-enhancer')
60
- . '<br />' . __('<span class="info"> This might be required by specific plugins, including new WordPress editor <b>Gutenberg</b>.</span>'),
61
 
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  'input_type' => 'radio',
64
  'options' => array(
@@ -84,6 +124,12 @@
84
  'label' => __('Disable output the REST API link tag into page header', 'wp-hide-security-enhancer'),
85
  'description' => __('By default a REST API link tag is being append to HTML.', 'wp-hide-security-enhancer'),
86
 
 
 
 
 
 
 
87
  'input_type' => 'radio',
88
  'options' => array(
89
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -102,6 +148,12 @@
102
  'label' => __('Disable JSON REST WP RSD endpoint from XML-RPC responses', 'wp-hide-security-enhancer'),
103
  'description' => __('By default a WP RSD endpoint is being append to the XML respose.', 'wp-hide-security-enhancer'),
104
 
 
 
 
 
 
 
105
  'input_type' => 'radio',
106
  'options' => array(
107
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -119,6 +171,12 @@
119
  'label' => __('Disable Sends a Link header for the REST API', 'wp-hide-security-enhancer'),
120
  'description' => __('On template_redirect, disable Sends a Link header for the REST API.', 'wp-hide-security-enhancer'),
121
 
 
 
 
 
 
 
122
  'input_type' => 'radio',
123
  'options' => array(
124
  'no' => __('No', 'wp-hide-security-enhancer'),
18
  'label' => __('Disable JSON REST V1 service', 'wp-hide-security-enhancer'),
19
  'description' => __('An API service for WordPress which is active by default.', 'wp-hide-security-enhancer'),
20
 
21
+ 'help' => array(
22
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable JSON REST V1 service', 'wp-hide-security-enhancer'),
23
+ 'description' => __("The WordPress REST API is an easy-to-use set of HTTP endpoints which allows access a site data in simple JSON format. That including users, posts, taxonomies and more. Retrieving or updating is as simple as sending a HTTP request.", 'wp-hide-security-enhancer') .
24
+ "<br />" . __("A REST API can be consumed everywhere. On mobile applications, on front-end (web apps) or any other devices that have access on the net, practically everything can connect from anywhere to your site and interact though JSON REST API service.", 'wp-hide-security-enhancer') .
25
+ "<br /><br />" . __("V1 was the first development version of API, which currently is deprecated. To disable the usage of it, simply chose Yes.", 'wp-hide-security-enhancer'),
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
27
+ ),
28
+
29
+ 'advanced_option' => array(
30
+
31
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break specific functionality. Some plugins might use this API. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
32
+
33
+ ),
34
+
35
  'input_type' => 'radio',
36
  'options' => array(
37
  'no' => __('No', 'wp-hide-security-enhancer'),
50
  'label' => __('Disable JSON REST V2 service', 'wp-hide-security-enhancer'),
51
  'description' => __('An API service for WordPress which is active by default.', 'wp-hide-security-enhancer'),
52
 
53
+ 'help' => array(
54
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable JSON REST V2 service', 'wp-hide-security-enhancer'),
55
+ 'description' => __("The WordPress REST API is an easy-to-use set of HTTP endpoints which allows access a site data in simple JSON format. That including users, posts, taxonomies and more. Retrieving or updating is as simple as sending a HTTP request.", 'wp-hide-security-enhancer') .
56
+ "<br />" . __("A REST API can be consumed everywhere. On mobile applications, on front-end (web apps) or any other devices that have access on the net, practically everything can connect from anywhere to your site and interact though JSON REST API service.", 'wp-hide-security-enhancer') .
57
+ "<br /><br />" . __("V2 is the current development version of API, which is included into WordPress as default. To disable the usage of it, simply chose Yes." , 'wp-hide-security-enhancer') .
58
+ "<br ><span class='important'>" . __("This might be required by specific plugins, including new WordPress editor Gutenberg.", 'wp-hide-security-enhancer') . "</span>",
59
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
60
+ ),
61
+
62
+ 'advanced_option' => array(
63
+
64
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break specific functionality. Some plugins like Gutenberg editor use this API. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
65
+
66
+ ),
67
+
68
  'input_type' => 'radio',
69
  'options' => array(
70
  'no' => __('No', 'wp-hide-security-enhancer'),
85
  $this->module_settings[] = array(
86
  'id' => 'block_json_rest',
87
  'label' => __('Block any JSON REST calls', 'wp-hide-security-enhancer'),
88
+ 'description' => __('Any call for JSON REST API service will be blocked.', 'wp-hide-security-enhancer'),
 
89
 
90
+ 'help' => array(
91
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block any JSON REST calls', 'wp-hide-security-enhancer'),
92
+ 'description' => __("This blocks the JSON REST API service.", 'wp-hide-security-enhancer') .
93
+ "<br ><span class='important'>" . __("This might be required by specific plugins, including new WordPress editor Gutenberg.", 'wp-hide-security-enhancer') . "</span>",
94
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
95
+ ),
96
+
97
+ 'advanced_option' => array(
98
+
99
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break specific functionality. Some plugins like Gutenberg editor use this API. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
100
+
101
+ ),
102
 
103
  'input_type' => 'radio',
104
  'options' => array(
124
  'label' => __('Disable output the REST API link tag into page header', 'wp-hide-security-enhancer'),
125
  'description' => __('By default a REST API link tag is being append to HTML.', 'wp-hide-security-enhancer'),
126
 
127
+ 'help' => array(
128
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('disable_json_rest_wphead_link', 'wp-hide-security-enhancer'),
129
+ 'description' => __("As default the API url is being append into the front html head tag. Using this option, it will be replaced.", 'wp-hide-security-enhancer'),
130
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
131
+ ),
132
+
133
  'input_type' => 'radio',
134
  'options' => array(
135
  'no' => __('No', 'wp-hide-security-enhancer'),
148
  'label' => __('Disable JSON REST WP RSD endpoint from XML-RPC responses', 'wp-hide-security-enhancer'),
149
  'description' => __('By default a WP RSD endpoint is being append to the XML respose.', 'wp-hide-security-enhancer'),
150
 
151
+ 'help' => array(
152
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('disable_json_rest_xmlrpc_rsd', 'wp-hide-security-enhancer'),
153
+ 'description' => __("Disable any RSD endpoint from a XML-RPC response.", 'wp-hide-security-enhancer'),
154
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
155
+ ),
156
+
157
  'input_type' => 'radio',
158
  'options' => array(
159
  'no' => __('No', 'wp-hide-security-enhancer'),
171
  'label' => __('Disable Sends a Link header for the REST API', 'wp-hide-security-enhancer'),
172
  'description' => __('On template_redirect, disable Sends a Link header for the REST API.', 'wp-hide-security-enhancer'),
173
 
174
+ 'help' => array(
175
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('disable_json_rest_template_redirect', 'wp-hide-security-enhancer'),
176
+ 'description' => __("Disable Sends a Link header for the REST API, on template_redirect", 'wp-hide-security-enhancer'),
177
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-json-rest/'
178
+ ),
179
+
180
  'input_type' => 'radio',
181
  'options' => array(
182
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-new_include_path.php CHANGED
@@ -7,7 +7,7 @@
7
 
8
  function get_component_title()
9
  {
10
- return "WP includes";
11
  }
12
 
13
  function get_module_settings()
@@ -15,8 +15,16 @@
15
  $this->module_settings[] = array(
16
  'id' => 'new_include_path',
17
  'label' => __('New Includes Path', 'wp-hide-security-enhancer'),
18
- 'description' => __('The default theme path is set to', 'wp-hide-security-enhancer') . ' <strong>wp-include</strong>
19
- '. __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-wp-includes/" target="_blank">Link</a>',
 
 
 
 
 
 
 
 
20
 
21
  'value_description' => __('e.g. my_includes', 'wp-hide-security-enhancer'),
22
  'input_type' => 'text',
@@ -27,7 +35,19 @@
27
  $this->module_settings[] = array(
28
  'id' => 'block_wpinclude_url',
29
  'label' => __('Block wp-includes URL', 'wp-hide-security-enhancer'),
30
- 'description' => '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />'. __('Block wp-includes files from being accesible through default urls. <br />Apply only if <b>New Includes Path</b> is not empty. Blocks only for non loged-in users.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  'input_type' => 'radio',
33
  'options' => array(
7
 
8
  function get_component_title()
9
  {
10
+ return "WP Includes";
11
  }
12
 
13
  function get_module_settings()
15
  $this->module_settings[] = array(
16
  'id' => 'new_include_path',
17
  'label' => __('New Includes Path', 'wp-hide-security-enhancer'),
18
+ 'description' => __('Change default /wp-includes path.', 'wp-hide-security-enhancer') ,
19
+
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Includes Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("As default a WordPress installation contain a wp-include folder which store files and resources used by WordPress core, themes and plugin. The wp-includes is a common fingerprint, which makes easily to anyone to identify the site as being created on WordPress.", 'wp-hide-security-enhancer') ." <br /> <br />
23
+ <code>&lt;script type='text/javascript' src='https://-domain-name-/wp-include/js/jquery/jquery.js'&gt;&lt;/script&gt;</code>
24
+ <br /><br /> " . __("After filling in this option e.g. resources the links will change to this:", 'wp-hide-security-enhancer') . " <br /> <br />
25
+ <code>&lt;script type='text/javascript' src='https://-domain-name-/resources/js/jquery/jquery.js'&gt;&lt;/script&gt;</code>",
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-wp-includes/'
27
+ ),
28
 
29
  'value_description' => __('e.g. my_includes', 'wp-hide-security-enhancer'),
30
  'input_type' => 'text',
35
  $this->module_settings[] = array(
36
  'id' => 'block_wpinclude_url',
37
  'label' => __('Block wp-includes URL', 'wp-hide-security-enhancer'),
38
+ 'description' => __('Block /wp-includes/ files from being accesible through default urls. <br />Apply only if <b>New Includes Path</b> is not empty.', 'wp-hide-security-enhancer'),
39
+
40
+ 'help' => array(
41
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Includes Path', 'wp-hide-security-enhancer'),
42
+ 'description' => __("This blocks the default wp-includes urls only for non loged-in users.<br />The functionality apply only if <b>New Includes Path</b> option is filled in.", 'wp-hide-security-enhancer'),
43
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-wp-includes/'
44
+ ),
45
+
46
+ 'advanced_option' => array(
47
+
48
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Ensure `New Includes Path` option works fine before activate this. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
49
+
50
+ ),
51
 
52
  'input_type' => 'radio',
53
  'options' => array(
modules/components/rewrite-new_plugin_path.php CHANGED
@@ -15,10 +15,16 @@
15
  $this->module_settings[] = array(
16
  'id' => 'new_plugin_path',
17
  'label' => __('New Plugins Path', 'wp-hide-security-enhancer'),
18
- 'description' => __('The default plugins path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['plugins_url']) .'</strong>
19
- '. __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-plugins/" target="_blank">Link</a>',
20
 
21
- 'value_description' => 'e.g. my_plugins',
 
 
 
 
 
 
 
22
  'input_type' => 'text',
23
 
24
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -28,7 +34,19 @@
28
  $this->module_settings[] = array(
29
  'id' => 'block_plugins_url',
30
  'label' => __('Block plugins URL', 'wp-hide-security-enhancer'),
31
- 'description' => '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />'. __('Block plugins files from being accesible through default urls.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New Plugin Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  'input_type' => 'radio',
34
  'options' => array(
@@ -68,8 +86,16 @@
68
  $this->module_settings[] = array(
69
  'id' => 'new_plugin_path_' . $plugin_slug,
70
  'label' => __('New Path for', 'wp-hide-security-enhancer') . " <i>" . $pluding_data['Name'] ."</i> ". __('plugin', 'wp-hide-security-enhancer'),
71
- 'description' => __('This setting overwrites the', 'wp-hide-security-enhancer') . ' ' . __('New Plugin Path', 'wp-hide-security-enhancer') . ' ' . __('setting for this plugin, if set.', 'wp-hide-security-enhancer'),
72
- 'value_description' => 'e.g. my_plugins/module',
 
 
 
 
 
 
 
 
73
  'input_type' => 'text',
74
 
75
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
15
  $this->module_settings[] = array(
16
  'id' => 'new_plugin_path',
17
  'label' => __('New Plugins Path', 'wp-hide-security-enhancer'),
18
+ 'description' => __('The default plugins path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['plugins_url']) .'</strong>',
 
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Plugins Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("Use any alphanumeric symbols for this field which will be used as the new slug for the plugins folder. Presuming the `apps` slug is being used, all plugins urls become to something like this:", 'wp-hide-security-enhancer') . "<br /> <br />
23
+ <code>http://-domain-name-/apps/jetpack/</code>",
24
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-plugins/'
25
+ ),
26
+
27
+ 'value_description' => 'e.g. apps',
28
  'input_type' => 'text',
29
 
30
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
34
  $this->module_settings[] = array(
35
  'id' => 'block_plugins_url',
36
  'label' => __('Block plugins URL', 'wp-hide-security-enhancer'),
37
+ 'description' => __('Block default /wp-content/plugins/ files from being accesible through default urls.', 'wp-hide-security-enhancer'),
38
+
39
+ 'help' => array(
40
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block plugins URL', 'wp-hide-security-enhancer'),
41
+ 'description' => __("This blocks the default wp-content/plugins/ url.<br />The functionality apply only if <b>New Plugins Path</b> option is filled in.", 'wp-hide-security-enhancer'),
42
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-plugins/'
43
+ ),
44
+
45
+ 'advanced_option' => array(
46
+
47
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Ensure `New Includes Path` option works fine before activate this. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
48
+
49
+ ),
50
 
51
  'input_type' => 'radio',
52
  'options' => array(
86
  $this->module_settings[] = array(
87
  'id' => 'new_plugin_path_' . $plugin_slug,
88
  'label' => __('New Path for', 'wp-hide-security-enhancer') . " <i>" . $pluding_data['Name'] ."</i> ". __('plugin', 'wp-hide-security-enhancer'),
89
+ 'description' => __('This setting if set, overwrites the', 'wp-hide-security-enhancer') . ' ' . __('New Plugin Path', 'wp-hide-security-enhancer') . ' ' . __('value for this plugin.', 'wp-hide-security-enhancer'),
90
+
91
+ 'help' => array(
92
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Path for', 'wp-hide-security-enhancer') . " <i>" . $pluding_data['Name'] ."</i> ",
93
+ 'description' => "Use any alphanumeric symbols for this field which will be used as the new slug for the plugin folder. Presuming the `module_name` slug is being used, this particular plugin urls become to:<br /> <br />
94
+ <code>http://-domain-name-/module_name/</code>",
95
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-plugins/'
96
+ ),
97
+
98
+ 'value_description' => 'e.g. modules/module_name',
99
  'input_type' => 'text',
100
 
101
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
modules/components/rewrite-new_theme_path.php CHANGED
@@ -17,15 +17,28 @@
17
 
18
  function get_module_settings()
19
  {
 
 
 
 
 
20
  $this->module_settings[] = array(
21
  'id' => 'new_theme_path',
22
  'label' => __('New Theme Path', 'wp-hide-security-enhancer'),
23
- 'description' => __('The default theme path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['template_url']) .'</strong>
24
- '. __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-theme/" target="_blank">Link</a>',
25
 
26
- 'value_description' => __('e.g. my_template', 'wp-hide-security-enhancer'),
27
- 'input_type' => 'text',
 
 
 
 
 
 
28
 
 
 
 
29
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), 'strtolower'),
30
  'processing_order' => 10
31
  );
@@ -34,9 +47,17 @@
34
  $this->module_settings[] = array(
35
  'id' => 'new_style_file_path',
36
  'label' => __('New Style File Path', 'wp-hide-security-enhancer'),
37
- 'description' => __('The default theme style file style.css path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , $this->wph->default_variables['template_url']) .'/style.css</strong>',
 
 
 
 
 
 
 
 
38
 
39
- 'value_description' => __('e.g. custom-style-file.css', 'wp-hide-security-enhancer'),
40
  'input_type' => 'text',
41
 
42
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -49,17 +70,30 @@
49
  'label' => __('Remove description header from Style file', 'wp-hide-security-enhancer'),
50
  'description' =>
51
  array(
52
- __('Strip out all meta data from style file e.g. Theme Name, Theme URI, Author etc. Those are important information to find out possible theme security breaches.', 'wp-hide-security-enhancer') . '<br />' .
53
- __('This feature may not work if style file url not available on html (being concatenated).', 'wp-hide-security-enhancer'),
54
- '',
55
- '<div class="notice-error"><div class="dashicons dashicons-warning important" alt="f534">warning</div> <span class="important">' . __('This use caching. If active, cache clear is recommended on styles updates.', 'wp-hide-security-enhancer') .'</span> <a href="admin.php?page=wp-hide&wph_cache_clear=true" class="button action">Cache Clear</a></div>'
56
  ),
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  'input_type' => 'radio',
59
  'options' => array(
60
  'no' => __('No', 'wp-hide-security-enhancer'),
61
  'yes' => __('Yes', 'wp-hide-security-enhancer'),
62
  ),
 
 
 
63
  'default_value' => 'no',
64
 
65
  'sanitize_type' => array('sanitize_title', 'strtolower'),
@@ -75,13 +109,26 @@
75
 
76
  );
77
 
 
 
 
 
 
78
  $this->module_settings[] = array(
79
  'id' => 'new_theme_child_path',
80
- 'label' => __('Child - New Theme Path', 'wp-hide-security-enhancer'),
81
- 'description' => __('The default theme path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , trailingslashit($this->wph->templates_data['themes_url']) . $this->wph->templates_data['child']['folder_name']) .'</strong>
82
- '.__('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-theme/" target="_blank">Link</a>',
83
-
84
- 'value_description' => __('e.g. my_child_template', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
85
  'input_type' => 'text',
86
 
87
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), 'strtolower'),
@@ -90,10 +137,18 @@
90
 
91
  $this->module_settings[] = array(
92
  'id' => 'child_style_file_path',
93
- 'label' => __('Child - New Style File Path', 'wp-hide-security-enhancer'),
94
- 'description' => __('The default theme style file style.css path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , $this->wph->default_variables['stylesheet_uri']) .'/style.css</strong>',
95
 
96
- 'value_description' => __('e.g. custom-style-file.css', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
97
  'input_type' => 'text',
98
 
99
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -103,19 +158,34 @@
103
 
104
  $this->module_settings[] = array(
105
  'id' => 'child_style_file_clean',
106
- 'label' => __('Child - Remove description header from Style file', 'wp-hide-security-enhancer'),
107
  'description' =>
108
  array(
109
- __('Strip out all meta data from style file e.g. Theme Name, Theme URI, Author etc. Those are important information to find out possible theme security breaches.', 'wp-hide-security-enhancer'),
110
- __('This feature may not work if style file url not available on html (being concatenated).', 'wp-hide-security-enhancer'),
111
- '',
112
- '<div class="notice-error"><div class="dashicons dashicons-warning important" alt="f534">warning</div> <span class="important">' . __('This use caching. If active, cache clear is recommended on styles updated.', 'wp-hide-security-enhancer') .'</span> <a href="admin.php?page=wp-hide&wph_cache_clear=true" class="button action">Cache Clear</a></div>'
113
- ),
 
 
 
 
 
 
 
 
 
 
 
 
114
  'input_type' => 'radio',
115
  'options' => array(
116
  'no' => __('No', 'wp-hide-security-enhancer'),
117
  'yes' => __('Yes', 'wp-hide-security-enhancer'),
118
  ),
 
 
 
119
  'default_value' => 'no',
120
 
121
  'sanitize_type' => array('sanitize_title', 'strtolower'),
17
 
18
  function get_module_settings()
19
  {
20
+ $this->module_settings[] = array(
21
+ 'type' => 'split',
22
+ 'label' => ucfirst( get_option('template') )
23
+ );
24
+
25
  $this->module_settings[] = array(
26
  'id' => 'new_theme_path',
27
  'label' => __('New Theme Path', 'wp-hide-security-enhancer'),
28
+ 'description' => __('Change theme url, which as default the path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['template_url']) .'/</strong>',
 
29
 
30
+ 'help' => array(
31
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Theme Path', 'wp-hide-security-enhancer'),
32
+ 'description' => __("This option helps to change the theme url to a custom one. As default all theme assets ( styles, JavaScript etc ) are loaded using the theme url and appear on front side html source like this:", 'wp-hide-security-enhancer') ." <br /> <br />
33
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/wp-content/themes/Divi/style.css' type='text/css' media='all' /&gt;</code>
34
+ <br /><br /> " . __("When using this option, if filling with `template`, all urls on front side become as follow:", 'wp-hide-security-enhancer') ." <br /> <br />
35
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/template/style.css' type='text/css' media='all' /&gt;</code>",
36
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/'
37
+ ),
38
 
39
+ 'value_description' => __('Example', 'wp-hide-security-enhancer') . ': <b>' . __('template', 'wp-hide-security-enhancer'),
40
+ 'input_type' => 'text',
41
+
42
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), 'strtolower'),
43
  'processing_order' => 10
44
  );
47
  $this->module_settings[] = array(
48
  'id' => 'new_style_file_path',
49
  'label' => __('New Style File Path', 'wp-hide-security-enhancer'),
50
+ 'description' => __('Change default theme style file style.css, current path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , $this->wph->default_variables['template_url']) .'/style.css</strong>',
51
+
52
+ 'help' => array(
53
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Style File Path', 'wp-hide-security-enhancer'),
54
+ 'description' => __("This allow to change the default style.css filename to something else e.g. template-style.css. Per this example, on front side the main style link change from /style.css to /template-style.css", 'wp-hide-security-enhancer') ." <br /> <br />
55
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/template/template-style.css' type='text/css' media='all' /&gt;</code>",
56
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/',
57
+ 'input_value_extension' => 'css'
58
+ ),
59
 
60
+ 'value_description' => __('Example', 'wp-hide-security-enhancer') . ': <b>' . __('skin.css', 'wp-hide-security-enhancer'),
61
  'input_type' => 'text',
62
 
63
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
70
  'label' => __('Remove description header from Style file', 'wp-hide-security-enhancer'),
71
  'description' =>
72
  array(
73
+ __('Strip out all meta data from style file.', 'wp-hide-security-enhancer') . '<br />'
 
 
 
74
  ),
75
 
76
+ 'help' => array(
77
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Style File Path', 'wp-hide-security-enhancer'),
78
+ 'description' => __("Strip out all meta data from style file as Theme Name, Theme URI, Author etc. Those are important informations for hackers to find out possible theme security breaches. A list of headers can e found at", 'wp-hide-security-enhancer') . " <a href='https://codex.wordpress.org/Theme_Development#Theme_Stylesheet' target='_blank'>". __("Theme Headers", 'wp-hide-security-enhancer') . "</a><br /><br />" .
79
+ __("This feature may fail if style file url not available on html ( being concatenated ).", 'wp-hide-security-enhancer'),
80
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/'
81
+ ),
82
+
83
+ 'advanced_option' => array(
84
+
85
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Once active test it thoroughly.<br />If not working, set to No to revert.', 'wp-hide-security-enhancer')
86
+
87
+ ),
88
+
89
  'input_type' => 'radio',
90
  'options' => array(
91
  'no' => __('No', 'wp-hide-security-enhancer'),
92
  'yes' => __('Yes', 'wp-hide-security-enhancer'),
93
  ),
94
+
95
+ 'options_post' => '<p><span class="dashicons dashicons-warning important" alt="f534">warning</span> ' . __('This functionality use caching! If active, cache clear is recommended on styles updates.', 'wp-hide-security-enhancer') .' </p> <p><a href="admin.php?page=wp-hide&wph_cache_clear=true" class="button action">' . __("Cache Clear", 'wp-hide-security-enhancer') . "</a></p>" ,
96
+
97
  'default_value' => 'no',
98
 
99
  'sanitize_type' => array('sanitize_title', 'strtolower'),
109
 
110
  );
111
 
112
+ $this->module_settings[] = array(
113
+ 'type' => 'split',
114
+ 'label' => ucfirst( get_option('current_theme') )
115
+ );
116
+
117
  $this->module_settings[] = array(
118
  'id' => 'new_theme_child_path',
119
+ 'label' => __('New Theme Path', 'wp-hide-security-enhancer'),
120
+ 'description' => __('Change child theme url, which as default the path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , trailingslashit($this->wph->templates_data['themes_url']) . $this->wph->templates_data['child']['folder_name']) .'/</strong>',
121
+
122
+ 'help' => array(
123
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Theme Path', 'wp-hide-security-enhancer'),
124
+ 'description' => __("This option helps to change the child theme url to a custom one. As default all theme assets ( styles, JavaScript etc ) are loaded using the theme url and appear on front side html source like this:", 'wp-hide-security-enhancer') . " <br /> <br />
125
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/wp-content/themes/Divi-child/style.css' type='text/css' media='all' /&gt;</code>
126
+ <br /><br /> " . __("When using this option, if filling with `template-child`, all urls on front side become as follow:", 'wp-hide-security-enhancer') . " <br /> <br />
127
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/template-child/style.css' type='text/css' media='all' /&gt;</code>",
128
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/'
129
+ ),
130
+
131
+ 'value_description' => __('Example', 'wp-hide-security-enhancer') . ': <b>' . __('template-child', 'wp-hide-security-enhancer'),
132
  'input_type' => 'text',
133
 
134
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name'), 'strtolower'),
137
 
138
  $this->module_settings[] = array(
139
  'id' => 'child_style_file_path',
140
+ 'label' => __('New Style File Path', 'wp-hide-security-enhancer'),
141
+ 'description' => __('Change default child theme style file style.css, current path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' , $this->wph->default_variables['stylesheet_uri']) .'/style.css</strong>',
142
 
143
+ 'help' => array(
144
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Style File Path', 'wp-hide-security-enhancer'),
145
+ 'description' => __("This allow to change the default style.css filename to something else e.g. template-style.css. Per this example, on front side the main style link change from /style.css to /child-style.css", 'wp-hide-security-enhancer') . " <br /> <br />
146
+ <code>&lt;link rel='stylesheet' href='http://-domain-name-/template-child/child-style.css' type='text/css' media='all' /&gt;</code>",
147
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/',
148
+ 'input_value_extension' => 'css'
149
+ ),
150
+
151
+ 'value_description' => __('Example', 'wp-hide-security-enhancer') . ': <b>' . __('child-skin.css', 'wp-hide-security-enhancer'),
152
  'input_type' => 'text',
153
 
154
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
158
 
159
  $this->module_settings[] = array(
160
  'id' => 'child_style_file_clean',
161
+ 'label' => __('Remove description header from Style file', 'wp-hide-security-enhancer'),
162
  'description' =>
163
  array(
164
+ __('Strip out all meta data from child theme style file.', 'wp-hide-security-enhancer') . '<br />'
165
+ ),
166
+
167
+ 'help' => array(
168
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Style File Path', 'wp-hide-security-enhancer'),
169
+ 'description' => __("Strip out all meta data from style file as Theme Name, Theme URI, Author etc. Those are important informations for hackers to find out possible theme security breaches. A list of headers can e found at", 'wp-hide-security-enhancer') . " <a href='https://codex.wordpress.org/Theme_Development#Theme_Stylesheet' target='_blank'>" . __("Theme Headers", 'wp-hide-security-enhancer') . "</a><br /><br />" .
170
+ __("This feature may fail if style file url not available on html ( being concatenated ).", 'wp-hide-security-enhancer'),
171
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-theme/'
172
+ ),
173
+
174
+ 'advanced_option' => array(
175
+
176
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Ensure all regular options works fine before activate this. Once active test it thoroughly.<br />If not working, set to No to revert.', 'wp-hide-security-enhancer')
177
+
178
+ ),
179
+
180
+
181
  'input_type' => 'radio',
182
  'options' => array(
183
  'no' => __('No', 'wp-hide-security-enhancer'),
184
  'yes' => __('Yes', 'wp-hide-security-enhancer'),
185
  ),
186
+
187
+ 'options_post' => '<p><span class="dashicons dashicons-warning important" alt="f534">warning</span> ' . __('This functionality use caching! If active, cache clear is recommended on styles updates.', 'wp-hide-security-enhancer') .'</p><p><a href="admin.php?page=wp-hide&wph_cache_clear=true" class="button action">' . __("Cache Clear", 'wp-hide-security-enhancer') . '</a></p>' ,
188
+
189
  'default_value' => 'no',
190
 
191
  'sanitize_type' => array('sanitize_title', 'strtolower'),
modules/components/rewrite-new_upload_path.php CHANGED
@@ -15,10 +15,16 @@
15
  $this->module_settings[] = array(
16
  'id' => 'new_upload_path',
17
  'label' => __('New Uploads Path', 'wp-hide-security-enhancer'),
18
- 'description' => __('The default uploads path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['upload_url']) .'</strong>
19
- '. __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-uploads/" target="_blank">Link</a>',
20
 
21
- 'value_description' => __('e.g. my_uploads', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
22
  'input_type' => 'text',
23
 
24
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
@@ -28,7 +34,19 @@
28
  $this->module_settings[] = array(
29
  'id' => 'block_upload_url',
30
  'label' => __('Block default uploads URL', 'wp-hide-security-enhancer'),
31
- 'description' => '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />' . __('Block default wp-content/uploads/ media folder from being accesible through default urls.', 'wp-hide-security-enhancer') . ' <br />' . __('Apply only if', 'wp-hide-security-enhancer') .' <b>New Upload Path</b> '.__('is not empty.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  'input_type' => 'radio',
34
  'options' => array(
15
  $this->module_settings[] = array(
16
  'id' => 'new_upload_path',
17
  'label' => __('New Uploads Path', 'wp-hide-security-enhancer'),
18
+ 'description' => __('The default uploads path is set to', 'wp-hide-security-enhancer') . ' <strong>'. str_replace(get_bloginfo('wpurl'), '' ,$this->wph->default_variables['upload_url']) .'/</strong>',
 
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Uploads Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("Use any alphanumeric symbols for this field which will be used as the new slug for the uploads folder. Using this option the default media folder can be mapped to another path. Filling with a slug like 'media' the links become like this:", 'wp-hide-security-enhancer') . "<br /> <br />
23
+ <code>&lt;img class=&quot;alignnone size-full&quot; src=&quot;http://domain.com/media/106658.jpg&quot; alt=&quot;&quot; width=&quot;640&quot; height=&quot;390&quot; alt=&quot;&quot; /&gt;</code>",
24
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-uploads/'
25
+ ),
26
+
27
+ 'value_description' => __('e.g. media', 'wp-hide-security-enhancer'),
28
  'input_type' => 'text',
29
 
30
  'sanitize_type' => array(array($this->wph->functions, 'sanitize_file_path_name')),
34
  $this->module_settings[] = array(
35
  'id' => 'block_upload_url',
36
  'label' => __('Block default uploads URL', 'wp-hide-security-enhancer'),
37
+ 'description' => __('Block default /wp-content/uploads/ media folder from being accesible through default urls.', 'wp-hide-security-enhancer'),
38
+
39
+ 'help' => array(
40
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default uploads URL', 'wp-hide-security-enhancer'),
41
+ 'description' => __("This blocks the default wp-content/plugins/ url.<br />The functionality apply only if <b>New Plugins Path</b> option is filled in.", 'wp-hide-security-enhancer'),
42
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-uploads/'
43
+ ),
44
+
45
+ 'advanced_option' => array(
46
+
47
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Ensure `New Uploads Path` option works fine before activate this. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
48
+
49
+ ),
50
 
51
  'input_type' => 'radio',
52
  'options' => array(
modules/components/rewrite-new_xml-rpc-path.php CHANGED
@@ -15,7 +15,17 @@
15
  $this->module_settings[] = array(
16
  'id' => 'new_xml_rpc_path',
17
  'label' => __('New XML-RPC Path', 'wp-hide-security-enhancer'),
18
- 'description' => __('The default XML-RPC path is set to xmlrpc.php. If not used you can leave empty and block the service using the following area.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
19
 
20
  'value_description' => __('e.g. my-xml-rpc.php', 'wp-hide-security-enhancer'),
21
  'input_type' => 'text',
@@ -27,7 +37,20 @@
27
  $this->module_settings[] = array(
28
  'id' => 'block_xml_rpc',
29
  'label' => __('Block default xmlrpc.php', 'wp-hide-security-enhancer'),
30
- 'description' => __('XML-RPC gives others the ability to talk to your WordPress site. If not used you should disable. Keep in mind that some plugins like Jetpack use this API.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  'input_type' => 'radio',
33
  'options' => array(
@@ -46,6 +69,18 @@
46
  'label' => __('Disable XML-RPC authentication', 'wp-hide-security-enhancer'),
47
  'description' => __('Filter whether XML-RPC methods requiring authentication, such as for publishing purposes, are enabled.', 'wp-hide-security-enhancer'),
48
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  'input_type' => 'radio',
50
  'options' => array(
51
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -63,6 +98,18 @@
63
  'label' => __('Remove pingback', 'wp-hide-security-enhancer'),
64
  'description' => __('Remove pingback link tag from theme.', 'wp-hide-security-enhancer'),
65
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  'input_type' => 'radio',
67
  'options' => array(
68
  'no' => __('No', 'wp-hide-security-enhancer'),
15
  $this->module_settings[] = array(
16
  'id' => 'new_xml_rpc_path',
17
  'label' => __('New XML-RPC Path', 'wp-hide-security-enhancer'),
18
+ 'description' => __('The default XML-RPC path is set to xmlrpc.php.', 'wp-hide-security-enhancer'),
19
+
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New XML-RPC Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism. This service allow other applications to talk to your WordPress site.", 'wp-hide-security-enhancer') . "<br /> <br />" .
23
+ __("As default the path to XML-RPC file is:", 'wp-hide-security-enhancer') .
24
+ "<code>https://-domain-name-/xmlrpc.php</code>
25
+ <br /><br />" . __("Through this option it can be changed to anything else. This ensure the protocol will not be called by anyone who don't know the actual path.", 'wp-hide-security-enhancer'),
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-xml-rpc/',
27
+ 'input_value_extension' => 'php'
28
+ ),
29
 
30
  'value_description' => __('e.g. my-xml-rpc.php', 'wp-hide-security-enhancer'),
31
  'input_type' => 'text',
37
  $this->module_settings[] = array(
38
  'id' => 'block_xml_rpc',
39
  'label' => __('Block default xmlrpc.php', 'wp-hide-security-enhancer'),
40
+ 'description' => __('Shut down XML-RPC service.', 'wp-hide-security-enhancer'),
41
+
42
+ 'help' => array(
43
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default xmlrpc.php', 'wp-hide-security-enhancer'),
44
+ 'description' => __("This blocks the default XML-RPC service. The functionality apply if <b>New XML-RPC Path</b> option is NOT filled in.", 'wp-hide-security-enhancer') . "<br/><br />" .
45
+ __("Keep in mind that some plugins like Jetpack use this API, so disabling might break specific functionality.", 'wp-hide-security-enhancer'),
46
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-xml-rpc/'
47
+ ),
48
+
49
+ 'advanced_option' => array(
50
+
51
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break specific functionality. Some plugins like Jetpack use this API. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
52
+
53
+ ),
54
 
55
  'input_type' => 'radio',
56
  'options' => array(
69
  'label' => __('Disable XML-RPC authentication', 'wp-hide-security-enhancer'),
70
  'description' => __('Filter whether XML-RPC methods requiring authentication, such as for publishing purposes, are enabled.', 'wp-hide-security-enhancer'),
71
 
72
+ 'help' => array(
73
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Disable XML-RPC authentication', 'wp-hide-security-enhancer'),
74
+ 'description' => __("As default it require authentication for the protocol to be used along with a remote application. Activating the option, no authentication will be required through a call. Recommended is to be set to No.", 'wp-hide-security-enhancer'),
75
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-xml-rpc/'
76
+ ),
77
+
78
+ 'advanced_option' => array(
79
+
80
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
81
+
82
+ ),
83
+
84
  'input_type' => 'radio',
85
  'options' => array(
86
  'no' => __('No', 'wp-hide-security-enhancer'),
98
  'label' => __('Remove pingback', 'wp-hide-security-enhancer'),
99
  'description' => __('Remove pingback link tag from theme.', 'wp-hide-security-enhancer'),
100
 
101
+ 'help' => array(
102
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Remove pingback', 'wp-hide-security-enhancer'),
103
+ 'description' => __("A pingback is one of four types of link-back methods for Web authors to request notification when somebody links to one of their documents. This enables authors to keep track of who is linking to, or referring to their articles Using this option this functionality can be removed.", 'wp-hide-security-enhancer'),
104
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-xml-rpc/'
105
+ ),
106
+
107
+ 'advanced_option' => array(
108
+
109
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break specific functionality. Some plugins like Jetpack use this API. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
110
+
111
+ ),
112
+
113
  'input_type' => 'radio',
114
  'options' => array(
115
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-root-files.php CHANGED
@@ -19,6 +19,12 @@
19
  'label' => __('Block license.txt', 'wp-hide-security-enhancer'),
20
  'description' => __('Block access to license.txt root file', 'wp-hide-security-enhancer'),
21
 
 
 
 
 
 
 
22
  'input_type' => 'radio',
23
  'options' => array(
24
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -35,6 +41,12 @@
35
  'label' => __('Block readme.html', 'wp-hide-security-enhancer'),
36
  'description' => __('Block access to readme.html root file', 'wp-hide-security-enhancer'),
37
 
 
 
 
 
 
 
38
  'input_type' => 'radio',
39
  'options' => array(
40
  'no' => __('No', 'wp-hide-security-enhancer'),
@@ -49,7 +61,14 @@
49
  $this->module_settings[] = array(
50
  'id' => 'block_wp_activate_php',
51
  'label' => __('Block wp-activate.php', 'wp-hide-security-enhancer'),
52
- 'description' => __('Block access to wp-activate.php file. This file confirms that the activation key that is sent in an email after a user signs up for a new blog matches the key for that user. If <b>anyone can register</b> on your site, you shold keep this off.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
53
 
54
  'input_type' => 'radio',
55
  'options' => array(
@@ -63,7 +82,7 @@
63
  );
64
 
65
  $local_ip = $this->domain_get_ip();
66
- $option_description = __('Block access to wp-cron.php file. If remote cron calls not being used this can be set to Yes.', 'wp-hide-security-enhancer');
67
  if ( $local_ip === FALSE )
68
  {
69
  $option_description .= '<br /><span class="important">' . __('Unable to identify site domain IP, blocking wp-cron.php will stop the site internal WordPress cron functionality.', 'wp-hide-security-enhancer') . '</span>';
@@ -76,7 +95,14 @@
76
  $this->module_settings[] = array(
77
  'id' => 'block_wp_cron_php',
78
  'label' => __('Block wp-cron.php', 'wp-hide-security-enhancer'),
79
- 'description' => $option_description,
 
 
 
 
 
 
 
80
 
81
  'input_type' => 'radio',
82
  'options' => array(
@@ -92,7 +118,13 @@
92
  $this->module_settings[] = array(
93
  'id' => 'block_default_wp_signup_php',
94
  'label' => __('Block wp-signup.php', 'wp-hide-security-enhancer'),
95
- 'description' => __('Block default wp-signup.php file. If <b>anyone can register</b> on your site, you shold keep this off.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
96
 
97
  'input_type' => 'radio',
98
  'options' => array(
@@ -109,7 +141,13 @@
109
  $this->module_settings[] = array(
110
  'id' => 'block_default_wp_register_php',
111
  'label' => __('Block wp-register.php', 'wp-hide-security-enhancer'),
112
- 'description' => __('Block default wp-register.php file. This file is now deprecated however still exists within code and redirected to /register page.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
113
 
114
  'input_type' => 'radio',
115
  'options' => array(
@@ -126,7 +164,13 @@
126
  $this->module_settings[] = array(
127
  'id' => 'block_other_wp_files',
128
  'label' => __('Block other wp-*.php files', 'wp-hide-security-enhancer'),
129
- 'description' => __('Block other wp-*.php files. E.g. wp-blog-header.php, wp-config.php, wp-cron.php. Those files are used internally, blocking those will not affect any functionality. Other root files (wp-activate.php, wp-login.php, wp-signup.php) are ignored, they can be controlled through own setting.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
130
 
131
  'input_type' => 'radio',
132
  'options' => array(
19
  'label' => __('Block license.txt', 'wp-hide-security-enhancer'),
20
  'description' => __('Block access to license.txt root file', 'wp-hide-security-enhancer'),
21
 
22
+ 'help' => array(
23
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block license.txt', 'wp-hide-security-enhancer'),
24
+ 'description' => __("This is a text file which contain the licensing terms for WordPress framework. Obviously you don't want that visible as every site containing such file must be a WordPress.", 'wp-hide-security-enhancer'),
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
26
+ ),
27
+
28
  'input_type' => 'radio',
29
  'options' => array(
30
  'no' => __('No', 'wp-hide-security-enhancer'),
41
  'label' => __('Block readme.html', 'wp-hide-security-enhancer'),
42
  'description' => __('Block access to readme.html root file', 'wp-hide-security-enhancer'),
43
 
44
+ 'help' => array(
45
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block readme.html', 'wp-hide-security-enhancer'),
46
+ 'description' => __("A Hypertext Markup Language file with general information about installed WordPress, version, instalation steps, updating, requirements, resources etc.", 'wp-hide-security-enhancer'),
47
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
48
+ ),
49
+
50
  'input_type' => 'radio',
51
  'options' => array(
52
  'no' => __('No', 'wp-hide-security-enhancer'),
61
  $this->module_settings[] = array(
62
  'id' => 'block_wp_activate_php',
63
  'label' => __('Block wp-activate.php', 'wp-hide-security-enhancer'),
64
+ 'description' => __('Block access to wp-activate.php file.', 'wp-hide-security-enhancer'),
65
+
66
+ 'help' => array(
67
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block wp-activate.php', 'wp-hide-security-enhancer'),
68
+ 'description' => __("Block access to wp-activate.php file. Through this file new users confirms that the activation key that is received in the email after signs up for a new blog, matches the key for that user.", 'wp-hide-security-enhancer') .
69
+ "<br />" . __("If anyone can register on your site, you should keep this no NO.", 'wp-hide-security-enhancer'),
70
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
71
+ ),
72
 
73
  'input_type' => 'radio',
74
  'options' => array(
82
  );
83
 
84
  $local_ip = $this->domain_get_ip();
85
+ $option_description = '';
86
  if ( $local_ip === FALSE )
87
  {
88
  $option_description .= '<br /><span class="important">' . __('Unable to identify site domain IP, blocking wp-cron.php will stop the site internal WordPress cron functionality.', 'wp-hide-security-enhancer') . '</span>';
95
  $this->module_settings[] = array(
96
  'id' => 'block_wp_cron_php',
97
  'label' => __('Block wp-cron.php', 'wp-hide-security-enhancer'),
98
+ 'description' => "Block access to wp-cron.php file",
99
+
100
+ 'help' => array(
101
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block wp-activate.php', 'wp-hide-security-enhancer'),
102
+ 'description' => __("The file wp-cron.php is the portion of WordPress that handles scheduled events within a WordPress site. If remote cron calls not being used this can be set to Yes..", 'wp-hide-security-enhancer') .
103
+ "<br />" . $option_description,
104
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
105
+ ),
106
 
107
  'input_type' => 'radio',
108
  'options' => array(
118
  $this->module_settings[] = array(
119
  'id' => 'block_default_wp_signup_php',
120
  'label' => __('Block wp-signup.php', 'wp-hide-security-enhancer'),
121
+ 'description' => __('Block default wp-signup.php file.', 'wp-hide-security-enhancer'),
122
+
123
+ 'help' => array(
124
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block wp-signup.php', 'wp-hide-security-enhancer'),
125
+ 'description' => __("The wp-signup.php allow for anyone to register to your site. If the registration functionality is turned off, is safe to block the wp-signup.php.", 'wp-hide-security-enhancer'),
126
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
127
+ ),
128
 
129
  'input_type' => 'radio',
130
  'options' => array(
141
  $this->module_settings[] = array(
142
  'id' => 'block_default_wp_register_php',
143
  'label' => __('Block wp-register.php', 'wp-hide-security-enhancer'),
144
+ 'description' => __('Block default wp-register.php file.', 'wp-hide-security-enhancer'),
145
+
146
+ 'help' => array(
147
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block wp-register.php', 'wp-hide-security-enhancer'),
148
+ 'description' => __("This is a deprecated file but still present in many WordPress installs. When called the user is redirected to /register page. Is safe to block the wp-register.php.", 'wp-hide-security-enhancer'),
149
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
150
+ ),
151
 
152
  'input_type' => 'radio',
153
  'options' => array(
164
  $this->module_settings[] = array(
165
  'id' => 'block_other_wp_files',
166
  'label' => __('Block other wp-*.php files', 'wp-hide-security-enhancer'),
167
+ 'description' => __('Block other wp-*.php files in the root.', 'wp-hide-security-enhancer'),
168
+
169
+ 'help' => array(
170
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block other wp-*.php files', 'wp-hide-security-enhancer'),
171
+ 'description' => __("Block other wp-*.php files. E.g. wp-blog-header.php, wp-config.php, wp-cron.php. Those files are used internally, blocking those will not affect any functionality. Other root files (wp-activate.php, wp-login.php, wp-signup.php) are ignored, they can be controlled through own setting.", 'wp-hide-security-enhancer'),
172
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-root-files/'
173
+ ),
174
 
175
  'input_type' => 'radio',
176
  'options' => array(
modules/components/rewrite-search.php CHANGED
@@ -17,6 +17,15 @@
17
  'label' => __('New Search Path', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to /search/', 'wp-hide-security-enhancer'),
19
 
 
 
 
 
 
 
 
 
 
20
  'value_description' => 'e.g. find',
21
  'input_type' => 'text',
22
 
@@ -29,6 +38,12 @@
29
  'label' => __('Block default', 'wp-hide-security-enhancer'),
30
  'description' => __('Block default /search/ when using custom one.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New Search Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
31
 
 
 
 
 
 
 
32
  'input_type' => 'radio',
33
  'options' => array(
34
  'no' => __('No', 'wp-hide-security-enhancer'),
17
  'label' => __('New Search Path', 'wp-hide-security-enhancer'),
18
  'description' => __('The default path is set to /search/', 'wp-hide-security-enhancer'),
19
 
20
+ 'help' => array(
21
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Search Path', 'wp-hide-security-enhancer'),
22
+ 'description' => __("The /search/ is the default slug used to display the results for the search page. The default URL format is:", 'wp-hide-security-enhancer') . "<br /> <br />
23
+ <code>https://-domain-name-/search/search-word/</code>
24
+ <br /><br /> ". __("By using a value of 'find' this become:", 'wp-hide-security-enhancer') . "<br />
25
+ <code>https://-domain-name-/find/search-word/</code>",
26
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-search/'
27
+ ),
28
+
29
  'value_description' => 'e.g. find',
30
  'input_type' => 'text',
31
 
38
  'label' => __('Block default', 'wp-hide-security-enhancer'),
39
  'description' => __('Block default /search/ when using custom one.', 'wp-hide-security-enhancer') . '<br />'.__('Apply only if ', 'wp-hide-security-enhancer') . '<b>New Search Path</b> ' . __('is not empty.', 'wp-hide-security-enhancer'),
40
 
41
+ 'help' => array(
42
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('Block default', 'wp-hide-security-enhancer'),
43
+ 'description' => __("After changing the default author, the old url is still accessible, this provide a way to block it.<br />The functionality apply only if <b>New Search Path</b> option is filled in.", 'wp-hide-security-enhancer'),
44
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-search/'
45
+ ),
46
+
47
  'input_type' => 'radio',
48
  'options' => array(
49
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-slash.php CHANGED
@@ -14,10 +14,22 @@
14
  $this->module_settings[] = array(
15
  'id' => 'add_slash',
16
  'label' => __('URL\'s add Slash', 'wp-hide-security-enhancer'),
17
- 'description' => array(
18
- __('Add an end slash to any links without one. Disguise the existence of files and folders, they will be all slashed.', 'wp-hide-security-enhancer'). '<br /> '. __('On certain systems this can produce a small lag measured in milliseconds.', 'wp-hide-security-enhancer')
19
- ,__('More details can be found at', 'wp-hide-security-enhancer') .' <a href="https://www.wp-hide.com/documentation/rewrite-url-slash/" target="_blank">Documentation</a>'),
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  'input_type' => 'radio',
22
  'options' => array(
23
  'no' => __('No', 'wp-hide-security-enhancer'),
14
  $this->module_settings[] = array(
15
  'id' => 'add_slash',
16
  'label' => __('URL\'s add Slash', 'wp-hide-security-enhancer'),
17
+ 'description' => __('Add an end slash to all links which does not include one.', 'wp-hide-security-enhancer'). '<br /> ',
 
 
18
 
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New XML-RPC Path', 'wp-hide-security-enhancer'),
21
+ 'description' => __("As default the WordPress url's format include an ending slash. ", 'wp-hide-security-enhancer') .
22
+ "<br /><br />" . __("There are situations when this slash is not being append. Turning on this option, all links will get a slash if not included as default. Disguise the existence of files and folders, since they will not be slashed as deafault, all receive an ending slashed.", 'wp-hide-security-enhancer') .
23
+ "<br />" . __("For example the following link:" , 'wp-hide-security-enhancer') .
24
+ "<br /><code>https://-domain-name-/map/data</code>
25
+ <br />" . __("will be redirected to:", 'wp-hide-security-enhancer') .
26
+ "<br /><code>https://-domain-name-/map/data/</code>
27
+ <br /><br />" . __('On certain servers this can produce a small lag measured in milliseconds, for each url.', 'wp-hide-security-enhancer') .
28
+ "<br /><br />" . __('If produce endless redirects, turn this option off.', 'wp-hide-security-enhancer'),
29
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-url-slash/',
30
+ 'input_value_extension' => 'php'
31
+ ),
32
+
33
  'input_type' => 'radio',
34
  'options' => array(
35
  'no' => __('No', 'wp-hide-security-enhancer'),
modules/components/rewrite-wp_content_path.php CHANGED
@@ -6,7 +6,7 @@
6
  {
7
  function get_component_title()
8
  {
9
- return "WP content";
10
  }
11
 
12
  function get_module_settings()
@@ -14,8 +14,16 @@
14
  $this->module_settings[] = array(
15
  'id' => 'new_content_path',
16
  'label' => __('New Content Path', 'wp-hide-security-enhancer'),
17
- 'description' => __('Your default wp-content path is set to', 'wp-hide-security-enhancer') . ' <strong>'. $this->wph->default_variables['content_directory'] .'</strong>
18
- '. __('More details can be found at', 'wp-hide-security-enhancer') .' <a href="http://www.wp-hide.com/documentation/rewrite-wp-content/" target="_blank">Link</a>',
 
 
 
 
 
 
 
 
19
 
20
  'value_description' => __('e.g. my_content', 'wp-hide-security-enhancer'),
21
  'input_type' => 'text',
@@ -28,8 +36,19 @@
28
  $this->module_settings[] = array(
29
  'id' => 'block_wp_content_path',
30
  'label' => __('Block wp-content URL', 'wp-hide-security-enhancer'),
31
- 'description' => '<span class="important">'. __('Ensure the above option works correctly on your server before activate this.', 'wp-hide-security-enhancer') .'</span><br />'. __('Block default content path. Your default wp-content path is set to', 'wp-hide-security-enhancer') . ' <strong>'. $this->wph->default_variables['content_directory'] .'</strong>
32
- '. __('Apply only if <b>New Content Path</b> is not empty. It block only for non loged-in users.', 'wp-hide-security-enhancer'),
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  'input_type' => 'radio',
35
  'options' => array(
6
  {
7
  function get_component_title()
8
  {
9
+ return "WP Content";
10
  }
11
 
12
  function get_module_settings()
14
  $this->module_settings[] = array(
15
  'id' => 'new_content_path',
16
  'label' => __('New Content Path', 'wp-hide-security-enhancer'),
17
+ 'description' => __('Your default wp-content path is set to', 'wp-hide-security-enhancer') . ' <strong>'. $this->wph->default_variables['content_directory'] .'</strong>',
18
+
19
+ 'help' => array(
20
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New Content Path', 'wp-hide-security-enhancer'),
21
+ 'description' => __("As default a WordPress installation contain a wp-content folder which store files and resources used by themes and plugin. The wp-content is a common fingerprint, which makes easily to anyone to identify the site as being created on WordPress.", 'wp-hide-security-enhancer') . " <br /> <br />
22
+ <code>&lt;script type='text/javascript' src='https://-domain-name-/wp-content/cache/static/asset.js'&gt;&lt;/script&gt;</code>
23
+ <br /><br /> " . __("After filling in this option e.g. data the links become:", 'wp-hide-security-enhancer') . " <br /> <br />
24
+ <code>&lt;script type='text/javascript' src='https://-domain-name-/data/cache/static/asset.js'&gt;&lt;/script&gt;</code>",
25
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-wp-content/'
26
+ ),
27
 
28
  'value_description' => __('e.g. my_content', 'wp-hide-security-enhancer'),
29
  'input_type' => 'text',
36
  $this->module_settings[] = array(
37
  'id' => 'block_wp_content_path',
38
  'label' => __('Block wp-content URL', 'wp-hide-security-enhancer'),
39
+ 'description' => __('Block default /wp-content/ path. Your default wp-content path is set to', 'wp-hide-security-enhancer') . ' <strong>'. $this->wph->default_variables['content_directory'] .'</strong>',
40
+
41
+ 'help' => array(
42
+ 'title' => __('Help', 'wp-hide-security-enhancer') . ' - ' . __('New content Path', 'wp-hide-security-enhancer'),
43
+ 'description' => __("This blocks the default wp-content urls only for non loged-in users.<br />The functionality apply only if <b>New Content Path</b> option is filled in.", 'wp-hide-security-enhancer'),
44
+ 'option_documentation_url' => 'https://www.wp-hide.com/documentation/rewrite-wp-content/'
45
+ ),
46
+
47
+ 'advanced_option' => array(
48
+
49
+ 'description' => '<b>' . __('This is an advanced option !', 'wp-hide-security-enhancer') . '</b><br />' . __('This can break the layout if server not supporting the feature. Ensure New Includes Path options works fine before activate this. Once active test it thoroughly.<br />If not working, set to <b>No</b> to revert.', 'wp-hide-security-enhancer')
50
+
51
+ ),
52
 
53
  'input_type' => 'radio',
54
  'options' => array(
modules/module-rewrite.php CHANGED
@@ -57,7 +57,7 @@
57
  function use_tabs()
58
  {
59
 
60
- return TRUE;
61
  }
62
 
63
  function get_module_id()
57
  function use_tabs()
58
  {
59
 
60
+ return true;
61
  }
62
 
63
  function get_module_id()
mu-loader/wp-hide-loader.php CHANGED
@@ -20,7 +20,9 @@
20
 
21
  define('WPH_PATH', trailingslashit( dirname( WP_PLUGIN_DIR . '/wp-hide-security-enhancer/wp-hide.php' ) ) );
22
  define('WPH_MULOADER', TRUE);
23
- define('WPH_MULOADER_VERSION', '1.3.3');
 
 
24
 
25
  include_once(WPH_PATH . '/include/wph.class.php');
26
  include_once(WPH_PATH . '/include/functions.class.php');
20
 
21
  define('WPH_PATH', trailingslashit( dirname( WP_PLUGIN_DIR . '/wp-hide-security-enhancer/wp-hide.php' ) ) );
22
  define('WPH_MULOADER', TRUE);
23
+ define('WPH_MULOADER_VERSION', '1.3.4');
24
+
25
+ define('WPH_URL', plugins_url() . '/wp-hide-security-enhancer' );
26
 
27
  include_once(WPH_PATH . '/include/wph.class.php');
28
  include_once(WPH_PATH . '/include/functions.class.php');
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: nsp-code, tdgu
3
  Donate link: https://www.nsp-code.com/
4
  Tags: wordpress hide, hide, security, improve security, hacking, wp hide, custom login, wp-loging.php, wp-admin, admin hide, login change,
5
  Requires at least: 2.8
6
- Tested up to: 5.2.2
7
- Stable tag: 1.5.8.2
8
  License: GPLv2 or later
9
 
10
  Hide and increase Security for your WordPress site using smart techniques. No files are changed on your server. Change default admin and wp-login urls
@@ -17,7 +17,7 @@ The **easy way to completely hide your WordPress** core files, login page, theme
17
  No file and directory is being changed anywhere, everything is processed virtually! The plugin code use URL rewrite techniques and WordPress filters to apply all internal functionality and features. Everything is done automatically, there's no user intervention require at all.
18
 
19
  **Real hide of WordPress core files and plugins**
20
- The plugin not only allow to change default urls of you WordPress, but it hide/block defaults! Other similar plugins, just change the slugs, but the default are still accessible, obliviously revealing WordPress as CMS
21
 
22
  Change the default WordPress login urls from wp-admin and wp-login.php to something totally arbitrary. No one will ever know where to try to guess a login and hack into your site. Totally invisible !!
23
 
@@ -292,11 +292,27 @@ Please get in touch with us and we'll do our best to include it for a next versi
292
 
293
  == Changelog ==
294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  = 1.5.8.2 =
296
- Ensure base slug (e.g. base_slug/slug ) is not being used for another option to prevent rewrite conflicts
297
- Return correct home path when using own directory for WordPress and hosting account use the same slug in the path.
298
- Relocated get_default_variables() function on a higher priority execution level, to get default system details.
299
- Switched Yes / No options selection, to outputs first No then Yes ( more logical )
300
 
301
  = 1.5.8 =
302
  * Add reserved option names to avoid conflicts e.g. wp
3
  Donate link: https://www.nsp-code.com/
4
  Tags: wordpress hide, hide, security, improve security, hacking, wp hide, custom login, wp-loging.php, wp-admin, admin hide, login change,
5
  Requires at least: 2.8
6
+ Tested up to: 5.3
7
+ Stable tag: 1.5.9
8
  License: GPLv2 or later
9
 
10
  Hide and increase Security for your WordPress site using smart techniques. No files are changed on your server. Change default admin and wp-login urls
17
  No file and directory is being changed anywhere, everything is processed virtually! The plugin code use URL rewrite techniques and WordPress filters to apply all internal functionality and features. Everything is done automatically, there's no user intervention require at all.
18
 
19
  **Real hide of WordPress core files and plugins**
20
+ The plugin not only allow to change default urls of you WordPress, but it hide/block defaults! Other similar plugins, just change the slugs, but the default are still accessible, obviously revealing WordPress as CMS
21
 
22
  Change the default WordPress login urls from wp-admin and wp-login.php to something totally arbitrary. No one will ever know where to try to guess a login and hack into your site. Totally invisible !!
23
 
292
 
293
  == Changelog ==
294
 
295
+ = 1.5.9 =
296
+ * New admin interfaces skin.
297
+ * Relocated plugin assets within a different folder for better organisator.
298
+ * Updated mu-loader module
299
+ * Add help and hints for each options for easier understanding.
300
+ * Allow same base slug to be used for individual plugins
301
+ * Updated language file
302
+ * Check if environment file is not available and outputs admin messages
303
+ * Environment class with relocated environment json, to avoid security scanners false reports.
304
+ * Cache Enabler plugin compatibility module
305
+ * WoodMart theme compatibility
306
+ * Compatibility module for WP Smush and WP Smush PRO plugins
307
+ * Add the new filter available for WP Rocket to change css content
308
+ * WebARX compatibility module update
309
+ * W3 Cache module update
310
+
311
  = 1.5.8.2 =
312
+ * Ensure base slug (e.g. base_slug/slug ) is not being used for another option to prevent rewrite conflicts
313
+ * Return correct home path when using own directory for WordPress and hosting account use the same slug in the path.
314
+ * Relocated get_default_variables() function on a higher priority execution level, to get default system details.
315
+ * Switched Yes / No options selection, to outputs first No then Yes ( more logical )
316
 
317
  = 1.5.8 =
318
  * Add reserved option names to avoid conflicts e.g. wp
router/class.file-processor.php CHANGED
@@ -23,8 +23,14 @@
23
  $this->file_path = $file_path;
24
  $this->replacement_path = $replacement_path;
25
 
 
 
26
  $this->load_environment();
27
 
 
 
 
 
28
  $normalize_abspath = str_replace( '\\', '/', ABSPATH);
29
  $normalize_abspath = str_replace( '\\', '/', $normalize_abspath);
30
 
@@ -50,9 +56,7 @@
50
  $pathinfo = pathinfo($this->full_file_path);
51
  if(!isset($pathinfo['extension']) || !in_array(strtolower($pathinfo['extension']), $this->allowed_file_type))
52
  die();
53
-
54
- $this->define_wp_constants();
55
-
56
  //check if the file is in allowed path
57
  $found = FALSE;
58
  foreach($this->environment->allowed_paths as $allowed_path)
@@ -106,7 +110,9 @@
106
  */
107
  function load_environment()
108
  {
109
- require_once('environment.php');
 
 
110
 
111
  $this->environment = json_decode($environment_variable);
112
 
@@ -124,6 +130,10 @@
124
  define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
125
 
126
 
 
 
 
 
127
  }
128
 
129
 
@@ -218,10 +228,6 @@
218
  WP_Filesystem();
219
  }
220
 
221
- $access_type = get_filesystem_method();
222
- if($access_type !== 'direct')
223
- return;
224
-
225
  if( ! $wp_filesystem->put_contents( trailingslashit($pathinfo['dirname']) . $pathinfo['basename'], $file_data , FS_CHMOD_FILE) )
226
  {
227
  //error saving the cache data to cache file
23
  $this->file_path = $file_path;
24
  $this->replacement_path = $replacement_path;
25
 
26
+ $this->define_wp_constants();
27
+
28
  $this->load_environment();
29
 
30
+ //if not able to load the environment, exit
31
+ if ( empty ( $this->environment ) )
32
+ die();
33
+
34
  $normalize_abspath = str_replace( '\\', '/', ABSPATH);
35
  $normalize_abspath = str_replace( '\\', '/', $normalize_abspath);
36
 
56
  $pathinfo = pathinfo($this->full_file_path);
57
  if(!isset($pathinfo['extension']) || !in_array(strtolower($pathinfo['extension']), $this->allowed_file_type))
58
  die();
59
+
 
 
60
  //check if the file is in allowed path
61
  $found = FALSE;
62
  foreach($this->environment->allowed_paths as $allowed_path)
110
  */
111
  function load_environment()
112
  {
113
+ $wp_upload_dir = wp_upload_dir();
114
+
115
+ require_once( $wp_upload_dir['basedir'] . '/wph/environment.php' );
116
 
117
  $this->environment = json_decode($environment_variable);
118
 
130
  define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
131
 
132
 
133
+ if ( ! defined( 'WP_CONTENT_URL' ) ) {
134
+ define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' ); // full url - WP_CONTENT_DIR is defined further up
135
+ }
136
+
137
  }
138
 
139
 
228
  WP_Filesystem();
229
  }
230
 
 
 
 
 
231
  if( ! $wp_filesystem->put_contents( trailingslashit($pathinfo['dirname']) . $pathinfo['basename'], $file_data , FS_CHMOD_FILE) )
232
  {
233
  //error saving the cache data to cache file
router/environment.php DELETED
@@ -1,2 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2
- $environment_variable = '{"theme":{"folder_name":"dani","mapped_name":"skin"},"allowed_paths":["F:\/htdocs\/wp-hide.dev\/wp-content\/themes"],"cache_path":"F:\/htdocs\/wp-hide.dev\/wp-content\/cache\/wph\/","wordpress_directory":"","site_relative_path":"\/"}' ?>
 
 
screenshot-1.png CHANGED
Binary file
wp-hide.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://www.wp-hide.com/
5
  Description: Hide and increase Security for your WordPress website instance using smart techniques. No files are changed on your server.
6
  Author: Nsp Code
7
  Author URI: http://www.nsp-code.com
8
- Version: 1.5.8.2
9
  Text Domain: wp-hide-security-enhancer
10
  Domain Path: /languages/
11
  */
@@ -19,15 +19,14 @@ Domain Path: /languages/
19
  define('WPH_PATH', plugin_dir_path(__FILE__));
20
  define('WPH_CACHE_PATH', WP_CONTENT_DIR . '/cache/wph/' );
21
 
 
 
22
  include_once(WPH_PATH . '/include/wph.class.php');
23
  include_once(WPH_PATH . '/include/functions.class.php');
24
 
25
  include_once(WPH_PATH . '/include/module.class.php');
26
  include_once(WPH_PATH . '/include/module.component.class.php');
27
 
28
- //attempt to copy over the loader to mu-plugins which will be used starting next loading
29
- WPH_functions::copy_mu_loader();
30
-
31
  global $wph;
32
  $wph = new WPH();
33
  $wph->init();
@@ -36,6 +35,9 @@ Domain Path: /languages/
36
 
37
  }
38
 
 
 
 
39
 
40
  //load language files
41
  add_action( 'plugins_loaded', 'WPH_load_textdomain');
@@ -77,10 +79,6 @@ Domain Path: /languages/
77
  //replace the mu-loader
78
  WPH_functions::unlink_mu_loader();
79
 
80
- }
81
-
82
-
83
- define('WPH_URL', plugins_url('', __FILE__));
84
-
85
 
86
  ?>
5
  Description: Hide and increase Security for your WordPress website instance using smart techniques. No files are changed on your server.
6
  Author: Nsp Code
7
  Author URI: http://www.nsp-code.com
8
+ Version: 1.5.9
9
  Text Domain: wp-hide-security-enhancer
10
  Domain Path: /languages/
11
  */
19
  define('WPH_PATH', plugin_dir_path(__FILE__));
20
  define('WPH_CACHE_PATH', WP_CONTENT_DIR . '/cache/wph/' );
21
 
22
+ define('WPH_URL', plugins_url() . '/wp-hide-security-enhancer' );
23
+
24
  include_once(WPH_PATH . '/include/wph.class.php');
25
  include_once(WPH_PATH . '/include/functions.class.php');
26
 
27
  include_once(WPH_PATH . '/include/module.class.php');
28
  include_once(WPH_PATH . '/include/module.component.class.php');
29
 
 
 
 
30
  global $wph;
31
  $wph = new WPH();
32
  $wph->init();
35
 
36
  }
37
 
38
+ //Avoid issues if the mu loader has not updated yet
39
+ if(!defined('WPH_URL'))
40
+ define('WPH_URL', plugins_url() . '/wp-hide-security-enhancer' );
41
 
42
  //load language files
43
  add_action( 'plugins_loaded', 'WPH_load_textdomain');
79
  //replace the mu-loader
80
  WPH_functions::unlink_mu_loader();
81
 
82
+ }
 
 
 
 
83
 
84
  ?>